]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/animdecide.qh
06ad9c761be4ede33a3f719288fac77c67766e04
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / animdecide.qh
1 #ifndef ANIMDECIDE_H
2 #define ANIMDECIDE_H
3
4 #if defined(CSQC)
5     #include "util-pre.qh"
6     #include "../client/sys-pre.qh"
7     #include "../dpdefs/csprogsdefs.qh"
8     #include "../client/sys-post.qh"
9     #include "../client/defs.qh"
10     #include "../dpdefs/keycodes.qh"
11     #include "constants.qh"
12     #include "stats.qh"
13     #include "../warpzonelib/anglestransform.qh"
14     #include "../warpzonelib/mathlib.qh"
15     #include "../warpzonelib/common.qh"
16     #include "../warpzonelib/client.qh"
17     #include "playerstats.qh"
18     #include "teams.qh"
19     #include "util.qh"
20     #include "nades.qh"
21     #include "buffs.qh"
22     #include "test.qh"
23     #include "counting.qh"
24     #include "weapons/weapons.qh"
25     #include "mapinfo.qh"
26     #include "command/markup.qh"
27     #include "command/rpn.qh"
28     #include "command/generic.qh"
29     #include "command/shared_defs.qh"
30     #include "urllib.qh"
31 #elif defined(MENUQC)
32 #elif defined(SVQC)
33     #include "util-pre.qh"
34     #include "../server/sys-pre.qh"
35     #include "../dpdefs/progsdefs.qh"
36     #include "../dpdefs/dpextensions.qh"
37     #include "../server/sys-post.qh"
38     #include "../warpzonelib/anglestransform.qh"
39     #include "../warpzonelib/mathlib.qh"
40     #include "../warpzonelib/common.qh"
41     #include "../warpzonelib/util_server.qh"
42     #include "../warpzonelib/server.qh"
43     #include "constants.qh"
44     #include "stats.qh"
45     #include "teams.qh"
46     #include "util.qh"
47     #include "nades.qh"
48     #include "buffs.qh"
49     #include "test.qh"
50     #include "counting.qh"
51     #include "urllib.qh"
52     #include "command/markup.qh"
53     #include "command/rpn.qh"
54     #include "command/generic.qh"
55     #include "command/shared_defs.qh"
56     #include "net_notice.qh"
57 #endif
58
59 // must be called at least once to initialize, or when modelindex is changed
60 void animdecide_load_if_needed(entity e);
61
62 // client side frame inferring
63 void animdecide_setimplicitstate(entity e, float onground);
64 void animdecide_setframes(entity e, bool support_blending, .int fld_frame, .int fld_frame1time, .int fld_frame2, .int fld_frame2time);
65
66 // please network this one
67 .int anim_state;
68 .float anim_time;
69 .float anim_lower_action;
70 .float anim_lower_time;
71 .float anim_upper_action;
72 .float anim_upper_time;
73
74 // when copying entities, copy these too
75 .int anim_implicit_state;
76 .float anim_implicit_time;
77 .float anim_lower_implicit_action;
78 .float anim_lower_implicit_time;
79 .float anim_upper_implicit_action;
80 .float anim_upper_implicit_time;
81
82 // explicit anim states (networked)
83 void animdecide_setstate(entity e, float newstate, float restart);
84 const int ANIMSTATE_DEAD1 = 1; // base frames: die1
85 const int ANIMSTATE_DEAD2 = 2; // base frames: die2
86 const int ANIMSTATE_DUCK = 4; // turns walk into duckwalk, jump into duckjump, etc.
87 const int ANIMSTATE_FROZEN = 8; // force idle
88
89 // implicit anim states (inferred from velocity, etc.)
90 const int ANIMIMPLICITSTATE_INAIR = 1;
91 const int ANIMIMPLICITSTATE_FORWARD = 2;
92 const int ANIMIMPLICITSTATE_BACKWARDS = 4;
93 const int ANIMIMPLICITSTATE_LEFT = 8;
94 const int ANIMIMPLICITSTATE_RIGHT = 16;
95 const int ANIMIMPLICITSTATE_JUMPRELEASED = 32;
96
97 // explicit actions (networked); negative values are for lower body
98 void animdecide_setaction(entity e, float action, float restart);
99 const int ANIMACTION_JUMP = -1; // jump
100 const int ANIMACTION_DRAW = 1; // draw
101 const int ANIMACTION_PAIN1 = 2; // pain
102 const int ANIMACTION_PAIN2 = 3; // pain
103 const int ANIMACTION_SHOOT = 4; // shoot
104 const int ANIMACTION_TAUNT = 5; // taunt
105 const int ANIMACTION_MELEE = 6; // melee
106 #endif