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