1 // client side frame inferring
2 void animdecide_init(entity e);
3 void animdecide_setframes(entity e, float support_blending);
5 // please network this one
8 .float anim_lower_action;
9 .float anim_lower_time;
10 .float anim_upper_action;
11 .float anim_upper_time;
13 // explicit anim states (networked)
14 void animdecide_setstate(entity e, float newstate, float restart);
15 #define ANIMSTATE_DEAD1 1 // base frames: die1
16 #define ANIMSTATE_DEAD2 2 // base frames: die2
17 #define ANIMSTATE_DUCK 4 // turns walk into duckwalk, jump into duckjump, etc.
18 #define ANIMSTATE_FROZEN 8 // force idle
20 // implicit anim states (inferred from velocity, etc.)
21 #define ANIMIMPLICITSTATE_INAIR 1
22 #define ANIMIMPLICITSTATE_FORWARD 2
23 #define ANIMIMPLICITSTATE_BACKWARDS 4
24 #define ANIMIMPLICITSTATE_LEFT 8
25 #define ANIMIMPLICITSTATE_RIGHT 16
27 // explicit actions (networked); negative values are for lower body
28 void animdecide_setaction(entity e, float action, float restart);
29 #define ANIMACTION_JUMP -1 // jump
30 #define ANIMACTION_DRAW 1 // draw
31 #define ANIMACTION_PAIN1 2 // pain
32 #define ANIMACTION_PAIN2 3 // pain
33 #define ANIMACTION_SHOOT 4 // shoot
34 #define ANIMACTION_TAUNT 5 // taunt
35 #define ANIMACTION_MELEE 6 // melee