mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Server: add reverse engineered BaseNPC (AI) classes
Will be used for debug code and proper navmesh hotswaps.
This commit is contained in:
parent
628a4471ea
commit
47aee3125d
@ -18,8 +18,10 @@ add_sources( SOURCE_GROUP "Entity"
|
||||
"shared/entitylist_base.h"
|
||||
)
|
||||
|
||||
add_sources( SOURCE_GROUP "Prediction"
|
||||
add_sources( SOURCE_GROUP "Simulation"
|
||||
"shared/predictioncopy.h"
|
||||
"shared/simtimer.cpp"
|
||||
"shared/simtimer.h"
|
||||
)
|
||||
|
||||
add_sources( SOURCE_GROUP "Animation"
|
||||
@ -27,6 +29,10 @@ add_sources( SOURCE_GROUP "Animation"
|
||||
"shared/animation.h"
|
||||
)
|
||||
|
||||
add_sources( SOURCE_GROUP "Effects"
|
||||
"shared/status_effect.h"
|
||||
)
|
||||
|
||||
add_sources( SOURCE_GROUP "Collision"
|
||||
"shared/collisionproperty.cpp"
|
||||
"shared/collisionproperty.h"
|
||||
@ -49,6 +55,7 @@ add_sources( SOURCE_GROUP "Shared"
|
||||
"shared/shared_classnames.h"
|
||||
"shared/shareddefs.h"
|
||||
"shared/takedamageinfo.h"
|
||||
"shared/shared_activity.h"
|
||||
)
|
||||
|
||||
add_sources( SOURCE_GROUP "Script"
|
||||
@ -66,6 +73,8 @@ endif()
|
||||
if( ${PROJECT_NAME} STREQUAL "server_static" )
|
||||
|
||||
add_sources( SOURCE_GROUP "AI"
|
||||
"server/ai_basenpc.cpp"
|
||||
"server/ai_basenpc.h"
|
||||
"server/ai_network.cpp"
|
||||
"server/ai_network.h"
|
||||
"server/ai_networkmanager.cpp"
|
||||
@ -73,6 +82,31 @@ add_sources( SOURCE_GROUP "AI"
|
||||
"server/ai_node.h"
|
||||
"server/ai_utility.cpp"
|
||||
"server/ai_utility.h"
|
||||
"server/ai_task.h"
|
||||
"server/ai_schedule.cpp"
|
||||
"server/ai_schedule.h"
|
||||
"server/ai_component.h"
|
||||
"server/ai_senses.h"
|
||||
"server/ai_localnavigator.h"
|
||||
"server/ai_navigator.h"
|
||||
"server/ai_navtypes.h"
|
||||
"server/ai_movetypes.h"
|
||||
"server/ai_moveprobe.h"
|
||||
"server/ai_motor.h"
|
||||
"server/ai_route.h"
|
||||
"server/ai_interest.cpp"
|
||||
"server/ai_interest.h"
|
||||
"server/ai_waypoint.h"
|
||||
"server/ai_pathfinder.h"
|
||||
"server/ai_memory.h"
|
||||
"server/ai_squad.h"
|
||||
"server/ai_tacticalservices.h"
|
||||
"server/ai_moveshoot.h"
|
||||
"server/ai_battlelocation.h"
|
||||
"server/ai_syncedmelee.h"
|
||||
"server/ai_shootcover.h"
|
||||
"server/ai_hint.h"
|
||||
"server/ai_npcstate.h"
|
||||
"server/detour_impl.h"
|
||||
)
|
||||
|
||||
@ -87,6 +121,8 @@ add_sources( SOURCE_GROUP "Entity"
|
||||
"server/entitylist.h"
|
||||
"server/entityoutput.cpp"
|
||||
"server/entityoutput.h"
|
||||
"server/soundent.cpp"
|
||||
"server/soundent.h"
|
||||
)
|
||||
|
||||
add_sources( SOURCE_GROUP "Network"
|
||||
|
@ -6,8 +6,9 @@
|
||||
#include "input.h"
|
||||
#include "common/global.h"
|
||||
#include "game/shared/weapon_types.h"
|
||||
#include "game/shared/shared_activity.h"
|
||||
|
||||
void CInput::VSetCustomWeaponActivity(CInput* pInput, int weaponActivity)
|
||||
void CInput::VSetCustomWeaponActivity(CInput* pInput, sharedactivity_e weaponActivity)
|
||||
{
|
||||
// Server only allows other custom weapon activities if cheats are enabled,
|
||||
// don't bother simulating it on the client without the cheats cvar, as
|
||||
|
@ -1,6 +1,7 @@
|
||||
#ifndef CLIENT_INPUT_H
|
||||
#define CLIENT_INPUT_H
|
||||
#include "game/shared/weapon_types.h"
|
||||
#include "game/shared/shared_activity.h"
|
||||
#include "game/client/iinput.h"
|
||||
|
||||
class CInput : public IInput
|
||||
@ -31,7 +32,7 @@ public:
|
||||
|
||||
virtual void sub_140701720() = 0;
|
||||
|
||||
virtual void SetCustomWeaponActivity( WeaponActivity_t weaponActivity ) = 0;
|
||||
virtual void SetCustomWeaponActivity( sharedactivity_e weaponActivity ) = 0;
|
||||
virtual void ActivateOffhandWeaponByIndex( char index /*TODO[ AMOS ]: needs enum, enumVal 6 = INVALID; see Script_ActivateOffhandWeaponByIndex*/ ) = 0;
|
||||
|
||||
virtual void ChangeControllerMode( bool newMode ) = 0;
|
||||
@ -42,11 +43,11 @@ public:
|
||||
virtual void GetZoomAnchor( Vector2D& outAnchor ) = 0; // Used for SetBigMapZoomAnchor script func
|
||||
|
||||
public: // Hook statics
|
||||
static void VSetCustomWeaponActivity( CInput* pInput, int weaponActivity );
|
||||
static void VSetCustomWeaponActivity( CInput* pInput, sharedactivity_e weaponActivity );
|
||||
private:
|
||||
};
|
||||
|
||||
inline void(*v_CInput__SetCustomWeaponActivity)(CInput* pInput, int weaponActivity);
|
||||
inline void(*v_CInput__SetCustomWeaponActivity)(CInput* pInput, sharedactivity_e weaponActivity);
|
||||
|
||||
inline IInput* g_pInput_VFTable = nullptr;
|
||||
inline CInput* g_pInput = nullptr;
|
||||
|
7
src/game/server/ai_basenpc.cpp
Normal file
7
src/game/server/ai_basenpc.cpp
Normal file
@ -0,0 +1,7 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Base NPC character with AI
|
||||
//
|
||||
//=============================================================================//
|
||||
#include "ai_basenpc.h"
|
||||
|
434
src/game/server/ai_basenpc.h
Normal file
434
src/game/server/ai_basenpc.h
Normal file
@ -0,0 +1,434 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Base NPC character with AI
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef AI_BASENPC_H
|
||||
#define AI_BASENPC_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "game/shared/shared_activity.h"
|
||||
#include "game/shared/simtimer.h"
|
||||
#include "game/shared/status_effect.h"
|
||||
#include "basecombatcharacter.h"
|
||||
#include "ai_movetypes.h"
|
||||
#include "ai_schedule.h"
|
||||
#include "ai_task.h"
|
||||
#include "ai_senses.h"
|
||||
#include "ai_motor.h"
|
||||
#include "ai_pathfinder.h"
|
||||
#include "ai_navigator.h"
|
||||
#include "ai_localnavigator.h"
|
||||
#include "ai_memory.h"
|
||||
#include "ai_utility.h"
|
||||
#include "ai_squad.h"
|
||||
#include "ai_tacticalservices.h"
|
||||
#include "ai_moveshoot.h"
|
||||
#include "ai_battlelocation.h"
|
||||
#include "ai_hint.h"
|
||||
#include "ai_syncedmelee.h"
|
||||
#include "ai_shootcover.h"
|
||||
|
||||
//=============================================================================
|
||||
// Purpose: Some bridges a little more complicated to allow behavior to see
|
||||
// what base class would do or control order in which it's done
|
||||
//=============================================================================
|
||||
|
||||
abstract_class IAI_BehaviorBridge
|
||||
{
|
||||
public:
|
||||
#define AI_GENERATE_BRIDGE_INTERFACE
|
||||
//#include "ai_behavior_template.h"
|
||||
|
||||
// Non-standard bridge methods
|
||||
virtual void BehaviorBridge_GatherConditions() {}
|
||||
// TODO: confirm if this interface is correct for R5!
|
||||
//virtual int BehaviorBridge_SelectSchedule() { return 0; }
|
||||
//virtual int BehaviorBridge_TranslateSchedule(int scheduleType) { return 0; }
|
||||
//virtual float BehaviorBridge_GetJumpGravity() const { return 0; }
|
||||
//virtual bool BehaviorBridge_IsJumpLegal(const Vector3D & startPos, const Vector3D& apex, const Vector3D& endPos, float maxUp, float maxDown, float maxDist) const { return 0; }
|
||||
//virtual bool BehaviorBridge_MovementCost(int moveType, const Vector3D& vecStart, const Vector3D& vecEnd, float* pCost) { return 0; }
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// Types used by CAI_BaseNPC
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
struct AIScheduleState_t
|
||||
{
|
||||
int iCurTask;
|
||||
TaskStatus_e fTaskStatus;
|
||||
float timeStarted;
|
||||
float timeCurTaskStarted;
|
||||
int failedSchedID;
|
||||
char gap_14[4];
|
||||
AI_TaskFailureCode_t taskFailureCode;
|
||||
int iTaskInterrupt;
|
||||
bool bTaskRanAutomovement;
|
||||
bool bTaskRequestRunTillWait;
|
||||
bool doYawUpdatesForThisDecisionInterval;
|
||||
bool doYawUpdatesDuringThisTask;
|
||||
bool updateIdealYawToEnemyDuringThisTask;
|
||||
bool bScheduleWasInterrupted;
|
||||
bool bStopRunTasks;
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// class CAI_BaseNPC
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
class CAI_BaseNPC : public CBaseCombatCharacter,
|
||||
public CAI_DefMovementSink,
|
||||
public IAI_BehaviorBridge
|
||||
{
|
||||
public:
|
||||
|
||||
private:
|
||||
int m_threadedPostProcessJob;
|
||||
bool m_bDoPostProcess;
|
||||
bool m_bCustomEnemySearch;
|
||||
bool m_bPlayerSpottable;
|
||||
bool m_bAddedToSpottableList;
|
||||
CAI_Schedule* m_pPrevSchedule;
|
||||
CAI_Schedule* m_pSchedule;
|
||||
int m_defaultScriptScheduleID;
|
||||
char gap_598c[4];
|
||||
AIScheduleState_t m_ScheduleState;
|
||||
int m_failSchedule;
|
||||
bool m_bDoPostRestoreRefindPath;
|
||||
bool m_bDoScheduleChangeSignal;
|
||||
bool m_spawned;
|
||||
bool m_bUsingStandardThinkTime;
|
||||
float m_flLastRealThinkTime;
|
||||
float m_flLastThinkDuration;
|
||||
int m_iTickBlocked;
|
||||
float m_dangerousClusterConditionAllowedAtTime;
|
||||
int m_poseAim_Pitch;
|
||||
int m_poseAim_Yaw;
|
||||
int m_poseMove_Yaw;
|
||||
int m_poseMove_Lean;
|
||||
float m_offsetOfCurrentAimFromDesiredAim_Cos;
|
||||
bool m_haveDesiredAimDir;
|
||||
bool m_sequenceHasAimEvent;
|
||||
bool m_sequenceHasAimPoseParams;
|
||||
char gap_59ef[1];
|
||||
int m_lastAimSequence;
|
||||
int m_missPlayerLastWindow;
|
||||
Vector3D m_missPlayerLastOffset;
|
||||
char gap_5a04[4];
|
||||
void* m_pPrimaryBehavior;
|
||||
char m_Behaviors[32];
|
||||
bool m_bCalledBehaviorSelectSchedule;
|
||||
char gap_5a31[3];
|
||||
char m_Conditions[12];
|
||||
char m_CustomInterruptConditions[12];
|
||||
bool m_bForceConditionsGather;
|
||||
bool m_bConditionsGathered;
|
||||
bool m_bInterruptableByScript;
|
||||
char gap_5a4f[1];
|
||||
int m_movingGroundEnt;
|
||||
Vector3D m_groundRelativePos;
|
||||
Vector3D m_groundRelativeAngles;
|
||||
int m_NPCState;
|
||||
int m_NPCPrevState;
|
||||
int m_lastSchedSelectorState;
|
||||
float m_flLastSchedSelectChangeTime;
|
||||
float m_flLastStateChangeTime;
|
||||
float m_thinkInterval;
|
||||
int m_IdealNPCState;
|
||||
int m_Efficiency;
|
||||
int m_MoveEfficiency;
|
||||
float m_flNextDecisionTime;
|
||||
__int16 m_searchPathID;
|
||||
bool m_bDefenseActive;
|
||||
bool m_bAlwaysAlert;
|
||||
bool m_scriptedAnimForceInterrupt;
|
||||
bool m_bWakeSquad;
|
||||
char gap_5a9a[2];
|
||||
float m_flWakeRadius;
|
||||
int m_nWakeTick;
|
||||
int m_SleepState;
|
||||
int m_SleepFlags;
|
||||
char m_translatedActivity[4];
|
||||
sharedactivity_e m_IdealActivity;
|
||||
int m_nIdealSequence;
|
||||
sharedactivity_e m_IdealTranslatedActivity;
|
||||
sharedactivity_e m_IdealWeaponActivity;
|
||||
bool m_idealSequenceAlreadyResolved;
|
||||
char gap_5ac1[3];
|
||||
int m_seqFinishedInSolid;
|
||||
int m_prevSeqWeight;
|
||||
char gap_5acc[4];
|
||||
char m_activeActModifiers[80];
|
||||
int m_scriptIdleSequence;
|
||||
int m_scriptAttackSequence;
|
||||
int m_scriptDeathActivity;
|
||||
bool m_requestSpecialRangeAttack;
|
||||
char gap_5b2d[3];
|
||||
int m_specialRangeAttackCount;
|
||||
char gap_5b34[4];
|
||||
__int64 m_aiSettings;
|
||||
int m_aiSettingsIndex;
|
||||
int m_subclass;
|
||||
CAI_Senses* m_pSenses;
|
||||
CSound m_pLockedBestSound;
|
||||
Vector3D m_aimDir;
|
||||
bool m_aimDirValid;
|
||||
char gap_5b85[3];
|
||||
float m_weaponBlockedTimer;
|
||||
float m_weaponBlockedTimeOut;
|
||||
int m_moveDirection;
|
||||
int m_hEnemy;
|
||||
int m_hEnemySecondary;
|
||||
float m_distToEnemyLKP_AdjustForHeightDiff;
|
||||
float m_distToEnemyLKP;
|
||||
float m_distToEnemyLKPCenterToCenter;
|
||||
char m_updateSquadEnemyQueue[32];
|
||||
CStopwatch m_notifyEnemyToSquadTimer;
|
||||
float m_notifyEnemyToTeamTime;
|
||||
CRandStopwatch m_GiveUpOnDeadEnemyTimer;
|
||||
CSimpleSimTimer m_chooseEnemySanityTimer;
|
||||
int m_EnemiesSerialNumber;
|
||||
CSimpleSimTimer m_UpdateEnemyPosTimer;
|
||||
bool m_ForceUpdateEnemyPos;
|
||||
char gap_5bf5[3];
|
||||
int m_afCapability;
|
||||
int m_flags;
|
||||
bool m_chanceToHitIsEnabled;
|
||||
char gap_5c01[3];
|
||||
float m_flMoveWaitFinished;
|
||||
char m_UnreachableEnts[32];
|
||||
CAI_Navigator* m_pNavigator;
|
||||
CAI_LocalNavigator* m_pLocalNavigator;
|
||||
CAI_Pathfinder* m_pPathfinder;
|
||||
CAI_MoveProbe* m_pMoveProbe;
|
||||
CAI_Motor* m_pMotor;
|
||||
int m_hGoalEnt;
|
||||
float m_flTimeLastMovement;
|
||||
float m_longJumpCheckTime;
|
||||
Vector3D m_prevGroundNormal;
|
||||
CSimpleSimTimer m_CheckOnGroundTimer;
|
||||
Vector3D m_vDefaultLocalEyeOffset;
|
||||
float m_flNextEyeLookTime;
|
||||
float m_flEyeIntegRate;
|
||||
Vector3D m_vEyeLookTarget;
|
||||
Vector3D m_vCurEyeTarget;
|
||||
float m_flHeadYaw;
|
||||
float m_flHeadPitch;
|
||||
int m_animRefAdjustThinkCount;
|
||||
Vector3D m_animRefAdjustPerThink;
|
||||
bool m_animRefDidAdjust;
|
||||
bool m_animParentedOnPlay;
|
||||
char gap_5cb2[2];
|
||||
int m_scriptAnimSavedCollisionGroup;
|
||||
int m_scriptAnimSavedFlags;
|
||||
int m_scriptAnimStartPolyRef;
|
||||
char m_enemyChangeScriptCallback[16];
|
||||
CAI_Enemies* m_pEnemies;
|
||||
int m_afMemory;
|
||||
int m_hEnemyOccluder;
|
||||
int m_hScriptEnemy;
|
||||
int m_hNearestVisibleFriendlyPlayer;
|
||||
int m_lastDamageFlags;
|
||||
int m_lastDamageType;
|
||||
float m_strafeDodgeDamage;
|
||||
float m_lastLightPainTime;
|
||||
float m_lastHeavyPainTime;
|
||||
float m_flSumDamage;
|
||||
float m_flLastDamageTime;
|
||||
float m_flLastSawPlayerTime;
|
||||
float m_flLastAttackTime;
|
||||
float m_flAlertEventTime;
|
||||
float m_flNextRangeAttackSecondary;
|
||||
float m_flNextMeleeAllowTime;
|
||||
float m_flNextMeleeAltAllowTime;
|
||||
int m_meleeComboCount;
|
||||
bool m_bIgnoreUnseenEnemies;
|
||||
char gap_5d21[7];
|
||||
CAI_ShotRegulator m_ShotRegulator;
|
||||
AISyncedMeleeState m_syncedMelee;
|
||||
CAI_Squad* m_pSquad;
|
||||
string_t m_SquadName;
|
||||
int m_iMySquadSlot;
|
||||
int m_squadAssignment;
|
||||
float m_squadAssignedRange;
|
||||
float m_squadAssignedNodeStartUseTime;
|
||||
int m_squadAssignedNode;
|
||||
int m_lockedNode;
|
||||
int m_currentWeaponBarrel;
|
||||
bool m_bAutoSquad;
|
||||
bool m_bDidDeathCleanUp;
|
||||
bool m_bOptionalSprint;
|
||||
bool m_bClearNodeOnScheduleFail;
|
||||
bool m_bRunningFromEnemy;
|
||||
char m_runFromEnemyRetry;
|
||||
char m_disableArrivalOnce;
|
||||
char gap_5e03[5];
|
||||
CAI_TacticalServices* m_pTacticalServices;
|
||||
float m_scriptAimingPrecisionAdjustment;
|
||||
float m_flWaitFinished;
|
||||
float m_flNextFlinchTime;
|
||||
float m_flNextCheckFaceEnemyTime;
|
||||
CAI_MoveAndShootOverlay m_moveAndShootOverlay;
|
||||
bool m_forceShootOverlay;
|
||||
bool m_weaponTemporarilySwitchedByAnim;
|
||||
bool m_strafeDir;
|
||||
char gap_5e43[1];
|
||||
int m_strafeCount;
|
||||
float m_flSavePositionTime;
|
||||
Vector3D m_vSavePosition;
|
||||
Vector3D m_vInterruptSavePosition;
|
||||
Vector3D m_vLastAutoMoveDelta;
|
||||
Vector3D m_autoMoveAdjust_originalSpace;
|
||||
Vector3D m_vLastPatrolDir;
|
||||
CAI_Hint* m_pHintNode;
|
||||
int m_pSafeHintNode;
|
||||
int m_safeHintType;
|
||||
float m_flDistTooFar;
|
||||
float m_flDistTooClose;
|
||||
float m_minEngagementDistVsWeak;
|
||||
float m_maxEngagementDistVsWeak;
|
||||
float m_minEngagementDistVsStrong;
|
||||
float m_maxEngagementDistVsStrong;
|
||||
float m_dangerousAreaRadius;
|
||||
float m_maxEnemyDistOverride;
|
||||
float m_maxEnemyDistHeavyArmorOverride;
|
||||
float m_minEnemyDist;
|
||||
float m_disengageEnemyDist;
|
||||
char gap_5ec4[4];
|
||||
string_t m_spawnEquipment[2];
|
||||
void* m_grenadeWeapon; // todo: reverse and add class
|
||||
string_t m_grenadeWeaponName;
|
||||
Vector3D m_lastValidGrenadeThrowOrigin;
|
||||
float m_throwGrenadeAllowedTime;
|
||||
float m_rangeAttackTwitchAllowedTime;
|
||||
float m_smartAmmoLockTime;
|
||||
int m_smartAmmoLocks;
|
||||
int m_smartAmmoWeapon;
|
||||
int m_meleeWeapon;
|
||||
int m_reactFriendlyChance;
|
||||
int m_reactBulletChance;
|
||||
int m_reactChance;
|
||||
float m_lastReactTime;
|
||||
float m_dangerousAreaReactionTime;
|
||||
int m_MovementCollisionGroup;
|
||||
float m_moveDeflectionSearchRadius;
|
||||
float m_moveDeflectionDebounceExpireTime;
|
||||
char gap_5f2c[4];
|
||||
ShootingCoverState shootingCover;
|
||||
BattleLocationState m_battleLocation;
|
||||
char m_OnDamaged[40];
|
||||
char m_OnFoundEnemy[40];
|
||||
char m_OnSeeEnemy[40];
|
||||
char m_OnCantSeeEnemy[40];
|
||||
char m_OnNoticePotentialEnemy[40];
|
||||
char m_OnGainEnemyLOS[40];
|
||||
char m_OnLostEnemyLOS[40];
|
||||
char m_OnLostEnemy[40];
|
||||
char m_OnFoundPlayer[40];
|
||||
char m_OnLostPlayerLOS[40];
|
||||
char m_OnLostPlayer[40];
|
||||
char m_OnHearPlayer[40];
|
||||
char m_OnHearCombat[40];
|
||||
char m_OnSleep[40];
|
||||
char m_OnWake[40];
|
||||
char m_OnStateChange[40];
|
||||
char m_OnFailedToPath[40];
|
||||
char m_OnEnterGoalRadius[40];
|
||||
char m_OnFinishedAssault[40];
|
||||
char m_OnSawCorpse[40];
|
||||
char m_OnGiveWeapon[40];
|
||||
char m_OnTakeWeapon[40];
|
||||
char m_OnSpecialAttack[40];
|
||||
char m_OnScheduleChange[40];
|
||||
char m_OnSyncedMeleeBegin[40];
|
||||
char m_queuedOutput[32];
|
||||
char m_pInitializedPhysicsObject[8];
|
||||
bool m_fIsUsingSmallHull;
|
||||
bool m_bHadMovingGround;
|
||||
bool m_bCheckContacts;
|
||||
bool m_bAllowShoot;
|
||||
bool m_bActiveForSmartAmmo;
|
||||
bool m_bEnemyValidSmartAmmoTarget;
|
||||
bool m_bAllowBlockBullets;
|
||||
bool m_blockingBullets;
|
||||
int m_reactingSurprisedReason;
|
||||
bool m_desireCrouch;
|
||||
bool m_isCrouching;
|
||||
bool m_bAutoMovementBlocked;
|
||||
bool m_bAllowPushDuringAnim;
|
||||
float m_desireStandOverrideExpireTime;
|
||||
char gap_6404[4];
|
||||
char m_schedSelectorHistory[40];
|
||||
int m_behaviorSelectorID;
|
||||
char gap_6434[4];
|
||||
const char* m_failText;
|
||||
const char* m_interruptText;
|
||||
CAI_Schedule* m_failedSchedule;
|
||||
CAI_Schedule* m_interuptSchedule;
|
||||
string_t m_debugSchedSelectorName;
|
||||
float m_lastTaskTextMsgTime;
|
||||
float m_flAccuracyMultiplier;
|
||||
float m_flAccuracyMultiplierForEnemy;
|
||||
float m_LastMissFastPlayerTime;
|
||||
float m_LastSuppressionTime;
|
||||
float m_LastShootAccuracy;
|
||||
int m_TotalShots;
|
||||
int m_TotalHits;
|
||||
float m_flSoundWaitTime;
|
||||
int m_nSoundPriority;
|
||||
float m_lastTauntTime;
|
||||
float m_freezeTime;
|
||||
float m_freezeCycle;
|
||||
float m_freezePlaybackRate;
|
||||
int m_prevShieldHealth;
|
||||
int m_healthEvalMultiplier;
|
||||
float m_aiMovementSpeed;
|
||||
bool m_aiSprinting;
|
||||
char gap_64a5[3];
|
||||
int m_aiNetworkFlags;
|
||||
bool m_isHologram;
|
||||
char gap_64ad[3];
|
||||
int m_fireteamSlotIndex;
|
||||
char gap_64b4[4];
|
||||
StatusEffectTimedData m_statusEffectsTimedNPCNV;
|
||||
char gap_64d0[48];
|
||||
StatusEffectEndlessData m_statusEffectsEndlessNPCNV;
|
||||
char gap_6510[80];
|
||||
char m_title[32];
|
||||
bool m_tethered;
|
||||
char gap_6581[3];
|
||||
Quaternion m_localGravityRotation;
|
||||
matrix3x4_t m_localGravityToWorldTransform;
|
||||
int m_nAITraceMask;
|
||||
float m_flBoostSpeed;
|
||||
float m_blockPeriodStartTime;
|
||||
int m_blockBulletCount;
|
||||
float m_dodgePeriodStartTime;
|
||||
float m_lastDodgeTime;
|
||||
int m_dodgeCount;
|
||||
int m_dodgeProjectile;
|
||||
Vector3D m_dodgeFromPos;
|
||||
char m_dangerousArea[8];
|
||||
float m_dangerousAreaDebounceExpireTime;
|
||||
bool m_fallingState;
|
||||
bool m_grappled;
|
||||
bool m_grappleEndFloating;
|
||||
char gap_65ff[1];
|
||||
int m_grappleRestoreMoveType;
|
||||
char gap_6604[4];
|
||||
char m_threadRandom[64];
|
||||
};
|
||||
|
||||
static_assert(sizeof(CAI_BaseNPC) == 0x6648);
|
||||
|
||||
#endif // AI_BASENPC_H
|
16
src/game/server/ai_battlelocation.h
Normal file
16
src/game/server/ai_battlelocation.h
Normal file
@ -0,0 +1,16 @@
|
||||
//=============================================================================//
|
||||
//
|
||||
// Purpose: AI Battle Location
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef AI_BATTLELOCATION_H
|
||||
#define AI_BATTLELOCATION_H
|
||||
|
||||
struct BattleLocationState
|
||||
{
|
||||
int occupiedCell;
|
||||
float searchFailedExpireTime;
|
||||
};
|
||||
static_assert(sizeof(BattleLocationState) == 8);
|
||||
|
||||
#endif // AI_BATTLELOCATION_H
|
32
src/game/server/ai_component.h
Normal file
32
src/game/server/ai_component.h
Normal file
@ -0,0 +1,32 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Base AI component
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef AI_COMPONENT_H
|
||||
#define AI_COMPONENT_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
class CAI_BaseNPC;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// CAI_Component
|
||||
//
|
||||
// Purpose: Shared functionality of all classes that assume some of the
|
||||
// responsibilities of an owner AI.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class CAI_Component
|
||||
{
|
||||
virtual void SetOuter(CAI_BaseNPC* pOuter) { m_pOuter = pOuter; }
|
||||
// todo: implement the rest
|
||||
private:
|
||||
CAI_BaseNPC* m_pOuter;
|
||||
};
|
||||
static_assert(sizeof(CAI_Component) == 16);
|
||||
|
||||
#endif // AI_COMPONENT_H
|
82
src/game/server/ai_hint.h
Normal file
82
src/game/server/ai_hint.h
Normal file
@ -0,0 +1,82 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Hint node utilities and functions.
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#ifndef AI_HINT_H
|
||||
#define AI_HINT_H
|
||||
|
||||
#include "baseentity.h"
|
||||
#include "recast/Detour/Include/DetourNavMesh.h"
|
||||
#include "ai_npcstate.h"
|
||||
|
||||
//###########################################################
|
||||
// >> HintNodeData
|
||||
//
|
||||
// This is a chunk of data that's passed to a hint node entity
|
||||
// when it's created from a CNodeEnt.
|
||||
//###########################################################
|
||||
enum HintIgnoreFacing_e
|
||||
{
|
||||
HIF_NO,
|
||||
HIF_YES,
|
||||
HIF_DEFAULT,
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Hint Data
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
struct HintNodeData
|
||||
{
|
||||
string_t strEntityName;
|
||||
Vector3D vecPosition;
|
||||
short nHintType;
|
||||
char gap_16[2];
|
||||
int nNodeID;
|
||||
char gap_1c[4];
|
||||
string_t strGroup;
|
||||
string_t iszGenericType;
|
||||
string_t iszActivityName;
|
||||
int nTargetWCNodeID;
|
||||
HintIgnoreFacing_e fIgnoreFacing;
|
||||
NPC_STATE minState;
|
||||
NPC_STATE maxState;
|
||||
int nRadius;
|
||||
|
||||
int nWCNodeID; // Node ID assigned by worldcraft (not same as engine!)
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// CAI_Hint
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class CAI_Hint : public CBaseEntity
|
||||
{
|
||||
private:
|
||||
void* __vftable;
|
||||
HintNodeData m_NodeData;
|
||||
int m_hintMovingGroundEnt;
|
||||
int m_hintGroundEnt;
|
||||
int m_hHintOwner;
|
||||
float m_flNextUseTime;
|
||||
float m_nodeFOV;
|
||||
float m_nodeFOVcos;
|
||||
Vector3D m_vecForward;
|
||||
float m_npcIdealYawAlign;
|
||||
float m_advanceFromCoverScalar;
|
||||
bool m_hintDisabled;
|
||||
char gap_b8d[1];
|
||||
short ainData;
|
||||
int shootingCoverType;
|
||||
dtPolyRef polyAttachedTo;
|
||||
CAI_Hint* hintOnSamePoly_next;
|
||||
CAI_Hint* hintOnSamePoly_prev;
|
||||
char pad[8];
|
||||
};
|
||||
static_assert(sizeof(CAI_Hint) == 0xBB0);
|
||||
|
||||
#endif // AI_HINT_H
|
134
src/game/server/ai_interest.cpp
Normal file
134
src/game/server/ai_interest.cpp
Normal file
@ -0,0 +1,134 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Hooks and classes for the support of humanoid NPCs with
|
||||
// groovy facial animation capabilities, aka, "Actors"
|
||||
//
|
||||
//=============================================================================//
|
||||
#include "baseentity.h"
|
||||
#include "ai_interest.h"
|
||||
|
||||
bool CAI_InterestTarget_t::IsThis(CBaseEntity* pThis)
|
||||
{
|
||||
return (pThis == m_hTarget);
|
||||
};
|
||||
|
||||
// TODO: requires rebuild of CBaseEntity::EyePosition
|
||||
//const Vector3D& CAI_InterestTarget_t::GetPosition(void)
|
||||
//{
|
||||
// if (m_eType == LOOKAT_ENTITY && m_hTarget != NULL)
|
||||
// {
|
||||
// m_vecPosition = m_hTarget->EyePosition();
|
||||
// }
|
||||
// return m_vecPosition;
|
||||
//};
|
||||
|
||||
bool CAI_InterestTarget_t::IsActive(void)
|
||||
{
|
||||
if (m_flEndTime < (*g_pGlobals)->m_flCurTime) return false;
|
||||
if (m_eType == LOOKAT_ENTITY && m_hTarget == NULL) return false;
|
||||
return true;
|
||||
};
|
||||
|
||||
float CAI_InterestTarget_t::Interest(void)
|
||||
{
|
||||
float t = ((*g_pGlobals)->m_flCurTime - m_flStartTime) / (m_flEndTime - m_flStartTime);
|
||||
|
||||
if (t < 0.0f || t > 1.0f)
|
||||
return 0.0f;
|
||||
|
||||
if (m_rampDuration && t < 1 - m_rampDuration)
|
||||
{
|
||||
//t = t / m_flRamp;
|
||||
t = 1.0f - ExponentialDecay(0.2f, m_rampDuration, t);
|
||||
//t = 1.0 - ExponentialDecay( 0.01, 1 - m_flRamp, t );
|
||||
}
|
||||
else if (t > 1.0f - m_rampDuration)
|
||||
{
|
||||
t = (1.0f - t) / m_rampDuration;
|
||||
t = 3.0f * t * t - 2.0f * t * t * t;
|
||||
}
|
||||
else
|
||||
{
|
||||
t = 1.0f;
|
||||
}
|
||||
// ramp
|
||||
t *= m_flInterest;
|
||||
|
||||
return t;
|
||||
}
|
||||
|
||||
void CAI_InterestTarget::Add(CBaseEntity* pTarget, float flImportance, float flDuration, float flRamp)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < Count(); i++)
|
||||
{
|
||||
CAI_InterestTarget_t& target = Element(i);
|
||||
|
||||
if (target.m_hTarget == pTarget && target.m_rampDuration == 0)
|
||||
{
|
||||
if (target.m_flStartTime == (*g_pGlobals)->m_flCurTime)
|
||||
{
|
||||
flImportance = MAX(flImportance, target.m_flInterest);
|
||||
}
|
||||
Remove(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Add(CAI_InterestTarget_t::LOOKAT_ENTITY, pTarget, Vector3D(0, 0, 0), flImportance, flDuration, flRamp);
|
||||
}
|
||||
|
||||
void CAI_InterestTarget::Add(const Vector3D& vecPosition, float flImportance, float flDuration, float flRamp)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < Count(); i++)
|
||||
{
|
||||
CAI_InterestTarget_t& target = Element(i);
|
||||
|
||||
if (target.m_vecPosition == vecPosition)
|
||||
{
|
||||
Remove(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Add(CAI_InterestTarget_t::LOOKAT_POSITION, NULL, vecPosition, flImportance, flDuration, flRamp);
|
||||
}
|
||||
|
||||
void CAI_InterestTarget::Add(CBaseEntity* pTarget, const Vector3D& vecPosition, float flImportance, float flDuration, float flRamp)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < Count(); i++)
|
||||
{
|
||||
CAI_InterestTarget_t& target = Element(i);
|
||||
|
||||
if (target.m_hTarget == pTarget)
|
||||
{
|
||||
if (target.m_flStartTime == (*g_pGlobals)->m_flCurTime)
|
||||
{
|
||||
flImportance = MAX(flImportance, target.m_flInterest);
|
||||
}
|
||||
Remove(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Add(CAI_InterestTarget_t::LOOKAT_BOTH, pTarget, vecPosition, flImportance, flDuration, flRamp);
|
||||
}
|
||||
|
||||
void CAI_InterestTarget::Add(CAI_InterestTarget_t::CAI_InterestTarget_e type, CBaseEntity* pTarget, const Vector3D& vecPosition, float flImportance, float flDuration, float flRamp)
|
||||
{
|
||||
int i = AddToTail();
|
||||
CAI_InterestTarget_t& target = Element(i);
|
||||
|
||||
target.m_eType = type;
|
||||
target.m_hTarget = pTarget;
|
||||
target.m_vecPosition = vecPosition;
|
||||
target.m_flInterest = flImportance;
|
||||
target.m_flStartTime = (*g_pGlobals)->m_flCurTime;
|
||||
target.m_flEndTime = (*g_pGlobals)->m_flCurTime + flDuration;
|
||||
target.m_rampDuration = flRamp / flDuration;
|
||||
}
|
82
src/game/server/ai_interest.h
Normal file
82
src/game/server/ai_interest.h
Normal file
@ -0,0 +1,82 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Hooks and classes for the support of humanoid NPCs with
|
||||
// groovy facial animation capabilities, aka, "Actors"
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef AI_INTEREST_H
|
||||
#define AI_INTEREST_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "tier1/utlvector.h"
|
||||
#include "game/shared/predictioncopy.h"
|
||||
|
||||
class CAI_InterestTarget_t
|
||||
{
|
||||
public:
|
||||
enum CAI_InterestTarget_e
|
||||
{
|
||||
LOOKAT_ENTITY = 0,
|
||||
LOOKAT_POSITION,
|
||||
LOOKAT_BOTH
|
||||
};
|
||||
|
||||
public:
|
||||
bool IsThis(CBaseEntity* pThis);
|
||||
//const Vector3D& GetPosition(void);
|
||||
bool IsActive(void);
|
||||
float Interest(void);
|
||||
|
||||
public:
|
||||
CAI_InterestTarget_e m_eType;
|
||||
EHANDLE m_hTarget;
|
||||
Vector3D m_vecPosition;
|
||||
float m_flStartTime;
|
||||
float m_flEndTime;
|
||||
float m_rampDuration;
|
||||
float m_flInterest;
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
};
|
||||
|
||||
static_assert(sizeof(CAI_InterestTarget_t) == 0x24);
|
||||
|
||||
|
||||
class CAI_InterestTarget : public CUtlVector<CAI_InterestTarget_t>
|
||||
{
|
||||
void Add(CBaseEntity* pTarget, float flImportance, float flDuration, float flRamp);
|
||||
void Add(const Vector3D& vecPosition, float flImportance, float flDuration, float flRamp);
|
||||
void Add(CBaseEntity* pTarget, const Vector3D& vecPosition, float flImportance, float flDuration, float flRamp);
|
||||
int Find(CBaseEntity* pTarget)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < Count(); i++)
|
||||
{
|
||||
if (pTarget == (*this)[i].m_hTarget)
|
||||
return i;
|
||||
}
|
||||
return InvalidIndex();
|
||||
}
|
||||
|
||||
void Cleanup(void)
|
||||
{
|
||||
int i;
|
||||
for (i = Count() - 1; i >= 0; i--)
|
||||
{
|
||||
if (!Element(i).IsActive())
|
||||
{
|
||||
Remove(i);
|
||||
}
|
||||
}
|
||||
};
|
||||
private:
|
||||
void Add(CAI_InterestTarget_t::CAI_InterestTarget_e type, CBaseEntity* pTarget, const Vector3D& vecPosition, float flImportance, float flDuration, float flRamp);
|
||||
};
|
||||
static_assert(sizeof(CAI_InterestTarget) == 0x20);
|
||||
|
||||
|
||||
#endif
|
38
src/game/server/ai_localnavigator.h
Normal file
38
src/game/server/ai_localnavigator.h
Normal file
@ -0,0 +1,38 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI local navigator
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#ifndef AI_LOCALNAVIGATOR_H
|
||||
#define AI_LOCALNAVIGATOR_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "game/shared/simtimer.h"
|
||||
#include "ai_component.h"
|
||||
#include "ai_movetypes.h"
|
||||
#include "ai_moveprobe.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// CAI_LocalNavigator
|
||||
//
|
||||
// Purpose: Handles all the immediate tasks of navigation, independent of
|
||||
// path. Implements steering.
|
||||
//-----------------------------------------------------------------------------
|
||||
class CAI_LocalNavigator : public CAI_Component,
|
||||
public CAI_ProxyMovementSink
|
||||
{
|
||||
bool m_bLastWasClear;
|
||||
char gap_21[7];
|
||||
AILocalMoveGoal_t m_LastMoveGoal;
|
||||
CSimpleSimTimer m_FullDirectTimer;
|
||||
char gap_104[4];
|
||||
void* m_pPlaneSolver;
|
||||
CAI_MoveProbe* m_pMoveProbe;
|
||||
};
|
||||
static_assert(sizeof(CAI_LocalNavigator) == 0x118);
|
||||
|
||||
#endif // AI_LOCALNAVIGATOR_H
|
53
src/game/server/ai_memory.h
Normal file
53
src/game/server/ai_memory.h
Normal file
@ -0,0 +1,53 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI Memory
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#ifndef AI_MEMORY_H
|
||||
#define AI_MEMORY_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "tier1/utlmap.h"
|
||||
#include "baseentity.h"
|
||||
#include "ai_component.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// AI_EnemyInfo_t
|
||||
//
|
||||
// Purpose: Stores relevant tactical information about an enemy
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
struct AI_EnemyInfo_t
|
||||
{
|
||||
// todo: reverse engineer
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// CAI_Enemies
|
||||
//
|
||||
// Purpose: Stores a set of AI_EnemyInfo_t's
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
class CAI_Enemies : public CAI_Component
|
||||
{
|
||||
public:
|
||||
typedef CUtlMap<CBaseEntity*, AI_EnemyInfo_t*, unsigned char> CMemMap;
|
||||
|
||||
private:
|
||||
int m_playerEnemyClass;
|
||||
char gap_14[4];
|
||||
CMemMap m_Map;
|
||||
float m_flFreeKnowledgeDuration;
|
||||
Vector3D m_vecDefaultLKP;
|
||||
Vector3D m_vecDefaultLSP;
|
||||
int m_serial;
|
||||
};
|
||||
static_assert(sizeof(CAI_Enemies) == 0x68);
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#endif // AI_MEMORY_H
|
51
src/game/server/ai_motor.h
Normal file
51
src/game/server/ai_motor.h
Normal file
@ -0,0 +1,51 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI locomotion
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#ifndef AI_MOTOR_H
|
||||
#define AI_MOTOR_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "ai_component.h"
|
||||
#include "ai_movetypes.h"
|
||||
#include "ai_moveprobe.h"
|
||||
#include "ai_interest.h"
|
||||
|
||||
#include "recast/Detour/Include/DetourNavMeshQuery.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// CAI_Motor
|
||||
//
|
||||
// Purpose: Implements the primitive locomotion of AIs.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class CAI_Motor : public CAI_Component,
|
||||
public CAI_ProxyMovementSink
|
||||
{
|
||||
Vector3D m_steerDirection;
|
||||
dtStraightPathResult m_straightPathCached;
|
||||
Vector3D m_pushedVel;
|
||||
float m_flMoveInterval;
|
||||
float m_IdealYaw;
|
||||
float m_fMoveYaw;
|
||||
Vector3D m_vecVelocity;
|
||||
Vector3D m_vecAngularVelocity;
|
||||
bool m_bMoving;
|
||||
char gap_bd[3];
|
||||
float m_moveSpeedScale;
|
||||
float m_moveSpeedScaleScript;
|
||||
int m_nDismountSequence;
|
||||
Vector3D m_vecDismount;
|
||||
CAI_InterestTarget m_facingQueue;
|
||||
CAI_MoveProbe* m_pMoveProbe;
|
||||
};
|
||||
static_assert(sizeof(CAI_Motor) == 0x100);
|
||||
|
||||
//=============================================================================//
|
||||
|
||||
#endif // AI_MOTOR_H
|
30
src/game/server/ai_moveprobe.h
Normal file
30
src/game/server/ai_moveprobe.h
Normal file
@ -0,0 +1,30 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI move probe
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef AI_MOVEPROBE_H
|
||||
#define AI_MOVEPROBE_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "ai_component.h"
|
||||
#include "game/shared/predictioncopy.h"
|
||||
|
||||
class CAI_MoveProbe : CAI_Component
|
||||
{
|
||||
bool m_bIgnoreTransientEntities;
|
||||
char gap_11[3];
|
||||
Vector3D m_vecFloorPoint;
|
||||
float m_floorPointTime;
|
||||
bool m_floorPointStandable;
|
||||
char gap_25[3];
|
||||
EHANDLE m_hLastProbeBlockingEnt;
|
||||
};
|
||||
static_assert(sizeof(CAI_MoveProbe) == 0x30);
|
||||
|
||||
#endif // AI_MOVEPROBE_H
|
21
src/game/server/ai_moveshoot.h
Normal file
21
src/game/server/ai_moveshoot.h
Normal file
@ -0,0 +1,21 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Squad classes
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef AI_MOVESHOOT_H
|
||||
#define AI_MOVESHOOT_H
|
||||
|
||||
#include "ai_component.h"
|
||||
|
||||
struct CAI_MoveAndShootOverlay : public CAI_Component
|
||||
{
|
||||
int m_forcedMovement;
|
||||
float m_forcedMovementExpireTime;
|
||||
bool m_isMovingAndShooting;
|
||||
bool m_disableMoveAndShoot;
|
||||
};
|
||||
static_assert(sizeof(CAI_MoveAndShootOverlay) == 0x20);
|
||||
|
||||
#endif // AI_MOVESHOOT_H
|
134
src/game/server/ai_movetypes.h
Normal file
134
src/game/server/ai_movetypes.h
Normal file
@ -0,0 +1,134 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI move types
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#ifndef AI_MOVETYPES_H
|
||||
#define AI_MOVETYPES_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "ai_navtypes.h"
|
||||
|
||||
class CAI_Path;
|
||||
|
||||
//-------------------------------------
|
||||
|
||||
struct MovementTurn
|
||||
{
|
||||
int turnAct;
|
||||
int sequence;
|
||||
float forwardDistance;
|
||||
float perpendicularDistance;
|
||||
float forwardMoveAdjust;
|
||||
};
|
||||
static_assert(sizeof(MovementTurn) == 0x14);
|
||||
|
||||
//-------------------------------------
|
||||
|
||||
enum AIMoveResult_t
|
||||
{
|
||||
AIMR_BLOCKED_ENTITY = -1, // Move was blocked by an entity
|
||||
AIMR_BLOCKED_WORLD = -2, // Move was blocked by the world
|
||||
AIMR_BLOCKED_NPC = -3, // Move was blocked by an NPC
|
||||
AIMR_ILLEGAL = -4, // Move is illegal for some reason
|
||||
|
||||
AIMR_OK = 0,
|
||||
|
||||
AIMR_CHANGE_TYPE, // Locomotion method has changed
|
||||
};
|
||||
|
||||
//-------------------------------------
|
||||
|
||||
struct AIMoveTrace_t
|
||||
{
|
||||
AIMoveResult_t fStatus; // See AIMoveResult_t
|
||||
Vector3D vEndPosition; // The last point that could be moved to
|
||||
Vector3D vHitNormal; // The normal of a hit, if any. vec3_origin if none. Can be none even if "hit"
|
||||
CBaseEntity* pObstruction; // The obstruction I bumped into (if any)
|
||||
float flTotalDist;
|
||||
float flDistObstructed;
|
||||
Vector3D vJumpVelocity;
|
||||
float flStepUpDistance;
|
||||
};
|
||||
static_assert(sizeof(AIMoveTrace_t) == 0x40);
|
||||
|
||||
//-------------------------------------
|
||||
|
||||
struct AILocalMoveGoal_t
|
||||
{
|
||||
// Object of the goal
|
||||
Vector3D target;
|
||||
|
||||
// The actual move. Note these need not always agree with "target"
|
||||
Vector3D dir;
|
||||
Vector3D facing;
|
||||
float speed;
|
||||
|
||||
// The distance maximum distance intended to travel in path length
|
||||
float maxDist;
|
||||
|
||||
// The distance expected to move this think
|
||||
float curExpectedDist;
|
||||
|
||||
Navigation_e navType;
|
||||
CBaseEntity* pMoveTarget;
|
||||
|
||||
unsigned int flags;
|
||||
|
||||
// The path from which this goal was derived
|
||||
CAI_Path* pPath;
|
||||
|
||||
// The result if a forward probing trace has been done
|
||||
bool bHasTraced;
|
||||
AIMoveTrace_t directTrace;
|
||||
AIMoveTrace_t thinkTrace;
|
||||
};
|
||||
static_assert(sizeof(AILocalMoveGoal_t) == 0xD8);
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: The set of callbacks used by lower-level movement classes to
|
||||
// notify and receive guidance from higher level-classes
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
abstract_class IAI_MovementSink
|
||||
{
|
||||
public: // TODO: reverse engineer interface.
|
||||
//---------------------------------
|
||||
//
|
||||
// Queries
|
||||
//
|
||||
virtual float CalcYawSpeed( void ) = 0;
|
||||
};
|
||||
|
||||
class CAI_DefMovementSink : public IAI_MovementSink
|
||||
{
|
||||
//---------------------------------
|
||||
//
|
||||
// Queries
|
||||
//
|
||||
virtual float CalcYawSpeed(void) { return -1.0; } // might be incorrect!
|
||||
};
|
||||
|
||||
class CAI_ProxyMovementSink : public CAI_DefMovementSink
|
||||
{
|
||||
public:
|
||||
CAI_ProxyMovementSink()
|
||||
: m_pProxied(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
//---------------------------------
|
||||
|
||||
void Init(IAI_MovementSink* pMovementServices) { m_pProxied = pMovementServices; }
|
||||
|
||||
private:
|
||||
IAI_MovementSink* m_pProxied;
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
|
||||
#endif // AI_MOVETYPES_H
|
108
src/game/server/ai_navigator.h
Normal file
108
src/game/server/ai_navigator.h
Normal file
@ -0,0 +1,108 @@
|
||||
//=============================================================================//
|
||||
//
|
||||
// Purpose: AI navigator
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef AI_NAVIGATOR_H
|
||||
#define AI_NAVIGATOR_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "game/shared/predictioncopy.h"
|
||||
#include "game/shared/simtimer.h"
|
||||
#include "ai_localnavigator.h"
|
||||
#include "ai_moveprobe.h"
|
||||
#include "ai_movetypes.h"
|
||||
#include "ai_component.h"
|
||||
#include "ai_network.h"
|
||||
#include "ai_route.h"
|
||||
|
||||
struct ParticleContext // todo: move elsewhere
|
||||
{
|
||||
Vector3D m_curPos;
|
||||
Vector3D m_curVel;
|
||||
CSimpleSimTimer m_totalSimTime;
|
||||
int m_flags;
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// CAI_Navigator
|
||||
//
|
||||
// Purpose: Implements pathing and path navigation logic
|
||||
//-----------------------------------------------------------------------------
|
||||
class CAI_Navigator : public CAI_Component,
|
||||
public CAI_DefMovementSink
|
||||
{
|
||||
typedef CAI_Component BaseClass;
|
||||
private:
|
||||
Navigation_e m_navType;
|
||||
bool m_fNavComplete;
|
||||
bool m_bLastNavFailed;
|
||||
char gap_1e[2];
|
||||
CAI_Motor* m_pMotor;
|
||||
CAI_MoveProbe* m_pMoveProbe;
|
||||
CAI_LocalNavigator* m_pLocalNavigator;
|
||||
CAI_Network* m_pAINetwork;
|
||||
CAI_Path* m_pPath;
|
||||
char m_utilityPath[32];
|
||||
CAI_WaypointList* m_pClippedWaypoints;
|
||||
float m_flTimeClipped;
|
||||
int m_PreviousMoveActivity;
|
||||
int m_PreviousArrivalActivity;
|
||||
int m_moveTransitionAnim;
|
||||
ParticleContext m_particleContext;
|
||||
Vector3D m_wallRunSurfacePos;
|
||||
Vector3D m_wallRunMoveDir;
|
||||
unsigned short m_wallRunHintIdx; // The wallrun hint index of the navmesh.
|
||||
unsigned short m_wallRunTriangle;
|
||||
bool m_bValidateActivitySpeed;
|
||||
bool m_bCalledStartMove;
|
||||
bool m_bAdjustMoveSpeedToSquad;
|
||||
bool m_bForcedSimplify;
|
||||
float m_flNextSimplifyTime;
|
||||
float m_flLastSuccessfulSimplifyTime;
|
||||
float m_flTimeLastAvoidanceTriangulate;
|
||||
float m_timePathRebuildMax;
|
||||
float m_timePathRebuildDelay;
|
||||
float m_timePathRebuildFail;
|
||||
float m_timePathRebuildNext;
|
||||
int m_prevPathCorner;
|
||||
int m_nextPathCorner;
|
||||
bool m_savePathCornerOnScheduleChange;
|
||||
bool m_pathCornerDirectionForward;
|
||||
bool m_fRememberStaleNodes;
|
||||
bool m_bNoPathcornerPathfinds;
|
||||
float m_checkClusterDangerAtTime;
|
||||
bool m_bHadPath;
|
||||
bool m_bAnimWasMoving;
|
||||
bool m_setConditionPathInvolvesDangerousCluster;
|
||||
bool m_bProbeHitPhysicsObject;
|
||||
bool m_bPathBlockedByPhysicsObject;
|
||||
bool m_bPathBlockedByNPC;
|
||||
bool m_bProbeHitNPC;
|
||||
bool m_fPeerMoveWait;
|
||||
EHANDLE m_hPeerWaitingOn;
|
||||
CSimTimer m_PeerWaitMoveTimer;
|
||||
CSimTimer m_PeerWaitClearTimer;
|
||||
CSimTimer m_NextSidestepTimer;
|
||||
EHANDLE m_hBigStepGroundEnt;
|
||||
EHANDLE m_hLastBlockingEnt;
|
||||
EHANDLE m_hAvoidEnt;
|
||||
float m_avoidDistSqr;
|
||||
Vector3D m_vPosBeginFailedSteer;
|
||||
float m_timeBeginFailedSteer;
|
||||
float m_traverseRefYaw;
|
||||
Vector3D m_traverseRefPos;
|
||||
Vector3D m_traversePlantPos;
|
||||
int m_nNavFailCounter;
|
||||
float m_flLastNavFailTime;
|
||||
float m_flLastPathFindTime;
|
||||
int m_moveFlags;
|
||||
};
|
||||
|
||||
static_assert(sizeof(CAI_Navigator) == 0x160);
|
||||
|
||||
#endif // AI_NAVIGATOR_H
|
23
src/game/server/ai_navtypes.h
Normal file
23
src/game/server/ai_navtypes.h
Normal file
@ -0,0 +1,23 @@
|
||||
//=============================================================================//
|
||||
//
|
||||
// Purpose: AI navigation types
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef AI_NAVTYPES_H
|
||||
#define AI_NAVTYPES_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// ---------------------------
|
||||
// Navigation Type
|
||||
// ---------------------------
|
||||
enum Navigation_e
|
||||
{
|
||||
NAV_NONE = -1, // error condition
|
||||
// TODO: reverse engineer
|
||||
};
|
||||
|
||||
#endif // AI_NAVTYPES_H
|
31
src/game/server/ai_npcstate.h
Normal file
31
src/game/server/ai_npcstate.h
Normal file
@ -0,0 +1,31 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef AI_NPCSTATE_H
|
||||
#define AI_NPCSTATE_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
enum NPC_STATE
|
||||
{
|
||||
NPC_STATE_INVALID = -1,
|
||||
NPC_STATE_NONE = 0,
|
||||
NPC_STATE_IDLE,
|
||||
|
||||
// TODO: verify the rest for R5!
|
||||
//NPC_STATE_ALERT,
|
||||
//NPC_STATE_COMBAT,
|
||||
//NPC_STATE_SCRIPT,
|
||||
//NPC_STATE_PLAYDEAD,
|
||||
//NPC_STATE_PRONE, // When in clutches of barnacle
|
||||
//NPC_STATE_DEAD
|
||||
|
||||
};
|
||||
|
||||
#endif // AI_NPCSTATE_H
|
54
src/game/server/ai_pathfinder.h
Normal file
54
src/game/server/ai_pathfinder.h
Normal file
@ -0,0 +1,54 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI Pathfinder
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#ifndef AI_PATHFINDER_H
|
||||
#define AI_PATHFINDER_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "tier1/utlvector.h"
|
||||
#include "engine/debugoverlay.h"
|
||||
|
||||
#include "ai_component.h"
|
||||
#include "ai_navtypes.h"
|
||||
#include "ai_network.h"
|
||||
|
||||
#include "recast/Detour/Include/DetourNavMeshQuery.h"
|
||||
|
||||
struct CTriDebugOverlay
|
||||
{
|
||||
OverlayLine_t** m_debugTriOverlayLine;
|
||||
};
|
||||
|
||||
struct CAI_Pathfinder : public CAI_Component
|
||||
{
|
||||
CTriDebugOverlay m_TriDebugOverlay;
|
||||
float m_flLimitDistFactor;
|
||||
float m_flLastStaleLinkCheckTime;
|
||||
char m_bIgnoreStaleLinks;
|
||||
char gap_21[7];
|
||||
CAI_Network* m_pNetwork;
|
||||
dtNavMeshQuery m_navQuery;
|
||||
dtQueryFilter m_navFilter;
|
||||
bool m_useClusterExclusions;
|
||||
char gap_119[3];
|
||||
float m_clusterPathMaxDetourBase;
|
||||
float m_clusterPathMaxDetourMultiplier;
|
||||
char gap_124[4];
|
||||
CUtlVector<CAI_Cluster*> m_excludedClusterNodes; // TODO: verify template type!
|
||||
CUtlVector<CAI_ClusterLink*> m_excludedClusterLinks; // TODO: verify template type!
|
||||
void* m_pClusterPath;
|
||||
void* m_pClusterNoExclusionPath;
|
||||
int m_buildFlags;
|
||||
int m_failReason;
|
||||
};
|
||||
static_assert(sizeof(CAI_Pathfinder) == 0x180);
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#endif // AI_PATHFINDER_H
|
60
src/game/server/ai_route.h
Normal file
60
src/game/server/ai_route.h
Normal file
@ -0,0 +1,60 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI route
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#ifndef AI_ROUTE_H
|
||||
#define AI_ROUTE_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "ai_component.h"
|
||||
#include "ai_movetypes.h"
|
||||
#include "ai_waypoint.h"
|
||||
|
||||
class CAI_Path : public CAI_Component
|
||||
{
|
||||
public:
|
||||
CAI_WaypointList m_Waypoints;
|
||||
char m_clusterPath[32];
|
||||
char m_clusterPathNoExclusions[32];
|
||||
float m_goalTolerance;
|
||||
int m_activity;
|
||||
int m_sequence;
|
||||
int m_scriptMoveSequence;
|
||||
int m_target;
|
||||
float m_waypointTolerance;
|
||||
bool m_movementTurnsAreValid;
|
||||
char gap_71[3];
|
||||
MovementTurn m_leftTurn;
|
||||
MovementTurn m_rightTurn;
|
||||
int m_arrivalActivity;
|
||||
int m_arrivalSequence;
|
||||
int m_animArrivalAct;
|
||||
int m_animArrivalSequence;
|
||||
float m_animArrivalDist;
|
||||
float m_animArrivalYaw;
|
||||
float m_animArrivalYawOffset;
|
||||
Vector3D m_animArrivalIdealStartPosition;
|
||||
int m_animArrivalFlags;
|
||||
bool m_animArrivalFail;
|
||||
char gap_c9[3];
|
||||
int m_iLastNodeReached;
|
||||
int m_goalNode;
|
||||
int m_startGroundEnt;
|
||||
int m_goalGroundEnt;
|
||||
bool m_bUsedSquadCachedPath;
|
||||
char gap_dd[3];
|
||||
Vector3D m_goalPos;
|
||||
Vector3D m_goalPos_worldSpaceCached;
|
||||
int m_goalType;
|
||||
int m_goalFlags;
|
||||
float m_routeStartTime;
|
||||
float m_goalStoppingDistance;
|
||||
};
|
||||
static_assert(sizeof(CAI_Path) == 0x108);
|
||||
|
||||
#endif // AI_ROUTE_H
|
6
src/game/server/ai_schedule.cpp
Normal file
6
src/game/server/ai_schedule.cpp
Normal file
@ -0,0 +1,6 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI task scheduler
|
||||
//
|
||||
//=============================================================================//
|
||||
#include "ai_schedule.h"
|
18
src/game/server/ai_schedule.h
Normal file
18
src/game/server/ai_schedule.h
Normal file
@ -0,0 +1,18 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI task scheduler
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef AI_SCHEDULE_H
|
||||
#define AI_SCHEDULE_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
class CAI_Schedule
|
||||
{
|
||||
// todo: reverse engineer.
|
||||
};
|
||||
|
||||
#endif // AI_SCHEDULE_H
|
64
src/game/server/ai_senses.h
Normal file
64
src/game/server/ai_senses.h
Normal file
@ -0,0 +1,64 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Base AI component
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef AI_SENSES_H
|
||||
#define AI_SENSES_H
|
||||
|
||||
#include "tier0/threadtools.h"
|
||||
#include "tier1/utlvector.h"
|
||||
#include "tier1/utlmap.h"
|
||||
//#include "simtimer.h"
|
||||
#include "ai_component.h"
|
||||
#include "soundent.h"
|
||||
|
||||
#include "game/shared/predictioncopy.h"
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// class CAI_Senses
|
||||
//
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class CAI_Senses : public CAI_Component
|
||||
{
|
||||
int m_seenEnemiesCount;
|
||||
int m_ClosestHighPriority;
|
||||
int m_ClosestEnemyNPC;
|
||||
float m_lookDistOverride;
|
||||
float m_LastLookDist;
|
||||
float m_TimeLastLook;
|
||||
float m_hearingSensitivity;
|
||||
int m_iAudibleList; // first index of a linked list of sounds that the npc can hear.
|
||||
char m_NextAudibleSound[1024];
|
||||
CSound m_reactToSound;
|
||||
CUtlVector<EHANDLE> m_sightProgress;
|
||||
CUtlVector<EHANDLE> m_SeenHighPriority;
|
||||
CUtlVector<EHANDLE> m_SeenNPCs;
|
||||
CUtlVector<EHANDLE> m_SeenMisc;
|
||||
CUtlVector<EHANDLE> m_TeamSpotted;
|
||||
int m_SeenCorpseIndex;
|
||||
bool m_bGatheringSeenEntities;
|
||||
char gap_4fd[3];
|
||||
int m_currentSeenArray;
|
||||
char gap_504[4];
|
||||
CUtlVector<EHANDLE>* m_SeenArrays[3];
|
||||
float m_TimeLastLookHighPriority;
|
||||
float m_TimeLastLookNPCs;
|
||||
float m_TimeLastLookMisc;
|
||||
float m_TimeLastLookCorpse;
|
||||
int m_iSensingFlags;
|
||||
char gap_534[4];
|
||||
CThreadMutex m_mutex;
|
||||
char gap560[1560];
|
||||
};
|
||||
static_assert(sizeof(CAI_Senses) == 0xB78);
|
||||
|
||||
#endif // AI_SENSES_H
|
46
src/game/server/ai_shootcover.h
Normal file
46
src/game/server/ai_shootcover.h
Normal file
@ -0,0 +1,46 @@
|
||||
//=============================================================================//
|
||||
//
|
||||
// Purpose: AI Shoot & Cover
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef AI_SHOOTCOVER_H
|
||||
#define AI_SHOOTCOVER_H
|
||||
|
||||
#include "ai_hint.h"
|
||||
|
||||
struct RecentlyUsedCover
|
||||
{
|
||||
CAI_Hint* hint;
|
||||
float nextUseTime;
|
||||
};
|
||||
|
||||
|
||||
struct ShootingCoverState
|
||||
{
|
||||
CAI_Hint* lockedHint;
|
||||
int advancesLeftFromLockedHint;
|
||||
int burstCount;
|
||||
float burstStartTime;
|
||||
bool burstCompletedSuccessfully;
|
||||
bool burstUsingLeanAnims;
|
||||
char gap_16[2];
|
||||
float nextMoveToCoverRetryTime;
|
||||
float hasApproxLOSToEnemy_expireTime;
|
||||
float hasApproxLOSToEnemy_checkTime;
|
||||
char gap_24[4];
|
||||
RecentlyUsedCover recentlyUsedCover;
|
||||
char gap_38[64];
|
||||
int recentlyUsedCoverNewestIdx;
|
||||
int consecutiveIdleSchedCount;
|
||||
int numberOfIdlesBeforeSchedCheck;
|
||||
float onPathToShootingCoverFail_retryTime;
|
||||
float onTooCloseForCover_expireTime;
|
||||
float disregardAlternateThreat_expireTime;
|
||||
bool alternateThreatInUse;
|
||||
char gap_91[3];
|
||||
Vector3D alternateThreatPos;
|
||||
int alternateThreatState;
|
||||
};
|
||||
static_assert(sizeof(ShootingCoverState) == 0xA8);
|
||||
|
||||
#endif // AI_SHOOTCOVER_H
|
65
src/game/server/ai_squad.h
Normal file
65
src/game/server/ai_squad.h
Normal file
@ -0,0 +1,65 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Squad classes
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef AI_SQUAD_H
|
||||
#define AI_SQUAD_H
|
||||
|
||||
#include "mathlib/bitvec.h"
|
||||
#include "tier1/string_t.h"
|
||||
#include "game/shared/predictioncopy.h"
|
||||
|
||||
struct SquadSlotTimer
|
||||
{
|
||||
int slot;
|
||||
float endTime;
|
||||
};
|
||||
|
||||
struct AISquadEnemyInfo_t
|
||||
{
|
||||
// todo: reverse engineer and verify this!
|
||||
//EHANDLE hEnemy;
|
||||
//CBitVec<MAX_SQUADSLOTS> slots; // What squad slots are filled?
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
};
|
||||
|
||||
class CAI_Squad
|
||||
{
|
||||
private:
|
||||
CAI_Squad* m_pNextSquad;
|
||||
string_t m_Name;
|
||||
char m_SquadMembers[72];
|
||||
char m_membersSorted[72];
|
||||
Vector3D m_memberSortPos;
|
||||
float m_memberSortTime;
|
||||
float m_useShortestPathThresholdSqr;
|
||||
float m_useShortestPathPercent;
|
||||
float m_flSquadSoundWaitTime;
|
||||
int m_nSquadSoundPriority;
|
||||
int m_hSquadInflictor;
|
||||
int m_squadEnemy;
|
||||
float m_squadEnemyUpdateTime;
|
||||
float m_squadEnemySeeTime;
|
||||
Vector3D m_investigatePos;
|
||||
Vector3D m_centroid;
|
||||
float m_centroidTime;
|
||||
Vector3D m_attackPathAssignPos;
|
||||
int m_attackPathAssignCluster;
|
||||
float m_nextThinkTime;
|
||||
SquadSlotTimer m_slotTimers[2];
|
||||
char gap_108[8];
|
||||
float m_squadHealthInteruptThreshold;
|
||||
int m_squadModifierFlags;
|
||||
char m_mutex[40];
|
||||
AISquadEnemyInfo_t* m_pLastFoundEnemyInfo;
|
||||
char m_EnemyInfos[32];
|
||||
float m_flEnemyInfoCleanupTime;
|
||||
float m_squadMemberDeathTime;
|
||||
char m_squadPathData[16];
|
||||
int m_squadMode;
|
||||
};
|
||||
static_assert(sizeof(CAI_Squad) == 0x190);
|
||||
|
||||
#endif // AI_SQUAD_H
|
24
src/game/server/ai_syncedmelee.h
Normal file
24
src/game/server/ai_syncedmelee.h
Normal file
@ -0,0 +1,24 @@
|
||||
//=============================================================================//
|
||||
//
|
||||
// Purpose: AI Synced Melee
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef AI_SYNCEDMELEE_H
|
||||
#define AI_SYNCEDMELEE_H
|
||||
|
||||
struct AISyncedMeleeState
|
||||
{
|
||||
const char* desiredMelee;
|
||||
float additionalYaw;
|
||||
int meleePartner;
|
||||
bool ragdollOnInterrupt;
|
||||
bool continueAnimToFinish;
|
||||
char gap_12[6];
|
||||
char debouncedMelees[48];
|
||||
float pressToInitiate_debounceExpireTime;
|
||||
Vector3D pressToInitiate_pos;
|
||||
float pressToInitiate_dist;
|
||||
};
|
||||
static_assert(sizeof(AISyncedMeleeState) == 0x60);
|
||||
|
||||
#endif // AI_SYNCEDMELEE_H
|
32
src/game/server/ai_tacticalservices.h
Normal file
32
src/game/server/ai_tacticalservices.h
Normal file
@ -0,0 +1,32 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI Tactical Services
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef AI_TACTICALSERVICES_H
|
||||
#define AI_TACTICALSERVICES_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "ai_component.h"
|
||||
|
||||
class CAI_TacticalServices : public CAI_Component
|
||||
{
|
||||
private:
|
||||
int m_LOSSearchDataIndex;
|
||||
int m_strafeActivity;
|
||||
bool m_firstIterationOfFindLos;
|
||||
char gap_19[7];
|
||||
CAI_Network* m_pNetwork;
|
||||
CAI_Pathfinder* m_pPathfinder;
|
||||
bool m_prevLOSCheckSuccess;
|
||||
char gap_31[3];
|
||||
float m_prevLOSCheckTime;
|
||||
Vector3D m_prevThreatPos;
|
||||
Vector3D m_prevSearchPos;
|
||||
};
|
||||
static_assert(sizeof(CAI_TacticalServices) == 0x50);
|
||||
|
||||
#endif // AI_TACTICALSERVICES_H
|
282
src/game/server/ai_task.h
Normal file
282
src/game/server/ai_task.h
Normal file
@ -0,0 +1,282 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: Sets up the tasks for default AI.
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#ifndef AI_TASK_H
|
||||
#define AI_TASK_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// Codes are either one of the enumerated types below, or a string (similar to Windows resource IDs)
|
||||
typedef intp AI_TaskFailureCode_t;
|
||||
|
||||
//=========================================================
|
||||
// These are th efailure codes
|
||||
//=========================================================
|
||||
enum AI_BaseTaskFailureCodes_t
|
||||
{
|
||||
NO_TASK_FAILURE,
|
||||
FAIL_NO_TARGET,
|
||||
FAIL_WEAPON_OWNED,
|
||||
FAIL_ITEM_NO_FIND,
|
||||
FAIL_NO_HINT_NODE,
|
||||
FAIL_SCHEDULE_NOT_FOUND,
|
||||
FAIL_NO_ENEMY,
|
||||
FAIL_NO_NEAR_NODE,
|
||||
FAIL_NO_BACKAWAY_NODE,
|
||||
FAIL_NO_COVER,
|
||||
FAIL_NO_FLANK,
|
||||
FAIL_NO_SHOOT,
|
||||
FAIL_NO_ROUTE,
|
||||
FAIL_NO_ROUTE_GOAL,
|
||||
FAIL_NO_ROUTE_BLOCKED,
|
||||
FAIL_NO_ROUTE_ILLEGAL,
|
||||
FAIL_NO_WALK,
|
||||
FAIL_NO_LOS,
|
||||
FAIL_ALREADY_LOCKED,
|
||||
FAIL_NO_SOUND,
|
||||
FAIL_BAD_ACTIVITY,
|
||||
FAIL_NO_GOAL,
|
||||
FAIL_NO_PLAYER,
|
||||
FAIL_NO_REACHABLE_NODE,
|
||||
FAIL_NO_AI_NETWORK,
|
||||
FAIL_NO_START_POSITION,
|
||||
FAIL_BAD_POSITION,
|
||||
FAIL_BAD_PATH_GOAL,
|
||||
FAIL_STUCK_ONTOP,
|
||||
FAIL_ITEM_TAKEN,
|
||||
FAIL_FROZEN,
|
||||
FAIL_ANIMATION_BLOCKED,
|
||||
FAIL_TIMEOUT,
|
||||
FAIL_DETOUR_SPECIFIC,
|
||||
|
||||
NUM_FAIL_CODES,
|
||||
};
|
||||
|
||||
inline bool IsPathTaskFailure(AI_TaskFailureCode_t code)
|
||||
{
|
||||
return (code >= FAIL_NO_ROUTE && code <= FAIL_NO_ROUTE_ILLEGAL);
|
||||
}
|
||||
|
||||
const char* TaskFailureToString(AI_TaskFailureCode_t code);
|
||||
inline intp MakeFailCode(const char* const pszGeneralError) { return (intp)pszGeneralError; }
|
||||
|
||||
enum TaskStatus_e
|
||||
{
|
||||
TASKSTATUS_NEW = 0, // Just started
|
||||
TASKSTATUS_RUN_MOVE_AND_TASK = 1, // Running task & movement
|
||||
TASKSTATUS_RUN_MOVE = 2, // Just running movement
|
||||
TASKSTATUS_RUN_TASK = 3, // Just running task
|
||||
TASKSTATUS_COMPLETE = 4, // Completed, get next task
|
||||
};
|
||||
|
||||
//=========================================================
|
||||
// These are the shared tasks
|
||||
//=========================================================
|
||||
enum sharedtasks_e
|
||||
{
|
||||
TASK_INVALID = 0,
|
||||
|
||||
// Forces the activity to reset.
|
||||
TASK_RESET_ACTIVITY,
|
||||
|
||||
// Waits for the specified number of seconds.
|
||||
TASK_WAIT,
|
||||
|
||||
// Make announce attack sound
|
||||
TASK_ANNOUNCE_ATTACK,
|
||||
|
||||
// Waits for the specified number of seconds. Will constantly turn to
|
||||
// face the enemy while waiting.
|
||||
TASK_WAIT_WHILE_FACING_ENEMY,
|
||||
|
||||
// Wait until the player enters the same PVS as this character.
|
||||
TASK_WAIT_PVS,
|
||||
TASK_NOTIFY_ENEMY_ELUDED,
|
||||
TASK_MOVE_AWAY_PATH,
|
||||
|
||||
TASK_SET_PATH_CLUSTER_EXCLUDE,
|
||||
|
||||
TASK_GET_PATH_AWAY_FROM_BEST_SOUND,
|
||||
TASK_GET_PATH_TO_ENEMY,
|
||||
TASK_GET_PATH_TO_ENEMY_LKP,
|
||||
TASK_GET_PATH_TO_ENEMY_LKP_LOS,
|
||||
TASK_GET_PATH_TO_ENEMY_CORPSE,
|
||||
TASK_GET_PATH_TO_SQUAD_LEADER_GOAL,
|
||||
TASK_GET_PATH_TO_SQUAD_ASSIGNED_NODE,
|
||||
TASK_GET_PATH_TO_RANGE_ENEMY_LKP_LOS,
|
||||
TASK_GET_PATH_OFF_OF_NPC,
|
||||
TASK_GET_PATH_TO_HINTNODE,
|
||||
TASK_GET_PATH_TO_NEXT_SEARCH_POINT,
|
||||
TASK_GET_PATH_TO_INITIATE_SYNCED_MELEE,
|
||||
|
||||
TASK_GET_RUNAWAY_PATH_FROM_ENEMY,
|
||||
TASK_RESERVE_NEXT_SEARCH_POINT,
|
||||
TASK_INIT_SEARCH_PATH,
|
||||
TASK_STORE_POSITION_IN_SAVEPOSITION,
|
||||
TASK_STORE_BESTSOUND_IN_SAVEPOSITION,
|
||||
TASK_STORE_BESTSOUND_REACTORIGIN_IN_SAVEPOSITION,
|
||||
TASK_STORE_ENEMY_POSITION_IN_SAVEPOSITION,
|
||||
TASK_STORE_CORPSE_POSITION_IN_SAVEPOSITION,
|
||||
|
||||
TASK_UNUSED_29,
|
||||
TASK_UNUSED_30,
|
||||
TASK_UNUSED_31,
|
||||
|
||||
TASK_GET_PATH_TO_SAVEPOSITION,
|
||||
TASK_GET_PATH_TO_SAVEPOSITION_LOS,
|
||||
TASK_GET_PATH_TO_RANDOM_NODE,
|
||||
TASK_GET_PATH_TO_BESTSOUND,
|
||||
|
||||
TASK_MOVE_PATH,
|
||||
TASK_SPRINT_PATH,
|
||||
TASK_SPRINT_RUNAWAY_PATH,
|
||||
TASK_RUN_PATH,
|
||||
TASK_WALK_PATH,
|
||||
TASK_SPRINT_PATH_TIMED,
|
||||
TASK_STRAFE_PATH,
|
||||
TASK_CLEAR_MOVE_WAIT,
|
||||
TASK_DISABLE_ARRIVAL_ONCE,
|
||||
TASK_BIG_FLINCH,
|
||||
TASK_FACE_IDEAL,
|
||||
TASK_FACE_REASONABLE,
|
||||
TASK_FACE_PLAYER,
|
||||
TASK_FACE_ENEMY,
|
||||
TASK_FACE_ENEMY_STRICT,
|
||||
TASK_FACE_ENEMY_IF_HAS_LOS,
|
||||
TASK_SET_WEAPON_BLOCKED_TIMER,
|
||||
TASK_AIM_AT_ENEMY,
|
||||
TASK_FACE_HINTNODE,
|
||||
TASK_PLAY_HINT_ACTIVITY,
|
||||
TASK_FACE_SAVEPOSITION,
|
||||
TASK_LOOKAT_ENEMY,
|
||||
TASK_LOOKAT_SAVEPOSITION,
|
||||
TASK_SET_IDEAL_YAW_TO_CURRENT,
|
||||
|
||||
TASK_RANGE_ATTACK1,
|
||||
TASK_RANGE_ATTACK2,
|
||||
TASK_MELEE_ATTACK1,
|
||||
TASK_MELEE_CHARGE,
|
||||
TASK_MELEE_DIRECTIONAL_ATTACK,
|
||||
TASK_SPECIAL_ATTACK,
|
||||
TASK_MELEE_RAM,
|
||||
TASK_WAIT_BETWEEN_BURSTS,
|
||||
TASK_WAIT_UNTIL_ATTACK_READY,
|
||||
TASK_RANGE_ATTACK1_EVASIVE,
|
||||
TASK_RELOAD,
|
||||
TASK_SET_RUNNING_FROM_ENEMY,
|
||||
TASK_CLEAR_HINTNODE,
|
||||
TASK_LOCK_HINTNODE,
|
||||
TASK_SET_ACTIVITY,
|
||||
TASK_WAIT_FOR_ACTIVITY_TO_FINISH,
|
||||
TASK_SET_IDLE_ACTIVITY,
|
||||
TASK_RANDOMIZE_FRAMERATE,
|
||||
|
||||
TASK_SET_SCHEDULE,
|
||||
TASK_SET_FAIL_SCHEDULE,
|
||||
TASK_SET_TOLERANCE_DISTANCE,
|
||||
TASK_SET_STOP_AT_GOAL,
|
||||
TASK_SET_ROUTE_SEARCH_TIME,
|
||||
TASK_CLEAR_FAIL_SCHEDULE,
|
||||
|
||||
TASK_PLAY_SEQUENCE,
|
||||
TASK_PLAY_SEQUENCE_FACE_ENEMY,
|
||||
TASK_PLAY_REACTION_SEQUENCE,
|
||||
|
||||
TASK_FIND_COVER_FROM_BEST_SOUND,
|
||||
TASK_FIND_COVER_FROM_ENEMY,
|
||||
TASK_FIND_COVER_FROM_ENEMY_WITHIN_RADIUS,
|
||||
TASK_FIND_COVER_FROM_ENEMY_LIMITLESS,
|
||||
TASK_FIND_LATERAL_COVER_FROM_ENEMY,
|
||||
TASK_FIND_BACKAWAY_FROM_SAVEPOSITION,
|
||||
TASK_FIND_SAFE_HINT_FROM_ENEMY,
|
||||
TASK_FIND_HIGH_GROUND_NODE_FROM_ORIGIN,
|
||||
|
||||
TASK_DIE,
|
||||
|
||||
TASK_WAIT_FOR_SCRIPT_ANIM_END,
|
||||
TASK_WAIT_FOR_SYNCED_MELEE_ANIM_END,
|
||||
|
||||
TASK_UNUSED_98,
|
||||
|
||||
TASK_WAIT_RANDOM,
|
||||
TASK_WAIT_INDEFINITE,
|
||||
|
||||
TASK_STOP_MOVING,
|
||||
TASK_REMEMBER,
|
||||
TASK_FORGET,
|
||||
TASK_ARRIVAL_ANIMATION,
|
||||
TASK_SET_ADJUST_MOVE_SPEED_TO_SQUAD,
|
||||
|
||||
TASK_WAIT_FOR_MOVEMENT,
|
||||
TASK_WAIT_FOR_MOVEMENT_CHASE,
|
||||
TASK_WAIT_FOR_MOVEMENT_STEP,
|
||||
TASK_WAIT_FOR_MOVEMENT_FACE_TARGET_AT_END,
|
||||
|
||||
TASK_FALL_TO_GROUND,
|
||||
TASK_WANDER,
|
||||
TASK_GATHER_CONDITIONS,
|
||||
TASK_ADD_HEALTH,
|
||||
|
||||
TASK_UNUSED_114,
|
||||
TASK_UNUSED_115,
|
||||
|
||||
// First task of all schedules for playing back scripted sequences
|
||||
TASK_PRE_SCRIPT,
|
||||
TASK_DISPLACE_FROM_DANGEROUS_AREA,
|
||||
|
||||
TASK_DODGE,
|
||||
TASK_DODGE_PATH,
|
||||
|
||||
TASK_STRAFE_DODGE,
|
||||
TASK_STRAFE_SLIDE,
|
||||
TASK_CIRCLE_STRAFE_PATH,
|
||||
TASK_ATTACK_RUN_PATH,
|
||||
TASK_REFRESH_REACT_TO_SOUND,
|
||||
TASK_SCRIPTED_DIALOGUE,
|
||||
TASK_SET_NPC_FLAG,
|
||||
TASK_CLEAR_NPC_FLAG,
|
||||
TASK_GET_PATH_TO_THROWABLE_OBJECT,
|
||||
TASK_GET_PATH_TO_SHOOTING_COVER,
|
||||
TASK_ALIGN_WITH_SHOOTING_COVER_IDEAL_YAW,
|
||||
TASK_SET_SHOOTING_COVER_ACTIVITY,
|
||||
TASK_SET_ADVANCE_FROM_SHOOTING_COVER_ACTIVITY,
|
||||
TASK_SET_RETREAT_TO_SHOOTING_COVER_ACTIVITY,
|
||||
TASK_BEGIN_SHOOTING_COVER_BURST_FIRE,
|
||||
TASK_GET_PATH_TO_BATTLE_LOCATION,
|
||||
TASK_FACE_BLOCKING_PHYS_ENT,
|
||||
TASK_KNOCK_AWAY_PHYS_ENTS,
|
||||
TASK_BLOCK_DAMAGE,
|
||||
TASK_WAIT_FOR_BLOCK,
|
||||
TASK_CANT_FOLLOW,
|
||||
TASK_FACE_FOLLOW_TARGET,
|
||||
TASK_MOVE_TO_FOLLOW_POSITION,
|
||||
TASK_GET_PATH_TO_FOLLOW_POSITION,
|
||||
TASK_SET_FOLLOW_TARGET_MARK,
|
||||
TASK_FOLLOWER_FACE_TACTICAL,
|
||||
TASK_SET_FOLLOW_DELAY,
|
||||
TASK_GET_PATH_TO_FOLLOW_POINT,
|
||||
TASK_ARRIVE_AT_FOLLOW_POINT,
|
||||
TASK_SET_FOLLOW_POINT_STAND_SCHEDULE,
|
||||
TASK_BEGIN_STAND_AT_WAIT_POINT,
|
||||
TASK_GET_PATH_TO_ASSAULT_POINT,
|
||||
TASK_FACE_ASSAULT_POINT,
|
||||
|
||||
// ======================================
|
||||
// IMPORTANT: This must be the last enum
|
||||
// ======================================
|
||||
LAST_SHARED_TASK
|
||||
};
|
||||
|
||||
// an array of tasks is a task list
|
||||
// an array of schedules is a schedule list
|
||||
struct Task_t
|
||||
{
|
||||
int iTask;
|
||||
float flTaskData;
|
||||
};
|
||||
|
||||
#endif // AI_TASK_H
|
@ -1,6 +1,6 @@
|
||||
//=============================================================================//
|
||||
//
|
||||
// Purpose: AI system utility
|
||||
// Purpose: AI system utilities
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
|
@ -1 +1,45 @@
|
||||
#pragma once
|
||||
//=============================================================================//
|
||||
//
|
||||
// Purpose: AI system utilities
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef AI_UTILITY_H
|
||||
#define AI_UTILITY_H
|
||||
|
||||
class CAI_BaseNPC;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// CAI_ShotRegulator
|
||||
//
|
||||
// Purpose: Assists in creating non-constant bursty shooting style
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
class CAI_ShotRegulator
|
||||
{
|
||||
private:
|
||||
int m_burstIndex;
|
||||
int m_nBurstShotsRemaining;
|
||||
int m_nMinBurstShots;
|
||||
int m_nMaxBurstShots;
|
||||
float m_flNextShotTime;
|
||||
float m_flFireRateDelay;
|
||||
float m_flMinRestInterval;
|
||||
float m_flMaxRestInterval;
|
||||
float m_flLastPreFireDelayTime;
|
||||
bool m_bInRestInterval;
|
||||
bool m_bFirstShot;
|
||||
bool m_haveRolledForMiss;
|
||||
bool m_rolledAMiss;
|
||||
float m_missDeltaRight;
|
||||
float m_missDeltaUp;
|
||||
float m_missDeltaForward;
|
||||
int m_missExtraAAEFlags;
|
||||
bool m_haveSelectedBurstTarget;
|
||||
char gap_39[7];
|
||||
CAI_BaseNPC* m_ai;
|
||||
};
|
||||
static_assert(sizeof(CAI_ShotRegulator) == 0x48);
|
||||
|
||||
#endif // AI_UTILITY_H
|
||||
|
50
src/game/server/ai_waypoint.h
Normal file
50
src/game/server/ai_waypoint.h
Normal file
@ -0,0 +1,50 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose: AI Waypoint
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#ifndef AI_WAYPOINT_H
|
||||
#define AI_WAYPOINT_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "game/shared/predictioncopy.h"
|
||||
|
||||
struct AI_Waypoint_t
|
||||
{
|
||||
//---------------------------------
|
||||
//
|
||||
// Basic info
|
||||
//
|
||||
Vector3D vecLocation;
|
||||
float flYaw;
|
||||
int iNodeID;
|
||||
int polyRef;
|
||||
unsigned char jumpType;
|
||||
char gap_19[3];
|
||||
|
||||
//---------------------------------
|
||||
//
|
||||
// If following a designer laid path, the path-corner entity (if any)
|
||||
//
|
||||
EHANDLE hPathCorner;
|
||||
|
||||
private:
|
||||
int waypointFlags; // See WaypointFlags_t
|
||||
Navigation_e navType;
|
||||
AI_Waypoint_t* pNext;
|
||||
AI_Waypoint_t* pPrev;
|
||||
};
|
||||
static_assert(sizeof(AI_Waypoint_t) == 0x38);
|
||||
|
||||
// todo: implement the class
|
||||
class CAI_WaypointList
|
||||
{
|
||||
AI_Waypoint_t* m_pFirstWaypoint;
|
||||
};
|
||||
static_assert(sizeof(CAI_WaypointList) == 8);
|
||||
|
||||
#endif // AI_WAYPOINT_H
|
@ -14,6 +14,7 @@
|
||||
#include "public/playerstate.h"
|
||||
|
||||
#include "game/shared/animation.h"
|
||||
#include "game/shared/status_effect.h"
|
||||
#include "game/shared/takedamageinfo.h"
|
||||
#include "game/shared/usercmd.h"
|
||||
#include "game/shared/imovehelper.h"
|
||||
@ -194,22 +195,6 @@ struct CPlayerShared // !TODO: MOVE INTO SHARED!!!
|
||||
CTakeDamageInfo m_damageInfo;
|
||||
};
|
||||
|
||||
struct StatusEffectTimedData
|
||||
{
|
||||
char gap_0[8];
|
||||
int seComboVars;
|
||||
float seTimeEnd;
|
||||
float seEaseOut;
|
||||
float sePausedTimeRemaining;
|
||||
};
|
||||
|
||||
struct StatusEffectEndlessData
|
||||
{
|
||||
char gap_0[8];
|
||||
int seComboVars;
|
||||
char gap_c[4];
|
||||
};
|
||||
|
||||
struct PushHistoryEntry
|
||||
{
|
||||
float time;
|
||||
|
26
src/game/server/soundent.cpp
Normal file
26
src/game/server/soundent.cpp
Normal file
@ -0,0 +1,26 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
#include "baseentity.h"
|
||||
#include "soundent.h"
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
//---------------------------------------------------------
|
||||
// Returns the sound origin
|
||||
// todo: requires implementing CBaseEntity::GetAbsOrigin.
|
||||
//---------------------------------------------------------
|
||||
/*const Vector3D& CSound::GetSoundOrigin(void)
|
||||
{
|
||||
if ((m_iType & SOUND_CONTEXT_FOLLOW_OWNER) != 0)
|
||||
{
|
||||
if (m_hOwner.Get() != NULL)
|
||||
return m_hOwner->GetAbsOrigin();
|
||||
}
|
||||
return m_vecOrigin;
|
||||
}*/
|
140
src/game/server/soundent.h
Normal file
140
src/game/server/soundent.h
Normal file
@ -0,0 +1,140 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
// Soundent.h - the entity that spawns when the world
|
||||
// spawns, and handles the world's active and free sound
|
||||
// lists.
|
||||
//=============================================================================//
|
||||
#ifndef SOUNDENT_H
|
||||
#define SOUNDENT_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "game/shared/predictioncopy.h"
|
||||
|
||||
enum
|
||||
{
|
||||
SOUND_NONE = 0,
|
||||
SOUND_COMBAT = 0x00000001,
|
||||
SOUND_PLAYER = 0x00000002,
|
||||
SOUND_WORLD = 0x00000004, // this might be wrong, wasn't in the registration in [r5apex_ds + E42FD0]
|
||||
SOUND_BULLET_IMPACT = 0x00000008,
|
||||
SOUND_PAINDEATH = 0x00000010,
|
||||
|
||||
// Anything below here is unconfirmed for r5 !!!
|
||||
SOUND_CARCASS = 0x00000020,
|
||||
SOUND_MEAT = 0x00000040,
|
||||
SOUND_GARBAGE = 0x00000080,
|
||||
SOUND_THUMPER = 0x00000100, // keeps certain creatures at bay
|
||||
SOUND_BUGBAIT = 0x00000200, // gets the antlion's attention
|
||||
SOUND_PHYSICS_DANGER = 0x00000400,
|
||||
SOUND_DANGER_SNIPERONLY = 0x00000800, // only scares the sniper NPC.
|
||||
SOUND_MOVE_AWAY = 0x00001000,
|
||||
SOUND_PLAYER_VEHICLE = 0x00002000,
|
||||
SOUND_READINESS_LOW = 0x00004000, // Changes listener's readiness (Player Companion only)
|
||||
SOUND_READINESS_MEDIUM = 0x00008000,
|
||||
SOUND_READINESS_HIGH = 0x00010000,
|
||||
|
||||
SOUND_AI_THREATS = SOUND_COMBAT | SOUND_BULLET_IMPACT,
|
||||
|
||||
// Contexts begin here.
|
||||
SOUND_CONTEXT_FROM_SNIPER = 0x00100000, // additional context for SOUND_DANGER
|
||||
SOUND_CONTEXT_GUNFIRE = 0x00200000, // Added to SOUND_COMBAT
|
||||
SOUND_CONTEXT_MORTAR = 0x00400000, // Explosion going to happen here.
|
||||
SOUND_CONTEXT_COMBINE_ONLY = 0x00800000, // Only combine can hear sounds marked this way
|
||||
SOUND_CONTEXT_REACT_TO_SOURCE = 0x01000000, // React to sound source's origin, not sound's location
|
||||
SOUND_CONTEXT_EXPLOSION = 0x02000000, // Context added to SOUND_COMBAT, usually.
|
||||
SOUND_CONTEXT_EXCLUDE_COMBINE = 0x04000000, // Combine do NOT hear this
|
||||
SOUND_CONTEXT_DANGER_APPROACH = 0x08000000, // Treat as a normal danger sound if you see the source, otherwise turn to face source.
|
||||
SOUND_CONTEXT_ALLIES_ONLY = 0x10000000, // Only player allies can hear this sound
|
||||
SOUND_CONTEXT_PLAYER_VEHICLE = 0x20000000, // HACK: need this because we're not treating the SOUND_xxx values as true bit values! See switch in OnListened.
|
||||
SOUND_CONTEXT_FROM_FIRE = 0x40000000, // A fire is nearby
|
||||
SOUND_CONTEXT_FOLLOW_OWNER = 0x80000000, // The sound origin is at the owner
|
||||
|
||||
ALL_CONTEXTS = 0xFFF00000,
|
||||
ALL_SCENTS = SOUND_CARCASS | SOUND_MEAT | SOUND_GARBAGE,
|
||||
ALL_SOUNDS = 0x000FFFFF & ~ALL_SCENTS,
|
||||
};
|
||||
|
||||
//=========================================================
|
||||
// CSound - an instance of a sound in the world.
|
||||
//=========================================================
|
||||
class CSound
|
||||
{
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
public:
|
||||
bool DoesSoundExpire() const;
|
||||
float SoundExpirationTime() const;
|
||||
void SetSoundOrigin(const Vector3D& vecOrigin) { m_vecOrigin = vecOrigin; }
|
||||
//const Vector3D& GetSoundOrigin(void);
|
||||
//const Vector3D& GetSoundReactOrigin(void);
|
||||
//bool FIsSound(void);
|
||||
//bool FIsScent(void);
|
||||
bool IsSoundType(int nSoundFlags) const;
|
||||
int SoundType() const;
|
||||
int SoundContext() const;
|
||||
int SoundTypeNoContext() const;
|
||||
int NextSound() const;
|
||||
//void Reset(void);
|
||||
int SoundChannel(void) const;
|
||||
//bool ValidateOwner() const;
|
||||
|
||||
EHANDLE m_hOwner; // sound's owner.
|
||||
EHANDLE m_hTarget; // Sounds's target - an odd concept. For a gunfire sound, the target is the entity being fired at.
|
||||
float m_audibleRadius;
|
||||
float m_expireTime; // When the sound should be purged from the list.
|
||||
int m_ownerChannelIndex;
|
||||
int m_iType; // What type of sound this is
|
||||
Vector3D m_vecOrigin; // Sound's location in space.
|
||||
edict_t m_iNext; // Temporary link that NPCs use to build a list of audible sounds.
|
||||
bool m_bReserved;
|
||||
bool m_ownerMustExist;
|
||||
};
|
||||
|
||||
inline bool CSound::DoesSoundExpire() const
|
||||
{
|
||||
return m_expireTime > 0.0f;
|
||||
}
|
||||
|
||||
inline float CSound::SoundExpirationTime() const
|
||||
{
|
||||
return m_expireTime;
|
||||
}
|
||||
|
||||
inline bool CSound::IsSoundType(int nSoundFlags) const
|
||||
{
|
||||
return (m_iType & nSoundFlags) != 0;
|
||||
}
|
||||
|
||||
inline int CSound::SoundType() const
|
||||
{
|
||||
return m_iType;
|
||||
}
|
||||
|
||||
inline int CSound::SoundContext() const
|
||||
{
|
||||
return m_iType & ALL_CONTEXTS;
|
||||
}
|
||||
|
||||
inline int CSound::SoundTypeNoContext() const
|
||||
{
|
||||
return m_iType & ~ALL_CONTEXTS;
|
||||
}
|
||||
|
||||
inline int CSound::NextSound() const
|
||||
{
|
||||
return m_iNext;
|
||||
}
|
||||
|
||||
inline int CSound::SoundChannel(void) const
|
||||
{
|
||||
return m_ownerChannelIndex;
|
||||
}
|
||||
|
||||
#endif //SOUNDENT_H
|
903
src/game/shared/shared_activity.h
Normal file
903
src/game/shared/shared_activity.h
Normal file
@ -0,0 +1,903 @@
|
||||
//=============================================================================//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef AI_ACTIVITY_H
|
||||
#define AI_ACTIVITY_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Activity enumerants; used as constants for code and script.
|
||||
//-----------------------------------------------------------------------------
|
||||
enum sharedactivity_e
|
||||
{
|
||||
ACT_NONE = -1,
|
||||
ACT_RESET = 0,
|
||||
ACT_IDLE_CASUAL = 1,
|
||||
ACT_IDLE = 2,
|
||||
ACT_IDLE_COMBAT = 3,
|
||||
ACT_IDLE_COMBAT_AIM = 4,
|
||||
ACT_IDLE_SCAN = 5,
|
||||
ACT_TRANSITION = 6,
|
||||
ACT_COVER = 7,
|
||||
ACT_COVER_MED = 8,
|
||||
ACT_COVER_LOW = 9,
|
||||
ACT_WALK_CASUAL = 10,
|
||||
ACT_WALK = 11,
|
||||
ACT_WALK_AIM = 12,
|
||||
ACT_WALK_AIM_FORWARD = 13,
|
||||
ACT_WALK_AIM_BACKWARD = 14,
|
||||
ACT_WALK_AIM_LEFT = 15,
|
||||
ACT_WALK_AIM_RIGHT = 16,
|
||||
ACT_WALK_CROUCH = 17,
|
||||
ACT_WALK_CROUCH_AIM = 18,
|
||||
ACT_WALK_STUMBLE = 19,
|
||||
ACT_RUN = 20,
|
||||
ACT_RUN_FORWARD = 21,
|
||||
ACT_RUN_BACKWARD = 22,
|
||||
ACT_RUN_LEFT = 23,
|
||||
ACT_RUN_RIGHT = 24,
|
||||
ACT_RUN_UP = 25,
|
||||
ACT_RUN_DOWN = 26,
|
||||
ACT_RUN_AIM = 27,
|
||||
ACT_RUN_AIM_FORWARD = 28,
|
||||
ACT_RUN_AIM_BACKWARD = 29,
|
||||
ACT_RUN_AIM_LEFT = 30,
|
||||
ACT_RUN_AIM_RIGHT = 31,
|
||||
ACT_RUN_AIM_UP = 32,
|
||||
ACT_RUN_AIM_DOWN = 33,
|
||||
ACT_RUN_CROUCH = 34,
|
||||
ACT_RUN_CROUCH_AIM = 35,
|
||||
ACT_SPRINT_UNARMED = 36,
|
||||
ACT_SPRINT = 37,
|
||||
ACT_SPRINT_FORWARD = 38,
|
||||
ACT_SPRINT_BACKWARD = 39,
|
||||
ACT_SPRINT_LEFT = 40,
|
||||
ACT_SPRINT_RIGHT = 41,
|
||||
ACT_SPRINT_RUNAWAY = 42,
|
||||
ACT_SCRIPT_CUSTOM_MOVE = 43,
|
||||
ACT_SCRIPT_CUSTOM_ATTACK = 44,
|
||||
ACT_SCRIPT_CUSTOM_ATTACK2 = 45,
|
||||
ACT_RANGE_ATTACK1 = 46,
|
||||
ACT_RANGE_ATTACK1_EVASIVE = 47,
|
||||
ACT_RANGE_ATTACK1_SINGLE = 48,
|
||||
ACT_RANGE_ATTACK1_LOW = 49,
|
||||
ACT_RANGE_ATTACK1_LOW_SINGLE = 50,
|
||||
ACT_RANGE_ATTACK2 = 51,
|
||||
ACT_RANGE_ATTACK_TWITCH = 52,
|
||||
ACT_SPECIAL_ATTACK_START = 53,
|
||||
ACT_SPECIAL_ATTACK = 54,
|
||||
ACT_SPECIAL_ATTACK_END = 55,
|
||||
ACT_THROW_GRENADE = 56,
|
||||
ACT_FLY = 57,
|
||||
ACT_FALL = 58,
|
||||
ACT_FALL_RECOVERY = 59,
|
||||
ACT_JUMP = 60,
|
||||
ACT_JUMP_START = 61,
|
||||
ACT_JUMP_FLOAT = 62,
|
||||
ACT_JUMP_LAND = 63,
|
||||
ACT_DOUBLEJUMP = 64,
|
||||
ACT_LAND = 65,
|
||||
ACT_CLIMB_UP = 66,
|
||||
ACT_CLIMB_DOWN = 67,
|
||||
ACT_CLIMB_DISMOUNT = 68,
|
||||
ACT_WALLRUN_LEFT = 69,
|
||||
ACT_WALLRUN_RIGHT = 70,
|
||||
ACT_WALLJUMP_LEFT = 71,
|
||||
ACT_WALLJUMP_RIGHT = 72,
|
||||
ACT_CROUCH = 73,
|
||||
ACT_CROUCHIDLE = 74,
|
||||
ACT_CROUCHIDLE_SCAN = 75,
|
||||
ACT_CROUCHIDLE_AIM = 76,
|
||||
ACT_STAND = 77,
|
||||
ACT_SIGNAL_ADVANCE = 78,
|
||||
ACT_SIGNAL_FORWARD = 79,
|
||||
ACT_SIGNAL_GROUP = 80,
|
||||
ACT_SIGNAL_HALT = 81,
|
||||
ACT_SIGNAL_LEFT = 82,
|
||||
ACT_SIGNAL_RIGHT = 83,
|
||||
ACT_SIGNAL_TAKECOVER = 84,
|
||||
ACT_SIGNAL_ACKNOWLEDGE = 85,
|
||||
ACT_SIGNAL_SALUTE = 86,
|
||||
ACT_SIGNAL_SALUTE_HIGH = 87,
|
||||
ACT_SIGNAL_SALUTE_CROUCH = 88,
|
||||
ACT_SIGNAL_FORWARD_CROUCH = 89,
|
||||
ACT_SIGNAL_TAUNT = 90,
|
||||
ACT_SIGNAL_ENRAGE = 91,
|
||||
ACT_SHOOTING_COVER_IDLE = 92,
|
||||
ACT_SHOOTING_COVER_IDLE_L = 93,
|
||||
ACT_SHOOTING_COVER_IDLE_R = 94,
|
||||
ACT_SHOOTING_COVER_CHECK = 95,
|
||||
ACT_SHOOTING_COVER_CHECK_L = 96,
|
||||
ACT_SHOOTING_COVER_CHECK_R = 97,
|
||||
ACT_SHOOTING_COVER_ADVANCE_FORWARD = 98,
|
||||
ACT_SHOOTING_COVER_ADVANCE_FORWARD_L = 99,
|
||||
ACT_SHOOTING_COVER_ADVANCE_FORWARD_R = 100,
|
||||
ACT_SHOOTING_COVER_RETREAT_BACKWARD = 101,
|
||||
ACT_SHOOTING_COVER_RETREAT_BACKWARD_L = 102,
|
||||
ACT_SHOOTING_COVER_RETREAT_BACKWARD_R = 103,
|
||||
ACT_SHOOTING_COVER_ADVANCE_SIDELEAN = 104,
|
||||
ACT_SHOOTING_COVER_ADVANCE_SIDELEAN_L = 105,
|
||||
ACT_SHOOTING_COVER_ADVANCE_SIDELEAN_R = 106,
|
||||
ACT_SHOOTING_COVER_RETREAT_SIDELEAN = 107,
|
||||
ACT_SHOOTING_COVER_RETREAT_SIDELEAN_L = 108,
|
||||
ACT_SHOOTING_COVER_RETREAT_SIDELEAN_R = 109,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_SIDE_L = 110,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_SIDE_R = 111,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_45_L = 112,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_45_R = 113,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_FRONT_L = 114,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_FRONT_R = 115,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_FRONT_INV_L = 116,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_FRONT_INV_R = 117,
|
||||
ACT_SHOOTING_COVER_GRENADE = 118,
|
||||
ACT_SHOOTING_COVER_GRENADE_L = 119,
|
||||
ACT_SHOOTING_COVER_GRENADE_R = 120,
|
||||
ACT_SHOOTING_COVER_GRENADE_ADVANCE = 121,
|
||||
ACT_SHOOTING_COVER_GRENADE_ADVANCE_L = 122,
|
||||
ACT_SHOOTING_COVER_GRENADE_ADVANCE_R = 123,
|
||||
ACT_DISENGAGE = 124,
|
||||
ACT_COWER = 125,
|
||||
ACT_BRACE = 126,
|
||||
ACT_MELEE_ATTACK1 = 127,
|
||||
ACT_MELEE_ATTACK_WAIT = 128,
|
||||
ACT_MELEE_HIGH = 129,
|
||||
ACT_MELEE_CHARGE = 130,
|
||||
ACT_MELEE_CHARGE_HIT = 131,
|
||||
ACT_MELEE_CHARGE_MISS = 132,
|
||||
ACT_MELEE_CHARGE_HIGH = 133,
|
||||
ACT_MELEE_CHARGE_HIGH_HIT = 134,
|
||||
ACT_MELEE_CHARGE_HIGH_MISS = 135,
|
||||
ACT_MELEE_RAM = 136,
|
||||
ACT_MELEE_LEFT = 137,
|
||||
ACT_MELEE_RIGHT = 138,
|
||||
ACT_MELEE_BACK = 139,
|
||||
ACT_MELEE_JUMP_UP = 140,
|
||||
ACT_RELOAD = 141,
|
||||
ACT_RELOAD_LOW = 142,
|
||||
ACT_SWITCH_WEAPON = 143,
|
||||
ACT_ARM = 144,
|
||||
ACT_DISARM = 145,
|
||||
ACT_VICTORY_DANCE = 146,
|
||||
ACT_DIESIMPLE = 147,
|
||||
ACT_DIEBACKWARD = 148,
|
||||
ACT_DIEFORWARD = 149,
|
||||
ACT_DIE_LEFT = 150,
|
||||
ACT_DIE_RIGHT = 151,
|
||||
ACT_DIERAGDOLL = 152,
|
||||
ACT_DIE_HEADSHOT = 153,
|
||||
ACT_DIE_CHESTSHOT = 154,
|
||||
ACT_DIE_GUTSHOT = 155,
|
||||
ACT_DIE_BACKSHOT = 156,
|
||||
ACT_DIE_FRONT_CROUCH = 157,
|
||||
ACT_DIE_BACK_CROUCH = 158,
|
||||
ACT_DIE_RUNNING = 159,
|
||||
ACT_DIE_INSTANT_STANDING = 160,
|
||||
ACT_DIE_INSTANT_RUNNING = 161,
|
||||
ACT_DIE_INSTANT_CROUCH = 162,
|
||||
ACT_DIE_KNOCKBACK_FORWARD = 163,
|
||||
ACT_DIE_KNOCKBACK_LEFT = 164,
|
||||
ACT_DIE_KNOCKBACK_RIGHT = 165,
|
||||
ACT_DIE_KNOCKBACK_BACK = 166,
|
||||
ACT_DIE_GRAPPLE = 167,
|
||||
ACT_DIE_BLEEDOUT = 168,
|
||||
ACT_DIE_DOWNED_KILL = 169,
|
||||
ACT_SMALL_FLINCH = 170,
|
||||
ACT_BIG_FLINCH = 171,
|
||||
ACT_STUNNED = 172,
|
||||
ACT_FLINCH_HEAD = 173,
|
||||
ACT_FLINCH_CHEST = 174,
|
||||
ACT_FLINCH_STOMACH = 175,
|
||||
ACT_FLINCH_LEFTARM = 176,
|
||||
ACT_FLINCH_RIGHTARM = 177,
|
||||
ACT_FLINCH_LEFTLEG = 178,
|
||||
ACT_FLINCH_RIGHTLEG = 179,
|
||||
ACT_FLINCH_CROUCH_FRONT = 180,
|
||||
ACT_FLINCH_CROUCH_BACK = 181,
|
||||
ACT_FLINCH_CROUCH_LEFT = 182,
|
||||
ACT_FLINCH_CROUCH_RIGHT = 183,
|
||||
ACT_FLINCH_RUNNING = 184,
|
||||
ACT_FLINCH_RUNNING_BUMP = 185,
|
||||
ACT_FLINCH_RAM_CRASH = 186,
|
||||
ACT_FLINCH_GRAPPLE = 187,
|
||||
ACT_FLINCH_KNOCKBACK_FORWARD = 188,
|
||||
ACT_FLINCH_KNOCKBACK_LEFT = 189,
|
||||
ACT_FLINCH_KNOCKBACK_RIGHT = 190,
|
||||
ACT_FLINCH_KNOCKBACK_BACK = 191,
|
||||
ACT_45_LEFT = 192,
|
||||
ACT_45_RIGHT = 193,
|
||||
ACT_90_LEFT = 194,
|
||||
ACT_90_RIGHT = 195,
|
||||
ACT_180_LEFT = 196,
|
||||
ACT_180_RIGHT = 197,
|
||||
ACT_45_LEFT_CROUCH = 198,
|
||||
ACT_45_RIGHT_CROUCH = 199,
|
||||
ACT_90_LEFT_CROUCH = 200,
|
||||
ACT_90_RIGHT_CROUCH = 201,
|
||||
ACT_180_LEFT_CROUCH = 202,
|
||||
ACT_180_RIGHT_CROUCH = 203,
|
||||
ACT_45_LEFT_NONCOMBAT = 204,
|
||||
ACT_45_RIGHT_NONCOMBAT = 205,
|
||||
ACT_90_LEFT_NONCOMBAT = 206,
|
||||
ACT_90_RIGHT_NONCOMBAT = 207,
|
||||
ACT_180_LEFT_NONCOMBAT = 208,
|
||||
ACT_180_RIGHT_NONCOMBAT = 209,
|
||||
ACT_GESTURE_RANGE_ATTACK1 = 210,
|
||||
ACT_GESTURE_GUN_UP = 211,
|
||||
ACT_GESTURE_THREAT_DISPLAY = 212,
|
||||
ACT_GESTURE_BLOCK = 213,
|
||||
ACT_GESTURE_MELEE_ATTACK1 = 214,
|
||||
ACT_GESTURE_MELEE_ATTACK2 = 215,
|
||||
ACT_GESTURE_MELEE_ATTACK3 = 216,
|
||||
ACT_GESTURE_SMALL_FLINCH = 217,
|
||||
ACT_GESTURE_BIG_FLINCH = 218,
|
||||
ACT_GESTURE_FLINCH_BLAST = 219,
|
||||
ACT_GESTURE_FLINCH_BLAST_SHOTGUN = 220,
|
||||
ACT_GESTURE_FLINCH_BLAST_DAMAGED = 221,
|
||||
ACT_GESTURE_FLINCH_BLAST_DAMAGED_SHOTGUN = 222,
|
||||
ACT_GESTURE_FLINCH_HEAD = 223,
|
||||
ACT_GESTURE_FLINCH_CHEST = 224,
|
||||
ACT_GESTURE_FLINCH_STOMACH = 225,
|
||||
ACT_GESTURE_FLINCH_LEFTARM = 226,
|
||||
ACT_GESTURE_FLINCH_RIGHTARM = 227,
|
||||
ACT_GESTURE_FLINCH_LEFTLEG = 228,
|
||||
ACT_GESTURE_FLINCH_RIGHTLEG = 229,
|
||||
ACT_GESTURE_TURN_LEFT = 230,
|
||||
ACT_GESTURE_TURN_RIGHT = 231,
|
||||
ACT_GESTURE_TURN_LEFT45 = 232,
|
||||
ACT_GESTURE_TURN_RIGHT45 = 233,
|
||||
ACT_GESTURE_TURN_LEFT90 = 234,
|
||||
ACT_GESTURE_TURN_RIGHT90 = 235,
|
||||
ACT_GESTURE_TURN_LEFT45_FLAT = 236,
|
||||
ACT_GESTURE_TURN_RIGHT45_FLAT = 237,
|
||||
ACT_GESTURE_TURN_LEFT90_FLAT = 238,
|
||||
ACT_GESTURE_TURN_RIGHT90_FLAT = 239,
|
||||
ACT_RANGE_ATTACK_SMG1 = 240,
|
||||
ACT_GESTURE_RELOAD = 241,
|
||||
ACT_DODGE_FORWARD = 242,
|
||||
ACT_DODGE_BACKWARD = 243,
|
||||
ACT_DODGE_LEFT = 244,
|
||||
ACT_DODGE_RIGHT = 245,
|
||||
ACT_DODGE_LEFT_FAR = 246,
|
||||
ACT_DODGE_RIGHT_FAR = 247,
|
||||
ACT_DODGE_LEFT_RUN = 248,
|
||||
ACT_DODGE_RIGHT_RUN = 249,
|
||||
ACT_DODGE_LEFT_WALLHOP = 250,
|
||||
ACT_DODGE_RIGHT_WALLHOP = 251,
|
||||
ACT_OPEN_DOOR = 252,
|
||||
ACT_IDLE_CARRY = 253,
|
||||
ACT_WALK_CARRY = 254,
|
||||
ACT_DEPLOY = 255,
|
||||
ACT_DEPLOY_IDLE = 256,
|
||||
ACT_UNDEPLOY = 257,
|
||||
ACT_REACT_JUMPED_OVER = 258,
|
||||
ACT_REACT_SURPRISED = 259,
|
||||
ACT_REACT_SURPRISED_LEFT = 260,
|
||||
ACT_REACT_SURPRISED_RIGHT = 261,
|
||||
ACT_REACT_SURPRISED_BACK = 262,
|
||||
ACT_REACT_BULLET = 263,
|
||||
ACT_REACT_BULLET_FAR = 264,
|
||||
ACT_REACT_CLOAK_APPEAR_NEAR = 265,
|
||||
ACT_REACT_CLOAK_APPEAR_FAR = 266,
|
||||
ACT_REACT_CLOAK_DISAPPEAR_NEAR = 267,
|
||||
ACT_REACT_CLOAK_DISAPPEAR_FAR = 268,
|
||||
ACT_SEARCH_AREA_CLEAR = 269,
|
||||
ACT_SEARCH_LOOK_AROUND = 270,
|
||||
ACT_SEARCH_CORPSE = 271,
|
||||
ACT_SEARCH_WALK = 272,
|
||||
ACT_SEARCH_LEAD_WALK = 273,
|
||||
ACT_RUN_CHECK_LEFT = 274,
|
||||
ACT_RUN_CHECK_RIGHT = 275,
|
||||
ACT_RUN_PEEK_CORNER_LEFT = 276,
|
||||
ACT_RUN_PEEK_CORNER_RIGHT = 277,
|
||||
ACT_PIE_OFF_LEFT = 278,
|
||||
ACT_PIE_OFF_RIGHT = 279,
|
||||
ACT_PIE_OFF_AND_BACK_LEFT = 280,
|
||||
ACT_PIE_OFF_AND_BACK_RIGHT = 281,
|
||||
ACT_RELOAD_DODGE_LEFT = 282,
|
||||
ACT_RELOAD_DODGE_RIGHT = 283,
|
||||
ACT_STAND_TO_CRAWL = 284,
|
||||
ACT_STAND_TO_STAGGER = 285,
|
||||
ACT_STAND_TO_RUN_180_RIGHT = 286,
|
||||
ACT_STAND_TO_RUN_135_RIGHT = 287,
|
||||
ACT_STAND_TO_RUN_90_RIGHT = 288,
|
||||
ACT_STAND_TO_RUN_45_RIGHT = 289,
|
||||
ACT_STAND_TO_RUN_FORWARD = 290,
|
||||
ACT_STAND_TO_RUN_45_LEFT = 291,
|
||||
ACT_STAND_TO_RUN_90_LEFT = 292,
|
||||
ACT_STAND_TO_RUN_135_LEFT = 293,
|
||||
ACT_STAND_TO_RUN_180_LEFT = 294,
|
||||
ACT_STAND_TO_WALK_180_RIGHT = 295,
|
||||
ACT_STAND_TO_WALK_135_RIGHT = 296,
|
||||
ACT_STAND_TO_WALK_90_RIGHT = 297,
|
||||
ACT_STAND_TO_WALK_45_RIGHT = 298,
|
||||
ACT_STAND_TO_WALK_FORWARD = 299,
|
||||
ACT_STAND_TO_WALK_45_LEFT = 300,
|
||||
ACT_STAND_TO_WALK_90_LEFT = 301,
|
||||
ACT_STAND_TO_WALK_135_LEFT = 302,
|
||||
ACT_STAND_TO_WALK_180_LEFT = 303,
|
||||
ACT_STAND_TO_WALK_CASUAL_180_RIGHT = 304,
|
||||
ACT_STAND_TO_WALK_CASUAL_135_RIGHT = 305,
|
||||
ACT_STAND_TO_WALK_CASUAL_90_RIGHT = 306,
|
||||
ACT_STAND_TO_WALK_CASUAL_45_RIGHT = 307,
|
||||
ACT_STAND_TO_WALK_CASUAL_FORWARD = 308,
|
||||
ACT_STAND_TO_WALK_CASUAL_45_LEFT = 309,
|
||||
ACT_STAND_TO_WALK_CASUAL_90_LEFT = 310,
|
||||
ACT_STAND_TO_WALK_CASUAL_135_LEFT = 311,
|
||||
ACT_STAND_TO_WALK_CASUAL_180_LEFT = 312,
|
||||
ACT_STAND_TO_STRAFE_RIGHT = 313,
|
||||
ACT_STAND_TO_STRAFE_LEFT = 314,
|
||||
ACT_STAND_TO_BACKPEDAL = 315,
|
||||
ACT_CROUCH_TO_STRAFE_RIGHT = 316,
|
||||
ACT_CROUCH_TO_STRAFE_LEFT = 317,
|
||||
ACT_CROUCH_TO_BACKPEDAL = 318,
|
||||
ACT_CROUCH_TO_RUN_180_RIGHT = 319,
|
||||
ACT_CROUCH_TO_RUN_135_RIGHT = 320,
|
||||
ACT_CROUCH_TO_RUN_90_RIGHT = 321,
|
||||
ACT_CROUCH_TO_RUN_45_RIGHT = 322,
|
||||
ACT_CROUCH_TO_RUN_FORWARD = 323,
|
||||
ACT_CROUCH_TO_RUN_45_LEFT = 324,
|
||||
ACT_CROUCH_TO_RUN_90_LEFT = 325,
|
||||
ACT_CROUCH_TO_RUN_135_LEFT = 326,
|
||||
ACT_CROUCH_TO_RUN_180_LEFT = 327,
|
||||
ACT_RUN_TO_STAND_180_RIGHT = 328,
|
||||
ACT_RUN_TO_STAND_135_RIGHT = 329,
|
||||
ACT_RUN_TO_STAND_90_RIGHT = 330,
|
||||
ACT_RUN_TO_STAND_45_RIGHT = 331,
|
||||
ACT_RUN_TO_STAND_FORWARD = 332,
|
||||
ACT_RUN_TO_STAND_45_LEFT = 333,
|
||||
ACT_RUN_TO_STAND_90_LEFT = 334,
|
||||
ACT_RUN_TO_STAND_135_LEFT = 335,
|
||||
ACT_RUN_TO_STAND_180_LEFT = 336,
|
||||
ACT_WALK_TO_STAND_180_RIGHT = 337,
|
||||
ACT_WALK_TO_STAND_135_RIGHT = 338,
|
||||
ACT_WALK_TO_STAND_90_RIGHT = 339,
|
||||
ACT_WALK_TO_STAND_45_RIGHT = 340,
|
||||
ACT_WALK_TO_STAND_FORWARD = 341,
|
||||
ACT_WALK_TO_STAND_45_LEFT = 342,
|
||||
ACT_WALK_TO_STAND_90_LEFT = 343,
|
||||
ACT_WALK_TO_STAND_135_LEFT = 344,
|
||||
ACT_WALK_TO_STAND_180_LEFT = 345,
|
||||
ACT_WALK_CASUAL_TO_STAND_180_RIGHT = 346,
|
||||
ACT_WALK_CASUAL_TO_STAND_135_RIGHT = 347,
|
||||
ACT_WALK_CASUAL_TO_STAND_90_RIGHT = 348,
|
||||
ACT_WALK_CASUAL_TO_STAND_45_RIGHT = 349,
|
||||
ACT_WALK_CASUAL_TO_STAND_FORWARD = 350,
|
||||
ACT_WALK_CASUAL_TO_STAND_45_LEFT = 351,
|
||||
ACT_WALK_CASUAL_TO_STAND_90_LEFT = 352,
|
||||
ACT_WALK_CASUAL_TO_STAND_135_LEFT = 353,
|
||||
ACT_WALK_CASUAL_TO_STAND_180_LEFT = 354,
|
||||
ACT_STRAFE_TO_STAND_RIGHT = 355,
|
||||
ACT_STRAFE_TO_STAND_LEFT = 356,
|
||||
ACT_STRAFE_TO_STAND_BACKPEDAL = 357,
|
||||
ACT_STRAFE_TO_CROUCH_RIGHT = 358,
|
||||
ACT_STRAFE_TO_CROUCH_LEFT = 359,
|
||||
ACT_STRAFE_TO_CROUCH_BACKPEDAL = 360,
|
||||
ACT_STAND_TO_RUN_BLINDFIRE_180 = 361,
|
||||
ACT_EXIT_BACKPEDAL_TO_FORWARD_180 = 362,
|
||||
ACT_RUN_TO_CROUCH_180_RIGHT = 363,
|
||||
ACT_RUN_TO_CROUCH_135_RIGHT = 364,
|
||||
ACT_RUN_TO_CROUCH_90_RIGHT = 365,
|
||||
ACT_RUN_TO_CROUCH_45_RIGHT = 366,
|
||||
ACT_RUN_TO_CROUCH_FORWARD = 367,
|
||||
ACT_RUN_TO_CROUCH_45_LEFT = 368,
|
||||
ACT_RUN_TO_CROUCH_90_LEFT = 369,
|
||||
ACT_RUN_TO_CROUCH_135_LEFT = 370,
|
||||
ACT_RUN_TO_CROUCH_180_LEFT = 371,
|
||||
ACT_STAND_TO_FLEE_180_RIGHT = 372,
|
||||
ACT_STAND_TO_FLEE_135_RIGHT = 373,
|
||||
ACT_STAND_TO_FLEE_90_RIGHT = 374,
|
||||
ACT_STAND_TO_FLEE_45_RIGHT = 375,
|
||||
ACT_STAND_TO_FLEE_FORWARD = 376,
|
||||
ACT_STAND_TO_FLEE_45_LEFT = 377,
|
||||
ACT_STAND_TO_FLEE_90_LEFT = 378,
|
||||
ACT_STAND_TO_FLEE_135_LEFT = 379,
|
||||
ACT_STAND_TO_FLEE_180_LEFT = 380,
|
||||
ACT_RUN_TURN_180_RIGHT = 381,
|
||||
ACT_RUN_TURN_135_RIGHT = 382,
|
||||
ACT_RUN_TURN_90_RIGHT = 383,
|
||||
ACT_RUN_TURN_45_RIGHT = 384,
|
||||
ACT_RUN_TURN_FORWARD = 385,
|
||||
ACT_RUN_TURN_45_LEFT = 386,
|
||||
ACT_RUN_TURN_90_LEFT = 387,
|
||||
ACT_RUN_TURN_135_LEFT = 388,
|
||||
ACT_RUN_TURN_180_LEFT = 389,
|
||||
ACT_WALK_TURN_180_RIGHT = 390,
|
||||
ACT_WALK_TURN_135_RIGHT = 391,
|
||||
ACT_WALK_TURN_90_RIGHT = 392,
|
||||
ACT_WALK_TURN_45_RIGHT = 393,
|
||||
ACT_WALK_TURN_FORWARD = 394,
|
||||
ACT_WALK_TURN_45_LEFT = 395,
|
||||
ACT_WALK_TURN_90_LEFT = 396,
|
||||
ACT_WALK_TURN_135_LEFT = 397,
|
||||
ACT_WALK_TURN_180_LEFT = 398,
|
||||
ACT_WALK_CASUAL_TURN_180_RIGHT = 399,
|
||||
ACT_WALK_CASUAL_TURN_135_RIGHT = 400,
|
||||
ACT_WALK_CASUAL_TURN_90_RIGHT = 401,
|
||||
ACT_WALK_CASUAL_TURN_45_RIGHT = 402,
|
||||
ACT_WALK_CASUAL_TURN_FORWARD = 403,
|
||||
ACT_WALK_CASUAL_TURN_45_LEFT = 404,
|
||||
ACT_WALK_CASUAL_TURN_90_LEFT = 405,
|
||||
ACT_WALK_CASUAL_TURN_135_LEFT = 406,
|
||||
ACT_WALK_CASUAL_TURN_180_LEFT = 407,
|
||||
ACT_KNOCK_AWAY_PHYS_ENTS = 408,
|
||||
ACT_TRAVERSE_DOWN_40 = 409,
|
||||
ACT_TRAVERSE_DOWN_64 = 410,
|
||||
ACT_TRAVERSE_DOWN_128 = 411,
|
||||
ACT_TRAVERSE_DOWN_256 = 412,
|
||||
ACT_TRAVERSE_DOWN_640 = 413,
|
||||
ACT_TRAVERSE_UP_40 = 414,
|
||||
ACT_TRAVERSE_UP_64 = 415,
|
||||
ACT_TRAVERSE_UP_128 = 416,
|
||||
ACT_TRAVERSE_UP_256 = 417,
|
||||
ACT_TRAVERSE_UP_256_CLIMB = 418,
|
||||
ACT_TRAVERSE_UP_640 = 419,
|
||||
ACT_TRAVERSE_UP_640_CLIMB = 420,
|
||||
ACT_TRAVERSE_OVER = 421,
|
||||
ACT_TRAVERSE_DOOR = 422,
|
||||
ACT_TRAVERSE_ACROSS_128 = 423,
|
||||
ACT_TRAVERSE_ACROSS_128_REVERSE = 424,
|
||||
ACT_TRAVERSE_ACROSS_256 = 425,
|
||||
ACT_TRAVERSE_ACROSS_256_REVERSE = 426,
|
||||
ACT_TRAVERSE_ACROSS_256_DOWN_128 = 427,
|
||||
ACT_TRAVERSE_ACROSS_256_UP_128 = 428,
|
||||
ACT_TRAVERSE_ACROSS_512 = 429,
|
||||
ACT_TRAVERSE_ACROSS_512_REVERSE = 430,
|
||||
ACT_TRAVERSE_ACROSS_512_DOWN_128 = 431,
|
||||
ACT_TRAVERSE_ACROSS_512_UP_128 = 432,
|
||||
ACT_TRAVERSE_ACROSS_1024 = 433,
|
||||
ACT_TRAVERSE_ACROSS_1024_REVERSE = 434,
|
||||
ACT_TRAVERSE_ACROSS_1024_DOWN_256 = 435,
|
||||
ACT_TRAVERSE_ACROSS_1024_UP_256 = 436,
|
||||
ACT_TRAVERSE_DOWN_WINDOW_192 = 437,
|
||||
ACT_TRAVERSE_UP_WINDOW_192 = 438,
|
||||
ACT_TRAVERSE_DOWN_WINDOW_256 = 439,
|
||||
ACT_TRAVERSE_UP_WINDOW_256 = 440,
|
||||
ACT_DO_NOT_DISTURB = 441,
|
||||
ACT_SPECIFIC_SEQUENCE = 442,
|
||||
ACT_RODEOED_STAND_IDLE = 443,
|
||||
ACT_RODEOED_CROUCH_IDLE = 444,
|
||||
ACT_RODEOED_WALK = 445,
|
||||
ACT_RODEOED_CROUCHWALK = 446,
|
||||
ACT_ZIPLINE_MOUNT = 447,
|
||||
ACT_ZIPLINING = 448,
|
||||
ACT_VM_DRAW = 449,
|
||||
ACT_VM_DRAW_TO_SPRINT = 450,
|
||||
ACT_VM_DRAWFIRST = 451,
|
||||
ACT_VM_DRAWCATCH = 452,
|
||||
ACT_VM_HOLSTER = 453,
|
||||
ACT_VM_HOLSTER_FROM_SPRINT = 454,
|
||||
ACT_VM_RAISE = 455,
|
||||
ACT_VM_RAISE_FROM_SPRINT = 456,
|
||||
ACT_VM_RAISE_FROM_MELEE = 457,
|
||||
ACT_VM_LOWER = 458,
|
||||
ACT_VM_DISCARD = 459,
|
||||
ACT_VM_ADS_IN = 460,
|
||||
ACT_VM_ADS_IN_ALT1 = 461,
|
||||
ACT_VM_ADS_IN_ALT2 = 462,
|
||||
ACT_VM_ADS_IN_ALT3 = 463,
|
||||
ACT_VM_ADS_OUT = 464,
|
||||
ACT_VM_ADS_OUT_ALT1 = 465,
|
||||
ACT_VM_ADS_OUT_ALT2 = 466,
|
||||
ACT_VM_ADS_OUT_ALT3 = 467,
|
||||
ACT_VM_IDLE = 468,
|
||||
ACT_VM_IDLE_ALT1 = 469,
|
||||
ACT_VM_IDLE_ALT2 = 470,
|
||||
ACT_VM_IDLE_ALT3 = 471,
|
||||
ACT_VM_CHARGE = 472,
|
||||
ACT_VM_CHARGE_VER1 = 473,
|
||||
ACT_VM_CHARGE_VER2 = 474,
|
||||
ACT_VM_CHARGE_VER3 = 475,
|
||||
ACT_VM_CHARGE_VER4 = 476,
|
||||
ACT_VM_CHARGE_LEVEL_INCREASE = 477,
|
||||
ACT_VM_SPRINT = 478,
|
||||
ACT_VM_FIDGET = 479,
|
||||
ACT_VM_PULLBACK = 480,
|
||||
ACT_VM_PULLBACK_HIGH = 481,
|
||||
ACT_VM_PULLBACK_LOW = 482,
|
||||
ACT_VM_THROW = 483,
|
||||
ACT_VM_PRIMARYATTACK = 484,
|
||||
ACT_VM_PRIMARYATTACK_ALT1 = 485,
|
||||
ACT_VM_PRIMARYATTACK_ALT2 = 486,
|
||||
ACT_VM_PRIMARYATTACK_ALT3 = 487,
|
||||
ACT_VM_PRIMARYATTACK_SEQUENTIAL = 488,
|
||||
ACT_VM_PRIMARYATTACK_ALT1_SEQUENTIAL = 489,
|
||||
ACT_VM_PRIMARYATTACK_ALT2_SEQUENTIAL = 490,
|
||||
ACT_VM_PRIMARYATTACK_ALT3_SEQUENTIAL = 491,
|
||||
ACT_VM_SECONDARYATTACK = 492,
|
||||
ACT_VM_MELEE_ATTACK1 = 493,
|
||||
ACT_VM_MELEE_ATTACK2 = 494,
|
||||
ACT_VM_MELEE_ATTACK3 = 495,
|
||||
ACT_VM_MELEE_KNIFE_FIRST = 496,
|
||||
ACT_VM_MELEE_KNIFE = 497,
|
||||
ACT_VM_MELEE_CHARGE = 498,
|
||||
ACT_VM_RELOAD = 499,
|
||||
ACT_VM_RELOAD_LATE1 = 500,
|
||||
ACT_VM_RELOAD_LATE2 = 501,
|
||||
ACT_VM_RELOAD_LATE3 = 502,
|
||||
ACT_VM_RELOAD_LATE4 = 503,
|
||||
ACT_VM_RELOAD_LATE5 = 504,
|
||||
ACT_VM_RELOADEMPTY = 505,
|
||||
ACT_VM_RELOADEMPTY_LATE1 = 506,
|
||||
ACT_VM_RELOADEMPTY_LATE2 = 507,
|
||||
ACT_VM_RELOADEMPTY_LATE3 = 508,
|
||||
ACT_VM_RELOADEMPTY_LATE4 = 509,
|
||||
ACT_VM_RELOADEMPTY_LATE5 = 510,
|
||||
ACT_VM_RELOAD_ALT1 = 511,
|
||||
ACT_VM_RELOAD_LATE1_ALT1 = 512,
|
||||
ACT_VM_RELOAD_LATE2_ALT1 = 513,
|
||||
ACT_VM_RELOAD_LATE3_ALT1 = 514,
|
||||
ACT_VM_RELOAD_LATE4_ALT1 = 515,
|
||||
ACT_VM_RELOAD_LATE5_ALT1 = 516,
|
||||
ACT_VM_RELOADEMPTY_ALT1 = 517,
|
||||
ACT_VM_RELOADEMPTY_LATE1_ALT1 = 518,
|
||||
ACT_VM_RELOADEMPTY_LATE2_ALT1 = 519,
|
||||
ACT_VM_RELOADEMPTY_LATE3_ALT1 = 520,
|
||||
ACT_VM_RELOADEMPTY_LATE4_ALT1 = 521,
|
||||
ACT_VM_RELOADEMPTY_LATE5_ALT1 = 522,
|
||||
ACT_VM_SEGMENTEDRELOAD_LOOP = 523,
|
||||
ACT_VM_SEGMENTEDRELOAD_END = 524,
|
||||
ACT_VM_SEGMENTEDEMPTYRELOAD_END = 525,
|
||||
ACT_VM_DRYFIRE = 526,
|
||||
ACT_VM_HITCENTER = 527,
|
||||
ACT_VM_HITCENTER2 = 528,
|
||||
ACT_VM_MISSCENTER = 529,
|
||||
ACT_VM_MISSCENTER2 = 530,
|
||||
ACT_VM_HAULBACK = 531,
|
||||
ACT_VM_RECOIL1 = 532,
|
||||
ACT_VM_RECOIL2 = 533,
|
||||
ACT_VM_RECOIL3 = 534,
|
||||
ACT_VM_PICKUP = 535,
|
||||
ACT_VM_RELEASE = 536,
|
||||
ACT_VM_RECHAMBER = 537,
|
||||
ACT_VM_RECHAMBER_LATE1 = 538,
|
||||
ACT_VM_RECHAMBER_LATE2 = 539,
|
||||
ACT_VM_RECHAMBER_LATE3 = 540,
|
||||
ACT_VM_ZIPLINE_MOUNT = 541,
|
||||
ACT_VM_TOSS = 542,
|
||||
ACT_VM_TOSS_OVERHEAD = 543,
|
||||
ACT_VM_TOSS_PREP = 544,
|
||||
ACT_VM_TOSS_PREP_PULLOUT = 545,
|
||||
ACT_VM_TOSS_HOLD = 546,
|
||||
ACT_VM_TOSS_HOLD_SPRINTING = 547,
|
||||
ACT_VM_COOLDOWN = 548,
|
||||
ACT_VM_COOLDOWN_OVERHEAT = 549,
|
||||
ACT_VM_COOLDOWN_OVERHEAT_LATE1 = 550,
|
||||
ACT_VM_COOLDOWN_OVERHEAT_LATE2 = 551,
|
||||
ACT_VM_COOLDOWN_OVERHEAT_LATE3 = 552,
|
||||
ACT_VM_DASH = 553,
|
||||
ACT_VM_GRAPPLE_START = 554,
|
||||
ACT_VM_GRAPPLE_IDLE = 555,
|
||||
ACT_VM_GRAPPLE_STOP = 556,
|
||||
ACT_VM_WEAPON_INSPECT = 557,
|
||||
ACT_VM_JUMP = 558,
|
||||
ACT_VM_DOUBLEJUMP = 559,
|
||||
ACT_VM_LAND = 560,
|
||||
ACT_VM_LAND_LOW = 561,
|
||||
ACT_VM_LAND_MEDIUM = 562,
|
||||
ACT_VM_LAND_HIGH = 563,
|
||||
ACT_VM_WEAPON_MOD_ADD = 564,
|
||||
ACT_VM_WEAPON_MOD_REMOVE = 565,
|
||||
ACT_VM_SUSTAINED_DISCHARGE = 566,
|
||||
ACT_VM_TRAVERSAL_WINDOW_LEFT = 567,
|
||||
ACT_VM_TRAVERSAL_WINDOW_RIGHT = 568,
|
||||
ACT_VM_MANTLE_BELOW = 569,
|
||||
ACT_VM_MANTLE_LEVEL = 570,
|
||||
ACT_VM_MANTLE_ABOVE = 571,
|
||||
ACT_VM_MANTLE_HIGH = 572,
|
||||
ACT_VM_MANTLE_CROUCH_BELOW = 573,
|
||||
ACT_VM_MANTLE_CROUCH_LEVEL = 574,
|
||||
ACT_VM_MANTLE_CROUCH_ABOVE = 575,
|
||||
ACT_VM_MANTLE_CROUCH_HIGH = 576,
|
||||
ACT_VM_MANTLE_IDLE = 577,
|
||||
ACT_VM_MANTLE_JUMPOFF = 578,
|
||||
ACT_VM_ONEHANDED_ADS_IN = 579,
|
||||
ACT_VM_ONEHANDED_ADS_IN_ALT1 = 580,
|
||||
ACT_VM_ONEHANDED_ADS_IN_ALT2 = 581,
|
||||
ACT_VM_ONEHANDED_ADS_IN_ALT3 = 582,
|
||||
ACT_VM_ONEHANDED_ADS_OUT = 583,
|
||||
ACT_VM_ONEHANDED_ADS_OUT_ALT1 = 584,
|
||||
ACT_VM_ONEHANDED_ADS_OUT_ALT2 = 585,
|
||||
ACT_VM_ONEHANDED_ADS_OUT_ALT3 = 586,
|
||||
ACT_VM_ONEHANDED_IDLE = 587,
|
||||
ACT_VM_ONEHANDED_IDLE_ALT1 = 588,
|
||||
ACT_VM_ONEHANDED_IDLE_ALT2 = 589,
|
||||
ACT_VM_ONEHANDED_IDLE_ALT3 = 590,
|
||||
ACT_VM_ONEHANDED_CHARGE = 591,
|
||||
ACT_VM_ONEHANDED_SPRINT = 592,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK = 593,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT1 = 594,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT2 = 595,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT3 = 596,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_SEQUENTIAL = 597,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT1_SEQUENTIAL = 598,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT2_SEQUENTIAL = 599,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT3_SEQUENTIAL = 600,
|
||||
ACT_VM_ONEHANDED_RELOAD = 601,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE1 = 602,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE2 = 603,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE3 = 604,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE4 = 605,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE5 = 606,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY = 607,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE1 = 608,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE2 = 609,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE3 = 610,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE4 = 611,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE5 = 612,
|
||||
ACT_VM_ONEHANDED_RELOAD_ALT1 = 613,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE1_ALT1 = 614,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE2_ALT1 = 615,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE3_ALT1 = 616,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE4_ALT1 = 617,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE5_ALT1 = 618,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_ALT1 = 619,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE1_ALT1 = 620,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE2_ALT1 = 621,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE3_ALT1 = 622,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE4_ALT1 = 623,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE5_ALT1 = 624,
|
||||
ACT_VM_ONEHANDED_SEGMENTEDRELOAD_LOOP = 625,
|
||||
ACT_VM_ONEHANDED_SEGMENTEDRELOAD_END = 626,
|
||||
ACT_VM_ONEHANDED_SEGMENTEDEMPTYRELOAD_END = 627,
|
||||
ACT_VM_ONEHANDED_RECHAMBER = 628,
|
||||
ACT_VM_ONEHANDED_RECHAMBER_LATE1 = 629,
|
||||
ACT_VM_ONEHANDED_RECHAMBER_LATE2 = 630,
|
||||
ACT_VM_ONEHANDED_RECHAMBER_LATE3 = 631,
|
||||
ACT_VM_ONEHANDED_DRAW = 632,
|
||||
ACT_VM_ONEHANDED_DRAWFIRST = 633,
|
||||
ACT_VM_ONEHANDED_HOLSTER = 634,
|
||||
ACT_VM_ONEHANDED_LOWER = 635,
|
||||
ACT_VM_ONEHANDED_RAISE = 636,
|
||||
ACT_VM_ONEHANDED_RAISE_FROM_SPRINT = 637,
|
||||
ACT_VM_ONEHANDED_RAISE_FROM_MELEE = 638,
|
||||
ACT_VM_ONEHANDED_TOSS = 639,
|
||||
ACT_VM_ONEHANDED_TOSS_OVERHEAD = 640,
|
||||
ACT_VM_ONEHANDED_TOSS_PREP = 641,
|
||||
ACT_VM_ONEHANDED_TOSS_PREP_PULLOUT = 642,
|
||||
ACT_VM_ONEHANDED_TOSS_HOLD = 643,
|
||||
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT = 644,
|
||||
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT_LATE1 = 645,
|
||||
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT_LATE2 = 646,
|
||||
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT_LATE3 = 647,
|
||||
ACT_VM_ONEHANDED_SUSTAINED_DISCHARGE = 648,
|
||||
ACT_MP_STAND_IDLE = 649,
|
||||
ACT_MP_CROUCH_IDLE = 650,
|
||||
ACT_MP_CROUCH_DEPLOYED_IDLE = 651,
|
||||
ACT_MP_CROUCH_DEPLOYED = 652,
|
||||
ACT_MP_DEPLOYED_IDLE = 653,
|
||||
ACT_MP_RUN = 654,
|
||||
ACT_MP_RUN_FORWARD = 655,
|
||||
ACT_MP_RUN_BACKWARD = 656,
|
||||
ACT_MP_RUN_LEFT = 657,
|
||||
ACT_MP_RUN_RIGHT = 658,
|
||||
ACT_MP_STAGGERED_RUN = 659,
|
||||
ACT_MP_STAGGERED_RUN_FORWARD = 660,
|
||||
ACT_MP_STAGGERED_RUN_BACKWARD = 661,
|
||||
ACT_MP_STAGGERED_RUN_LEFT = 662,
|
||||
ACT_MP_STAGGERED_RUN_RIGHT = 663,
|
||||
ACT_MP_WALK = 664,
|
||||
ACT_MP_WALK_FORWARD = 665,
|
||||
ACT_MP_WALK_BACKWARD = 666,
|
||||
ACT_MP_WALK_LEFT = 667,
|
||||
ACT_MP_WALK_RIGHT = 668,
|
||||
ACT_MP_STAGGERED_WALK = 669,
|
||||
ACT_MP_STAGGERED_WALK_FORWARD = 670,
|
||||
ACT_MP_STAGGERED_WALK_BACKWARD = 671,
|
||||
ACT_MP_STAGGERED_WALK_LEFT = 672,
|
||||
ACT_MP_STAGGERED_WALK_RIGHT = 673,
|
||||
ACT_MP_AIRWALK = 674,
|
||||
ACT_MP_CROUCHWALK = 675,
|
||||
ACT_MP_CROUCHWALK_FORWARD = 676,
|
||||
ACT_MP_CROUCHWALK_BACKWARD = 677,
|
||||
ACT_MP_CROUCHWALK_LEFT = 678,
|
||||
ACT_MP_CROUCHWALK_RIGHT = 679,
|
||||
ACT_MP_STAGGERED_CROUCHWALK = 680,
|
||||
ACT_MP_STAGGERED_CROUCHWALK_FORWARD = 681,
|
||||
ACT_MP_STAGGERED_CROUCHWALK_BACKWARD = 682,
|
||||
ACT_MP_STAGGERED_CROUCHWALK_LEFT = 683,
|
||||
ACT_MP_STAGGERED_CROUCHWALK_RIGHT = 684,
|
||||
ACT_MP_SPRINT = 685,
|
||||
ACT_MP_STAGGERED_SPRINT = 686,
|
||||
ACT_MP_SLIDE = 687,
|
||||
ACT_MP_SLIDE_FORWARD = 688,
|
||||
ACT_MP_SLIDE_BACKWARD = 689,
|
||||
ACT_MP_SLIDE_LEFT = 690,
|
||||
ACT_MP_SLIDE_RIGHT = 691,
|
||||
ACT_MP_JUMP = 692,
|
||||
ACT_MP_JUMP_START = 693,
|
||||
ACT_MP_JUMP_FLOAT = 694,
|
||||
ACT_MP_JUMP_LAND = 695,
|
||||
ACT_MP_JUMP_LAND_FORWARD = 696,
|
||||
ACT_MP_JUMP_LAND_BACKWARD = 697,
|
||||
ACT_MP_JUMP_LAND_LEFT = 698,
|
||||
ACT_MP_JUMP_LAND_RIGHT = 699,
|
||||
ACT_MP_JUMP_LAND_LOW = 700,
|
||||
ACT_MP_JUMP_LAND_LOW_FORWARD = 701,
|
||||
ACT_MP_JUMP_LAND_LOW_BACKWARD = 702,
|
||||
ACT_MP_JUMP_LAND_LOW_LEFT = 703,
|
||||
ACT_MP_JUMP_LAND_LOW_RIGHT = 704,
|
||||
ACT_MP_JUMP_LAND_MEDIUM = 705,
|
||||
ACT_MP_JUMP_LAND_MEDIUM_FORWARD = 706,
|
||||
ACT_MP_JUMP_LAND_MEDIUM_BACKWARD = 707,
|
||||
ACT_MP_JUMP_LAND_MEDIUM_LEFT = 708,
|
||||
ACT_MP_JUMP_LAND_MEDIUM_RIGHT = 709,
|
||||
ACT_MP_JUMP_LAND_HIGH = 710,
|
||||
ACT_MP_JUMP_LAND_HIGH_FORWARD = 711,
|
||||
ACT_MP_JUMP_LAND_HIGH_BACKWARD = 712,
|
||||
ACT_MP_JUMP_LAND_HIGH_LEFT = 713,
|
||||
ACT_MP_JUMP_LAND_HIGH_RIGHT = 714,
|
||||
ACT_MP_JUMP_IMPACT_N = 715,
|
||||
ACT_MP_JUMP_IMPACT_E = 716,
|
||||
ACT_MP_JUMP_IMPACT_W = 717,
|
||||
ACT_MP_JUMP_IMPACT_S = 718,
|
||||
ACT_MP_JUMP_IMPACT_TOP = 719,
|
||||
ACT_MP_DOUBLEJUMP = 720,
|
||||
ACT_MP_DEPLOYED = 721,
|
||||
ACT_MP_VCD = 722,
|
||||
ACT_MP_DODGE = 723,
|
||||
ACT_MP_DODGE_FORWARD = 724,
|
||||
ACT_MP_DODGE_BACKWARD = 725,
|
||||
ACT_MP_DODGE_LEFT = 726,
|
||||
ACT_MP_DODGE_RIGHT = 727,
|
||||
ACT_MP_DODGE_FLOAT = 728,
|
||||
ACT_MP_DODGE_FLOAT_FORWARD = 729,
|
||||
ACT_MP_DODGE_FLOAT_BACKWARD = 730,
|
||||
ACT_MP_DODGE_FLOAT_LEFT = 731,
|
||||
ACT_MP_DODGE_FLOAT_RIGHT = 732,
|
||||
ACT_MP_DODGE_LAND = 733,
|
||||
ACT_MP_DODGE_LAND_FORWARD = 734,
|
||||
ACT_MP_DODGE_LAND_BACKWARD = 735,
|
||||
ACT_MP_DODGE_LAND_LEFT = 736,
|
||||
ACT_MP_DODGE_LAND_RIGHT = 737,
|
||||
ACT_MP_WALLRUN_UP = 738,
|
||||
ACT_MP_WALLRUN_LEFT = 739,
|
||||
ACT_MP_WALLRUN_RIGHT = 740,
|
||||
ACT_MP_WALLRUN_FALL_BACK = 741,
|
||||
ACT_MP_WALLRUN_FALL_FRONT = 742,
|
||||
ACT_MP_WALLRUN_FALL_LEFT = 743,
|
||||
ACT_MP_WALLRUN_FALL_RIGHT = 744,
|
||||
ACT_MP_WALLHANG_IDLE = 745,
|
||||
ACT_MP_WALLHANG_LEFT = 746,
|
||||
ACT_MP_WALLHANG_RIGHT = 747,
|
||||
ACT_MP_WALLHANG_UP = 748,
|
||||
ACT_MP_WALLHANG_FRONT = 749,
|
||||
ACT_MP_WALLJUMP_LEFT = 750,
|
||||
ACT_MP_WALLJUMP_RIGHT = 751,
|
||||
ACT_MP_WALLJUMP_UP = 752,
|
||||
ACT_MP_CROUCHSLIDE = 753,
|
||||
ACT_MP_CROUCHSLIDE_END_FORWARD = 754,
|
||||
ACT_MP_CROUCHSLIDE_END_BACKWARD_LEFT = 755,
|
||||
ACT_MP_CROUCHSLIDE_END_BACKWARD_RIGHT = 756,
|
||||
ACT_MP_CROUCHSLIDE_END_LEFT = 757,
|
||||
ACT_MP_CROUCHSLIDE_END_RIGHT = 758,
|
||||
ACT_MP_CROUCHSLIDE_AIR = 759,
|
||||
ACT_MP_GRAPPLE = 760,
|
||||
ACT_MP_GESTURE_GRAPPLE_FIRE = 761,
|
||||
ACT_MP_FREEFALL = 762,
|
||||
ACT_MP_FREEFALL_ANTICIPATE = 763,
|
||||
ACT_MP_FREEFALL_TRANSITION_TO_ANTICIPATE = 764,
|
||||
ACT_MP_FREEFALL_TRANSITION_FROM_ANTICIPATE = 765,
|
||||
ACT_MP_VEHICLE_DRIVER_IDLE = 766,
|
||||
ACT_MP_TRAVERSAL_WINDOW_LEFT = 767,
|
||||
ACT_MP_TRAVERSAL_WINDOW_RIGHT = 768,
|
||||
ACT_MP_MANTLE_BELOW = 769,
|
||||
ACT_MP_MANTLE_LEVEL = 770,
|
||||
ACT_MP_MANTLE_ABOVE = 771,
|
||||
ACT_MP_MANTLE_HIGH = 772,
|
||||
ACT_MP_MANTLE_CROUCH_BELOW = 773,
|
||||
ACT_MP_MANTLE_CROUCH_LEVEL = 774,
|
||||
ACT_MP_MANTLE_CROUCH_ABOVE = 775,
|
||||
ACT_MP_MANTLE_CROUCH_HIGH = 776,
|
||||
ACT_MP_MANTLE_IDLE = 777,
|
||||
ACT_MP_MANTLE_JUMPOFF = 778,
|
||||
ACT_MP_ATTACK_STAND_PRIMARYFIRE = 779,
|
||||
ACT_MP_ATTACK_STAND_SECONDARYFIRE = 780,
|
||||
ACT_MP_ATTACK_STAND_GRENADE = 781,
|
||||
ACT_MP_ATTACK_STAND_GRENADE_PULLOUT = 782,
|
||||
ACT_MP_ATTACK_CROUCH_PRIMARYFIRE = 783,
|
||||
ACT_MP_ATTACK_CROUCH_SECONDARYFIRE = 784,
|
||||
ACT_MP_ATTACK_CROUCH_GRENADE = 785,
|
||||
ACT_MP_ATTACK_AIRWALK_PRIMARYFIRE = 786,
|
||||
ACT_MP_ATTACK_AIRWALK_SECONDARYFIRE = 787,
|
||||
ACT_MP_ATTACK_AIRWALK_GRENADE = 788,
|
||||
ACT_MP_RELOAD_STAND = 789,
|
||||
ACT_MP_RELOAD_CROUCH = 790,
|
||||
ACT_MP_OFFHAND_START = 791,
|
||||
ACT_MP_OFFHAND_END = 792,
|
||||
ACT_MP_OFFHAND_FIRE = 793,
|
||||
ACT_MP_OFFHAND_CHARGING = 794,
|
||||
ACT_MP_OFFHAND_CHARGING_ALT_1 = 795,
|
||||
ACT_MP_OFFHAND_CHARGING_ALT_2 = 796,
|
||||
ACT_MP_OFFHAND_CHARGING_ALT_3 = 797,
|
||||
ACT_MP_OFFHAND_CHARGING_ALT_4 = 798,
|
||||
ACT_MP_MELEE = 799,
|
||||
ACT_MP_MELEE_KNIFE_FIRST = 800,
|
||||
ACT_MP_MELEE_KNIFE = 801,
|
||||
ACT_MP_EQUIP_FROM_RIFLE_TO_RIFLE = 802,
|
||||
ACT_MP_EQUIP_FROM_RIFLE_TO_PISTOL = 803,
|
||||
ACT_MP_EQUIP_FROM_RIFLE_TO_ROCKET = 804,
|
||||
ACT_MP_EQUIP_FROM_PISTOL_TO_PISTOL = 805,
|
||||
ACT_MP_EQUIP_FROM_PISTOL_TO_RIFLE = 806,
|
||||
ACT_MP_EQUIP_FROM_PISTOL_TO_ROCKET = 807,
|
||||
ACT_MP_EQUIP_FROM_ROCKET_TO_ROCKET = 808,
|
||||
ACT_MP_EQUIP_FROM_ROCKET_TO_RIFLE = 809,
|
||||
ACT_MP_EQUIP_FROM_ROCKET_TO_PISTOL = 810,
|
||||
ACT_MP_LOOT_IDLE_STAND = 811,
|
||||
ACT_MP_LOOT_IDLE_CROUCH = 812,
|
||||
ACT_TRANSITION_TO_DOWNED_FROM_STANDING = 813,
|
||||
ACT_TRANSITION_TO_STANDING_FROM_DOWNED = 814,
|
||||
ACT_MP_DOWNED_IDLE = 815,
|
||||
ACT_MP_DOWNED_CRAWL = 816,
|
||||
ACT_MP_DOWNED_CRAWL_FORWARD = 817,
|
||||
ACT_MP_DOWNED_CRAWL_BACKWARD = 818,
|
||||
ACT_MP_DOWNED_CRAWL_LEFT = 819,
|
||||
ACT_MP_DOWNED_CRAWL_RIGHT = 820,
|
||||
ACT_MP_MENU_LOBBY_LEFT_IDLE = 821,
|
||||
ACT_MP_MENU_LOBBY_CENTER_IDLE = 822,
|
||||
ACT_MP_MENU_LOBBY_RIGHT_IDLE = 823,
|
||||
ACT_MP_MENU_LOBBY_SELECT_IDLE = 824,
|
||||
ACT_MP_MENU_MAIN_INTRO = 825,
|
||||
ACT_MP_MENU_MAIN_IDLE = 826,
|
||||
ACT_MP_MENU_READYUP_INTRO = 827,
|
||||
ACT_MP_MENU_READYUP_IDLE = 828,
|
||||
ACT_MP_MENU_DETAILS_INTRO = 829,
|
||||
ACT_MP_MENU_DETAILS_IDLE = 830,
|
||||
ACT_MP_MENU_SQUAD_IDLE = 831,
|
||||
ACT_MP_MENU_GROUPSHOT_SLOT_A = 832,
|
||||
ACT_MP_MENU_GROUPSHOT_SLOT_B = 833,
|
||||
ACT_MP_MENU_GROUPSHOT_SLOT_C = 834,
|
||||
ACT_MP_MENU_LOOT_CEREMONY_IDLE = 835,
|
||||
ACT_MP_STAND_PRIMARY = 836,
|
||||
ACT_MP_CROUCH_PRIMARY = 837,
|
||||
ACT_MP_RUN_PRIMARY = 838,
|
||||
ACT_MP_WALK_PRIMARY = 839,
|
||||
ACT_MP_AIRWALK_PRIMARY = 840,
|
||||
ACT_MP_CROUCHWALK_PRIMARY = 841,
|
||||
ACT_MP_JUMP_PRIMARY = 842,
|
||||
ACT_MP_JUMP_START_PRIMARY = 843,
|
||||
ACT_MP_JUMP_FLOAT_PRIMARY = 844,
|
||||
ACT_MP_JUMP_LAND_PRIMARY = 845,
|
||||
ACT_MP_DEPLOYED_PRIMARY = 846,
|
||||
ACT_MP_STAND_SECONDARY = 847,
|
||||
ACT_MP_RUN_SECONDARY = 848,
|
||||
ACT_MP_STAND_MELEE = 849,
|
||||
ACT_MP_CROUCH_MELEE = 850,
|
||||
ACT_MP_RUN_MELEE = 851,
|
||||
ACT_MP_WALK_MELEE = 852,
|
||||
ACT_MP_AIRWALK_MELEE = 853,
|
||||
ACT_MP_CROUCHWALK_MELEE = 854,
|
||||
ACT_MP_JUMP_MELEE = 855,
|
||||
ACT_MP_JUMP_START_MELEE = 856,
|
||||
ACT_MP_JUMP_FLOAT_MELEE = 857,
|
||||
ACT_MP_JUMP_LAND_MELEE = 858,
|
||||
ACT_MP_GESTURE_FLINCH_BACKWARDS = 859,
|
||||
ACT_MP_GESTURE_FLINCH_LEFT = 860,
|
||||
ACT_MP_GESTURE_FLINCH_FORWARDS = 861,
|
||||
ACT_MP_GESTURE_FLINCH_RIGHT = 862,
|
||||
ACT_MP_DEATH_CRUSH = 863,
|
||||
ACT_MP_DEATH_GENERIC = 864,
|
||||
ACT_MP_DEATH_CROUCH = 865,
|
||||
ACT_MP_DEATH_WALK = 866,
|
||||
ACT_MP_DEATH_WALK_FORWARD = 867,
|
||||
ACT_MP_DEATH_WALK_BACKWARD = 868,
|
||||
ACT_MP_DEATH_WALK_LEFT = 869,
|
||||
ACT_MP_DEATH_WALK_RIGHT = 870,
|
||||
ACT_MP_DEATH_RUN = 871,
|
||||
ACT_MP_DEATH_RUN_FORWARD = 872,
|
||||
ACT_MP_DEATH_RUN_BACKWARD = 873,
|
||||
ACT_MP_DEATH_RUN_LEFT = 874,
|
||||
ACT_MP_DEATH_RUN_RIGHT = 875,
|
||||
ACT_MP_DEATH_SPRINT = 876,
|
||||
ACT_MP_DEATH_SPRINT_FORWARD = 877,
|
||||
ACT_MP_RUN_SPEEDPAINT_PRIMARY = 878,
|
||||
ACT_MP_DROWNING_PRIMARY = 879,
|
||||
ACT_MP_LONG_FALL_PRIMARY = 880,
|
||||
ACT_MP_TRACTORBEAM_FLOAT_PRIMARY = 881,
|
||||
ACT_MP_DEATH_CRUSH_PRIMARY = 882,
|
||||
};
|
||||
|
||||
#endif // AI_ACTIVITY_H
|
41
src/game/shared/simtimer.cpp
Normal file
41
src/game/shared/simtimer.cpp
Normal file
@ -0,0 +1,41 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
/*
|
||||
#include "cbase.h"
|
||||
#include "simtimer.h"
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
BEGIN_SIMPLE_DATADESC(CSimpleSimTimer)
|
||||
DEFINE_FIELD(m_next, FIELD_TIME),
|
||||
END_DATADESC()
|
||||
|
||||
BEGIN_SIMPLE_DATADESC_(CSimTimer, CSimpleSimTimer)
|
||||
DEFINE_FIELD(m_interval, FIELD_FLOAT),
|
||||
END_DATADESC()
|
||||
|
||||
BEGIN_SIMPLE_DATADESC_(CRandSimTimer, CSimpleSimTimer)
|
||||
DEFINE_FIELD(m_minInterval, FIELD_FLOAT),
|
||||
DEFINE_FIELD(m_maxInterval, FIELD_FLOAT),
|
||||
END_DATADESC()
|
||||
|
||||
BEGIN_SIMPLE_DATADESC_(CStopwatchBase, CSimpleSimTimer)
|
||||
DEFINE_FIELD(m_fIsRunning, FIELD_BOOLEAN),
|
||||
END_DATADESC()
|
||||
|
||||
BEGIN_SIMPLE_DATADESC_(CStopwatch, CStopwatchBase)
|
||||
DEFINE_FIELD(m_interval, FIELD_FLOAT),
|
||||
END_DATADESC()
|
||||
|
||||
BEGIN_SIMPLE_DATADESC_(CRandStopwatch, CStopwatchBase)
|
||||
DEFINE_FIELD(m_minInterval, FIELD_FLOAT),
|
||||
DEFINE_FIELD(m_maxInterval, FIELD_FLOAT),
|
||||
END_DATADESC()
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
351
src/game/shared/simtimer.h
Normal file
351
src/game/shared/simtimer.h
Normal file
@ -0,0 +1,351 @@
|
||||
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#include <game/server/gameinterface.h>
|
||||
#ifndef SIMTIMER_H
|
||||
#define SIMTIMER_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#define ST_EPS 0.001
|
||||
|
||||
#define DEFINE_SIMTIMER( type, name ) DEFINE_EMBEDDED( type, name )
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class CSimpleSimTimer
|
||||
{
|
||||
public:
|
||||
CSimpleSimTimer()
|
||||
: m_next( -1 )
|
||||
{
|
||||
}
|
||||
|
||||
void Force()
|
||||
{
|
||||
m_next = -1;
|
||||
}
|
||||
|
||||
bool Expired() const
|
||||
{
|
||||
return ( (*g_pGlobals)->m_flCurTime - m_next > -ST_EPS );
|
||||
}
|
||||
|
||||
float Delay( float delayTime )
|
||||
{
|
||||
return (m_next += delayTime);
|
||||
}
|
||||
|
||||
float GetNext() const
|
||||
{
|
||||
return m_next;
|
||||
}
|
||||
|
||||
void Set( float interval )
|
||||
{
|
||||
m_next = (*g_pGlobals)->m_flCurTime + interval;
|
||||
}
|
||||
|
||||
// TODO: get CUniformRandomStream global, see 141809528 for global!!!
|
||||
//void Set( float minInterval, float maxInterval )
|
||||
//{
|
||||
// if ( maxInterval > 0.0 )
|
||||
// m_next = (*g_pGlobals)->m_flCurTime + random->RandomFloat( minInterval, maxInterval );
|
||||
// else
|
||||
// m_next = (*g_pGlobals)->m_flCurTime + minInterval;
|
||||
//}
|
||||
|
||||
float GetRemaining() const
|
||||
{
|
||||
float result = m_next - (*g_pGlobals)->m_flCurTime;
|
||||
if (result < 0 )
|
||||
return 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
|
||||
protected:
|
||||
float m_next;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class CSimTimer : public CSimpleSimTimer
|
||||
{
|
||||
public:
|
||||
CSimTimer( float interval = 0.0f, bool startExpired = true )
|
||||
{
|
||||
Set( interval, startExpired );
|
||||
}
|
||||
|
||||
void Set( float interval, bool startExpired = true )
|
||||
{
|
||||
m_interval = interval;
|
||||
m_next = (startExpired) ? -1.0f : (*g_pGlobals)->m_flCurTime + m_interval;
|
||||
}
|
||||
|
||||
void Reset( float interval = -1.0f )
|
||||
{
|
||||
if ( interval == -1.0f )
|
||||
{
|
||||
m_next = (*g_pGlobals)->m_flCurTime + m_interval;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_next = (*g_pGlobals)->m_flCurTime + interval;
|
||||
}
|
||||
}
|
||||
|
||||
float GetInterval() const
|
||||
{
|
||||
return m_interval;
|
||||
}
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
|
||||
private:
|
||||
float m_interval;
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class CRandSimTimer : public CSimpleSimTimer
|
||||
{
|
||||
public:
|
||||
// TODO: get CUniformRandomStream global, see 141809528 for global!!!
|
||||
//CRandSimTimer( float minInterval = 0.0, float maxInterval = 0.0, bool startExpired = true )
|
||||
//{
|
||||
// Set( minInterval, maxInterval, startExpired );
|
||||
//}
|
||||
|
||||
//void Set( float minInterval, float maxInterval = 0.0, bool startExpired = true )
|
||||
//{
|
||||
// m_minInterval = minInterval;
|
||||
// m_maxInterval = maxInterval;
|
||||
//
|
||||
// if (startExpired)
|
||||
// {
|
||||
// m_next = -1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if ( m_maxInterval == 0 )
|
||||
// m_next = (*g_pGlobals)->m_flCurTime + m_minInterval;
|
||||
// else
|
||||
// m_next = (*g_pGlobals)->m_flCurTime + random->RandomFloat( m_minInterval, m_maxInterval );
|
||||
// }
|
||||
//}
|
||||
|
||||
//void Reset()
|
||||
//{
|
||||
// if ( m_maxInterval == 0 )
|
||||
// m_next = (*g_pGlobals)->m_flCurTime + m_minInterval;
|
||||
// else
|
||||
// m_next = (*g_pGlobals)->m_flCurTime + random->RandomFloat( m_minInterval, m_maxInterval );
|
||||
//}
|
||||
|
||||
float GetMinInterval() const
|
||||
{
|
||||
return m_minInterval;
|
||||
}
|
||||
|
||||
float GetMaxInterval() const
|
||||
{
|
||||
return m_maxInterval;
|
||||
}
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
|
||||
private:
|
||||
float m_minInterval;
|
||||
float m_maxInterval;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class CStopwatchBase : public CSimpleSimTimer
|
||||
{
|
||||
public:
|
||||
CStopwatchBase()
|
||||
{
|
||||
m_fIsRunning = false;
|
||||
}
|
||||
|
||||
bool IsRunning() const
|
||||
{
|
||||
return m_fIsRunning;
|
||||
}
|
||||
|
||||
void Stop()
|
||||
{
|
||||
m_fIsRunning = false;
|
||||
}
|
||||
|
||||
bool Expired() const
|
||||
{
|
||||
return ( m_fIsRunning && CSimpleSimTimer::Expired() );
|
||||
}
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
|
||||
protected:
|
||||
bool m_fIsRunning;
|
||||
|
||||
};
|
||||
|
||||
//-------------------------------------
|
||||
class CSimpleStopwatch : public CStopwatchBase
|
||||
{
|
||||
public:
|
||||
// TODO: get CUniformRandomStream global, see 141809528 for global!!!
|
||||
//void Start( float minCountdown, float maxCountdown = 0.0 )
|
||||
//{
|
||||
// m_fIsRunning = true;
|
||||
// CSimpleSimTimer::Set( minCountdown, maxCountdown );
|
||||
//}
|
||||
|
||||
void Stop()
|
||||
{
|
||||
m_fIsRunning = false;
|
||||
}
|
||||
|
||||
bool Expired() const
|
||||
{
|
||||
return ( m_fIsRunning && CSimpleSimTimer::Expired() );
|
||||
}
|
||||
};
|
||||
//-------------------------------------
|
||||
|
||||
class CStopwatch : public CStopwatchBase
|
||||
{
|
||||
public:
|
||||
CStopwatch ( float interval = 0.0 )
|
||||
{
|
||||
Set( interval );
|
||||
}
|
||||
|
||||
void Set( float interval )
|
||||
{
|
||||
m_interval = interval;
|
||||
}
|
||||
|
||||
void Start( float intervalOverride )
|
||||
{
|
||||
m_fIsRunning = true;
|
||||
m_next = (*g_pGlobals)->m_flCurTime + intervalOverride;
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
Start( m_interval );
|
||||
}
|
||||
|
||||
float GetInterval() const
|
||||
{
|
||||
return m_interval;
|
||||
}
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
|
||||
private:
|
||||
float m_interval;
|
||||
};
|
||||
|
||||
//-------------------------------------
|
||||
|
||||
class CRandStopwatch : public CStopwatchBase
|
||||
{
|
||||
public:
|
||||
CRandStopwatch( float minInterval = 0.0, float maxInterval = 0.0 )
|
||||
{
|
||||
Set( minInterval, maxInterval );
|
||||
}
|
||||
|
||||
void Set( float minInterval, float maxInterval = 0.0 )
|
||||
{
|
||||
m_minInterval = minInterval;
|
||||
m_maxInterval = maxInterval;
|
||||
}
|
||||
|
||||
// TODO: get CUniformRandomStream global, see 141809528 for global!!!
|
||||
//void Start( float minOverride, float maxOverride = 0.0 )
|
||||
//{
|
||||
// m_fIsRunning = true;
|
||||
// if ( maxOverride == 0 )
|
||||
// m_next = (*g_pGlobals)->m_flCurTime + minOverride;
|
||||
// else
|
||||
// m_next = (*g_pGlobals)->m_flCurTime + random->RandomFloat( minOverride, maxOverride );
|
||||
//}
|
||||
|
||||
//void Start()
|
||||
//{
|
||||
// Start( m_minInterval, m_maxInterval );
|
||||
//}
|
||||
|
||||
float GetInterval() const
|
||||
{
|
||||
return m_minInterval;
|
||||
}
|
||||
|
||||
float GetMinInterval() const
|
||||
{
|
||||
return m_minInterval;
|
||||
}
|
||||
|
||||
float GetMaxInterval() const
|
||||
{
|
||||
return m_maxInterval;
|
||||
}
|
||||
|
||||
//DECLARE_SIMPLE_DATADESC();
|
||||
|
||||
private:
|
||||
float m_minInterval;
|
||||
float m_maxInterval;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class CThinkOnceSemaphore
|
||||
{
|
||||
public:
|
||||
CThinkOnceSemaphore()
|
||||
: m_lastTime( -1 )
|
||||
{
|
||||
}
|
||||
|
||||
bool EnterThink()
|
||||
{
|
||||
if ( m_lastTime == (*g_pGlobals)->m_flCurTime)
|
||||
return false;
|
||||
m_lastTime = (*g_pGlobals)->m_flCurTime;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DidThink() const
|
||||
{
|
||||
return ( (*g_pGlobals)->m_flCurTime == m_lastTime );
|
||||
|
||||
}
|
||||
|
||||
void SetDidThink()
|
||||
{
|
||||
m_lastTime = (*g_pGlobals)->m_flCurTime;
|
||||
}
|
||||
|
||||
private:
|
||||
float m_lastTime;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#endif // SIMTIMER_H
|
25
src/game/shared/status_effect.h
Normal file
25
src/game/shared/status_effect.h
Normal file
@ -0,0 +1,25 @@
|
||||
//=============================================================================//
|
||||
//
|
||||
// Purpose: Status Effect code and script definitions
|
||||
//
|
||||
//=============================================================================//
|
||||
#ifndef STATUS_EFFECT_H
|
||||
#define STATUS_EFFECT_H
|
||||
|
||||
struct StatusEffectTimedData
|
||||
{
|
||||
char gap_0[8];
|
||||
int seComboVars;
|
||||
float seTimeEnd;
|
||||
float seEaseOut;
|
||||
float sePausedTimeRemaining;
|
||||
};
|
||||
|
||||
struct StatusEffectEndlessData
|
||||
{
|
||||
char gap_0[8];
|
||||
int seComboVars;
|
||||
char gap_c[4];
|
||||
};
|
||||
|
||||
#endif // STATUS_EFFECT_H
|
@ -9,6 +9,7 @@
|
||||
#include "tier1/utlbuffer.h"
|
||||
#include "game/shared/in_buttons.h"
|
||||
#include "game/shared/weapon_types.h"
|
||||
#include "game/shared/shared_activity.h"
|
||||
|
||||
ConVar usercmd_frametime_max("usercmd_frametime_max", "0.100" , FCVAR_REPLICATED | FCVAR_DEVELOPMENTONLY, "The largest amount of simulation seconds a UserCmd can have." );
|
||||
ConVar usercmd_frametime_min("usercmd_frametime_min", "0.002857", FCVAR_REPLICATED | FCVAR_DEVELOPMENTONLY, "The smallest amount of simulation seconds a UserCmd can have.");
|
||||
|
@ -1,897 +1,6 @@
|
||||
#ifndef WEAPON_TYPES_H
|
||||
#define WEAPON_TYPES_H
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Weapon activity enumerants; used as constants for scripts.
|
||||
//-----------------------------------------------------------------------------
|
||||
enum WeaponActivity_t
|
||||
{
|
||||
ACT_NONE = -1,
|
||||
ACT_RESET = 0,
|
||||
ACT_IDLE_CASUAL = 1,
|
||||
ACT_IDLE = 2,
|
||||
ACT_IDLE_COMBAT = 3,
|
||||
ACT_IDLE_COMBAT_AIM = 4,
|
||||
ACT_IDLE_SCAN = 5,
|
||||
ACT_TRANSITION = 6,
|
||||
ACT_COVER = 7,
|
||||
ACT_COVER_MED = 8,
|
||||
ACT_COVER_LOW = 9,
|
||||
ACT_WALK_CASUAL = 10,
|
||||
ACT_WALK = 11,
|
||||
ACT_WALK_AIM = 12,
|
||||
ACT_WALK_AIM_FORWARD = 13,
|
||||
ACT_WALK_AIM_BACKWARD = 14,
|
||||
ACT_WALK_AIM_LEFT = 15,
|
||||
ACT_WALK_AIM_RIGHT = 16,
|
||||
ACT_WALK_CROUCH = 17,
|
||||
ACT_WALK_CROUCH_AIM = 18,
|
||||
ACT_WALK_STUMBLE = 19,
|
||||
ACT_RUN = 20,
|
||||
ACT_RUN_FORWARD = 21,
|
||||
ACT_RUN_BACKWARD = 22,
|
||||
ACT_RUN_LEFT = 23,
|
||||
ACT_RUN_RIGHT = 24,
|
||||
ACT_RUN_UP = 25,
|
||||
ACT_RUN_DOWN = 26,
|
||||
ACT_RUN_AIM = 27,
|
||||
ACT_RUN_AIM_FORWARD = 28,
|
||||
ACT_RUN_AIM_BACKWARD = 29,
|
||||
ACT_RUN_AIM_LEFT = 30,
|
||||
ACT_RUN_AIM_RIGHT = 31,
|
||||
ACT_RUN_AIM_UP = 32,
|
||||
ACT_RUN_AIM_DOWN = 33,
|
||||
ACT_RUN_CROUCH = 34,
|
||||
ACT_RUN_CROUCH_AIM = 35,
|
||||
ACT_SPRINT_UNARMED = 36,
|
||||
ACT_SPRINT = 37,
|
||||
ACT_SPRINT_FORWARD = 38,
|
||||
ACT_SPRINT_BACKWARD = 39,
|
||||
ACT_SPRINT_LEFT = 40,
|
||||
ACT_SPRINT_RIGHT = 41,
|
||||
ACT_SPRINT_RUNAWAY = 42,
|
||||
ACT_SCRIPT_CUSTOM_MOVE = 43,
|
||||
ACT_SCRIPT_CUSTOM_ATTACK = 44,
|
||||
ACT_SCRIPT_CUSTOM_ATTACK2 = 45,
|
||||
ACT_RANGE_ATTACK1 = 46,
|
||||
ACT_RANGE_ATTACK1_EVASIVE = 47,
|
||||
ACT_RANGE_ATTACK1_SINGLE = 48,
|
||||
ACT_RANGE_ATTACK1_LOW = 49,
|
||||
ACT_RANGE_ATTACK1_LOW_SINGLE = 50,
|
||||
ACT_RANGE_ATTACK2 = 51,
|
||||
ACT_RANGE_ATTACK_TWITCH = 52,
|
||||
ACT_SPECIAL_ATTACK_START = 53,
|
||||
ACT_SPECIAL_ATTACK = 54,
|
||||
ACT_SPECIAL_ATTACK_END = 55,
|
||||
ACT_THROW_GRENADE = 56,
|
||||
ACT_FLY = 57,
|
||||
ACT_FALL = 58,
|
||||
ACT_FALL_RECOVERY = 59,
|
||||
ACT_JUMP = 60,
|
||||
ACT_JUMP_START = 61,
|
||||
ACT_JUMP_FLOAT = 62,
|
||||
ACT_JUMP_LAND = 63,
|
||||
ACT_DOUBLEJUMP = 64,
|
||||
ACT_LAND = 65,
|
||||
ACT_CLIMB_UP = 66,
|
||||
ACT_CLIMB_DOWN = 67,
|
||||
ACT_CLIMB_DISMOUNT = 68,
|
||||
ACT_WALLRUN_LEFT = 69,
|
||||
ACT_WALLRUN_RIGHT = 70,
|
||||
ACT_WALLJUMP_LEFT = 71,
|
||||
ACT_WALLJUMP_RIGHT = 72,
|
||||
ACT_CROUCH = 73,
|
||||
ACT_CROUCHIDLE = 74,
|
||||
ACT_CROUCHIDLE_SCAN = 75,
|
||||
ACT_CROUCHIDLE_AIM = 76,
|
||||
ACT_STAND = 77,
|
||||
ACT_SIGNAL_ADVANCE = 78,
|
||||
ACT_SIGNAL_FORWARD = 79,
|
||||
ACT_SIGNAL_GROUP = 80,
|
||||
ACT_SIGNAL_HALT = 81,
|
||||
ACT_SIGNAL_LEFT = 82,
|
||||
ACT_SIGNAL_RIGHT = 83,
|
||||
ACT_SIGNAL_TAKECOVER = 84,
|
||||
ACT_SIGNAL_ACKNOWLEDGE = 85,
|
||||
ACT_SIGNAL_SALUTE = 86,
|
||||
ACT_SIGNAL_SALUTE_HIGH = 87,
|
||||
ACT_SIGNAL_SALUTE_CROUCH = 88,
|
||||
ACT_SIGNAL_FORWARD_CROUCH = 89,
|
||||
ACT_SIGNAL_TAUNT = 90,
|
||||
ACT_SIGNAL_ENRAGE = 91,
|
||||
ACT_SHOOTING_COVER_IDLE = 92,
|
||||
ACT_SHOOTING_COVER_IDLE_L = 93,
|
||||
ACT_SHOOTING_COVER_IDLE_R = 94,
|
||||
ACT_SHOOTING_COVER_CHECK = 95,
|
||||
ACT_SHOOTING_COVER_CHECK_L = 96,
|
||||
ACT_SHOOTING_COVER_CHECK_R = 97,
|
||||
ACT_SHOOTING_COVER_ADVANCE_FORWARD = 98,
|
||||
ACT_SHOOTING_COVER_ADVANCE_FORWARD_L = 99,
|
||||
ACT_SHOOTING_COVER_ADVANCE_FORWARD_R = 100,
|
||||
ACT_SHOOTING_COVER_RETREAT_BACKWARD = 101,
|
||||
ACT_SHOOTING_COVER_RETREAT_BACKWARD_L = 102,
|
||||
ACT_SHOOTING_COVER_RETREAT_BACKWARD_R = 103,
|
||||
ACT_SHOOTING_COVER_ADVANCE_SIDELEAN = 104,
|
||||
ACT_SHOOTING_COVER_ADVANCE_SIDELEAN_L = 105,
|
||||
ACT_SHOOTING_COVER_ADVANCE_SIDELEAN_R = 106,
|
||||
ACT_SHOOTING_COVER_RETREAT_SIDELEAN = 107,
|
||||
ACT_SHOOTING_COVER_RETREAT_SIDELEAN_L = 108,
|
||||
ACT_SHOOTING_COVER_RETREAT_SIDELEAN_R = 109,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_SIDE_L = 110,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_SIDE_R = 111,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_45_L = 112,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_45_R = 113,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_FRONT_L = 114,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_FRONT_R = 115,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_FRONT_INV_L = 116,
|
||||
ACT_SHOOTING_COVER_ARRIVAL_FRONT_INV_R = 117,
|
||||
ACT_SHOOTING_COVER_GRENADE = 118,
|
||||
ACT_SHOOTING_COVER_GRENADE_L = 119,
|
||||
ACT_SHOOTING_COVER_GRENADE_R = 120,
|
||||
ACT_SHOOTING_COVER_GRENADE_ADVANCE = 121,
|
||||
ACT_SHOOTING_COVER_GRENADE_ADVANCE_L = 122,
|
||||
ACT_SHOOTING_COVER_GRENADE_ADVANCE_R = 123,
|
||||
ACT_DISENGAGE = 124,
|
||||
ACT_COWER = 125,
|
||||
ACT_BRACE = 126,
|
||||
ACT_MELEE_ATTACK1 = 127,
|
||||
ACT_MELEE_ATTACK_WAIT = 128,
|
||||
ACT_MELEE_HIGH = 129,
|
||||
ACT_MELEE_CHARGE = 130,
|
||||
ACT_MELEE_CHARGE_HIT = 131,
|
||||
ACT_MELEE_CHARGE_MISS = 132,
|
||||
ACT_MELEE_CHARGE_HIGH = 133,
|
||||
ACT_MELEE_CHARGE_HIGH_HIT = 134,
|
||||
ACT_MELEE_CHARGE_HIGH_MISS = 135,
|
||||
ACT_MELEE_RAM = 136,
|
||||
ACT_MELEE_LEFT = 137,
|
||||
ACT_MELEE_RIGHT = 138,
|
||||
ACT_MELEE_BACK = 139,
|
||||
ACT_MELEE_JUMP_UP = 140,
|
||||
ACT_RELOAD = 141,
|
||||
ACT_RELOAD_LOW = 142,
|
||||
ACT_SWITCH_WEAPON = 143,
|
||||
ACT_ARM = 144,
|
||||
ACT_DISARM = 145,
|
||||
ACT_VICTORY_DANCE = 146,
|
||||
ACT_DIESIMPLE = 147,
|
||||
ACT_DIEBACKWARD = 148,
|
||||
ACT_DIEFORWARD = 149,
|
||||
ACT_DIE_LEFT = 150,
|
||||
ACT_DIE_RIGHT = 151,
|
||||
ACT_DIERAGDOLL = 152,
|
||||
ACT_DIE_HEADSHOT = 153,
|
||||
ACT_DIE_CHESTSHOT = 154,
|
||||
ACT_DIE_GUTSHOT = 155,
|
||||
ACT_DIE_BACKSHOT = 156,
|
||||
ACT_DIE_FRONT_CROUCH = 157,
|
||||
ACT_DIE_BACK_CROUCH = 158,
|
||||
ACT_DIE_RUNNING = 159,
|
||||
ACT_DIE_INSTANT_STANDING = 160,
|
||||
ACT_DIE_INSTANT_RUNNING = 161,
|
||||
ACT_DIE_INSTANT_CROUCH = 162,
|
||||
ACT_DIE_KNOCKBACK_FORWARD = 163,
|
||||
ACT_DIE_KNOCKBACK_LEFT = 164,
|
||||
ACT_DIE_KNOCKBACK_RIGHT = 165,
|
||||
ACT_DIE_KNOCKBACK_BACK = 166,
|
||||
ACT_DIE_GRAPPLE = 167,
|
||||
ACT_DIE_BLEEDOUT = 168,
|
||||
ACT_DIE_DOWNED_KILL = 169,
|
||||
ACT_SMALL_FLINCH = 170,
|
||||
ACT_BIG_FLINCH = 171,
|
||||
ACT_STUNNED = 172,
|
||||
ACT_FLINCH_HEAD = 173,
|
||||
ACT_FLINCH_CHEST = 174,
|
||||
ACT_FLINCH_STOMACH = 175,
|
||||
ACT_FLINCH_LEFTARM = 176,
|
||||
ACT_FLINCH_RIGHTARM = 177,
|
||||
ACT_FLINCH_LEFTLEG = 178,
|
||||
ACT_FLINCH_RIGHTLEG = 179,
|
||||
ACT_FLINCH_CROUCH_FRONT = 180,
|
||||
ACT_FLINCH_CROUCH_BACK = 181,
|
||||
ACT_FLINCH_CROUCH_LEFT = 182,
|
||||
ACT_FLINCH_CROUCH_RIGHT = 183,
|
||||
ACT_FLINCH_RUNNING = 184,
|
||||
ACT_FLINCH_RUNNING_BUMP = 185,
|
||||
ACT_FLINCH_RAM_CRASH = 186,
|
||||
ACT_FLINCH_GRAPPLE = 187,
|
||||
ACT_FLINCH_KNOCKBACK_FORWARD = 188,
|
||||
ACT_FLINCH_KNOCKBACK_LEFT = 189,
|
||||
ACT_FLINCH_KNOCKBACK_RIGHT = 190,
|
||||
ACT_FLINCH_KNOCKBACK_BACK = 191,
|
||||
ACT_45_LEFT = 192,
|
||||
ACT_45_RIGHT = 193,
|
||||
ACT_90_LEFT = 194,
|
||||
ACT_90_RIGHT = 195,
|
||||
ACT_180_LEFT = 196,
|
||||
ACT_180_RIGHT = 197,
|
||||
ACT_45_LEFT_CROUCH = 198,
|
||||
ACT_45_RIGHT_CROUCH = 199,
|
||||
ACT_90_LEFT_CROUCH = 200,
|
||||
ACT_90_RIGHT_CROUCH = 201,
|
||||
ACT_180_LEFT_CROUCH = 202,
|
||||
ACT_180_RIGHT_CROUCH = 203,
|
||||
ACT_45_LEFT_NONCOMBAT = 204,
|
||||
ACT_45_RIGHT_NONCOMBAT = 205,
|
||||
ACT_90_LEFT_NONCOMBAT = 206,
|
||||
ACT_90_RIGHT_NONCOMBAT = 207,
|
||||
ACT_180_LEFT_NONCOMBAT = 208,
|
||||
ACT_180_RIGHT_NONCOMBAT = 209,
|
||||
ACT_GESTURE_RANGE_ATTACK1 = 210,
|
||||
ACT_GESTURE_GUN_UP = 211,
|
||||
ACT_GESTURE_THREAT_DISPLAY = 212,
|
||||
ACT_GESTURE_BLOCK = 213,
|
||||
ACT_GESTURE_MELEE_ATTACK1 = 214,
|
||||
ACT_GESTURE_MELEE_ATTACK2 = 215,
|
||||
ACT_GESTURE_MELEE_ATTACK3 = 216,
|
||||
ACT_GESTURE_SMALL_FLINCH = 217,
|
||||
ACT_GESTURE_BIG_FLINCH = 218,
|
||||
ACT_GESTURE_FLINCH_BLAST = 219,
|
||||
ACT_GESTURE_FLINCH_BLAST_SHOTGUN = 220,
|
||||
ACT_GESTURE_FLINCH_BLAST_DAMAGED = 221,
|
||||
ACT_GESTURE_FLINCH_BLAST_DAMAGED_SHOTGUN = 222,
|
||||
ACT_GESTURE_FLINCH_HEAD = 223,
|
||||
ACT_GESTURE_FLINCH_CHEST = 224,
|
||||
ACT_GESTURE_FLINCH_STOMACH = 225,
|
||||
ACT_GESTURE_FLINCH_LEFTARM = 226,
|
||||
ACT_GESTURE_FLINCH_RIGHTARM = 227,
|
||||
ACT_GESTURE_FLINCH_LEFTLEG = 228,
|
||||
ACT_GESTURE_FLINCH_RIGHTLEG = 229,
|
||||
ACT_GESTURE_TURN_LEFT = 230,
|
||||
ACT_GESTURE_TURN_RIGHT = 231,
|
||||
ACT_GESTURE_TURN_LEFT45 = 232,
|
||||
ACT_GESTURE_TURN_RIGHT45 = 233,
|
||||
ACT_GESTURE_TURN_LEFT90 = 234,
|
||||
ACT_GESTURE_TURN_RIGHT90 = 235,
|
||||
ACT_GESTURE_TURN_LEFT45_FLAT = 236,
|
||||
ACT_GESTURE_TURN_RIGHT45_FLAT = 237,
|
||||
ACT_GESTURE_TURN_LEFT90_FLAT = 238,
|
||||
ACT_GESTURE_TURN_RIGHT90_FLAT = 239,
|
||||
ACT_RANGE_ATTACK_SMG1 = 240,
|
||||
ACT_GESTURE_RELOAD = 241,
|
||||
ACT_DODGE_FORWARD = 242,
|
||||
ACT_DODGE_BACKWARD = 243,
|
||||
ACT_DODGE_LEFT = 244,
|
||||
ACT_DODGE_RIGHT = 245,
|
||||
ACT_DODGE_LEFT_FAR = 246,
|
||||
ACT_DODGE_RIGHT_FAR = 247,
|
||||
ACT_DODGE_LEFT_RUN = 248,
|
||||
ACT_DODGE_RIGHT_RUN = 249,
|
||||
ACT_DODGE_LEFT_WALLHOP = 250,
|
||||
ACT_DODGE_RIGHT_WALLHOP = 251,
|
||||
ACT_OPEN_DOOR = 252,
|
||||
ACT_IDLE_CARRY = 253,
|
||||
ACT_WALK_CARRY = 254,
|
||||
ACT_DEPLOY = 255,
|
||||
ACT_DEPLOY_IDLE = 256,
|
||||
ACT_UNDEPLOY = 257,
|
||||
ACT_REACT_JUMPED_OVER = 258,
|
||||
ACT_REACT_SURPRISED = 259,
|
||||
ACT_REACT_SURPRISED_LEFT = 260,
|
||||
ACT_REACT_SURPRISED_RIGHT = 261,
|
||||
ACT_REACT_SURPRISED_BACK = 262,
|
||||
ACT_REACT_BULLET = 263,
|
||||
ACT_REACT_BULLET_FAR = 264,
|
||||
ACT_REACT_CLOAK_APPEAR_NEAR = 265,
|
||||
ACT_REACT_CLOAK_APPEAR_FAR = 266,
|
||||
ACT_REACT_CLOAK_DISAPPEAR_NEAR = 267,
|
||||
ACT_REACT_CLOAK_DISAPPEAR_FAR = 268,
|
||||
ACT_SEARCH_AREA_CLEAR = 269,
|
||||
ACT_SEARCH_LOOK_AROUND = 270,
|
||||
ACT_SEARCH_CORPSE = 271,
|
||||
ACT_SEARCH_WALK = 272,
|
||||
ACT_SEARCH_LEAD_WALK = 273,
|
||||
ACT_RUN_CHECK_LEFT = 274,
|
||||
ACT_RUN_CHECK_RIGHT = 275,
|
||||
ACT_RUN_PEEK_CORNER_LEFT = 276,
|
||||
ACT_RUN_PEEK_CORNER_RIGHT = 277,
|
||||
ACT_PIE_OFF_LEFT = 278,
|
||||
ACT_PIE_OFF_RIGHT = 279,
|
||||
ACT_PIE_OFF_AND_BACK_LEFT = 280,
|
||||
ACT_PIE_OFF_AND_BACK_RIGHT = 281,
|
||||
ACT_RELOAD_DODGE_LEFT = 282,
|
||||
ACT_RELOAD_DODGE_RIGHT = 283,
|
||||
ACT_STAND_TO_CRAWL = 284,
|
||||
ACT_STAND_TO_STAGGER = 285,
|
||||
ACT_STAND_TO_RUN_180_RIGHT = 286,
|
||||
ACT_STAND_TO_RUN_135_RIGHT = 287,
|
||||
ACT_STAND_TO_RUN_90_RIGHT = 288,
|
||||
ACT_STAND_TO_RUN_45_RIGHT = 289,
|
||||
ACT_STAND_TO_RUN_FORWARD = 290,
|
||||
ACT_STAND_TO_RUN_45_LEFT = 291,
|
||||
ACT_STAND_TO_RUN_90_LEFT = 292,
|
||||
ACT_STAND_TO_RUN_135_LEFT = 293,
|
||||
ACT_STAND_TO_RUN_180_LEFT = 294,
|
||||
ACT_STAND_TO_WALK_180_RIGHT = 295,
|
||||
ACT_STAND_TO_WALK_135_RIGHT = 296,
|
||||
ACT_STAND_TO_WALK_90_RIGHT = 297,
|
||||
ACT_STAND_TO_WALK_45_RIGHT = 298,
|
||||
ACT_STAND_TO_WALK_FORWARD = 299,
|
||||
ACT_STAND_TO_WALK_45_LEFT = 300,
|
||||
ACT_STAND_TO_WALK_90_LEFT = 301,
|
||||
ACT_STAND_TO_WALK_135_LEFT = 302,
|
||||
ACT_STAND_TO_WALK_180_LEFT = 303,
|
||||
ACT_STAND_TO_WALK_CASUAL_180_RIGHT = 304,
|
||||
ACT_STAND_TO_WALK_CASUAL_135_RIGHT = 305,
|
||||
ACT_STAND_TO_WALK_CASUAL_90_RIGHT = 306,
|
||||
ACT_STAND_TO_WALK_CASUAL_45_RIGHT = 307,
|
||||
ACT_STAND_TO_WALK_CASUAL_FORWARD = 308,
|
||||
ACT_STAND_TO_WALK_CASUAL_45_LEFT = 309,
|
||||
ACT_STAND_TO_WALK_CASUAL_90_LEFT = 310,
|
||||
ACT_STAND_TO_WALK_CASUAL_135_LEFT = 311,
|
||||
ACT_STAND_TO_WALK_CASUAL_180_LEFT = 312,
|
||||
ACT_STAND_TO_STRAFE_RIGHT = 313,
|
||||
ACT_STAND_TO_STRAFE_LEFT = 314,
|
||||
ACT_STAND_TO_BACKPEDAL = 315,
|
||||
ACT_CROUCH_TO_STRAFE_RIGHT = 316,
|
||||
ACT_CROUCH_TO_STRAFE_LEFT = 317,
|
||||
ACT_CROUCH_TO_BACKPEDAL = 318,
|
||||
ACT_CROUCH_TO_RUN_180_RIGHT = 319,
|
||||
ACT_CROUCH_TO_RUN_135_RIGHT = 320,
|
||||
ACT_CROUCH_TO_RUN_90_RIGHT = 321,
|
||||
ACT_CROUCH_TO_RUN_45_RIGHT = 322,
|
||||
ACT_CROUCH_TO_RUN_FORWARD = 323,
|
||||
ACT_CROUCH_TO_RUN_45_LEFT = 324,
|
||||
ACT_CROUCH_TO_RUN_90_LEFT = 325,
|
||||
ACT_CROUCH_TO_RUN_135_LEFT = 326,
|
||||
ACT_CROUCH_TO_RUN_180_LEFT = 327,
|
||||
ACT_RUN_TO_STAND_180_RIGHT = 328,
|
||||
ACT_RUN_TO_STAND_135_RIGHT = 329,
|
||||
ACT_RUN_TO_STAND_90_RIGHT = 330,
|
||||
ACT_RUN_TO_STAND_45_RIGHT = 331,
|
||||
ACT_RUN_TO_STAND_FORWARD = 332,
|
||||
ACT_RUN_TO_STAND_45_LEFT = 333,
|
||||
ACT_RUN_TO_STAND_90_LEFT = 334,
|
||||
ACT_RUN_TO_STAND_135_LEFT = 335,
|
||||
ACT_RUN_TO_STAND_180_LEFT = 336,
|
||||
ACT_WALK_TO_STAND_180_RIGHT = 337,
|
||||
ACT_WALK_TO_STAND_135_RIGHT = 338,
|
||||
ACT_WALK_TO_STAND_90_RIGHT = 339,
|
||||
ACT_WALK_TO_STAND_45_RIGHT = 340,
|
||||
ACT_WALK_TO_STAND_FORWARD = 341,
|
||||
ACT_WALK_TO_STAND_45_LEFT = 342,
|
||||
ACT_WALK_TO_STAND_90_LEFT = 343,
|
||||
ACT_WALK_TO_STAND_135_LEFT = 344,
|
||||
ACT_WALK_TO_STAND_180_LEFT = 345,
|
||||
ACT_WALK_CASUAL_TO_STAND_180_RIGHT = 346,
|
||||
ACT_WALK_CASUAL_TO_STAND_135_RIGHT = 347,
|
||||
ACT_WALK_CASUAL_TO_STAND_90_RIGHT = 348,
|
||||
ACT_WALK_CASUAL_TO_STAND_45_RIGHT = 349,
|
||||
ACT_WALK_CASUAL_TO_STAND_FORWARD = 350,
|
||||
ACT_WALK_CASUAL_TO_STAND_45_LEFT = 351,
|
||||
ACT_WALK_CASUAL_TO_STAND_90_LEFT = 352,
|
||||
ACT_WALK_CASUAL_TO_STAND_135_LEFT = 353,
|
||||
ACT_WALK_CASUAL_TO_STAND_180_LEFT = 354,
|
||||
ACT_STRAFE_TO_STAND_RIGHT = 355,
|
||||
ACT_STRAFE_TO_STAND_LEFT = 356,
|
||||
ACT_STRAFE_TO_STAND_BACKPEDAL = 357,
|
||||
ACT_STRAFE_TO_CROUCH_RIGHT = 358,
|
||||
ACT_STRAFE_TO_CROUCH_LEFT = 359,
|
||||
ACT_STRAFE_TO_CROUCH_BACKPEDAL = 360,
|
||||
ACT_STAND_TO_RUN_BLINDFIRE_180 = 361,
|
||||
ACT_EXIT_BACKPEDAL_TO_FORWARD_180 = 362,
|
||||
ACT_RUN_TO_CROUCH_180_RIGHT = 363,
|
||||
ACT_RUN_TO_CROUCH_135_RIGHT = 364,
|
||||
ACT_RUN_TO_CROUCH_90_RIGHT = 365,
|
||||
ACT_RUN_TO_CROUCH_45_RIGHT = 366,
|
||||
ACT_RUN_TO_CROUCH_FORWARD = 367,
|
||||
ACT_RUN_TO_CROUCH_45_LEFT = 368,
|
||||
ACT_RUN_TO_CROUCH_90_LEFT = 369,
|
||||
ACT_RUN_TO_CROUCH_135_LEFT = 370,
|
||||
ACT_RUN_TO_CROUCH_180_LEFT = 371,
|
||||
ACT_STAND_TO_FLEE_180_RIGHT = 372,
|
||||
ACT_STAND_TO_FLEE_135_RIGHT = 373,
|
||||
ACT_STAND_TO_FLEE_90_RIGHT = 374,
|
||||
ACT_STAND_TO_FLEE_45_RIGHT = 375,
|
||||
ACT_STAND_TO_FLEE_FORWARD = 376,
|
||||
ACT_STAND_TO_FLEE_45_LEFT = 377,
|
||||
ACT_STAND_TO_FLEE_90_LEFT = 378,
|
||||
ACT_STAND_TO_FLEE_135_LEFT = 379,
|
||||
ACT_STAND_TO_FLEE_180_LEFT = 380,
|
||||
ACT_RUN_TURN_180_RIGHT = 381,
|
||||
ACT_RUN_TURN_135_RIGHT = 382,
|
||||
ACT_RUN_TURN_90_RIGHT = 383,
|
||||
ACT_RUN_TURN_45_RIGHT = 384,
|
||||
ACT_RUN_TURN_FORWARD = 385,
|
||||
ACT_RUN_TURN_45_LEFT = 386,
|
||||
ACT_RUN_TURN_90_LEFT = 387,
|
||||
ACT_RUN_TURN_135_LEFT = 388,
|
||||
ACT_RUN_TURN_180_LEFT = 389,
|
||||
ACT_WALK_TURN_180_RIGHT = 390,
|
||||
ACT_WALK_TURN_135_RIGHT = 391,
|
||||
ACT_WALK_TURN_90_RIGHT = 392,
|
||||
ACT_WALK_TURN_45_RIGHT = 393,
|
||||
ACT_WALK_TURN_FORWARD = 394,
|
||||
ACT_WALK_TURN_45_LEFT = 395,
|
||||
ACT_WALK_TURN_90_LEFT = 396,
|
||||
ACT_WALK_TURN_135_LEFT = 397,
|
||||
ACT_WALK_TURN_180_LEFT = 398,
|
||||
ACT_WALK_CASUAL_TURN_180_RIGHT = 399,
|
||||
ACT_WALK_CASUAL_TURN_135_RIGHT = 400,
|
||||
ACT_WALK_CASUAL_TURN_90_RIGHT = 401,
|
||||
ACT_WALK_CASUAL_TURN_45_RIGHT = 402,
|
||||
ACT_WALK_CASUAL_TURN_FORWARD = 403,
|
||||
ACT_WALK_CASUAL_TURN_45_LEFT = 404,
|
||||
ACT_WALK_CASUAL_TURN_90_LEFT = 405,
|
||||
ACT_WALK_CASUAL_TURN_135_LEFT = 406,
|
||||
ACT_WALK_CASUAL_TURN_180_LEFT = 407,
|
||||
ACT_KNOCK_AWAY_PHYS_ENTS = 408,
|
||||
ACT_TRAVERSE_DOWN_40 = 409,
|
||||
ACT_TRAVERSE_DOWN_64 = 410,
|
||||
ACT_TRAVERSE_DOWN_128 = 411,
|
||||
ACT_TRAVERSE_DOWN_256 = 412,
|
||||
ACT_TRAVERSE_DOWN_640 = 413,
|
||||
ACT_TRAVERSE_UP_40 = 414,
|
||||
ACT_TRAVERSE_UP_64 = 415,
|
||||
ACT_TRAVERSE_UP_128 = 416,
|
||||
ACT_TRAVERSE_UP_256 = 417,
|
||||
ACT_TRAVERSE_UP_256_CLIMB = 418,
|
||||
ACT_TRAVERSE_UP_640 = 419,
|
||||
ACT_TRAVERSE_UP_640_CLIMB = 420,
|
||||
ACT_TRAVERSE_OVER = 421,
|
||||
ACT_TRAVERSE_DOOR = 422,
|
||||
ACT_TRAVERSE_ACROSS_128 = 423,
|
||||
ACT_TRAVERSE_ACROSS_128_REVERSE = 424,
|
||||
ACT_TRAVERSE_ACROSS_256 = 425,
|
||||
ACT_TRAVERSE_ACROSS_256_REVERSE = 426,
|
||||
ACT_TRAVERSE_ACROSS_256_DOWN_128 = 427,
|
||||
ACT_TRAVERSE_ACROSS_256_UP_128 = 428,
|
||||
ACT_TRAVERSE_ACROSS_512 = 429,
|
||||
ACT_TRAVERSE_ACROSS_512_REVERSE = 430,
|
||||
ACT_TRAVERSE_ACROSS_512_DOWN_128 = 431,
|
||||
ACT_TRAVERSE_ACROSS_512_UP_128 = 432,
|
||||
ACT_TRAVERSE_ACROSS_1024 = 433,
|
||||
ACT_TRAVERSE_ACROSS_1024_REVERSE = 434,
|
||||
ACT_TRAVERSE_ACROSS_1024_DOWN_256 = 435,
|
||||
ACT_TRAVERSE_ACROSS_1024_UP_256 = 436,
|
||||
ACT_TRAVERSE_DOWN_WINDOW_192 = 437,
|
||||
ACT_TRAVERSE_UP_WINDOW_192 = 438,
|
||||
ACT_TRAVERSE_DOWN_WINDOW_256 = 439,
|
||||
ACT_TRAVERSE_UP_WINDOW_256 = 440,
|
||||
ACT_DO_NOT_DISTURB = 441,
|
||||
ACT_SPECIFIC_SEQUENCE = 442,
|
||||
ACT_RODEOED_STAND_IDLE = 443,
|
||||
ACT_RODEOED_CROUCH_IDLE = 444,
|
||||
ACT_RODEOED_WALK = 445,
|
||||
ACT_RODEOED_CROUCHWALK = 446,
|
||||
ACT_ZIPLINE_MOUNT = 447,
|
||||
ACT_ZIPLINING = 448,
|
||||
ACT_VM_DRAW = 449,
|
||||
ACT_VM_DRAW_TO_SPRINT = 450,
|
||||
ACT_VM_DRAWFIRST = 451,
|
||||
ACT_VM_DRAWCATCH = 452,
|
||||
ACT_VM_HOLSTER = 453,
|
||||
ACT_VM_HOLSTER_FROM_SPRINT = 454,
|
||||
ACT_VM_RAISE = 455,
|
||||
ACT_VM_RAISE_FROM_SPRINT = 456,
|
||||
ACT_VM_RAISE_FROM_MELEE = 457,
|
||||
ACT_VM_LOWER = 458,
|
||||
ACT_VM_DISCARD = 459,
|
||||
ACT_VM_ADS_IN = 460,
|
||||
ACT_VM_ADS_IN_ALT1 = 461,
|
||||
ACT_VM_ADS_IN_ALT2 = 462,
|
||||
ACT_VM_ADS_IN_ALT3 = 463,
|
||||
ACT_VM_ADS_OUT = 464,
|
||||
ACT_VM_ADS_OUT_ALT1 = 465,
|
||||
ACT_VM_ADS_OUT_ALT2 = 466,
|
||||
ACT_VM_ADS_OUT_ALT3 = 467,
|
||||
ACT_VM_IDLE = 468,
|
||||
ACT_VM_IDLE_ALT1 = 469,
|
||||
ACT_VM_IDLE_ALT2 = 470,
|
||||
ACT_VM_IDLE_ALT3 = 471,
|
||||
ACT_VM_CHARGE = 472,
|
||||
ACT_VM_CHARGE_VER1 = 473,
|
||||
ACT_VM_CHARGE_VER2 = 474,
|
||||
ACT_VM_CHARGE_VER3 = 475,
|
||||
ACT_VM_CHARGE_VER4 = 476,
|
||||
ACT_VM_CHARGE_LEVEL_INCREASE = 477,
|
||||
ACT_VM_SPRINT = 478,
|
||||
ACT_VM_FIDGET = 479,
|
||||
ACT_VM_PULLBACK = 480,
|
||||
ACT_VM_PULLBACK_HIGH = 481,
|
||||
ACT_VM_PULLBACK_LOW = 482,
|
||||
ACT_VM_THROW = 483,
|
||||
ACT_VM_PRIMARYATTACK = 484,
|
||||
ACT_VM_PRIMARYATTACK_ALT1 = 485,
|
||||
ACT_VM_PRIMARYATTACK_ALT2 = 486,
|
||||
ACT_VM_PRIMARYATTACK_ALT3 = 487,
|
||||
ACT_VM_PRIMARYATTACK_SEQUENTIAL = 488,
|
||||
ACT_VM_PRIMARYATTACK_ALT1_SEQUENTIAL = 489,
|
||||
ACT_VM_PRIMARYATTACK_ALT2_SEQUENTIAL = 490,
|
||||
ACT_VM_PRIMARYATTACK_ALT3_SEQUENTIAL = 491,
|
||||
ACT_VM_SECONDARYATTACK = 492,
|
||||
ACT_VM_MELEE_ATTACK1 = 493,
|
||||
ACT_VM_MELEE_ATTACK2 = 494,
|
||||
ACT_VM_MELEE_ATTACK3 = 495,
|
||||
ACT_VM_MELEE_KNIFE_FIRST = 496,
|
||||
ACT_VM_MELEE_KNIFE = 497,
|
||||
ACT_VM_MELEE_CHARGE = 498,
|
||||
ACT_VM_RELOAD = 499,
|
||||
ACT_VM_RELOAD_LATE1 = 500,
|
||||
ACT_VM_RELOAD_LATE2 = 501,
|
||||
ACT_VM_RELOAD_LATE3 = 502,
|
||||
ACT_VM_RELOAD_LATE4 = 503,
|
||||
ACT_VM_RELOAD_LATE5 = 504,
|
||||
ACT_VM_RELOADEMPTY = 505,
|
||||
ACT_VM_RELOADEMPTY_LATE1 = 506,
|
||||
ACT_VM_RELOADEMPTY_LATE2 = 507,
|
||||
ACT_VM_RELOADEMPTY_LATE3 = 508,
|
||||
ACT_VM_RELOADEMPTY_LATE4 = 509,
|
||||
ACT_VM_RELOADEMPTY_LATE5 = 510,
|
||||
ACT_VM_RELOAD_ALT1 = 511,
|
||||
ACT_VM_RELOAD_LATE1_ALT1 = 512,
|
||||
ACT_VM_RELOAD_LATE2_ALT1 = 513,
|
||||
ACT_VM_RELOAD_LATE3_ALT1 = 514,
|
||||
ACT_VM_RELOAD_LATE4_ALT1 = 515,
|
||||
ACT_VM_RELOAD_LATE5_ALT1 = 516,
|
||||
ACT_VM_RELOADEMPTY_ALT1 = 517,
|
||||
ACT_VM_RELOADEMPTY_LATE1_ALT1 = 518,
|
||||
ACT_VM_RELOADEMPTY_LATE2_ALT1 = 519,
|
||||
ACT_VM_RELOADEMPTY_LATE3_ALT1 = 520,
|
||||
ACT_VM_RELOADEMPTY_LATE4_ALT1 = 521,
|
||||
ACT_VM_RELOADEMPTY_LATE5_ALT1 = 522,
|
||||
ACT_VM_SEGMENTEDRELOAD_LOOP = 523,
|
||||
ACT_VM_SEGMENTEDRELOAD_END = 524,
|
||||
ACT_VM_SEGMENTEDEMPTYRELOAD_END = 525,
|
||||
ACT_VM_DRYFIRE = 526,
|
||||
ACT_VM_HITCENTER = 527,
|
||||
ACT_VM_HITCENTER2 = 528,
|
||||
ACT_VM_MISSCENTER = 529,
|
||||
ACT_VM_MISSCENTER2 = 530,
|
||||
ACT_VM_HAULBACK = 531,
|
||||
ACT_VM_RECOIL1 = 532,
|
||||
ACT_VM_RECOIL2 = 533,
|
||||
ACT_VM_RECOIL3 = 534,
|
||||
ACT_VM_PICKUP = 535,
|
||||
ACT_VM_RELEASE = 536,
|
||||
ACT_VM_RECHAMBER = 537,
|
||||
ACT_VM_RECHAMBER_LATE1 = 538,
|
||||
ACT_VM_RECHAMBER_LATE2 = 539,
|
||||
ACT_VM_RECHAMBER_LATE3 = 540,
|
||||
ACT_VM_ZIPLINE_MOUNT = 541,
|
||||
ACT_VM_TOSS = 542,
|
||||
ACT_VM_TOSS_OVERHEAD = 543,
|
||||
ACT_VM_TOSS_PREP = 544,
|
||||
ACT_VM_TOSS_PREP_PULLOUT = 545,
|
||||
ACT_VM_TOSS_HOLD = 546,
|
||||
ACT_VM_TOSS_HOLD_SPRINTING = 547,
|
||||
ACT_VM_COOLDOWN = 548,
|
||||
ACT_VM_COOLDOWN_OVERHEAT = 549,
|
||||
ACT_VM_COOLDOWN_OVERHEAT_LATE1 = 550,
|
||||
ACT_VM_COOLDOWN_OVERHEAT_LATE2 = 551,
|
||||
ACT_VM_COOLDOWN_OVERHEAT_LATE3 = 552,
|
||||
ACT_VM_DASH = 553,
|
||||
ACT_VM_GRAPPLE_START = 554,
|
||||
ACT_VM_GRAPPLE_IDLE = 555,
|
||||
ACT_VM_GRAPPLE_STOP = 556,
|
||||
ACT_VM_WEAPON_INSPECT = 557,
|
||||
ACT_VM_JUMP = 558,
|
||||
ACT_VM_DOUBLEJUMP = 559,
|
||||
ACT_VM_LAND = 560,
|
||||
ACT_VM_LAND_LOW = 561,
|
||||
ACT_VM_LAND_MEDIUM = 562,
|
||||
ACT_VM_LAND_HIGH = 563,
|
||||
ACT_VM_WEAPON_MOD_ADD = 564,
|
||||
ACT_VM_WEAPON_MOD_REMOVE = 565,
|
||||
ACT_VM_SUSTAINED_DISCHARGE = 566,
|
||||
ACT_VM_TRAVERSAL_WINDOW_LEFT = 567,
|
||||
ACT_VM_TRAVERSAL_WINDOW_RIGHT = 568,
|
||||
ACT_VM_MANTLE_BELOW = 569,
|
||||
ACT_VM_MANTLE_LEVEL = 570,
|
||||
ACT_VM_MANTLE_ABOVE = 571,
|
||||
ACT_VM_MANTLE_HIGH = 572,
|
||||
ACT_VM_MANTLE_CROUCH_BELOW = 573,
|
||||
ACT_VM_MANTLE_CROUCH_LEVEL = 574,
|
||||
ACT_VM_MANTLE_CROUCH_ABOVE = 575,
|
||||
ACT_VM_MANTLE_CROUCH_HIGH = 576,
|
||||
ACT_VM_MANTLE_IDLE = 577,
|
||||
ACT_VM_MANTLE_JUMPOFF = 578,
|
||||
ACT_VM_ONEHANDED_ADS_IN = 579,
|
||||
ACT_VM_ONEHANDED_ADS_IN_ALT1 = 580,
|
||||
ACT_VM_ONEHANDED_ADS_IN_ALT2 = 581,
|
||||
ACT_VM_ONEHANDED_ADS_IN_ALT3 = 582,
|
||||
ACT_VM_ONEHANDED_ADS_OUT = 583,
|
||||
ACT_VM_ONEHANDED_ADS_OUT_ALT1 = 584,
|
||||
ACT_VM_ONEHANDED_ADS_OUT_ALT2 = 585,
|
||||
ACT_VM_ONEHANDED_ADS_OUT_ALT3 = 586,
|
||||
ACT_VM_ONEHANDED_IDLE = 587,
|
||||
ACT_VM_ONEHANDED_IDLE_ALT1 = 588,
|
||||
ACT_VM_ONEHANDED_IDLE_ALT2 = 589,
|
||||
ACT_VM_ONEHANDED_IDLE_ALT3 = 590,
|
||||
ACT_VM_ONEHANDED_CHARGE = 591,
|
||||
ACT_VM_ONEHANDED_SPRINT = 592,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK = 593,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT1 = 594,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT2 = 595,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT3 = 596,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_SEQUENTIAL = 597,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT1_SEQUENTIAL = 598,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT2_SEQUENTIAL = 599,
|
||||
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT3_SEQUENTIAL = 600,
|
||||
ACT_VM_ONEHANDED_RELOAD = 601,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE1 = 602,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE2 = 603,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE3 = 604,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE4 = 605,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE5 = 606,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY = 607,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE1 = 608,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE2 = 609,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE3 = 610,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE4 = 611,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE5 = 612,
|
||||
ACT_VM_ONEHANDED_RELOAD_ALT1 = 613,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE1_ALT1 = 614,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE2_ALT1 = 615,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE3_ALT1 = 616,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE4_ALT1 = 617,
|
||||
ACT_VM_ONEHANDED_RELOAD_LATE5_ALT1 = 618,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_ALT1 = 619,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE1_ALT1 = 620,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE2_ALT1 = 621,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE3_ALT1 = 622,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE4_ALT1 = 623,
|
||||
ACT_VM_ONEHANDED_RELOADEMPTY_LATE5_ALT1 = 624,
|
||||
ACT_VM_ONEHANDED_SEGMENTEDRELOAD_LOOP = 625,
|
||||
ACT_VM_ONEHANDED_SEGMENTEDRELOAD_END = 626,
|
||||
ACT_VM_ONEHANDED_SEGMENTEDEMPTYRELOAD_END = 627,
|
||||
ACT_VM_ONEHANDED_RECHAMBER = 628,
|
||||
ACT_VM_ONEHANDED_RECHAMBER_LATE1 = 629,
|
||||
ACT_VM_ONEHANDED_RECHAMBER_LATE2 = 630,
|
||||
ACT_VM_ONEHANDED_RECHAMBER_LATE3 = 631,
|
||||
ACT_VM_ONEHANDED_DRAW = 632,
|
||||
ACT_VM_ONEHANDED_DRAWFIRST = 633,
|
||||
ACT_VM_ONEHANDED_HOLSTER = 634,
|
||||
ACT_VM_ONEHANDED_LOWER = 635,
|
||||
ACT_VM_ONEHANDED_RAISE = 636,
|
||||
ACT_VM_ONEHANDED_RAISE_FROM_SPRINT = 637,
|
||||
ACT_VM_ONEHANDED_RAISE_FROM_MELEE = 638,
|
||||
ACT_VM_ONEHANDED_TOSS = 639,
|
||||
ACT_VM_ONEHANDED_TOSS_OVERHEAD = 640,
|
||||
ACT_VM_ONEHANDED_TOSS_PREP = 641,
|
||||
ACT_VM_ONEHANDED_TOSS_PREP_PULLOUT = 642,
|
||||
ACT_VM_ONEHANDED_TOSS_HOLD = 643,
|
||||
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT = 644,
|
||||
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT_LATE1 = 645,
|
||||
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT_LATE2 = 646,
|
||||
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT_LATE3 = 647,
|
||||
ACT_VM_ONEHANDED_SUSTAINED_DISCHARGE = 648,
|
||||
ACT_MP_STAND_IDLE = 649,
|
||||
ACT_MP_CROUCH_IDLE = 650,
|
||||
ACT_MP_CROUCH_DEPLOYED_IDLE = 651,
|
||||
ACT_MP_CROUCH_DEPLOYED = 652,
|
||||
ACT_MP_DEPLOYED_IDLE = 653,
|
||||
ACT_MP_RUN = 654,
|
||||
ACT_MP_RUN_FORWARD = 655,
|
||||
ACT_MP_RUN_BACKWARD = 656,
|
||||
ACT_MP_RUN_LEFT = 657,
|
||||
ACT_MP_RUN_RIGHT = 658,
|
||||
ACT_MP_STAGGERED_RUN = 659,
|
||||
ACT_MP_STAGGERED_RUN_FORWARD = 660,
|
||||
ACT_MP_STAGGERED_RUN_BACKWARD = 661,
|
||||
ACT_MP_STAGGERED_RUN_LEFT = 662,
|
||||
ACT_MP_STAGGERED_RUN_RIGHT = 663,
|
||||
ACT_MP_WALK = 664,
|
||||
ACT_MP_WALK_FORWARD = 665,
|
||||
ACT_MP_WALK_BACKWARD = 666,
|
||||
ACT_MP_WALK_LEFT = 667,
|
||||
ACT_MP_WALK_RIGHT = 668,
|
||||
ACT_MP_STAGGERED_WALK = 669,
|
||||
ACT_MP_STAGGERED_WALK_FORWARD = 670,
|
||||
ACT_MP_STAGGERED_WALK_BACKWARD = 671,
|
||||
ACT_MP_STAGGERED_WALK_LEFT = 672,
|
||||
ACT_MP_STAGGERED_WALK_RIGHT = 673,
|
||||
ACT_MP_AIRWALK = 674,
|
||||
ACT_MP_CROUCHWALK = 675,
|
||||
ACT_MP_CROUCHWALK_FORWARD = 676,
|
||||
ACT_MP_CROUCHWALK_BACKWARD = 677,
|
||||
ACT_MP_CROUCHWALK_LEFT = 678,
|
||||
ACT_MP_CROUCHWALK_RIGHT = 679,
|
||||
ACT_MP_STAGGERED_CROUCHWALK = 680,
|
||||
ACT_MP_STAGGERED_CROUCHWALK_FORWARD = 681,
|
||||
ACT_MP_STAGGERED_CROUCHWALK_BACKWARD = 682,
|
||||
ACT_MP_STAGGERED_CROUCHWALK_LEFT = 683,
|
||||
ACT_MP_STAGGERED_CROUCHWALK_RIGHT = 684,
|
||||
ACT_MP_SPRINT = 685,
|
||||
ACT_MP_STAGGERED_SPRINT = 686,
|
||||
ACT_MP_SLIDE = 687,
|
||||
ACT_MP_SLIDE_FORWARD = 688,
|
||||
ACT_MP_SLIDE_BACKWARD = 689,
|
||||
ACT_MP_SLIDE_LEFT = 690,
|
||||
ACT_MP_SLIDE_RIGHT = 691,
|
||||
ACT_MP_JUMP = 692,
|
||||
ACT_MP_JUMP_START = 693,
|
||||
ACT_MP_JUMP_FLOAT = 694,
|
||||
ACT_MP_JUMP_LAND = 695,
|
||||
ACT_MP_JUMP_LAND_FORWARD = 696,
|
||||
ACT_MP_JUMP_LAND_BACKWARD = 697,
|
||||
ACT_MP_JUMP_LAND_LEFT = 698,
|
||||
ACT_MP_JUMP_LAND_RIGHT = 699,
|
||||
ACT_MP_JUMP_LAND_LOW = 700,
|
||||
ACT_MP_JUMP_LAND_LOW_FORWARD = 701,
|
||||
ACT_MP_JUMP_LAND_LOW_BACKWARD = 702,
|
||||
ACT_MP_JUMP_LAND_LOW_LEFT = 703,
|
||||
ACT_MP_JUMP_LAND_LOW_RIGHT = 704,
|
||||
ACT_MP_JUMP_LAND_MEDIUM = 705,
|
||||
ACT_MP_JUMP_LAND_MEDIUM_FORWARD = 706,
|
||||
ACT_MP_JUMP_LAND_MEDIUM_BACKWARD = 707,
|
||||
ACT_MP_JUMP_LAND_MEDIUM_LEFT = 708,
|
||||
ACT_MP_JUMP_LAND_MEDIUM_RIGHT = 709,
|
||||
ACT_MP_JUMP_LAND_HIGH = 710,
|
||||
ACT_MP_JUMP_LAND_HIGH_FORWARD = 711,
|
||||
ACT_MP_JUMP_LAND_HIGH_BACKWARD = 712,
|
||||
ACT_MP_JUMP_LAND_HIGH_LEFT = 713,
|
||||
ACT_MP_JUMP_LAND_HIGH_RIGHT = 714,
|
||||
ACT_MP_JUMP_IMPACT_N = 715,
|
||||
ACT_MP_JUMP_IMPACT_E = 716,
|
||||
ACT_MP_JUMP_IMPACT_W = 717,
|
||||
ACT_MP_JUMP_IMPACT_S = 718,
|
||||
ACT_MP_JUMP_IMPACT_TOP = 719,
|
||||
ACT_MP_DOUBLEJUMP = 720,
|
||||
ACT_MP_DEPLOYED = 721,
|
||||
ACT_MP_VCD = 722,
|
||||
ACT_MP_DODGE = 723,
|
||||
ACT_MP_DODGE_FORWARD = 724,
|
||||
ACT_MP_DODGE_BACKWARD = 725,
|
||||
ACT_MP_DODGE_LEFT = 726,
|
||||
ACT_MP_DODGE_RIGHT = 727,
|
||||
ACT_MP_DODGE_FLOAT = 728,
|
||||
ACT_MP_DODGE_FLOAT_FORWARD = 729,
|
||||
ACT_MP_DODGE_FLOAT_BACKWARD = 730,
|
||||
ACT_MP_DODGE_FLOAT_LEFT = 731,
|
||||
ACT_MP_DODGE_FLOAT_RIGHT = 732,
|
||||
ACT_MP_DODGE_LAND = 733,
|
||||
ACT_MP_DODGE_LAND_FORWARD = 734,
|
||||
ACT_MP_DODGE_LAND_BACKWARD = 735,
|
||||
ACT_MP_DODGE_LAND_LEFT = 736,
|
||||
ACT_MP_DODGE_LAND_RIGHT = 737,
|
||||
ACT_MP_WALLRUN_UP = 738,
|
||||
ACT_MP_WALLRUN_LEFT = 739,
|
||||
ACT_MP_WALLRUN_RIGHT = 740,
|
||||
ACT_MP_WALLRUN_FALL_BACK = 741,
|
||||
ACT_MP_WALLRUN_FALL_FRONT = 742,
|
||||
ACT_MP_WALLRUN_FALL_LEFT = 743,
|
||||
ACT_MP_WALLRUN_FALL_RIGHT = 744,
|
||||
ACT_MP_WALLHANG_IDLE = 745,
|
||||
ACT_MP_WALLHANG_LEFT = 746,
|
||||
ACT_MP_WALLHANG_RIGHT = 747,
|
||||
ACT_MP_WALLHANG_UP = 748,
|
||||
ACT_MP_WALLHANG_FRONT = 749,
|
||||
ACT_MP_WALLJUMP_LEFT = 750,
|
||||
ACT_MP_WALLJUMP_RIGHT = 751,
|
||||
ACT_MP_WALLJUMP_UP = 752,
|
||||
ACT_MP_CROUCHSLIDE = 753,
|
||||
ACT_MP_CROUCHSLIDE_END_FORWARD = 754,
|
||||
ACT_MP_CROUCHSLIDE_END_BACKWARD_LEFT = 755,
|
||||
ACT_MP_CROUCHSLIDE_END_BACKWARD_RIGHT = 756,
|
||||
ACT_MP_CROUCHSLIDE_END_LEFT = 757,
|
||||
ACT_MP_CROUCHSLIDE_END_RIGHT = 758,
|
||||
ACT_MP_CROUCHSLIDE_AIR = 759,
|
||||
ACT_MP_GRAPPLE = 760,
|
||||
ACT_MP_GESTURE_GRAPPLE_FIRE = 761,
|
||||
ACT_MP_FREEFALL = 762,
|
||||
ACT_MP_FREEFALL_ANTICIPATE = 763,
|
||||
ACT_MP_FREEFALL_TRANSITION_TO_ANTICIPATE = 764,
|
||||
ACT_MP_FREEFALL_TRANSITION_FROM_ANTICIPATE = 765,
|
||||
ACT_MP_VEHICLE_DRIVER_IDLE = 766,
|
||||
ACT_MP_TRAVERSAL_WINDOW_LEFT = 767,
|
||||
ACT_MP_TRAVERSAL_WINDOW_RIGHT = 768,
|
||||
ACT_MP_MANTLE_BELOW = 769,
|
||||
ACT_MP_MANTLE_LEVEL = 770,
|
||||
ACT_MP_MANTLE_ABOVE = 771,
|
||||
ACT_MP_MANTLE_HIGH = 772,
|
||||
ACT_MP_MANTLE_CROUCH_BELOW = 773,
|
||||
ACT_MP_MANTLE_CROUCH_LEVEL = 774,
|
||||
ACT_MP_MANTLE_CROUCH_ABOVE = 775,
|
||||
ACT_MP_MANTLE_CROUCH_HIGH = 776,
|
||||
ACT_MP_MANTLE_IDLE = 777,
|
||||
ACT_MP_MANTLE_JUMPOFF = 778,
|
||||
ACT_MP_ATTACK_STAND_PRIMARYFIRE = 779,
|
||||
ACT_MP_ATTACK_STAND_SECONDARYFIRE = 780,
|
||||
ACT_MP_ATTACK_STAND_GRENADE = 781,
|
||||
ACT_MP_ATTACK_STAND_GRENADE_PULLOUT = 782,
|
||||
ACT_MP_ATTACK_CROUCH_PRIMARYFIRE = 783,
|
||||
ACT_MP_ATTACK_CROUCH_SECONDARYFIRE = 784,
|
||||
ACT_MP_ATTACK_CROUCH_GRENADE = 785,
|
||||
ACT_MP_ATTACK_AIRWALK_PRIMARYFIRE = 786,
|
||||
ACT_MP_ATTACK_AIRWALK_SECONDARYFIRE = 787,
|
||||
ACT_MP_ATTACK_AIRWALK_GRENADE = 788,
|
||||
ACT_MP_RELOAD_STAND = 789,
|
||||
ACT_MP_RELOAD_CROUCH = 790,
|
||||
ACT_MP_OFFHAND_START = 791,
|
||||
ACT_MP_OFFHAND_END = 792,
|
||||
ACT_MP_OFFHAND_FIRE = 793,
|
||||
ACT_MP_OFFHAND_CHARGING = 794,
|
||||
ACT_MP_OFFHAND_CHARGING_ALT_1 = 795,
|
||||
ACT_MP_OFFHAND_CHARGING_ALT_2 = 796,
|
||||
ACT_MP_OFFHAND_CHARGING_ALT_3 = 797,
|
||||
ACT_MP_OFFHAND_CHARGING_ALT_4 = 798,
|
||||
ACT_MP_MELEE = 799,
|
||||
ACT_MP_MELEE_KNIFE_FIRST = 800,
|
||||
ACT_MP_MELEE_KNIFE = 801,
|
||||
ACT_MP_EQUIP_FROM_RIFLE_TO_RIFLE = 802,
|
||||
ACT_MP_EQUIP_FROM_RIFLE_TO_PISTOL = 803,
|
||||
ACT_MP_EQUIP_FROM_RIFLE_TO_ROCKET = 804,
|
||||
ACT_MP_EQUIP_FROM_PISTOL_TO_PISTOL = 805,
|
||||
ACT_MP_EQUIP_FROM_PISTOL_TO_RIFLE = 806,
|
||||
ACT_MP_EQUIP_FROM_PISTOL_TO_ROCKET = 807,
|
||||
ACT_MP_EQUIP_FROM_ROCKET_TO_ROCKET = 808,
|
||||
ACT_MP_EQUIP_FROM_ROCKET_TO_RIFLE = 809,
|
||||
ACT_MP_EQUIP_FROM_ROCKET_TO_PISTOL = 810,
|
||||
ACT_MP_LOOT_IDLE_STAND = 811,
|
||||
ACT_MP_LOOT_IDLE_CROUCH = 812,
|
||||
ACT_TRANSITION_TO_DOWNED_FROM_STANDING = 813,
|
||||
ACT_TRANSITION_TO_STANDING_FROM_DOWNED = 814,
|
||||
ACT_MP_DOWNED_IDLE = 815,
|
||||
ACT_MP_DOWNED_CRAWL = 816,
|
||||
ACT_MP_DOWNED_CRAWL_FORWARD = 817,
|
||||
ACT_MP_DOWNED_CRAWL_BACKWARD = 818,
|
||||
ACT_MP_DOWNED_CRAWL_LEFT = 819,
|
||||
ACT_MP_DOWNED_CRAWL_RIGHT = 820,
|
||||
ACT_MP_MENU_LOBBY_LEFT_IDLE = 821,
|
||||
ACT_MP_MENU_LOBBY_CENTER_IDLE = 822,
|
||||
ACT_MP_MENU_LOBBY_RIGHT_IDLE = 823,
|
||||
ACT_MP_MENU_LOBBY_SELECT_IDLE = 824,
|
||||
ACT_MP_MENU_MAIN_INTRO = 825,
|
||||
ACT_MP_MENU_MAIN_IDLE = 826,
|
||||
ACT_MP_MENU_READYUP_INTRO = 827,
|
||||
ACT_MP_MENU_READYUP_IDLE = 828,
|
||||
ACT_MP_MENU_DETAILS_INTRO = 829,
|
||||
ACT_MP_MENU_DETAILS_IDLE = 830,
|
||||
ACT_MP_MENU_SQUAD_IDLE = 831,
|
||||
ACT_MP_MENU_GROUPSHOT_SLOT_A = 832,
|
||||
ACT_MP_MENU_GROUPSHOT_SLOT_B = 833,
|
||||
ACT_MP_MENU_GROUPSHOT_SLOT_C = 834,
|
||||
ACT_MP_MENU_LOOT_CEREMONY_IDLE = 835,
|
||||
ACT_MP_STAND_PRIMARY = 836,
|
||||
ACT_MP_CROUCH_PRIMARY = 837,
|
||||
ACT_MP_RUN_PRIMARY = 838,
|
||||
ACT_MP_WALK_PRIMARY = 839,
|
||||
ACT_MP_AIRWALK_PRIMARY = 840,
|
||||
ACT_MP_CROUCHWALK_PRIMARY = 841,
|
||||
ACT_MP_JUMP_PRIMARY = 842,
|
||||
ACT_MP_JUMP_START_PRIMARY = 843,
|
||||
ACT_MP_JUMP_FLOAT_PRIMARY = 844,
|
||||
ACT_MP_JUMP_LAND_PRIMARY = 845,
|
||||
ACT_MP_DEPLOYED_PRIMARY = 846,
|
||||
ACT_MP_STAND_SECONDARY = 847,
|
||||
ACT_MP_RUN_SECONDARY = 848,
|
||||
ACT_MP_STAND_MELEE = 849,
|
||||
ACT_MP_CROUCH_MELEE = 850,
|
||||
ACT_MP_RUN_MELEE = 851,
|
||||
ACT_MP_WALK_MELEE = 852,
|
||||
ACT_MP_AIRWALK_MELEE = 853,
|
||||
ACT_MP_CROUCHWALK_MELEE = 854,
|
||||
ACT_MP_JUMP_MELEE = 855,
|
||||
ACT_MP_JUMP_START_MELEE = 856,
|
||||
ACT_MP_JUMP_FLOAT_MELEE = 857,
|
||||
ACT_MP_JUMP_LAND_MELEE = 858,
|
||||
ACT_MP_GESTURE_FLINCH_BACKWARDS = 859,
|
||||
ACT_MP_GESTURE_FLINCH_LEFT = 860,
|
||||
ACT_MP_GESTURE_FLINCH_FORWARDS = 861,
|
||||
ACT_MP_GESTURE_FLINCH_RIGHT = 862,
|
||||
ACT_MP_DEATH_CRUSH = 863,
|
||||
ACT_MP_DEATH_GENERIC = 864,
|
||||
ACT_MP_DEATH_CROUCH = 865,
|
||||
ACT_MP_DEATH_WALK = 866,
|
||||
ACT_MP_DEATH_WALK_FORWARD = 867,
|
||||
ACT_MP_DEATH_WALK_BACKWARD = 868,
|
||||
ACT_MP_DEATH_WALK_LEFT = 869,
|
||||
ACT_MP_DEATH_WALK_RIGHT = 870,
|
||||
ACT_MP_DEATH_RUN = 871,
|
||||
ACT_MP_DEATH_RUN_FORWARD = 872,
|
||||
ACT_MP_DEATH_RUN_BACKWARD = 873,
|
||||
ACT_MP_DEATH_RUN_LEFT = 874,
|
||||
ACT_MP_DEATH_RUN_RIGHT = 875,
|
||||
ACT_MP_DEATH_SPRINT = 876,
|
||||
ACT_MP_DEATH_SPRINT_FORWARD = 877,
|
||||
ACT_MP_RUN_SPEEDPAINT_PRIMARY = 878,
|
||||
ACT_MP_DROWNING_PRIMARY = 879,
|
||||
ACT_MP_LONG_FALL_PRIMARY = 880,
|
||||
ACT_MP_TRACTORBEAM_FLOAT_PRIMARY = 881,
|
||||
ACT_MP_DEATH_CRUSH_PRIMARY = 882,
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Weapon inventory slot enumerants; used as constants for scripts.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -20,7 +20,7 @@ struct Ray_t;
|
||||
class ServerClass;
|
||||
class ICollideable;
|
||||
class IServerNetworkable;
|
||||
class Vector;
|
||||
class Vector3D;
|
||||
class QAngle;
|
||||
|
||||
// This class is how the engine talks to entities in the game DLL.
|
||||
|
@ -588,4 +588,9 @@ class VThreadTools : public IDetour
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#endif // !_TOOLS
|
||||
|
||||
struct CThreadMutex // todo: implement
|
||||
{
|
||||
CRITICAL_SECTION m_CriticalSection;
|
||||
};
|
||||
#endif // THREADTOOLS_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user