aboutsummaryrefslogtreecommitdiff
path: root/src/info.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/info.h')
-rw-r--r--src/info.h1498
1 files changed, 1498 insertions, 0 deletions
diff --git a/src/info.h b/src/info.h
new file mode 100644
index 0000000..11cfb47
--- /dev/null
+++ b/src/info.h
@@ -0,0 +1,1498 @@
1/* Emacs style mode select -*- C++ -*-
2 *-----------------------------------------------------------------------------
3 *
4 *
5 * PrBoom: a Doom port merged with LxDoom and LSDLDoom
6 * based on BOOM, a modified and improved DOOM engine
7 * Copyright (C) 1999 by
8 * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
9 * Copyright (C) 1999-2000 by
10 * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
11 * Copyright 2005, 2006 by
12 * Florian Schulze, Colin Phipps, Neil Stevens, Andrey Budko
13 *
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
27 * 02111-1307, USA.
28 *
29 * DESCRIPTION:
30 * Thing frame/state LUT,
31 * generated by multigen utilitiy.
32 * This one is the original DOOM version, preserved.
33 *
34 *-----------------------------------------------------------------------------*/
35
36#ifndef __INFO__
37#define __INFO__
38
39/* Needed for action function pointer handling. */
40#include "d_think.h"
41
42/********************************************************************
43 * Sprite name enumeration - must match info.c *
44 ********************************************************************/
45typedef enum
46{
47 SPR_TROO,
48 SPR_SHTG,
49 SPR_PUNG,
50 SPR_PISG,
51 SPR_PISF,
52 SPR_SHTF,
53 SPR_SHT2,
54 SPR_CHGG,
55 SPR_CHGF,
56 SPR_MISG,
57 SPR_MISF,
58 SPR_SAWG,
59 SPR_PLSG,
60 SPR_PLSF,
61 SPR_BFGG,
62 SPR_BFGF,
63 SPR_BLUD,
64 SPR_PUFF,
65 SPR_BAL1,
66 SPR_BAL2,
67 SPR_PLSS,
68 SPR_PLSE,
69 SPR_MISL,
70 SPR_BFS1,
71 SPR_BFE1,
72 SPR_BFE2,
73 SPR_TFOG,
74 SPR_IFOG,
75 SPR_PLAY,
76 SPR_POSS,
77 SPR_SPOS,
78 SPR_VILE,
79 SPR_FIRE,
80 SPR_FATB,
81 SPR_FBXP,
82 SPR_SKEL,
83 SPR_MANF,
84 SPR_FATT,
85 SPR_CPOS,
86 SPR_SARG,
87 SPR_HEAD,
88 SPR_BAL7,
89 SPR_BOSS,
90 SPR_BOS2,
91 SPR_SKUL,
92 SPR_SPID,
93 SPR_BSPI,
94 SPR_APLS,
95 SPR_APBX,
96 SPR_CYBR,
97 SPR_PAIN,
98 SPR_SSWV,
99 SPR_KEEN,
100 SPR_BBRN,
101 SPR_BOSF,
102 SPR_ARM1,
103 SPR_ARM2,
104 SPR_BAR1,
105 SPR_BEXP,
106 SPR_FCAN,
107 SPR_BON1,
108 SPR_BON2,
109 SPR_BKEY,
110 SPR_RKEY,
111 SPR_YKEY,
112 SPR_BSKU,
113 SPR_RSKU,
114 SPR_YSKU,
115 SPR_STIM,
116 SPR_MEDI,
117 SPR_SOUL,
118 SPR_PINV,
119 SPR_PSTR,
120 SPR_PINS,
121 SPR_MEGA,
122 SPR_SUIT,
123 SPR_PMAP,
124 SPR_PVIS,
125 SPR_CLIP,
126 SPR_AMMO,
127 SPR_ROCK,
128 SPR_BROK,
129 SPR_CELL,
130 SPR_CELP,
131 SPR_SHEL,
132 SPR_SBOX,
133 SPR_BPAK,
134 SPR_BFUG,
135 SPR_MGUN,
136 SPR_CSAW,
137 SPR_LAUN,
138 SPR_PLAS,
139 SPR_SHOT,
140 SPR_SGN2,
141 SPR_COLU,
142 SPR_SMT2,
143 SPR_GOR1,
144 SPR_POL2,
145 SPR_POL5,
146 SPR_POL4,
147 SPR_POL3,
148 SPR_POL1,
149 SPR_POL6,
150 SPR_GOR2,
151 SPR_GOR3,
152 SPR_GOR4,
153 SPR_GOR5,
154 SPR_SMIT,
155 SPR_COL1,
156 SPR_COL2,
157 SPR_COL3,
158 SPR_COL4,
159 SPR_CAND,
160 SPR_CBRA,
161 SPR_COL6,
162 SPR_TRE1,
163 SPR_TRE2,
164 SPR_ELEC,
165 SPR_CEYE,
166 SPR_FSKU,
167 SPR_COL5,
168 SPR_TBLU,
169 SPR_TGRN,
170 SPR_TRED,
171 SPR_SMBT,
172 SPR_SMGT,
173 SPR_SMRT,
174 SPR_HDB1,
175 SPR_HDB2,
176 SPR_HDB3,
177 SPR_HDB4,
178 SPR_HDB5,
179 SPR_HDB6,
180 SPR_POB1,
181 SPR_POB2,
182 SPR_BRS1,
183 SPR_TLMP,
184 SPR_TLP2,
185 SPR_TNT1, /* add invisible sprite phares 3/8/98 */
186
187#ifdef DOGS
188 SPR_DOGS, /* killough 7/19/98: Marine's best friend :) */
189#endif
190
191 NUMSPRITES /* counter of how many there are */
192
193} spritenum_t;
194
195/********************************************************************
196 * States (frames) enumeration -- must match info.c *
197 ********************************************************************/
198
199typedef enum
200{
201 S_NULL,
202 S_LIGHTDONE,
203 S_PUNCH,
204 S_PUNCHDOWN,
205 S_PUNCHUP,
206 S_PUNCH1,
207 S_PUNCH2,
208 S_PUNCH3,
209 S_PUNCH4,
210 S_PUNCH5,
211 S_PISTOL,
212 S_PISTOLDOWN,
213 S_PISTOLUP,
214 S_PISTOL1,
215 S_PISTOL2,
216 S_PISTOL3,
217 S_PISTOL4,
218 S_PISTOLFLASH,
219 S_SGUN,
220 S_SGUNDOWN,
221 S_SGUNUP,
222 S_SGUN1,
223 S_SGUN2,
224 S_SGUN3,
225 S_SGUN4,
226 S_SGUN5,
227 S_SGUN6,
228 S_SGUN7,
229 S_SGUN8,
230 S_SGUN9,
231 S_SGUNFLASH1,
232 S_SGUNFLASH2,
233 S_DSGUN,
234 S_DSGUNDOWN,
235 S_DSGUNUP,
236 S_DSGUN1,
237 S_DSGUN2,
238 S_DSGUN3,
239 S_DSGUN4,
240 S_DSGUN5,
241 S_DSGUN6,
242 S_DSGUN7,
243 S_DSGUN8,
244 S_DSGUN9,
245 S_DSGUN10,
246 S_DSNR1,
247 S_DSNR2,
248 S_DSGUNFLASH1,
249 S_DSGUNFLASH2,
250 S_CHAIN,
251 S_CHAINDOWN,
252 S_CHAINUP,
253 S_CHAIN1,
254 S_CHAIN2,
255 S_CHAIN3,
256 S_CHAINFLASH1,
257 S_CHAINFLASH2,
258 S_MISSILE,
259 S_MISSILEDOWN,
260 S_MISSILEUP,
261 S_MISSILE1,
262 S_MISSILE2,
263 S_MISSILE3,
264 S_MISSILEFLASH1,
265 S_MISSILEFLASH2,
266 S_MISSILEFLASH3,
267 S_MISSILEFLASH4,
268 S_SAW,
269 S_SAWB,
270 S_SAWDOWN,
271 S_SAWUP,
272 S_SAW1,
273 S_SAW2,
274 S_SAW3,
275 S_PLASMA,
276 S_PLASMADOWN,
277 S_PLASMAUP,
278 S_PLASMA1,
279 S_PLASMA2,
280 S_PLASMAFLASH1,
281 S_PLASMAFLASH2,
282 S_BFG,
283 S_BFGDOWN,
284 S_BFGUP,
285 S_BFG1,
286 S_BFG2,
287 S_BFG3,
288 S_BFG4,
289 S_BFGFLASH1,
290 S_BFGFLASH2,
291 S_BLOOD1,
292 S_BLOOD2,
293 S_BLOOD3,
294 S_PUFF1,
295 S_PUFF2,
296 S_PUFF3,
297 S_PUFF4,
298 S_TBALL1,
299 S_TBALL2,
300 S_TBALLX1,
301 S_TBALLX2,
302 S_TBALLX3,
303 S_RBALL1,
304 S_RBALL2,
305 S_RBALLX1,
306 S_RBALLX2,
307 S_RBALLX3,
308 S_PLASBALL,
309 S_PLASBALL2,
310 S_PLASEXP,
311 S_PLASEXP2,
312 S_PLASEXP3,
313 S_PLASEXP4,
314 S_PLASEXP5,
315 S_ROCKET,
316 S_BFGSHOT,
317 S_BFGSHOT2,
318 S_BFGLAND,
319 S_BFGLAND2,
320 S_BFGLAND3,
321 S_BFGLAND4,
322 S_BFGLAND5,
323 S_BFGLAND6,
324 S_BFGEXP,
325 S_BFGEXP2,
326 S_BFGEXP3,
327 S_BFGEXP4,
328 S_EXPLODE1,
329 S_EXPLODE2,
330 S_EXPLODE3,
331 S_TFOG,
332 S_TFOG01,
333 S_TFOG02,
334 S_TFOG2,
335 S_TFOG3,
336 S_TFOG4,
337 S_TFOG5,
338 S_TFOG6,
339 S_TFOG7,
340 S_TFOG8,
341 S_TFOG9,
342 S_TFOG10,
343 S_IFOG,
344 S_IFOG01,
345 S_IFOG02,
346 S_IFOG2,
347 S_IFOG3,
348 S_IFOG4,
349 S_IFOG5,
350 S_PLAY,
351 S_PLAY_RUN1,
352 S_PLAY_RUN2,
353 S_PLAY_RUN3,
354 S_PLAY_RUN4,
355 S_PLAY_ATK1,
356 S_PLAY_ATK2,
357 S_PLAY_PAIN,
358 S_PLAY_PAIN2,
359 S_PLAY_DIE1,
360 S_PLAY_DIE2,
361 S_PLAY_DIE3,
362 S_PLAY_DIE4,
363 S_PLAY_DIE5,
364 S_PLAY_DIE6,
365 S_PLAY_DIE7,
366 S_PLAY_XDIE1,
367 S_PLAY_XDIE2,
368 S_PLAY_XDIE3,
369 S_PLAY_XDIE4,
370 S_PLAY_XDIE5,
371 S_PLAY_XDIE6,
372 S_PLAY_XDIE7,
373 S_PLAY_XDIE8,
374 S_PLAY_XDIE9,
375 S_POSS_STND,
376 S_POSS_STND2,
377 S_POSS_RUN1,
378 S_POSS_RUN2,
379 S_POSS_RUN3,
380 S_POSS_RUN4,
381 S_POSS_RUN5,
382 S_POSS_RUN6,
383 S_POSS_RUN7,
384 S_POSS_RUN8,
385 S_POSS_ATK1,
386 S_POSS_ATK2,
387 S_POSS_ATK3,
388 S_POSS_PAIN,
389 S_POSS_PAIN2,
390 S_POSS_DIE1,
391 S_POSS_DIE2,
392 S_POSS_DIE3,
393 S_POSS_DIE4,
394 S_POSS_DIE5,
395 S_POSS_XDIE1,
396 S_POSS_XDIE2,
397 S_POSS_XDIE3,
398 S_POSS_XDIE4,
399 S_POSS_XDIE5,
400 S_POSS_XDIE6,
401 S_POSS_XDIE7,
402 S_POSS_XDIE8,
403 S_POSS_XDIE9,
404 S_POSS_RAISE1,
405 S_POSS_RAISE2,
406 S_POSS_RAISE3,
407 S_POSS_RAISE4,
408 S_SPOS_STND,
409 S_SPOS_STND2,
410 S_SPOS_RUN1,
411 S_SPOS_RUN2,
412 S_SPOS_RUN3,
413 S_SPOS_RUN4,
414 S_SPOS_RUN5,
415 S_SPOS_RUN6,
416 S_SPOS_RUN7,
417 S_SPOS_RUN8,
418 S_SPOS_ATK1,
419 S_SPOS_ATK2,
420 S_SPOS_ATK3,
421 S_SPOS_PAIN,
422 S_SPOS_PAIN2,
423 S_SPOS_DIE1,
424 S_SPOS_DIE2,
425 S_SPOS_DIE3,
426 S_SPOS_DIE4,
427 S_SPOS_DIE5,
428 S_SPOS_XDIE1,
429 S_SPOS_XDIE2,
430 S_SPOS_XDIE3,
431 S_SPOS_XDIE4,
432 S_SPOS_XDIE5,
433 S_SPOS_XDIE6,
434 S_SPOS_XDIE7,
435 S_SPOS_XDIE8,
436 S_SPOS_XDIE9,
437 S_SPOS_RAISE1,
438 S_SPOS_RAISE2,
439 S_SPOS_RAISE3,
440 S_SPOS_RAISE4,
441 S_SPOS_RAISE5,
442 S_VILE_STND,
443 S_VILE_STND2,
444 S_VILE_RUN1,
445 S_VILE_RUN2,
446 S_VILE_RUN3,
447 S_VILE_RUN4,
448 S_VILE_RUN5,
449 S_VILE_RUN6,
450 S_VILE_RUN7,
451 S_VILE_RUN8,
452 S_VILE_RUN9,
453 S_VILE_RUN10,
454 S_VILE_RUN11,
455 S_VILE_RUN12,
456 S_VILE_ATK1,
457 S_VILE_ATK2,
458 S_VILE_ATK3,
459 S_VILE_ATK4,
460 S_VILE_ATK5,
461 S_VILE_ATK6,
462 S_VILE_ATK7,
463 S_VILE_ATK8,
464 S_VILE_ATK9,
465 S_VILE_ATK10,
466 S_VILE_ATK11,
467 S_VILE_HEAL1,
468 S_VILE_HEAL2,
469 S_VILE_HEAL3,
470 S_VILE_PAIN,
471 S_VILE_PAIN2,
472 S_VILE_DIE1,
473 S_VILE_DIE2,
474 S_VILE_DIE3,
475 S_VILE_DIE4,
476 S_VILE_DIE5,
477 S_VILE_DIE6,
478 S_VILE_DIE7,
479 S_VILE_DIE8,
480 S_VILE_DIE9,
481 S_VILE_DIE10,
482 S_FIRE1,
483 S_FIRE2,
484 S_FIRE3,
485 S_FIRE4,
486 S_FIRE5,
487 S_FIRE6,
488 S_FIRE7,
489 S_FIRE8,
490 S_FIRE9,
491 S_FIRE10,
492 S_FIRE11,
493 S_FIRE12,
494 S_FIRE13,
495 S_FIRE14,
496 S_FIRE15,
497 S_FIRE16,
498 S_FIRE17,
499 S_FIRE18,
500 S_FIRE19,
501 S_FIRE20,
502 S_FIRE21,
503 S_FIRE22,
504 S_FIRE23,
505 S_FIRE24,
506 S_FIRE25,
507 S_FIRE26,
508 S_FIRE27,
509 S_FIRE28,
510 S_FIRE29,
511 S_FIRE30,
512 S_SMOKE1,
513 S_SMOKE2,
514 S_SMOKE3,
515 S_SMOKE4,
516 S_SMOKE5,
517 S_TRACER,
518 S_TRACER2,
519 S_TRACEEXP1,
520 S_TRACEEXP2,
521 S_TRACEEXP3,
522 S_SKEL_STND,
523 S_SKEL_STND2,
524 S_SKEL_RUN1,
525 S_SKEL_RUN2,
526 S_SKEL_RUN3,
527 S_SKEL_RUN4,
528 S_SKEL_RUN5,
529 S_SKEL_RUN6,
530 S_SKEL_RUN7,
531 S_SKEL_RUN8,
532 S_SKEL_RUN9,
533 S_SKEL_RUN10,
534 S_SKEL_RUN11,
535 S_SKEL_RUN12,
536 S_SKEL_FIST1,
537 S_SKEL_FIST2,
538 S_SKEL_FIST3,
539 S_SKEL_FIST4,
540 S_SKEL_MISS1,
541 S_SKEL_MISS2,
542 S_SKEL_MISS3,
543 S_SKEL_MISS4,
544 S_SKEL_PAIN,
545 S_SKEL_PAIN2,
546 S_SKEL_DIE1,
547 S_SKEL_DIE2,
548 S_SKEL_DIE3,
549 S_SKEL_DIE4,
550 S_SKEL_DIE5,
551 S_SKEL_DIE6,
552 S_SKEL_RAISE1,
553 S_SKEL_RAISE2,
554 S_SKEL_RAISE3,
555 S_SKEL_RAISE4,
556 S_SKEL_RAISE5,
557 S_SKEL_RAISE6,
558 S_FATSHOT1,
559 S_FATSHOT2,
560 S_FATSHOTX1,
561 S_FATSHOTX2,
562 S_FATSHOTX3,
563 S_FATT_STND,
564 S_FATT_STND2,
565 S_FATT_RUN1,
566 S_FATT_RUN2,
567 S_FATT_RUN3,
568 S_FATT_RUN4,
569 S_FATT_RUN5,
570 S_FATT_RUN6,
571 S_FATT_RUN7,
572 S_FATT_RUN8,
573 S_FATT_RUN9,
574 S_FATT_RUN10,
575 S_FATT_RUN11,
576 S_FATT_RUN12,
577 S_FATT_ATK1,
578 S_FATT_ATK2,
579 S_FATT_ATK3,
580 S_FATT_ATK4,
581 S_FATT_ATK5,
582 S_FATT_ATK6,
583 S_FATT_ATK7,
584 S_FATT_ATK8,
585 S_FATT_ATK9,
586 S_FATT_ATK10,
587 S_FATT_PAIN,
588 S_FATT_PAIN2,
589 S_FATT_DIE1,
590 S_FATT_DIE2,
591 S_FATT_DIE3,
592 S_FATT_DIE4,
593 S_FATT_DIE5,
594 S_FATT_DIE6,
595 S_FATT_DIE7,
596 S_FATT_DIE8,
597 S_FATT_DIE9,
598 S_FATT_DIE10,
599 S_FATT_RAISE1,
600 S_FATT_RAISE2,
601 S_FATT_RAISE3,
602 S_FATT_RAISE4,
603 S_FATT_RAISE5,
604 S_FATT_RAISE6,
605 S_FATT_RAISE7,
606 S_FATT_RAISE8,
607 S_CPOS_STND,
608 S_CPOS_STND2,
609 S_CPOS_RUN1,
610 S_CPOS_RUN2,
611 S_CPOS_RUN3,
612 S_CPOS_RUN4,
613 S_CPOS_RUN5,
614 S_CPOS_RUN6,
615 S_CPOS_RUN7,
616 S_CPOS_RUN8,
617 S_CPOS_ATK1,
618 S_CPOS_ATK2,
619 S_CPOS_ATK3,
620 S_CPOS_ATK4,
621 S_CPOS_PAIN,
622 S_CPOS_PAIN2,
623 S_CPOS_DIE1,
624 S_CPOS_DIE2,
625 S_CPOS_DIE3,
626 S_CPOS_DIE4,
627 S_CPOS_DIE5,
628 S_CPOS_DIE6,
629 S_CPOS_DIE7,
630 S_CPOS_XDIE1,
631 S_CPOS_XDIE2,
632 S_CPOS_XDIE3,
633 S_CPOS_XDIE4,
634 S_CPOS_XDIE5,
635 S_CPOS_XDIE6,
636 S_CPOS_RAISE1,
637 S_CPOS_RAISE2,
638 S_CPOS_RAISE3,
639 S_CPOS_RAISE4,
640 S_CPOS_RAISE5,
641 S_CPOS_RAISE6,
642 S_CPOS_RAISE7,
643 S_TROO_STND,
644 S_TROO_STND2,
645 S_TROO_RUN1,
646 S_TROO_RUN2,
647 S_TROO_RUN3,
648 S_TROO_RUN4,
649 S_TROO_RUN5,
650 S_TROO_RUN6,
651 S_TROO_RUN7,
652 S_TROO_RUN8,
653 S_TROO_ATK1,
654 S_TROO_ATK2,
655 S_TROO_ATK3,
656 S_TROO_PAIN,
657 S_TROO_PAIN2,
658 S_TROO_DIE1,
659 S_TROO_DIE2,
660 S_TROO_DIE3,
661 S_TROO_DIE4,
662 S_TROO_DIE5,
663 S_TROO_XDIE1,
664 S_TROO_XDIE2,
665 S_TROO_XDIE3,
666 S_TROO_XDIE4,
667 S_TROO_XDIE5,
668 S_TROO_XDIE6,
669 S_TROO_XDIE7,
670 S_TROO_XDIE8,
671 S_TROO_RAISE1,
672 S_TROO_RAISE2,
673 S_TROO_RAISE3,
674 S_TROO_RAISE4,
675 S_TROO_RAISE5,
676 S_SARG_STND,
677 S_SARG_STND2,
678 S_SARG_RUN1,
679 S_SARG_RUN2,
680 S_SARG_RUN3,
681 S_SARG_RUN4,
682 S_SARG_RUN5,
683 S_SARG_RUN6,
684 S_SARG_RUN7,
685 S_SARG_RUN8,
686 S_SARG_ATK1,
687 S_SARG_ATK2,
688 S_SARG_ATK3,
689 S_SARG_PAIN,
690 S_SARG_PAIN2,
691 S_SARG_DIE1,
692 S_SARG_DIE2,
693 S_SARG_DIE3,
694 S_SARG_DIE4,
695 S_SARG_DIE5,
696 S_SARG_DIE6,
697 S_SARG_RAISE1,
698 S_SARG_RAISE2,
699 S_SARG_RAISE3,
700 S_SARG_RAISE4,
701 S_SARG_RAISE5,
702 S_SARG_RAISE6,
703 S_HEAD_STND,
704 S_HEAD_RUN1,
705 S_HEAD_ATK1,
706 S_HEAD_ATK2,
707 S_HEAD_ATK3,
708 S_HEAD_PAIN,
709 S_HEAD_PAIN2,
710 S_HEAD_PAIN3,
711 S_HEAD_DIE1,
712 S_HEAD_DIE2,
713 S_HEAD_DIE3,
714 S_HEAD_DIE4,
715 S_HEAD_DIE5,
716 S_HEAD_DIE6,
717 S_HEAD_RAISE1,
718 S_HEAD_RAISE2,
719 S_HEAD_RAISE3,
720 S_HEAD_RAISE4,
721 S_HEAD_RAISE5,
722 S_HEAD_RAISE6,
723 S_BRBALL1,
724 S_BRBALL2,
725 S_BRBALLX1,
726 S_BRBALLX2,
727 S_BRBALLX3,
728 S_BOSS_STND,
729 S_BOSS_STND2,
730 S_BOSS_RUN1,
731 S_BOSS_RUN2,
732 S_BOSS_RUN3,
733 S_BOSS_RUN4,
734 S_BOSS_RUN5,
735 S_BOSS_RUN6,
736 S_BOSS_RUN7,
737 S_BOSS_RUN8,
738 S_BOSS_ATK1,
739 S_BOSS_ATK2,
740 S_BOSS_ATK3,
741 S_BOSS_PAIN,
742 S_BOSS_PAIN2,
743 S_BOSS_DIE1,
744 S_BOSS_DIE2,
745 S_BOSS_DIE3,
746 S_BOSS_DIE4,
747 S_BOSS_DIE5,
748 S_BOSS_DIE6,
749 S_BOSS_DIE7,
750 S_BOSS_RAISE1,
751 S_BOSS_RAISE2,
752 S_BOSS_RAISE3,
753 S_BOSS_RAISE4,
754 S_BOSS_RAISE5,
755 S_BOSS_RAISE6,
756 S_BOSS_RAISE7,
757 S_BOS2_STND,
758 S_BOS2_STND2,
759 S_BOS2_RUN1,
760 S_BOS2_RUN2,
761 S_BOS2_RUN3,
762 S_BOS2_RUN4,
763 S_BOS2_RUN5,
764 S_BOS2_RUN6,
765 S_BOS2_RUN7,
766 S_BOS2_RUN8,
767 S_BOS2_ATK1,
768 S_BOS2_ATK2,
769 S_BOS2_ATK3,
770 S_BOS2_PAIN,
771 S_BOS2_PAIN2,
772 S_BOS2_DIE1,
773 S_BOS2_DIE2,
774 S_BOS2_DIE3,
775 S_BOS2_DIE4,
776 S_BOS2_DIE5,
777 S_BOS2_DIE6,
778 S_BOS2_DIE7,
779 S_BOS2_RAISE1,
780 S_BOS2_RAISE2,
781 S_BOS2_RAISE3,
782 S_BOS2_RAISE4,
783 S_BOS2_RAISE5,
784 S_BOS2_RAISE6,
785 S_BOS2_RAISE7,
786 S_SKULL_STND,
787 S_SKULL_STND2,
788 S_SKULL_RUN1,
789 S_SKULL_RUN2,
790 S_SKULL_ATK1,
791 S_SKULL_ATK2,
792 S_SKULL_ATK3,
793 S_SKULL_ATK4,
794 S_SKULL_PAIN,
795 S_SKULL_PAIN2,
796 S_SKULL_DIE1,
797 S_SKULL_DIE2,
798 S_SKULL_DIE3,
799 S_SKULL_DIE4,
800 S_SKULL_DIE5,
801 S_SKULL_DIE6,
802 S_SPID_STND,
803 S_SPID_STND2,
804 S_SPID_RUN1,
805 S_SPID_RUN2,
806 S_SPID_RUN3,
807 S_SPID_RUN4,
808 S_SPID_RUN5,
809 S_SPID_RUN6,
810 S_SPID_RUN7,
811 S_SPID_RUN8,
812 S_SPID_RUN9,
813 S_SPID_RUN10,
814 S_SPID_RUN11,
815 S_SPID_RUN12,
816 S_SPID_ATK1,
817 S_SPID_ATK2,
818 S_SPID_ATK3,
819 S_SPID_ATK4,
820 S_SPID_PAIN,
821 S_SPID_PAIN2,
822 S_SPID_DIE1,
823 S_SPID_DIE2,
824 S_SPID_DIE3,
825 S_SPID_DIE4,
826 S_SPID_DIE5,
827 S_SPID_DIE6,
828 S_SPID_DIE7,
829 S_SPID_DIE8,
830 S_SPID_DIE9,
831 S_SPID_DIE10,
832 S_SPID_DIE11,
833 S_BSPI_STND,
834 S_BSPI_STND2,
835 S_BSPI_SIGHT,
836 S_BSPI_RUN1,
837 S_BSPI_RUN2,
838 S_BSPI_RUN3,
839 S_BSPI_RUN4,
840 S_BSPI_RUN5,
841 S_BSPI_RUN6,
842 S_BSPI_RUN7,
843 S_BSPI_RUN8,
844 S_BSPI_RUN9,
845 S_BSPI_RUN10,
846 S_BSPI_RUN11,
847 S_BSPI_RUN12,
848 S_BSPI_ATK1,
849 S_BSPI_ATK2,
850 S_BSPI_ATK3,
851 S_BSPI_ATK4,
852 S_BSPI_PAIN,
853 S_BSPI_PAIN2,
854 S_BSPI_DIE1,
855 S_BSPI_DIE2,
856 S_BSPI_DIE3,
857 S_BSPI_DIE4,
858 S_BSPI_DIE5,
859 S_BSPI_DIE6,
860 S_BSPI_DIE7,
861 S_BSPI_RAISE1,
862 S_BSPI_RAISE2,
863 S_BSPI_RAISE3,
864 S_BSPI_RAISE4,
865 S_BSPI_RAISE5,
866 S_BSPI_RAISE6,
867 S_BSPI_RAISE7,
868 S_ARACH_PLAZ,
869 S_ARACH_PLAZ2,
870 S_ARACH_PLEX,
871 S_ARACH_PLEX2,
872 S_ARACH_PLEX3,
873 S_ARACH_PLEX4,
874 S_ARACH_PLEX5,
875 S_CYBER_STND,
876 S_CYBER_STND2,
877 S_CYBER_RUN1,
878 S_CYBER_RUN2,
879 S_CYBER_RUN3,
880 S_CYBER_RUN4,
881 S_CYBER_RUN5,
882 S_CYBER_RUN6,
883 S_CYBER_RUN7,
884 S_CYBER_RUN8,
885 S_CYBER_ATK1,
886 S_CYBER_ATK2,
887 S_CYBER_ATK3,
888 S_CYBER_ATK4,
889 S_CYBER_ATK5,
890 S_CYBER_ATK6,
891 S_CYBER_PAIN,
892 S_CYBER_DIE1,
893 S_CYBER_DIE2,
894 S_CYBER_DIE3,
895 S_CYBER_DIE4,
896 S_CYBER_DIE5,
897 S_CYBER_DIE6,
898 S_CYBER_DIE7,
899 S_CYBER_DIE8,
900 S_CYBER_DIE9,
901 S_CYBER_DIE10,
902 S_PAIN_STND,
903 S_PAIN_RUN1,
904 S_PAIN_RUN2,
905 S_PAIN_RUN3,
906 S_PAIN_RUN4,
907 S_PAIN_RUN5,
908 S_PAIN_RUN6,
909 S_PAIN_ATK1,
910 S_PAIN_ATK2,
911 S_PAIN_ATK3,
912 S_PAIN_ATK4,
913 S_PAIN_PAIN,
914 S_PAIN_PAIN2,
915 S_PAIN_DIE1,
916 S_PAIN_DIE2,
917 S_PAIN_DIE3,
918 S_PAIN_DIE4,
919 S_PAIN_DIE5,
920 S_PAIN_DIE6,
921 S_PAIN_RAISE1,
922 S_PAIN_RAISE2,
923 S_PAIN_RAISE3,
924 S_PAIN_RAISE4,
925 S_PAIN_RAISE5,
926 S_PAIN_RAISE6,
927 S_SSWV_STND,
928 S_SSWV_STND2,
929 S_SSWV_RUN1,
930 S_SSWV_RUN2,
931 S_SSWV_RUN3,
932 S_SSWV_RUN4,
933 S_SSWV_RUN5,
934 S_SSWV_RUN6,
935 S_SSWV_RUN7,
936 S_SSWV_RUN8,
937 S_SSWV_ATK1,
938 S_SSWV_ATK2,
939 S_SSWV_ATK3,
940 S_SSWV_ATK4,
941 S_SSWV_ATK5,
942 S_SSWV_ATK6,
943 S_SSWV_PAIN,
944 S_SSWV_PAIN2,
945 S_SSWV_DIE1,
946 S_SSWV_DIE2,
947 S_SSWV_DIE3,
948 S_SSWV_DIE4,
949 S_SSWV_DIE5,
950 S_SSWV_XDIE1,
951 S_SSWV_XDIE2,
952 S_SSWV_XDIE3,
953 S_SSWV_XDIE4,
954 S_SSWV_XDIE5,
955 S_SSWV_XDIE6,
956 S_SSWV_XDIE7,
957 S_SSWV_XDIE8,
958 S_SSWV_XDIE9,
959 S_SSWV_RAISE1,
960 S_SSWV_RAISE2,
961 S_SSWV_RAISE3,
962 S_SSWV_RAISE4,
963 S_SSWV_RAISE5,
964 S_KEENSTND,
965 S_COMMKEEN,
966 S_COMMKEEN2,
967 S_COMMKEEN3,
968 S_COMMKEEN4,
969 S_COMMKEEN5,
970 S_COMMKEEN6,
971 S_COMMKEEN7,
972 S_COMMKEEN8,
973 S_COMMKEEN9,
974 S_COMMKEEN10,
975 S_COMMKEEN11,
976 S_COMMKEEN12,
977 S_KEENPAIN,
978 S_KEENPAIN2,
979 S_BRAIN,
980 S_BRAIN_PAIN,
981 S_BRAIN_DIE1,
982 S_BRAIN_DIE2,
983 S_BRAIN_DIE3,
984 S_BRAIN_DIE4,
985 S_BRAINEYE,
986 S_BRAINEYESEE,
987 S_BRAINEYE1,
988 S_SPAWN1,
989 S_SPAWN2,
990 S_SPAWN3,
991 S_SPAWN4,
992 S_SPAWNFIRE1,
993 S_SPAWNFIRE2,
994 S_SPAWNFIRE3,
995 S_SPAWNFIRE4,
996 S_SPAWNFIRE5,
997 S_SPAWNFIRE6,
998 S_SPAWNFIRE7,
999 S_SPAWNFIRE8,
1000 S_BRAINEXPLODE1,
1001 S_BRAINEXPLODE2,
1002 S_BRAINEXPLODE3,
1003 S_ARM1,
1004 S_ARM1A,
1005 S_ARM2,
1006 S_ARM2A,
1007 S_BAR1,
1008 S_BAR2,
1009 S_BEXP,
1010 S_BEXP2,
1011 S_BEXP3,
1012 S_BEXP4,
1013 S_BEXP5,
1014 S_BBAR1,
1015 S_BBAR2,
1016 S_BBAR3,
1017 S_BON1,
1018 S_BON1A,
1019 S_BON1B,
1020 S_BON1C,
1021 S_BON1D,
1022 S_BON1E,
1023 S_BON2,
1024 S_BON2A,
1025 S_BON2B,
1026 S_BON2C,
1027 S_BON2D,
1028 S_BON2E,
1029 S_BKEY,
1030 S_BKEY2,
1031 S_RKEY,
1032 S_RKEY2,
1033 S_YKEY,
1034 S_YKEY2,
1035 S_BSKULL,
1036 S_BSKULL2,
1037 S_RSKULL,
1038 S_RSKULL2,
1039 S_YSKULL,
1040 S_YSKULL2,
1041 S_STIM,
1042 S_MEDI,
1043 S_SOUL,
1044 S_SOUL2,
1045 S_SOUL3,
1046 S_SOUL4,
1047 S_SOUL5,
1048 S_SOUL6,
1049 S_PINV,
1050 S_PINV2,
1051 S_PINV3,
1052 S_PINV4,
1053 S_PSTR,
1054 S_PINS,
1055 S_PINS2,
1056 S_PINS3,
1057 S_PINS4,
1058 S_MEGA,
1059 S_MEGA2,
1060 S_MEGA3,
1061 S_MEGA4,
1062 S_SUIT,
1063 S_PMAP,
1064 S_PMAP2,
1065 S_PMAP3,
1066 S_PMAP4,
1067 S_PMAP5,
1068 S_PMAP6,
1069 S_PVIS,
1070 S_PVIS2,
1071 S_CLIP,
1072 S_AMMO,
1073 S_ROCK,
1074 S_BROK,
1075 S_CELL,
1076 S_CELP,
1077 S_SHEL,
1078 S_SBOX,
1079 S_BPAK,
1080 S_BFUG,
1081 S_MGUN,
1082 S_CSAW,
1083 S_LAUN,
1084 S_PLAS,
1085 S_SHOT,
1086 S_SHOT2,
1087 S_COLU,
1088 S_STALAG,
1089 S_BLOODYTWITCH,
1090 S_BLOODYTWITCH2,
1091 S_BLOODYTWITCH3,
1092 S_BLOODYTWITCH4,
1093 S_DEADTORSO,
1094 S_DEADBOTTOM,
1095 S_HEADSONSTICK,
1096 S_GIBS,
1097 S_HEADONASTICK,
1098 S_HEADCANDLES,
1099 S_HEADCANDLES2,
1100 S_DEADSTICK,
1101 S_LIVESTICK,
1102 S_LIVESTICK2,
1103 S_MEAT2,
1104 S_MEAT3,
1105 S_MEAT4,
1106 S_MEAT5,
1107 S_STALAGTITE,
1108 S_TALLGRNCOL,
1109 S_SHRTGRNCOL,
1110 S_TALLREDCOL,
1111 S_SHRTREDCOL,
1112 S_CANDLESTIK,
1113 S_CANDELABRA,
1114 S_SKULLCOL,
1115 S_TORCHTREE,
1116 S_BIGTREE,
1117 S_TECHPILLAR,
1118 S_EVILEYE,
1119 S_EVILEYE2,
1120 S_EVILEYE3,
1121 S_EVILEYE4,
1122 S_FLOATSKULL,
1123 S_FLOATSKULL2,
1124 S_FLOATSKULL3,
1125 S_HEARTCOL,
1126 S_HEARTCOL2,
1127 S_BLUETORCH,
1128 S_BLUETORCH2,
1129 S_BLUETORCH3,
1130 S_BLUETORCH4,
1131 S_GREENTORCH,
1132 S_GREENTORCH2,
1133 S_GREENTORCH3,
1134 S_GREENTORCH4,
1135 S_REDTORCH,
1136 S_REDTORCH2,
1137 S_REDTORCH3,
1138 S_REDTORCH4,
1139 S_BTORCHSHRT,
1140 S_BTORCHSHRT2,
1141 S_BTORCHSHRT3,
1142 S_BTORCHSHRT4,
1143 S_GTORCHSHRT,
1144 S_GTORCHSHRT2,
1145 S_GTORCHSHRT3,
1146 S_GTORCHSHRT4,
1147 S_RTORCHSHRT,
1148 S_RTORCHSHRT2,
1149 S_RTORCHSHRT3,
1150 S_RTORCHSHRT4,
1151 S_HANGNOGUTS,
1152 S_HANGBNOBRAIN,
1153 S_HANGTLOOKDN,
1154 S_HANGTSKULL,
1155 S_HANGTLOOKUP,
1156 S_HANGTNOBRAIN,
1157 S_COLONGIBS,
1158 S_SMALLPOOL,
1159 S_BRAINSTEM,
1160 S_TECHLAMP,
1161 S_TECHLAMP2,
1162 S_TECHLAMP3,
1163 S_TECHLAMP4,
1164 S_TECH2LAMP,
1165 S_TECH2LAMP2,
1166 S_TECH2LAMP3,
1167 S_TECH2LAMP4,
1168 S_TNT1, /* add state for invisible sprite phares 3/8/98 */
1169
1170 S_GRENADE, /* killough 8/9/98: grenade launcher */
1171 S_DETONATE, /* killough 8/9/98: detonation of objects */
1172 S_DETONATE2,
1173 S_DETONATE3,
1174
1175 // always count dog states, even if dogs are disabled
1176 S_DOGS_STND, /* killough 7/19/98: Marine's best friend :) */
1177 S_DOGS_STND2,
1178 S_DOGS_RUN1,
1179 S_DOGS_RUN2,
1180 S_DOGS_RUN3,
1181 S_DOGS_RUN4,
1182 S_DOGS_RUN5,
1183 S_DOGS_RUN6,
1184 S_DOGS_RUN7,
1185 S_DOGS_RUN8,
1186 S_DOGS_ATK1,
1187 S_DOGS_ATK2,
1188 S_DOGS_ATK3,
1189 S_DOGS_PAIN,
1190 S_DOGS_PAIN2,
1191 S_DOGS_DIE1,
1192 S_DOGS_DIE2,
1193 S_DOGS_DIE3,
1194 S_DOGS_DIE4,
1195 S_DOGS_DIE5,
1196 S_DOGS_DIE6,
1197 S_DOGS_RAISE1,
1198 S_DOGS_RAISE2,
1199 S_DOGS_RAISE3,
1200 S_DOGS_RAISE4,
1201 S_DOGS_RAISE5,
1202 S_DOGS_RAISE6,
1203
1204 // add dummy beta bfg / lost soul frames for dehacked compatibility
1205 // fixes bug #1576151 (part 2)
1206 S_OLDBFG1, // killough 7/11/98: the old BFG's 43 firing frames
1207 S_OLDBFG42 = S_OLDBFG1+41,
1208 S_OLDBFG43,
1209
1210 S_PLS1BALL, // killough 7/19/98: first plasma fireball in the beta
1211 S_PLS1BALL2,
1212 S_PLS1EXP,
1213 S_PLS1EXP2,
1214 S_PLS1EXP3,
1215 S_PLS1EXP4,
1216 S_PLS1EXP5,
1217
1218 S_PLS2BALL, // killough 7/19/98: second plasma fireball in the beta
1219 S_PLS2BALL2,
1220 S_PLS2BALLX1,
1221 S_PLS2BALLX2,
1222 S_PLS2BALLX3,
1223 S_BON3, // killough 7/11/98: evil sceptre in beta version
1224 S_BON4, // killough 7/11/98: unholy bible in beta version
1225
1226 // killough 10/98: beta lost souls were different from their modern cousins
1227 S_BSKUL_STND,
1228 S_BSKUL_RUN1,
1229 S_BSKUL_RUN2,
1230 S_BSKUL_RUN3,
1231 S_BSKUL_RUN4,
1232 S_BSKUL_ATK1,
1233 S_BSKUL_ATK2,
1234 S_BSKUL_ATK3,
1235 S_BSKUL_PAIN1,
1236 S_BSKUL_PAIN2,
1237 S_BSKUL_PAIN3,
1238 S_BSKUL_DIE1,
1239 S_BSKUL_DIE2,
1240 S_BSKUL_DIE3,
1241 S_BSKUL_DIE4,
1242 S_BSKUL_DIE5,
1243 S_BSKUL_DIE6,
1244 S_BSKUL_DIE7,
1245 S_BSKUL_DIE8,
1246
1247 S_MUSHROOM, /* killough 10/98: mushroom explosion effect */
1248
1249 NUMSTATES /* Counter of how many there are */
1250
1251} statenum_t;
1252
1253/********************************************************************
1254 * Definition of the state (frames) structure *
1255 ********************************************************************/
1256
1257typedef struct
1258{
1259 spritenum_t sprite; /* sprite number to show */
1260 long frame; /* which frame/subframe of the sprite is shown */
1261 long tics; /* number of gametics this frame should last */
1262 actionf_t action; /* code pointer to function for action if any */
1263 statenum_t nextstate; /* linked list pointer to next state or zero */
1264 long misc1, misc2; /* apparently never used in DOOM */
1265} state_t;
1266
1267/* these are in info.c */
1268extern state_t states[NUMSTATES];
1269extern const char *sprnames[]; /* 1/17/98 killough - CPhipps - const */
1270
1271/********************************************************************
1272 * Thing enumeration -- must match info.c *
1273 ********************************************************************
1274 * Note that many of these are generically named for the ornamentals
1275 */
1276
1277typedef enum {
1278 MT_PLAYER,
1279 MT_POSSESSED,
1280 MT_SHOTGUY,
1281 MT_VILE,
1282 MT_FIRE,
1283 MT_UNDEAD,
1284 MT_TRACER,
1285 MT_SMOKE,
1286 MT_FATSO,
1287 MT_FATSHOT,
1288 MT_CHAINGUY,
1289 MT_TROOP,
1290 MT_SERGEANT,
1291 MT_SHADOWS,
1292 MT_HEAD,
1293 MT_BRUISER,
1294 MT_BRUISERSHOT,
1295 MT_KNIGHT,
1296 MT_SKULL,
1297 MT_SPIDER,
1298 MT_BABY,
1299 MT_CYBORG,
1300 MT_PAIN,
1301 MT_WOLFSS,
1302 MT_KEEN,
1303 MT_BOSSBRAIN,
1304 MT_BOSSSPIT,
1305 MT_BOSSTARGET,
1306 MT_SPAWNSHOT,
1307 MT_SPAWNFIRE,
1308 MT_BARREL,
1309 MT_TROOPSHOT,
1310 MT_HEADSHOT,
1311 MT_ROCKET,
1312 MT_PLASMA,
1313 MT_BFG,
1314 MT_ARACHPLAZ,
1315 MT_PUFF,
1316 MT_BLOOD,
1317 MT_TFOG,
1318 MT_IFOG,
1319 MT_TELEPORTMAN,
1320 MT_EXTRABFG,
1321 MT_MISC0,
1322 MT_MISC1,
1323 MT_MISC2,
1324 MT_MISC3,
1325 MT_MISC4,
1326 MT_MISC5,
1327 MT_MISC6,
1328 MT_MISC7,
1329 MT_MISC8,
1330 MT_MISC9,
1331 MT_MISC10,
1332 MT_MISC11,
1333 MT_MISC12,
1334 MT_INV,
1335 MT_MISC13,
1336 MT_INS,
1337 MT_MISC14,
1338 MT_MISC15,
1339 MT_MISC16,
1340 MT_MEGA,
1341 MT_CLIP,
1342 MT_MISC17,
1343 MT_MISC18,
1344 MT_MISC19,
1345 MT_MISC20,
1346 MT_MISC21,
1347 MT_MISC22,
1348 MT_MISC23,
1349 MT_MISC24,
1350 MT_MISC25,
1351 MT_CHAINGUN,
1352 MT_MISC26,
1353 MT_MISC27,
1354 MT_MISC28,
1355 MT_SHOTGUN,
1356 MT_SUPERSHOTGUN,
1357 MT_MISC29,
1358 MT_MISC30,
1359 MT_MISC31,
1360 MT_MISC32,
1361 MT_MISC33,
1362 MT_MISC34,
1363 MT_MISC35,
1364 MT_MISC36,
1365 MT_MISC37,
1366 MT_MISC38,
1367 MT_MISC39,
1368 MT_MISC40,
1369 MT_MISC41,
1370 MT_MISC42,
1371 MT_MISC43,
1372 MT_MISC44,
1373 MT_MISC45,
1374 MT_MISC46,
1375 MT_MISC47,
1376 MT_MISC48,
1377 MT_MISC49,
1378 MT_MISC50,
1379 MT_MISC51,
1380 MT_MISC52,
1381 MT_MISC53,
1382 MT_MISC54,
1383 MT_MISC55,
1384 MT_MISC56,
1385 MT_MISC57,
1386 MT_MISC58,
1387 MT_MISC59,
1388 MT_MISC60,
1389 MT_MISC61,
1390 MT_MISC62,
1391 MT_MISC63,
1392 MT_MISC64,
1393 MT_MISC65,
1394 MT_MISC66,
1395 MT_MISC67,
1396 MT_MISC68,
1397 MT_MISC69,
1398 MT_MISC70,
1399 MT_MISC71,
1400 MT_MISC72,
1401 MT_MISC73,
1402 MT_MISC74,
1403 MT_MISC75,
1404 MT_MISC76,
1405 MT_MISC77,
1406 MT_MISC78,
1407 MT_MISC79,
1408 MT_MISC80,
1409 MT_MISC81,
1410 MT_MISC82,
1411 MT_MISC83,
1412 MT_MISC84,
1413 MT_MISC85,
1414 MT_MISC86,
1415 MT_PUSH, /* controls push source - phares */
1416 MT_PULL, /* controls pull source - phares 3/20/98 */
1417
1418#ifdef DOGS
1419 MT_DOGS, /* killough 7/19/98: Marine's best friend */
1420#endif
1421
1422 /* proff 11/22/98: Andy Baker's stealth monsters (next 12)
1423 * cph - moved below the MBF stuff, no need to displace them */
1424 MT_STEALTHBABY,
1425 MT_STEALTHVILE,
1426 MT_STEALTHBRUISER,
1427 MT_STEALTHHEAD,
1428 MT_STEALTHCHAINGUY,
1429 MT_STEALTHSERGEANT,
1430 MT_STEALTHKNIGHT,
1431 MT_STEALTHIMP,
1432 MT_STEALTHFATSO,
1433 MT_STEALTHUNDEAD,
1434 MT_STEALTHSHOTGUY,
1435 MT_STEALTHZOMBIE,
1436
1437 NUMMOBJTYPES // Counter of how many there are
1438} mobjtype_t;
1439
1440/********************************************************************
1441 * Definition of the Thing structure
1442 ********************************************************************/
1443/* Note that these are only indices to the state, sound, etc. arrays
1444 * and not actual pointers. Most can be set to zero if the action or
1445 * sound doesn't apply (like lamps generally don't attack or whistle).
1446 */
1447
1448typedef struct
1449{
1450 int doomednum; /* Thing number used in id's editor, and now
1451 probably by every other editor too */
1452 int spawnstate; /* The state (frame) index when this Thing is
1453 first created */
1454 int spawnhealth; /* The initial hit points for this Thing */
1455 int seestate; /* The state when it sees you or wakes up */
1456 int seesound; /* The sound it makes when waking */
1457 int reactiontime; /* How many tics it waits after it wakes up
1458 before it will start to attack, in normal
1459 skills (halved for nightmare) */
1460 int attacksound; /* The sound it makes when it attacks */
1461 int painstate; /* The state to indicate pain */
1462 int painchance; /* A number that is checked against a random
1463 number 0-255 to see if the Thing is supposed
1464 to go to its painstate or not. Note this
1465 has absolutely nothing to do with the chance
1466 it will get hurt, just the chance of it
1467 reacting visibly. */
1468 int painsound; /* The sound it emits when it feels pain */
1469 int meleestate; /* Melee==close attack */
1470 int missilestate; /* What states to use when it's in the air, if
1471 in fact it is ever used as a missile */
1472 int deathstate; /* What state begins the death sequence */
1473 int xdeathstate; /* What state begins the horrible death sequence
1474 like when a rocket takes out a trooper */
1475 int deathsound; /* The death sound. See also A_Scream() in
1476 p_enemy.c for some tweaking that goes on
1477 for certain monsters */
1478 int speed; /* How fast it moves. Too fast and it can miss
1479 collision logic. */
1480 int radius; /* An often incorrect radius */
1481 int height; /* An often incorrect height, used only to see
1482 if a monster can enter a sector */
1483 int mass; /* How much an impact will move it. Cacodemons
1484 seem to retreat when shot because they have
1485 very little mass and are moved by impact */
1486 int damage; /* If this is a missile, how much does it hurt? */
1487 int activesound; /* What sound it makes wandering around, once
1488 in a while. Chance is 3/256 it will. */
1489 uint_64_t flags; /* Bit masks for lots of things. See p_mobj.h */
1490 int raisestate; /* The first state for an Archvile or respawn
1491 resurrection. Zero means it won't come
1492 back to life. */
1493} mobjinfo_t;
1494
1495/* See p_mobj_h for addition more technical info */
1496extern mobjinfo_t mobjinfo[NUMMOBJTYPES];
1497
1498#endif