vkQuake2 doxygen  1.0 dev
m_flash.c
Go to the documentation of this file.
1 /*
2 Copyright (C) 1997-2001 Id Software, Inc.
3 
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 
13 See the GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 
19 */
20 // m_flash.c
21 
22 #include "q_shared.h"
23 
24 // this file is included in both the game dll and quake2,
25 // the game needs it to source shot locations, the client
26 // needs it to position muzzle flashes
28 {
29 // flash 0 is not used
30  0.0, 0.0, 0.0,
31 
32 // MZ2_TANK_BLASTER_1 1
33  20.7, -18.5, 28.7,
34 // MZ2_TANK_BLASTER_2 2
35  16.6, -21.5, 30.1,
36 // MZ2_TANK_BLASTER_3 3
37  11.8, -23.9, 32.1,
38 // MZ2_TANK_MACHINEGUN_1 4
39  22.9, -0.7, 25.3,
40 // MZ2_TANK_MACHINEGUN_2 5
41  22.2, 6.2, 22.3,
42 // MZ2_TANK_MACHINEGUN_3 6
43  19.4, 13.1, 18.6,
44 // MZ2_TANK_MACHINEGUN_4 7
45  19.4, 18.8, 18.6,
46 // MZ2_TANK_MACHINEGUN_5 8
47  17.9, 25.0, 18.6,
48 // MZ2_TANK_MACHINEGUN_6 9
49  14.1, 30.5, 20.6,
50 // MZ2_TANK_MACHINEGUN_7 10
51  9.3, 35.3, 22.1,
52 // MZ2_TANK_MACHINEGUN_8 11
53  4.7, 38.4, 22.1,
54 // MZ2_TANK_MACHINEGUN_9 12
55  -1.1, 40.4, 24.1,
56 // MZ2_TANK_MACHINEGUN_10 13
57  -6.5, 41.2, 24.1,
58 // MZ2_TANK_MACHINEGUN_11 14
59  3.2, 40.1, 24.7,
60 // MZ2_TANK_MACHINEGUN_12 15
61  11.7, 36.7, 26.0,
62 // MZ2_TANK_MACHINEGUN_13 16
63  18.9, 31.3, 26.0,
64 // MZ2_TANK_MACHINEGUN_14 17
65  24.4, 24.4, 26.4,
66 // MZ2_TANK_MACHINEGUN_15 18
67  27.1, 17.1, 27.2,
68 // MZ2_TANK_MACHINEGUN_16 19
69  28.5, 9.1, 28.0,
70 // MZ2_TANK_MACHINEGUN_17 20
71  27.1, 2.2, 28.0,
72 // MZ2_TANK_MACHINEGUN_18 21
73  24.9, -2.8, 28.0,
74 // MZ2_TANK_MACHINEGUN_19 22
75  21.6, -7.0, 26.4,
76 // MZ2_TANK_ROCKET_1 23
77  6.2, 29.1, 49.1,
78 // MZ2_TANK_ROCKET_2 24
79  6.9, 23.8, 49.1,
80 // MZ2_TANK_ROCKET_3 25
81  8.3, 17.8, 49.5,
82 
83 // MZ2_INFANTRY_MACHINEGUN_1 26
84  26.6, 7.1, 13.1,
85 // MZ2_INFANTRY_MACHINEGUN_2 27
86  18.2, 7.5, 15.4,
87 // MZ2_INFANTRY_MACHINEGUN_3 28
88  17.2, 10.3, 17.9,
89 // MZ2_INFANTRY_MACHINEGUN_4 29
90  17.0, 12.8, 20.1,
91 // MZ2_INFANTRY_MACHINEGUN_5 30
92  15.1, 14.1, 21.8,
93 // MZ2_INFANTRY_MACHINEGUN_6 31
94  11.8, 17.2, 23.1,
95 // MZ2_INFANTRY_MACHINEGUN_7 32
96  11.4, 20.2, 21.0,
97 // MZ2_INFANTRY_MACHINEGUN_8 33
98  9.0, 23.0, 18.9,
99 // MZ2_INFANTRY_MACHINEGUN_9 34
100  13.9, 18.6, 17.7,
101 // MZ2_INFANTRY_MACHINEGUN_10 35
102  15.4, 15.6, 15.8,
103 // MZ2_INFANTRY_MACHINEGUN_11 36
104  10.2, 15.2, 25.1,
105 // MZ2_INFANTRY_MACHINEGUN_12 37
106  -1.9, 15.1, 28.2,
107 // MZ2_INFANTRY_MACHINEGUN_13 38
108  -12.4, 13.0, 20.2,
109 
110 // MZ2_SOLDIER_BLASTER_1 39
111  10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2,
112 // MZ2_SOLDIER_BLASTER_2 40
113  21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2,
114 // MZ2_SOLDIER_SHOTGUN_1 41
115  10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2,
116 // MZ2_SOLDIER_SHOTGUN_2 42
117  21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2,
118 // MZ2_SOLDIER_MACHINEGUN_1 43
119  10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2,
120 // MZ2_SOLDIER_MACHINEGUN_2 44
121  21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2,
122 
123 // MZ2_GUNNER_MACHINEGUN_1 45
124  30.1 * 1.15, 3.9 * 1.15, 19.6 * 1.15,
125 // MZ2_GUNNER_MACHINEGUN_2 46
126  29.1 * 1.15, 2.5 * 1.15, 20.7 * 1.15,
127 // MZ2_GUNNER_MACHINEGUN_3 47
128  28.2 * 1.15, 2.5 * 1.15, 22.2 * 1.15,
129 // MZ2_GUNNER_MACHINEGUN_4 48
130  28.2 * 1.15, 3.6 * 1.15, 22.0 * 1.15,
131 // MZ2_GUNNER_MACHINEGUN_5 49
132  26.9 * 1.15, 2.0 * 1.15, 23.4 * 1.15,
133 // MZ2_GUNNER_MACHINEGUN_6 50
134  26.5 * 1.15, 0.6 * 1.15, 20.8 * 1.15,
135 // MZ2_GUNNER_MACHINEGUN_7 51
136  26.9 * 1.15, 0.5 * 1.15, 21.5 * 1.15,
137 // MZ2_GUNNER_MACHINEGUN_8 52
138  29.0 * 1.15, 2.4 * 1.15, 19.5 * 1.15,
139 // MZ2_GUNNER_GRENADE_1 53
140  4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15,
141 // MZ2_GUNNER_GRENADE_2 54
142  4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15,
143 // MZ2_GUNNER_GRENADE_3 55
144  4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15,
145 // MZ2_GUNNER_GRENADE_4 56
146  4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15,
147 
148 // MZ2_CHICK_ROCKET_1 57
149 // -24.8, -9.0, 39.0,
150  24.8, -9.0, 39.0, // PGM - this was incorrect in Q2
151 
152 // MZ2_FLYER_BLASTER_1 58
153  12.1, 13.4, -14.5,
154 // MZ2_FLYER_BLASTER_2 59
155  12.1, -7.4, -14.5,
156 
157 // MZ2_MEDIC_BLASTER_1 60
158  12.1, 5.4, 16.5,
159 
160 // MZ2_GLADIATOR_RAILGUN_1 61
161  30.0, 18.0, 28.0,
162 
163 // MZ2_HOVER_BLASTER_1 62
164  32.5, -0.8, 10.0,
165 
166 // MZ2_ACTOR_MACHINEGUN_1 63
167  18.4, 7.4, 9.6,
168 
169 // MZ2_SUPERTANK_MACHINEGUN_1 64
170  30.0, 30.0, 88.5,
171 // MZ2_SUPERTANK_MACHINEGUN_2 65
172  30.0, 30.0, 88.5,
173 // MZ2_SUPERTANK_MACHINEGUN_3 66
174  30.0, 30.0, 88.5,
175 // MZ2_SUPERTANK_MACHINEGUN_4 67
176  30.0, 30.0, 88.5,
177 // MZ2_SUPERTANK_MACHINEGUN_5 68
178  30.0, 30.0, 88.5,
179 // MZ2_SUPERTANK_MACHINEGUN_6 69
180  30.0, 30.0, 88.5,
181 // MZ2_SUPERTANK_ROCKET_1 70
182  16.0, -22.5, 91.2,
183 // MZ2_SUPERTANK_ROCKET_2 71
184  16.0, -33.4, 86.7,
185 // MZ2_SUPERTANK_ROCKET_3 72
186  16.0, -42.8, 83.3,
187 
188 // --- Start Xian Stuff ---
189 // MZ2_BOSS2_MACHINEGUN_L1 73
190  32, -40, 70,
191 // MZ2_BOSS2_MACHINEGUN_L2 74
192  32, -40, 70,
193 // MZ2_BOSS2_MACHINEGUN_L3 75
194  32, -40, 70,
195 // MZ2_BOSS2_MACHINEGUN_L4 76
196  32, -40, 70,
197 // MZ2_BOSS2_MACHINEGUN_L5 77
198  32, -40, 70,
199 // --- End Xian Stuff
200 
201 // MZ2_BOSS2_ROCKET_1 78
202  22.0, 16.0, 10.0,
203 // MZ2_BOSS2_ROCKET_2 79
204  22.0, 8.0, 10.0,
205 // MZ2_BOSS2_ROCKET_3 80
206  22.0, -8.0, 10.0,
207 // MZ2_BOSS2_ROCKET_4 81
208  22.0, -16.0, 10.0,
209 
210 // MZ2_FLOAT_BLASTER_1 82
211  32.5, -0.8, 10,
212 
213 // MZ2_SOLDIER_BLASTER_3 83
214  20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2,
215 // MZ2_SOLDIER_SHOTGUN_3 84
216  20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2,
217 // MZ2_SOLDIER_MACHINEGUN_3 85
218  20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2,
219 // MZ2_SOLDIER_BLASTER_4 86
220  7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2,
221 // MZ2_SOLDIER_SHOTGUN_4 87
222  7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2,
223 // MZ2_SOLDIER_MACHINEGUN_4 88
224  7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2,
225 // MZ2_SOLDIER_BLASTER_5 89
226  30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2,
227 // MZ2_SOLDIER_SHOTGUN_5 90
228  30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2,
229 // MZ2_SOLDIER_MACHINEGUN_5 91
230  30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2,
231 // MZ2_SOLDIER_BLASTER_6 92
232  27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2,
233 // MZ2_SOLDIER_SHOTGUN_6 93
234  27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2,
235 // MZ2_SOLDIER_MACHINEGUN_6 94
236  27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2,
237 // MZ2_SOLDIER_BLASTER_7 95
238  28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2,
239 // MZ2_SOLDIER_SHOTGUN_7 96
240  28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2,
241 // MZ2_SOLDIER_MACHINEGUN_7 97
242  28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2,
243 // MZ2_SOLDIER_BLASTER_8 98
244 // 34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2,
245  31.5 * 1.2, 9.6 * 1.2, 10.1 * 1.2,
246 // MZ2_SOLDIER_SHOTGUN_8 99
247  34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2,
248 // MZ2_SOLDIER_MACHINEGUN_8 100
249  34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2,
250 
251 // --- Xian shit below ---
252 // MZ2_MAKRON_BFG 101
253  17, -19.5, 62.9,
254 // MZ2_MAKRON_BLASTER_1 102
255  -3.6, -24.1, 59.5,
256 // MZ2_MAKRON_BLASTER_2 103
257  -1.6, -19.3, 59.5,
258 // MZ2_MAKRON_BLASTER_3 104
259  -0.1, -14.4, 59.5,
260 // MZ2_MAKRON_BLASTER_4 105
261  2.0, -7.6, 59.5,
262 // MZ2_MAKRON_BLASTER_5 106
263  3.4, 1.3, 59.5,
264 // MZ2_MAKRON_BLASTER_6 107
265  3.7, 11.1, 59.5,
266 // MZ2_MAKRON_BLASTER_7 108
267  -0.3, 22.3, 59.5,
268 // MZ2_MAKRON_BLASTER_8 109
269  -6, 33, 59.5,
270 // MZ2_MAKRON_BLASTER_9 110
271  -9.3, 36.4, 59.5,
272 // MZ2_MAKRON_BLASTER_10 111
273  -7, 35, 59.5,
274 // MZ2_MAKRON_BLASTER_11 112
275  -2.1, 29, 59.5,
276 // MZ2_MAKRON_BLASTER_12 113
277  3.9, 17.3, 59.5,
278 // MZ2_MAKRON_BLASTER_13 114
279  6.1, 5.8, 59.5,
280 // MZ2_MAKRON_BLASTER_14 115
281  5.9, -4.4, 59.5,
282 // MZ2_MAKRON_BLASTER_15 116
283  4.2, -14.1, 59.5,
284 // MZ2_MAKRON_BLASTER_16 117
285  2.4, -18.8, 59.5,
286 // MZ2_MAKRON_BLASTER_17 118
287  -1.8, -25.5, 59.5,
288 // MZ2_MAKRON_RAILGUN_1 119
289  -17.3, 7.8, 72.4,
290 
291 // MZ2_JORG_MACHINEGUN_L1 120
292  78.5, -47.1, 96,
293 // MZ2_JORG_MACHINEGUN_L2 121
294  78.5, -47.1, 96,
295 // MZ2_JORG_MACHINEGUN_L3 122
296  78.5, -47.1, 96,
297 // MZ2_JORG_MACHINEGUN_L4 123
298  78.5, -47.1, 96,
299 // MZ2_JORG_MACHINEGUN_L5 124
300  78.5, -47.1, 96,
301 // MZ2_JORG_MACHINEGUN_L6 125
302  78.5, -47.1, 96,
303 // MZ2_JORG_MACHINEGUN_R1 126
304  78.5, 46.7, 96,
305 // MZ2_JORG_MACHINEGUN_R2 127
306  78.5, 46.7, 96,
307 // MZ2_JORG_MACHINEGUN_R3 128
308  78.5, 46.7, 96,
309 // MZ2_JORG_MACHINEGUN_R4 129
310  78.5, 46.7, 96,
311 // MZ2_JORG_MACHINEGUN_R5 130
312  78.5, 46.7, 96,
313 // MZ2_JORG_MACHINEGUN_R6 131
314  78.5, 46.7, 96,
315 // MZ2_JORG_BFG_1 132
316  6.3, -9, 111.2,
317 
318 // MZ2_BOSS2_MACHINEGUN_R1 73
319  32, 40, 70,
320 // MZ2_BOSS2_MACHINEGUN_R2 74
321  32, 40, 70,
322 // MZ2_BOSS2_MACHINEGUN_R3 75
323  32, 40, 70,
324 // MZ2_BOSS2_MACHINEGUN_R4 76
325  32, 40, 70,
326 // MZ2_BOSS2_MACHINEGUN_R5 77
327  32, 40, 70,
328 
329 // --- End Xian Shit ---
330 
331 // ROGUE
332 // note that the above really ends at 137
333 // carrier machineguns
334 // MZ2_CARRIER_MACHINEGUN_L1
335  56, -32, 32,
336 // MZ2_CARRIER_MACHINEGUN_R1
337  56, 32, 32,
338 // MZ2_CARRIER_GRENADE
339  42, 24, 50,
340 // MZ2_TURRET_MACHINEGUN 141
341  16, 0, 0,
342 // MZ2_TURRET_ROCKET 142
343  16, 0, 0,
344 // MZ2_TURRET_BLASTER 143
345  16, 0, 0,
346 // MZ2_STALKER_BLASTER 144
347  24, 0, 6,
348 // MZ2_DAEDALUS_BLASTER 145
349  32.5, -0.8, 10.0,
350 // MZ2_MEDIC_BLASTER_2 146
351  12.1, 5.4, 16.5,
352 // MZ2_CARRIER_RAILGUN 147
353  32, 0, 6,
354 // MZ2_WIDOW_DISRUPTOR 148
355  57.72, 14.50, 88.81,
356 // MZ2_WIDOW_BLASTER 149
357  56, 32, 32,
358 // MZ2_WIDOW_RAIL 150
359  62, -20, 84,
360 // MZ2_WIDOW_PLASMABEAM 151 // PMM - not used!
361  32, 0, 6,
362 // MZ2_CARRIER_MACHINEGUN_L2 152
363  61, -32, 12,
364 // MZ2_CARRIER_MACHINEGUN_R2 153
365  61, 32, 12,
366 // MZ2_WIDOW_RAIL_LEFT 154
367  17, -62, 91,
368 // MZ2_WIDOW_RAIL_RIGHT 155
369  68, 12, 86,
370 // MZ2_WIDOW_BLASTER_SWEEP1 156 pmm - the sweeps need to be in sequential order
371  47.5, 56, 89,
372 // MZ2_WIDOW_BLASTER_SWEEP2 157
373  54, 52, 91,
374 // MZ2_WIDOW_BLASTER_SWEEP3 158
375  58, 40, 91,
376 // MZ2_WIDOW_BLASTER_SWEEP4 159
377  68, 30, 88,
378 // MZ2_WIDOW_BLASTER_SWEEP5 160
379  74, 20, 88,
380 // MZ2_WIDOW_BLASTER_SWEEP6 161
381  73, 11, 87,
382 // MZ2_WIDOW_BLASTER_SWEEP7 162
383  73, 3, 87,
384 // MZ2_WIDOW_BLASTER_SWEEP8 163
385  70, -12, 87,
386 // MZ2_WIDOW_BLASTER_SWEEP9 164
387  67, -20, 90,
388 // MZ2_WIDOW_BLASTER_100 165
389  -20, 76, 90,
390 // MZ2_WIDOW_BLASTER_90 166
391  -8, 74, 90,
392 // MZ2_WIDOW_BLASTER_80 167
393  0, 72, 90,
394 // MZ2_WIDOW_BLASTER_70 168 d06
395  10, 71, 89,
396 // MZ2_WIDOW_BLASTER_60 169 d07
397  23, 70, 87,
398 // MZ2_WIDOW_BLASTER_50 170 d08
399  32, 64, 85,
400 // MZ2_WIDOW_BLASTER_40 171
401  40, 58, 84,
402 // MZ2_WIDOW_BLASTER_30 172 d10
403  48, 50, 83,
404 // MZ2_WIDOW_BLASTER_20 173
405  54, 42, 82,
406 // MZ2_WIDOW_BLASTER_10 174 d12
407  56, 34, 82,
408 // MZ2_WIDOW_BLASTER_0 175
409  58, 26, 82,
410 // MZ2_WIDOW_BLASTER_10L 176 d14
411  60, 16, 82,
412 // MZ2_WIDOW_BLASTER_20L 177
413  59, 6, 81,
414 // MZ2_WIDOW_BLASTER_30L 178 d16
415  58, -2, 80,
416 // MZ2_WIDOW_BLASTER_40L 179
417  57, -10, 79,
418 // MZ2_WIDOW_BLASTER_50L 180 d18
419  54, -18, 78,
420 // MZ2_WIDOW_BLASTER_60L 181
421  42, -32, 80,
422 // MZ2_WIDOW_BLASTER_70L 182 d20
423  36, -40, 78,
424 // MZ2_WIDOW_RUN_1 183
425  68.4, 10.88, 82.08,
426 // MZ2_WIDOW_RUN_2 184
427  68.51, 8.64, 85.14,
428 // MZ2_WIDOW_RUN_3 185
429  68.66, 6.38, 88.78,
430 // MZ2_WIDOW_RUN_4 186
431  68.73, 5.1, 84.47,
432 // MZ2_WIDOW_RUN_5 187
433  68.82, 4.79, 80.52,
434 // MZ2_WIDOW_RUN_6 188
435  68.77, 6.11, 85.37,
436 // MZ2_WIDOW_RUN_7 189
437  68.67, 7.99, 90.24,
438 // MZ2_WIDOW_RUN_8 190
439  68.55, 9.54, 87.36,
440 // MZ2_CARRIER_ROCKET_1 191
441  0, 0, -5,
442 // MZ2_CARRIER_ROCKET_2 192
443  0, 0, -5,
444 // MZ2_CARRIER_ROCKET_3 193
445  0, 0, -5,
446 // MZ2_CARRIER_ROCKET_4 194
447  0, 0, -5,
448 // MZ2_WIDOW2_BEAMER_1 195
449 // 72.13, -17.63, 93.77,
450  69.00, -17.63, 93.77,
451 // MZ2_WIDOW2_BEAMER_2 196
452 // 71.46, -17.08, 89.82,
453  69.00, -17.08, 89.82,
454 // MZ2_WIDOW2_BEAMER_3 197
455 // 71.47, -18.40, 90.70,
456  69.00, -18.40, 90.70,
457 // MZ2_WIDOW2_BEAMER_4 198
458 // 71.96, -18.34, 94.32,
459  69.00, -18.34, 94.32,
460 // MZ2_WIDOW2_BEAMER_5 199
461 // 72.25, -18.30, 97.98,
462  69.00, -18.30, 97.98,
463 // MZ2_WIDOW2_BEAM_SWEEP_1 200
464  45.04, -59.02, 92.24,
465 // MZ2_WIDOW2_BEAM_SWEEP_2 201
466  50.68, -54.70, 91.96,
467 // MZ2_WIDOW2_BEAM_SWEEP_3 202
468  56.57, -47.72, 91.65,
469 // MZ2_WIDOW2_BEAM_SWEEP_4 203
470  61.75, -38.75, 91.38,
471 // MZ2_WIDOW2_BEAM_SWEEP_5 204
472  65.55, -28.76, 91.24,
473 // MZ2_WIDOW2_BEAM_SWEEP_6 205
474  67.79, -18.90, 91.22,
475 // MZ2_WIDOW2_BEAM_SWEEP_7 206
476  68.60, -9.52, 91.23,
477 // MZ2_WIDOW2_BEAM_SWEEP_8 207
478  68.08, 0.18, 91.32,
479 // MZ2_WIDOW2_BEAM_SWEEP_9 208
480  66.14, 9.79, 91.44,
481 // MZ2_WIDOW2_BEAM_SWEEP_10 209
482  62.77, 18.91, 91.65,
483 // MZ2_WIDOW2_BEAM_SWEEP_11 210
484  58.29, 27.11, 92.00,
485 
486 // end of table
487  0.0, 0.0, 0.0
488 };
q_shared.h
monster_flash_offset
vec3_t monster_flash_offset[]
Definition: m_flash.c:27
vec3_t
vec_t vec3_t[3]
Definition: q_shared.h:134