Files

1322 lines
63 KiB
C++

#pragma once
// Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata.
// Original PDB header: w:\tech5\tungsten\game\weapons\projectile.h
// Recovered logical types: 10
// Signatures retain Xbox 360 ABI evidence and may still require manual review.
// IDA Local Type ordinal 1056; PDB kind: enum.
enum projectileState_t : __int32
{
COOKING = 0x0,
ACTIVE = 0x1,
BOUNCING = 0x2,
STUCK = 0x3,
FADING = 0x4,
EXPLODED = 0x5,
};
// IDA Local Type ordinal 1057; PDB kind: enum.
enum idProjectileTarget::targetType_t : __int32
{
TARGET_NONE = 0x0,
TARGET_PRESENTABLE = 0x1,
TARGET_POINT = 0x2,
};
// IDA Local Type ordinal 15431; PDB kind: class.
class idProjectileTarget
{
public:
idProjectileTarget::targetType_t type;
idVec3 pos;
idPresentablePtr<idPresentable const > presentable;
};
// IDA Local Type ordinal 15611; PDB kind: class.
class __declspec(align(8)) idProjectile : public idAnimatedEntity
{
public:
// Recovered virtual interface; IDA vtable ordinal 15619.
virtual idTypeInfo *GetType();
virtual ~idProjectile();
virtual idEventArg *CallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool RespondsTo(const idEventDef *);
virtual idEventArg *InternalCallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool InternalRespondsTo(const idEventDef *);
virtual void PostSpawn();
virtual void Remove();
virtual void DeleteSubEntities();
virtual bool Draw(idPlayer *);
virtual void JobSync();
virtual void Think();
virtual void PauseThink();
virtual bool ShouldEnterDormancy();
virtual bool ShouldLeaveDormancy();
virtual void DormantBegin();
virtual void DormantEnd(const int);
virtual idRenderModelInfo *GetRenderModelInfo();
virtual const idRenderModelInfo *GetRenderModelInfo_2();
virtual void GetScale(idVec3 *);
virtual void SetScale(const idVec3 *);
virtual void SetModelByName(const char *);
virtual void SetModel(idRenderModel *);
virtual const idMaterial *GetCustomMaterial();
virtual void SetColor(const idVec4 *);
virtual void SetColor_2(const idColor *);
virtual void SetColor_3(const idVec3 *);
virtual void SetColor_4(float, float, float);
virtual void SetColor_5(float, float, float, float);
virtual void GetColor(idVec4 *);
virtual void GetColor_2(idColor *);
virtual void GetColor_3(idVec3 *);
virtual void Hide(bool);
virtual void Hide_2();
virtual void Show();
virtual void GetModelTransform(idVec3 *, idMat3 *);
virtual void GetSoundTransform(idVec3 *, idMat3 *);
virtual void UpdateModelTransform();
virtual void UpdateFX();
virtual void ProjectOverlay(const idVec3 *, const idVec3 *, float, const char *);
virtual idPresentable *AllocPresentable(idRenderModel *);
virtual const idComponentTimeLine *GetComponentTimeLine();
virtual idComponentTimeLine *GetComponentTimeLine_2();
virtual bool UpdateAnimationControllers();
virtual void UpdateAttachments();
virtual const idAnimStack *GetAnimStack();
virtual idAnimStack *GetAnimStack_2();
virtual idIndex<short,enum invalidJointIndex_t> *GetJointIndexFromTrace(idIndex<short,enum invalidJointIndex_t> *result, trace_t);
virtual awPathResult_t ChangeAnimWebState(const char *, const char *);
virtual awPathResult_t ChangeAnimWebState_2(const char *);
virtual awPathResult_t ForceAnimWebState(const char *);
virtual awPathResult_t ChangeAnimWebStateVia(const char *, const char *, const char *, const char *);
virtual awPathResult_t ChangeAnimWebStateVia_2(const char *, const char *);
virtual idAnimWebCmdCtx *GetAnimWebCmdCtx();
virtual const idAnimWebCmdCtx *GetAnimWebCmdCtx_2();
virtual const idAnimator_AF *GetAF();
virtual idAnimator_AF *GetAF_2();
virtual void PreBind();
virtual void PostBind();
virtual void PreUnbind();
virtual void PostUnbind();
virtual const splineLocation_t *GetSplineLocation();
virtual void SetAxis(const idMat3 *);
virtual bool CanDisablePhysics(const idEntity *);
virtual collide_t Collide(const int, trace_t *, const idVec3 *);
virtual collide_t Contact(const int, contactInfo_t *);
virtual void ApplyImpulse(const int, const int, const idVec3 *, const idVec3 *);
virtual void ApplyImpulseFromEntity(const idEntity *, const int, const idVec3 *, const idVec3 *);
virtual void ApplyForce(const int, const int, const idVec3 *, const idVec3 *);
virtual bool Crush(const int);
virtual void ApplyDamage(const int, const int, const idDeclDamage *);
virtual void ActivatePhysics(const int);
virtual void DeactivatePhysics(const int);
virtual void ApplyWaterEffects(const int, const int);
virtual void ApplyWaterSplashEffects(const int, const int, surfTypes_t, idPhysicsCallbacks::splashState_t);
virtual bool TakesDamage();
virtual void DamageFeedback(idEntity *, idEntity *, const idDeclDamage *, float *);
virtual void KilledNotification(const idEntity *, const idEntity *, const idDeclDamage *, const float);
virtual float Damage(idEntity *, idEntity *, const idDeclDamage *, const float, const idVec3 *, trace_t *);
virtual bool CalcDamageImpulse(const idEntity *, const idEntity *, const idDeclDamage *, const float, const idVec3 *, const trace_t *, idVec3 *, idVec3 *);
virtual bool IsTargetLockable(const idDeclAmmo *);
virtual void AddProjectileLock();
virtual void RemoveProjectileLock();
virtual const idScriptObject *GetScriptObject();
virtual idScriptObject *GetScriptObject_2();
virtual bool ShouldConstructScriptObjectAtSpawn();
virtual idThread *GetStateThread();
virtual int AddThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual void RemoveThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual idHandle<int,enum invalidThreadHandle_t,0> *GetThread(idHandle<int,enum invalidThreadHandle_t,0> *result, const int);
virtual int NumThreads();
virtual int MaxThreads();
virtual void ExecuteThread(idThread *);
virtual void ResetFSMWaitThreadIfPossible(idThread *);
virtual bool HandleGuiEvent(const sysEvent_t *);
virtual void ActivateTargets(idEntity *);
virtual bool GetRcCarCanTarget();
virtual const idBaseHealth *GetHealthComponent();
virtual idBaseHealth *GetHealthComponent_2();
virtual const idSmartLootComponent *GetSmartLootComponent();
virtual idSmartLootComponent *GetSmartLootComponent_2();
virtual void Teleport(const idVec3 *, const idAngles *);
virtual bool IsPusher();
virtual const idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList();
virtual idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList_2();
virtual void TestFunctionality();
virtual float GetUsableDistance();
virtual float GetCrosshairIconDistance();
virtual usableState_t GetUsableState(const idEntity *, const idFocusTrace *);
virtual bool ModifyCrosshairInfo(const idEntity *, const idFocusTrace *, const usableState_t, idCrosshairInfo *);
virtual bool IsCrosshairDisabled(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsCrosshairSubdued(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsEverUsable(const idEntity *);
virtual bool IsCurrentlyUsable(const idEntity *);
virtual bool Use(idEntity *, const usableState_t);
virtual void Dropped(idEntity *, const idDeclInventory *);
virtual const idInventoryCollection *GetInventory();
virtual idInventoryCollection *GetInventory_2();
virtual void InventoryAdded(idInventoryItem *, int);
virtual void InventoryRemoved(idInventoryItem *);
virtual const idAttachmentCollection *GetAttachments();
virtual idAttachmentCollection *GetAttachments_2();
virtual void EnableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual void DisableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual bool CanReceiveAIEvents(const int);
virtual bool RespondsToAIEvent(const idAIEvent *);
virtual void OnAIEvent(const idAIEvent *);
virtual bool IsDead();
virtual bool IsDying();
virtual idFaction *GetFaction();
virtual const idFaction *GetFaction_2();
virtual idEntityAuditor *GetAuditor();
virtual void GetVisibilityPoint(const visPoint_t, idVec3 *);
virtual void GetAimPoint(const aimPoint_t, idVec3 *);
virtual void GetEyePos(idVec3 *);
virtual bool IsVisible();
virtual idDynamicCoverMgr *GetDynamicCoverMgr();
virtual const idDynamicCoverMgr *GetDynamicCoverMgr_2();
virtual const idAAS2 *GetAAS();
virtual void GetViewStateFOV(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual void GetViewStateFOV_2(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual int GetNumRepairBotTetherPoints();
virtual bool GetRepairBotTetherPoint(const int, const int, idVec3 *);
virtual idEntityInterface *CreateEntityInterface(idGame *);
virtual void ShowEditingDialog();
virtual void UpdateEditingDialog();
virtual void UpdateModifiedProperties();
virtual inputSettings_t *GetInputSettings(inputSettings_t *result, idPlayer *);
virtual bool EvaluateControls(usercmd_t *, usercmd_t *);
virtual void CheckForErrors(idList<idStr,5> *);
virtual void DebugDrawEntity(const idColor *, int);
virtual void ClientThink();
virtual void Serialize(idSerializer *);
virtual void PostSerializeRead(bool);
virtual void OnActivate(idEntity *);
virtual void OnMakeActivatable(const bool);
virtual void OnNotifyProgressionOwner();
virtual void Reset();
virtual int GetDefaultSurfaceType();
virtual idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices();
virtual const idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices_2();
virtual idMD6Node *GetMD6Tree();
virtual const idMD6Node *GetMD6Tree_2();
virtual idAnimator_AnimWeb *GetAnimatorAnimWeb();
virtual bool IsAnimating();
virtual const idDeclFX *GetFXDecl();
virtual const idDeclFacialAnimationSet *GetFacialAnimationSet();
virtual void BecomeUnstuck();
virtual void Explode(idEntity *, trace_t *);
virtual bool PointInsideDamageRadius(const idVec3 *, float);
virtual usableState_t GetOnlineUsableState();
virtual void AttachAIEvents();
virtual void RemoveAIEvents();
virtual const idDeclInventory *GetInventoryItem();
virtual void SetCharges(float);
virtual bool AttachToJoint(idEntity *, idIndex<short,enum invalidJointIndex_t>);
virtual bool AttachToTag(idEntity *, tagData_t);
virtual bool Attach(idEntity *, const trace_t *);
virtual idElectricBolt *GetElectricBoltEffect(int);
virtual bool AddElectricBoltEffect(idEntity *);
virtual void UpdateElectricBoltEffect();
virtual void SimulateProjectileFrame(int, int);
virtual void PostSimulate(int);
virtual void InternalLaunch(idEntity *, const idVec3 *, const idMat3 *, const idProjectileTarget *, const float, const int);
virtual void InternalModifyLaunchVelocity(idEntity *, const idMat3 *);
bool causesDirectDamage;
__declspec(align(4)) idAnimator_Channel propAnimator;
bool startHidden;
const idDeclProjectile *projectileDecl;
bool touchTriggers;
bool alignToVelocity;
bool explosionEvent;
bool adjustStartForCollision;
idAngles rotationOffset;
idAngles rotationSpeed;
bool collisionZapsRotation;
idVec3 minAngularVelocity;
idVec3 maxAngularVelocity;
float acceleration;
int collisionCount;
bool electricDischarged;
idHandle<int,enum invalidAIEvent_t,-1> aiEventHandle;
idVec3 lastVel;
idMat3 lastModelAxis;
idWeapon *launchWeapon;
int fadeStartTime;
int fadeEndTime;
weaponStatsTag_t weaponStatsTag;
float damageScale;
int startInfluenceTrail;
int surfTypeLastHit;
idVec3 surfNormalLastHit;
};
// IDA Local Type ordinal 15620; PDB kind: struct.
struct idProjectile::simulatedProjectile_t
{
idProjectile *projectile;
int startTime;
};
// IDA Local Type ordinal 17452; PDB kind: class.
class __declspec(align(8)) idProjectile_Rocket : public idProjectile
{
public:
// Recovered virtual interface; IDA vtable ordinal 17453.
virtual idTypeInfo *GetType();
virtual ~idProjectile_Rocket();
virtual idEventArg *CallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool RespondsTo(const idEventDef *);
virtual idEventArg *InternalCallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool InternalRespondsTo(const idEventDef *);
virtual void PostSpawn();
virtual void Remove();
virtual void DeleteSubEntities();
virtual bool Draw(idPlayer *);
virtual void JobSync();
virtual void Think();
virtual void PauseThink();
virtual bool ShouldEnterDormancy();
virtual bool ShouldLeaveDormancy();
virtual void DormantBegin();
virtual void DormantEnd(const int);
virtual idRenderModelInfo *GetRenderModelInfo();
virtual const idRenderModelInfo *GetRenderModelInfo_2();
virtual void GetScale(idVec3 *);
virtual void SetScale(const idVec3 *);
virtual void SetModelByName(const char *);
virtual void SetModel(idRenderModel *);
virtual const idMaterial *GetCustomMaterial();
virtual void SetColor(const idVec4 *);
virtual void SetColor_2(const idColor *);
virtual void SetColor_3(const idVec3 *);
virtual void SetColor_4(float, float, float);
virtual void SetColor_5(float, float, float, float);
virtual void GetColor(idVec4 *);
virtual void GetColor_2(idColor *);
virtual void GetColor_3(idVec3 *);
virtual void Hide(bool);
virtual void Hide_2();
virtual void Show();
virtual void GetModelTransform(idVec3 *, idMat3 *);
virtual void GetSoundTransform(idVec3 *, idMat3 *);
virtual void UpdateModelTransform();
virtual void UpdateFX();
virtual void ProjectOverlay(const idVec3 *, const idVec3 *, float, const char *);
virtual idPresentable *AllocPresentable(idRenderModel *);
virtual const idComponentTimeLine *GetComponentTimeLine();
virtual idComponentTimeLine *GetComponentTimeLine_2();
virtual bool UpdateAnimationControllers();
virtual void UpdateAttachments();
virtual const idAnimStack *GetAnimStack();
virtual idAnimStack *GetAnimStack_2();
virtual idIndex<short,enum invalidJointIndex_t> *GetJointIndexFromTrace(idIndex<short,enum invalidJointIndex_t> *result, trace_t);
virtual awPathResult_t ChangeAnimWebState(const char *, const char *);
virtual awPathResult_t ChangeAnimWebState_2(const char *);
virtual awPathResult_t ForceAnimWebState(const char *);
virtual awPathResult_t ChangeAnimWebStateVia(const char *, const char *, const char *, const char *);
virtual awPathResult_t ChangeAnimWebStateVia_2(const char *, const char *);
virtual idAnimWebCmdCtx *GetAnimWebCmdCtx();
virtual const idAnimWebCmdCtx *GetAnimWebCmdCtx_2();
virtual const idAnimator_AF *GetAF();
virtual idAnimator_AF *GetAF_2();
virtual void PreBind();
virtual void PostBind();
virtual void PreUnbind();
virtual void PostUnbind();
virtual const splineLocation_t *GetSplineLocation();
virtual void SetAxis(const idMat3 *);
virtual bool CanDisablePhysics(const idEntity *);
virtual collide_t Collide(const int, trace_t *, const idVec3 *);
virtual collide_t Contact(const int, contactInfo_t *);
virtual void ApplyImpulse(const int, const int, const idVec3 *, const idVec3 *);
virtual void ApplyImpulseFromEntity(const idEntity *, const int, const idVec3 *, const idVec3 *);
virtual void ApplyForce(const int, const int, const idVec3 *, const idVec3 *);
virtual bool Crush(const int);
virtual void ApplyDamage(const int, const int, const idDeclDamage *);
virtual void ActivatePhysics(const int);
virtual void DeactivatePhysics(const int);
virtual void ApplyWaterEffects(const int, const int);
virtual void ApplyWaterSplashEffects(const int, const int, surfTypes_t, idPhysicsCallbacks::splashState_t);
virtual bool TakesDamage();
virtual void DamageFeedback(idEntity *, idEntity *, const idDeclDamage *, float *);
virtual void KilledNotification(const idEntity *, const idEntity *, const idDeclDamage *, const float);
virtual float Damage(idEntity *, idEntity *, const idDeclDamage *, const float, const idVec3 *, trace_t *);
virtual bool CalcDamageImpulse(const idEntity *, const idEntity *, const idDeclDamage *, const float, const idVec3 *, const trace_t *, idVec3 *, idVec3 *);
virtual bool IsTargetLockable(const idDeclAmmo *);
virtual void AddProjectileLock();
virtual void RemoveProjectileLock();
virtual const idScriptObject *GetScriptObject();
virtual idScriptObject *GetScriptObject_2();
virtual bool ShouldConstructScriptObjectAtSpawn();
virtual idThread *GetStateThread();
virtual int AddThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual void RemoveThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual idHandle<int,enum invalidThreadHandle_t,0> *GetThread(idHandle<int,enum invalidThreadHandle_t,0> *result, const int);
virtual int NumThreads();
virtual int MaxThreads();
virtual void ExecuteThread(idThread *);
virtual void ResetFSMWaitThreadIfPossible(idThread *);
virtual bool HandleGuiEvent(const sysEvent_t *);
virtual void ActivateTargets(idEntity *);
virtual bool GetRcCarCanTarget();
virtual const idBaseHealth *GetHealthComponent();
virtual idBaseHealth *GetHealthComponent_2();
virtual const idSmartLootComponent *GetSmartLootComponent();
virtual idSmartLootComponent *GetSmartLootComponent_2();
virtual void Teleport(const idVec3 *, const idAngles *);
virtual bool IsPusher();
virtual const idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList();
virtual idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList_2();
virtual void TestFunctionality();
virtual float GetUsableDistance();
virtual float GetCrosshairIconDistance();
virtual usableState_t GetUsableState(const idEntity *, const idFocusTrace *);
virtual bool ModifyCrosshairInfo(const idEntity *, const idFocusTrace *, const usableState_t, idCrosshairInfo *);
virtual bool IsCrosshairDisabled(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsCrosshairSubdued(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsEverUsable(const idEntity *);
virtual bool IsCurrentlyUsable(const idEntity *);
virtual bool Use(idEntity *, const usableState_t);
virtual void Dropped(idEntity *, const idDeclInventory *);
virtual const idInventoryCollection *GetInventory();
virtual idInventoryCollection *GetInventory_2();
virtual void InventoryAdded(idInventoryItem *, int);
virtual void InventoryRemoved(idInventoryItem *);
virtual const idAttachmentCollection *GetAttachments();
virtual idAttachmentCollection *GetAttachments_2();
virtual void EnableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual void DisableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual bool CanReceiveAIEvents(const int);
virtual bool RespondsToAIEvent(const idAIEvent *);
virtual void OnAIEvent(const idAIEvent *);
virtual bool IsDead();
virtual bool IsDying();
virtual idFaction *GetFaction();
virtual const idFaction *GetFaction_2();
virtual idEntityAuditor *GetAuditor();
virtual void GetVisibilityPoint(const visPoint_t, idVec3 *);
virtual void GetAimPoint(const aimPoint_t, idVec3 *);
virtual void GetEyePos(idVec3 *);
virtual bool IsVisible();
virtual idDynamicCoverMgr *GetDynamicCoverMgr();
virtual const idDynamicCoverMgr *GetDynamicCoverMgr_2();
virtual const idAAS2 *GetAAS();
virtual void GetViewStateFOV(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual void GetViewStateFOV_2(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual int GetNumRepairBotTetherPoints();
virtual bool GetRepairBotTetherPoint(const int, const int, idVec3 *);
virtual idEntityInterface *CreateEntityInterface(idGame *);
virtual void ShowEditingDialog();
virtual void UpdateEditingDialog();
virtual void UpdateModifiedProperties();
virtual inputSettings_t *GetInputSettings(inputSettings_t *result, idPlayer *);
virtual bool EvaluateControls(usercmd_t *, usercmd_t *);
virtual void CheckForErrors(idList<idStr,5> *);
virtual void DebugDrawEntity(const idColor *, int);
virtual void ClientThink();
virtual void Serialize(idSerializer *);
virtual void PostSerializeRead(bool);
virtual void OnActivate(idEntity *);
virtual void OnMakeActivatable(const bool);
virtual void OnNotifyProgressionOwner();
virtual void Reset();
virtual int GetDefaultSurfaceType();
virtual idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices();
virtual const idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices_2();
virtual idMD6Node *GetMD6Tree();
virtual const idMD6Node *GetMD6Tree_2();
virtual idAnimator_AnimWeb *GetAnimatorAnimWeb();
virtual bool IsAnimating();
virtual const idDeclFX *GetFXDecl();
virtual const idDeclFacialAnimationSet *GetFacialAnimationSet();
virtual void BecomeUnstuck();
virtual void Explode(idEntity *, trace_t *);
virtual bool PointInsideDamageRadius(const idVec3 *, float);
virtual usableState_t GetOnlineUsableState();
virtual void AttachAIEvents();
virtual void RemoveAIEvents();
virtual const idDeclInventory *GetInventoryItem();
virtual void SetCharges(float);
virtual bool AttachToJoint(idEntity *, idIndex<short,enum invalidJointIndex_t>);
virtual bool AttachToTag(idEntity *, tagData_t);
virtual bool Attach(idEntity *, const trace_t *);
virtual idElectricBolt *GetElectricBoltEffect(int);
virtual bool AddElectricBoltEffect(idEntity *);
virtual void UpdateElectricBoltEffect();
virtual void SimulateProjectileFrame(int, int);
virtual void PostSimulate(int);
virtual void InternalLaunch(idEntity *, const idVec3 *, const idMat3 *, const idProjectileTarget *, const float, const int);
virtual void InternalModifyLaunchVelocity(idEntity *, const idMat3 *);
virtual idVec3 *GetInitialDir(idVec3 *result, const idMat3 *);
idPhysics_RigidBody physicsObj;
int explosionTime;
idEntityPtr<idEntity> stuckOnActor;
float randomAngle;
bool allowConstraint;
idEntityPtr<idEntity> attachedToEnt;
float startJetSpeed;
idStr constraintName;
int constraintTime;
idClipQuery deferredSurfTrace;
bool isInWater;
int primNoiseAngleMinTime;
int primNoiseAngleMaxTime;
float primNoiseAngleMax;
int secNoiseAngleMinTime;
int secNoiseAngleMaxTime;
float secNoiseAngleMax;
int primNoiseAngleTime;
int primNoiseAngleStartTime;
float primNoiseAngleTarget;
int secNoiseAngleTime;
int secNoiseAngleStartTime;
float secNoiseAngleTarget;
};
// IDA Local Type ordinal 17455; PDB kind: class.
class idProjectile_Homing : public idProjectile_Rocket
{
public:
// Recovered virtual interface; IDA vtable ordinal 17456.
virtual idTypeInfo *GetType();
virtual ~idProjectile_Homing();
virtual idEventArg *CallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool RespondsTo(const idEventDef *);
virtual idEventArg *InternalCallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool InternalRespondsTo(const idEventDef *);
virtual void PostSpawn();
virtual void Remove();
virtual void DeleteSubEntities();
virtual bool Draw(idPlayer *);
virtual void JobSync();
virtual void Think();
virtual void PauseThink();
virtual bool ShouldEnterDormancy();
virtual bool ShouldLeaveDormancy();
virtual void DormantBegin();
virtual void DormantEnd(const int);
virtual idRenderModelInfo *GetRenderModelInfo();
virtual const idRenderModelInfo *GetRenderModelInfo_2();
virtual void GetScale(idVec3 *);
virtual void SetScale(const idVec3 *);
virtual void SetModelByName(const char *);
virtual void SetModel(idRenderModel *);
virtual const idMaterial *GetCustomMaterial();
virtual void SetColor(const idVec4 *);
virtual void SetColor_2(const idColor *);
virtual void SetColor_3(const idVec3 *);
virtual void SetColor_4(float, float, float);
virtual void SetColor_5(float, float, float, float);
virtual void GetColor(idVec4 *);
virtual void GetColor_2(idColor *);
virtual void GetColor_3(idVec3 *);
virtual void Hide(bool);
virtual void Hide_2();
virtual void Show();
virtual void GetModelTransform(idVec3 *, idMat3 *);
virtual void GetSoundTransform(idVec3 *, idMat3 *);
virtual void UpdateModelTransform();
virtual void UpdateFX();
virtual void ProjectOverlay(const idVec3 *, const idVec3 *, float, const char *);
virtual idPresentable *AllocPresentable(idRenderModel *);
virtual const idComponentTimeLine *GetComponentTimeLine();
virtual idComponentTimeLine *GetComponentTimeLine_2();
virtual bool UpdateAnimationControllers();
virtual void UpdateAttachments();
virtual const idAnimStack *GetAnimStack();
virtual idAnimStack *GetAnimStack_2();
virtual idIndex<short,enum invalidJointIndex_t> *GetJointIndexFromTrace(idIndex<short,enum invalidJointIndex_t> *result, trace_t);
virtual awPathResult_t ChangeAnimWebState(const char *, const char *);
virtual awPathResult_t ChangeAnimWebState_2(const char *);
virtual awPathResult_t ForceAnimWebState(const char *);
virtual awPathResult_t ChangeAnimWebStateVia(const char *, const char *, const char *, const char *);
virtual awPathResult_t ChangeAnimWebStateVia_2(const char *, const char *);
virtual idAnimWebCmdCtx *GetAnimWebCmdCtx();
virtual const idAnimWebCmdCtx *GetAnimWebCmdCtx_2();
virtual const idAnimator_AF *GetAF();
virtual idAnimator_AF *GetAF_2();
virtual void PreBind();
virtual void PostBind();
virtual void PreUnbind();
virtual void PostUnbind();
virtual const splineLocation_t *GetSplineLocation();
virtual void SetAxis(const idMat3 *);
virtual bool CanDisablePhysics(const idEntity *);
virtual collide_t Collide(const int, trace_t *, const idVec3 *);
virtual collide_t Contact(const int, contactInfo_t *);
virtual void ApplyImpulse(const int, const int, const idVec3 *, const idVec3 *);
virtual void ApplyImpulseFromEntity(const idEntity *, const int, const idVec3 *, const idVec3 *);
virtual void ApplyForce(const int, const int, const idVec3 *, const idVec3 *);
virtual bool Crush(const int);
virtual void ApplyDamage(const int, const int, const idDeclDamage *);
virtual void ActivatePhysics(const int);
virtual void DeactivatePhysics(const int);
virtual void ApplyWaterEffects(const int, const int);
virtual void ApplyWaterSplashEffects(const int, const int, surfTypes_t, idPhysicsCallbacks::splashState_t);
virtual bool TakesDamage();
virtual void DamageFeedback(idEntity *, idEntity *, const idDeclDamage *, float *);
virtual void KilledNotification(const idEntity *, const idEntity *, const idDeclDamage *, const float);
virtual float Damage(idEntity *, idEntity *, const idDeclDamage *, const float, const idVec3 *, trace_t *);
virtual bool CalcDamageImpulse(const idEntity *, const idEntity *, const idDeclDamage *, const float, const idVec3 *, const trace_t *, idVec3 *, idVec3 *);
virtual bool IsTargetLockable(const idDeclAmmo *);
virtual void AddProjectileLock();
virtual void RemoveProjectileLock();
virtual const idScriptObject *GetScriptObject();
virtual idScriptObject *GetScriptObject_2();
virtual bool ShouldConstructScriptObjectAtSpawn();
virtual idThread *GetStateThread();
virtual int AddThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual void RemoveThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual idHandle<int,enum invalidThreadHandle_t,0> *GetThread(idHandle<int,enum invalidThreadHandle_t,0> *result, const int);
virtual int NumThreads();
virtual int MaxThreads();
virtual void ExecuteThread(idThread *);
virtual void ResetFSMWaitThreadIfPossible(idThread *);
virtual bool HandleGuiEvent(const sysEvent_t *);
virtual void ActivateTargets(idEntity *);
virtual bool GetRcCarCanTarget();
virtual const idBaseHealth *GetHealthComponent();
virtual idBaseHealth *GetHealthComponent_2();
virtual const idSmartLootComponent *GetSmartLootComponent();
virtual idSmartLootComponent *GetSmartLootComponent_2();
virtual void Teleport(const idVec3 *, const idAngles *);
virtual bool IsPusher();
virtual const idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList();
virtual idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList_2();
virtual void TestFunctionality();
virtual float GetUsableDistance();
virtual float GetCrosshairIconDistance();
virtual usableState_t GetUsableState(const idEntity *, const idFocusTrace *);
virtual bool ModifyCrosshairInfo(const idEntity *, const idFocusTrace *, const usableState_t, idCrosshairInfo *);
virtual bool IsCrosshairDisabled(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsCrosshairSubdued(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsEverUsable(const idEntity *);
virtual bool IsCurrentlyUsable(const idEntity *);
virtual bool Use(idEntity *, const usableState_t);
virtual void Dropped(idEntity *, const idDeclInventory *);
virtual const idInventoryCollection *GetInventory();
virtual idInventoryCollection *GetInventory_2();
virtual void InventoryAdded(idInventoryItem *, int);
virtual void InventoryRemoved(idInventoryItem *);
virtual const idAttachmentCollection *GetAttachments();
virtual idAttachmentCollection *GetAttachments_2();
virtual void EnableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual void DisableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual bool CanReceiveAIEvents(const int);
virtual bool RespondsToAIEvent(const idAIEvent *);
virtual void OnAIEvent(const idAIEvent *);
virtual bool IsDead();
virtual bool IsDying();
virtual idFaction *GetFaction();
virtual const idFaction *GetFaction_2();
virtual idEntityAuditor *GetAuditor();
virtual void GetVisibilityPoint(const visPoint_t, idVec3 *);
virtual void GetAimPoint(const aimPoint_t, idVec3 *);
virtual void GetEyePos(idVec3 *);
virtual bool IsVisible();
virtual idDynamicCoverMgr *GetDynamicCoverMgr();
virtual const idDynamicCoverMgr *GetDynamicCoverMgr_2();
virtual const idAAS2 *GetAAS();
virtual void GetViewStateFOV(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual void GetViewStateFOV_2(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual int GetNumRepairBotTetherPoints();
virtual bool GetRepairBotTetherPoint(const int, const int, idVec3 *);
virtual idEntityInterface *CreateEntityInterface(idGame *);
virtual void ShowEditingDialog();
virtual void UpdateEditingDialog();
virtual void UpdateModifiedProperties();
virtual inputSettings_t *GetInputSettings(inputSettings_t *result, idPlayer *);
virtual bool EvaluateControls(usercmd_t *, usercmd_t *);
virtual void CheckForErrors(idList<idStr,5> *);
virtual void DebugDrawEntity(const idColor *, int);
virtual void ClientThink();
virtual void Serialize(idSerializer *);
virtual void PostSerializeRead(bool);
virtual void OnActivate(idEntity *);
virtual void OnMakeActivatable(const bool);
virtual void OnNotifyProgressionOwner();
virtual void Reset();
virtual int GetDefaultSurfaceType();
virtual idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices();
virtual const idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices_2();
virtual idMD6Node *GetMD6Tree();
virtual const idMD6Node *GetMD6Tree_2();
virtual idAnimator_AnimWeb *GetAnimatorAnimWeb();
virtual bool IsAnimating();
virtual const idDeclFX *GetFXDecl();
virtual const idDeclFacialAnimationSet *GetFacialAnimationSet();
virtual void BecomeUnstuck();
virtual void Explode(idEntity *, trace_t *);
virtual bool PointInsideDamageRadius(const idVec3 *, float);
virtual usableState_t GetOnlineUsableState();
virtual void AttachAIEvents();
virtual void RemoveAIEvents();
virtual const idDeclInventory *GetInventoryItem();
virtual void SetCharges(float);
virtual bool AttachToJoint(idEntity *, idIndex<short,enum invalidJointIndex_t>);
virtual bool AttachToTag(idEntity *, tagData_t);
virtual bool Attach(idEntity *, const trace_t *);
virtual idElectricBolt *GetElectricBoltEffect(int);
virtual bool AddElectricBoltEffect(idEntity *);
virtual void UpdateElectricBoltEffect();
virtual void SimulateProjectileFrame(int, int);
virtual void PostSimulate(int);
virtual void InternalLaunch(idEntity *, const idVec3 *, const idMat3 *, const idProjectileTarget *, const float, const int);
virtual void InternalModifyLaunchVelocity(idEntity *, const idMat3 *);
virtual idVec3 *GetInitialDir(idVec3 *result, const idMat3 *);
float maxTurnRadius;
float acquireRange;
float maxTrackAngle;
float sinAmplitudeStart;
float proximityExplosion;
bool useMidpoint;
float desigeredHeight;
int numSubMunitions;
idList<idDeclProjectile const *,5> subMunitionProjectileList;
float subMunitionMaxAngle;
bool randomSubMunitions;
bool pairedSubMunitionVels;
idVec3 coneDirection;
idEntityPtr<idEntity> notifiedEntity;
bool explodeNearTargetPosition;
idClipQuery groudTrace;
};
// IDA Local Type ordinal 17457; PDB kind: class.
class idProjectile_Arrow : public idProjectile
{
public:
// Recovered virtual interface; IDA vtable ordinal 17459.
virtual idTypeInfo *GetType();
virtual ~idProjectile_Arrow();
virtual idEventArg *CallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool RespondsTo(const idEventDef *);
virtual idEventArg *InternalCallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool InternalRespondsTo(const idEventDef *);
virtual void PostSpawn();
virtual void Remove();
virtual void DeleteSubEntities();
virtual bool Draw(idPlayer *);
virtual void JobSync();
virtual void Think();
virtual void PauseThink();
virtual bool ShouldEnterDormancy();
virtual bool ShouldLeaveDormancy();
virtual void DormantBegin();
virtual void DormantEnd(const int);
virtual idRenderModelInfo *GetRenderModelInfo();
virtual const idRenderModelInfo *GetRenderModelInfo_2();
virtual void GetScale(idVec3 *);
virtual void SetScale(const idVec3 *);
virtual void SetModelByName(const char *);
virtual void SetModel(idRenderModel *);
virtual const idMaterial *GetCustomMaterial();
virtual void SetColor(const idVec4 *);
virtual void SetColor_2(const idColor *);
virtual void SetColor_3(const idVec3 *);
virtual void SetColor_4(float, float, float);
virtual void SetColor_5(float, float, float, float);
virtual void GetColor(idVec4 *);
virtual void GetColor_2(idColor *);
virtual void GetColor_3(idVec3 *);
virtual void Hide(bool);
virtual void Hide_2();
virtual void Show();
virtual void GetModelTransform(idVec3 *, idMat3 *);
virtual void GetSoundTransform(idVec3 *, idMat3 *);
virtual void UpdateModelTransform();
virtual void UpdateFX();
virtual void ProjectOverlay(const idVec3 *, const idVec3 *, float, const char *);
virtual idPresentable *AllocPresentable(idRenderModel *);
virtual const idComponentTimeLine *GetComponentTimeLine();
virtual idComponentTimeLine *GetComponentTimeLine_2();
virtual bool UpdateAnimationControllers();
virtual void UpdateAttachments();
virtual const idAnimStack *GetAnimStack();
virtual idAnimStack *GetAnimStack_2();
virtual idIndex<short,enum invalidJointIndex_t> *GetJointIndexFromTrace(idIndex<short,enum invalidJointIndex_t> *result, trace_t);
virtual awPathResult_t ChangeAnimWebState(const char *, const char *);
virtual awPathResult_t ChangeAnimWebState_2(const char *);
virtual awPathResult_t ForceAnimWebState(const char *);
virtual awPathResult_t ChangeAnimWebStateVia(const char *, const char *, const char *, const char *);
virtual awPathResult_t ChangeAnimWebStateVia_2(const char *, const char *);
virtual idAnimWebCmdCtx *GetAnimWebCmdCtx();
virtual const idAnimWebCmdCtx *GetAnimWebCmdCtx_2();
virtual const idAnimator_AF *GetAF();
virtual idAnimator_AF *GetAF_2();
virtual void PreBind();
virtual void PostBind();
virtual void PreUnbind();
virtual void PostUnbind();
virtual const splineLocation_t *GetSplineLocation();
virtual void SetAxis(const idMat3 *);
virtual bool CanDisablePhysics(const idEntity *);
virtual collide_t Collide(const int, trace_t *, const idVec3 *);
virtual collide_t Contact(const int, contactInfo_t *);
virtual void ApplyImpulse(const int, const int, const idVec3 *, const idVec3 *);
virtual void ApplyImpulseFromEntity(const idEntity *, const int, const idVec3 *, const idVec3 *);
virtual void ApplyForce(const int, const int, const idVec3 *, const idVec3 *);
virtual bool Crush(const int);
virtual void ApplyDamage(const int, const int, const idDeclDamage *);
virtual void ActivatePhysics(const int);
virtual void DeactivatePhysics(const int);
virtual void ApplyWaterEffects(const int, const int);
virtual void ApplyWaterSplashEffects(const int, const int, surfTypes_t, idPhysicsCallbacks::splashState_t);
virtual bool TakesDamage();
virtual void DamageFeedback(idEntity *, idEntity *, const idDeclDamage *, float *);
virtual void KilledNotification(const idEntity *, const idEntity *, const idDeclDamage *, const float);
virtual float Damage(idEntity *, idEntity *, const idDeclDamage *, const float, const idVec3 *, trace_t *);
virtual bool CalcDamageImpulse(const idEntity *, const idEntity *, const idDeclDamage *, const float, const idVec3 *, const trace_t *, idVec3 *, idVec3 *);
virtual bool IsTargetLockable(const idDeclAmmo *);
virtual void AddProjectileLock();
virtual void RemoveProjectileLock();
virtual const idScriptObject *GetScriptObject();
virtual idScriptObject *GetScriptObject_2();
virtual bool ShouldConstructScriptObjectAtSpawn();
virtual idThread *GetStateThread();
virtual int AddThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual void RemoveThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual idHandle<int,enum invalidThreadHandle_t,0> *GetThread(idHandle<int,enum invalidThreadHandle_t,0> *result, const int);
virtual int NumThreads();
virtual int MaxThreads();
virtual void ExecuteThread(idThread *);
virtual void ResetFSMWaitThreadIfPossible(idThread *);
virtual bool HandleGuiEvent(const sysEvent_t *);
virtual void ActivateTargets(idEntity *);
virtual bool GetRcCarCanTarget();
virtual const idBaseHealth *GetHealthComponent();
virtual idBaseHealth *GetHealthComponent_2();
virtual const idSmartLootComponent *GetSmartLootComponent();
virtual idSmartLootComponent *GetSmartLootComponent_2();
virtual void Teleport(const idVec3 *, const idAngles *);
virtual bool IsPusher();
virtual const idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList();
virtual idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList_2();
virtual void TestFunctionality();
virtual float GetUsableDistance();
virtual float GetCrosshairIconDistance();
virtual usableState_t GetUsableState(const idEntity *, const idFocusTrace *);
virtual bool ModifyCrosshairInfo(const idEntity *, const idFocusTrace *, const usableState_t, idCrosshairInfo *);
virtual bool IsCrosshairDisabled(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsCrosshairSubdued(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsEverUsable(const idEntity *);
virtual bool IsCurrentlyUsable(const idEntity *);
virtual bool Use(idEntity *, const usableState_t);
virtual void Dropped(idEntity *, const idDeclInventory *);
virtual const idInventoryCollection *GetInventory();
virtual idInventoryCollection *GetInventory_2();
virtual void InventoryAdded(idInventoryItem *, int);
virtual void InventoryRemoved(idInventoryItem *);
virtual const idAttachmentCollection *GetAttachments();
virtual idAttachmentCollection *GetAttachments_2();
virtual void EnableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual void DisableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual bool CanReceiveAIEvents(const int);
virtual bool RespondsToAIEvent(const idAIEvent *);
virtual void OnAIEvent(const idAIEvent *);
virtual bool IsDead();
virtual bool IsDying();
virtual idFaction *GetFaction();
virtual const idFaction *GetFaction_2();
virtual idEntityAuditor *GetAuditor();
virtual void GetVisibilityPoint(const visPoint_t, idVec3 *);
virtual void GetAimPoint(const aimPoint_t, idVec3 *);
virtual void GetEyePos(idVec3 *);
virtual bool IsVisible();
virtual idDynamicCoverMgr *GetDynamicCoverMgr();
virtual const idDynamicCoverMgr *GetDynamicCoverMgr_2();
virtual const idAAS2 *GetAAS();
virtual void GetViewStateFOV(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual void GetViewStateFOV_2(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual int GetNumRepairBotTetherPoints();
virtual bool GetRepairBotTetherPoint(const int, const int, idVec3 *);
virtual idEntityInterface *CreateEntityInterface(idGame *);
virtual void ShowEditingDialog();
virtual void UpdateEditingDialog();
virtual void UpdateModifiedProperties();
virtual inputSettings_t *GetInputSettings(inputSettings_t *result, idPlayer *);
virtual bool EvaluateControls(usercmd_t *, usercmd_t *);
virtual void CheckForErrors(idList<idStr,5> *);
virtual void DebugDrawEntity(const idColor *, int);
virtual void ClientThink();
virtual void Serialize(idSerializer *);
virtual void PostSerializeRead(bool);
virtual void OnActivate(idEntity *);
virtual void OnMakeActivatable(const bool);
virtual void OnNotifyProgressionOwner();
virtual void Reset();
virtual int GetDefaultSurfaceType();
virtual idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices();
virtual const idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices_2();
virtual idMD6Node *GetMD6Tree();
virtual const idMD6Node *GetMD6Tree_2();
virtual idAnimator_AnimWeb *GetAnimatorAnimWeb();
virtual bool IsAnimating();
virtual const idDeclFX *GetFXDecl();
virtual const idDeclFacialAnimationSet *GetFacialAnimationSet();
virtual void BecomeUnstuck();
virtual void Explode(idEntity *, trace_t *);
virtual bool PointInsideDamageRadius(const idVec3 *, float);
virtual usableState_t GetOnlineUsableState();
virtual void AttachAIEvents();
virtual void RemoveAIEvents();
virtual const idDeclInventory *GetInventoryItem();
virtual void SetCharges(float);
virtual bool AttachToJoint(idEntity *, idIndex<short,enum invalidJointIndex_t>);
virtual bool AttachToTag(idEntity *, tagData_t);
virtual bool Attach(idEntity *, const trace_t *);
virtual idElectricBolt *GetElectricBoltEffect(int);
virtual bool AddElectricBoltEffect(idEntity *);
virtual void UpdateElectricBoltEffect();
virtual void SimulateProjectileFrame(int, int);
virtual void PostSimulate(int);
virtual void InternalLaunch(idEntity *, const idVec3 *, const idMat3 *, const idProjectileTarget *, const float, const int);
virtual void InternalModifyLaunchVelocity(idEntity *, const idMat3 *);
virtual void Break(idEntity *, trace_t *);
virtual bool ShouldRemoveOnCollision(const trace_t *, float);
virtual bool ShouldStickOnCollision(const trace_t *);
idPhysics_RigidBody physicsObj;
const idDeclInventory *inventoryItem;
int stickChance;
float reflectionCosine;
const idDeclEntityDef *breakable;
int breakChance;
const idDeclElectricBolt *electricBoltSystem;
idList<idElectricBolt *,5> electricShocks;
idList<idEntityPtr<idEntity>,5> electricTarget;
idEntityPtr<idEntity> stuckIn;
int startElectricTime;
int nextShockTime;
bool forceStick;
int electricPulseTime;
int electricShockDelay;
};
// IDA Local Type ordinal 17460; PDB kind: class.
class __declspec(align(8)) idProjectile_Grenade : public idProjectile
{
public:
// Recovered virtual interface; IDA vtable ordinal 17466.
virtual idTypeInfo *GetType();
virtual ~idProjectile_Grenade();
virtual idEventArg *CallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool RespondsTo(const idEventDef *);
virtual idEventArg *InternalCallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool InternalRespondsTo(const idEventDef *);
virtual void PostSpawn();
virtual void Remove();
virtual void DeleteSubEntities();
virtual bool Draw(idPlayer *);
virtual void JobSync();
virtual void Think();
virtual void PauseThink();
virtual bool ShouldEnterDormancy();
virtual bool ShouldLeaveDormancy();
virtual void DormantBegin();
virtual void DormantEnd(const int);
virtual idRenderModelInfo *GetRenderModelInfo();
virtual const idRenderModelInfo *GetRenderModelInfo_2();
virtual void GetScale(idVec3 *);
virtual void SetScale(const idVec3 *);
virtual void SetModelByName(const char *);
virtual void SetModel(idRenderModel *);
virtual const idMaterial *GetCustomMaterial();
virtual void SetColor(const idVec4 *);
virtual void SetColor_2(const idColor *);
virtual void SetColor_3(const idVec3 *);
virtual void SetColor_4(float, float, float);
virtual void SetColor_5(float, float, float, float);
virtual void GetColor(idVec4 *);
virtual void GetColor_2(idColor *);
virtual void GetColor_3(idVec3 *);
virtual void Hide(bool);
virtual void Hide_2();
virtual void Show();
virtual void GetModelTransform(idVec3 *, idMat3 *);
virtual void GetSoundTransform(idVec3 *, idMat3 *);
virtual void UpdateModelTransform();
virtual void UpdateFX();
virtual void ProjectOverlay(const idVec3 *, const idVec3 *, float, const char *);
virtual idPresentable *AllocPresentable(idRenderModel *);
virtual const idComponentTimeLine *GetComponentTimeLine();
virtual idComponentTimeLine *GetComponentTimeLine_2();
virtual bool UpdateAnimationControllers();
virtual void UpdateAttachments();
virtual const idAnimStack *GetAnimStack();
virtual idAnimStack *GetAnimStack_2();
virtual idIndex<short,enum invalidJointIndex_t> *GetJointIndexFromTrace(idIndex<short,enum invalidJointIndex_t> *result, trace_t);
virtual awPathResult_t ChangeAnimWebState(const char *, const char *);
virtual awPathResult_t ChangeAnimWebState_2(const char *);
virtual awPathResult_t ForceAnimWebState(const char *);
virtual awPathResult_t ChangeAnimWebStateVia(const char *, const char *, const char *, const char *);
virtual awPathResult_t ChangeAnimWebStateVia_2(const char *, const char *);
virtual idAnimWebCmdCtx *GetAnimWebCmdCtx();
virtual const idAnimWebCmdCtx *GetAnimWebCmdCtx_2();
virtual const idAnimator_AF *GetAF();
virtual idAnimator_AF *GetAF_2();
virtual void PreBind();
virtual void PostBind();
virtual void PreUnbind();
virtual void PostUnbind();
virtual const splineLocation_t *GetSplineLocation();
virtual void SetAxis(const idMat3 *);
virtual bool CanDisablePhysics(const idEntity *);
virtual collide_t Collide(const int, trace_t *, const idVec3 *);
virtual collide_t Contact(const int, contactInfo_t *);
virtual void ApplyImpulse(const int, const int, const idVec3 *, const idVec3 *);
virtual void ApplyImpulseFromEntity(const idEntity *, const int, const idVec3 *, const idVec3 *);
virtual void ApplyForce(const int, const int, const idVec3 *, const idVec3 *);
virtual bool Crush(const int);
virtual void ApplyDamage(const int, const int, const idDeclDamage *);
virtual void ActivatePhysics(const int);
virtual void DeactivatePhysics(const int);
virtual void ApplyWaterEffects(const int, const int);
virtual void ApplyWaterSplashEffects(const int, const int, surfTypes_t, idPhysicsCallbacks::splashState_t);
virtual bool TakesDamage();
virtual void DamageFeedback(idEntity *, idEntity *, const idDeclDamage *, float *);
virtual void KilledNotification(const idEntity *, const idEntity *, const idDeclDamage *, const float);
virtual float Damage(idEntity *, idEntity *, const idDeclDamage *, const float, const idVec3 *, trace_t *);
virtual bool CalcDamageImpulse(const idEntity *, const idEntity *, const idDeclDamage *, const float, const idVec3 *, const trace_t *, idVec3 *, idVec3 *);
virtual bool IsTargetLockable(const idDeclAmmo *);
virtual void AddProjectileLock();
virtual void RemoveProjectileLock();
virtual const idScriptObject *GetScriptObject();
virtual idScriptObject *GetScriptObject_2();
virtual bool ShouldConstructScriptObjectAtSpawn();
virtual idThread *GetStateThread();
virtual int AddThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual void RemoveThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual idHandle<int,enum invalidThreadHandle_t,0> *GetThread(idHandle<int,enum invalidThreadHandle_t,0> *result, const int);
virtual int NumThreads();
virtual int MaxThreads();
virtual void ExecuteThread(idThread *);
virtual void ResetFSMWaitThreadIfPossible(idThread *);
virtual bool HandleGuiEvent(const sysEvent_t *);
virtual void ActivateTargets(idEntity *);
virtual bool GetRcCarCanTarget();
virtual const idBaseHealth *GetHealthComponent();
virtual idBaseHealth *GetHealthComponent_2();
virtual const idSmartLootComponent *GetSmartLootComponent();
virtual idSmartLootComponent *GetSmartLootComponent_2();
virtual void Teleport(const idVec3 *, const idAngles *);
virtual bool IsPusher();
virtual const idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList();
virtual idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList_2();
virtual void TestFunctionality();
virtual float GetUsableDistance();
virtual float GetCrosshairIconDistance();
virtual usableState_t GetUsableState(const idEntity *, const idFocusTrace *);
virtual bool ModifyCrosshairInfo(const idEntity *, const idFocusTrace *, const usableState_t, idCrosshairInfo *);
virtual bool IsCrosshairDisabled(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsCrosshairSubdued(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsEverUsable(const idEntity *);
virtual bool IsCurrentlyUsable(const idEntity *);
virtual bool Use(idEntity *, const usableState_t);
virtual void Dropped(idEntity *, const idDeclInventory *);
virtual const idInventoryCollection *GetInventory();
virtual idInventoryCollection *GetInventory_2();
virtual void InventoryAdded(idInventoryItem *, int);
virtual void InventoryRemoved(idInventoryItem *);
virtual const idAttachmentCollection *GetAttachments();
virtual idAttachmentCollection *GetAttachments_2();
virtual void EnableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual void DisableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual bool CanReceiveAIEvents(const int);
virtual bool RespondsToAIEvent(const idAIEvent *);
virtual void OnAIEvent(const idAIEvent *);
virtual bool IsDead();
virtual bool IsDying();
virtual idFaction *GetFaction();
virtual const idFaction *GetFaction_2();
virtual idEntityAuditor *GetAuditor();
virtual void GetVisibilityPoint(const visPoint_t, idVec3 *);
virtual void GetAimPoint(const aimPoint_t, idVec3 *);
virtual void GetEyePos(idVec3 *);
virtual bool IsVisible();
virtual idDynamicCoverMgr *GetDynamicCoverMgr();
virtual const idDynamicCoverMgr *GetDynamicCoverMgr_2();
virtual const idAAS2 *GetAAS();
virtual void GetViewStateFOV(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual void GetViewStateFOV_2(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual int GetNumRepairBotTetherPoints();
virtual bool GetRepairBotTetherPoint(const int, const int, idVec3 *);
virtual idEntityInterface *CreateEntityInterface(idGame *);
virtual void ShowEditingDialog();
virtual void UpdateEditingDialog();
virtual void UpdateModifiedProperties();
virtual inputSettings_t *GetInputSettings(inputSettings_t *result, idPlayer *);
virtual bool EvaluateControls(usercmd_t *, usercmd_t *);
virtual void CheckForErrors(idList<idStr,5> *);
virtual void DebugDrawEntity(const idColor *, int);
virtual void ClientThink();
virtual void Serialize(idSerializer *);
virtual void PostSerializeRead(bool);
virtual void OnActivate(idEntity *);
virtual void OnMakeActivatable(const bool);
virtual void OnNotifyProgressionOwner();
virtual void Reset();
virtual int GetDefaultSurfaceType();
virtual idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices();
virtual const idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices_2();
virtual idMD6Node *GetMD6Tree();
virtual const idMD6Node *GetMD6Tree_2();
virtual idAnimator_AnimWeb *GetAnimatorAnimWeb();
virtual bool IsAnimating();
virtual const idDeclFX *GetFXDecl();
virtual const idDeclFacialAnimationSet *GetFacialAnimationSet();
virtual void BecomeUnstuck();
virtual void Explode(idEntity *, trace_t *);
virtual bool PointInsideDamageRadius(const idVec3 *, float);
virtual usableState_t GetOnlineUsableState();
virtual void AttachAIEvents();
virtual void RemoveAIEvents();
virtual const idDeclInventory *GetInventoryItem();
virtual void SetCharges(float);
virtual bool AttachToJoint(idEntity *, idIndex<short,enum invalidJointIndex_t>);
virtual bool AttachToTag(idEntity *, tagData_t);
virtual bool Attach(idEntity *, const trace_t *);
virtual idElectricBolt *GetElectricBoltEffect(int);
virtual bool AddElectricBoltEffect(idEntity *);
virtual void UpdateElectricBoltEffect();
virtual void SimulateProjectileFrame(int, int);
virtual void PostSimulate(int);
virtual void InternalLaunch(idEntity *, const idVec3 *, const idMat3 *, const idProjectileTarget *, const float, const int);
virtual void InternalModifyLaunchVelocity(idEntity *, const idMat3 *);
virtual void InternalLaunch_FromPresentable(idPresentable *, const idVec3 *, const idMat3 *, const idProjectileTarget *, float, int);
int startDetonationTime;
int detonationTime;
bool explodeOnVehicles;
bool stickOnImpact;
bool stickToActors;
bool explodeOnActors;
bool explodeOnImpact;
float attractToPowerDist;
int numSubMunitions;
idList<idDeclProjectile const *,5> subMunitionProjectileList;
float subMunitionMaxAngle;
bool randomSubMunitions;
bool pairedSubMunitionVels;
bool isSubMunition;
float launchAngle;
const idMaterial *icon;
idPhysics_RigidBody3DOF physicsObj;
idVec3 lastCollisionNormal;
int nextBounceTime;
idMat3 lastCollisionAxis;
int numBounces;
idHandle<int,enum invalidAIEvent_t,-1> playerEventHandle;
idVec3 splashVelocity;
idClipQuery deferredSurfTrace;
bool isInWater;
const idSoundShader *empStuckToSound;
const idSoundShader *empMoveToSound;
idEntity *powerSourceToMoveTo;
int detonationDelay;
};
// IDA Local Type ordinal 17474; PDB kind: class.
class idProjectile_Dagger : public idProjectile_Arrow
{
public:
// Recovered virtual interface; IDA vtable ordinal 17475.
virtual idTypeInfo *GetType();
virtual ~idProjectile_Dagger();
virtual idEventArg *CallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool RespondsTo(const idEventDef *);
virtual idEventArg *InternalCallEvent(idEventArg *result, const idEventDef *, const idEventArg *);
virtual bool InternalRespondsTo(const idEventDef *);
virtual void PostSpawn();
virtual void Remove();
virtual void DeleteSubEntities();
virtual bool Draw(idPlayer *);
virtual void JobSync();
virtual void Think();
virtual void PauseThink();
virtual bool ShouldEnterDormancy();
virtual bool ShouldLeaveDormancy();
virtual void DormantBegin();
virtual void DormantEnd(const int);
virtual idRenderModelInfo *GetRenderModelInfo();
virtual const idRenderModelInfo *GetRenderModelInfo_2();
virtual void GetScale(idVec3 *);
virtual void SetScale(const idVec3 *);
virtual void SetModelByName(const char *);
virtual void SetModel(idRenderModel *);
virtual const idMaterial *GetCustomMaterial();
virtual void SetColor(const idVec4 *);
virtual void SetColor_2(const idColor *);
virtual void SetColor_3(const idVec3 *);
virtual void SetColor_4(float, float, float);
virtual void SetColor_5(float, float, float, float);
virtual void GetColor(idVec4 *);
virtual void GetColor_2(idColor *);
virtual void GetColor_3(idVec3 *);
virtual void Hide(bool);
virtual void Hide_2();
virtual void Show();
virtual void GetModelTransform(idVec3 *, idMat3 *);
virtual void GetSoundTransform(idVec3 *, idMat3 *);
virtual void UpdateModelTransform();
virtual void UpdateFX();
virtual void ProjectOverlay(const idVec3 *, const idVec3 *, float, const char *);
virtual idPresentable *AllocPresentable(idRenderModel *);
virtual const idComponentTimeLine *GetComponentTimeLine();
virtual idComponentTimeLine *GetComponentTimeLine_2();
virtual bool UpdateAnimationControllers();
virtual void UpdateAttachments();
virtual const idAnimStack *GetAnimStack();
virtual idAnimStack *GetAnimStack_2();
virtual idIndex<short,enum invalidJointIndex_t> *GetJointIndexFromTrace(idIndex<short,enum invalidJointIndex_t> *result, trace_t);
virtual awPathResult_t ChangeAnimWebState(const char *, const char *);
virtual awPathResult_t ChangeAnimWebState_2(const char *);
virtual awPathResult_t ForceAnimWebState(const char *);
virtual awPathResult_t ChangeAnimWebStateVia(const char *, const char *, const char *, const char *);
virtual awPathResult_t ChangeAnimWebStateVia_2(const char *, const char *);
virtual idAnimWebCmdCtx *GetAnimWebCmdCtx();
virtual const idAnimWebCmdCtx *GetAnimWebCmdCtx_2();
virtual const idAnimator_AF *GetAF();
virtual idAnimator_AF *GetAF_2();
virtual void PreBind();
virtual void PostBind();
virtual void PreUnbind();
virtual void PostUnbind();
virtual const splineLocation_t *GetSplineLocation();
virtual void SetAxis(const idMat3 *);
virtual bool CanDisablePhysics(const idEntity *);
virtual collide_t Collide(const int, trace_t *, const idVec3 *);
virtual collide_t Contact(const int, contactInfo_t *);
virtual void ApplyImpulse(const int, const int, const idVec3 *, const idVec3 *);
virtual void ApplyImpulseFromEntity(const idEntity *, const int, const idVec3 *, const idVec3 *);
virtual void ApplyForce(const int, const int, const idVec3 *, const idVec3 *);
virtual bool Crush(const int);
virtual void ApplyDamage(const int, const int, const idDeclDamage *);
virtual void ActivatePhysics(const int);
virtual void DeactivatePhysics(const int);
virtual void ApplyWaterEffects(const int, const int);
virtual void ApplyWaterSplashEffects(const int, const int, surfTypes_t, idPhysicsCallbacks::splashState_t);
virtual bool TakesDamage();
virtual void DamageFeedback(idEntity *, idEntity *, const idDeclDamage *, float *);
virtual void KilledNotification(const idEntity *, const idEntity *, const idDeclDamage *, const float);
virtual float Damage(idEntity *, idEntity *, const idDeclDamage *, const float, const idVec3 *, trace_t *);
virtual bool CalcDamageImpulse(const idEntity *, const idEntity *, const idDeclDamage *, const float, const idVec3 *, const trace_t *, idVec3 *, idVec3 *);
virtual bool IsTargetLockable(const idDeclAmmo *);
virtual void AddProjectileLock();
virtual void RemoveProjectileLock();
virtual const idScriptObject *GetScriptObject();
virtual idScriptObject *GetScriptObject_2();
virtual bool ShouldConstructScriptObjectAtSpawn();
virtual idThread *GetStateThread();
virtual int AddThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual void RemoveThread(const idHandle<int,enum invalidThreadHandle_t,0>);
virtual idHandle<int,enum invalidThreadHandle_t,0> *GetThread(idHandle<int,enum invalidThreadHandle_t,0> *result, const int);
virtual int NumThreads();
virtual int MaxThreads();
virtual void ExecuteThread(idThread *);
virtual void ResetFSMWaitThreadIfPossible(idThread *);
virtual bool HandleGuiEvent(const sysEvent_t *);
virtual void ActivateTargets(idEntity *);
virtual bool GetRcCarCanTarget();
virtual const idBaseHealth *GetHealthComponent();
virtual idBaseHealth *GetHealthComponent_2();
virtual const idSmartLootComponent *GetSmartLootComponent();
virtual idSmartLootComponent *GetSmartLootComponent_2();
virtual void Teleport(const idVec3 *, const idAngles *);
virtual bool IsPusher();
virtual const idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList();
virtual idList<idEntityPtr<idEntity>,5> *GetTriggerTouchList_2();
virtual void TestFunctionality();
virtual float GetUsableDistance();
virtual float GetCrosshairIconDistance();
virtual usableState_t GetUsableState(const idEntity *, const idFocusTrace *);
virtual bool ModifyCrosshairInfo(const idEntity *, const idFocusTrace *, const usableState_t, idCrosshairInfo *);
virtual bool IsCrosshairDisabled(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsCrosshairSubdued(const idEntity *, const idFocusTrace *, const usableState_t);
virtual bool IsEverUsable(const idEntity *);
virtual bool IsCurrentlyUsable(const idEntity *);
virtual bool Use(idEntity *, const usableState_t);
virtual void Dropped(idEntity *, const idDeclInventory *);
virtual const idInventoryCollection *GetInventory();
virtual idInventoryCollection *GetInventory_2();
virtual void InventoryAdded(idInventoryItem *, int);
virtual void InventoryRemoved(idInventoryItem *);
virtual const idAttachmentCollection *GetAttachments();
virtual idAttachmentCollection *GetAttachments_2();
virtual void EnableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual void DisableAIEventResponse(const idAIEvent::aiEventClass_t);
virtual bool CanReceiveAIEvents(const int);
virtual bool RespondsToAIEvent(const idAIEvent *);
virtual void OnAIEvent(const idAIEvent *);
virtual bool IsDead();
virtual bool IsDying();
virtual idFaction *GetFaction();
virtual const idFaction *GetFaction_2();
virtual idEntityAuditor *GetAuditor();
virtual void GetVisibilityPoint(const visPoint_t, idVec3 *);
virtual void GetAimPoint(const aimPoint_t, idVec3 *);
virtual void GetEyePos(idVec3 *);
virtual bool IsVisible();
virtual idDynamicCoverMgr *GetDynamicCoverMgr();
virtual const idDynamicCoverMgr *GetDynamicCoverMgr_2();
virtual const idAAS2 *GetAAS();
virtual void GetViewStateFOV(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual void GetViewStateFOV_2(idVec3 *, unsigned __int8 *, unsigned __int8 *);
virtual int GetNumRepairBotTetherPoints();
virtual bool GetRepairBotTetherPoint(const int, const int, idVec3 *);
virtual idEntityInterface *CreateEntityInterface(idGame *);
virtual void ShowEditingDialog();
virtual void UpdateEditingDialog();
virtual void UpdateModifiedProperties();
virtual inputSettings_t *GetInputSettings(inputSettings_t *result, idPlayer *);
virtual bool EvaluateControls(usercmd_t *, usercmd_t *);
virtual void CheckForErrors(idList<idStr,5> *);
virtual void DebugDrawEntity(const idColor *, int);
virtual void ClientThink();
virtual void Serialize(idSerializer *);
virtual void PostSerializeRead(bool);
virtual void OnActivate(idEntity *);
virtual void OnMakeActivatable(const bool);
virtual void OnNotifyProgressionOwner();
virtual void Reset();
virtual int GetDefaultSurfaceType();
virtual idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices();
virtual const idList<idIndex<short,enum invalidJointIndex_t>,5> *GetRadiusDamageJointIndices_2();
virtual idMD6Node *GetMD6Tree();
virtual const idMD6Node *GetMD6Tree_2();
virtual idAnimator_AnimWeb *GetAnimatorAnimWeb();
virtual bool IsAnimating();
virtual const idDeclFX *GetFXDecl();
virtual const idDeclFacialAnimationSet *GetFacialAnimationSet();
virtual void BecomeUnstuck();
virtual void Explode(idEntity *, trace_t *);
virtual bool PointInsideDamageRadius(const idVec3 *, float);
virtual usableState_t GetOnlineUsableState();
virtual void AttachAIEvents();
virtual void RemoveAIEvents();
virtual const idDeclInventory *GetInventoryItem();
virtual void SetCharges(float);
virtual bool AttachToJoint(idEntity *, idIndex<short,enum invalidJointIndex_t>);
virtual bool AttachToTag(idEntity *, tagData_t);
virtual bool Attach(idEntity *, const trace_t *);
virtual idElectricBolt *GetElectricBoltEffect(int);
virtual bool AddElectricBoltEffect(idEntity *);
virtual void UpdateElectricBoltEffect();
virtual void SimulateProjectileFrame(int, int);
virtual void PostSimulate(int);
virtual void InternalLaunch(idEntity *, const idVec3 *, const idMat3 *, const idProjectileTarget *, const float, const int);
virtual void InternalModifyLaunchVelocity(idEntity *, const idMat3 *);
virtual void Break(idEntity *, trace_t *);
virtual bool ShouldRemoveOnCollision(const trace_t *, float);
virtual bool ShouldStickOnCollision(const trace_t *);
bool zUp;
idVec3 originOffset;
};