//------------------------------------------------------------------------
//  INFO (State definitions)
//------------------------------------------------------------------------
// 
//  DEH_EDGE  Copyright (C) 2004-2005  The EDGE Team
// 
//  This program is under the GNU General Public License.
//  It comes WITHOUT ANY WARRANTY of any kind.
//  See COPYING.txt for the full details.
//
//------------------------------------------------------------------------

#ifndef __INFO_HDR__
#define __INFO_HDR__

namespace Deh_Edge
{

typedef enum
{
    SPR_TROO, SPR_SHTG, SPR_PUNG, SPR_PISG, SPR_PISF,
    SPR_SHTF, SPR_SHT2, SPR_CHGG, SPR_CHGF, SPR_MISG,
    SPR_MISF, SPR_SAWG, SPR_PLSG, SPR_PLSF, SPR_BFGG,
    SPR_BFGF, SPR_BLUD, SPR_PUFF, SPR_BAL1, SPR_BAL2,
    SPR_PLSS, SPR_PLSE, SPR_MISL, SPR_BFS1, SPR_BFE1,
    SPR_BFE2, SPR_TFOG, SPR_IFOG, SPR_PLAY, SPR_POSS,
    SPR_SPOS, SPR_VILE, SPR_FIRE, SPR_FATB, SPR_FBXP,
    SPR_SKEL, SPR_MANF, SPR_FATT, SPR_CPOS, SPR_SARG,
    SPR_HEAD, SPR_BAL7, SPR_BOSS, SPR_BOS2, SPR_SKUL,
    SPR_SPID, SPR_BSPI, SPR_APLS, SPR_APBX, SPR_CYBR,
    SPR_PAIN, SPR_SSWV, SPR_KEEN, SPR_BBRN, SPR_BOSF,
    SPR_ARM1, SPR_ARM2, SPR_BAR1, SPR_BEXP, SPR_FCAN,
    SPR_BON1, SPR_BON2, SPR_BKEY, SPR_RKEY, SPR_YKEY,
    SPR_BSKU, SPR_RSKU, SPR_YSKU, SPR_STIM, SPR_MEDI,
    SPR_SOUL, SPR_PINV, SPR_PSTR, SPR_PINS, SPR_MEGA,
    SPR_SUIT, SPR_PMAP, SPR_PVIS, SPR_CLIP, SPR_AMMO,
    SPR_ROCK, SPR_BROK, SPR_CELL, SPR_CELP, SPR_SHEL,
    SPR_SBOX, SPR_BPAK, SPR_BFUG, SPR_MGUN, SPR_CSAW,
    SPR_LAUN, SPR_PLAS, SPR_SHOT, SPR_SGN2, SPR_COLU,
    SPR_SMT2, SPR_GOR1, SPR_POL2, SPR_POL5, SPR_POL4,
    SPR_POL3, SPR_POL1, SPR_POL6, SPR_GOR2, SPR_GOR3,
    SPR_GOR4, SPR_GOR5, SPR_SMIT, SPR_COL1, SPR_COL2,
    SPR_COL3, SPR_COL4, SPR_CAND, SPR_CBRA, SPR_COL6,
    SPR_TRE1, SPR_TRE2, SPR_ELEC, SPR_CEYE, SPR_FSKU,
    SPR_COL5, SPR_TBLU, SPR_TGRN, SPR_TRED, SPR_SMBT,
    SPR_SMGT, SPR_SMRT, SPR_HDB1, SPR_HDB2, SPR_HDB3,
    SPR_HDB4, SPR_HDB5, SPR_HDB6, SPR_POB1, SPR_POB2,
    SPR_BRS1, SPR_TLMP, SPR_TLP2,

    NUMSPRITES,

	// BOOM and MBF sprites:
#define SPR_TNT1  NUMSPRITES
	SPR_DOGS,

	NUMSPRITES_BEX
}
spritenum_t;

typedef enum
{
	A_NULL,
    A_Light0,
    A_WeaponReady,
    A_Lower,
    A_Raise,
    A_Punch,
    A_ReFire,
    A_FirePistol,
    A_Light1,
    A_FireShotgun,
    A_Light2,
    A_FireShotgun2,
    A_CheckReload,
    A_OpenShotgun2,
    A_LoadShotgun2,
    A_CloseShotgun2,
    A_FireCGun,
    A_GunFlash,
    A_FireMissile,
    A_Saw,
    A_FirePlasma,
    A_BFGsound,
    A_FireBFG,
    A_BFGSpray,
    A_Explode,
    A_Pain,
    A_PlayerScream,
    A_Fall,
    A_XScream,
    A_Look,
    A_Chase,
    A_FaceTarget,
    A_PosAttack,
    A_Scream,
    A_SPosAttack,
    A_VileChase,
    A_VileStart,
    A_VileTarget,
    A_VileAttack,
    A_StartFire,
    A_Fire,
    A_FireCrackle,
    A_Tracer,
    A_SkelWhoosh,
    A_SkelFist,
    A_SkelMissile,
    A_FatRaise,
    A_FatAttack1,
    A_FatAttack2,
    A_FatAttack3,
    A_BossDeath,
    A_CPosAttack,
    A_CPosRefire,
    A_TroopAttack,
    A_SargAttack,
    A_HeadAttack,
    A_BruisAttack,
    A_SkullAttack,
    A_Metal,
    A_SpidRefire,
    A_BabyMetal,
    A_BspiAttack,
    A_Hoof,
    A_CyberAttack,
    A_PainAttack,
    A_PainDie,
    A_KeenDie,
    A_BrainPain,
    A_BrainScream,
    A_BrainDie,
    A_BrainAwake,
    A_BrainSpit,
    A_SpawnSound,
    A_SpawnFly,
    A_BrainExplode,
	A_CubeSpawn,

	NUMACTIONS,

	// BOOM and MBF actions:
#define A_Die  NUMACTIONS
	A_Stop,
	A_Detonate,
	A_Mushroom,

	A_Spawn,
	A_Turn,
	A_Face,
	A_Scratch,
	A_PlaySound,
	A_RandomJump,
	A_LineEffect,

	NUMACTIONS_BEX
}
action_e;

typedef enum
{
    S_NULL,
    S_LIGHTDONE,
    S_PUNCH, S_PUNCHDOWN, S_PUNCHUP,
    S_PUNCH1, S_PUNCH2, S_PUNCH3, S_PUNCH4, S_PUNCH5,
    S_PISTOL, S_PISTOLDOWN, S_PISTOLUP,
    S_PISTOL1, S_PISTOL2, S_PISTOL3, S_PISTOL4, S_PISTOLFLASH,
    S_SGUN, S_SGUNDOWN, S_SGUNUP,
    S_SGUN1, S_SGUN2, S_SGUN3, S_SGUN4, S_SGUN5, S_SGUN6,
	S_SGUN7, S_SGUN8, S_SGUN9, S_SGUNFLASH1, S_SGUNFLASH2,
    S_DSGUN, S_DSGUNDOWN, S_DSGUNUP,
    S_DSGUN1, S_DSGUN2, S_DSGUN3, S_DSGUN4, S_DSGUN5, S_DSGUN6,
    S_DSGUN7, S_DSGUN8, S_DSGUN9, S_DSGUN10, S_DSNR1, S_DSNR2,
    S_DSGUNFLASH1, S_DSGUNFLASH2,
    S_CHAIN, S_CHAINDOWN, S_CHAINUP,
    S_CHAIN1, S_CHAIN2, S_CHAIN3, S_CHAINFLASH1, S_CHAINFLASH2,
    S_MISSILE, S_MISSILEDOWN, S_MISSILEUP,
    S_MISSILE1, S_MISSILE2, S_MISSILE3,
    S_MISSILEFLASH1, S_MISSILEFLASH2, S_MISSILEFLASH3, S_MISSILEFLASH4,
    S_SAW, S_SAWB, S_SAWDOWN, S_SAWUP,
    S_SAW1, S_SAW2, S_SAW3,
    S_PLASMA, S_PLASMADOWN, S_PLASMAUP,
    S_PLASMA1, S_PLASMA2, S_PLASMAFLASH1, S_PLASMAFLASH2,
    S_BFG, S_BFGDOWN, S_BFGUP,
    S_BFG1, S_BFG2, S_BFG3, S_BFG4, S_BFGFLASH1, S_BFGFLASH2,

    S_BLOOD1, S_BLOOD2, S_BLOOD3,
    S_PUFF1, S_PUFF2, S_PUFF3, S_PUFF4,
    S_TBALL1, S_TBALL2, S_TBALLX1, S_TBALLX2, S_TBALLX3,
    S_RBALL1, S_RBALL2, S_RBALLX1, S_RBALLX2, S_RBALLX3,
    S_PLASBALL, S_PLASBALL2,
    S_PLASEXP, S_PLASEXP2, S_PLASEXP3, S_PLASEXP4, S_PLASEXP5,
    S_ROCKET,
    S_BFGSHOT, S_BFGSHOT2, S_BFGLAND, S_BFGLAND2, S_BFGLAND3,
    S_BFGLAND4, S_BFGLAND5, S_BFGLAND6, S_BFGEXP, S_BFGEXP2,
    S_BFGEXP3, S_BFGEXP4,
    S_EXPLODE1, S_EXPLODE2, S_EXPLODE3,
    S_TFOG, S_TFOG01, S_TFOG02, S_TFOG2, S_TFOG3, S_TFOG4,
    S_TFOG5, S_TFOG6, S_TFOG7, S_TFOG8, S_TFOG9, S_TFOG10,
    S_IFOG, S_IFOG01, S_IFOG02, S_IFOG2, S_IFOG3, S_IFOG4, S_IFOG5,
    S_PLAY, S_PLAY_RUN1, S_PLAY_RUN2, S_PLAY_RUN3, S_PLAY_RUN4,
    S_PLAY_ATK1, S_PLAY_ATK2, S_PLAY_PAIN, S_PLAY_PAIN2,
    S_PLAY_DIE1, S_PLAY_DIE2, S_PLAY_DIE3, S_PLAY_DIE4, S_PLAY_DIE5,
    S_PLAY_DIE6, S_PLAY_DIE7,
    S_PLAY_XDIE1, S_PLAY_XDIE2, S_PLAY_XDIE3, S_PLAY_XDIE4,
    S_PLAY_XDIE5, S_PLAY_XDIE6, S_PLAY_XDIE7, S_PLAY_XDIE8,
    S_PLAY_XDIE9,
    S_POSS_STND, S_POSS_STND2, S_POSS_RUN1, S_POSS_RUN2, S_POSS_RUN3,
    S_POSS_RUN4, S_POSS_RUN5, S_POSS_RUN6, S_POSS_RUN7, S_POSS_RUN8,
    S_POSS_ATK1, S_POSS_ATK2, S_POSS_ATK3, S_POSS_PAIN, S_POSS_PAIN2,
    S_POSS_DIE1, S_POSS_DIE2, S_POSS_DIE3, S_POSS_DIE4, S_POSS_DIE5,
    S_POSS_XDIE1, S_POSS_XDIE2, S_POSS_XDIE3, S_POSS_XDIE4, S_POSS_XDIE5,
    S_POSS_XDIE6, S_POSS_XDIE7, S_POSS_XDIE8, S_POSS_XDIE9, S_POSS_RAISE1,
    S_POSS_RAISE2, S_POSS_RAISE3, S_POSS_RAISE4,
    S_SPOS_STND, S_SPOS_STND2, S_SPOS_RUN1, S_SPOS_RUN2, S_SPOS_RUN3,
    S_SPOS_RUN4, S_SPOS_RUN5, S_SPOS_RUN6, S_SPOS_RUN7, S_SPOS_RUN8,
    S_SPOS_ATK1, S_SPOS_ATK2, S_SPOS_ATK3, S_SPOS_PAIN, S_SPOS_PAIN2,
    S_SPOS_DIE1, S_SPOS_DIE2, S_SPOS_DIE3, S_SPOS_DIE4, S_SPOS_DIE5,
    S_SPOS_XDIE1, S_SPOS_XDIE2, S_SPOS_XDIE3, S_SPOS_XDIE4, S_SPOS_XDIE5,
    S_SPOS_XDIE6, S_SPOS_XDIE7, S_SPOS_XDIE8, S_SPOS_XDIE9, S_SPOS_RAISE1,
    S_SPOS_RAISE2, S_SPOS_RAISE3, S_SPOS_RAISE4, S_SPOS_RAISE5,
    S_VILE_STND, S_VILE_STND2, S_VILE_RUN1, S_VILE_RUN2, S_VILE_RUN3,
    S_VILE_RUN4, S_VILE_RUN5, S_VILE_RUN6, S_VILE_RUN7, S_VILE_RUN8,
    S_VILE_RUN9, S_VILE_RUN10, S_VILE_RUN11, S_VILE_RUN12, S_VILE_ATK1,
    S_VILE_ATK2, S_VILE_ATK3, S_VILE_ATK4, S_VILE_ATK5, S_VILE_ATK6,
    S_VILE_ATK7, S_VILE_ATK8, S_VILE_ATK9, S_VILE_ATK10, S_VILE_ATK11,
    S_VILE_HEAL1, S_VILE_HEAL2, S_VILE_HEAL3, S_VILE_PAIN, S_VILE_PAIN2,
    S_VILE_DIE1, S_VILE_DIE2, S_VILE_DIE3, S_VILE_DIE4, S_VILE_DIE5,
    S_VILE_DIE6, S_VILE_DIE7, S_VILE_DIE8, S_VILE_DIE9, S_VILE_DIE10,
    S_FIRE1, S_FIRE2, S_FIRE3, S_FIRE4, S_FIRE5, S_FIRE6, S_FIRE7,
    S_FIRE8, S_FIRE9, S_FIRE10, S_FIRE11, S_FIRE12, S_FIRE13, S_FIRE14,
    S_FIRE15, S_FIRE16, S_FIRE17, S_FIRE18, S_FIRE19, S_FIRE20, S_FIRE21,
    S_FIRE22, S_FIRE23, S_FIRE24, S_FIRE25, S_FIRE26, S_FIRE27,
    S_FIRE28, S_FIRE29, S_FIRE30,
    S_SMOKE1, S_SMOKE2, S_SMOKE3, S_SMOKE4, S_SMOKE5,
    S_TRACER, S_TRACER2, S_TRACEEXP1, S_TRACEEXP2, S_TRACEEXP3,
    S_SKEL_STND, S_SKEL_STND2, S_SKEL_RUN1, S_SKEL_RUN2, S_SKEL_RUN3,
    S_SKEL_RUN4, S_SKEL_RUN5, S_SKEL_RUN6, S_SKEL_RUN7, S_SKEL_RUN8,
    S_SKEL_RUN9, S_SKEL_RUN10, S_SKEL_RUN11, S_SKEL_RUN12, S_SKEL_FIST1,
    S_SKEL_FIST2, S_SKEL_FIST3, S_SKEL_FIST4, S_SKEL_MISS1, S_SKEL_MISS2,
    S_SKEL_MISS3, S_SKEL_MISS4, S_SKEL_PAIN, S_SKEL_PAIN2, S_SKEL_DIE1,
    S_SKEL_DIE2, S_SKEL_DIE3, S_SKEL_DIE4, S_SKEL_DIE5, S_SKEL_DIE6,
    S_SKEL_RAISE1, S_SKEL_RAISE2, S_SKEL_RAISE3, S_SKEL_RAISE4,
    S_SKEL_RAISE5, S_SKEL_RAISE6,
    S_FATSHOT1, S_FATSHOT2, S_FATSHOTX1, S_FATSHOTX2, S_FATSHOTX3,
    S_FATT_STND, S_FATT_STND2, S_FATT_RUN1, S_FATT_RUN2, S_FATT_RUN3,
    S_FATT_RUN4, S_FATT_RUN5, S_FATT_RUN6, S_FATT_RUN7, S_FATT_RUN8,
    S_FATT_RUN9, S_FATT_RUN10, S_FATT_RUN11, S_FATT_RUN12, S_FATT_ATK1,
    S_FATT_ATK2, S_FATT_ATK3, S_FATT_ATK4, S_FATT_ATK5, S_FATT_ATK6,
    S_FATT_ATK7, S_FATT_ATK8, S_FATT_ATK9, S_FATT_ATK10, S_FATT_PAIN,
    S_FATT_PAIN2, S_FATT_DIE1, S_FATT_DIE2, S_FATT_DIE3, S_FATT_DIE4,
    S_FATT_DIE5, S_FATT_DIE6, S_FATT_DIE7, S_FATT_DIE8, S_FATT_DIE9,
    S_FATT_DIE10, S_FATT_RAISE1, S_FATT_RAISE2, S_FATT_RAISE3, S_FATT_RAISE4,
    S_FATT_RAISE5, S_FATT_RAISE6, S_FATT_RAISE7, S_FATT_RAISE8,
    S_CPOS_STND, S_CPOS_STND2, S_CPOS_RUN1, S_CPOS_RUN2, S_CPOS_RUN3,
    S_CPOS_RUN4, S_CPOS_RUN5, S_CPOS_RUN6, S_CPOS_RUN7, S_CPOS_RUN8,
    S_CPOS_ATK1, S_CPOS_ATK2, S_CPOS_ATK3, S_CPOS_ATK4, S_CPOS_PAIN,
    S_CPOS_PAIN2, S_CPOS_DIE1, S_CPOS_DIE2, S_CPOS_DIE3, S_CPOS_DIE4,
    S_CPOS_DIE5, S_CPOS_DIE6, S_CPOS_DIE7, S_CPOS_XDIE1, S_CPOS_XDIE2,
    S_CPOS_XDIE3, S_CPOS_XDIE4, S_CPOS_XDIE5, S_CPOS_XDIE6, S_CPOS_RAISE1,
    S_CPOS_RAISE2, S_CPOS_RAISE3, S_CPOS_RAISE4, S_CPOS_RAISE5,
    S_CPOS_RAISE6, S_CPOS_RAISE7,
    S_TROO_STND, S_TROO_STND2, S_TROO_RUN1, S_TROO_RUN2, S_TROO_RUN3,
    S_TROO_RUN4, S_TROO_RUN5, S_TROO_RUN6, S_TROO_RUN7, S_TROO_RUN8,
    S_TROO_ATK1, S_TROO_ATK2, S_TROO_ATK3, S_TROO_PAIN, S_TROO_PAIN2,
    S_TROO_DIE1, S_TROO_DIE2, S_TROO_DIE3, S_TROO_DIE4, S_TROO_DIE5,
    S_TROO_XDIE1, S_TROO_XDIE2, S_TROO_XDIE3, S_TROO_XDIE4, S_TROO_XDIE5,
    S_TROO_XDIE6, S_TROO_XDIE7, S_TROO_XDIE8, S_TROO_RAISE1,
    S_TROO_RAISE2, S_TROO_RAISE3, S_TROO_RAISE4, S_TROO_RAISE5,
    S_SARG_STND, S_SARG_STND2, S_SARG_RUN1, S_SARG_RUN2, S_SARG_RUN3,
    S_SARG_RUN4, S_SARG_RUN5, S_SARG_RUN6, S_SARG_RUN7, S_SARG_RUN8,
    S_SARG_ATK1, S_SARG_ATK2, S_SARG_ATK3, S_SARG_PAIN, S_SARG_PAIN2,
    S_SARG_DIE1, S_SARG_DIE2, S_SARG_DIE3, S_SARG_DIE4, S_SARG_DIE5,
    S_SARG_DIE6, S_SARG_RAISE1, S_SARG_RAISE2, S_SARG_RAISE3,
    S_SARG_RAISE4, S_SARG_RAISE5, S_SARG_RAISE6,
    S_HEAD_STND, S_HEAD_RUN1, S_HEAD_ATK1, S_HEAD_ATK2, S_HEAD_ATK3,
    S_HEAD_PAIN, S_HEAD_PAIN2, S_HEAD_PAIN3, S_HEAD_DIE1, S_HEAD_DIE2,
    S_HEAD_DIE3, S_HEAD_DIE4, S_HEAD_DIE5, S_HEAD_DIE6, S_HEAD_RAISE1,
    S_HEAD_RAISE2, S_HEAD_RAISE3, S_HEAD_RAISE4, S_HEAD_RAISE5, S_HEAD_RAISE6,
    S_BRBALL1, S_BRBALL2, S_BRBALLX1, S_BRBALLX2, S_BRBALLX3,
    S_BOSS_STND, S_BOSS_STND2, S_BOSS_RUN1, S_BOSS_RUN2, S_BOSS_RUN3,
    S_BOSS_RUN4, S_BOSS_RUN5, S_BOSS_RUN6, S_BOSS_RUN7, S_BOSS_RUN8,
    S_BOSS_ATK1, S_BOSS_ATK2, S_BOSS_ATK3, S_BOSS_PAIN, S_BOSS_PAIN2,
    S_BOSS_DIE1, S_BOSS_DIE2, S_BOSS_DIE3, S_BOSS_DIE4, S_BOSS_DIE5,
    S_BOSS_DIE6, S_BOSS_DIE7, S_BOSS_RAISE1, S_BOSS_RAISE2, S_BOSS_RAISE3,
    S_BOSS_RAISE4, S_BOSS_RAISE5, S_BOSS_RAISE6, S_BOSS_RAISE7,
    S_BOS2_STND, S_BOS2_STND2, S_BOS2_RUN1, S_BOS2_RUN2, S_BOS2_RUN3,
    S_BOS2_RUN4, S_BOS2_RUN5, S_BOS2_RUN6, S_BOS2_RUN7, S_BOS2_RUN8,
    S_BOS2_ATK1, S_BOS2_ATK2, S_BOS2_ATK3, S_BOS2_PAIN, S_BOS2_PAIN2,
    S_BOS2_DIE1, S_BOS2_DIE2, S_BOS2_DIE3, S_BOS2_DIE4, S_BOS2_DIE5,
    S_BOS2_DIE6, S_BOS2_DIE7, S_BOS2_RAISE1, S_BOS2_RAISE2, S_BOS2_RAISE3,
    S_BOS2_RAISE4, S_BOS2_RAISE5, S_BOS2_RAISE6, S_BOS2_RAISE7,
    S_SKULL_STND, S_SKULL_STND2, S_SKULL_RUN1, S_SKULL_RUN2,
    S_SKULL_ATK1, S_SKULL_ATK2, S_SKULL_ATK3, S_SKULL_ATK4,
    S_SKULL_PAIN, S_SKULL_PAIN2, S_SKULL_DIE1, S_SKULL_DIE2,
    S_SKULL_DIE3, S_SKULL_DIE4, S_SKULL_DIE5, S_SKULL_DIE6,
    S_SPID_STND, S_SPID_STND2, S_SPID_RUN1, S_SPID_RUN2, S_SPID_RUN3,
    S_SPID_RUN4, S_SPID_RUN5, S_SPID_RUN6, S_SPID_RUN7, S_SPID_RUN8,
    S_SPID_RUN9, S_SPID_RUN10, S_SPID_RUN11, S_SPID_RUN12,
    S_SPID_ATK1, S_SPID_ATK2, S_SPID_ATK3, S_SPID_ATK4,
    S_SPID_PAIN, S_SPID_PAIN2, S_SPID_DIE1, S_SPID_DIE2, S_SPID_DIE3,
    S_SPID_DIE4, S_SPID_DIE5, S_SPID_DIE6, S_SPID_DIE7, S_SPID_DIE8,
    S_SPID_DIE9, S_SPID_DIE10, S_SPID_DIE11,
    S_BSPI_STND, S_BSPI_STND2, S_BSPI_SIGHT, S_BSPI_RUN1, S_BSPI_RUN2,
    S_BSPI_RUN3, S_BSPI_RUN4, S_BSPI_RUN5, S_BSPI_RUN6, S_BSPI_RUN7,
    S_BSPI_RUN8, S_BSPI_RUN9, S_BSPI_RUN10, S_BSPI_RUN11, S_BSPI_RUN12,
    S_BSPI_ATK1, S_BSPI_ATK2, S_BSPI_ATK3, S_BSPI_ATK4, S_BSPI_PAIN,
    S_BSPI_PAIN2, S_BSPI_DIE1, S_BSPI_DIE2, S_BSPI_DIE3, S_BSPI_DIE4,
    S_BSPI_DIE5, S_BSPI_DIE6, S_BSPI_DIE7, S_BSPI_RAISE1, S_BSPI_RAISE2,
    S_BSPI_RAISE3, S_BSPI_RAISE4, S_BSPI_RAISE5, S_BSPI_RAISE6, S_BSPI_RAISE7,
    S_ARACH_PLAZ, S_ARACH_PLAZ2, S_ARACH_PLEX, S_ARACH_PLEX2, S_ARACH_PLEX3,
    S_ARACH_PLEX4, S_ARACH_PLEX5,
    S_CYBER_STND, S_CYBER_STND2, S_CYBER_RUN1, S_CYBER_RUN2, S_CYBER_RUN3,
    S_CYBER_RUN4, S_CYBER_RUN5, S_CYBER_RUN6, S_CYBER_RUN7, S_CYBER_RUN8,
    S_CYBER_ATK1, S_CYBER_ATK2, S_CYBER_ATK3, S_CYBER_ATK4, S_CYBER_ATK5,
    S_CYBER_ATK6, S_CYBER_PAIN, S_CYBER_DIE1, S_CYBER_DIE2, S_CYBER_DIE3,
    S_CYBER_DIE4, S_CYBER_DIE5, S_CYBER_DIE6, S_CYBER_DIE7, S_CYBER_DIE8,
    S_CYBER_DIE9, S_CYBER_DIE10,
	S_PAIN_STND,
    S_PAIN_RUN1, S_PAIN_RUN2, S_PAIN_RUN3, S_PAIN_RUN4, S_PAIN_RUN5,
    S_PAIN_RUN6, S_PAIN_ATK1, S_PAIN_ATK2, S_PAIN_ATK3, S_PAIN_ATK4,
    S_PAIN_PAIN, S_PAIN_PAIN2, S_PAIN_DIE1, S_PAIN_DIE2, S_PAIN_DIE3,
    S_PAIN_DIE4, S_PAIN_DIE5, S_PAIN_DIE6, S_PAIN_RAISE1, S_PAIN_RAISE2,
    S_PAIN_RAISE3, S_PAIN_RAISE4, S_PAIN_RAISE5, S_PAIN_RAISE6,
    S_SSWV_STND, S_SSWV_STND2, S_SSWV_RUN1, S_SSWV_RUN2, S_SSWV_RUN3,
    S_SSWV_RUN4, S_SSWV_RUN5, S_SSWV_RUN6, S_SSWV_RUN7, S_SSWV_RUN8,
    S_SSWV_ATK1, S_SSWV_ATK2, S_SSWV_ATK3, S_SSWV_ATK4, S_SSWV_ATK5,
    S_SSWV_ATK6, S_SSWV_PAIN, S_SSWV_PAIN2, S_SSWV_DIE1, S_SSWV_DIE2,
    S_SSWV_DIE3, S_SSWV_DIE4, S_SSWV_DIE5, S_SSWV_XDIE1, S_SSWV_XDIE2,
    S_SSWV_XDIE3, S_SSWV_XDIE4, S_SSWV_XDIE5, S_SSWV_XDIE6, S_SSWV_XDIE7,
    S_SSWV_XDIE8, S_SSWV_XDIE9, S_SSWV_RAISE1, S_SSWV_RAISE2, S_SSWV_RAISE3,
    S_SSWV_RAISE4, S_SSWV_RAISE5,
    S_KEENSTND, S_COMMKEEN, S_COMMKEEN2, S_COMMKEEN3, S_COMMKEEN4,
    S_COMMKEEN5, S_COMMKEEN6, S_COMMKEEN7, S_COMMKEEN8, S_COMMKEEN9,
    S_COMMKEEN10, S_COMMKEEN11, S_COMMKEEN12, S_KEENPAIN, S_KEENPAIN2,
    S_BRAIN, S_BRAIN_PAIN, S_BRAIN_DIE1, S_BRAIN_DIE2, S_BRAIN_DIE3,
    S_BRAIN_DIE4, S_BRAINEYE, S_BRAINEYESEE, S_BRAINEYE1,
    S_SPAWN1, S_SPAWN2, S_SPAWN3, S_SPAWN4,
    S_SPAWNFIRE1, S_SPAWNFIRE2, S_SPAWNFIRE3, S_SPAWNFIRE4,
    S_SPAWNFIRE5, S_SPAWNFIRE6, S_SPAWNFIRE7, S_SPAWNFIRE8,
    S_BRAINEXPLODE1, S_BRAINEXPLODE2, S_BRAINEXPLODE3,
    S_ARM1, S_ARM1A, S_ARM2, S_ARM2A,
    S_BAR1, S_BAR2, S_BEXP, S_BEXP2, S_BEXP3,
    S_BEXP4, S_BEXP5, S_BBAR1, S_BBAR2, S_BBAR3,
    S_BON1, S_BON1A, S_BON1B, S_BON1C, S_BON1D, S_BON1E,
    S_BON2, S_BON2A, S_BON2B, S_BON2C, S_BON2D, S_BON2E,
    S_BKEY, S_BKEY2, S_RKEY, S_RKEY2, S_YKEY, S_YKEY2,
    S_BSKULL, S_BSKULL2, S_RSKULL, S_RSKULL2, S_YSKULL, S_YSKULL2,
    S_STIM, S_MEDI,
    S_SOUL, S_SOUL2, S_SOUL3, S_SOUL4, S_SOUL5, S_SOUL6,
    S_PINV, S_PINV2, S_PINV3, S_PINV4,
    S_PSTR,
    S_PINS, S_PINS2, S_PINS3, S_PINS4,
    S_MEGA, S_MEGA2, S_MEGA3, S_MEGA4,
    S_SUIT,
    S_PMAP, S_PMAP2, S_PMAP3, S_PMAP4, S_PMAP5, S_PMAP6,
    S_PVIS, S_PVIS2,
    S_CLIP, S_AMMO, S_ROCK, S_BROK,
    S_CELL, S_CELP, S_SHEL, S_SBOX,
    S_BPAK,
    S_BFUG, S_MGUN, S_CSAW, S_LAUN, S_PLAS, S_SHOT, S_SHOT2,
    S_COLU, S_STALAG,
    S_BLOODYTWITCH, S_BLOODYTWITCH2,
    S_BLOODYTWITCH3, S_BLOODYTWITCH4,
    S_DEADTORSO, S_DEADBOTTOM,
    S_HEADSONSTICK,
    S_GIBS,
    S_HEADONASTICK, S_HEADCANDLES, S_HEADCANDLES2, S_DEADSTICK,
    S_LIVESTICK, S_LIVESTICK2,
    S_MEAT2, S_MEAT3, S_MEAT4, S_MEAT5,
    S_STALAGTITE,
    S_TALLGRNCOL, S_SHRTGRNCOL, S_TALLREDCOL, S_SHRTREDCOL,
    S_CANDLESTIK, S_CANDELABRA, S_SKULLCOL,
    S_TORCHTREE, S_BIGTREE, S_TECHPILLAR,
    S_EVILEYE, S_EVILEYE2, S_EVILEYE3, S_EVILEYE4,
    S_FLOATSKULL, S_FLOATSKULL2, S_FLOATSKULL3,
    S_HEARTCOL, S_HEARTCOL2,
    S_BLUETORCH, S_BLUETORCH2, S_BLUETORCH3, S_BLUETORCH4,
    S_GREENTORCH, S_GREENTORCH2, S_GREENTORCH3, S_GREENTORCH4,
    S_REDTORCH, S_REDTORCH2, S_REDTORCH3, S_REDTORCH4,
    S_BTORCHSHRT, S_BTORCHSHRT2, S_BTORCHSHRT3, S_BTORCHSHRT4,
    S_GTORCHSHRT, S_GTORCHSHRT2, S_GTORCHSHRT3, S_GTORCHSHRT4,
    S_RTORCHSHRT, S_RTORCHSHRT2, S_RTORCHSHRT3, S_RTORCHSHRT4,
    S_HANGNOGUTS, S_HANGBNOBRAIN, S_HANGTLOOKDN,
    S_HANGTSKULL, S_HANGTLOOKUP, S_HANGTNOBRAIN,
    S_COLONGIBS, S_SMALLPOOL, S_BRAINSTEM,
    S_TECHLAMP, S_TECHLAMP2, S_TECHLAMP3, S_TECHLAMP4,
    S_TECH2LAMP, S_TECH2LAMP2, S_TECH2LAMP3, S_TECH2LAMP4,

    NUMSTATES,

	// BOOM and MBF states:
#define S_TNT1  NUMSTATES

	S_GRENADE, S_DETONATE, S_DETONATE2, S_DETONATE3,

	S_DOGS_STND, S_DOGS_STND2, S_DOGS_RUN1, S_DOGS_RUN2,
	S_DOGS_RUN3, S_DOGS_RUN4, S_DOGS_RUN5, S_DOGS_RUN6,
	S_DOGS_RUN7, S_DOGS_RUN8,
	S_DOGS_ATK1, S_DOGS_ATK2, S_DOGS_ATK3,
	S_DOGS_PAIN, S_DOGS_PAIN2,
	S_DOGS_DIE1, S_DOGS_DIE2, S_DOGS_DIE3, S_DOGS_DIE4,
	S_DOGS_DIE5, S_DOGS_DIE6,
	S_DOGS_RAISE1, S_DOGS_RAISE2, S_DOGS_RAISE3,
	S_DOGS_RAISE4, S_DOGS_RAISE5, S_DOGS_RAISE6,
                                                                                            
	S_MUSHROOM,

	NUMSTATES_BEX
}
statenum_t;

#define S_LAST_WEAPON_STATE  S_BFGFLASH2


typedef struct
{
	int  sprite;
	int  frame;
	int  tics;
	int  action;
	int  nextstate;
	int  misc1, misc2;
}
state_t;

extern state_t states[NUMSTATES_BEX];

typedef struct  // dynamic information
{
	char group;
	int gr_idx;
	int gr_next;  // next state in same group (incl. random-jumps)
}
statedyn_t;

extern bool state_modified[NUMSTATES_BEX];
extern statedyn_t state_dyn[NUMSTATES_BEX];

}  // Deh_Edge

#endif  /* __INFO_HDR__ */
