Odamex
Setting the Standard in Multiplayer Doom
common/info.h
Go to the documentation of this file.
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 
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends