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