]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/server/bot/aim.qh
Scaled the weapon models down about 30% to match 2.5.2 sizes. Except the tuba, I...
[divverent/nexuiz.git] / data / qcsrc / server / bot / aim.qh
1 /*
2  * Globals and Fields
3  */
4
5 entity tracetossent;
6 entity tracetossfaketarget;
7 vector findtrajectory_velocity;
8
9
10
11 vector shotorg;
12 vector shotdir;
13
14 // lag simulation
15 // upto 5 queued messages
16 .float lag1_time;
17 .float lag1_float1;
18 .float lag1_float2;
19 .entity lag1_entity1;
20 .vector lag1_vec1;
21 .vector lag1_vec2;
22 .vector lag1_vec3;
23 .vector lag1_vec4;
24
25 .float lag2_time;
26 .float lag2_float1;
27 .float lag2_float2;
28 .entity lag2_entity1;
29 .vector lag2_vec1;
30 .vector lag2_vec2;
31 .vector lag2_vec3;
32 .vector lag2_vec4;
33
34 .float lag3_time;
35 .float lag3_float1;
36 .float lag3_float2;
37 .entity lag3_entity1;
38 .vector lag3_vec1;
39 .vector lag3_vec2;
40 .vector lag3_vec3;
41 .vector lag3_vec4;
42
43 .float lag4_time;
44 .float lag4_float1;
45 .float lag4_float2;
46 .entity lag4_entity1;
47 .vector lag4_vec1;
48 .vector lag4_vec2;
49 .vector lag4_vec3;
50 .vector lag4_vec4;
51
52 .float lag5_time;
53 .float lag5_float1;
54 .float lag5_float2;
55 .entity lag5_entity1;
56 .vector lag5_vec1;
57 .vector lag5_vec2;
58 .vector lag5_vec3;
59 .vector lag5_vec4;
60
61 .float bot_badaimtime;
62 .float bot_aimthinktime;
63 .float bot_prevaimtime;
64 .float bot_firetimer;
65 .float bot_aimlatency;
66
67 .vector bot_mouseaim;
68 .vector bot_badaimoffset;
69 .vector bot_1st_order_aimfilter;
70 .vector bot_2nd_order_aimfilter;
71 .vector bot_3th_order_aimfilter;
72 .vector bot_4th_order_aimfilter;
73 .vector bot_5th_order_aimfilter;
74 .vector bot_olddesiredang;
75
76 .vector bot_aimselforigin;
77 .vector bot_aimselfvelocity;
78 .vector bot_aimtargorigin;
79 .vector bot_aimtargvelocity;
80
81 .entity bot_aimtarg;
82
83 /*
84  * Functions
85  */
86
87 void lag_update();
88 void bot_lagfunc(float t, float f1, float f2, entity e1, vector v1, vector v2, vector v3, vector v4);
89
90 float bot_shouldattack(entity e);
91 float bot_aimdir(vector v, float maxfiredeviation);
92 float bot_aim(float shotspeed, float shotspeedupward, float maxshottime, float applygravity);
93 float findtrajectorywithleading(vector org, vector m1, vector m2, entity targ, float shotspeed, float shotspeedupward, float maxtime, float shotdelay, entity ignore);
94
95 vector bot_shotlead(vector targorigin, vector targvelocity, float shotspeed, float shotdelay);
96
97 .void(float t, float f1, float f2, entity e1, vector v1, vector v2, vector v3, vector v4) lag_func;