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