#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 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 *GetJointIndexFromTrace(idIndex *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); virtual void RemoveThread(const idHandle); virtual idHandle *GetThread(idHandle *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,5> *GetTriggerTouchList(); virtual idList,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 *); 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,5> *GetRadiusDamageJointIndices(); virtual const idList,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); 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 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 *GetJointIndexFromTrace(idIndex *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); virtual void RemoveThread(const idHandle); virtual idHandle *GetThread(idHandle *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,5> *GetTriggerTouchList(); virtual idList,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 *); 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,5> *GetRadiusDamageJointIndices(); virtual const idList,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); 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 stuckOnActor; float randomAngle; bool allowConstraint; idEntityPtr 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 *GetJointIndexFromTrace(idIndex *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); virtual void RemoveThread(const idHandle); virtual idHandle *GetThread(idHandle *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,5> *GetTriggerTouchList(); virtual idList,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 *); 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,5> *GetRadiusDamageJointIndices(); virtual const idList,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); 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 subMunitionProjectileList; float subMunitionMaxAngle; bool randomSubMunitions; bool pairedSubMunitionVels; idVec3 coneDirection; idEntityPtr 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 *GetJointIndexFromTrace(idIndex *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); virtual void RemoveThread(const idHandle); virtual idHandle *GetThread(idHandle *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,5> *GetTriggerTouchList(); virtual idList,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 *); 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,5> *GetRadiusDamageJointIndices(); virtual const idList,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); 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 electricShocks; idList,5> electricTarget; idEntityPtr 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 *GetJointIndexFromTrace(idIndex *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); virtual void RemoveThread(const idHandle); virtual idHandle *GetThread(idHandle *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,5> *GetTriggerTouchList(); virtual idList,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 *); 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,5> *GetRadiusDamageJointIndices(); virtual const idList,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); 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 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 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 *GetJointIndexFromTrace(idIndex *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); virtual void RemoveThread(const idHandle); virtual idHandle *GetThread(idHandle *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,5> *GetTriggerTouchList(); virtual idList,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 *); 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,5> *GetRadiusDamageJointIndices(); virtual const idList,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); 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; };