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