|
Odamex
Setting the Standard in Multiplayer Doom
|
00001 // Emacs style mode select -*- C++ -*- 00002 //----------------------------------------------------------------------------- 00003 // 00004 // $Id: info.h 2117 2011-02-22 20:33:04Z mike $ 00005 // 00006 // Copyright (C) 1993-1996 by id Software, Inc. 00007 // Copyright (C) 2006-2010 by The Odamex Team. 00008 // 00009 // This program is free software; you can redistribute it and/or 00010 // modify it under the terms of the GNU General Public License 00011 // as published by the Free Software Foundation; either version 2 00012 // of the License, or (at your option) any later version. 00013 // 00014 // This program is distributed in the hope that it will be useful, 00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 // GNU General Public License for more details. 00018 // 00019 // DESCRIPTION: 00020 // Thing frame/state LUT, 00021 // generated by multigen utilitiy. 00022 // This one is the original DOOM version, preserved. 00023 // 00024 //----------------------------------------------------------------------------- 00025 00026 00027 #ifndef __INFO_H__ 00028 #define __INFO_H__ 00029 00030 // Needed for action function pointer handling. 00031 #include "dthinker.h" 00032 #include "farchive.h" 00033 #include "doomdef.h" 00034 00035 typedef enum 00036 { 00037 SPR_TROO, 00038 SPR_SHTG, 00039 SPR_PUNG, 00040 SPR_PISG, 00041 SPR_PISF, 00042 SPR_SHTF, 00043 SPR_SHT2, 00044 SPR_CHGG, 00045 SPR_CHGF, 00046 SPR_MISG, 00047 SPR_MISF, 00048 SPR_SAWG, 00049 SPR_PLSG, 00050 SPR_PLSF, 00051 SPR_BFGG, 00052 SPR_BFGF, 00053 SPR_BLUD, 00054 SPR_PUFF, 00055 SPR_BAL1, 00056 SPR_BAL2, 00057 SPR_PLSS, 00058 SPR_PLSE, 00059 SPR_MISL, 00060 SPR_BFS1, 00061 SPR_BFE1, 00062 SPR_BFE2, 00063 SPR_TFOG, 00064 SPR_IFOG, 00065 SPR_PLAY, 00066 SPR_POSS, 00067 SPR_SPOS, 00068 SPR_VILE, 00069 SPR_FIRE, 00070 SPR_FATB, 00071 SPR_FBXP, 00072 SPR_SKEL, 00073 SPR_MANF, 00074 SPR_FATT, 00075 SPR_CPOS, 00076 SPR_SARG, 00077 SPR_HEAD, 00078 SPR_BAL7, 00079 SPR_BOSS, 00080 SPR_BOS2, 00081 SPR_SKUL, 00082 SPR_SPID, 00083 SPR_BSPI, 00084 SPR_APLS, 00085 SPR_APBX, 00086 SPR_CYBR, 00087 SPR_PAIN, 00088 SPR_SSWV, 00089 SPR_KEEN, 00090 SPR_BBRN, 00091 SPR_BOSF, 00092 SPR_ARM1, 00093 SPR_ARM2, 00094 SPR_BAR1, 00095 SPR_BEXP, 00096 SPR_FCAN, 00097 SPR_BON1, 00098 SPR_BON2, 00099 SPR_BKEY, 00100 SPR_RKEY, 00101 SPR_YKEY, 00102 SPR_BSKU, 00103 SPR_RSKU, 00104 SPR_YSKU, 00105 SPR_STIM, 00106 SPR_MEDI, 00107 SPR_SOUL, 00108 SPR_PINV, 00109 SPR_PSTR, 00110 SPR_PINS, 00111 SPR_MEGA, 00112 SPR_SUIT, 00113 SPR_PMAP, 00114 SPR_PVIS, 00115 SPR_CLIP, 00116 SPR_AMMO, 00117 SPR_ROCK, 00118 SPR_BROK, 00119 SPR_CELL, 00120 SPR_CELP, 00121 SPR_SHEL, 00122 SPR_SBOX, 00123 SPR_BPAK, 00124 SPR_BFUG, 00125 SPR_MGUN, 00126 SPR_CSAW, 00127 SPR_LAUN, 00128 SPR_PLAS, 00129 SPR_SHOT, 00130 SPR_SGN2, 00131 SPR_COLU, 00132 SPR_SMT2, 00133 SPR_GOR1, 00134 SPR_POL2, 00135 SPR_POL5, 00136 SPR_POL4, 00137 SPR_POL3, 00138 SPR_POL1, 00139 SPR_POL6, 00140 SPR_GOR2, 00141 SPR_GOR3, 00142 SPR_GOR4, 00143 SPR_GOR5, 00144 SPR_SMIT, 00145 SPR_COL1, 00146 SPR_COL2, 00147 SPR_COL3, 00148 SPR_COL4, 00149 SPR_CAND, 00150 SPR_CBRA, 00151 SPR_COL6, 00152 SPR_TRE1, 00153 SPR_TRE2, 00154 SPR_ELEC, 00155 SPR_CEYE, 00156 SPR_FSKU, 00157 SPR_COL5, 00158 SPR_TBLU, 00159 SPR_TGRN, 00160 SPR_TRED, 00161 SPR_SMBT, 00162 SPR_SMGT, 00163 SPR_SMRT, 00164 SPR_HDB1, 00165 SPR_HDB2, 00166 SPR_HDB3, 00167 SPR_HDB4, 00168 SPR_HDB5, 00169 SPR_HDB6, 00170 SPR_POB1, 00171 SPR_POB2, 00172 SPR_BRS1, 00173 SPR_TLMP, 00174 SPR_TLP2, 00175 SPR_TNT1, 00176 // [RH] Gibs 00177 SPR_GIB0, 00178 SPR_GIB1, 00179 SPR_GIB2, 00180 SPR_GIB3, 00181 SPR_GIB4, 00182 SPR_GIB5, 00183 SPR_GIB6, 00184 SPR_GIB7, 00185 // [RH] Dummy for unknown mapthing 00186 SPR_UNKN, 00187 00188 // [Toke - CTF] 00189 SPR_BSOK, 00190 SPR_RSOK, 00191 SPR_BFLG, 00192 SPR_RFLG, 00193 SPR_BDWN, 00194 SPR_RDWN, 00195 SPR_BCAR, 00196 SPR_RCAR, 00197 00198 SPR_TLGL, 00199 00200 NUMSPRITES 00201 00202 } spritenum_t; 00203 00204 inline FArchive &operator<< (FArchive &arc, spritenum_t i) { return arc << (WORD)i; } 00205 inline FArchive &operator>> (FArchive &arc, spritenum_t &i) { return arc >> (WORD &)i; } 00206 00207 typedef enum 00208 { 00209 S_NULL, 00210 S_LIGHTDONE, 00211 S_PUNCH, 00212 S_PUNCHDOWN, 00213 S_PUNCHUP, 00214 S_PUNCH1, 00215 S_PUNCH2, 00216 S_PUNCH3, 00217 S_PUNCH4, 00218 S_PUNCH5, 00219 S_PISTOL, 00220 S_PISTOLDOWN, 00221 S_PISTOLUP, 00222 S_PISTOL1, 00223 S_PISTOL2, 00224 S_PISTOL3, 00225 S_PISTOL4, 00226 S_PISTOLFLASH, 00227 S_SGUN, 00228 S_SGUNDOWN, 00229 S_SGUNUP, 00230 S_SGUN1, 00231 S_SGUN2, 00232 S_SGUN3, 00233 S_SGUN4, 00234 S_SGUN5, 00235 S_SGUN6, 00236 S_SGUN7, 00237 S_SGUN8, 00238 S_SGUN9, 00239 S_SGUNFLASH1, 00240 S_SGUNFLASH2, 00241 S_DSGUN, 00242 S_DSGUNDOWN, 00243 S_DSGUNUP, 00244 S_DSGUN1, 00245 S_DSGUN2, 00246 S_DSGUN3, 00247 S_DSGUN4, 00248 S_DSGUN5, 00249 S_DSGUN6, 00250 S_DSGUN7, 00251 S_DSGUN8, 00252 S_DSGUN9, 00253 S_DSGUN10, 00254 S_DSNR1, 00255 S_DSNR2, 00256 S_DSGUNFLASH1, 00257 S_DSGUNFLASH2, 00258 S_CHAIN, 00259 S_CHAINDOWN, 00260 S_CHAINUP, 00261 S_CHAIN1, 00262 S_CHAIN2, 00263 S_CHAIN3, 00264 S_CHAINFLASH1, 00265 S_CHAINFLASH2, 00266 S_MISSILE, 00267 S_MISSILEDOWN, 00268 S_MISSILEUP, 00269 S_MISSILE1, 00270 S_MISSILE2, 00271 S_MISSILE3, 00272 S_MISSILEFLASH1, 00273 S_MISSILEFLASH2, 00274 S_MISSILEFLASH3, 00275 S_MISSILEFLASH4, 00276 S_SAW, 00277 S_SAWB, 00278 S_SAWDOWN, 00279 S_SAWUP, 00280 S_SAW1, 00281 S_SAW2, 00282 S_SAW3, 00283 S_PLASMA, 00284 S_PLASMADOWN, 00285 S_PLASMAUP, 00286 S_PLASMA1, 00287 S_PLASMA2, 00288 S_PLASMAFLASH1, 00289 S_PLASMAFLASH2, 00290 S_BFG, 00291 S_BFGDOWN, 00292 S_BFGUP, 00293 S_BFG1, 00294 S_BFG2, 00295 S_BFG3, 00296 S_BFG4, 00297 S_BFGFLASH1, 00298 S_BFGFLASH2, 00299 S_BLOOD1, 00300 S_BLOOD2, 00301 S_BLOOD3, 00302 S_PUFF1, 00303 S_PUFF2, 00304 S_PUFF3, 00305 S_PUFF4, 00306 S_TBALL1, 00307 S_TBALL2, 00308 S_TBALLX1, 00309 S_TBALLX2, 00310 S_TBALLX3, 00311 S_RBALL1, 00312 S_RBALL2, 00313 S_RBALLX1, 00314 S_RBALLX2, 00315 S_RBALLX3, 00316 S_PLASBALL, 00317 S_PLASBALL2, 00318 S_PLASEXP, 00319 S_PLASEXP2, 00320 S_PLASEXP3, 00321 S_PLASEXP4, 00322 S_PLASEXP5, 00323 S_ROCKET, 00324 S_BFGSHOT, 00325 S_BFGSHOT2, 00326 S_BFGLAND, 00327 S_BFGLAND2, 00328 S_BFGLAND3, 00329 S_BFGLAND4, 00330 S_BFGLAND5, 00331 S_BFGLAND6, 00332 S_BFGEXP, 00333 S_BFGEXP2, 00334 S_BFGEXP3, 00335 S_BFGEXP4, 00336 S_EXPLODE1, 00337 S_EXPLODE2, 00338 S_EXPLODE3, 00339 S_TFOG, 00340 S_TFOG01, 00341 S_TFOG02, 00342 S_TFOG2, 00343 S_TFOG3, 00344 S_TFOG4, 00345 S_TFOG5, 00346 S_TFOG6, 00347 S_TFOG7, 00348 S_TFOG8, 00349 S_TFOG9, 00350 S_TFOG10, 00351 S_IFOG, 00352 S_IFOG01, 00353 S_IFOG02, 00354 S_IFOG2, 00355 S_IFOG3, 00356 S_IFOG4, 00357 S_IFOG5, 00358 S_PLAY, 00359 S_PLAY_RUN1, 00360 S_PLAY_RUN2, 00361 S_PLAY_RUN3, 00362 S_PLAY_RUN4, 00363 S_PLAY_ATK1, 00364 S_PLAY_ATK2, 00365 S_PLAY_PAIN, 00366 S_PLAY_PAIN2, 00367 S_PLAY_DIE1, 00368 S_PLAY_DIE2, 00369 S_PLAY_DIE3, 00370 S_PLAY_DIE4, 00371 S_PLAY_DIE5, 00372 S_PLAY_DIE6, 00373 S_PLAY_DIE7, 00374 S_PLAY_XDIE1, 00375 S_PLAY_XDIE2, 00376 S_PLAY_XDIE3, 00377 S_PLAY_XDIE4, 00378 S_PLAY_XDIE5, 00379 S_PLAY_XDIE6, 00380 S_PLAY_XDIE7, 00381 S_PLAY_XDIE8, 00382 S_PLAY_XDIE9, 00383 S_POSS_STND, 00384 S_POSS_STND2, 00385 S_POSS_RUN1, 00386 S_POSS_RUN2, 00387 S_POSS_RUN3, 00388 S_POSS_RUN4, 00389 S_POSS_RUN5, 00390 S_POSS_RUN6, 00391 S_POSS_RUN7, 00392 S_POSS_RUN8, 00393 S_POSS_ATK1, 00394 S_POSS_ATK2, 00395 S_POSS_ATK3, 00396 S_POSS_PAIN, 00397 S_POSS_PAIN2, 00398 S_POSS_DIE1, 00399 S_POSS_DIE2, 00400 S_POSS_DIE3, 00401 S_POSS_DIE4, 00402 S_POSS_DIE5, 00403 S_POSS_XDIE1, 00404 S_POSS_XDIE2, 00405 S_POSS_XDIE3, 00406 S_POSS_XDIE4, 00407 S_POSS_XDIE5, 00408 S_POSS_XDIE6, 00409 S_POSS_XDIE7, 00410 S_POSS_XDIE8, 00411 S_POSS_XDIE9, 00412 S_POSS_RAISE1, 00413 S_POSS_RAISE2, 00414 S_POSS_RAISE3, 00415 S_POSS_RAISE4, 00416 S_SPOS_STND, 00417 S_SPOS_STND2, 00418 S_SPOS_RUN1, 00419 S_SPOS_RUN2, 00420 S_SPOS_RUN3, 00421 S_SPOS_RUN4, 00422 S_SPOS_RUN5, 00423 S_SPOS_RUN6, 00424 S_SPOS_RUN7, 00425 S_SPOS_RUN8, 00426 S_SPOS_ATK1, 00427 S_SPOS_ATK2, 00428 S_SPOS_ATK3, 00429 S_SPOS_PAIN, 00430 S_SPOS_PAIN2, 00431 S_SPOS_DIE1, 00432 S_SPOS_DIE2, 00433 S_SPOS_DIE3, 00434 S_SPOS_DIE4, 00435 S_SPOS_DIE5, 00436 S_SPOS_XDIE1, 00437 S_SPOS_XDIE2, 00438 S_SPOS_XDIE3, 00439 S_SPOS_XDIE4, 00440 S_SPOS_XDIE5, 00441 S_SPOS_XDIE6, 00442 S_SPOS_XDIE7, 00443 S_SPOS_XDIE8, 00444 S_SPOS_XDIE9, 00445 S_SPOS_RAISE1, 00446 S_SPOS_RAISE2, 00447 S_SPOS_RAISE3, 00448 S_SPOS_RAISE4, 00449 S_SPOS_RAISE5, 00450 S_VILE_STND, 00451 S_VILE_STND2, 00452 S_VILE_RUN1, 00453 S_VILE_RUN2, 00454 S_VILE_RUN3, 00455 S_VILE_RUN4, 00456 S_VILE_RUN5, 00457 S_VILE_RUN6, 00458 S_VILE_RUN7, 00459 S_VILE_RUN8, 00460 S_VILE_RUN9, 00461 S_VILE_RUN10, 00462 S_VILE_RUN11, 00463 S_VILE_RUN12, 00464 S_VILE_ATK1, 00465 S_VILE_ATK2, 00466 S_VILE_ATK3, 00467 S_VILE_ATK4, 00468 S_VILE_ATK5, 00469 S_VILE_ATK6, 00470 S_VILE_ATK7, 00471 S_VILE_ATK8, 00472 S_VILE_ATK9, 00473 S_VILE_ATK10, 00474 S_VILE_ATK11, 00475 S_VILE_HEAL1, 00476 S_VILE_HEAL2, 00477 S_VILE_HEAL3, 00478 S_VILE_PAIN, 00479 S_VILE_PAIN2, 00480 S_VILE_DIE1, 00481 S_VILE_DIE2, 00482 S_VILE_DIE3, 00483 S_VILE_DIE4, 00484 S_VILE_DIE5, 00485 S_VILE_DIE6, 00486 S_VILE_DIE7, 00487 S_VILE_DIE8, 00488 S_VILE_DIE9, 00489 S_VILE_DIE10, 00490 S_FIRE1, 00491 S_FIRE2, 00492 S_FIRE3, 00493 S_FIRE4, 00494 S_FIRE5, 00495 S_FIRE6, 00496 S_FIRE7, 00497 S_FIRE8, 00498 S_FIRE9, 00499 S_FIRE10, 00500 S_FIRE11, 00501 S_FIRE12, 00502 S_FIRE13, 00503 S_FIRE14, 00504 S_FIRE15, 00505 S_FIRE16, 00506 S_FIRE17, 00507 S_FIRE18, 00508 S_FIRE19, 00509 S_FIRE20, 00510 S_FIRE21, 00511 S_FIRE22, 00512 S_FIRE23, 00513 S_FIRE24, 00514 S_FIRE25, 00515 S_FIRE26, 00516 S_FIRE27, 00517 S_FIRE28, 00518 S_FIRE29, 00519 S_FIRE30, 00520 S_SMOKE1, 00521 S_SMOKE2, 00522 S_SMOKE3, 00523 S_SMOKE4, 00524 S_SMOKE5, 00525 S_TRACER, 00526 S_TRACER2, 00527 S_TRACEEXP1, 00528 S_TRACEEXP2, 00529 S_TRACEEXP3, 00530 S_SKEL_STND, 00531 S_SKEL_STND2, 00532 S_SKEL_RUN1, 00533 S_SKEL_RUN2, 00534 S_SKEL_RUN3, 00535 S_SKEL_RUN4, 00536 S_SKEL_RUN5, 00537 S_SKEL_RUN6, 00538 S_SKEL_RUN7, 00539 S_SKEL_RUN8, 00540 S_SKEL_RUN9, 00541 S_SKEL_RUN10, 00542 S_SKEL_RUN11, 00543 S_SKEL_RUN12, 00544 S_SKEL_FIST1, 00545 S_SKEL_FIST2, 00546 S_SKEL_FIST3, 00547 S_SKEL_FIST4, 00548 S_SKEL_MISS1, 00549 S_SKEL_MISS2, 00550 S_SKEL_MISS3, 00551 S_SKEL_MISS4, 00552 S_SKEL_PAIN, 00553 S_SKEL_PAIN2, 00554 S_SKEL_DIE1, 00555 S_SKEL_DIE2, 00556 S_SKEL_DIE3, 00557 S_SKEL_DIE4, 00558 S_SKEL_DIE5, 00559 S_SKEL_DIE6, 00560 S_SKEL_RAISE1, 00561 S_SKEL_RAISE2, 00562 S_SKEL_RAISE3, 00563 S_SKEL_RAISE4, 00564 S_SKEL_RAISE5, 00565 S_SKEL_RAISE6, 00566 S_FATSHOT1, 00567 S_FATSHOT2, 00568 S_FATSHOTX1, 00569 S_FATSHOTX2, 00570 S_FATSHOTX3, 00571 S_FATT_STND, 00572 S_FATT_STND2, 00573 S_FATT_RUN1, 00574 S_FATT_RUN2, 00575 S_FATT_RUN3, 00576 S_FATT_RUN4, 00577 S_FATT_RUN5, 00578 S_FATT_RUN6, 00579 S_FATT_RUN7, 00580 S_FATT_RUN8, 00581 S_FATT_RUN9, 00582 S_FATT_RUN10, 00583 S_FATT_RUN11, 00584 S_FATT_RUN12, 00585 S_FATT_ATK1, 00586 S_FATT_ATK2, 00587 S_FATT_ATK3, 00588 S_FATT_ATK4, 00589 S_FATT_ATK5, 00590 S_FATT_ATK6, 00591 S_FATT_ATK7, 00592 S_FATT_ATK8, 00593 S_FATT_ATK9, 00594 S_FATT_ATK10, 00595 S_FATT_PAIN, 00596 S_FATT_PAIN2, 00597 S_FATT_DIE1, 00598 S_FATT_DIE2, 00599 S_FATT_DIE3, 00600 S_FATT_DIE4, 00601 S_FATT_DIE5, 00602 S_FATT_DIE6, 00603 S_FATT_DIE7, 00604 S_FATT_DIE8, 00605 S_FATT_DIE9, 00606 S_FATT_DIE10, 00607 S_FATT_RAISE1, 00608 S_FATT_RAISE2, 00609 S_FATT_RAISE3, 00610 S_FATT_RAISE4, 00611 S_FATT_RAISE5, 00612 S_FATT_RAISE6, 00613 S_FATT_RAISE7, 00614 S_FATT_RAISE8, 00615 S_CPOS_STND, 00616 S_CPOS_STND2, 00617 S_CPOS_RUN1, 00618 S_CPOS_RUN2, 00619 S_CPOS_RUN3, 00620 S_CPOS_RUN4, 00621 S_CPOS_RUN5, 00622 S_CPOS_RUN6, 00623 S_CPOS_RUN7, 00624 S_CPOS_RUN8, 00625 S_CPOS_ATK1, 00626 S_CPOS_ATK2, 00627 S_CPOS_ATK3, 00628 S_CPOS_ATK4, 00629 S_CPOS_PAIN, 00630 S_CPOS_PAIN2, 00631 S_CPOS_DIE1, 00632 S_CPOS_DIE2, 00633 S_CPOS_DIE3, 00634 S_CPOS_DIE4, 00635 S_CPOS_DIE5, 00636 S_CPOS_DIE6, 00637 S_CPOS_DIE7, 00638 S_CPOS_XDIE1, 00639 S_CPOS_XDIE2, 00640 S_CPOS_XDIE3, 00641 S_CPOS_XDIE4, 00642 S_CPOS_XDIE5, 00643 S_CPOS_XDIE6, 00644 S_CPOS_RAISE1, 00645 S_CPOS_RAISE2, 00646 S_CPOS_RAISE3, 00647 S_CPOS_RAISE4, 00648 S_CPOS_RAISE5, 00649 S_CPOS_RAISE6, 00650 S_CPOS_RAISE7, 00651 S_TROO_STND, 00652 S_TROO_STND2, 00653 S_TROO_RUN1, 00654 S_TROO_RUN2, 00655 S_TROO_RUN3, 00656 S_TROO_RUN4, 00657 S_TROO_RUN5, 00658 S_TROO_RUN6, 00659 S_TROO_RUN7, 00660 S_TROO_RUN8, 00661 S_TROO_ATK1, 00662 S_TROO_ATK2, 00663 S_TROO_ATK3, 00664 S_TROO_PAIN, 00665 S_TROO_PAIN2, 00666 S_TROO_DIE1, 00667 S_TROO_DIE2, 00668 S_TROO_DIE3, 00669 S_TROO_DIE4, 00670 S_TROO_DIE5, 00671 S_TROO_XDIE1, 00672 S_TROO_XDIE2, 00673 S_TROO_XDIE3, 00674 S_TROO_XDIE4, 00675 S_TROO_XDIE5, 00676 S_TROO_XDIE6, 00677 S_TROO_XDIE7, 00678 S_TROO_XDIE8, 00679 S_TROO_RAISE1, 00680 S_TROO_RAISE2, 00681 S_TROO_RAISE3, 00682 S_TROO_RAISE4, 00683 S_TROO_RAISE5, 00684 S_SARG_STND, 00685 S_SARG_STND2, 00686 S_SARG_RUN1, 00687 S_SARG_RUN2, 00688 S_SARG_RUN3, 00689 S_SARG_RUN4, 00690 S_SARG_RUN5, 00691 S_SARG_RUN6, 00692 S_SARG_RUN7, 00693 S_SARG_RUN8, 00694 S_SARG_ATK1, 00695 S_SARG_ATK2, 00696 S_SARG_ATK3, 00697 S_SARG_PAIN, 00698 S_SARG_PAIN2, 00699 S_SARG_DIE1, 00700 S_SARG_DIE2, 00701 S_SARG_DIE3, 00702 S_SARG_DIE4, 00703 S_SARG_DIE5, 00704 S_SARG_DIE6, 00705 S_SARG_RAISE1, 00706 S_SARG_RAISE2, 00707 S_SARG_RAISE3, 00708 S_SARG_RAISE4, 00709 S_SARG_RAISE5, 00710 S_SARG_RAISE6, 00711 S_HEAD_STND, 00712 S_HEAD_RUN1, 00713 S_HEAD_ATK1, 00714 S_HEAD_ATK2, 00715 S_HEAD_ATK3, 00716 S_HEAD_PAIN, 00717 S_HEAD_PAIN2, 00718 S_HEAD_PAIN3, 00719 S_HEAD_DIE1, 00720 S_HEAD_DIE2, 00721 S_HEAD_DIE3, 00722 S_HEAD_DIE4, 00723 S_HEAD_DIE5, 00724 S_HEAD_DIE6, 00725 S_HEAD_RAISE1, 00726 S_HEAD_RAISE2, 00727 S_HEAD_RAISE3, 00728 S_HEAD_RAISE4, 00729 S_HEAD_RAISE5, 00730 S_HEAD_RAISE6, 00731 S_BRBALL1, 00732 S_BRBALL2, 00733 S_BRBALLX1, 00734 S_BRBALLX2, 00735 S_BRBALLX3, 00736 S_BOSS_STND, 00737 S_BOSS_STND2, 00738 S_BOSS_RUN1, 00739 S_BOSS_RUN2, 00740 S_BOSS_RUN3, 00741 S_BOSS_RUN4, 00742 S_BOSS_RUN5, 00743 S_BOSS_RUN6, 00744 S_BOSS_RUN7, 00745 S_BOSS_RUN8, 00746 S_BOSS_ATK1, 00747 S_BOSS_ATK2, 00748 S_BOSS_ATK3, 00749 S_BOSS_PAIN, 00750 S_BOSS_PAIN2, 00751 S_BOSS_DIE1, 00752 S_BOSS_DIE2, 00753 S_BOSS_DIE3, 00754 S_BOSS_DIE4, 00755 S_BOSS_DIE5, 00756 S_BOSS_DIE6, 00757 S_BOSS_DIE7, 00758 S_BOSS_RAISE1, 00759 S_BOSS_RAISE2, 00760 S_BOSS_RAISE3, 00761 S_BOSS_RAISE4, 00762 S_BOSS_RAISE5, 00763 S_BOSS_RAISE6, 00764 S_BOSS_RAISE7, 00765 S_BOS2_STND, 00766 S_BOS2_STND2, 00767 S_BOS2_RUN1, 00768 S_BOS2_RUN2, 00769 S_BOS2_RUN3, 00770 S_BOS2_RUN4, 00771 S_BOS2_RUN5, 00772 S_BOS2_RUN6, 00773 S_BOS2_RUN7, 00774 S_BOS2_RUN8, 00775 S_BOS2_ATK1, 00776 S_BOS2_ATK2, 00777 S_BOS2_ATK3, 00778 S_BOS2_PAIN, 00779 S_BOS2_PAIN2, 00780 S_BOS2_DIE1, 00781 S_BOS2_DIE2, 00782 S_BOS2_DIE3, 00783 S_BOS2_DIE4, 00784 S_BOS2_DIE5, 00785 S_BOS2_DIE6, 00786 S_BOS2_DIE7, 00787 S_BOS2_RAISE1, 00788 S_BOS2_RAISE2, 00789 S_BOS2_RAISE3, 00790 S_BOS2_RAISE4, 00791 S_BOS2_RAISE5, 00792 S_BOS2_RAISE6, 00793 S_BOS2_RAISE7, 00794 S_SKULL_STND, 00795 S_SKULL_STND2, 00796 S_SKULL_RUN1, 00797 S_SKULL_RUN2, 00798 S_SKULL_ATK1, 00799 S_SKULL_ATK2, 00800 S_SKULL_ATK3, 00801 S_SKULL_ATK4, 00802 S_SKULL_PAIN, 00803 S_SKULL_PAIN2, 00804 S_SKULL_DIE1, 00805 S_SKULL_DIE2, 00806 S_SKULL_DIE3, 00807 S_SKULL_DIE4, 00808 S_SKULL_DIE5, 00809 S_SKULL_DIE6, 00810 S_SPID_STND, 00811 S_SPID_STND2, 00812 S_SPID_RUN1, 00813 S_SPID_RUN2, 00814 S_SPID_RUN3, 00815 S_SPID_RUN4, 00816 S_SPID_RUN5, 00817 S_SPID_RUN6, 00818 S_SPID_RUN7, 00819 S_SPID_RUN8, 00820 S_SPID_RUN9, 00821 S_SPID_RUN10, 00822 S_SPID_RUN11, 00823 S_SPID_RUN12, 00824 S_SPID_ATK1, 00825 S_SPID_ATK2, 00826 S_SPID_ATK3, 00827 S_SPID_ATK4, 00828 S_SPID_PAIN, 00829 S_SPID_PAIN2, 00830 S_SPID_DIE1, 00831 S_SPID_DIE2, 00832 S_SPID_DIE3, 00833 S_SPID_DIE4, 00834 S_SPID_DIE5, 00835 S_SPID_DIE6, 00836 S_SPID_DIE7, 00837 S_SPID_DIE8, 00838 S_SPID_DIE9, 00839 S_SPID_DIE10, 00840 S_SPID_DIE11, 00841 S_BSPI_STND, 00842 S_BSPI_STND2, 00843 S_BSPI_SIGHT, 00844 S_BSPI_RUN1, 00845 S_BSPI_RUN2, 00846 S_BSPI_RUN3, 00847 S_BSPI_RUN4, 00848 S_BSPI_RUN5, 00849 S_BSPI_RUN6, 00850 S_BSPI_RUN7, 00851 S_BSPI_RUN8, 00852 S_BSPI_RUN9, 00853 S_BSPI_RUN10, 00854 S_BSPI_RUN11, 00855 S_BSPI_RUN12, 00856 S_BSPI_ATK1, 00857 S_BSPI_ATK2, 00858 S_BSPI_ATK3, 00859 S_BSPI_ATK4, 00860 S_BSPI_PAIN, 00861 S_BSPI_PAIN2, 00862 S_BSPI_DIE1, 00863 S_BSPI_DIE2, 00864 S_BSPI_DIE3, 00865 S_BSPI_DIE4, 00866 S_BSPI_DIE5, 00867 S_BSPI_DIE6, 00868 S_BSPI_DIE7, 00869 S_BSPI_RAISE1, 00870 S_BSPI_RAISE2, 00871 S_BSPI_RAISE3, 00872 S_BSPI_RAISE4, 00873 S_BSPI_RAISE5, 00874 S_BSPI_RAISE6, 00875 S_BSPI_RAISE7, 00876 S_ARACH_PLAZ, 00877 S_ARACH_PLAZ2, 00878 S_ARACH_PLEX, 00879 S_ARACH_PLEX2, 00880 S_ARACH_PLEX3, 00881 S_ARACH_PLEX4, 00882 S_ARACH_PLEX5, 00883 S_CYBER_STND, 00884 S_CYBER_STND2, 00885 S_CYBER_RUN1, 00886 S_CYBER_RUN2, 00887 S_CYBER_RUN3, 00888 S_CYBER_RUN4, 00889 S_CYBER_RUN5, 00890 S_CYBER_RUN6, 00891 S_CYBER_RUN7, 00892 S_CYBER_RUN8, 00893 S_CYBER_ATK1, 00894 S_CYBER_ATK2, 00895 S_CYBER_ATK3, 00896 S_CYBER_ATK4, 00897 S_CYBER_ATK5, 00898 S_CYBER_ATK6, 00899 S_CYBER_PAIN, 00900 S_CYBER_DIE1, 00901 S_CYBER_DIE2, 00902 S_CYBER_DIE3, 00903 S_CYBER_DIE4, 00904 S_CYBER_DIE5, 00905 S_CYBER_DIE6, 00906 S_CYBER_DIE7, 00907 S_CYBER_DIE8, 00908 S_CYBER_DIE9, 00909 S_CYBER_DIE10, 00910 S_PAIN_STND, 00911 S_PAIN_RUN1, 00912 S_PAIN_RUN2, 00913 S_PAIN_RUN3, 00914 S_PAIN_RUN4, 00915 S_PAIN_RUN5, 00916 S_PAIN_RUN6, 00917 S_PAIN_ATK1, 00918 S_PAIN_ATK2, 00919 S_PAIN_ATK3, 00920 S_PAIN_ATK4, 00921 S_PAIN_PAIN, 00922 S_PAIN_PAIN2, 00923 S_PAIN_DIE1, 00924 S_PAIN_DIE2, 00925 S_PAIN_DIE3, 00926 S_PAIN_DIE4, 00927 S_PAIN_DIE5, 00928 S_PAIN_DIE6, 00929 S_PAIN_RAISE1, 00930 S_PAIN_RAISE2, 00931 S_PAIN_RAISE3, 00932 S_PAIN_RAISE4, 00933 S_PAIN_RAISE5, 00934 S_PAIN_RAISE6, 00935 S_SSWV_STND, 00936 S_SSWV_STND2, 00937 S_SSWV_RUN1, 00938 S_SSWV_RUN2, 00939 S_SSWV_RUN3, 00940 S_SSWV_RUN4, 00941 S_SSWV_RUN5, 00942 S_SSWV_RUN6, 00943 S_SSWV_RUN7, 00944 S_SSWV_RUN8, 00945 S_SSWV_ATK1, 00946 S_SSWV_ATK2, 00947 S_SSWV_ATK3, 00948 S_SSWV_ATK4, 00949 S_SSWV_ATK5, 00950 S_SSWV_ATK6, 00951 S_SSWV_PAIN, 00952 S_SSWV_PAIN2, 00953 S_SSWV_DIE1, 00954 S_SSWV_DIE2, 00955 S_SSWV_DIE3, 00956 S_SSWV_DIE4, 00957 S_SSWV_DIE5, 00958 S_SSWV_XDIE1, 00959 S_SSWV_XDIE2, 00960 S_SSWV_XDIE3, 00961 S_SSWV_XDIE4, 00962 S_SSWV_XDIE5, 00963 S_SSWV_XDIE6, 00964 S_SSWV_XDIE7, 00965 S_SSWV_XDIE8, 00966 S_SSWV_XDIE9, 00967 S_SSWV_RAISE1, 00968 S_SSWV_RAISE2, 00969 S_SSWV_RAISE3, 00970 S_SSWV_RAISE4, 00971 S_SSWV_RAISE5, 00972 S_KEENSTND, 00973 S_COMMKEEN, 00974 S_COMMKEEN2, 00975 S_COMMKEEN3, 00976 S_COMMKEEN4, 00977 S_COMMKEEN5, 00978 S_COMMKEEN6, 00979 S_COMMKEEN7, 00980 S_COMMKEEN8, 00981 S_COMMKEEN9, 00982 S_COMMKEEN10, 00983 S_COMMKEEN11, 00984 S_COMMKEEN12, 00985 S_KEENPAIN, 00986 S_KEENPAIN2, 00987 S_BRAIN, 00988 S_BRAIN_PAIN, 00989 S_BRAIN_DIE1, 00990 S_BRAIN_DIE2, 00991 S_BRAIN_DIE3, 00992 S_BRAIN_DIE4, 00993 S_BRAINEYE, 00994 S_BRAINEYESEE, 00995 S_BRAINEYE1, 00996 S_SPAWN1, 00997 S_SPAWN2, 00998 S_SPAWN3, 00999 S_SPAWN4, 01000 S_SPAWNFIRE1, 01001 S_SPAWNFIRE2, 01002 S_SPAWNFIRE3, 01003 S_SPAWNFIRE4, 01004 S_SPAWNFIRE5, 01005 S_SPAWNFIRE6, 01006 S_SPAWNFIRE7, 01007 S_SPAWNFIRE8, 01008 S_BRAINEXPLODE1, 01009 S_BRAINEXPLODE2, 01010 S_BRAINEXPLODE3, 01011 S_ARM1, 01012 S_ARM1A, 01013 S_ARM2, 01014 S_ARM2A, 01015 S_BAR1, 01016 S_BAR2, 01017 S_BEXP, 01018 S_BEXP2, 01019 S_BEXP3, 01020 S_BEXP4, 01021 S_BEXP5, 01022 S_BBAR1, 01023 S_BBAR2, 01024 S_BBAR3, 01025 S_BON1, 01026 S_BON1A, 01027 S_BON1B, 01028 S_BON1C, 01029 S_BON1D, 01030 S_BON1E, 01031 S_BON2, 01032 S_BON2A, 01033 S_BON2B, 01034 S_BON2C, 01035 S_BON2D, 01036 S_BON2E, 01037 S_BKEY, 01038 S_BKEY2, 01039 S_RKEY, 01040 S_RKEY2, 01041 S_YKEY, 01042 S_YKEY2, 01043 S_BSKULL, 01044 S_BSKULL2, 01045 S_RSKULL, 01046 S_RSKULL2, 01047 S_YSKULL, 01048 S_YSKULL2, 01049 S_STIM, 01050 S_MEDI, 01051 S_SOUL, 01052 S_SOUL2, 01053 S_SOUL3, 01054 S_SOUL4, 01055 S_SOUL5, 01056 S_SOUL6, 01057 S_PINV, 01058 S_PINV2, 01059 S_PINV3, 01060 S_PINV4, 01061 S_PSTR, 01062 S_PINS, 01063 S_PINS2, 01064 S_PINS3, 01065 S_PINS4, 01066 S_MEGA, 01067 S_MEGA2, 01068 S_MEGA3, 01069 S_MEGA4, 01070 S_SUIT, 01071 S_PMAP, 01072 S_PMAP2, 01073 S_PMAP3, 01074 S_PMAP4, 01075 S_PMAP5, 01076 S_PMAP6, 01077 S_PVIS, 01078 S_PVIS2, 01079 S_CLIP, 01080 S_AMMO, 01081 S_ROCK, 01082 S_BROK, 01083 S_CELL, 01084 S_CELP, 01085 S_SHEL, 01086 S_SBOX, 01087 S_BPAK, 01088 S_BFUG, 01089 S_MGUN, 01090 S_CSAW, 01091 S_LAUN, 01092 S_PLAS, 01093 S_SHOT, 01094 S_SHOT2, 01095 S_COLU, 01096 S_STALAG, 01097 S_BLOODYTWITCH, 01098 S_BLOODYTWITCH2, 01099 S_BLOODYTWITCH3, 01100 S_BLOODYTWITCH4, 01101 S_DEADTORSO, 01102 S_DEADBOTTOM, 01103 S_HEADSONSTICK, 01104 S_GIBS, 01105 S_HEADONASTICK, 01106 S_HEADCANDLES, 01107 S_HEADCANDLES2, 01108 S_DEADSTICK, 01109 S_LIVESTICK, 01110 S_LIVESTICK2, 01111 S_MEAT2, 01112 S_MEAT3, 01113 S_MEAT4, 01114 S_MEAT5, 01115 S_STALAGTITE, 01116 S_TALLGRNCOL, 01117 S_SHRTGRNCOL, 01118 S_TALLREDCOL, 01119 S_SHRTREDCOL, 01120 S_CANDLESTIK, 01121 S_CANDELABRA, 01122 S_SKULLCOL, 01123 S_TORCHTREE, 01124 S_BIGTREE, 01125 S_TECHPILLAR, 01126 S_EVILEYE, 01127 S_EVILEYE2, 01128 S_EVILEYE3, 01129 S_EVILEYE4, 01130 S_FLOATSKULL, 01131 S_FLOATSKULL2, 01132 S_FLOATSKULL3, 01133 S_HEARTCOL, 01134 S_HEARTCOL2, 01135 S_BLUETORCH, 01136 S_BLUETORCH2, 01137 S_BLUETORCH3, 01138 S_BLUETORCH4, 01139 S_GREENTORCH, 01140 S_GREENTORCH2, 01141 S_GREENTORCH3, 01142 S_GREENTORCH4, 01143 S_REDTORCH, 01144 S_REDTORCH2, 01145 S_REDTORCH3, 01146 S_REDTORCH4, 01147 S_BTORCHSHRT, 01148 S_BTORCHSHRT2, 01149 S_BTORCHSHRT3, 01150 S_BTORCHSHRT4, 01151 S_GTORCHSHRT, 01152 S_GTORCHSHRT2, 01153 S_GTORCHSHRT3, 01154 S_GTORCHSHRT4, 01155 S_RTORCHSHRT, 01156 S_RTORCHSHRT2, 01157 S_RTORCHSHRT3, 01158 S_RTORCHSHRT4, 01159 S_HANGNOGUTS, 01160 S_HANGBNOBRAIN, 01161 S_HANGTLOOKDN, 01162 S_HANGTSKULL, 01163 S_HANGTLOOKUP, 01164 S_HANGTNOBRAIN, 01165 S_COLONGIBS, 01166 S_SMALLPOOL, 01167 S_BRAINSTEM, 01168 S_TECHLAMP, 01169 S_TECHLAMP2, 01170 S_TECHLAMP3, 01171 S_TECHLAMP4, 01172 S_TECH2LAMP, 01173 S_TECH2LAMP2, 01174 S_TECH2LAMP3, 01175 S_TECH2LAMP4, 01176 S_TNT1, 01177 // [RH] gibs 01178 S_GIB0, 01179 S_GIB1, 01180 S_GIB2, 01181 S_GIB3, 01182 S_GIB4, 01183 S_GIB5, 01184 S_GIB6, 01185 S_GIB7, 01186 S_AMBIENTSOUND, 01187 S_UNKNOWNTHING, 01188 01189 // ----------------------------------- 01190 // [Toke - CTF] 01191 01192 S_BSOK, // Blue Flag 01193 S_RSOK, // Red Flag 01194 01195 // -----[ BLUE Flag Animation ]------- 01196 S_BFLG, 01197 S_BFLG2, 01198 S_BFLG3, 01199 S_BFLG4, 01200 S_BFLG5, 01201 S_BFLG6, 01202 S_BFLG7, 01203 S_BFLG8, 01204 01205 // -----[ RED Flag Animation ]------- 01206 S_RFLG, 01207 S_RFLG2, 01208 S_RFLG3, 01209 S_RFLG4, 01210 S_RFLG5, 01211 S_RFLG6, 01212 S_RFLG7, 01213 S_RFLG8, 01214 01215 // ----------------------------------- 01216 S_BDWN, // Blue Flag 01217 S_RDWN, // Red Flag 01218 S_BCAR, // Blue Flag 01219 S_RCAR, // Red Flag 01220 // ----------------------------------- 01221 S_BRIDGE1, 01222 S_BRIDGE2, 01223 S_BRIDGE3, 01224 S_BRIDGE4, 01225 S_BRIDGE5, 01226 NUMSTATES 01227 } statenum_t; 01228 01229 inline FArchive &operator<< (FArchive &arc, statenum_t i) { return arc << (WORD)i; } 01230 inline FArchive &operator>> (FArchive &arc, statenum_t &i) { return arc >> (WORD &)i; } 01231 01232 typedef struct 01233 { 01234 spritenum_t sprite; 01235 int frame; 01236 int tics; 01237 actionf_t action; 01238 statenum_t nextstate; 01239 int misc1, misc2; 01240 /* 01241 DState (spritenum_t sprite, int frame, int tics, acp2, statenum_t nextstate); 01242 DState (spritenum_t sprite, int frame, int tics, acp2, statenum_t nextstate, int misc1, int misc2); 01243 DState (spritenum_t sprite, int frame, int tics, acp1, statenum_t nextstate); 01244 */ 01245 } state_t; 01246 01247 extern state_t states[NUMSTATES]; 01248 extern const char *sprnames[NUMSPRITES+1]; 01249 01250 inline FArchive &operator<< (FArchive &arc, state_t *state) 01251 { 01252 if (state) 01253 return arc << (WORD)(state - states); 01254 else 01255 return arc << (WORD)0xffff; 01256 } 01257 01258 inline FArchive &operator>> (FArchive &arc, state_t *&state) 01259 { 01260 WORD ofs; 01261 arc >> ofs; 01262 if (ofs == 0xffff) 01263 state = NULL; 01264 else 01265 state = states + ofs; 01266 return arc; 01267 } 01268 01269 typedef enum { 01270 MT_PLAYER, 01271 MT_POSSESSED, 01272 MT_SHOTGUY, 01273 MT_VILE, 01274 MT_FIRE, 01275 MT_UNDEAD, 01276 MT_TRACER, 01277 MT_SMOKE, 01278 MT_FATSO, 01279 MT_FATSHOT, 01280 MT_CHAINGUY, 01281 MT_TROOP, 01282 MT_SERGEANT, 01283 MT_SHADOWS, 01284 MT_HEAD, 01285 MT_BRUISER, 01286 MT_BRUISERSHOT, 01287 MT_KNIGHT, 01288 MT_SKULL, 01289 MT_SPIDER, 01290 MT_BABY, 01291 MT_CYBORG, 01292 MT_PAIN, 01293 MT_WOLFSS, 01294 MT_KEEN, 01295 MT_BOSSBRAIN, 01296 MT_BOSSSPIT, 01297 MT_BOSSTARGET, 01298 MT_SPAWNSHOT, 01299 MT_SPAWNFIRE, 01300 MT_BARREL, 01301 MT_TROOPSHOT, 01302 MT_HEADSHOT, 01303 MT_ROCKET, 01304 MT_PLASMA, 01305 MT_BFG, 01306 MT_ARACHPLAZ, 01307 MT_PUFF, 01308 MT_BLOOD, 01309 MT_TFOG, 01310 MT_IFOG, 01311 MT_TELEPORTMAN, 01312 MT_EXTRABFG, 01313 MT_MISC0, 01314 MT_MISC1, 01315 MT_MISC2, 01316 MT_MISC3, 01317 MT_MISC4, 01318 MT_MISC5, 01319 MT_MISC6, 01320 MT_MISC7, 01321 MT_MISC8, 01322 MT_MISC9, 01323 MT_MISC10, 01324 MT_MISC11, 01325 MT_MISC12, 01326 MT_INV, 01327 MT_MISC13, 01328 MT_INS, 01329 MT_MISC14, 01330 MT_MISC15, 01331 MT_MISC16, 01332 MT_MEGA, 01333 MT_CLIP, 01334 MT_MISC17, 01335 MT_MISC18, 01336 MT_MISC19, 01337 MT_MISC20, 01338 MT_MISC21, 01339 MT_MISC22, 01340 MT_MISC23, 01341 MT_MISC24, 01342 MT_MISC25, 01343 MT_CHAINGUN, 01344 MT_MISC26, 01345 MT_MISC27, 01346 MT_MISC28, 01347 MT_SHOTGUN, 01348 MT_SUPERSHOTGUN, 01349 MT_MISC29, 01350 MT_MISC30, 01351 MT_MISC31, 01352 MT_MISC32, 01353 MT_MISC33, 01354 MT_MISC34, 01355 MT_MISC35, 01356 MT_MISC36, 01357 MT_MISC37, 01358 MT_MISC38, 01359 MT_MISC39, 01360 MT_MISC40, 01361 MT_MISC41, 01362 MT_MISC42, 01363 MT_MISC43, 01364 MT_MISC44, 01365 MT_MISC45, 01366 MT_MISC46, 01367 MT_MISC47, 01368 MT_MISC48, 01369 MT_MISC49, 01370 MT_MISC50, 01371 MT_MISC51, 01372 MT_MISC52, 01373 MT_MISC53, 01374 MT_MISC54, 01375 MT_MISC55, 01376 MT_MISC56, 01377 MT_MISC57, 01378 MT_MISC58, 01379 MT_MISC59, 01380 MT_MISC60, 01381 MT_MISC61, 01382 MT_MISC62, 01383 MT_MISC63, 01384 MT_MISC64, 01385 MT_MISC65, 01386 MT_MISC66, 01387 MT_MISC67, 01388 MT_MISC68, 01389 MT_MISC69, 01390 MT_MISC70, 01391 MT_MISC71, 01392 MT_MISC72, 01393 MT_MISC73, 01394 MT_MISC74, 01395 MT_MISC75, 01396 MT_MISC76, 01397 MT_MISC77, 01398 MT_MISC78, 01399 MT_MISC79, 01400 MT_MISC80, 01401 MT_MISC81, 01402 MT_MISC82, 01403 MT_MISC83, 01404 MT_MISC84, 01405 MT_MISC85, 01406 MT_MISC86, 01407 // [RH] Gibs (code is disabled) 01408 MT_GIB0, 01409 MT_GIB1, 01410 MT_GIB2, 01411 MT_GIB3, 01412 MT_GIB4, 01413 MT_GIB5, 01414 MT_GIB6, 01415 MT_GIB7, 01416 // [RH] Miscellaneous things 01417 MT_UNKNOWNTHING, 01418 MT_PUSH, // Boom's push thing 01419 MT_PULL, // Boom's pull thing 01420 MT_PATHNODE, 01421 MT_AMBIENT, // Ambient sounds 01422 MT_TELEPORTMAN2,// Teleport destination that pays attention to its height 01423 MT_CAMERA, // Camera used for "cutscenes" 01424 MT_SPARK, // Throws out sparks when activated 01425 MT_FOUNTAIN, // Just a container for a particle fountain 01426 MT_NODE, //Added by MC: 01427 MT_WATERZONE, 01428 MT_SECRETTRIGGER, 01429 01430 // ----------------------------------- 01431 // [Toke - CTF] 01432 MT_BSOK, 01433 MT_RSOK, 01434 MT_BFLG, 01435 MT_RFLG, 01436 MT_BDWN, 01437 MT_RDWN, 01438 MT_BCAR, 01439 MT_RCAR, 01440 // ----------------------------------- 01441 01442 MT_BRIDGE, 01443 MT_MAPSPOT, 01444 MT_MAPSPOTGRAVITY, 01445 MT_BRIDGE32, 01446 MT_BRIDGE16, 01447 MT_BRIDGE8, 01448 01449 NUMMOBJTYPES 01450 01451 } mobjtype_t; 01452 01453 inline FArchive &operator<< (FArchive &arc, mobjtype_t i) { return arc << (WORD)i; } 01454 inline FArchive &operator>> (FArchive &arc, mobjtype_t &i) { return arc >> (WORD &)i; } 01455 01456 typedef struct 01457 { 01458 int doomednum; 01459 statenum_t spawnstate; 01460 int spawnhealth; 01461 statenum_t seestate; 01462 const char *seesound; // [RH] not int 01463 int reactiontime; 01464 const char *attacksound; // [RH] not int 01465 statenum_t painstate; 01466 int painchance; 01467 const char *painsound; // [RH] not int 01468 statenum_t meleestate; 01469 statenum_t missilestate; 01470 statenum_t deathstate; 01471 statenum_t xdeathstate; 01472 const char *deathsound; // [RH] not int 01473 int speed; 01474 int radius; 01475 int height; 01476 int cdheight; 01477 int mass; 01478 int damage; 01479 const char *activesound; // [RH] not int 01480 int flags; 01481 int flags2; 01482 statenum_t raisestate; 01483 int translucency; 01484 const char *name; 01485 01486 } mobjinfo_t; 01487 01488 extern mobjinfo_t mobjinfo[NUMMOBJTYPES]; 01489 01490 inline FArchive &operator<< (FArchive &arc, mobjinfo_t *info) 01491 { 01492 if (info) 01493 return arc << (WORD)(info - mobjinfo); 01494 else 01495 return arc << (WORD)0xffff; 01496 } 01497 01498 inline FArchive &operator>> (FArchive &arc, mobjinfo_t *&info) 01499 { 01500 WORD ofs; 01501 arc >> ofs; 01502 if (ofs == 0xffff) 01503 info = NULL; 01504 else 01505 info = mobjinfo + ofs; 01506 return arc; 01507 } 01508 01509 #endif // __INFO_H__ 01510 01511 01512