1 /*--------------Patrick 15/10/96 --------------------- 2 Header File for Player Movement Stuff 3 ---------------------------------------------------*/ 4 5 6 #ifndef _pmove_h_ 7 #define _pmove_h_ 1 8 9 10 11 #ifdef __cplusplus 12 13 extern "C" { 14 15 #endif 16 17 18 19 20 /*--------------Patrick 15/10/96 --------------------- 21 Enumeration of player movement states 22 Free movement indicates normal movement. 23 Special Movement indicates that the player is 24 executing a special move. 25 Aborting indicates that a special move is 26 prematurely terminating. 27 ---------------------------------------------------*/ 28 29 typedef enum player_mov_state 30 { 31 PMov_FreeMovement, 32 PMov_SpecialMovement, 33 PMov_AbortingSpecialMovement, 34 }PLAYER_MOVEMENT_STATE; 35 36 /*--------------Patrick 15/10/96 --------------------- 37 Enumeration of special move types 38 Special moves are flagged as belonging to a 39 character type 40 ---------------------------------------------------*/ 41 42 43 /*--------------Patrick 31/10/96 --------------------- 44 Enumeration of player's morphing states for crouching 45 and lying down. 46 ---------------------------------------------------*/ 47 typedef enum player_morph_state 48 { 49 PMph_Standing, 50 PMph_Crouching, 51 PMph_Lying, 52 PMph_StoC, 53 PMph_CtoS, 54 PMph_StoL, 55 PMph_LtoS, 56 57 }PLAYER_MORPH_STATE; 58 59 60 61 62 /*--------------Patrick 1/11/96 --------------------- 63 this define determines how crouching and lying down 64 are implemented for the player. It can either be 65 done by changing the shape, or by morphing.... 66 Morphing is better, but doesn't work with the current 67 collision system. 68 ---------------------------------------------------*/ 69 #define CrouchByMorphingPlayer 0 70 71 72 /* Prototypes */ 73 extern void InitPlayerMovementData(STRATEGYBLOCK* sbPtr); 74 extern void PlayerBehaviour(STRATEGYBLOCK* sbptr); 75 extern void ExecuteFreeMovement(STRATEGYBLOCK* sbPtr); 76 void ThrowAFlare(void); 77 void StartPlayerTaunt(void); 78 void NetPlayerRespawn(STRATEGYBLOCK *sbPtr); 79 80 81 #ifdef __cplusplus 82 83 } 84 85 #endif 86 87 88 #endif 89