Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1513 lines
62 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //
  7. //=============================================================================//
  8. #include "cbase.h"
  9. #include "ai_activity.h"
  10. #include "activitylist.h"
  11. #include "stringregistry.h"
  12. #include "isaverestore.h"
  13. #include "filesystem.h"
  14. #include <keyvalues.h>
  15. #include "utldict.h"
  16. // memdbgon must be the last include file in a .cpp file!!!
  17. #include "tier0/memdbgon.h"
  18. extern IFileSystem *filesystem;
  19. // NOTE: If CStringRegistry allowed storing arbitrary data, we could just use that.
  20. // in this case we have the "isPrivate" member and the replacement rules
  21. // (activityIndex can be reused by private activities), so a custom table is necessary
  22. struct activitylist_t
  23. {
  24. int activityIndex;
  25. unsigned short stringKey;
  26. short isPrivate;
  27. };
  28. CUtlVector<activitylist_t> g_ActivityList;
  29. static CUtlDict< CActivityRemapCache, int > m_ActivityRemapDatabase;
  30. // This stores the actual activity names. Also, the string ID in the registry is simply an index
  31. // into the g_ActivityList array.
  32. CStringRegistry g_ActivityStrings;
  33. // this is just here to accelerate adds
  34. static int g_HighestActivity = 0;
  35. int g_nActivityListVersion = 1;
  36. void ActivityList_Init( void )
  37. {
  38. g_HighestActivity = 0;
  39. }
  40. void ActivityList_Free( void )
  41. {
  42. g_ActivityStrings.ClearStrings();
  43. g_ActivityList.Purge();
  44. m_ActivityRemapDatabase.Purge();
  45. // So studiohdrs can reindex activity indices
  46. ++g_nActivityListVersion;
  47. }
  48. // add a new activity to the database
  49. activitylist_t *ActivityList_AddActivityEntry( const char *pName, int iActivityIndex, bool isPrivate )
  50. {
  51. MEM_ALLOC_CREDIT();
  52. int index = g_ActivityList.AddToTail();
  53. activitylist_t *pList = &g_ActivityList[index];
  54. pList->activityIndex = iActivityIndex;
  55. pList->stringKey = g_ActivityStrings.AddString( pName, index );
  56. pList->isPrivate = isPrivate;
  57. // UNDONE: This implies that ALL shared activities are added before ANY custom activities
  58. // UNDONE: Segment these instead? It's a 32-bit int, how many activities do we need?
  59. if ( iActivityIndex > g_HighestActivity )
  60. {
  61. g_HighestActivity = iActivityIndex;
  62. }
  63. return pList;
  64. }
  65. // get the database entry from a string
  66. static activitylist_t *ListFromString( const char *pString )
  67. {
  68. // just use the string registry to do this search/map
  69. int stringID = g_ActivityStrings.GetStringID( pString );
  70. if ( stringID < 0 )
  71. return NULL;
  72. return &g_ActivityList[stringID];
  73. }
  74. // Get the database entry for an index
  75. static activitylist_t *ListFromActivity( int activityIndex )
  76. {
  77. // ugly linear search
  78. for ( int i = 0; i < g_ActivityList.Count(); i++ )
  79. {
  80. if ( g_ActivityList[i].activityIndex == activityIndex )
  81. {
  82. return &g_ActivityList[i];
  83. }
  84. }
  85. return NULL;
  86. }
  87. bool ActivityList_RegisterSharedActivity( const char *pszActivityName, int iActivityIndex )
  88. {
  89. // UNDONE: Do we want to do these checks when not in developer mode? or maybe DEBUG only?
  90. // They really only matter when you change the list of code controlled activities. IDs
  91. // for content controlled activities never collide because they are generated.
  92. // technically order isn't dependent, but it's too damn easy to forget to add new ACT_'s to all three lists.
  93. static int lastActivityIndex = -1;
  94. Assert( iActivityIndex < LAST_SHARED_ACTIVITY && (iActivityIndex == lastActivityIndex + 1 || iActivityIndex == 0) );
  95. lastActivityIndex = iActivityIndex;
  96. // first, check to make sure the slot we're asking for is free. It must be for
  97. // a shared activity.
  98. activitylist_t *pList = ListFromString( pszActivityName );
  99. if ( !pList )
  100. {
  101. pList = ListFromActivity( iActivityIndex );
  102. }
  103. if ( pList )
  104. {
  105. Warning( "***\nShared activity collision! %s<->%s\n***\n", pszActivityName, g_ActivityStrings.GetStringForKey( pList->stringKey ) );
  106. Assert(0);
  107. return false;
  108. }
  109. // ----------------------------------------------------------------
  110. ActivityList_AddActivityEntry( pszActivityName, iActivityIndex, false );
  111. return true;
  112. }
  113. Activity ActivityList_RegisterPrivateActivity( const char *pszActivityName )
  114. {
  115. activitylist_t *pList = ListFromString( pszActivityName );
  116. if ( pList )
  117. {
  118. // this activity is already in the list. If the activity we collided with is also private,
  119. // then the collision is OK. Otherwise, it's a bug.
  120. if ( pList->isPrivate )
  121. {
  122. return (Activity)pList->activityIndex;
  123. }
  124. else
  125. {
  126. // this private activity collides with a shared activity. That is not allowed.
  127. Warning( "***\nShared<->Private Activity collision!\n***\n" );
  128. Assert(0);
  129. return ACT_INVALID;
  130. }
  131. }
  132. pList = ActivityList_AddActivityEntry( pszActivityName, g_HighestActivity+1, true );
  133. return (Activity)pList->activityIndex;
  134. }
  135. // Get the index for a given activity name
  136. // Done at load time for all models
  137. int ActivityList_IndexForName( const char *pszActivityName )
  138. {
  139. // this is a fast O(lgn) search (actually does 2 O(lgn) searches)
  140. activitylist_t *pList = ListFromString( pszActivityName );
  141. if ( pList )
  142. {
  143. return pList->activityIndex;
  144. }
  145. return -1;
  146. }
  147. // Get the name for a given index
  148. // This should only be used in debug code, it does a linear search
  149. // But at least it only compares integers
  150. const char *ActivityList_NameForIndex( int activityIndex )
  151. {
  152. activitylist_t *pList = ListFromActivity( activityIndex );
  153. if ( pList )
  154. {
  155. return g_ActivityStrings.GetStringForKey( pList->stringKey );
  156. }
  157. return NULL;
  158. }
  159. void ActivityList_RegisterSharedActivities( void )
  160. {
  161. REGISTER_SHARED_ACTIVITY( ACT_RESET );
  162. REGISTER_SHARED_ACTIVITY( ACT_IDLE );
  163. REGISTER_SHARED_ACTIVITY( ACT_TRANSITION );
  164. REGISTER_SHARED_ACTIVITY( ACT_COVER );
  165. REGISTER_SHARED_ACTIVITY( ACT_COVER_MED );
  166. REGISTER_SHARED_ACTIVITY( ACT_COVER_LOW );
  167. REGISTER_SHARED_ACTIVITY( ACT_WALK );
  168. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM );
  169. REGISTER_SHARED_ACTIVITY( ACT_WALK_CROUCH );
  170. REGISTER_SHARED_ACTIVITY( ACT_WALK_CROUCH_AIM );
  171. REGISTER_SHARED_ACTIVITY( ACT_RUN );
  172. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM );
  173. REGISTER_SHARED_ACTIVITY( ACT_RUN_CROUCH );
  174. REGISTER_SHARED_ACTIVITY( ACT_RUN_CROUCH_AIM );
  175. REGISTER_SHARED_ACTIVITY( ACT_RUN_PROTECTED );
  176. REGISTER_SHARED_ACTIVITY( ACT_SCRIPT_CUSTOM_MOVE );
  177. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK1 );
  178. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK2 );
  179. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK1_LOW );
  180. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK2_LOW );
  181. REGISTER_SHARED_ACTIVITY( ACT_DIESIMPLE );
  182. REGISTER_SHARED_ACTIVITY( ACT_DIEBACKWARD );
  183. REGISTER_SHARED_ACTIVITY( ACT_DIEFORWARD );
  184. REGISTER_SHARED_ACTIVITY( ACT_DIEVIOLENT );
  185. REGISTER_SHARED_ACTIVITY( ACT_DIERAGDOLL );
  186. REGISTER_SHARED_ACTIVITY( ACT_FLY );
  187. REGISTER_SHARED_ACTIVITY( ACT_HOVER );
  188. REGISTER_SHARED_ACTIVITY( ACT_GLIDE );
  189. REGISTER_SHARED_ACTIVITY( ACT_SWIM );
  190. REGISTER_SHARED_ACTIVITY( ACT_JUMP );
  191. REGISTER_SHARED_ACTIVITY( ACT_HOP );
  192. REGISTER_SHARED_ACTIVITY( ACT_LEAP );
  193. REGISTER_SHARED_ACTIVITY( ACT_LAND );
  194. REGISTER_SHARED_ACTIVITY( ACT_CLIMB_UP );
  195. REGISTER_SHARED_ACTIVITY( ACT_CLIMB_DOWN );
  196. REGISTER_SHARED_ACTIVITY( ACT_CLIMB_DISMOUNT );
  197. REGISTER_SHARED_ACTIVITY( ACT_SHIPLADDER_UP );
  198. REGISTER_SHARED_ACTIVITY( ACT_SHIPLADDER_DOWN );
  199. REGISTER_SHARED_ACTIVITY( ACT_STRAFE_LEFT );
  200. REGISTER_SHARED_ACTIVITY( ACT_STRAFE_RIGHT );
  201. REGISTER_SHARED_ACTIVITY( ACT_ROLL_LEFT );
  202. REGISTER_SHARED_ACTIVITY( ACT_ROLL_RIGHT );
  203. REGISTER_SHARED_ACTIVITY( ACT_TURN_LEFT );
  204. REGISTER_SHARED_ACTIVITY( ACT_TURN_RIGHT );
  205. REGISTER_SHARED_ACTIVITY( ACT_CROUCH );
  206. REGISTER_SHARED_ACTIVITY( ACT_CROUCHIDLE );
  207. REGISTER_SHARED_ACTIVITY( ACT_STAND );
  208. REGISTER_SHARED_ACTIVITY( ACT_USE );
  209. REGISTER_SHARED_ACTIVITY( ACT_ALIEN_BURROW_IDLE );
  210. REGISTER_SHARED_ACTIVITY( ACT_ALIEN_BURROW_OUT );
  211. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL1 );
  212. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL2 );
  213. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL3 );
  214. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL_ADVANCE );
  215. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL_FORWARD );
  216. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL_GROUP );
  217. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL_HALT );
  218. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL_LEFT );
  219. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL_RIGHT );
  220. REGISTER_SHARED_ACTIVITY( ACT_SIGNAL_TAKECOVER );
  221. REGISTER_SHARED_ACTIVITY( ACT_LOOKBACK_RIGHT );
  222. REGISTER_SHARED_ACTIVITY( ACT_LOOKBACK_LEFT );
  223. REGISTER_SHARED_ACTIVITY( ACT_COWER );
  224. REGISTER_SHARED_ACTIVITY( ACT_SMALL_FLINCH );
  225. REGISTER_SHARED_ACTIVITY( ACT_BIG_FLINCH );
  226. REGISTER_SHARED_ACTIVITY( ACT_MELEE_ATTACK1 );
  227. REGISTER_SHARED_ACTIVITY( ACT_MELEE_ATTACK2 );
  228. REGISTER_SHARED_ACTIVITY( ACT_RELOAD );
  229. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_START );
  230. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_FINISH );
  231. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_LOW );
  232. REGISTER_SHARED_ACTIVITY( ACT_ARM );
  233. REGISTER_SHARED_ACTIVITY( ACT_DISARM );
  234. REGISTER_SHARED_ACTIVITY( ACT_DROP_WEAPON );
  235. REGISTER_SHARED_ACTIVITY( ACT_DROP_WEAPON_SHOTGUN );
  236. REGISTER_SHARED_ACTIVITY( ACT_PICKUP_GROUND );
  237. REGISTER_SHARED_ACTIVITY( ACT_PICKUP_RACK );
  238. REGISTER_SHARED_ACTIVITY( ACT_IDLE_ANGRY );
  239. REGISTER_SHARED_ACTIVITY( ACT_IDLE_RELAXED );
  240. REGISTER_SHARED_ACTIVITY( ACT_IDLE_STIMULATED );
  241. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AGITATED );
  242. REGISTER_SHARED_ACTIVITY( ACT_IDLE_STEALTH );
  243. REGISTER_SHARED_ACTIVITY( ACT_IDLE_HURT );
  244. REGISTER_SHARED_ACTIVITY( ACT_WALK_RELAXED );
  245. REGISTER_SHARED_ACTIVITY( ACT_WALK_STIMULATED );
  246. REGISTER_SHARED_ACTIVITY( ACT_WALK_AGITATED );
  247. REGISTER_SHARED_ACTIVITY( ACT_WALK_STEALTH );
  248. REGISTER_SHARED_ACTIVITY( ACT_RUN_RELAXED );
  249. REGISTER_SHARED_ACTIVITY( ACT_RUN_STIMULATED );
  250. REGISTER_SHARED_ACTIVITY( ACT_RUN_AGITATED );
  251. REGISTER_SHARED_ACTIVITY( ACT_RUN_STEALTH );
  252. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_RELAXED );
  253. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_STIMULATED );
  254. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_AGITATED );
  255. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_STEALTH );
  256. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_RELAXED );
  257. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_STIMULATED );
  258. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_AGITATED );
  259. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_STEALTH );
  260. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_RELAXED );
  261. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_STIMULATED );
  262. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_AGITATED );
  263. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_STEALTH );
  264. REGISTER_SHARED_ACTIVITY( ACT_CROUCHIDLE_STIMULATED );
  265. REGISTER_SHARED_ACTIVITY( ACT_CROUCHIDLE_AIM_STIMULATED );
  266. REGISTER_SHARED_ACTIVITY( ACT_CROUCHIDLE_AGITATED );
  267. REGISTER_SHARED_ACTIVITY( ACT_WALK_HURT );
  268. REGISTER_SHARED_ACTIVITY( ACT_RUN_HURT );
  269. REGISTER_SHARED_ACTIVITY( ACT_SPECIAL_ATTACK1 );
  270. REGISTER_SHARED_ACTIVITY( ACT_SPECIAL_ATTACK2 );
  271. REGISTER_SHARED_ACTIVITY( ACT_COMBAT_IDLE );
  272. REGISTER_SHARED_ACTIVITY( ACT_WALK_SCARED );
  273. REGISTER_SHARED_ACTIVITY( ACT_RUN_SCARED );
  274. REGISTER_SHARED_ACTIVITY( ACT_VICTORY_DANCE );
  275. REGISTER_SHARED_ACTIVITY( ACT_DIE_HEADSHOT );
  276. REGISTER_SHARED_ACTIVITY( ACT_DIE_CHESTSHOT );
  277. REGISTER_SHARED_ACTIVITY( ACT_DIE_GUTSHOT );
  278. REGISTER_SHARED_ACTIVITY( ACT_DIE_BACKSHOT );
  279. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_HEAD );
  280. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_CHEST );
  281. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_STOMACH );
  282. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_LEFTARM );
  283. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_RIGHTARM );
  284. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_LEFTLEG );
  285. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_RIGHTLEG );
  286. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_PHYSICS );
  287. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_HEAD_BACK );
  288. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_HEAD_LEFT );
  289. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_HEAD_RIGHT );
  290. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_CHEST_BACK );
  291. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_STOMACH_BACK );
  292. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_CROUCH_FRONT );
  293. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_CROUCH_BACK );
  294. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_CROUCH_LEFT );
  295. REGISTER_SHARED_ACTIVITY( ACT_FLINCH_CROUCH_RIGHT );
  296. REGISTER_SHARED_ACTIVITY( ACT_IDLE_ON_FIRE );
  297. REGISTER_SHARED_ACTIVITY( ACT_WALK_ON_FIRE );
  298. REGISTER_SHARED_ACTIVITY( ACT_RUN_ON_FIRE );
  299. REGISTER_SHARED_ACTIVITY( ACT_RAPPEL_LOOP );
  300. REGISTER_SHARED_ACTIVITY( ACT_180_LEFT );
  301. REGISTER_SHARED_ACTIVITY( ACT_180_RIGHT );
  302. REGISTER_SHARED_ACTIVITY( ACT_90_LEFT );
  303. REGISTER_SHARED_ACTIVITY( ACT_90_RIGHT );
  304. REGISTER_SHARED_ACTIVITY( ACT_STEP_LEFT );
  305. REGISTER_SHARED_ACTIVITY( ACT_STEP_RIGHT );
  306. REGISTER_SHARED_ACTIVITY( ACT_STEP_BACK );
  307. REGISTER_SHARED_ACTIVITY( ACT_STEP_FORE );
  308. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK1 );
  309. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK2 );
  310. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_MELEE_ATTACK1 );
  311. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_MELEE_ATTACK2 );
  312. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK1_LOW );
  313. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK2_LOW );
  314. REGISTER_SHARED_ACTIVITY( ACT_MELEE_ATTACK_SWING_GESTURE );
  315. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_SMALL_FLINCH );
  316. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_BIG_FLINCH );
  317. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_BLAST );
  318. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_BLAST_SHOTGUN );
  319. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_BLAST_DAMAGED );
  320. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_BLAST_DAMAGED_SHOTGUN );
  321. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_HEAD );
  322. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_CHEST );
  323. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_STOMACH );
  324. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_LEFTARM );
  325. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_RIGHTARM );
  326. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_LEFTLEG );
  327. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_FLINCH_RIGHTLEG );
  328. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_LEFT );
  329. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_RIGHT );
  330. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_LEFT45 );
  331. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_RIGHT45 );
  332. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_LEFT90 );
  333. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_RIGHT90 );
  334. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_LEFT45_FLAT );
  335. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_RIGHT45_FLAT );
  336. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_LEFT90_FLAT );
  337. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_TURN_RIGHT90_FLAT );
  338. // registered for Half-Life HGRUNT compatability
  339. REGISTER_SHARED_ACTIVITY( ACT_BARNACLE_HIT );
  340. REGISTER_SHARED_ACTIVITY( ACT_BARNACLE_PULL );
  341. REGISTER_SHARED_ACTIVITY( ACT_BARNACLE_CHOMP );
  342. REGISTER_SHARED_ACTIVITY( ACT_BARNACLE_CHEW );
  343. REGISTER_SHARED_ACTIVITY( ACT_DO_NOT_DISTURB );
  344. REGISTER_SHARED_ACTIVITY( ACT_SPECIFIC_SEQUENCE );
  345. // Viewmodel activities may belong elsewhere, but since where is unclear right now,
  346. // they'll be placed here.
  347. REGISTER_SHARED_ACTIVITY( ACT_VM_DRAW );
  348. REGISTER_SHARED_ACTIVITY( ACT_VM_HOLSTER );
  349. REGISTER_SHARED_ACTIVITY( ACT_VM_IDLE );
  350. REGISTER_SHARED_ACTIVITY( ACT_VM_FIDGET );
  351. REGISTER_SHARED_ACTIVITY( ACT_VM_PULLBACK );
  352. REGISTER_SHARED_ACTIVITY( ACT_VM_PULLBACK_HIGH );
  353. REGISTER_SHARED_ACTIVITY( ACT_VM_PULLBACK_LOW );
  354. REGISTER_SHARED_ACTIVITY( ACT_VM_THROW );
  355. REGISTER_SHARED_ACTIVITY( ACT_VM_PULLPIN );
  356. REGISTER_SHARED_ACTIVITY( ACT_VM_PRIMARYATTACK );
  357. REGISTER_SHARED_ACTIVITY( ACT_VM_SECONDARYATTACK );
  358. REGISTER_SHARED_ACTIVITY( ACT_VM_RELOAD );
  359. REGISTER_SHARED_ACTIVITY( ACT_VM_DRYFIRE );
  360. REGISTER_SHARED_ACTIVITY( ACT_VM_HITLEFT );
  361. REGISTER_SHARED_ACTIVITY( ACT_VM_HITLEFT2 );
  362. REGISTER_SHARED_ACTIVITY( ACT_VM_HITRIGHT );
  363. REGISTER_SHARED_ACTIVITY( ACT_VM_HITRIGHT2 );
  364. REGISTER_SHARED_ACTIVITY( ACT_VM_HITCENTER );
  365. REGISTER_SHARED_ACTIVITY( ACT_VM_HITCENTER2 );
  366. REGISTER_SHARED_ACTIVITY( ACT_VM_MISSLEFT );
  367. REGISTER_SHARED_ACTIVITY( ACT_VM_MISSLEFT2 );
  368. REGISTER_SHARED_ACTIVITY( ACT_VM_MISSRIGHT );
  369. REGISTER_SHARED_ACTIVITY( ACT_VM_MISSRIGHT2 );
  370. REGISTER_SHARED_ACTIVITY( ACT_VM_MISSCENTER );
  371. REGISTER_SHARED_ACTIVITY( ACT_VM_MISSCENTER2 );
  372. REGISTER_SHARED_ACTIVITY( ACT_VM_HAULBACK );
  373. REGISTER_SHARED_ACTIVITY( ACT_VM_SWINGHARD );
  374. REGISTER_SHARED_ACTIVITY( ACT_VM_SWINGMISS );
  375. REGISTER_SHARED_ACTIVITY( ACT_VM_SWINGHIT );
  376. REGISTER_SHARED_ACTIVITY( ACT_VM_IDLE_TO_LOWERED );
  377. REGISTER_SHARED_ACTIVITY( ACT_VM_IDLE_LOWERED );
  378. REGISTER_SHARED_ACTIVITY( ACT_VM_LOWERED_TO_IDLE );
  379. REGISTER_SHARED_ACTIVITY( ACT_VM_RECOIL1 );
  380. REGISTER_SHARED_ACTIVITY( ACT_VM_RECOIL2 );
  381. REGISTER_SHARED_ACTIVITY( ACT_VM_RECOIL3 );
  382. REGISTER_SHARED_ACTIVITY( ACT_VM_PICKUP );
  383. REGISTER_SHARED_ACTIVITY( ACT_VM_RELEASE );
  384. REGISTER_SHARED_ACTIVITY ( ACT_VM_ATTACH_SILENCER );
  385. REGISTER_SHARED_ACTIVITY ( ACT_VM_DETACH_SILENCER );
  386. REGISTER_SHARED_ACTIVITY ( ACT_VM_EMPTY_FIRE );
  387. REGISTER_SHARED_ACTIVITY ( ACT_VM_EMPTY_RELOAD );
  388. REGISTER_SHARED_ACTIVITY ( ACT_VM_EMPTY_DRAW );
  389. REGISTER_SHARED_ACTIVITY ( ACT_VM_EMPTY_IDLE );
  390. //===========================
  391. // HL2 Specific Activities
  392. //===========================
  393. // SLAM Specialty Activites
  394. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_IDLE);
  395. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_ND_IDLE);
  396. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_ATTACH);
  397. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_ATTACH2);
  398. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_ND_ATTACH);
  399. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_ND_ATTACH2);
  400. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_DETONATE);
  401. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_DETONATOR_HOLSTER);
  402. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_DRAW);
  403. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_ND_DRAW);
  404. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_TO_THROW);
  405. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_TO_THROW_ND);
  406. REGISTER_SHARED_ACTIVITY( ACT_SLAM_STICKWALL_TO_TRIPMINE_ND );
  407. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_IDLE);
  408. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_ND_IDLE);
  409. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_THROW);
  410. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_THROW2);
  411. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_THROW_ND);
  412. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_THROW_ND2);
  413. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_DRAW);
  414. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_ND_DRAW);
  415. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_TO_STICKWALL);
  416. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_TO_STICKWALL_ND);
  417. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_DETONATE);
  418. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_DETONATOR_HOLSTER);
  419. REGISTER_SHARED_ACTIVITY( ACT_SLAM_THROW_TO_TRIPMINE_ND );
  420. REGISTER_SHARED_ACTIVITY( ACT_SLAM_TRIPMINE_IDLE);
  421. REGISTER_SHARED_ACTIVITY( ACT_SLAM_TRIPMINE_DRAW);
  422. REGISTER_SHARED_ACTIVITY( ACT_SLAM_TRIPMINE_ATTACH);
  423. REGISTER_SHARED_ACTIVITY( ACT_SLAM_TRIPMINE_ATTACH2);
  424. REGISTER_SHARED_ACTIVITY( ACT_SLAM_TRIPMINE_TO_STICKWALL_ND );
  425. REGISTER_SHARED_ACTIVITY( ACT_SLAM_TRIPMINE_TO_THROW_ND );
  426. REGISTER_SHARED_ACTIVITY( ACT_SLAM_DETONATOR_IDLE);
  427. REGISTER_SHARED_ACTIVITY( ACT_SLAM_DETONATOR_DRAW);
  428. REGISTER_SHARED_ACTIVITY( ACT_SLAM_DETONATOR_DETONATE);
  429. REGISTER_SHARED_ACTIVITY( ACT_SLAM_DETONATOR_HOLSTER);
  430. REGISTER_SHARED_ACTIVITY( ACT_SLAM_DETONATOR_STICKWALL_DRAW);
  431. REGISTER_SHARED_ACTIVITY( ACT_SLAM_DETONATOR_THROW_DRAW);
  432. // SHOTGUN specialty activities
  433. REGISTER_SHARED_ACTIVITY( ACT_SHOTGUN_RELOAD_START);
  434. REGISTER_SHARED_ACTIVITY( ACT_SHOTGUN_RELOAD_FINISH);
  435. REGISTER_SHARED_ACTIVITY( ACT_SHOTGUN_PUMP);
  436. // SMG2 special activities
  437. REGISTER_SHARED_ACTIVITY( ACT_SMG2_IDLE2 );
  438. REGISTER_SHARED_ACTIVITY( ACT_SMG2_FIRE2 );
  439. REGISTER_SHARED_ACTIVITY( ACT_SMG2_DRAW2 );
  440. REGISTER_SHARED_ACTIVITY( ACT_SMG2_RELOAD2 );
  441. REGISTER_SHARED_ACTIVITY( ACT_SMG2_DRYFIRE2 );
  442. REGISTER_SHARED_ACTIVITY( ACT_SMG2_TOAUTO );
  443. REGISTER_SHARED_ACTIVITY( ACT_SMG2_TOBURST );
  444. // Physcannon special activities
  445. REGISTER_SHARED_ACTIVITY( ACT_PHYSCANNON_UPGRADE );
  446. // weapon override activities
  447. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_AR1 );
  448. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_AR2 );
  449. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_AR2_LOW );
  450. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_AR2_GRENADE );
  451. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_HMG1 );
  452. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_ML );
  453. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_SMG1 );
  454. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_SMG1_LOW );
  455. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_SMG2 );
  456. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_SHOTGUN );
  457. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_SHOTGUN_LOW );
  458. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_PISTOL );
  459. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_PISTOL_LOW );
  460. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_SLAM );
  461. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_TRIPWIRE );
  462. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_THROW );
  463. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_SNIPER_RIFLE );
  464. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_RPG );
  465. REGISTER_SHARED_ACTIVITY( ACT_MELEE_ATTACK_SWING );
  466. REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_LOW );
  467. REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_SMG1_LOW );
  468. REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_PISTOL_LOW );
  469. REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_AR2_LOW );
  470. REGISTER_SHARED_ACTIVITY( ACT_COVER_PISTOL_LOW );
  471. REGISTER_SHARED_ACTIVITY( ACT_COVER_SMG1_LOW );
  472. // weapon override activities
  473. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_AR1 );
  474. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_AR2 );
  475. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_AR2_GRENADE );
  476. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_HMG1 );
  477. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_ML );
  478. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_SMG1 );
  479. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_SMG1_LOW );
  480. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_SMG2 );
  481. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_SHOTGUN );
  482. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_PISTOL );
  483. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_PISTOL_LOW );
  484. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_SLAM );
  485. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_TRIPWIRE );
  486. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_THROW );
  487. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_SNIPER_RIFLE );
  488. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_MELEE_ATTACK_SWING );
  489. REGISTER_SHARED_ACTIVITY( ACT_IDLE_RIFLE );
  490. REGISTER_SHARED_ACTIVITY( ACT_IDLE_SMG1 );
  491. REGISTER_SHARED_ACTIVITY( ACT_IDLE_ANGRY_SMG1 );
  492. REGISTER_SHARED_ACTIVITY( ACT_IDLE_PISTOL );
  493. REGISTER_SHARED_ACTIVITY( ACT_IDLE_ANGRY_PISTOL );
  494. REGISTER_SHARED_ACTIVITY( ACT_IDLE_ANGRY_SHOTGUN );
  495. REGISTER_SHARED_ACTIVITY( ACT_IDLE_STEALTH_PISTOL );
  496. REGISTER_SHARED_ACTIVITY( ACT_IDLE_PACKAGE );
  497. REGISTER_SHARED_ACTIVITY( ACT_WALK_PACKAGE );
  498. REGISTER_SHARED_ACTIVITY( ACT_IDLE_SUITCASE );
  499. REGISTER_SHARED_ACTIVITY( ACT_WALK_SUITCASE );
  500. REGISTER_SHARED_ACTIVITY( ACT_IDLE_SMG1_RELAXED );
  501. REGISTER_SHARED_ACTIVITY( ACT_IDLE_SMG1_STIMULATED );
  502. REGISTER_SHARED_ACTIVITY( ACT_WALK_RIFLE_RELAXED );
  503. REGISTER_SHARED_ACTIVITY( ACT_RUN_RIFLE_RELAXED );
  504. REGISTER_SHARED_ACTIVITY( ACT_WALK_RIFLE_STIMULATED );
  505. REGISTER_SHARED_ACTIVITY( ACT_RUN_RIFLE_STIMULATED );
  506. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_RIFLE_STIMULATED );
  507. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_RIFLE_STIMULATED );
  508. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_RIFLE_STIMULATED );
  509. REGISTER_SHARED_ACTIVITY( ACT_IDLE_SHOTGUN_RELAXED );
  510. REGISTER_SHARED_ACTIVITY( ACT_IDLE_SHOTGUN_STIMULATED );
  511. REGISTER_SHARED_ACTIVITY( ACT_IDLE_SHOTGUN_AGITATED );
  512. // Policing activities
  513. REGISTER_SHARED_ACTIVITY( ACT_WALK_ANGRY );
  514. REGISTER_SHARED_ACTIVITY( ACT_POLICE_HARASS1 );
  515. REGISTER_SHARED_ACTIVITY( ACT_POLICE_HARASS2 );
  516. // Manned guns
  517. REGISTER_SHARED_ACTIVITY( ACT_IDLE_MANNEDGUN );
  518. // Melee weapon activities
  519. REGISTER_SHARED_ACTIVITY( ACT_IDLE_MELEE );
  520. REGISTER_SHARED_ACTIVITY( ACT_IDLE_ANGRY_MELEE );
  521. // RPG activities
  522. REGISTER_SHARED_ACTIVITY( ACT_IDLE_RPG_RELAXED );
  523. REGISTER_SHARED_ACTIVITY( ACT_IDLE_RPG );
  524. REGISTER_SHARED_ACTIVITY( ACT_IDLE_ANGRY_RPG );
  525. REGISTER_SHARED_ACTIVITY( ACT_COVER_LOW_RPG );
  526. REGISTER_SHARED_ACTIVITY( ACT_WALK_RPG );
  527. REGISTER_SHARED_ACTIVITY( ACT_RUN_RPG );
  528. REGISTER_SHARED_ACTIVITY( ACT_WALK_CROUCH_RPG );
  529. REGISTER_SHARED_ACTIVITY( ACT_RUN_CROUCH_RPG );
  530. REGISTER_SHARED_ACTIVITY( ACT_WALK_RPG_RELAXED );
  531. REGISTER_SHARED_ACTIVITY( ACT_RUN_RPG_RELAXED );
  532. REGISTER_SHARED_ACTIVITY( ACT_WALK_RIFLE );
  533. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_RIFLE );
  534. REGISTER_SHARED_ACTIVITY( ACT_WALK_CROUCH_RIFLE );
  535. REGISTER_SHARED_ACTIVITY( ACT_WALK_CROUCH_AIM_RIFLE );
  536. REGISTER_SHARED_ACTIVITY( ACT_RUN_RIFLE );
  537. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_RIFLE );
  538. REGISTER_SHARED_ACTIVITY( ACT_RUN_CROUCH_RIFLE );
  539. REGISTER_SHARED_ACTIVITY( ACT_RUN_CROUCH_AIM_RIFLE );
  540. REGISTER_SHARED_ACTIVITY( ACT_RUN_STEALTH_PISTOL );
  541. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_SHOTGUN );
  542. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_SHOTGUN );
  543. REGISTER_SHARED_ACTIVITY( ACT_WALK_PISTOL );
  544. REGISTER_SHARED_ACTIVITY( ACT_RUN_PISTOL );
  545. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_PISTOL );
  546. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_PISTOL );
  547. REGISTER_SHARED_ACTIVITY( ACT_WALK_STEALTH_PISTOL );
  548. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_STEALTH_PISTOL );
  549. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_STEALTH_PISTOL );
  550. // Reloads
  551. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_PISTOL );
  552. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_PISTOL_LOW );
  553. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_SMG1 );
  554. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_SMG1_LOW );
  555. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_SHOTGUN );
  556. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_SHOTGUN_LOW );
  557. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RELOAD );
  558. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RELOAD_PISTOL );
  559. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RELOAD_SMG1 );
  560. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RELOAD_SHOTGUN );
  561. // Busy animations
  562. REGISTER_SHARED_ACTIVITY( ACT_BUSY_LEAN_LEFT );
  563. REGISTER_SHARED_ACTIVITY( ACT_BUSY_LEAN_LEFT_ENTRY );
  564. REGISTER_SHARED_ACTIVITY( ACT_BUSY_LEAN_LEFT_EXIT );
  565. REGISTER_SHARED_ACTIVITY( ACT_BUSY_LEAN_BACK );
  566. REGISTER_SHARED_ACTIVITY( ACT_BUSY_LEAN_BACK_ENTRY );
  567. REGISTER_SHARED_ACTIVITY( ACT_BUSY_LEAN_BACK_EXIT );
  568. REGISTER_SHARED_ACTIVITY( ACT_BUSY_SIT_GROUND );
  569. REGISTER_SHARED_ACTIVITY( ACT_BUSY_SIT_GROUND_ENTRY );
  570. REGISTER_SHARED_ACTIVITY( ACT_BUSY_SIT_GROUND_EXIT );
  571. REGISTER_SHARED_ACTIVITY( ACT_BUSY_SIT_CHAIR );
  572. REGISTER_SHARED_ACTIVITY( ACT_BUSY_SIT_CHAIR_ENTRY );
  573. REGISTER_SHARED_ACTIVITY( ACT_BUSY_SIT_CHAIR_EXIT );
  574. REGISTER_SHARED_ACTIVITY( ACT_BUSY_STAND );
  575. REGISTER_SHARED_ACTIVITY( ACT_BUSY_QUEUE );
  576. // Dodge animations
  577. REGISTER_SHARED_ACTIVITY( ACT_DUCK_DODGE );
  578. REGISTER_SHARED_ACTIVITY( ACT_DIE_BARNACLE_SWALLOW );
  579. REGISTER_SHARED_ACTIVITY( ACT_GESTURE_BARNACLE_STRANGLE );
  580. REGISTER_SHARED_ACTIVITY( ACT_PHYSCANNON_DETACH );
  581. REGISTER_SHARED_ACTIVITY( ACT_PHYSCANNON_ANIMATE );
  582. REGISTER_SHARED_ACTIVITY( ACT_PHYSCANNON_ANIMATE_PRE );
  583. REGISTER_SHARED_ACTIVITY( ACT_PHYSCANNON_ANIMATE_POST );
  584. REGISTER_SHARED_ACTIVITY( ACT_DIE_FRONTSIDE );
  585. REGISTER_SHARED_ACTIVITY( ACT_DIE_RIGHTSIDE );
  586. REGISTER_SHARED_ACTIVITY( ACT_DIE_BACKSIDE );
  587. REGISTER_SHARED_ACTIVITY( ACT_DIE_LEFTSIDE );
  588. REGISTER_SHARED_ACTIVITY( ACT_DIE_CROUCH_FRONTSIDE );
  589. REGISTER_SHARED_ACTIVITY( ACT_DIE_CROUCH_RIGHTSIDE );
  590. REGISTER_SHARED_ACTIVITY( ACT_DIE_CROUCH_BACKSIDE );
  591. REGISTER_SHARED_ACTIVITY( ACT_DIE_CROUCH_LEFTSIDE );
  592. REGISTER_SHARED_ACTIVITY( ACT_OPEN_DOOR );
  593. // Dynamic interactions
  594. REGISTER_SHARED_ACTIVITY( ACT_DI_ALYX_ZOMBIE_MELEE );
  595. REGISTER_SHARED_ACTIVITY( ACT_DI_ALYX_ZOMBIE_TORSO_MELEE );
  596. REGISTER_SHARED_ACTIVITY( ACT_DI_ALYX_HEADCRAB_MELEE );
  597. REGISTER_SHARED_ACTIVITY( ACT_DI_ALYX_ANTLION );
  598. REGISTER_SHARED_ACTIVITY( ACT_DI_ALYX_ZOMBIE_SHOTGUN64 );
  599. REGISTER_SHARED_ACTIVITY( ACT_DI_ALYX_ZOMBIE_SHOTGUN26 );
  600. //Readiness transitions
  601. REGISTER_SHARED_ACTIVITY( ACT_READINESS_RELAXED_TO_STIMULATED );
  602. REGISTER_SHARED_ACTIVITY( ACT_READINESS_RELAXED_TO_STIMULATED_WALK );
  603. REGISTER_SHARED_ACTIVITY( ACT_READINESS_AGITATED_TO_STIMULATED );
  604. REGISTER_SHARED_ACTIVITY( ACT_READINESS_STIMULATED_TO_RELAXED );
  605. REGISTER_SHARED_ACTIVITY( ACT_READINESS_PISTOL_RELAXED_TO_STIMULATED );
  606. REGISTER_SHARED_ACTIVITY( ACT_READINESS_PISTOL_RELAXED_TO_STIMULATED_WALK );
  607. REGISTER_SHARED_ACTIVITY( ACT_READINESS_PISTOL_AGITATED_TO_STIMULATED );
  608. REGISTER_SHARED_ACTIVITY( ACT_READINESS_PISTOL_STIMULATED_TO_RELAXED );
  609. REGISTER_SHARED_ACTIVITY( ACT_IDLE_CARRY );
  610. REGISTER_SHARED_ACTIVITY( ACT_WALK_CARRY );
  611. //===========================
  612. // TF2 Specific Activities
  613. //===========================
  614. REGISTER_SHARED_ACTIVITY( ACT_STARTDYING );
  615. REGISTER_SHARED_ACTIVITY( ACT_DYINGLOOP );
  616. REGISTER_SHARED_ACTIVITY( ACT_DYINGTODEAD );
  617. REGISTER_SHARED_ACTIVITY( ACT_RIDE_MANNED_GUN );
  618. // All viewmodels
  619. REGISTER_SHARED_ACTIVITY( ACT_VM_SPRINT_ENTER );
  620. REGISTER_SHARED_ACTIVITY( ACT_VM_SPRINT_IDLE );
  621. REGISTER_SHARED_ACTIVITY( ACT_VM_SPRINT_LEAVE );
  622. // Looping weapon firing
  623. REGISTER_SHARED_ACTIVITY( ACT_FIRE_START );
  624. REGISTER_SHARED_ACTIVITY( ACT_FIRE_LOOP );
  625. REGISTER_SHARED_ACTIVITY( ACT_FIRE_END );
  626. // TF2
  627. REGISTER_SHARED_ACTIVITY( ACT_CROUCHING_GRENADEIDLE );
  628. REGISTER_SHARED_ACTIVITY( ACT_CROUCHING_GRENADEREADY );
  629. REGISTER_SHARED_ACTIVITY( ACT_CROUCHING_PRIMARYATTACK );
  630. REGISTER_SHARED_ACTIVITY( ACT_OVERLAY_GRENADEIDLE );
  631. REGISTER_SHARED_ACTIVITY( ACT_OVERLAY_GRENADEREADY );
  632. REGISTER_SHARED_ACTIVITY( ACT_OVERLAY_PRIMARYATTACK );
  633. REGISTER_SHARED_ACTIVITY( ACT_OVERLAY_SHIELD_UP );
  634. REGISTER_SHARED_ACTIVITY( ACT_OVERLAY_SHIELD_DOWN );
  635. REGISTER_SHARED_ACTIVITY( ACT_OVERLAY_SHIELD_UP_IDLE );
  636. REGISTER_SHARED_ACTIVITY( ACT_OVERLAY_SHIELD_ATTACK );
  637. REGISTER_SHARED_ACTIVITY( ACT_OVERLAY_SHIELD_KNOCKBACK );
  638. REGISTER_SHARED_ACTIVITY( ACT_SHIELD_UP );
  639. REGISTER_SHARED_ACTIVITY( ACT_SHIELD_DOWN );
  640. REGISTER_SHARED_ACTIVITY( ACT_SHIELD_UP_IDLE );
  641. REGISTER_SHARED_ACTIVITY( ACT_SHIELD_ATTACK );
  642. REGISTER_SHARED_ACTIVITY( ACT_SHIELD_KNOCKBACK );
  643. REGISTER_SHARED_ACTIVITY( ACT_CROUCHING_SHIELD_UP );
  644. REGISTER_SHARED_ACTIVITY( ACT_CROUCHING_SHIELD_DOWN );
  645. REGISTER_SHARED_ACTIVITY( ACT_CROUCHING_SHIELD_UP_IDLE );
  646. REGISTER_SHARED_ACTIVITY( ACT_CROUCHING_SHIELD_ATTACK );
  647. REGISTER_SHARED_ACTIVITY( ACT_CROUCHING_SHIELD_KNOCKBACK );
  648. REGISTER_SHARED_ACTIVITY( ACT_TURNRIGHT45 );
  649. REGISTER_SHARED_ACTIVITY( ACT_TURNLEFT45 );
  650. REGISTER_SHARED_ACTIVITY( ACT_TURN );
  651. REGISTER_SHARED_ACTIVITY( ACT_OBJ_ASSEMBLING );
  652. REGISTER_SHARED_ACTIVITY( ACT_OBJ_DISMANTLING );
  653. REGISTER_SHARED_ACTIVITY( ACT_OBJ_STARTUP );
  654. REGISTER_SHARED_ACTIVITY( ACT_OBJ_RUNNING );
  655. REGISTER_SHARED_ACTIVITY( ACT_OBJ_IDLE );
  656. REGISTER_SHARED_ACTIVITY( ACT_OBJ_PLACING );
  657. REGISTER_SHARED_ACTIVITY( ACT_OBJ_DETERIORATING );
  658. REGISTER_SHARED_ACTIVITY( ACT_OBJ_UPGRADING );
  659. // Deploy
  660. REGISTER_SHARED_ACTIVITY( ACT_DEPLOY );
  661. REGISTER_SHARED_ACTIVITY( ACT_DEPLOY_IDLE );
  662. REGISTER_SHARED_ACTIVITY( ACT_UNDEPLOY );
  663. // Crossbow
  664. REGISTER_SHARED_ACTIVITY( ACT_CROSSBOW_DRAW_UNLOADED );
  665. // Gauss
  666. REGISTER_SHARED_ACTIVITY( ACT_GAUSS_SPINUP );
  667. REGISTER_SHARED_ACTIVITY( ACT_GAUSS_SPINCYCLE );
  668. //===========================
  669. // CSPort Specific Activities
  670. //===========================
  671. REGISTER_SHARED_ACTIVITY ( ACT_VM_PRIMARYATTACK_SILENCED ); // fire
  672. REGISTER_SHARED_ACTIVITY ( ACT_VM_RELOAD_SILENCED );
  673. REGISTER_SHARED_ACTIVITY ( ACT_VM_DRYFIRE_SILENCED ); // fire with no ammo loaded.
  674. REGISTER_SHARED_ACTIVITY ( ACT_VM_IDLE_SILENCED );
  675. REGISTER_SHARED_ACTIVITY ( ACT_VM_DRAW_SILENCED );
  676. REGISTER_SHARED_ACTIVITY ( ACT_VM_IDLE_EMPTY_LEFT );
  677. REGISTER_SHARED_ACTIVITY ( ACT_VM_DRYFIRE_LEFT );
  678. // new for CS2
  679. REGISTER_SHARED_ACTIVITY ( ACT_VM_IS_DRAW );
  680. REGISTER_SHARED_ACTIVITY ( ACT_VM_IS_HOLSTER );
  681. REGISTER_SHARED_ACTIVITY ( ACT_VM_IS_IDLE );
  682. REGISTER_SHARED_ACTIVITY ( ACT_VM_IS_PRIMARYATTACK );
  683. REGISTER_SHARED_ACTIVITY ( ACT_PLAYER_IDLE_FIRE );
  684. REGISTER_SHARED_ACTIVITY ( ACT_PLAYER_CROUCH_FIRE );
  685. REGISTER_SHARED_ACTIVITY ( ACT_PLAYER_CROUCH_WALK_FIRE );
  686. REGISTER_SHARED_ACTIVITY ( ACT_PLAYER_WALK_FIRE );
  687. REGISTER_SHARED_ACTIVITY ( ACT_PLAYER_RUN_FIRE );
  688. REGISTER_SHARED_ACTIVITY ( ACT_IDLETORUN );
  689. REGISTER_SHARED_ACTIVITY ( ACT_RUNTOIDLE );
  690. REGISTER_SHARED_ACTIVITY ( ACT_VM_DRAW_DEPLOYED );
  691. REGISTER_SHARED_ACTIVITY ( ACT_HL2MP_IDLE_MELEE );
  692. REGISTER_SHARED_ACTIVITY ( ACT_HL2MP_RUN_MELEE );
  693. REGISTER_SHARED_ACTIVITY ( ACT_HL2MP_IDLE_CROUCH_MELEE );
  694. REGISTER_SHARED_ACTIVITY ( ACT_HL2MP_WALK_CROUCH_MELEE );
  695. REGISTER_SHARED_ACTIVITY ( ACT_HL2MP_GESTURE_RANGE_ATTACK_MELEE );
  696. REGISTER_SHARED_ACTIVITY ( ACT_HL2MP_GESTURE_RELOAD_MELEE );
  697. REGISTER_SHARED_ACTIVITY ( ACT_HL2MP_JUMP_MELEE );
  698. // Portal
  699. REGISTER_SHARED_ACTIVITY ( ACT_VM_FIZZLE );
  700. // Multiplayer
  701. REGISTER_SHARED_ACTIVITY ( ACT_MP_STAND_IDLE );
  702. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCH_IDLE );
  703. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCH_DEPLOYED_IDLE );
  704. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCH_DEPLOYED );
  705. REGISTER_SHARED_ACTIVITY ( ACT_MP_DEPLOYED_IDLE );
  706. REGISTER_SHARED_ACTIVITY ( ACT_MP_RUN );
  707. REGISTER_SHARED_ACTIVITY ( ACT_MP_WALK );
  708. REGISTER_SHARED_ACTIVITY ( ACT_MP_AIRWALK );
  709. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCHWALK );
  710. REGISTER_SHARED_ACTIVITY ( ACT_MP_SPRINT );
  711. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP );
  712. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_START );
  713. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_FLOAT );
  714. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_LAND );
  715. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_IMPACT_N );
  716. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_IMPACT_E );
  717. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_IMPACT_W );
  718. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_IMPACT_S );
  719. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_IMPACT_TOP );
  720. REGISTER_SHARED_ACTIVITY ( ACT_MP_DOUBLEJUMP );
  721. REGISTER_SHARED_ACTIVITY ( ACT_MP_SWIM );
  722. REGISTER_SHARED_ACTIVITY ( ACT_MP_DEPLOYED );
  723. REGISTER_SHARED_ACTIVITY ( ACT_MP_SWIM_DEPLOYED );
  724. REGISTER_SHARED_ACTIVITY ( ACT_MP_VCD );
  725. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_PRIMARYFIRE );
  726. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_PRIMARYFIRE_DEPLOYED );
  727. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_SECONDARYFIRE );
  728. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_GRENADE );
  729. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_PRIMARYFIRE );
  730. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_PRIMARYFIRE_DEPLOYED );
  731. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_SECONDARYFIRE );
  732. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_GRENADE );
  733. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_PRIMARYFIRE );
  734. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_SECONDARYFIRE );
  735. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_GRENADE );
  736. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_PRIMARYFIRE );
  737. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_SECONDARYFIRE );
  738. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_GRENADE );
  739. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_STAND );
  740. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_STAND_LOOP );
  741. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_STAND_END );
  742. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_CROUCH );
  743. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_CROUCH_LOOP );
  744. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_CROUCH_END );
  745. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_SWIM );
  746. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_SWIM_LOOP );
  747. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_SWIM_END );
  748. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_AIRWALK );
  749. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_AIRWALK_LOOP );
  750. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_AIRWALK_END );
  751. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_PREFIRE );
  752. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_POSTFIRE );
  753. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_STARTFIRE );
  754. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_PREFIRE );
  755. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_POSTFIRE );
  756. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_PREFIRE );
  757. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_POSTFIRE );
  758. // Multiplayer - Primary
  759. REGISTER_SHARED_ACTIVITY ( ACT_MP_STAND_PRIMARY );
  760. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCH_PRIMARY );
  761. REGISTER_SHARED_ACTIVITY ( ACT_MP_RUN_PRIMARY );
  762. REGISTER_SHARED_ACTIVITY ( ACT_MP_WALK_PRIMARY );
  763. REGISTER_SHARED_ACTIVITY ( ACT_MP_AIRWALK_PRIMARY );
  764. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCHWALK_PRIMARY );
  765. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_PRIMARY );
  766. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_START_PRIMARY );
  767. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_FLOAT_PRIMARY );
  768. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_LAND_PRIMARY );
  769. REGISTER_SHARED_ACTIVITY ( ACT_MP_SWIM_PRIMARY );
  770. REGISTER_SHARED_ACTIVITY ( ACT_MP_DEPLOYED_PRIMARY );
  771. REGISTER_SHARED_ACTIVITY ( ACT_MP_SWIM_DEPLOYED_PRIMARY );
  772. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_PRIMARY );
  773. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_PRIMARY_DEPLOYED );
  774. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_PRIMARY );
  775. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_PRIMARY_DEPLOYED );
  776. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_PRIMARY );
  777. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_PRIMARY );
  778. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_STAND_PRIMARY );
  779. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_STAND_PRIMARY_LOOP );
  780. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_STAND_PRIMARY_END );
  781. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_CROUCH_PRIMARY );
  782. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_CROUCH_PRIMARY_LOOP );
  783. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_CROUCH_PRIMARY_END );
  784. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_SWIM_PRIMARY );
  785. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_SWIM_PRIMARY_LOOP );
  786. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_SWIM_PRIMARY_END );
  787. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_AIRWALK_PRIMARY );
  788. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_AIRWALK_PRIMARY_LOOP );
  789. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_AIRWALK_PRIMARY_END );
  790. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_GRENADE_PRIMARY );
  791. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_GRENADE_PRIMARY );
  792. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_GRENADE_PRIMARY );
  793. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_GRENADE_PRIMARY );
  794. // Secondary
  795. REGISTER_SHARED_ACTIVITY ( ACT_MP_STAND_SECONDARY );
  796. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCH_SECONDARY );
  797. REGISTER_SHARED_ACTIVITY ( ACT_MP_RUN_SECONDARY );
  798. REGISTER_SHARED_ACTIVITY ( ACT_MP_WALK_SECONDARY );
  799. REGISTER_SHARED_ACTIVITY ( ACT_MP_AIRWALK_SECONDARY );
  800. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCHWALK_SECONDARY );
  801. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_SECONDARY );
  802. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_START_SECONDARY );
  803. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_FLOAT_SECONDARY );
  804. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_LAND_SECONDARY );
  805. REGISTER_SHARED_ACTIVITY ( ACT_MP_SWIM_SECONDARY );
  806. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_SECONDARY );
  807. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_SECONDARY );
  808. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_SECONDARY );
  809. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_SECONDARY );
  810. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_STAND_SECONDARY );
  811. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_STAND_SECONDARY_LOOP );
  812. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_STAND_SECONDARY_END );
  813. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_CROUCH_SECONDARY );
  814. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_CROUCH_SECONDARY_LOOP );
  815. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_CROUCH_SECONDARY_END );
  816. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_SWIM_SECONDARY );
  817. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_SWIM_SECONDARY_LOOP );
  818. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_SWIM_SECONDARY_END );
  819. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_AIRWALK_SECONDARY );
  820. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_AIRWALK_SECONDARY_LOOP );
  821. REGISTER_SHARED_ACTIVITY ( ACT_MP_RELOAD_AIRWALK_SECONDARY_END );
  822. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_GRENADE_SECONDARY );
  823. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_GRENADE_SECONDARY );
  824. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_GRENADE_SECONDARY );
  825. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_GRENADE_SECONDARY );
  826. // Melee
  827. REGISTER_SHARED_ACTIVITY ( ACT_MP_STAND_MELEE );
  828. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCH_MELEE );
  829. REGISTER_SHARED_ACTIVITY ( ACT_MP_RUN_MELEE );
  830. REGISTER_SHARED_ACTIVITY ( ACT_MP_WALK_MELEE );
  831. REGISTER_SHARED_ACTIVITY ( ACT_MP_AIRWALK_MELEE );
  832. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCHWALK_MELEE );
  833. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_MELEE );
  834. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_START_MELEE );
  835. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_FLOAT_MELEE );
  836. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_LAND_MELEE );
  837. REGISTER_SHARED_ACTIVITY ( ACT_MP_SWIM_MELEE );
  838. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_MELEE );
  839. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_MELEE_SECONDARY );
  840. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_MELEE );
  841. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_MELEE_SECONDARY );
  842. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_MELEE );
  843. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_MELEE );
  844. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_GRENADE_MELEE );
  845. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_GRENADE_MELEE );
  846. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_GRENADE_MELEE );
  847. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_GRENADE_MELEE );
  848. // Item1
  849. REGISTER_SHARED_ACTIVITY( ACT_MP_STAND_ITEM1 );
  850. REGISTER_SHARED_ACTIVITY( ACT_MP_CROUCH_ITEM1 );
  851. REGISTER_SHARED_ACTIVITY( ACT_MP_RUN_ITEM1 );
  852. REGISTER_SHARED_ACTIVITY( ACT_MP_WALK_ITEM1 );
  853. REGISTER_SHARED_ACTIVITY( ACT_MP_AIRWALK_ITEM1 );
  854. REGISTER_SHARED_ACTIVITY( ACT_MP_CROUCHWALK_ITEM1 );
  855. REGISTER_SHARED_ACTIVITY( ACT_MP_JUMP_ITEM1 );
  856. REGISTER_SHARED_ACTIVITY( ACT_MP_JUMP_START_ITEM1 );
  857. REGISTER_SHARED_ACTIVITY( ACT_MP_JUMP_FLOAT_ITEM1 );
  858. REGISTER_SHARED_ACTIVITY( ACT_MP_JUMP_LAND_ITEM1 );
  859. REGISTER_SHARED_ACTIVITY( ACT_MP_SWIM_ITEM1 );
  860. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_STAND_ITEM1 );
  861. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_STAND_ITEM1_SECONDARY );
  862. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_CROUCH_ITEM1 );
  863. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_CROUCH_ITEM1_SECONDARY );
  864. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_SWIM_ITEM1 );
  865. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_AIRWALK_ITEM1 );
  866. // Item2
  867. REGISTER_SHARED_ACTIVITY( ACT_MP_STAND_ITEM2 );
  868. REGISTER_SHARED_ACTIVITY( ACT_MP_CROUCH_ITEM2 );
  869. REGISTER_SHARED_ACTIVITY( ACT_MP_RUN_ITEM2 );
  870. REGISTER_SHARED_ACTIVITY( ACT_MP_WALK_ITEM2 );
  871. REGISTER_SHARED_ACTIVITY( ACT_MP_AIRWALK_ITEM2 );
  872. REGISTER_SHARED_ACTIVITY( ACT_MP_CROUCHWALK_ITEM2 );
  873. REGISTER_SHARED_ACTIVITY( ACT_MP_JUMP_ITEM2 );
  874. REGISTER_SHARED_ACTIVITY( ACT_MP_JUMP_START_ITEM2 );
  875. REGISTER_SHARED_ACTIVITY( ACT_MP_JUMP_FLOAT_ITEM2 );
  876. REGISTER_SHARED_ACTIVITY( ACT_MP_JUMP_LAND_ITEM2 );
  877. REGISTER_SHARED_ACTIVITY( ACT_MP_SWIM_ITEM2 );
  878. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_STAND_ITEM2 );
  879. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_STAND_ITEM2_SECONDARY );
  880. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_CROUCH_ITEM2 );
  881. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_CROUCH_ITEM2_SECONDARY );
  882. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_SWIM_ITEM2 );
  883. REGISTER_SHARED_ACTIVITY( ACT_MP_ATTACK_AIRWALK_ITEM2 );
  884. // Flinches
  885. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH );
  886. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_PRIMARY );
  887. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_SECONDARY );
  888. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_MELEE );
  889. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_ITEM1 );
  890. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_ITEM2 );
  891. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_HEAD );
  892. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_CHEST );
  893. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_STOMACH );
  894. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_LEFTARM );
  895. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_RIGHTARM );
  896. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_LEFTLEG );
  897. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_FLINCH_RIGHTLEG );
  898. // TF Specific
  899. REGISTER_SHARED_ACTIVITY ( ACT_MP_GRENADE1_DRAW );
  900. REGISTER_SHARED_ACTIVITY ( ACT_MP_GRENADE1_IDLE );
  901. REGISTER_SHARED_ACTIVITY ( ACT_MP_GRENADE1_ATTACK );
  902. REGISTER_SHARED_ACTIVITY ( ACT_MP_GRENADE2_DRAW );
  903. REGISTER_SHARED_ACTIVITY ( ACT_MP_GRENADE2_IDLE );
  904. REGISTER_SHARED_ACTIVITY ( ACT_MP_GRENADE2_ATTACK );
  905. REGISTER_SHARED_ACTIVITY ( ACT_MP_PRIMARY_GRENADE1_DRAW );
  906. REGISTER_SHARED_ACTIVITY ( ACT_MP_PRIMARY_GRENADE1_IDLE );
  907. REGISTER_SHARED_ACTIVITY ( ACT_MP_PRIMARY_GRENADE1_ATTACK );
  908. REGISTER_SHARED_ACTIVITY ( ACT_MP_PRIMARY_GRENADE2_DRAW );
  909. REGISTER_SHARED_ACTIVITY ( ACT_MP_PRIMARY_GRENADE2_IDLE );
  910. REGISTER_SHARED_ACTIVITY ( ACT_MP_PRIMARY_GRENADE2_ATTACK );
  911. REGISTER_SHARED_ACTIVITY ( ACT_MP_SECONDARY_GRENADE1_DRAW );
  912. REGISTER_SHARED_ACTIVITY ( ACT_MP_SECONDARY_GRENADE1_IDLE );
  913. REGISTER_SHARED_ACTIVITY ( ACT_MP_SECONDARY_GRENADE1_ATTACK );
  914. REGISTER_SHARED_ACTIVITY ( ACT_MP_SECONDARY_GRENADE2_DRAW );
  915. REGISTER_SHARED_ACTIVITY ( ACT_MP_SECONDARY_GRENADE2_IDLE );
  916. REGISTER_SHARED_ACTIVITY ( ACT_MP_SECONDARY_GRENADE2_ATTACK );
  917. REGISTER_SHARED_ACTIVITY ( ACT_MP_MELEE_GRENADE1_DRAW );
  918. REGISTER_SHARED_ACTIVITY ( ACT_MP_MELEE_GRENADE1_IDLE );
  919. REGISTER_SHARED_ACTIVITY ( ACT_MP_MELEE_GRENADE1_ATTACK );
  920. REGISTER_SHARED_ACTIVITY ( ACT_MP_MELEE_GRENADE2_DRAW );
  921. REGISTER_SHARED_ACTIVITY ( ACT_MP_MELEE_GRENADE2_IDLE );
  922. REGISTER_SHARED_ACTIVITY ( ACT_MP_MELEE_GRENADE2_ATTACK );
  923. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM1_GRENADE1_DRAW );
  924. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM1_GRENADE1_IDLE );
  925. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM1_GRENADE1_ATTACK );
  926. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM1_GRENADE2_DRAW );
  927. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM1_GRENADE2_IDLE );
  928. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM1_GRENADE2_ATTACK );
  929. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM2_GRENADE1_DRAW );
  930. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM2_GRENADE1_IDLE );
  931. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM2_GRENADE1_ATTACK );
  932. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM2_GRENADE2_DRAW );
  933. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM2_GRENADE2_IDLE );
  934. REGISTER_SHARED_ACTIVITY ( ACT_MP_ITEM2_GRENADE2_ATTACK );
  935. // Building
  936. REGISTER_SHARED_ACTIVITY ( ACT_MP_STAND_BUILDING );
  937. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCH_BUILDING );
  938. REGISTER_SHARED_ACTIVITY ( ACT_MP_RUN_BUILDING );
  939. REGISTER_SHARED_ACTIVITY ( ACT_MP_WALK_BUILDING );
  940. REGISTER_SHARED_ACTIVITY ( ACT_MP_AIRWALK_BUILDING );
  941. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCHWALK_BUILDING );
  942. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_BUILDING );
  943. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_START_BUILDING );
  944. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_FLOAT_BUILDING );
  945. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_LAND_BUILDING );
  946. REGISTER_SHARED_ACTIVITY ( ACT_MP_SWIM_BUILDING );
  947. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_BUILDING );
  948. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_BUILDING );
  949. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_BUILDING );
  950. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_BUILDING );
  951. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_GRENADE_BUILDING );
  952. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_CROUCH_GRENADE_BUILDING );
  953. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_GRENADE_BUILDING );
  954. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_AIRWALK_GRENADE_BUILDING );
  955. // PDA
  956. REGISTER_SHARED_ACTIVITY ( ACT_MP_STAND_PDA );
  957. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCH_PDA );
  958. REGISTER_SHARED_ACTIVITY ( ACT_MP_RUN_PDA );
  959. REGISTER_SHARED_ACTIVITY ( ACT_MP_WALK_PDA );
  960. REGISTER_SHARED_ACTIVITY ( ACT_MP_AIRWALK_PDA );
  961. REGISTER_SHARED_ACTIVITY ( ACT_MP_CROUCHWALK_PDA );
  962. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_PDA );
  963. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_START_PDA );
  964. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_FLOAT_PDA );
  965. REGISTER_SHARED_ACTIVITY ( ACT_MP_JUMP_LAND_PDA );
  966. REGISTER_SHARED_ACTIVITY ( ACT_MP_SWIM_PDA );
  967. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_STAND_PDA );
  968. REGISTER_SHARED_ACTIVITY ( ACT_MP_ATTACK_SWIM_PDA );
  969. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_HANDMOUTH );
  970. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FINGERPOINT );
  971. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FISTPUMP );
  972. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_THUMBSUP );
  973. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODYES );
  974. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODNO );
  975. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_HANDMOUTH_PRIMARY );
  976. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FINGERPOINT_PRIMARY );
  977. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FISTPUMP_PRIMARY );
  978. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_THUMBSUP_PRIMARY );
  979. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODYES_PRIMARY );
  980. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODNO_PRIMARY );
  981. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_HANDMOUTH_SECONDARY );
  982. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FINGERPOINT_SECONDARY );
  983. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FISTPUMP_SECONDARY );
  984. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_THUMBSUP_SECONDARY );
  985. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODYES_SECONDARY );
  986. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODNO_SECONDARY );
  987. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_HANDMOUTH_MELEE );
  988. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FINGERPOINT_MELEE );
  989. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FISTPUMP_MELEE );
  990. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_THUMBSUP_MELEE );
  991. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODYES_MELEE );
  992. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODNO_MELEE );
  993. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_HANDMOUTH_ITEM1 );
  994. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FINGERPOINT_ITEM1 );
  995. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FISTPUMP_ITEM1 );
  996. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_THUMBSUP_ITEM1 );
  997. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODYES_ITEM1 );
  998. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODNO_ITEM1 );
  999. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_HANDMOUTH_ITEM2 );
  1000. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FINGERPOINT_ITEM2 );
  1001. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FISTPUMP_ITEM2 );
  1002. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_THUMBSUP_ITEM2 );
  1003. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODYES_ITEM2 );
  1004. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODNO_ITEM2 );
  1005. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_HANDMOUTH_BUILDING );
  1006. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FINGERPOINT_BUILDING );
  1007. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FISTPUMP_BUILDING );
  1008. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_THUMBSUP_BUILDING );
  1009. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODYES_BUILDING );
  1010. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODNO_BUILDING );
  1011. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_HANDMOUTH_PDA );
  1012. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FINGERPOINT_PDA );
  1013. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_FISTPUMP_PDA );
  1014. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_THUMBSUP_PDA );
  1015. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODYES_PDA );
  1016. REGISTER_SHARED_ACTIVITY( ACT_MP_GESTURE_VC_NODNO_PDA );
  1017. REGISTER_SHARED_ACTIVITY ( ACT_VM_UNUSABLE );
  1018. REGISTER_SHARED_ACTIVITY ( ACT_VM_UNUSABLE_TO_USABLE );
  1019. REGISTER_SHARED_ACTIVITY ( ACT_VM_USABLE_TO_UNUSABLE );
  1020. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_DRAW );
  1021. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_HOLSTER );
  1022. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_IDLE );
  1023. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_PULLBACK );
  1024. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_PRIMARYATTACK );
  1025. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_SECONDARYATTACK );
  1026. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_RELOAD );
  1027. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_DRYFIRE );
  1028. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_IDLE_TO_LOWERED );
  1029. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_IDLE_LOWERED );
  1030. REGISTER_SHARED_ACTIVITY( ACT_PRIMARY_VM_LOWERED_TO_IDLE );
  1031. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_DRAW );
  1032. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_HOLSTER );
  1033. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_IDLE );
  1034. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_PULLBACK );
  1035. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_PRIMARYATTACK );
  1036. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_SECONDARYATTACK );
  1037. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_RELOAD );
  1038. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_DRYFIRE );
  1039. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_IDLE_TO_LOWERED );
  1040. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_IDLE_LOWERED );
  1041. REGISTER_SHARED_ACTIVITY( ACT_SECONDARY_VM_LOWERED_TO_IDLE );
  1042. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_DRAW );
  1043. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_HOLSTER );
  1044. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_IDLE );
  1045. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_PULLBACK );
  1046. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_PRIMARYATTACK );
  1047. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_SECONDARYATTACK );
  1048. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_RELOAD );
  1049. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_DRYFIRE );
  1050. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_IDLE_TO_LOWERED );
  1051. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_IDLE_LOWERED );
  1052. REGISTER_SHARED_ACTIVITY( ACT_MELEE_VM_LOWERED_TO_IDLE );
  1053. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_DRAW );
  1054. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_HOLSTER );
  1055. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_IDLE );
  1056. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_PULLBACK );
  1057. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_PRIMARYATTACK );
  1058. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_SECONDARYATTACK );
  1059. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_RELOAD );
  1060. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_DRYFIRE );
  1061. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_IDLE_TO_LOWERED );
  1062. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_IDLE_LOWERED );
  1063. REGISTER_SHARED_ACTIVITY( ACT_PDA_VM_LOWERED_TO_IDLE );
  1064. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_DRAW );
  1065. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_HOLSTER );
  1066. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_IDLE );
  1067. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_PULLBACK );
  1068. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_PRIMARYATTACK );
  1069. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_SECONDARYATTACK );
  1070. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_RELOAD );
  1071. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_DRYFIRE );
  1072. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_IDLE_TO_LOWERED );
  1073. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_IDLE_LOWERED );
  1074. REGISTER_SHARED_ACTIVITY( ACT_ITEM1_VM_LOWERED_TO_IDLE );
  1075. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_DRAW );
  1076. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_HOLSTER );
  1077. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_IDLE );
  1078. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_PULLBACK );
  1079. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_PRIMARYATTACK );
  1080. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_SECONDARYATTACK );
  1081. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_RELOAD );
  1082. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_DRYFIRE );
  1083. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_IDLE_TO_LOWERED );
  1084. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_IDLE_LOWERED );
  1085. REGISTER_SHARED_ACTIVITY( ACT_ITEM2_VM_LOWERED_TO_IDLE );
  1086. // infested
  1087. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_SUCCEED );
  1088. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_FAIL );
  1089. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_AUTOGUN );
  1090. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_AUTOGUN );
  1091. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AUTOGUN );
  1092. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_AUTOGUN );
  1093. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_AUTOGUN );
  1094. REGISTER_SHARED_ACTIVITY( ACT_CROUCH_IDLE_AUTOGUN );
  1095. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_AUTOGUN );
  1096. REGISTER_SHARED_ACTIVITY( ACT_JUMP_AUTOGUN );
  1097. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_PISTOL );
  1098. REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_DUAL );
  1099. REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_DUAL );
  1100. REGISTER_SHARED_ACTIVITY( ACT_IDLE_DUAL );
  1101. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_DUAL );
  1102. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_DUAL );
  1103. REGISTER_SHARED_ACTIVITY( ACT_CROUCH_IDLE_DUAL );
  1104. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_DUAL );
  1105. REGISTER_SHARED_ACTIVITY( ACT_JUMP_DUAL );
  1106. REGISTER_SHARED_ACTIVITY( ACT_IDLE_SHOTGUN );
  1107. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_SHOTGUN );
  1108. REGISTER_SHARED_ACTIVITY( ACT_CROUCH_IDLE_SHOTGUN );
  1109. REGISTER_SHARED_ACTIVITY( ACT_JUMP_SHOTGUN );
  1110. REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_RIFLE );
  1111. REGISTER_SHARED_ACTIVITY( ACT_RELOAD_RIFLE );
  1112. REGISTER_SHARED_ACTIVITY( ACT_CROUCH_IDLE_RIFLE );
  1113. REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_RIFLE );
  1114. REGISTER_SHARED_ACTIVITY( ACT_JUMP_RIFLE );
  1115. // Infested General AI
  1116. REGISTER_SHARED_ACTIVITY( ACT_SLEEP );
  1117. REGISTER_SHARED_ACTIVITY( ACT_WAKE );
  1118. // Shield Bug
  1119. REGISTER_SHARED_ACTIVITY( ACT_FLICK_LEFT );
  1120. REGISTER_SHARED_ACTIVITY( ACT_FLICK_LEFT_MIDDLE );
  1121. REGISTER_SHARED_ACTIVITY( ACT_FLICK_RIGHT_MIDDLE );
  1122. REGISTER_SHARED_ACTIVITY( ACT_FLICK_RIGHT );
  1123. REGISTER_SHARED_ACTIVITY( ACT_SPINAROUND );
  1124. // Mortar Bug
  1125. REGISTER_SHARED_ACTIVITY( ACT_PREP_TO_FIRE );
  1126. REGISTER_SHARED_ACTIVITY( ACT_FIRE );
  1127. REGISTER_SHARED_ACTIVITY( ACT_FIRE_RECOVER );
  1128. // Shaman
  1129. REGISTER_SHARED_ACTIVITY( ACT_SPRAY );
  1130. // Boomer
  1131. REGISTER_SHARED_ACTIVITY( ACT_PREP_EXPLODE );
  1132. REGISTER_SHARED_ACTIVITY( ACT_EXPLODE );
  1133. REGISTER_SHARED_ACTIVITY( ACT_DOTA_IDLE );
  1134. REGISTER_SHARED_ACTIVITY( ACT_DOTA_RUN );
  1135. REGISTER_SHARED_ACTIVITY( ACT_DOTA_ATTACK );
  1136. REGISTER_SHARED_ACTIVITY( ACT_DOTA_ATTACK_EVENT );
  1137. REGISTER_SHARED_ACTIVITY( ACT_DOTA_DIE );
  1138. REGISTER_SHARED_ACTIVITY( ACT_DOTA_FLINCH );
  1139. REGISTER_SHARED_ACTIVITY( ACT_DOTA_DISABLED );
  1140. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CAST_ABILITY_1 );
  1141. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CAST_ABILITY_2 );
  1142. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CAST_ABILITY_3 );
  1143. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CAST_ABILITY_4 );
  1144. REGISTER_SHARED_ACTIVITY( ACT_DOTA_OVERRIDE_ABILITY_1 );
  1145. REGISTER_SHARED_ACTIVITY( ACT_DOTA_OVERRIDE_ABILITY_2 );
  1146. REGISTER_SHARED_ACTIVITY( ACT_DOTA_OVERRIDE_ABILITY_3 );
  1147. REGISTER_SHARED_ACTIVITY( ACT_DOTA_OVERRIDE_ABILITY_4 );
  1148. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CHANNEL_ABILITY_1 );
  1149. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CHANNEL_ABILITY_2 );
  1150. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CHANNEL_ABILITY_3 );
  1151. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CHANNEL_ABILITY_4 );
  1152. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CHANNEL_END_ABILITY_1 );
  1153. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CHANNEL_END_ABILITY_2 );
  1154. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CHANNEL_END_ABILITY_3 );
  1155. REGISTER_SHARED_ACTIVITY( ACT_DOTA_CHANNEL_END_ABILITY_4 );
  1156. // Portal2
  1157. REGISTER_SHARED_ACTIVITY( ACT_MP_RUN_SPEEDPAINT );
  1158. REGISTER_SHARED_ACTIVITY( ACT_MP_LONG_FALL );
  1159. REGISTER_SHARED_ACTIVITY( ACT_MP_TRACTORBEAM_FLOAT );
  1160. REGISTER_SHARED_ACTIVITY( ACT_MP_DEATH_CRUSH );
  1161. REGISTER_SHARED_ACTIVITY( ACT_MP_RUN_SPEEDPAINT_PRIMARY );
  1162. REGISTER_SHARED_ACTIVITY( ACT_MP_DROWNING_PRIMARY );
  1163. REGISTER_SHARED_ACTIVITY( ACT_MP_LONG_FALL_PRIMARY );
  1164. REGISTER_SHARED_ACTIVITY( ACT_MP_TRACTORBEAM_FLOAT_PRIMARY );
  1165. REGISTER_SHARED_ACTIVITY( ACT_MP_DEATH_CRUSH_PRIMARY );
  1166. // csgo death anims that don't require direction (direction is pose-param driven for more granularity)
  1167. REGISTER_SHARED_ACTIVITY( ACT_DIE_STAND );
  1168. REGISTER_SHARED_ACTIVITY( ACT_DIE_STAND_HEADSHOT );
  1169. REGISTER_SHARED_ACTIVITY( ACT_DIE_CROUCH );
  1170. REGISTER_SHARED_ACTIVITY( ACT_DIE_CROUCH_HEADSHOT );
  1171. // CSGO action activities
  1172. REGISTER_SHARED_ACTIVITY( ACT_CSGO_NULL );
  1173. REGISTER_SHARED_ACTIVITY( ACT_CSGO_DEFUSE );
  1174. REGISTER_SHARED_ACTIVITY( ACT_CSGO_DEFUSE_WITH_KIT );
  1175. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FLASHBANG_REACTION );
  1176. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FIRE_PRIMARY );
  1177. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FIRE_PRIMARY_OPT_1 );
  1178. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FIRE_PRIMARY_OPT_2 );
  1179. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FIRE_SECONDARY );
  1180. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FIRE_SECONDARY_OPT_1 );
  1181. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FIRE_SECONDARY_OPT_2 );
  1182. REGISTER_SHARED_ACTIVITY( ACT_CSGO_RELOAD );
  1183. REGISTER_SHARED_ACTIVITY( ACT_CSGO_RELOAD_START );
  1184. REGISTER_SHARED_ACTIVITY( ACT_CSGO_RELOAD_LOOP );
  1185. REGISTER_SHARED_ACTIVITY( ACT_CSGO_RELOAD_END );
  1186. REGISTER_SHARED_ACTIVITY( ACT_CSGO_OPERATE );
  1187. REGISTER_SHARED_ACTIVITY( ACT_CSGO_DEPLOY );
  1188. REGISTER_SHARED_ACTIVITY( ACT_CSGO_CATCH );
  1189. REGISTER_SHARED_ACTIVITY( ACT_CSGO_SILENCER_DETACH );
  1190. REGISTER_SHARED_ACTIVITY( ACT_CSGO_SILENCER_ATTACH );
  1191. REGISTER_SHARED_ACTIVITY( ACT_CSGO_TWITCH );
  1192. REGISTER_SHARED_ACTIVITY( ACT_CSGO_TWITCH_BUYZONE );
  1193. REGISTER_SHARED_ACTIVITY( ACT_CSGO_PLANT_BOMB );
  1194. REGISTER_SHARED_ACTIVITY( ACT_CSGO_IDLE_TURN_BALANCEADJUST );
  1195. REGISTER_SHARED_ACTIVITY( ACT_CSGO_IDLE_ADJUST_STOPPEDMOVING );
  1196. REGISTER_SHARED_ACTIVITY( ACT_CSGO_ALIVE_LOOP );
  1197. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FLINCH );
  1198. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FLINCH_HEAD );
  1199. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FLINCH_MOLOTOV );
  1200. REGISTER_SHARED_ACTIVITY( ACT_CSGO_JUMP );
  1201. REGISTER_SHARED_ACTIVITY( ACT_CSGO_FALL );
  1202. REGISTER_SHARED_ACTIVITY( ACT_CSGO_CLIMB_LADDER );
  1203. REGISTER_SHARED_ACTIVITY( ACT_CSGO_LAND_LIGHT );
  1204. REGISTER_SHARED_ACTIVITY( ACT_CSGO_LAND_HEAVY );
  1205. REGISTER_SHARED_ACTIVITY( ACT_CSGO_EXIT_LADDER_TOP );
  1206. REGISTER_SHARED_ACTIVITY( ACT_CSGO_EXIT_LADDER_BOTTOM );
  1207. AssertMsg( g_HighestActivity == LAST_SHARED_ACTIVITY - 1, "Not all activities from ai_activity.h registered in activitylist.cpp" );
  1208. }
  1209. // HACKHACK: Keep backwards compatibility on broken activities temporarily
  1210. #define ACTIVITY_FILE_TAG 0x80800000
  1211. class CActivityDataOps : public CDefSaveRestoreOps
  1212. {
  1213. public:
  1214. // save data type interface
  1215. virtual void Save( const SaveRestoreFieldInfo_t &fieldInfo, ISave *pSave )
  1216. {
  1217. int activityIndex = *((int *)fieldInfo.pField);
  1218. const char *pActivityName = ActivityList_NameForIndex( activityIndex );
  1219. if ( !pActivityName )
  1220. {
  1221. AssertOnce( activityIndex == -1 ); // FIXME: whatever activity this was, it's now being saved out as ACT_RESET
  1222. pActivityName = ActivityList_NameForIndex( 0 );
  1223. }
  1224. int len = strlen(pActivityName) + 1;
  1225. // Use the high 16-bits of this int to signify this file format
  1226. // this makes this backwards compatible.
  1227. // UNDONE: Remove after playtest save files are no longer needed
  1228. len |= ACTIVITY_FILE_TAG;
  1229. pSave->WriteInt( &len );
  1230. pSave->WriteString( pActivityName );
  1231. }
  1232. virtual void Restore( const SaveRestoreFieldInfo_t &fieldInfo, IRestore *pRestore )
  1233. {
  1234. char nameBuf[1024];
  1235. int *pActivityIndex = (int *)fieldInfo.pField;
  1236. int nameLen = pRestore->ReadInt();
  1237. if ( (nameLen & 0xFFFF0000) != ACTIVITY_FILE_TAG )
  1238. {
  1239. // old save file, this is an index, not a name
  1240. *pActivityIndex = nameLen;
  1241. return;
  1242. }
  1243. nameLen &= 0xFFFF;
  1244. pRestore->ReadString( nameBuf, sizeof(nameBuf), nameLen );
  1245. *pActivityIndex = ActivityList_IndexForName( nameBuf );
  1246. if ( *pActivityIndex < 0 )
  1247. {
  1248. *pActivityIndex = 0;
  1249. }
  1250. }
  1251. virtual bool IsEmpty( const SaveRestoreFieldInfo_t &fieldInfo )
  1252. {
  1253. int *pActivityIndex = (int *)fieldInfo.pField;
  1254. return (*pActivityIndex == 0);
  1255. }
  1256. virtual void MakeEmpty( const SaveRestoreFieldInfo_t &fieldInfo )
  1257. {
  1258. int *pActivityIndex = (int *)fieldInfo.pField;
  1259. *pActivityIndex = 0;
  1260. }
  1261. };
  1262. static CActivityDataOps g_ActivityDataOps;
  1263. ISaveRestoreOps* ActivityDataOps()
  1264. {
  1265. return &g_ActivityDataOps;
  1266. }
  1267. void UTIL_LoadActivityRemapFile( const char *filename, const char *section, CUtlVector <CActivityRemap> &entries )
  1268. {
  1269. int iIndex = m_ActivityRemapDatabase.Find( filename );
  1270. if ( iIndex != m_ActivityRemapDatabase.InvalidIndex() )
  1271. {
  1272. CActivityRemapCache *actRemap = &m_ActivityRemapDatabase[iIndex];
  1273. entries.AddVectorToTail( actRemap->m_cachedActivityRemaps );
  1274. return;
  1275. }
  1276. KeyValues *pkvFile = new KeyValues( section );
  1277. if ( pkvFile->LoadFromFile( filesystem, filename, NULL ) )
  1278. {
  1279. KeyValues *pTestKey = pkvFile->GetFirstSubKey();
  1280. CActivityRemapCache actRemap;
  1281. while ( pTestKey )
  1282. {
  1283. Activity ActBase = (Activity)ActivityList_IndexForName( pTestKey->GetName() );
  1284. if ( ActBase != ACT_INVALID )
  1285. {
  1286. KeyValues *pRemapKey = pTestKey->GetFirstSubKey();
  1287. CActivityRemap actMap;
  1288. actMap.activity = ActBase;
  1289. while ( pRemapKey )
  1290. {
  1291. const char *pKeyName = pRemapKey->GetName();
  1292. const char *pKeyValue = pRemapKey->GetString();
  1293. if ( !stricmp( pKeyName, "remapactivity" ) )
  1294. {
  1295. Activity Act = (Activity)ActivityList_IndexForName( pKeyValue );
  1296. if ( Act == ACT_INVALID )
  1297. {
  1298. actMap.mappedActivity = ActivityList_RegisterPrivateActivity( pKeyValue );
  1299. }
  1300. else
  1301. {
  1302. actMap.mappedActivity = Act;
  1303. }
  1304. }
  1305. else if ( !stricmp( pKeyName, "extra" ) )
  1306. {
  1307. actMap.SetExtraKeyValueBlock( pRemapKey->MakeCopy() );
  1308. }
  1309. pRemapKey = pRemapKey->GetNextKey();
  1310. }
  1311. entries.AddToTail( actMap );
  1312. }
  1313. pTestKey = pTestKey->GetNextKey();
  1314. }
  1315. actRemap.m_cachedActivityRemaps.AddVectorToTail( entries );
  1316. m_ActivityRemapDatabase.Insert( filename, actRemap );
  1317. }
  1318. }
  1319. int ActivityList_HighestIndex()
  1320. {
  1321. return g_HighestActivity;
  1322. }