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