Files

255 lines
7.1 KiB
C++

#pragma once
// Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata.
// Original PDB header: w:\tech5\tungsten\game\decls\decldamage.h
// Recovered logical types: 10
// Signatures retain Xbox 360 ABI evidence and may still require manual review.
// IDA Local Type ordinal 1049; PDB kind: enum.
enum idDeclDamage::damageType_t : __int32
{
DAMAGETYPE_NONE = 0x0,
DAMAGETYPE_GENERIC = 0x1,
DAMAGETYPE_MELEE = 0x2,
DAMAGETYPE_PISTOL = 0x4,
DAMAGETYPE_RIFLE = 0x8,
DAMAGETYPE_SHOTGUN = 0x10,
DAMAGETYPE_TURRET = 0x20,
DAMAGETYPE_VEHICLE_RAM = 0x40,
DAMAGETYPE_LASER = 0x80,
DAMAGETYPE_EXPLOSION = 0x100,
DAMAGETYPE_FIRE = 0x200,
DAMAGETYPE_ELECTRIC = 0x400,
DAMAGETYPE_EDGED = 0x1000,
DAMAGETYPE_BLUNT = 0x2000,
DAMAGETYPE_LASER_CUTTING = 0x4000,
DAMAGETYPE_NO_DAMAGE = 0x8000,
DAMAGETYPE_ALL = 0x7FFFFFFF,
DAMAGETYPE_LIGHT = 0x8C,
DAMAGETYPE_HEAVY = 0x30,
};
// IDA Local Type ordinal 1283; PDB kind: enum.
enum idDeclDamage::goreType_t : __int32
{
GORETYPE_NONE = 0x0,
GORETYPE_DECAPITATION = 0x1,
GORETYPE_DISMEMBER_ARMS = 0x2,
GORETYPE_DISMEMBER_LEGS = 0x4,
GORETYPE_GIB = 0x8,
GORETYPE_HEAD_EXPLODE = 0x10,
GORETYPE_SMALL_WOUND = 0x20,
GORETYPE_BIG_WOUND = 0x40,
GORETYPE_TORSO_SAW = 0x80,
GORETYPE_BFG = 0x100,
GORETYPE_ANY = 0x7FFFFFFF,
};
// IDA Local Type ordinal 1625; PDB kind: enum.
enum idDeclDamage::damageSource_t : __int32
{
DAMAGESRC_UNKNOWN = 0x0,
DAMAGESRC_BULLET = 0x1,
DAMAGESRC_MELEE = 0x2,
DAMAGESRC_FIRE = 0x4,
DAMAGESRC_ELECTRICAL = 0x8,
DAMAGESRC_FALL = 0x10,
DAMAGESRC_CRUSH = 0x20,
DAMAGESRC_EXPLOSIVE = 0x40,
DAMAGESRC_CHAINSAW = 0x80,
DAMAGESRC_ACID = 0x100,
DAMAGESRC_HELLSPIKE = 0x200,
DAMAGESRC_PLASMA = 0x400,
DAMAGESRC_BFG = 0x800,
DAMAGESRC_SPIRITWEB = 0x1000,
DAMAGESRC_POISON_GAS = 0x2000,
DAMAGESRC_SYNCED_FATALITY = 0x4000,
};
// IDA Local Type ordinal 13784; PDB kind: class.
class __declspec(align(4)) idDeclVisionDamage : public idDeclTypeInfo
{
public:
// Recovered virtual interface; IDA vtable ordinal 13785.
virtual ~idDeclVisionDamage();
virtual void LoadResource();
virtual bool ReloadIfStale();
virtual void WriteResourceFile();
virtual idResourceList *GetResourceList();
virtual void Print();
virtual void List();
virtual unsigned int GetDeclTimestamp();
virtual idDeclInfo *GetDeclInfo();
virtual bool RebuildTextSource();
virtual bool SetImplicitText();
virtual const char *DefaultDefinition();
virtual void LogMissingDecl();
virtual void Parse(idParser *);
virtual void FreeData();
virtual unsigned int Size();
idVisionDamageElement contrast;
idVisionDamageElement brightness;
idVisionDamageElement brightnessAdd;
idVisionDamageElement saturation;
idVisionDamageElement tintRed;
idVisionDamageElement tintGreen;
idVisionDamageElement tintBlue;
idVisionDamageElement doubleVision;
idVisionDamageElement blur;
idVisionDamageElement negative;
idVisionDamageElement chromaticAberration;
idVisionDamageElement radialBlur;
idVisionDamageElement distortion;
idVisionDamageElement colorDodge;
idVisionDamageElement colorBurn;
bool interruptible;
bool applyAfterDeath;
};
// IDA Local Type ordinal 13786; PDB kind: struct.
struct idDeclDamage::damageScreenEffectParms_t
{
float screenDamageTime;
idMaterial *screenDamageMtr;
idVec2 screenDamageSize;
idVec2 offsetPctX;
idVec2 offsetPctY;
idVec2 distribPctX;
idVec2 distribPctY;
idVec2 driftYAmount;
idVec2 delay;
float fadeOutTime;
int screenDamageFrames;
int numQuads;
};
// IDA Local Type ordinal 13787; PDB kind: struct.
struct idDeclDamage::damageScreenEffect_t
{
idDeclDamage::damageScreenEffectParms_t parms;
float damagePct;
float radius;
};
// IDA Local Type ordinal 13788; PDB kind: struct.
struct idDeclDamage::damageFeedbackScreenEffects_t
{
idDeclDamage::damageScreenEffect_t feedbackSmall;
idDeclDamage::damageScreenEffect_t feedbackMedium;
idDeclDamage::damageScreenEffect_t feedbackLarge;
idDeclDamage::damageScreenEffect_t feedbackGib;
};
// IDA Local Type ordinal 13789; PDB kind: struct.
struct idDeclDamage::playerDamageScreenEffects_t
{
idDeclDamage::damageScreenEffect_t damageSmall;
idDeclDamage::damageScreenEffect_t damageMedium;
idDeclDamage::damageScreenEffect_t damageLarge;
};
// IDA Local Type ordinal 13793; PDB kind: class.
class idDeclDamage : public idDeclTypeInfo
{
public:
// Recovered virtual interface; IDA vtable ordinal 13794.
virtual ~idDeclDamage();
virtual void LoadResource();
virtual bool ReloadIfStale();
virtual void WriteResourceFile();
virtual idResourceList *GetResourceList();
virtual void Print();
virtual void List();
virtual unsigned int GetDeclTimestamp();
virtual idDeclInfo *GetDeclInfo();
virtual bool RebuildTextSource();
virtual bool SetImplicitText();
virtual const char *DefaultDefinition();
virtual void LogMissingDecl();
virtual void Parse(idParser *);
virtual void FreeData();
virtual unsigned int Size();
idStr damageName;
idDeclDamage::damageType_t damageTypes;
idDeclDamage::goreType_t goreTypes;
idDeclDamage::damageSource_t damageSource;
idHandsHitReactionType_t handsHitReactionType;
idPlayerBodyReactionDescriptor_t playerBodyReactionDescriptor;
const idDeclVisionDamage *visionDamage;
float minDamage;
float maxDamage;
float vehicleDamageScale;
float selfDamageScale;
float playerDamageScale;
bool damageIsCurrentHealth;
bool ignoreGodMode;
bool ignoreArmor;
bool ignorePlayer;
bool ignoreArmoredBreakables;
bool ignoreFriendlyFire;
bool isMelee;
bool burning;
bool noSound;
bool stuns;
bool instantRagdoll;
bool ragdollOnDeath;
bool coopSpecial;
bool simplifiedRadiusDamage;
int knockBack;
int knockUp;
float selfKnockbackScale;
bool absoluteknockBack;
float kickTime;
float kickAmplitude;
idVec3 kickDir;
float radius;
int radiusInner;
int radiusOuterDamageStrength;
float ragdollImpulseMag;
float vehicleImpulseMag;
float blur;
float blurTime;
float doubleVision;
float doubleVisionTime;
fxCondition_t hitFXStartCondition;
damageIntensity_t intensity;
idSoundShader *damageSound;
bool isStealthy;
specialDeath_t specialDeathType;
bool friendlyFire;
bool knocksOffArmor;
idDeclDamage::damageFeedbackScreenEffects_t feedbackScreenEffects;
idDeclDamage::playerDamageScreenEffects_t playerDamageScreenEffects;
const idMaterial *damageIcon;
idDeclGoreBehavior *declGoreBehavior;
};
// IDA Local Type ordinal 17978; PDB kind: class.
class idDeclDamageBoostItem : public idDeclInventory
{
public:
// Recovered virtual interface; IDA vtable ordinal 17979.
virtual ~idDeclDamageBoostItem();
virtual void LoadResource();
virtual bool ReloadIfStale();
virtual void WriteResourceFile();
virtual idResourceList *GetResourceList();
virtual void Print();
virtual void List();
virtual unsigned int GetDeclTimestamp();
virtual idDeclInfo *GetDeclInfo();
virtual bool RebuildTextSource();
virtual bool SetImplicitText();
virtual const char *DefaultDefinition();
virtual void LogMissingDecl();
virtual void Parse(idParser *);
virtual void FreeData();
virtual unsigned int Size();
float damageBoostMultiplier;
float damageBoostDuration;
};