#pragma once // Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata. // Original PDB header: w:\tech5\tungsten\game\entities\gamechallenge.h // Recovered logical types: 14 // Signatures retain Xbox 360 ABI evidence and may still require manual review. // IDA Local Type ordinal 1915; PDB kind: enum. enum __bitmask idGameChallenge::challengeFailed_t : __int32 { PLAYER_DISCONNECT = 0x1, }; // IDA Local Type ordinal 15541; PDB kind: class. class idGameChallenge : public idEntity { public: // Recovered virtual interface; IDA vtable ordinal 15592. virtual idTypeInfo *GetType(); virtual ~idGameChallenge(); 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 StartPreGame(); virtual void BeginGame(); virtual void EndGame(); virtual void GameOver(); virtual void StartRound(); virtual void EndRound(); virtual void FinishGame(); virtual void SetPlayerState(idGameChallenge::playerData_t *, challengePlayerState_t, int); virtual void ProcessPlayerStates(); virtual bool Restart(); virtual void RestartPlayer(idPlayer *); virtual void SetSpectator(idGameChallenge::playerData_t *, bool); virtual bool RegisterNewPlayer(idGameChallenge::playerData_t *, idPlayer *, bool); virtual bool IsTeamGame(); virtual bool AllowSpectators(); virtual bool CanScore(); virtual void ForceScoreboardAll(bool); virtual bool HasPreGame(); virtual int GetPreGameDuration(); virtual void GameLoadingFinished(int); virtual void SyncMigrationGameDataWithSession(bool); virtual void SerializeMigrationGameData(idSerializer *); virtual void SerializeMigrationUserData(idSerializer *, idGameChallenge::playerData_t *); virtual gameTeam_t GetTeamNumber(const idGameChallenge::playerData_t *); virtual void SetTeamRenderModel(idGameChallenge::playerData_t *); virtual bool PlayerStateExpired(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_GAME_MODE_INFO(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_NONE(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void RespawnPlayer(idGameChallenge::playerData_t *, idDoomSpawnManager::commandType_t); virtual void FinalizeRespawnPlayer(idGameChallenge::playerData_t *, const idVec3 *, const idAngles *); virtual void DebugAllSpawnPoints(); virtual const idDeclMD6 *GetPlayerModelMD6(const idPlayer *); virtual bool IsLeaderTied(); virtual int GetLeaderPlayerIndex(); virtual int GetLeaderEntityNumber(); virtual int GetRunnerUpScore(); virtual int GetHighScore(); virtual bool ScoreLimitReached(); virtual int GetPlayerScore(const idGameChallenge::playerData_t *); virtual void GetScoringData(const idGameChallenge::playerData_t *, int *, int *, int *, int *); virtual int GetTeamScore(gameTeam_t); virtual int GetScoreLimit(); virtual bool DidPlayerWin(int); virtual void BroadcastKillMessage(int, int, const idDeclDamage *, bool, int, int); virtual bool FriendlyFireEnabled(); virtual bool PlayerReviveEnabled(); virtual void OnTriggerTouched(idTrigger_GameChallenge *, idEntity *, int); virtual int GetPrimaryScoreboardStat(int); virtual int GetSecondaryScoreboardStat(int); virtual void Notify_FlagCaptured(struct idProp_CTF_Flag *, idEntity *); virtual void PostStatsToLeaderboard(); virtual const leaderboardDefinition_t *GetLeaderboard(); virtual int GetSecondaryLeaderboardStat(int); virtual void LoadMultiplayerDecls(); bool startActive; int timeLimit; int scoreLimit; int numLives; bool countupTime; bool takeDamage; float respawnDelay; int baseTime; idList spawnPoints; int minimumPlayers; int leaderBoard; bool useSpectatorCamera; bool requireLoadoutSelection; idEntityPtr initialSpectatorCamPos; idEntityPtr initialSpectatorCamLookAt; const idSoundShader *gameMusic; const idSoundShader *gameOverSound; const idSoundShader *failedGameOverSound; const idDeclFX *fxDecl; const idDeclOnlineVOCallout *voCallout; int killScore; int suicideScore; int suicideSpawnDelay; int spawnTimer; idList teamInfo; botGameManagerType_t botGameManagerType; idStaticList players; int startTime; int endTime; int originalEndTime; int endTimeoutDuration; int preGameTime; int roundEndTime; challengeGameMode_t gameMode; bool bGameFailed; idStrId gameFailedText; idGameChallenge::challengeFailed_t failedReason; bool bFinishGameExit; bool incapacitated; int lastReviveThresholdTick; bool mapLoadFinished; int forceQuitGameTime; idStaticList teams; bool gcInitialized; bool checkWorldCollisionOnSpawn; idDoomSpawnManager *spawnManager; idSpawnNodeGroup spawnNodeGroup; bool wasMigratedGame; int migratedTime; idStaticList eventConnectList; idStaticList eventDisconnectList; int fadeInFinishTime; float reviveThreshold; }; // IDA Local Type ordinal 15546; PDB kind: struct. struct idGameChallenge::playerData_t { idEntityPtr player; int respawnDelay; unsigned int spawnHandle; int lastScore; int score; int lives; gameTeam_t team; bool spectator; int lastKiller; challengePlayerState_t state; int stateTime; int startTime; bool needToSendFullSnap; int timeTillNewPlayerCanTake; const idDeclVehicleUnlock *loadoutSlot[6]; }; // IDA Local Type ordinal 15549; PDB kind: class. class idTrigger_GameChallenge : public idTrigger { public: // Recovered virtual interface; IDA vtable ordinal 15550. virtual idTypeInfo *GetType(); virtual ~idTrigger_GameChallenge(); 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 bool CanActivate(idEntity *); }; // IDA Local Type ordinal 15551; PDB kind: struct. struct idGameChallenge::spawnPoint_t { idEntityPtr entity; int teamNumber; }; // IDA Local Type ordinal 15560; PDB kind: struct. struct idGameChallenge::teamData_t { idStaticList playerIndexList; int teamScore; }; // IDA Local Type ordinal 19886; PDB kind: class. class __declspec(align(8)) idGameChallenge_Coop : public idGameChallenge { public: // Recovered virtual interface; IDA vtable ordinal 19892. virtual idTypeInfo *GetType(); virtual ~idGameChallenge_Coop(); 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 StartPreGame(); virtual void BeginGame(); virtual void EndGame(); virtual void GameOver(); virtual void StartRound(); virtual void EndRound(); virtual void FinishGame(); virtual void SetPlayerState(idGameChallenge::playerData_t *, challengePlayerState_t, int); virtual void ProcessPlayerStates(); virtual bool Restart(); virtual void RestartPlayer(idPlayer *); virtual void SetSpectator(idGameChallenge::playerData_t *, bool); virtual bool RegisterNewPlayer(idGameChallenge::playerData_t *, idPlayer *, bool); virtual bool IsTeamGame(); virtual bool AllowSpectators(); virtual bool CanScore(); virtual void ForceScoreboardAll(bool); virtual bool HasPreGame(); virtual int GetPreGameDuration(); virtual void GameLoadingFinished(int); virtual void SyncMigrationGameDataWithSession(bool); virtual void SerializeMigrationGameData(idSerializer *); virtual void SerializeMigrationUserData(idSerializer *, idGameChallenge::playerData_t *); virtual gameTeam_t GetTeamNumber(const idGameChallenge::playerData_t *); virtual void SetTeamRenderModel(idGameChallenge::playerData_t *); virtual bool PlayerStateExpired(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_GAME_MODE_INFO(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_NONE(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void RespawnPlayer(idGameChallenge::playerData_t *, idDoomSpawnManager::commandType_t); virtual void FinalizeRespawnPlayer(idGameChallenge::playerData_t *, const idVec3 *, const idAngles *); virtual void DebugAllSpawnPoints(); virtual const idDeclMD6 *GetPlayerModelMD6(const idPlayer *); virtual bool IsLeaderTied(); virtual int GetLeaderPlayerIndex(); virtual int GetLeaderEntityNumber(); virtual int GetRunnerUpScore(); virtual int GetHighScore(); virtual bool ScoreLimitReached(); virtual int GetPlayerScore(const idGameChallenge::playerData_t *); virtual void GetScoringData(const idGameChallenge::playerData_t *, int *, int *, int *, int *); virtual int GetTeamScore(gameTeam_t); virtual int GetScoreLimit(); virtual bool DidPlayerWin(int); virtual void BroadcastKillMessage(int, int, const idDeclDamage *, bool, int, int); virtual bool FriendlyFireEnabled(); virtual bool PlayerReviveEnabled(); virtual void OnTriggerTouched(idTrigger_GameChallenge *, idEntity *, int); virtual int GetPrimaryScoreboardStat(int); virtual int GetSecondaryScoreboardStat(int); virtual void Notify_FlagCaptured(struct idProp_CTF_Flag *, idEntity *); virtual void PostStatsToLeaderboard(); virtual const leaderboardDefinition_t *GetLeaderboard(); virtual int GetSecondaryLeaderboardStat(int); virtual void LoadMultiplayerDecls(); virtual int GetTeamScore_2(int); idList collectibleList; int numCollectiblesToComplete; idStrId collectibleStatusMessage; idGameChallenge_Coop::collectibleData_t specialCollectible; bool useUniqueSpawnpoints; bool bObjectiveActive; int objectiveStartTimeMS; int totalTime; int objectiveScore; int objectiveParScore; int objectiveParTimeMS; idStrId objectiveText; idList scoreRating; const idDeclMD6 *coopModelDefPlayer1; const idDeclMD6 *coopModelDefPlayer2; }; // IDA Local Type ordinal 19888; PDB kind: struct. struct idGameChallenge_Coop::collectibleData_t { bool found; idEntityPtr collectible; }; // IDA Local Type ordinal 19890; PDB kind: struct. struct idGameChallenge_Coop::ratingTitle_t { int points; idStrId rating; }; // IDA Local Type ordinal 19895; PDB kind: class. class idGameChallenge_PVP : public idGameChallenge { public: // Recovered virtual interface; IDA vtable ordinal 19896. virtual idTypeInfo *GetType(); virtual ~idGameChallenge_PVP(); 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 StartPreGame(); virtual void BeginGame(); virtual void EndGame(); virtual void GameOver(); virtual void StartRound(); virtual void EndRound(); virtual void FinishGame(); virtual void SetPlayerState(idGameChallenge::playerData_t *, challengePlayerState_t, int); virtual void ProcessPlayerStates(); virtual bool Restart(); virtual void RestartPlayer(idPlayer *); virtual void SetSpectator(idGameChallenge::playerData_t *, bool); virtual bool RegisterNewPlayer(idGameChallenge::playerData_t *, idPlayer *, bool); virtual bool IsTeamGame(); virtual bool AllowSpectators(); virtual bool CanScore(); virtual void ForceScoreboardAll(bool); virtual bool HasPreGame(); virtual int GetPreGameDuration(); virtual void GameLoadingFinished(int); virtual void SyncMigrationGameDataWithSession(bool); virtual void SerializeMigrationGameData(idSerializer *); virtual void SerializeMigrationUserData(idSerializer *, idGameChallenge::playerData_t *); virtual gameTeam_t GetTeamNumber(const idGameChallenge::playerData_t *); virtual void SetTeamRenderModel(idGameChallenge::playerData_t *); virtual bool PlayerStateExpired(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_GAME_MODE_INFO(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_NONE(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void RespawnPlayer(idGameChallenge::playerData_t *, idDoomSpawnManager::commandType_t); virtual void FinalizeRespawnPlayer(idGameChallenge::playerData_t *, const idVec3 *, const idAngles *); virtual void DebugAllSpawnPoints(); virtual const idDeclMD6 *GetPlayerModelMD6(const idPlayer *); virtual bool IsLeaderTied(); virtual int GetLeaderPlayerIndex(); virtual int GetLeaderEntityNumber(); virtual int GetRunnerUpScore(); virtual int GetHighScore(); virtual bool ScoreLimitReached(); virtual int GetPlayerScore(const idGameChallenge::playerData_t *); virtual void GetScoringData(const idGameChallenge::playerData_t *, int *, int *, int *, int *); virtual int GetTeamScore(gameTeam_t); virtual int GetScoreLimit(); virtual bool DidPlayerWin(int); virtual void BroadcastKillMessage(int, int, const idDeclDamage *, bool, int, int); virtual bool FriendlyFireEnabled(); virtual bool PlayerReviveEnabled(); virtual void OnTriggerTouched(idTrigger_GameChallenge *, idEntity *, int); virtual int GetPrimaryScoreboardStat(int); virtual int GetSecondaryScoreboardStat(int); virtual void Notify_FlagCaptured(struct idProp_CTF_Flag *, idEntity *); virtual void PostStatsToLeaderboard(); virtual const leaderboardDefinition_t *GetLeaderboard(); virtual int GetSecondaryLeaderboardStat(int); virtual void LoadMultiplayerDecls(); virtual void ScorePlayerKill(int, int); virtual void ScoreTeamKill(int, int); bool isTeamGame; const idDeclMD6 *teamNoneModelDef; const idDeclMD6 *teamRedModelDef; const idDeclMD6 *teamBlueModelDef; const idDeclMD6 *teamGreenModelDef; const idDeclMD6 *teamYellowModelDef; }; // IDA Local Type ordinal 19897; PDB kind: class. class idGameChallenge::SyncPlayersWithLobbyUsers::__l2::idSWFScriptFunction_LeaveGame : public idSWFScriptFunction_RefCounted { public: // Recovered virtual interface; IDA vtable ordinal 19898. virtual ~idSWFScriptFunction_LeaveGame(); virtual idSWFScriptVar *Call(idSWFScriptVar *result, idSWFScriptObject *, const idSWFParmList *); virtual void AddRef(); virtual void Release(); virtual idSWFScriptObject *GetPrototype(); virtual void SetPrototype(idSWFScriptObject *); idEntityPtr gc; gameDialogMessages_t msg; }; // IDA Local Type ordinal 19899; PDB kind: class. class idGameChallenge_DM : public idGameChallenge_PVP { public: // Recovered virtual interface; IDA vtable ordinal 19900. virtual idTypeInfo *GetType(); virtual ~idGameChallenge_DM(); 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 StartPreGame(); virtual void BeginGame(); virtual void EndGame(); virtual void GameOver(); virtual void StartRound(); virtual void EndRound(); virtual void FinishGame(); virtual void SetPlayerState(idGameChallenge::playerData_t *, challengePlayerState_t, int); virtual void ProcessPlayerStates(); virtual bool Restart(); virtual void RestartPlayer(idPlayer *); virtual void SetSpectator(idGameChallenge::playerData_t *, bool); virtual bool RegisterNewPlayer(idGameChallenge::playerData_t *, idPlayer *, bool); virtual bool IsTeamGame(); virtual bool AllowSpectators(); virtual bool CanScore(); virtual void ForceScoreboardAll(bool); virtual bool HasPreGame(); virtual int GetPreGameDuration(); virtual void GameLoadingFinished(int); virtual void SyncMigrationGameDataWithSession(bool); virtual void SerializeMigrationGameData(idSerializer *); virtual void SerializeMigrationUserData(idSerializer *, idGameChallenge::playerData_t *); virtual gameTeam_t GetTeamNumber(const idGameChallenge::playerData_t *); virtual void SetTeamRenderModel(idGameChallenge::playerData_t *); virtual bool PlayerStateExpired(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_GAME_MODE_INFO(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_NONE(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void RespawnPlayer(idGameChallenge::playerData_t *, idDoomSpawnManager::commandType_t); virtual void FinalizeRespawnPlayer(idGameChallenge::playerData_t *, const idVec3 *, const idAngles *); virtual void DebugAllSpawnPoints(); virtual const idDeclMD6 *GetPlayerModelMD6(const idPlayer *); virtual bool IsLeaderTied(); virtual int GetLeaderPlayerIndex(); virtual int GetLeaderEntityNumber(); virtual int GetRunnerUpScore(); virtual int GetHighScore(); virtual bool ScoreLimitReached(); virtual int GetPlayerScore(const idGameChallenge::playerData_t *); virtual void GetScoringData(const idGameChallenge::playerData_t *, int *, int *, int *, int *); virtual int GetTeamScore(gameTeam_t); virtual int GetScoreLimit(); virtual bool DidPlayerWin(int); virtual void BroadcastKillMessage(int, int, const idDeclDamage *, bool, int, int); virtual bool FriendlyFireEnabled(); virtual bool PlayerReviveEnabled(); virtual void OnTriggerTouched(idTrigger_GameChallenge *, idEntity *, int); virtual int GetPrimaryScoreboardStat(int); virtual int GetSecondaryScoreboardStat(int); virtual void Notify_FlagCaptured(struct idProp_CTF_Flag *, idEntity *); virtual void PostStatsToLeaderboard(); virtual const leaderboardDefinition_t *GetLeaderboard(); virtual int GetSecondaryLeaderboardStat(int); virtual void LoadMultiplayerDecls(); virtual void ScorePlayerKill(int, int); virtual void ScoreTeamKill(int, int); }; // IDA Local Type ordinal 19901; PDB kind: class. class idGameChallenge_DM_FFA : public idGameChallenge_DM { public: // Recovered virtual interface; IDA vtable ordinal 19902. virtual idTypeInfo *GetType(); virtual ~idGameChallenge_DM_FFA(); 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 StartPreGame(); virtual void BeginGame(); virtual void EndGame(); virtual void GameOver(); virtual void StartRound(); virtual void EndRound(); virtual void FinishGame(); virtual void SetPlayerState(idGameChallenge::playerData_t *, challengePlayerState_t, int); virtual void ProcessPlayerStates(); virtual bool Restart(); virtual void RestartPlayer(idPlayer *); virtual void SetSpectator(idGameChallenge::playerData_t *, bool); virtual bool RegisterNewPlayer(idGameChallenge::playerData_t *, idPlayer *, bool); virtual bool IsTeamGame(); virtual bool AllowSpectators(); virtual bool CanScore(); virtual void ForceScoreboardAll(bool); virtual bool HasPreGame(); virtual int GetPreGameDuration(); virtual void GameLoadingFinished(int); virtual void SyncMigrationGameDataWithSession(bool); virtual void SerializeMigrationGameData(idSerializer *); virtual void SerializeMigrationUserData(idSerializer *, idGameChallenge::playerData_t *); virtual gameTeam_t GetTeamNumber(const idGameChallenge::playerData_t *); virtual void SetTeamRenderModel(idGameChallenge::playerData_t *); virtual bool PlayerStateExpired(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_GAME_MODE_INFO(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_NONE(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void RespawnPlayer(idGameChallenge::playerData_t *, idDoomSpawnManager::commandType_t); virtual void FinalizeRespawnPlayer(idGameChallenge::playerData_t *, const idVec3 *, const idAngles *); virtual void DebugAllSpawnPoints(); virtual const idDeclMD6 *GetPlayerModelMD6(const idPlayer *); virtual bool IsLeaderTied(); virtual int GetLeaderPlayerIndex(); virtual int GetLeaderEntityNumber(); virtual int GetRunnerUpScore(); virtual int GetHighScore(); virtual bool ScoreLimitReached(); virtual int GetPlayerScore(const idGameChallenge::playerData_t *); virtual void GetScoringData(const idGameChallenge::playerData_t *, int *, int *, int *, int *); virtual int GetTeamScore(gameTeam_t); virtual int GetScoreLimit(); virtual bool DidPlayerWin(int); virtual void BroadcastKillMessage(int, int, const idDeclDamage *, bool, int, int); virtual bool FriendlyFireEnabled(); virtual bool PlayerReviveEnabled(); virtual void OnTriggerTouched(idTrigger_GameChallenge *, idEntity *, int); virtual int GetPrimaryScoreboardStat(int); virtual int GetSecondaryScoreboardStat(int); virtual void Notify_FlagCaptured(struct idProp_CTF_Flag *, idEntity *); virtual void PostStatsToLeaderboard(); virtual const leaderboardDefinition_t *GetLeaderboard(); virtual int GetSecondaryLeaderboardStat(int); virtual void LoadMultiplayerDecls(); virtual void ScorePlayerKill(int, int); virtual void ScoreTeamKill(int, int); }; // IDA Local Type ordinal 19903; PDB kind: class. class idGameChallenge_DM_TDM : public idGameChallenge_DM { public: // Recovered virtual interface; IDA vtable ordinal 19904. virtual idTypeInfo *GetType(); virtual ~idGameChallenge_DM_TDM(); 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 StartPreGame(); virtual void BeginGame(); virtual void EndGame(); virtual void GameOver(); virtual void StartRound(); virtual void EndRound(); virtual void FinishGame(); virtual void SetPlayerState(idGameChallenge::playerData_t *, challengePlayerState_t, int); virtual void ProcessPlayerStates(); virtual bool Restart(); virtual void RestartPlayer(idPlayer *); virtual void SetSpectator(idGameChallenge::playerData_t *, bool); virtual bool RegisterNewPlayer(idGameChallenge::playerData_t *, idPlayer *, bool); virtual bool IsTeamGame(); virtual bool AllowSpectators(); virtual bool CanScore(); virtual void ForceScoreboardAll(bool); virtual bool HasPreGame(); virtual int GetPreGameDuration(); virtual void GameLoadingFinished(int); virtual void SyncMigrationGameDataWithSession(bool); virtual void SerializeMigrationGameData(idSerializer *); virtual void SerializeMigrationUserData(idSerializer *, idGameChallenge::playerData_t *); virtual gameTeam_t GetTeamNumber(const idGameChallenge::playerData_t *); virtual void SetTeamRenderModel(idGameChallenge::playerData_t *); virtual bool PlayerStateExpired(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void EnterState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_GAME_MODE_INFO(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void StateExpired_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_NONE(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_VDM_FORCE_SELECT_LOADOUT(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_WAITING_TO_RESPAWN_FROM_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_SPECTATE_AFTER_DEATH(idGameChallenge::playerData_t *); virtual void HandleState_PLAYER_STATE_RESPAWNING(idGameChallenge::playerData_t *); virtual void RespawnPlayer(idGameChallenge::playerData_t *, idDoomSpawnManager::commandType_t); virtual void FinalizeRespawnPlayer(idGameChallenge::playerData_t *, const idVec3 *, const idAngles *); virtual void DebugAllSpawnPoints(); virtual const idDeclMD6 *GetPlayerModelMD6(const idPlayer *); virtual bool IsLeaderTied(); virtual int GetLeaderPlayerIndex(); virtual int GetLeaderEntityNumber(); virtual int GetRunnerUpScore(); virtual int GetHighScore(); virtual bool ScoreLimitReached(); virtual int GetPlayerScore(const idGameChallenge::playerData_t *); virtual void GetScoringData(const idGameChallenge::playerData_t *, int *, int *, int *, int *); virtual int GetTeamScore(gameTeam_t); virtual int GetScoreLimit(); virtual bool DidPlayerWin(int); virtual void BroadcastKillMessage(int, int, const idDeclDamage *, bool, int, int); virtual bool FriendlyFireEnabled(); virtual bool PlayerReviveEnabled(); virtual void OnTriggerTouched(idTrigger_GameChallenge *, idEntity *, int); virtual int GetPrimaryScoreboardStat(int); virtual int GetSecondaryScoreboardStat(int); virtual void Notify_FlagCaptured(struct idProp_CTF_Flag *, idEntity *); virtual void PostStatsToLeaderboard(); virtual const leaderboardDefinition_t *GetLeaderboard(); virtual int GetSecondaryLeaderboardStat(int); virtual void LoadMultiplayerDecls(); virtual void ScorePlayerKill(int, int); virtual void ScoreTeamKill(int, int); };