Skip to content
Snippets Groups Projects
Select Git revision
  • haiku_release_2.2.10
  • haiku_release
  • floorsprite-and-shadow-fake-planes-fix
  • slope-fog-fix
  • po2-32x32-fix
  • menu-edits
  • loopedsounds
  • udmf-linedef-executors
  • udmf-lighting
  • udmf-polyobjects
  • udmf-scrollers
  • udmf-plane-linedefs
  • udmf-fofs-mkii
  • remove-unused-function
  • dave-credits
  • taglists-bruh
  • let-mixed-declarations
  • next default protected
  • netxcmd-refactor
  • master
  • SRB2_release_2.2.9
  • SRB2_release_2.2.8
  • SRB2_release_2.2.7
  • SRB2_release_2.2.6
  • SRB2_release_2.2.5
  • SRB2_release_2.2.4
  • SRB2_release_2.2.3
  • SRB2_release_2.2.2
  • SRB2_release_2.2.1
  • SRB2_release_2.2.0
  • SRB2_release_2.1.25
  • SRB2_release_2.1.24
  • SRB2_release_2.1.23
  • SRB2_release_2.1.22
  • SRB2_release_2.1.21
  • SRB2_release_2.1.20
  • SRB2_release_2.1.19
  • SRB2_release_2.1.18
  • td-release-v1.0.0
  • SRB2_release_2.1.17
40 results

info.h

Blame
  • Forked from STJr / SRB2
    4292 commits behind the upstream repository.
    LJ Sonic's avatar
    LJ Sonic authored
    d325c7e6
    History
    info.h 92.38 KiB
    // SONIC ROBO BLAST 2
    //-----------------------------------------------------------------------------
    // Copyright (C) 1993-1996 by id Software, Inc.
    // Copyright (C) 1998-2000 by DooM Legacy Team.
    // Copyright (C) 1999-2021 by Sonic Team Junior.
    //
    // This program is free software distributed under the
    // terms of the GNU General Public License, version 2.
    // See the 'LICENSE' file for more details.
    //-----------------------------------------------------------------------------
    /// \file  info.h
    /// \brief Thing frame/state LUT
    
    #ifndef __INFO__
    #define __INFO__
    
    // Needed for action function pointer handling.
    #include "d_think.h"
    #include "sounds.h"
    #include "m_fixed.h"
    
    // deh_tables.c now has lists for the more named enums! PLEASE keep them up to date!
    // For great modding!!
    
    // IMPORTANT!
    // DO NOT FORGET TO SYNC THIS LIST WITH THE ACTIONPOINTERS ARRAY IN DEH_TABLES.C
    enum actionnum
    {
    	A_EXPLODE = 0,
    	A_PAIN,
    	A_FALL,
    	A_MONITORPOP,
    	A_GOLDMONITORPOP,
    	A_GOLDMONITORRESTORE,
    	A_GOLDMONITORSPARKLE,
    	A_LOOK,
    	A_CHASE,
    	A_FACESTABCHASE,
    	A_FACESTABREV,
    	A_FACESTABHURL,
    	A_FACESTABMISS,
    	A_STATUEBURST,
    	A_FACETARGET,
    	A_FACETRACER,
    	A_SCREAM,
    	A_BOSSDEATH,
    	A_CUSTOMPOWER,
    	A_GIVEWEAPON,
    	A_RINGBOX,
    	A_INVINCIBILITY,
    	A_SUPERSNEAKERS,
    	A_BUNNYHOP,
    	A_BUBBLESPAWN,
    	A_FANBUBBLESPAWN,
    	A_BUBBLERISE,
    	A_BUBBLECHECK,
    	A_AWARDSCORE,
    	A_EXTRALIFE,
    	A_GIVESHIELD,
    	A_GRAVITYBOX,
    	A_SCORERISE,
    	A_ATTRACTCHASE,
    	A_DROPMINE,
    	A_FISHJUMP,
    	A_THROWNRING,
    	A_SETSOLIDSTEAM,
    	A_UNSETSOLIDSTEAM,
    	A_SIGNSPIN,
    	A_SIGNPLAYER,
    	A_OVERLAYTHINK,
    	A_JETCHASE,
    	A_JETBTHINK,
    	A_JETGTHINK,
    	A_JETGSHOOT,
    	A_SHOOTBULLET,
    	A_MINUSDIGGING,
    	A_MINUSPOPUP,
    	A_MINUSCHECK,
    	A_CHICKENCHECK,
    	A_MOUSETHINK,
    	A_DETONCHASE,
    	A_CAPECHASE,
    	A_ROTATESPIKEBALL,
    	A_SLINGAPPEAR,
    	A_UNIDUSBALL,
    	A_ROCKSPAWN,
    	A_SETFUSE,
    	A_CRAWLACOMMANDERTHINK,
    	A_SMOKETRAILER,
    	A_RINGEXPLODE,
    	A_OLDRINGEXPLODE,
    	A_MIXUP,
    	A_RECYCLEPOWERS,
    	A_BOSS1CHASE,
    	A_FOCUSTARGET,
    	A_BOSS2CHASE,
    	A_BOSS2POGO,
    	A_BOSSZOOM,
    	A_BOSSSCREAM,
    	A_BOSS2TAKEDAMAGE,
    	A_BOSS7CHASE,
    	A_GOOPSPLAT,
    	A_BOSS2POGOSFX,
    	A_BOSS2POGOTARGET,
    	A_BOSSJETFUME,
    	A_EGGMANBOX,
    	A_TURRETFIRE,
    	A_SUPERTURRETFIRE,
    	A_TURRETSTOP,
    	A_JETJAWROAM,
    	A_JETJAWCHOMP,
    	A_POINTYTHINK,
    	A_CHECKBUDDY,
    	A_HOODFIRE,
    	A_HOODTHINK,
    	A_HOODFALL,
    	A_ARROWBONKS,
    	A_SNAILERTHINK,
    	A_SHARPCHASE,
    	A_SHARPSPIN,
    	A_SHARPDECEL,
    	A_CRUSHSTACEANWALK,
    	A_CRUSHSTACEANPUNCH,
    	A_CRUSHCLAWAIM,
    	A_CRUSHCLAWLAUNCH,
    	A_VULTUREVTOL,
    	A_VULTURECHECK,
    	A_VULTUREHOVER,
    	A_VULTUREBLAST,
    	A_VULTUREFLY,
    	A_SKIMCHASE,
    	A_1UPTHINKER,
    	A_SKULLATTACK,
    	A_LOBSHOT,
    	A_FIRESHOT,
    	A_SUPERFIRESHOT,
    	A_BOSSFIRESHOT,
    	A_BOSS7FIREMISSILES,
    	A_BOSS1LASER,
    	A_BOSS4REVERSE,
    	A_BOSS4SPEEDUP,
    	A_BOSS4RAISE,
    	A_SPARKFOLLOW,
    	A_BUZZFLY,
    	A_GUARDCHASE,
    	A_EGGSHIELD,
    	A_SETREACTIONTIME,
    	A_BOSS1SPIKEBALLS,
    	A_BOSS3TAKEDAMAGE,
    	A_BOSS3PATH,
    	A_BOSS3SHOCKTHINK,
    	A_LINEDEFEXECUTE,
    	A_PLAYSEESOUND,
    	A_PLAYATTACKSOUND,
    	A_PLAYACTIVESOUND,
    	A_SPAWNOBJECTABSOLUTE,
    	A_SPAWNOBJECTRELATIVE,
    	A_CHANGEANGLERELATIVE,
    	A_CHANGEANGLEABSOLUTE,
    	A_ROLLANGLE,
    	A_CHANGEROLLANGLERELATIVE,
    	A_CHANGEROLLANGLEABSOLUTE,
    	A_PLAYSOUND,
    	A_FINDTARGET,
    	A_FINDTRACER,
    	A_SETTICS,
    	A_SETRANDOMTICS,
    	A_CHANGECOLORRELATIVE,
    	A_CHANGECOLORABSOLUTE,
    	A_DYE,
    	A_MOVERELATIVE,
    	A_MOVEABSOLUTE,
    	A_THRUST,
    	A_ZTHRUST,
    	A_SETTARGETSTARGET,
    	A_SETOBJECTFLAGS,
    	A_SETOBJECTFLAGS2,
    	A_RANDOMSTATE,
    	A_RANDOMSTATERANGE,
    	A_DUALACTION,
    	A_REMOTEACTION,
    	A_TOGGLEFLAMEJET,
    	A_ORBITNIGHTS,
    	A_GHOSTME,
    	A_SETOBJECTSTATE,
    	A_SETOBJECTTYPESTATE,
    	A_KNOCKBACK,
    	A_PUSHAWAY,
    	A_RINGDRAIN,
    	A_SPLITSHOT,
    	A_MISSILESPLIT,
    	A_MULTISHOT,
    	A_INSTALOOP,
    	A_CUSTOM3DROTATE,
    	A_SEARCHFORPLAYERS,
    	A_CHECKRANDOM,
    	A_CHECKTARGETRINGS,
    	A_CHECKRINGS,
    	A_CHECKTOTALRINGS,
    	A_CHECKHEALTH,
    	A_CHECKRANGE,
    	A_CHECKHEIGHT,
    	A_CHECKTRUERANGE,
    	A_CHECKTHINGCOUNT,
    	A_CHECKAMBUSH,
    	A_CHECKCUSTOMVALUE,
    	A_CHECKCUSVALMEMO,
    	A_SETCUSTOMVALUE,
    	A_USECUSVALMEMO,
    	A_RELAYCUSTOMVALUE,
    	A_CUSVALACTION,
    	A_FORCESTOP,
    	A_FORCEWIN,
    	A_SPIKERETRACT,
    	A_INFOSTATE,
    	A_REPEAT,
    	A_SETSCALE,
    	A_REMOTEDAMAGE,
    	A_HOMINGCHASE,
    	A_TRAPSHOT,
    	A_VILETARGET,
    	A_VILEATTACK,
    	A_VILEFIRE,
    	A_BRAKCHASE,
    	A_BRAKFIRESHOT,
    	A_BRAKLOBSHOT,
    	A_NAPALMSCATTER,
    	A_SPAWNFRESHCOPY,
    	A_FLICKYSPAWN,
    	A_FLICKYCENTER,
    	A_FLICKYAIM,
    	A_FLICKYFLY,
    	A_FLICKYSOAR,
    	A_FLICKYCOAST,
    	A_FLICKYHOP,
    	A_FLICKYFLOUNDER,
    	A_FLICKYCHECK,
    	A_FLICKYHEIGHTCHECK,
    	A_FLICKYFLUTTER,
    	A_FLAMEPARTICLE,
    	A_FADEOVERLAY,
    	A_BOSS5JUMP,
    	A_LIGHTBEAMRESET,
    	A_MINEEXPLODE,
    	A_MINERANGE,
    	A_CONNECTTOGROUND,
    	A_SPAWNPARTICLERELATIVE,
    	A_MULTISHOTDIST,
    	A_WHOCARESIFYOURSONISABEE,
    	A_PARENTTRIESTOSLEEP,
    	A_CRYINGTOMOMMA,
    	A_CHECKFLAGS2,
    	A_BOSS5FINDWAYPOINT,
    	A_DONPCSKID,
    	A_DONPCPAIN,
    	A_PREPAREREPEAT,
    	A_BOSS5EXTRAREPEAT,
    	A_BOSS5CALM,
    	A_BOSS5CHECKONGROUND,
    	A_BOSS5CHECKFALLING,
    	A_BOSS5PINCHSHOT,
    	A_BOSS5MAKEITRAIN,
    	A_BOSS5MAKEJUNK,
    	A_LOOKFORBETTER,
    	A_BOSS5BOMBEXPLODE,
    	A_DUSTDEVILTHINK,
    	A_TNTEXPLODE,
    	A_DEBRISRANDOM,
    	A_TRAINCAMEO,
    	A_TRAINCAMEO2,
    	A_CANARIVOREGAS,
    	A_KILLSEGMENTS,
    	A_SNAPPERSPAWN,
    	A_SNAPPERTHINKER,
    	A_SALOONDOORSPAWN,
    	A_MINECARTSPARKTHINK,
    	A_MODULOTOSTATE,
    	A_LAVAFALLROCKS,
    	A_LAVAFALLLAVA,
    	A_FALLINGLAVACHECK,
    	A_FIRESHRINK,
    	A_SPAWNPTERABYTES,
    	A_PTERABYTEHOVER,
    	A_ROLLOUTSPAWN,
    	A_ROLLOUTROCK,
    	A_DRAGONBOMBERSPAWN,
    	A_DRAGONWING,
    	A_DRAGONSEGMENT,
    	A_CHANGEHEIGHT,
    	NUMACTIONS
    };
    
    // IMPORTANT NOTE: If you add/remove from this list of action
    // functions, don't forget to update them in deh_tables.c!
    void A_Explode();
    void A_Pain();
    void A_Fall();
    void A_MonitorPop();
    void A_GoldMonitorPop();
    void A_GoldMonitorRestore();
    void A_GoldMonitorSparkle();
    void A_Look();
    void A_Chase();
    void A_FaceStabChase();
    void A_FaceStabRev();
    void A_FaceStabHurl();
    void A_FaceStabMiss();
    void A_StatueBurst();
    void A_FaceTarget();
    void A_FaceTracer();
    void A_Scream();
    void A_BossDeath();
    void A_CustomPower(); // Use this for a custom power
    void A_GiveWeapon(); // Gives the player weapon(s)
    void A_RingBox(); // Obtained Ring Box Tails
    void A_Invincibility(); // Obtained Invincibility Box
    void A_SuperSneakers(); // Obtained Super Sneakers Box
    void A_BunnyHop(); // have bunny hop tails
    void A_BubbleSpawn(); // Randomly spawn bubbles
    void A_FanBubbleSpawn();
    void A_BubbleRise(); // Bubbles float to surface
    void A_BubbleCheck(); // Don't draw if not underwater
    void A_AwardScore();
    void A_ExtraLife(); // Extra Life
    void A_GiveShield(); // Obtained Shield
    void A_GravityBox();
    void A_ScoreRise(); // Rise the score logo
    void A_AttractChase(); // Ring Chase
    void A_DropMine(); // Drop Mine from Skim or Jetty-Syn Bomber
    void A_FishJump(); // Fish Jump
    void A_ThrownRing(); // Sparkle trail for red ring
    void A_SetSolidSteam();
    void A_UnsetSolidSteam();
    void A_SignSpin();
    void A_SignPlayer();
    void A_OverlayThink();
    void A_JetChase();
    void A_JetbThink(); // Jetty-Syn Bomber Thinker
    void A_JetgThink(); // Jetty-Syn Gunner Thinker
    void A_JetgShoot(); // Jetty-Syn Shoot Function
    void A_ShootBullet(); // JetgShoot without reactiontime setting
    void A_MinusDigging();
    void A_MinusPopup();
    void A_MinusCheck();
    void A_ChickenCheck();
    void A_MouseThink(); // Mouse Thinker
    void A_DetonChase(); // Deton Chaser
    void A_CapeChase(); // Fake little Super Sonic cape
    void A_RotateSpikeBall(); // Spike ball rotation
    void A_SlingAppear();
    void A_UnidusBall();
    void A_RockSpawn();
    void A_SetFuse();
    void A_CrawlaCommanderThink(); // Crawla Commander
    void A_SmokeTrailer();
    void A_RingExplode();
    void A_OldRingExplode();
    void A_MixUp();
    void A_RecyclePowers();
    void A_BossScream();
    void A_Boss2TakeDamage();
    void A_GoopSplat();
    void A_Boss2PogoSFX();
    void A_Boss2PogoTarget();
    void A_EggmanBox();
    void A_TurretFire();
    void A_SuperTurretFire();
    void A_TurretStop();
    void A_JetJawRoam();
    void A_JetJawChomp();
    void A_PointyThink();
    void A_CheckBuddy();
    void A_HoodFire();
    void A_HoodThink();
    void A_HoodFall();
    void A_ArrowBonks();
    void A_SnailerThink();
    void A_SharpChase();
    void A_SharpSpin();
    void A_SharpDecel();
    void A_CrushstaceanWalk();
    void A_CrushstaceanPunch();
    void A_CrushclawAim();
    void A_CrushclawLaunch();
    void A_VultureVtol();
    void A_VultureCheck();
    void A_VultureHover();
    void A_VultureBlast();
    void A_VultureFly();
    void A_SkimChase();
    void A_SkullAttack();
    void A_LobShot();
    void A_FireShot();
    void A_SuperFireShot();
    void A_BossFireShot();
    void A_Boss7FireMissiles();
    void A_Boss1Laser();
    void A_FocusTarget();
    void A_Boss4Reverse();
    void A_Boss4SpeedUp();
    void A_Boss4Raise();
    void A_SparkFollow();
    void A_BuzzFly();
    void A_GuardChase();
    void A_EggShield();
    void A_SetReactionTime();
    void A_Boss1Spikeballs();
    void A_Boss3TakeDamage();
    void A_Boss3Path();
    void A_Boss3ShockThink();
    void A_LinedefExecute();
    void A_PlaySeeSound();
    void A_PlayAttackSound();
    void A_PlayActiveSound();
    void A_1upThinker();
    void A_BossZoom(); //Unused
    void A_Boss1Chase();
    void A_Boss2Chase();
    void A_Boss2Pogo();
    void A_Boss7Chase();
    void A_BossJetFume();
    void A_SpawnObjectAbsolute();
    void A_SpawnObjectRelative();
    void A_ChangeAngleRelative();
    void A_ChangeAngleAbsolute();
    void A_RollAngle();
    void A_ChangeRollAngleRelative();
    void A_ChangeRollAngleAbsolute();
    void A_PlaySound();
    void A_FindTarget();
    void A_FindTracer();
    void A_SetTics();
    void A_SetRandomTics();
    void A_ChangeColorRelative();
    void A_ChangeColorAbsolute();
    void A_Dye();
    void A_MoveRelative();
    void A_MoveAbsolute();
    void A_Thrust();
    void A_ZThrust();
    void A_SetTargetsTarget();
    void A_SetObjectFlags();
    void A_SetObjectFlags2();
    void A_RandomState();
    void A_RandomStateRange();
    void A_DualAction();
    void A_RemoteAction();
    void A_ToggleFlameJet();
    void A_OrbitNights();
    void A_GhostMe();
    void A_SetObjectState();
    void A_SetObjectTypeState();
    void A_KnockBack();
    void A_PushAway();
    void A_RingDrain();
    void A_SplitShot();
    void A_MissileSplit();
    void A_MultiShot();
    void A_InstaLoop();
    void A_Custom3DRotate();
    void A_SearchForPlayers();
    void A_CheckRandom();
    void A_CheckTargetRings();
    void A_CheckRings();
    void A_CheckTotalRings();
    void A_CheckHealth();
    void A_CheckRange();
    void A_CheckHeight();
    void A_CheckTrueRange();
    void A_CheckThingCount();
    void A_CheckAmbush();
    void A_CheckCustomValue();
    void A_CheckCusValMemo();
    void A_SetCustomValue();
    void A_UseCusValMemo();
    void A_RelayCustomValue();
    void A_CusValAction();
    void A_ForceStop();
    void A_ForceWin();
    void A_SpikeRetract();
    void A_InfoState();
    void A_Repeat();
    void A_SetScale();
    void A_RemoteDamage();
    void A_HomingChase();
    void A_TrapShot();
    void A_VileTarget();
    void A_VileAttack();
    void A_VileFire();
    void A_BrakChase();
    void A_BrakFireShot();
    void A_BrakLobShot();
    void A_NapalmScatter();
    void A_SpawnFreshCopy();
    void A_FlickySpawn();
    void A_FlickyCenter();
    void A_FlickyAim();
    void A_FlickyFly();
    void A_FlickySoar();
    void A_FlickyCoast();
    void A_FlickyHop();
    void A_FlickyFlounder();
    void A_FlickyCheck();
    void A_FlickyHeightCheck();
    void A_FlickyFlutter();
    void A_FlameParticle();
    void A_FadeOverlay();
    void A_Boss5Jump();
    void A_LightBeamReset();
    void A_MineExplode();
    void A_MineRange();
    void A_ConnectToGround();
    void A_SpawnParticleRelative();
    void A_MultiShotDist();
    void A_WhoCaresIfYourSonIsABee();
    void A_ParentTriesToSleep();
    void A_CryingToMomma();
    void A_CheckFlags2();
    void A_Boss5FindWaypoint();
    void A_DoNPCSkid();
    void A_DoNPCPain();
    void A_PrepareRepeat();
    void A_Boss5ExtraRepeat();
    void A_Boss5Calm();
    void A_Boss5CheckOnGround();
    void A_Boss5CheckFalling();
    void A_Boss5PinchShot();
    void A_Boss5MakeItRain();
    void A_Boss5MakeJunk();
    void A_LookForBetter();
    void A_Boss5BombExplode();
    void A_DustDevilThink();
    void A_TNTExplode();
    void A_DebrisRandom();
    void A_TrainCameo();
    void A_TrainCameo2();
    void A_CanarivoreGas();
    void A_KillSegments();
    void A_SnapperSpawn();
    void A_SnapperThinker();
    void A_SaloonDoorSpawn();
    void A_MinecartSparkThink();
    void A_ModuloToState();
    void A_LavafallRocks();
    void A_LavafallLava();
    void A_FallingLavaCheck();
    void A_FireShrink();
    void A_SpawnPterabytes();
    void A_PterabyteHover();
    void A_RolloutSpawn();
    void A_RolloutRock();
    void A_DragonbomberSpawn();
    void A_DragonWing();
    void A_DragonSegment();
    void A_ChangeHeight();
    
    extern boolean actionsoverridden[NUMACTIONS];
    
    // ratio of states to sprites to mobj types is roughly 6 : 1 : 1
    #define NUMMOBJFREESLOTS 512
    #define NUMSPRITEFREESLOTS NUMMOBJFREESLOTS
    #define NUMSTATEFREESLOTS (NUMMOBJFREESLOTS*8)
    
    // Hey, moron! If you change this table, don't forget about sprnames in info.c and the sprite lights in hw_light.c!
    typedef enum sprite
    {
    	SPR_NULL, // invisible object
    	SPR_UNKN,
    
    	SPR_THOK, // Thok! mobj
    	SPR_PLAY,
    
    	// Enemies
    	SPR_POSS, // Crawla (Blue)
    	SPR_SPOS, // Crawla (Red)
    	SPR_FISH, // SDURF
    	SPR_BUZZ, // Buzz (Gold)
    	SPR_RBUZ, // Buzz (Red)
    	SPR_JETB, // Jetty-Syn Bomber
    	SPR_JETG, // Jetty-Syn Gunner
    	SPR_CCOM, // Crawla Commander
    	SPR_DETN, // Deton
    	SPR_SKIM, // Skim mine dropper
    	SPR_TRET, // Industrial Turret
    	SPR_TURR, // Pop-Up Turret
    	SPR_SHRP, // Sharp
    	SPR_CRAB, // Crushstacean
    	SPR_CR2B, // Banpyura
    	SPR_CSPR, // Banpyura spring
    	SPR_JJAW, // Jet Jaw
    	SPR_SNLR, // Snailer
    	SPR_VLTR, // BASH
    	SPR_PNTY, // Pointy
    	SPR_ARCH, // Robo-Hood
    	SPR_CBFS, // Castlebot Facestabber
    	SPR_STAB, // Castlebot Facestabber spear aura
    	SPR_SPSH, // Egg Guard
    	SPR_ESHI, // Egg Guard's shield
    	SPR_GSNP, // Green Snapper
    	SPR_GSNL, // Green Snapper leg
    	SPR_GSNH, // Green Snapper head
    	SPR_MNUS, // Minus
    	SPR_MNUD, // Minus dirt
    	SPR_SSHL, // Spring Shell
    	SPR_UNID, // Unidus
    	SPR_CANA, // Canarivore
    	SPR_CANG, // Canarivore gas
    	SPR_PYRE, // Pyre Fly
    	SPR_PTER, // Pterabyte
    	SPR_DRAB, // Dragonbomber
    
    	// Generic Boss Items
    	SPR_JETF, // Boss jet fumes
    
    	// Boss 1 (Greenflower)
    	SPR_EGGM, // Boss 1
    	SPR_EGLZ, // Boss 1 Junk
    
    	// Boss 2 (Techno Hill)
    	SPR_EGGN, // Boss 2
    	SPR_TANK, // Boss 2 Junk
    	SPR_GOOP, // Boss 2 Goop
    
    	// Boss 3 (Deep Sea)
    	SPR_EGGO, // Boss 3
    	SPR_SEBH, // Boss 3 Junk
    	SPR_FAKE, // Boss 3 Fakemobile
    	SPR_SHCK, // Boss 3 Shockwave
    
    	// Boss 4 (Castle Eggman)
    	SPR_EGGP,
    	SPR_EFIR, // Boss 4 jet flame
    	SPR_EGR1, // Boss 4 Spectator Eggrobo
    
    	// Boss 5 (Arid Canyon)
    	SPR_FANG, // replaces EGGQ
    	SPR_BRKN,
    	SPR_WHAT,
    	SPR_VWRE,
    	SPR_PROJ, // projector light
    	SPR_FBOM,
    	SPR_FSGN,
    	SPR_BARX, // bomb explosion (also used by barrel)
    	SPR_BARD, // bomb dust (also used by barrel)
    
    	// Boss 6 (Red Volcano)
    	SPR_EGGR,
    
    	// Boss 7 (Dark City)
    	SPR_BRAK,
    	SPR_BGOO, // Goop
    	SPR_BMSL,
    
    	// Boss 8 (Egg Rock)
    	SPR_EGGT,
    
    	// Cy-Brak-Demon; uses SPR_BRAK as well, but has some extras
    	SPR_RCKT, // Rockets!
    	SPR_ELEC, // Electricity!
    	SPR_TARG, // Targeting reticules!
    	SPR_NPLM, // Big napalm bombs!
    	SPR_MNPL, // Mini napalm bombs!
    
    	// Metal Sonic
    	SPR_METL,
    	SPR_MSCF,
    	SPR_MSCB,
    
    	// Collectible Items
    	SPR_RING,
    	SPR_TRNG, // Team Rings
    	SPR_TOKE, // Special Stage Token
    	SPR_RFLG, // Red CTF Flag
    	SPR_BFLG, // Blue CTF Flag
    	SPR_SPHR, // Sphere
    	SPR_NCHP, // NiGHTS chip
    	SPR_NSTR, // NiGHTS star
    	SPR_EMBM, // Emblem
    	SPR_CEMG, // Chaos Emeralds
    	SPR_SHRD, // Emerald Hunt
    
    	// Interactive Objects
    	SPR_BBLS, // water bubble source
    	SPR_SIGN, // Level end sign
    	SPR_SPIK, // Spike Ball
    	SPR_SFLM, // Spin fire
    	SPR_TFLM, // Spin fire (team)
    	SPR_USPK, // Floor spike
    	SPR_WSPK, // Wall spike
    	SPR_WSPB, // Wall spike base
    	SPR_STPT, // Starpost
    	SPR_BMNE, // Big floating mine
    	SPR_PUMI, // Rollout Rock
    
    	// Monitor Boxes
    	SPR_MSTV, // MiSc TV sprites
    	SPR_XLTV, // eXtra Large TV sprites
    
    	SPR_TRRI, // Red team:  10 RIngs
    	SPR_TBRI, // Blue team: 10 RIngs
    
    	SPR_TVRI, // 10 RIng
    	SPR_TVPI, // PIty shield
    	SPR_TVAT, // ATtraction shield
    	SPR_TVFO, // FOrce shield
    	SPR_TVAR, // ARmageddon shield
    	SPR_TVWW, // WhirlWind shield
    	SPR_TVEL, // ELemental shield
    	SPR_TVSS, // Super Sneakers
    	SPR_TVIV, // InVincibility
    	SPR_TV1U, // 1Up
    	SPR_TV1P, // 1uP (textless)
    	SPR_TVEG, // EGgman
    	SPR_TVMX, // MiXup
    	SPR_TVMY, // MYstery
    	SPR_TVGV, // GraVity boots
    	SPR_TVRC, // ReCycler
    	SPR_TV1K, // 1,000 points  (1 K)
    	SPR_TVTK, // 10,000 points (Ten K)
    	SPR_TVFL, // FLame shield
    	SPR_TVBB, // BuBble shield
    	SPR_TVZP, // Thunder shield (ZaP)
    
    	// Projectiles
    	SPR_MISL,
    	SPR_LASR, // GFZ3 laser
    	SPR_LASF, // GFZ3 laser flames
    	SPR_TORP, // Torpedo
    	SPR_ENRG, // Energy ball
    	SPR_MINE, // Skim mine
    	SPR_JBUL, // Jetty-Syn Bullet
    	SPR_TRLS,
    	SPR_CBLL, // Cannonball
    	SPR_AROW, // Arrow
    	SPR_CFIR, // Colored fire of various sorts
    
    	// The letter
    	SPR_LETR,
    
    	// Greenflower Scenery
    	SPR_FWR1,
    	SPR_FWR2, // GFZ Sunflower
    	SPR_FWR3, // GFZ budding flower
    	SPR_FWR4,
    	SPR_BUS1, // GFZ Bush w/ berries
    	SPR_BUS2, // GFZ Bush w/o berries
    	SPR_BUS3, // GFZ Bush w/ BLUE berries
    	// Trees (both GFZ and misc)
    	SPR_TRE1, // GFZ
    	SPR_TRE2, // Checker
    	SPR_TRE3, // Frozen Hillside
    	SPR_TRE4, // Polygon
    	SPR_TRE5, // Bush tree
    	SPR_TRE6, // Spring tree
    
    	// Techno Hill Scenery
    	SPR_THZP, // THZ1 Steam Flower
    	SPR_FWR5, // THZ1 Spin flower (red)
    	SPR_FWR6, // THZ1 Spin flower (yellow)
    	SPR_THZT, // Steam Whistle tree/bush
    	SPR_ALRM, // THZ2 Alarm
    
    	// Deep Sea Scenery
    	SPR_GARG, // Deep Sea Gargoyle
    	SPR_SEWE, // Deep Sea Seaweed
    	SPR_DRIP, // Dripping water
    	SPR_CORL, // Coral
    	SPR_BCRY, // Blue Crystal
    	SPR_KELP, // Kelp
    	SPR_ALGA, // Animated algae top
    	SPR_ALGB, // Animated algae segment
    	SPR_DSTG, // DSZ Stalagmites
    	SPR_LIBE, // DSZ Light beam
    
    	// Castle Eggman Scenery
    	SPR_CHAN, // CEZ Chain
    	SPR_FLAM, // Flame
    	SPR_ESTA, // Eggman esta una estatua!
    	SPR_SMCH, // Small Mace Chain
    	SPR_BMCH, // Big Mace Chain
    	SPR_SMCE, // Small Mace
    	SPR_BMCE, // Big Mace
    	SPR_YSPB, // Yellow spring on a ball
    	SPR_RSPB, // Red spring on a ball
    	SPR_SFBR, // Small Firebar
    	SPR_BFBR, // Big Firebar
    	SPR_BANR, // Banner/pole
    	SPR_PINE, // Pine Tree
    	SPR_CEZB, // Bush
    	SPR_CNDL, // Candle/pricket
    	SPR_FLMH, // Flame holder
    	SPR_CTRC, // Fire torch
    	SPR_CFLG, // Waving flag/segment
    	SPR_CSTA, // Crawla statue
    	SPR_CBBS, // Facestabber statue
    	SPR_CABR, // Brambles
    
    	// Arid Canyon Scenery
    	SPR_BTBL, // Big tumbleweed
    	SPR_STBL, // Small tumbleweed
    	SPR_CACT, // Cacti
    	SPR_WWSG, // Caution Sign
    	SPR_WWS2, // Cacti Sign
    	SPR_WWS3, // Sharp Turn Sign
    	SPR_OILL, // Oil lamp
    	SPR_OILF, // Oil lamp flare
    	SPR_BARR, // TNT barrel
    	SPR_REMT, // TNT proximity shell
    	SPR_TAZD, // Dust devil
    	SPR_ADST, // Arid dust
    	SPR_MCRT, // Minecart
    	SPR_MCSP, // Minecart spark
    	SPR_SALD, // Saloon door
    	SPR_TRAE, // Train cameo locomotive
    	SPR_TRAI, // Train cameo wagon
    	SPR_STEA, // Train steam
    
    	// Red Volcano Scenery
    	SPR_FLME, // Flame jet
    	SPR_DFLM, // Blade's flame
    	SPR_LFAL, // Lavafall
    	SPR_JPLA, // Jungle palm
    	SPR_TFLO, // Torch flower
    	SPR_WVIN, // Wall vines
    
    	// Dark City Scenery
    
    	// Egg Rock Scenery
    
    	// Christmas Scenery
    	SPR_XMS1, // Christmas Pole
    	SPR_XMS2, // Candy Cane
    	SPR_XMS3, // Snowman
    	SPR_XMS4, // Lamppost
    	SPR_XMS5, // Hanging Star
    	SPR_XMS6, // Mistletoe
    	SPR_FHZI, // FHZ Ice
    	SPR_ROSY,
    
    	// Halloween Scenery
    	SPR_PUMK, // Pumpkins
    	SPR_HHPL, // Dr Seuss Trees
    	SPR_SHRM, // Mushroom
    	SPR_HHZM, // Misc
    
    	// Azure Temple Scenery
    	SPR_BGAR, // ATZ Gargoyles
    	SPR_RCRY, // ATZ Red Crystal (Target)
    	SPR_CFLM, // Green torch flame
    
    	// Botanic Serenity Scenery
    	SPR_BSZ1, // Tall flowers
    	SPR_BSZ2, // Medium flowers
    	SPR_BSZ3, // Small flowers
    	//SPR_BSZ4, -- Tulips
    	SPR_BST1, // Red tulip
    	SPR_BST2, // Purple tulip
    	SPR_BST3, // Blue tulip
    	SPR_BST4, // Cyan tulip
    	SPR_BST5, // Yellow tulip
    	SPR_BST6, // Orange tulip
    	SPR_BSZ5, // Cluster of Tulips
    	SPR_BSZ6, // Bush
    	SPR_BSZ7, // Vine
    	SPR_BSZ8, // Misc things
    
    	// Misc Scenery
    	SPR_STLG, // Stalagmites
    	SPR_DBAL, // Disco
    
    	// Powerup Indicators
    	SPR_ARMA, // Armageddon Shield Orb
    	SPR_ARMF, // Armageddon Shield Ring, Front
    	SPR_ARMB, // Armageddon Shield Ring, Back
    	SPR_WIND, // Whirlwind Shield Orb
    	SPR_MAGN, // Attract Shield Orb
    	SPR_ELEM, // Elemental Shield Orb
    	SPR_FORC, // Force Shield Orb
    	SPR_PITY, // Pity Shield Orb
    	SPR_FIRS, // Flame Shield Orb
    	SPR_BUBS, // Bubble Shield Orb
    	SPR_ZAPS, // Thunder Shield Orb
    	SPR_IVSP, // invincibility sparkles
    	SPR_SSPK, // Super Sonic Spark
    
    	SPR_GOAL, // Special Stage goal (here because lol NiGHTS)
    
    	// Flickies
    	SPR_FBUB, // Flicky-sized bubble
    	SPR_FL01, // Bluebird
    	SPR_FL02, // Rabbit
    	SPR_FL03, // Chicken
    	SPR_FL04, // Seal
    	SPR_FL05, // Pig
    	SPR_FL06, // Chipmunk
    	SPR_FL07, // Penguin
    	SPR_FL08, // Fish
    	SPR_FL09, // Ram
    	SPR_FL10, // Puffin
    	SPR_FL11, // Cow
    	SPR_FL12, // Rat
    	SPR_FL13, // Bear
    	SPR_FL14, // Dove
    	SPR_FL15, // Cat
    	SPR_FL16, // Canary
    	SPR_FS01, // Spider
    	SPR_FS02, // Bat
    
    	// Springs
    	SPR_FANS, // Fan
    	SPR_STEM, // Steam riser
    	SPR_BUMP, // Bumpers
    	SPR_BLON, // Balloons
    	SPR_SPRY, // Yellow spring
    	SPR_SPRR, // Red spring
    	SPR_SPRB, // Blue spring
    	SPR_YSPR, // Yellow Diagonal Spring
    	SPR_RSPR, // Red Diagonal Spring
    	SPR_BSPR, // Blue Diagonal Spring
    	SPR_SSWY, // Yellow Side Spring
    	SPR_SSWR, // Red Side Spring
    	SPR_SSWB, // Blue Side Spring
    	SPR_BSTY, // Yellow Booster
    	SPR_BSTR, // Red Booster
    
    	// Environmental Effects
    	SPR_RAIN, // Rain
    	SPR_SNO1, // Snowflake
    	SPR_SPLH, // Water Splish
    	SPR_LSPL, // Lava Splish
    	SPR_SPLA, // Water Splash
    	SPR_SMOK,
    	SPR_BUBL, // Bubble
    	SPR_WZAP,
    	SPR_DUST, // Spindash dust
    	SPR_FPRT, // Spindash dust (flame)
    	SPR_TFOG, // Teleport Fog
    	SPR_SEED, // Sonic CD flower seed
    	SPR_PRTL, // Particle (for fans, etc.)
    
    	// Game Indicators
    	SPR_SCOR, // Score logo
    	SPR_DRWN, // Drowning Timer
    	SPR_FLII, // AI flight indicator
    	SPR_LCKN, // Target
    	SPR_TTAG, // Tag Sign
    	SPR_GFLG, // Got Flag sign
    	SPR_FNSF, // Finish flag
    
    	SPR_CORK,
    	SPR_LHRT,
    
    	// Ring Weapons
    	SPR_RRNG, // Red Ring
    	SPR_RNGB, // Bounce Ring
    	SPR_RNGR, // Rail Ring
    	SPR_RNGI, // Infinity Ring
    	SPR_RNGA, // Automatic Ring
    	SPR_RNGE, // Explosion Ring
    	SPR_RNGS, // Scatter Ring
    	SPR_RNGG, // Grenade Ring
    
    	SPR_PIKB, // Bounce Ring Pickup
    	SPR_PIKR, // Rail Ring Pickup
    	SPR_PIKA, // Automatic Ring Pickup
    	SPR_PIKE, // Explosion Ring Pickup
    	SPR_PIKS, // Scatter Ring Pickup
    	SPR_PIKG, // Grenade Ring Pickup
    
    	SPR_TAUT, // Thrown Automatic Ring
    	SPR_TGRE, // Thrown Grenade Ring
    	SPR_TSCR, // Thrown Scatter Ring
    
    	// Mario-specific stuff
    	SPR_COIN,
    	SPR_CPRK,
    	SPR_GOOM,
    	SPR_BGOM,
    	SPR_FFWR,
    	SPR_FBLL,
    	SPR_SHLL,
    	SPR_PUMA,
    	SPR_HAMM,
    	SPR_KOOP,
    	SPR_BFLM,
    	SPR_MAXE,
    	SPR_MUS1,
    	SPR_MUS2,
    	SPR_TOAD,
    
    	// NiGHTS Stuff
    	SPR_NDRN, // NiGHTS drone
    	SPR_NSPK, // NiGHTS sparkle
    	SPR_NBMP, // NiGHTS Bumper
    	SPR_HOOP, // NiGHTS hoop sprite
    	SPR_NSCR, // NiGHTS score sprite
    	SPR_NPRU, // Nights Powerups
    	SPR_CAPS, // Capsule thingy for NiGHTS
    	SPR_IDYA, // Ideya
    	SPR_NTPN, // Nightopian
    	SPR_SHLP, // Shleep
    
    	// Secret badniks and hazards, shhhh
    	SPR_PENG,
    	SPR_POPH,
    	SPR_HIVE,
    	SPR_BUMB,
    	SPR_BBUZ,
    	SPR_FMCE,
    	SPR_HMCE,
    	SPR_CACO,
    	SPR_BAL2,
    	SPR_SBOB,
    	SPR_SBFL,
    	SPR_SBSK,
    	SPR_HBAT,
    
    	// Debris
    	SPR_SPRK, // Sparkle
    	SPR_BOM1, // Robot Explosion
    	SPR_BOM2, // Boss Explosion 1
    	SPR_BOM3, // Boss Explosion 2
    	SPR_BOM4, // Underwater Explosion
    	SPR_BMNB, // Mine Explosion
    
    	// Crumbly rocks
    	SPR_ROIA,
    	SPR_ROIB,
    	SPR_ROIC,
    	SPR_ROID,
    	SPR_ROIE,
    	SPR_ROIF,
    	SPR_ROIG,
    	SPR_ROIH,
    	SPR_ROII,
    	SPR_ROIJ,
    	SPR_ROIK,
    	SPR_ROIL,
    	SPR_ROIM,
    	SPR_ROIN,
    	SPR_ROIO,
    	SPR_ROIP,
    
    	// Level debris
    	SPR_GFZD, // GFZ debris
    	SPR_BRIC, // Bricks
    	SPR_WDDB, // Wood Debris
    	SPR_BRIR, // CEZ3 colored bricks
    	SPR_BRIB,
    	SPR_BRIY,
    
    	// Gravity Well Objects
    	SPR_GWLG,
    	SPR_GWLR,
    
    	SPR_FIRSTFREESLOT,
    	SPR_LASTFREESLOT = SPR_FIRSTFREESLOT + NUMSPRITEFREESLOTS - 1,
    	NUMSPRITES
    } spritenum_t;
    
    // Make sure to be conscious of FF_FRAMEMASK and the fact sprite2 is stored as a UINT8 whenever you change this table.
    // Currently, FF_FRAMEMASK is 0xff, or 255 - but the second half is used by FF_SPR2SUPER, so the limitation is 0x7f.
    // Since this is zero-based, there can be at most 128 different SPR2_'s without changing that.
    typedef enum playersprite
    {
    	SPR2_STND = 0,
    	SPR2_WAIT,
    	SPR2_WALK,
    	SPR2_SKID,
    	SPR2_RUN ,
    	SPR2_DASH,
    	SPR2_PAIN,
    	SPR2_STUN,
    	SPR2_DEAD,
    	SPR2_DRWN, // drown
    	SPR2_ROLL,
    	SPR2_GASP,
    	SPR2_JUMP,
    	SPR2_SPNG, // spring
    	SPR2_FALL,
    	SPR2_EDGE,
    	SPR2_RIDE,
    
    	SPR2_SPIN, // spindash
    
    	SPR2_FLY ,
    	SPR2_SWIM,
    	SPR2_TIRE, // tired
    
    	SPR2_GLID, // glide
    	SPR2_LAND, // landing after glide/bounce
    	SPR2_CLNG, // cling
    	SPR2_CLMB, // climb
    
    	SPR2_FLT , // float
    	SPR2_FRUN, // float run
    
    	SPR2_BNCE, // bounce
    
    	SPR2_FIRE, // fire
    
    	SPR2_TWIN, // twinspin
    
    	SPR2_MLEE, // melee
    	SPR2_MLEL, // melee land
    
    	SPR2_TRNS, // transformation
    
    	SPR2_NSTD, // NiGHTS stand
    	SPR2_NFLT, // NiGHTS float
    	SPR2_NFLY, // NiGHTS fly
    	SPR2_NDRL, // NiGHTS drill
    	SPR2_NSTN, // NiGHTS stun
    	SPR2_NPUL, // NiGHTS pull
    	SPR2_NATK, // NiGHTS attack
    
    	// c:
    	SPR2_TAL0,
    	SPR2_TAL1,
    	SPR2_TAL2,
    	SPR2_TAL3,
    	SPR2_TAL4,
    	SPR2_TAL5,
    	SPR2_TAL6,
    	SPR2_TAL7,
    	SPR2_TAL8,
    	SPR2_TAL9,
    	SPR2_TALA,
    	SPR2_TALB,
    	SPR2_TALC,
    
    	SPR2_CNT1, // continue disappointment
    	SPR2_CNT2, // continue lift
    	SPR2_CNT3, // continue spin
    	SPR2_CNT4, // continue "soooooooniiic!" tugging
    
    	SPR2_SIGN, // end sign head
    	SPR2_LIFE, // life monitor icon
    
    	SPR2_XTRA, // stuff that isn't in-map - "would this ever need an md2 or variable length animation?"
    
    	SPR2_FIRSTFREESLOT,
    	SPR2_LASTFREESLOT = 0x7f,
    	NUMPLAYERSPRITES
    } playersprite_t;
    
    // SPR2_XTRA
    #define XTRA_LIFEPIC    0                 // Life icon patch
    #define XTRA_CHARSEL    1                 // Character select picture
    #define XTRA_CONTINUE   2                 // Continue icon
    #define XTRA_ENDING     3                 // Ending finale patches
    
    typedef enum state
    {
    	S_NULL,
    	S_UNKNOWN,
    	S_INVISIBLE, // state for invisible sprite
    
    	S_SPAWNSTATE,
    	S_SEESTATE,
    	S_MELEESTATE,
    	S_MISSILESTATE,
    	S_DEATHSTATE,
    	S_XDEATHSTATE,
    	S_RAISESTATE,
    
    	// Thok
    	S_THOK,
    
    	// Player
    	S_PLAY_STND,
    	S_PLAY_WAIT,
    	S_PLAY_WALK,
    	S_PLAY_SKID,
    	S_PLAY_RUN,
    	S_PLAY_DASH,
    	S_PLAY_PAIN,
    	S_PLAY_STUN,
    	S_PLAY_DEAD,
    	S_PLAY_DRWN,
    	S_PLAY_ROLL,
    	S_PLAY_GASP,
    	S_PLAY_JUMP,
    	S_PLAY_SPRING,
    	S_PLAY_FALL,
    	S_PLAY_EDGE,
    	S_PLAY_RIDE,
    
    	// CA2_SPINDASH
    	S_PLAY_SPINDASH,
    
    	// CA_FLY/SWIM
    	S_PLAY_FLY,
    	S_PLAY_SWIM,
    	S_PLAY_FLY_TIRED,
    
    	// CA_GLIDEANDCLIMB
    	S_PLAY_GLIDE,
    	S_PLAY_GLIDE_LANDING,
    	S_PLAY_CLING,
    	S_PLAY_CLIMB,
    
    	// CA_FLOAT/CA_SLOWFALL
    	S_PLAY_FLOAT,
    	S_PLAY_FLOAT_RUN,
    
    	// CA_BOUNCE
    	S_PLAY_BOUNCE,
    	S_PLAY_BOUNCE_LANDING,
    
    	// CA2_GUNSLINGER
    	S_PLAY_FIRE,
    	S_PLAY_FIRE_FINISH,
    
    	// CA_TWINSPIN
    	S_PLAY_TWINSPIN,
    
    	// CA2_MELEE
    	S_PLAY_MELEE,
    	S_PLAY_MELEE_FINISH,
    	S_PLAY_MELEE_LANDING,
    
    	// SF_SUPER
    	S_PLAY_SUPER_TRANS1,
    	S_PLAY_SUPER_TRANS2,
    	S_PLAY_SUPER_TRANS3,
    	S_PLAY_SUPER_TRANS4,
    	S_PLAY_SUPER_TRANS5,
    	S_PLAY_SUPER_TRANS6,
    
    	// technically the player goes here but it's an infinite tic state
    	S_OBJPLACE_DUMMY,
    
    	// 1-Up Box Sprites overlay (uses player sprite)
    	S_PLAY_BOX1,
    	S_PLAY_BOX2,
    	S_PLAY_ICON1,
    	S_PLAY_ICON2,
    	S_PLAY_ICON3,
    
    	// Level end sign overlay (uses player sprite)
    	S_PLAY_SIGN,
    
    	// NiGHTS character (uses player sprite)
    	S_PLAY_NIGHTS_TRANS1,
    	S_PLAY_NIGHTS_TRANS2,
    	S_PLAY_NIGHTS_TRANS3,
    	S_PLAY_NIGHTS_TRANS4,
    	S_PLAY_NIGHTS_TRANS5,
    	S_PLAY_NIGHTS_TRANS6,
    	S_PLAY_NIGHTS_STAND,
    	S_PLAY_NIGHTS_FLOAT,
    	S_PLAY_NIGHTS_FLY,
    	S_PLAY_NIGHTS_DRILL,
    	S_PLAY_NIGHTS_STUN,
    	S_PLAY_NIGHTS_PULL,
    	S_PLAY_NIGHTS_ATTACK,
    
    	// c:
    	S_TAILSOVERLAY_STAND,
    	S_TAILSOVERLAY_0DEGREES,
    	S_TAILSOVERLAY_PLUS30DEGREES,
    	S_TAILSOVERLAY_PLUS60DEGREES,
    	S_TAILSOVERLAY_MINUS30DEGREES,
    	S_TAILSOVERLAY_MINUS60DEGREES,
    	S_TAILSOVERLAY_RUN,
    	S_TAILSOVERLAY_FLY,
    	S_TAILSOVERLAY_TIRE,
    	S_TAILSOVERLAY_PAIN,
    	S_TAILSOVERLAY_GASP,
    	S_TAILSOVERLAY_EDGE,
    	S_TAILSOVERLAY_DASH,
    
    	// [:
    	S_JETFUMEFLASH,
    
    	// Blue Crawla
    	S_POSS_STND,
    	S_POSS_RUN1,
    	S_POSS_RUN2,
    	S_POSS_RUN3,
    	S_POSS_RUN4,
    	S_POSS_RUN5,
    	S_POSS_RUN6,
    
    	// Red Crawla
    	S_SPOS_STND,
    	S_SPOS_RUN1,
    	S_SPOS_RUN2,
    	S_SPOS_RUN3,
    	S_SPOS_RUN4,
    	S_SPOS_RUN5,
    	S_SPOS_RUN6,
    
    	// Greenflower Fish
    	S_FISH1,
    	S_FISH2,
    	S_FISH3,
    	S_FISH4,
    
    	// Buzz (Gold)
    	S_BUZZLOOK1,
    	S_BUZZLOOK2,
    	S_BUZZFLY1,
    	S_BUZZFLY2,
    
    	// Buzz (Red)
    	S_RBUZZLOOK1,
    	S_RBUZZLOOK2,
    	S_RBUZZFLY1,
    	S_RBUZZFLY2,
    
    	// Jetty-Syn Bomber
    	S_JETBLOOK1,
    	S_JETBLOOK2,
    	S_JETBZOOM1,
    	S_JETBZOOM2,
    
    	// Jetty-Syn Gunner
    	S_JETGLOOK1,
    	S_JETGLOOK2,
    	S_JETGZOOM1,
    	S_JETGZOOM2,
    	S_JETGSHOOT1,
    	S_JETGSHOOT2,
    
    	// Crawla Commander
    	S_CCOMMAND1,
    	S_CCOMMAND2,
    	S_CCOMMAND3,
    	S_CCOMMAND4,
    
    	// Deton
    	S_DETON1,
    	S_DETON2,
    	S_DETON3,
    	S_DETON4,
    	S_DETON5,
    	S_DETON6,
    	S_DETON7,
    	S_DETON8,
    	S_DETON9,
    	S_DETON10,
    	S_DETON11,
    	S_DETON12,
    	S_DETON13,
    	S_DETON14,
    	S_DETON15,
    
    	// Skim Mine Dropper
    	S_SKIM1,
    	S_SKIM2,
    	S_SKIM3,
    	S_SKIM4,
    
    	// THZ Turret
    	S_TURRET,
    	S_TURRETFIRE,
    	S_TURRETSHOCK1,
    	S_TURRETSHOCK2,
    	S_TURRETSHOCK3,
    	S_TURRETSHOCK4,
    	S_TURRETSHOCK5,
    	S_TURRETSHOCK6,
    	S_TURRETSHOCK7,
    	S_TURRETSHOCK8,
    	S_TURRETSHOCK9,
    
    	// Popup Turret
    	S_TURRETLOOK,
    	S_TURRETSEE,
    	S_TURRETPOPUP1,
    	S_TURRETPOPUP2,
    	S_TURRETPOPUP3,
    	S_TURRETPOPUP4,
    	S_TURRETPOPUP5,
    	S_TURRETPOPUP6,
    	S_TURRETPOPUP7,
    	S_TURRETPOPUP8,
    	S_TURRETSHOOT,
    	S_TURRETPOPDOWN1,
    	S_TURRETPOPDOWN2,
    	S_TURRETPOPDOWN3,
    	S_TURRETPOPDOWN4,
    	S_TURRETPOPDOWN5,
    	S_TURRETPOPDOWN6,
    	S_TURRETPOPDOWN7,
    	S_TURRETPOPDOWN8,
    
    	// Spincushion
    	S_SPINCUSHION_LOOK,
    	S_SPINCUSHION_CHASE1,
    	S_SPINCUSHION_CHASE2,
    	S_SPINCUSHION_CHASE3,
    	S_SPINCUSHION_CHASE4,
    	S_SPINCUSHION_AIM1,
    	S_SPINCUSHION_AIM2,
    	S_SPINCUSHION_AIM3,
    	S_SPINCUSHION_AIM4,
    	S_SPINCUSHION_AIM5,
    	S_SPINCUSHION_SPIN1,
    	S_SPINCUSHION_SPIN2,
    	S_SPINCUSHION_SPIN3,
    	S_SPINCUSHION_SPIN4,
    	S_SPINCUSHION_STOP1,
    	S_SPINCUSHION_STOP2,
    	S_SPINCUSHION_STOP3,
    	S_SPINCUSHION_STOP4,
    
    	// Crushstacean
    	S_CRUSHSTACEAN_ROAM1,
    	S_CRUSHSTACEAN_ROAM2,
    	S_CRUSHSTACEAN_ROAM3,
    	S_CRUSHSTACEAN_ROAM4,
    	S_CRUSHSTACEAN_ROAMPAUSE,
    	S_CRUSHSTACEAN_PUNCH1,
    	S_CRUSHSTACEAN_PUNCH2,
    	S_CRUSHCLAW_AIM,
    	S_CRUSHCLAW_OUT,
    	S_CRUSHCLAW_STAY,
    	S_CRUSHCLAW_IN,
    	S_CRUSHCLAW_WAIT,
    	S_CRUSHCHAIN,
    
    	// Banpyura
    	S_BANPYURA_ROAM1,
    	S_BANPYURA_ROAM2,
    	S_BANPYURA_ROAM3,
    	S_BANPYURA_ROAM4,
    	S_BANPYURA_ROAMPAUSE,
    	S_CDIAG1,
    	S_CDIAG2,
    	S_CDIAG3,
    	S_CDIAG4,
    	S_CDIAG5,
    	S_CDIAG6,
    	S_CDIAG7,
    	S_CDIAG8,
    
    	// Jet Jaw
    	S_JETJAW_ROAM1,
    	S_JETJAW_ROAM2,
    	S_JETJAW_ROAM3,
    	S_JETJAW_ROAM4,
    	S_JETJAW_ROAM5,
    	S_JETJAW_ROAM6,
    	S_JETJAW_ROAM7,
    	S_JETJAW_ROAM8,
    	S_JETJAW_CHOMP1,
    	S_JETJAW_CHOMP2,
    	S_JETJAW_CHOMP3,
    	S_JETJAW_CHOMP4,
    	S_JETJAW_CHOMP5,
    	S_JETJAW_CHOMP6,
    	S_JETJAW_CHOMP7,
    	S_JETJAW_CHOMP8,
    	S_JETJAW_CHOMP9,
    	S_JETJAW_CHOMP10,
    	S_JETJAW_CHOMP11,
    	S_JETJAW_CHOMP12,
    	S_JETJAW_CHOMP13,
    	S_JETJAW_CHOMP14,
    	S_JETJAW_CHOMP15,
    	S_JETJAW_CHOMP16,
    	S_JETJAW_SOUND,
    
    	// Snailer
    	S_SNAILER1,
    	S_SNAILER_FLICKY,
    
    	// Vulture
    	S_VULTURE_STND,
    	S_VULTURE_DRIFT,
    	S_VULTURE_ZOOM1,
    	S_VULTURE_ZOOM2,
    	S_VULTURE_STUNNED,
    
    	// Pointy
    	S_POINTY1,
    	S_POINTYBALL1,
    
    	// Robo-Hood
    	S_ROBOHOOD_LOOK,
    	S_ROBOHOOD_STAND,
    	S_ROBOHOOD_FIRE1,
    	S_ROBOHOOD_FIRE2,
    	S_ROBOHOOD_JUMP1,
    	S_ROBOHOOD_JUMP2,
    	S_ROBOHOOD_JUMP3,
    
    	// Castlebot Facestabber
    	S_FACESTABBER_STND1,
    	S_FACESTABBER_STND2,
    	S_FACESTABBER_STND3,
    	S_FACESTABBER_STND4,
    	S_FACESTABBER_STND5,
    	S_FACESTABBER_STND6,
    	S_FACESTABBER_CHARGE1,
    	S_FACESTABBER_CHARGE2,
    	S_FACESTABBER_CHARGE3,
    	S_FACESTABBER_CHARGE4,
    	S_FACESTABBER_PAIN,
    	S_FACESTABBER_DIE1,
    	S_FACESTABBER_DIE2,
    	S_FACESTABBER_DIE3,
    	S_FACESTABBERSPEAR,
    
    	// Egg Guard
    	S_EGGGUARD_STND,
    	S_EGGGUARD_WALK1,
    	S_EGGGUARD_WALK2,
    	S_EGGGUARD_WALK3,
    	S_EGGGUARD_WALK4,
    	S_EGGGUARD_MAD1,
    	S_EGGGUARD_MAD2,
    	S_EGGGUARD_MAD3,
    	S_EGGGUARD_RUN1,
    	S_EGGGUARD_RUN2,
    	S_EGGGUARD_RUN3,
    	S_EGGGUARD_RUN4,
    
    	// Egg Shield for Egg Guard
    	S_EGGSHIELD,
    	S_EGGSHIELDBREAK,
    
    	// Green Snapper
    	S_SNAPPER_SPAWN,
    	S_SNAPPER_SPAWN2,
    	S_GSNAPPER_STND,
    	S_GSNAPPER1,
    	S_GSNAPPER2,
    	S_GSNAPPER3,
    	S_GSNAPPER4,
    	S_SNAPPER_XPLD,
    	S_SNAPPER_LEG,
    	S_SNAPPER_LEGRAISE,
    	S_SNAPPER_HEAD,
    
    	// Minus
    	S_MINUS_INIT,
    	S_MINUS_STND,
    	S_MINUS_DIGGING1,
    	S_MINUS_DIGGING2,
    	S_MINUS_DIGGING3,
    	S_MINUS_DIGGING4,
    	S_MINUS_BURST0,
    	S_MINUS_BURST1,
    	S_MINUS_BURST2,
    	S_MINUS_BURST3,
    	S_MINUS_BURST4,
    	S_MINUS_BURST5,
    	S_MINUS_POPUP,
    	S_MINUS_AERIAL1,
    	S_MINUS_AERIAL2,
    	S_MINUS_AERIAL3,
    	S_MINUS_AERIAL4,
    
    	// Minus dirt
    	S_MINUSDIRT1,
    	S_MINUSDIRT2,
    	S_MINUSDIRT3,
    	S_MINUSDIRT4,
    	S_MINUSDIRT5,
    	S_MINUSDIRT6,
    	S_MINUSDIRT7,
    
    	// Spring Shell
    	S_SSHELL_STND,
    	S_SSHELL_RUN1,
    	S_SSHELL_RUN2,
    	S_SSHELL_RUN3,
    	S_SSHELL_RUN4,
    	S_SSHELL_SPRING1,
    	S_SSHELL_SPRING2,
    	S_SSHELL_SPRING3,
    	S_SSHELL_SPRING4,
    
    	// Spring Shell (yellow)
    	S_YSHELL_STND,
    	S_YSHELL_RUN1,
    	S_YSHELL_RUN2,
    	S_YSHELL_RUN3,
    	S_YSHELL_RUN4,
    	S_YSHELL_SPRING1,
    	S_YSHELL_SPRING2,
    	S_YSHELL_SPRING3,
    	S_YSHELL_SPRING4,
    
    	// Unidus
    	S_UNIDUS_STND,
    	S_UNIDUS_RUN,
    	S_UNIDUS_BALL,
    
    	// Canarivore
    	S_CANARIVORE_LOOK,
    	S_CANARIVORE_AWAKEN1,
    	S_CANARIVORE_AWAKEN2,
    	S_CANARIVORE_AWAKEN3,
    	S_CANARIVORE_GAS1,
    	S_CANARIVORE_GAS2,
    	S_CANARIVORE_GAS3,
    	S_CANARIVORE_GAS4,
    	S_CANARIVORE_GAS5,
    	S_CANARIVORE_GASREPEAT,
    	S_CANARIVORE_CLOSE1,
    	S_CANARIVORE_CLOSE2,
    	S_CANARIVOREGAS_1,
    	S_CANARIVOREGAS_2,
    	S_CANARIVOREGAS_3,
    	S_CANARIVOREGAS_4,
    	S_CANARIVOREGAS_5,
    	S_CANARIVOREGAS_6,
    	S_CANARIVOREGAS_7,
    	S_CANARIVOREGAS_8,
    
    	// Pyre Fly
    	S_PYREFLY_FLY,
    	S_PYREFLY_BURN,
    	S_PYREFIRE1,
    	S_PYREFIRE2,
    
    	// Pterabyte
    	S_PTERABYTESPAWNER,
    	S_PTERABYTEWAYPOINT,
    	S_PTERABYTE_FLY1,
    	S_PTERABYTE_FLY2,
    	S_PTERABYTE_FLY3,
    	S_PTERABYTE_FLY4,
    	S_PTERABYTE_SWOOPDOWN,
    	S_PTERABYTE_SWOOPUP,
    
    	// Dragonbomber
    	S_DRAGONBOMBER,
    	S_DRAGONWING1,
    	S_DRAGONWING2,
    	S_DRAGONWING3,
    	S_DRAGONWING4,
    	S_DRAGONTAIL_LOADED,
    	S_DRAGONTAIL_EMPTY,
    	S_DRAGONTAIL_EMPTYLOOP,
    	S_DRAGONTAIL_RELOAD,
    	S_DRAGONMINE,
    	S_DRAGONMINE_LAND1,
    	S_DRAGONMINE_LAND2,
    	S_DRAGONMINE_SLOWFLASH1,
    	S_DRAGONMINE_SLOWFLASH2,
    	S_DRAGONMINE_SLOWLOOP,
    	S_DRAGONMINE_FASTFLASH1,
    	S_DRAGONMINE_FASTFLASH2,
    	S_DRAGONMINE_FASTLOOP,
    
    	// Boss Explosion
    	S_BOSSEXPLODE,
    
    	// S3&K Boss Explosion
    	S_SONIC3KBOSSEXPLOSION1,
    	S_SONIC3KBOSSEXPLOSION2,
    	S_SONIC3KBOSSEXPLOSION3,
    	S_SONIC3KBOSSEXPLOSION4,
    	S_SONIC3KBOSSEXPLOSION5,
    	S_SONIC3KBOSSEXPLOSION6,
    
    	S_JETFUME1,
    
    	// Boss 1
    	S_EGGMOBILE_STND,
    	S_EGGMOBILE_ROFL,
    	S_EGGMOBILE_LATK1,
    	S_EGGMOBILE_LATK2,
    	S_EGGMOBILE_LATK3,
    	S_EGGMOBILE_LATK4,
    	S_EGGMOBILE_LATK5,
    	S_EGGMOBILE_LATK6,
    	S_EGGMOBILE_LATK7,
    	S_EGGMOBILE_LATK8,
    	S_EGGMOBILE_LATK9,
    	S_EGGMOBILE_RATK1,
    	S_EGGMOBILE_RATK2,
    	S_EGGMOBILE_RATK3,
    	S_EGGMOBILE_RATK4,
    	S_EGGMOBILE_RATK5,
    	S_EGGMOBILE_RATK6,
    	S_EGGMOBILE_RATK7,
    	S_EGGMOBILE_RATK8,
    	S_EGGMOBILE_RATK9,
    	S_EGGMOBILE_PANIC1,
    	S_EGGMOBILE_PANIC2,
    	S_EGGMOBILE_PANIC3,
    	S_EGGMOBILE_PANIC4,
    	S_EGGMOBILE_PANIC5,
    	S_EGGMOBILE_PANIC6,
    	S_EGGMOBILE_PANIC7,
    	S_EGGMOBILE_PANIC8,
    	S_EGGMOBILE_PANIC9,
    	S_EGGMOBILE_PANIC10,
    	S_EGGMOBILE_PANIC11,
    	S_EGGMOBILE_PANIC12,
    	S_EGGMOBILE_PANIC13,
    	S_EGGMOBILE_PANIC14,
    	S_EGGMOBILE_PANIC15,
    	S_EGGMOBILE_PAIN,
    	S_EGGMOBILE_PAIN2,
    	S_EGGMOBILE_DIE1,
    	S_EGGMOBILE_DIE2,
    	S_EGGMOBILE_DIE3,
    	S_EGGMOBILE_DIE4,
    	S_EGGMOBILE_FLEE1,
    	S_EGGMOBILE_FLEE2,
    	S_EGGMOBILE_BALL,
    	S_EGGMOBILE_TARGET,
    
    	S_BOSSEGLZ1,
    	S_BOSSEGLZ2,
    
    	// Boss 2
    	S_EGGMOBILE2_STND,
    	S_EGGMOBILE2_POGO1,
    	S_EGGMOBILE2_POGO2,
    	S_EGGMOBILE2_POGO3,
    	S_EGGMOBILE2_POGO4,
    	S_EGGMOBILE2_POGO5,
    	S_EGGMOBILE2_POGO6,
    	S_EGGMOBILE2_POGO7,
    	S_EGGMOBILE2_PAIN,
    	S_EGGMOBILE2_PAIN2,
    	S_EGGMOBILE2_DIE1,
    	S_EGGMOBILE2_DIE2,
    	S_EGGMOBILE2_DIE3,
    	S_EGGMOBILE2_DIE4,
    	S_EGGMOBILE2_FLEE1,
    	S_EGGMOBILE2_FLEE2,
    
    	S_BOSSTANK1,
    	S_BOSSTANK2,
    	S_BOSSSPIGOT,
    
    	// Boss 2 Goop
    	S_GOOP1,
    	S_GOOP2,
    	S_GOOP3,
    	S_GOOPTRAIL,
    
    	// Boss 3
    	S_EGGMOBILE3_STND,
    	S_EGGMOBILE3_SHOCK,
    	S_EGGMOBILE3_ATK1,
    	S_EGGMOBILE3_ATK2,
    	S_EGGMOBILE3_ATK3A,
    	S_EGGMOBILE3_ATK3B,
    	S_EGGMOBILE3_ATK3C,
    	S_EGGMOBILE3_ATK3D,
    	S_EGGMOBILE3_ATK4,
    	S_EGGMOBILE3_ATK5,
    	S_EGGMOBILE3_ROFL,
    	S_EGGMOBILE3_PAIN,
    	S_EGGMOBILE3_PAIN2,
    	S_EGGMOBILE3_DIE1,
    	S_EGGMOBILE3_DIE2,
    	S_EGGMOBILE3_DIE3,
    	S_EGGMOBILE3_DIE4,
    	S_EGGMOBILE3_FLEE1,
    	S_EGGMOBILE3_FLEE2,
    
    	// Boss 3 Pinch
    	S_FAKEMOBILE_INIT,
    	S_FAKEMOBILE,
    	S_FAKEMOBILE_ATK1,
    	S_FAKEMOBILE_ATK2,
    	S_FAKEMOBILE_ATK3A,
    	S_FAKEMOBILE_ATK3B,
    	S_FAKEMOBILE_ATK3C,
    	S_FAKEMOBILE_ATK3D,
    	S_FAKEMOBILE_DIE1,
    	S_FAKEMOBILE_DIE2,
    
    	S_BOSSSEBH1,
    	S_BOSSSEBH2,
    
    	// Boss 3 Shockwave
    	S_SHOCKWAVE1,
    	S_SHOCKWAVE2,
    
    	// Boss 4
    	S_EGGMOBILE4_STND,
    	S_EGGMOBILE4_LATK1,
    	S_EGGMOBILE4_LATK2,
    	S_EGGMOBILE4_LATK3,
    	S_EGGMOBILE4_LATK4,
    	S_EGGMOBILE4_LATK5,
    	S_EGGMOBILE4_LATK6,
    	S_EGGMOBILE4_RATK1,
    	S_EGGMOBILE4_RATK2,
    	S_EGGMOBILE4_RATK3,
    	S_EGGMOBILE4_RATK4,
    	S_EGGMOBILE4_RATK5,
    	S_EGGMOBILE4_RATK6,
    	S_EGGMOBILE4_RAISE1,
    	S_EGGMOBILE4_RAISE2,
    	S_EGGMOBILE4_PAIN1,
    	S_EGGMOBILE4_PAIN2,
    	S_EGGMOBILE4_DIE1,
    	S_EGGMOBILE4_DIE2,
    	S_EGGMOBILE4_DIE3,
    	S_EGGMOBILE4_DIE4,
    	S_EGGMOBILE4_FLEE1,
    	S_EGGMOBILE4_FLEE2,
    	S_EGGMOBILE4_MACE,
    	S_EGGMOBILE4_MACE_DIE1,
    	S_EGGMOBILE4_MACE_DIE2,
    	S_EGGMOBILE4_MACE_DIE3,
    
    	// Boss 4 jet flame
    	S_JETFLAME,
    
    	// Boss 4 Spectator Eggrobo
    	S_EGGROBO1_STND,
    	S_EGGROBO1_BSLAP1,
    	S_EGGROBO1_BSLAP2,
    	S_EGGROBO1_PISSED,
    
    	// Boss 4 Spectator Eggrobo jet flame
    	S_EGGROBOJET,
    
    	// Boss 5
    	S_FANG_SETUP,
    	S_FANG_INTRO0,
    	S_FANG_INTRO1,
    	S_FANG_INTRO2,
    	S_FANG_INTRO3,
    	S_FANG_INTRO4,
    	S_FANG_INTRO5,
    	S_FANG_INTRO6,
    	S_FANG_INTRO7,
    	S_FANG_INTRO8,
    	S_FANG_INTRO9,
    	S_FANG_INTRO10,
    	S_FANG_INTRO11,
    	S_FANG_INTRO12,
    	S_FANG_CLONE1,
    	S_FANG_CLONE2,
    	S_FANG_CLONE3,
    	S_FANG_CLONE4,
    	S_FANG_IDLE0,
    	S_FANG_IDLE1,
    	S_FANG_IDLE2,
    	S_FANG_IDLE3,
    	S_FANG_IDLE4,
    	S_FANG_IDLE5,
    	S_FANG_IDLE6,
    	S_FANG_IDLE7,
    	S_FANG_IDLE8,
    	S_FANG_PAIN1,
    	S_FANG_PAIN2,
    	S_FANG_PATHINGSTART1,
    	S_FANG_PATHINGSTART2,
    	S_FANG_PATHING,
    	S_FANG_BOUNCE1,
    	S_FANG_BOUNCE2,
    	S_FANG_BOUNCE3,
    	S_FANG_BOUNCE4,
    	S_FANG_FALL1,
    	S_FANG_FALL2,
    	S_FANG_CHECKPATH1,
    	S_FANG_CHECKPATH2,
    	S_FANG_PATHINGCONT1,
    	S_FANG_PATHINGCONT2,
    	S_FANG_PATHINGCONT3,
    	S_FANG_SKID1,
    	S_FANG_SKID2,
    	S_FANG_SKID3,
    	S_FANG_CHOOSEATTACK,
    	S_FANG_FIRESTART1,
    	S_FANG_FIRESTART2,
    	S_FANG_FIRE1,
    	S_FANG_FIRE2,
    	S_FANG_FIRE3,
    	S_FANG_FIRE4,
    	S_FANG_FIREREPEAT,
    	S_FANG_LOBSHOT0,
    	S_FANG_LOBSHOT1,
    	S_FANG_LOBSHOT2,
    	S_FANG_WAIT1,
    	S_FANG_WAIT2,
    	S_FANG_WALLHIT,
    	S_FANG_PINCHPATHINGSTART1,
    	S_FANG_PINCHPATHINGSTART2,
    	S_FANG_PINCHPATHING,
    	S_FANG_PINCHBOUNCE0,
    	S_FANG_PINCHBOUNCE1,
    	S_FANG_PINCHBOUNCE2,
    	S_FANG_PINCHBOUNCE3,
    	S_FANG_PINCHBOUNCE4,
    	S_FANG_PINCHFALL0,
    	S_FANG_PINCHFALL1,
    	S_FANG_PINCHFALL2,
    	S_FANG_PINCHSKID1,
    	S_FANG_PINCHSKID2,
    	S_FANG_PINCHLOBSHOT0,
    	S_FANG_PINCHLOBSHOT1,
    	S_FANG_PINCHLOBSHOT2,
    	S_FANG_PINCHLOBSHOT3,
    	S_FANG_PINCHLOBSHOT4,
    	S_FANG_DIE1,
    	S_FANG_DIE2,
    	S_FANG_DIE3,
    	S_FANG_DIE4,
    	S_FANG_DIE5,
    	S_FANG_DIE6,
    	S_FANG_DIE7,
    	S_FANG_DIE8,
    	S_FANG_FLEEPATHING1,
    	S_FANG_FLEEPATHING2,
    	S_FANG_FLEEBOUNCE1,
    	S_FANG_FLEEBOUNCE2,
    	S_FANG_KO,
    
    	S_BROKENROBOTRANDOM,
    	S_BROKENROBOTA,
    	S_BROKENROBOTB,
    	S_BROKENROBOTC,
    	S_BROKENROBOTD,
    	S_BROKENROBOTE,
    	S_BROKENROBOTF,
    
    	S_ALART1,
    	S_ALART2,
    
    	S_VWREF,
    	S_VWREB,
    
    	S_PROJECTORLIGHT1,
    	S_PROJECTORLIGHT2,
    	S_PROJECTORLIGHT3,
    	S_PROJECTORLIGHT4,
    	S_PROJECTORLIGHT5,
    
    	S_FBOMB1,
    	S_FBOMB2,
    	S_FBOMB_EXPL1,
    	S_FBOMB_EXPL2,
    	S_FBOMB_EXPL3,
    	S_FBOMB_EXPL4,
    	S_FBOMB_EXPL5,
    	S_FBOMB_EXPL6,
    	S_TNTDUST_1,
    	S_TNTDUST_2,
    	S_TNTDUST_3,
    	S_TNTDUST_4,
    	S_TNTDUST_5,
    	S_TNTDUST_6,
    	S_TNTDUST_7,
    	S_TNTDUST_8,
    	S_FSGNA,
    	S_FSGNB,
    	S_FSGNC,
    	S_FSGND,
    
    	// Black Eggman (Boss 7)
    	S_BLACKEGG_STND,
    	S_BLACKEGG_STND2,
    	S_BLACKEGG_WALK1,
    	S_BLACKEGG_WALK2,
    	S_BLACKEGG_WALK3,
    	S_BLACKEGG_WALK4,
    	S_BLACKEGG_WALK5,
    	S_BLACKEGG_WALK6,
    	S_BLACKEGG_SHOOT1,
    	S_BLACKEGG_SHOOT2,
    	S_BLACKEGG_PAIN1,
    	S_BLACKEGG_PAIN2,
    	S_BLACKEGG_PAIN3,
    	S_BLACKEGG_PAIN4,
    	S_BLACKEGG_PAIN5,
    	S_BLACKEGG_PAIN6,
    	S_BLACKEGG_PAIN7,
    	S_BLACKEGG_PAIN8,
    	S_BLACKEGG_PAIN9,
    	S_BLACKEGG_PAIN10,
    	S_BLACKEGG_PAIN11,
    	S_BLACKEGG_PAIN12,
    	S_BLACKEGG_PAIN13,
    	S_BLACKEGG_PAIN14,
    	S_BLACKEGG_PAIN15,
    	S_BLACKEGG_PAIN16,
    	S_BLACKEGG_PAIN17,
    	S_BLACKEGG_PAIN18,
    	S_BLACKEGG_PAIN19,
    	S_BLACKEGG_PAIN20,
    	S_BLACKEGG_PAIN21,
    	S_BLACKEGG_PAIN22,
    	S_BLACKEGG_PAIN23,
    	S_BLACKEGG_PAIN24,
    	S_BLACKEGG_PAIN25,
    	S_BLACKEGG_PAIN26,
    	S_BLACKEGG_PAIN27,
    	S_BLACKEGG_PAIN28,
    	S_BLACKEGG_PAIN29,
    	S_BLACKEGG_PAIN30,
    	S_BLACKEGG_PAIN31,
    	S_BLACKEGG_PAIN32,
    	S_BLACKEGG_PAIN33,
    	S_BLACKEGG_PAIN34,
    	S_BLACKEGG_PAIN35,
    	S_BLACKEGG_HITFACE1,
    	S_BLACKEGG_HITFACE2,
    	S_BLACKEGG_HITFACE3,
    	S_BLACKEGG_HITFACE4,
    	S_BLACKEGG_DIE1,
    	S_BLACKEGG_DIE2,
    	S_BLACKEGG_DIE3,
    	S_BLACKEGG_DIE4,
    	S_BLACKEGG_DIE5,
    	S_BLACKEGG_MISSILE1,
    	S_BLACKEGG_MISSILE2,
    	S_BLACKEGG_MISSILE3,
    	S_BLACKEGG_GOOP,
    	S_BLACKEGG_JUMP1,
    	S_BLACKEGG_JUMP2,
    	S_BLACKEGG_DESTROYPLAT1,
    	S_BLACKEGG_DESTROYPLAT2,
    	S_BLACKEGG_DESTROYPLAT3,
    
    	S_BLACKEGG_HELPER, // Collision helper
    
    	S_BLACKEGG_GOOP1,
    	S_BLACKEGG_GOOP2,
    	S_BLACKEGG_GOOP3,
    	S_BLACKEGG_GOOP4,
    	S_BLACKEGG_GOOP5,
    	S_BLACKEGG_GOOP6,
    	S_BLACKEGG_GOOP7,
    
    	S_BLACKEGG_MISSILE,
    
    	// New Very-Last-Minute 2.1 Brak Eggman (Cy-Brak-demon)
    	S_CYBRAKDEMON_IDLE,
    	S_CYBRAKDEMON_WALK1,
    	S_CYBRAKDEMON_WALK2,
    	S_CYBRAKDEMON_WALK3,
    	S_CYBRAKDEMON_WALK4,
    	S_CYBRAKDEMON_WALK5,
    	S_CYBRAKDEMON_WALK6,
    	S_CYBRAKDEMON_CHOOSE_ATTACK1,
    	S_CYBRAKDEMON_MISSILE_ATTACK1, // Aim
    	S_CYBRAKDEMON_MISSILE_ATTACK2, // Fire
    	S_CYBRAKDEMON_MISSILE_ATTACK3, // Aim
    	S_CYBRAKDEMON_MISSILE_ATTACK4, // Fire
    	S_CYBRAKDEMON_MISSILE_ATTACK5, // Aim
    	S_CYBRAKDEMON_MISSILE_ATTACK6, // Fire
    	S_CYBRAKDEMON_FLAME_ATTACK1, // Reset
    	S_CYBRAKDEMON_FLAME_ATTACK2, // Aim
    	S_CYBRAKDEMON_FLAME_ATTACK3, // Fire
    	S_CYBRAKDEMON_FLAME_ATTACK4, // Loop
    	S_CYBRAKDEMON_CHOOSE_ATTACK2,
    	S_CYBRAKDEMON_VILE_ATTACK1,
    	S_CYBRAKDEMON_VILE_ATTACK2,
    	S_CYBRAKDEMON_VILE_ATTACK3,
    	S_CYBRAKDEMON_VILE_ATTACK4,
    	S_CYBRAKDEMON_VILE_ATTACK5,
    	S_CYBRAKDEMON_VILE_ATTACK6,
    	S_CYBRAKDEMON_NAPALM_ATTACK1,
    	S_CYBRAKDEMON_NAPALM_ATTACK2,
    	S_CYBRAKDEMON_NAPALM_ATTACK3,
    	S_CYBRAKDEMON_FINISH_ATTACK1, // If just attacked, remove MF2_FRET w/out going back to spawnstate
    	S_CYBRAKDEMON_FINISH_ATTACK2, // Force a delay between attacks so you don't get bombarded with them back-to-back
    	S_CYBRAKDEMON_PAIN1,
    	S_CYBRAKDEMON_PAIN2,
    	S_CYBRAKDEMON_PAIN3,
    	S_CYBRAKDEMON_DIE1,
    	S_CYBRAKDEMON_DIE2,
    	S_CYBRAKDEMON_DIE3,
    	S_CYBRAKDEMON_DIE4,
    	S_CYBRAKDEMON_DIE5,
    	S_CYBRAKDEMON_DIE6,
    	S_CYBRAKDEMON_DIE7,
    	S_CYBRAKDEMON_DIE8,
    	S_CYBRAKDEMON_DEINVINCIBLERIZE,
    	S_CYBRAKDEMON_INVINCIBLERIZE,
    
    	S_CYBRAKDEMONMISSILE,
    	S_CYBRAKDEMONMISSILE_EXPLODE1,
    	S_CYBRAKDEMONMISSILE_EXPLODE2,
    	S_CYBRAKDEMONMISSILE_EXPLODE3,
    
    	S_CYBRAKDEMONFLAMESHOT_FLY1,
    	S_CYBRAKDEMONFLAMESHOT_FLY2,
    	S_CYBRAKDEMONFLAMESHOT_FLY3,
    	S_CYBRAKDEMONFLAMESHOT_DIE,
    
    	S_CYBRAKDEMONFLAMEREST,
    
    	S_CYBRAKDEMONELECTRICBARRIER_INIT1,
    	S_CYBRAKDEMONELECTRICBARRIER_INIT2,
    	S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND,
    	S_CYBRAKDEMONELECTRICBARRIER1,
    	S_CYBRAKDEMONELECTRICBARRIER2,
    	S_CYBRAKDEMONELECTRICBARRIER3,
    	S_CYBRAKDEMONELECTRICBARRIER4,
    	S_CYBRAKDEMONELECTRICBARRIER5,
    	S_CYBRAKDEMONELECTRICBARRIER6,
    	S_CYBRAKDEMONELECTRICBARRIER7,
    	S_CYBRAKDEMONELECTRICBARRIER8,
    	S_CYBRAKDEMONELECTRICBARRIER9,
    	S_CYBRAKDEMONELECTRICBARRIER10,
    	S_CYBRAKDEMONELECTRICBARRIER11,
    	S_CYBRAKDEMONELECTRICBARRIER12,
    	S_CYBRAKDEMONELECTRICBARRIER13,
    	S_CYBRAKDEMONELECTRICBARRIER14,
    	S_CYBRAKDEMONELECTRICBARRIER15,
    	S_CYBRAKDEMONELECTRICBARRIER16,
    	S_CYBRAKDEMONELECTRICBARRIER17,
    	S_CYBRAKDEMONELECTRICBARRIER18,
    	S_CYBRAKDEMONELECTRICBARRIER19,
    	S_CYBRAKDEMONELECTRICBARRIER20,
    	S_CYBRAKDEMONELECTRICBARRIER21,
    	S_CYBRAKDEMONELECTRICBARRIER22,
    	S_CYBRAKDEMONELECTRICBARRIER23,
    	S_CYBRAKDEMONELECTRICBARRIER24,
    	S_CYBRAKDEMONELECTRICBARRIER_DIE1,
    	S_CYBRAKDEMONELECTRICBARRIER_DIE2,
    	S_CYBRAKDEMONELECTRICBARRIER_DIE3,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHECK,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHOOSE,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM2,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM3,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM4,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM5,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM6,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM7,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM8,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM9,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM10,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM11,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM12,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMFAIL,
    	S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP,
    	S_CYBRAKDEMONELECTRICBARRIER_REVIVE1,
    	S_CYBRAKDEMONELECTRICBARRIER_REVIVE2,
    	S_CYBRAKDEMONELECTRICBARRIER_REVIVE3,
    
    	S_CYBRAKDEMONTARGETRETICULE1,
    	S_CYBRAKDEMONTARGETRETICULE2,
    	S_CYBRAKDEMONTARGETRETICULE3,
    	S_CYBRAKDEMONTARGETRETICULE4,
    	S_CYBRAKDEMONTARGETRETICULE5,
    	S_CYBRAKDEMONTARGETRETICULE6,
    	S_CYBRAKDEMONTARGETRETICULE7,
    	S_CYBRAKDEMONTARGETRETICULE8,
    	S_CYBRAKDEMONTARGETRETICULE9,
    	S_CYBRAKDEMONTARGETRETICULE10,
    	S_CYBRAKDEMONTARGETRETICULE11,
    	S_CYBRAKDEMONTARGETRETICULE12,
    	S_CYBRAKDEMONTARGETRETICULE13,
    	S_CYBRAKDEMONTARGETRETICULE14,
    
    	S_CYBRAKDEMONTARGETDOT,
    
    	S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1,
    	S_CYBRAKDEMONNAPALMBOMBLARGE_FLY2,
    	S_CYBRAKDEMONNAPALMBOMBLARGE_FLY3,
    	S_CYBRAKDEMONNAPALMBOMBLARGE_FLY4,
    	S_CYBRAKDEMONNAPALMBOMBLARGE_DIE1, // Explode
    	S_CYBRAKDEMONNAPALMBOMBLARGE_DIE2, // Outer ring
    	S_CYBRAKDEMONNAPALMBOMBLARGE_DIE3, // Center
    	S_CYBRAKDEMONNAPALMBOMBLARGE_DIE4, // Sound
    
    	S_CYBRAKDEMONNAPALMBOMBSMALL,
    	S_CYBRAKDEMONNAPALMBOMBSMALL_DIE1, // Explode
    	S_CYBRAKDEMONNAPALMBOMBSMALL_DIE2, // Outer ring
    	S_CYBRAKDEMONNAPALMBOMBSMALL_DIE3, // Inner ring
    	S_CYBRAKDEMONNAPALMBOMBSMALL_DIE4, // Center
    	S_CYBRAKDEMONNAPALMBOMBSMALL_DIE5, // Sound
    
    	S_CYBRAKDEMONNAPALMFLAME_FLY1,
    	S_CYBRAKDEMONNAPALMFLAME_FLY2,
    	S_CYBRAKDEMONNAPALMFLAME_FLY3,
    	S_CYBRAKDEMONNAPALMFLAME_FLY4,
    	S_CYBRAKDEMONNAPALMFLAME_FLY5,
    	S_CYBRAKDEMONNAPALMFLAME_FLY6,
    	S_CYBRAKDEMONNAPALMFLAME_DIE,
    
    	S_CYBRAKDEMONVILEEXPLOSION1,
    	S_CYBRAKDEMONVILEEXPLOSION2,
    	S_CYBRAKDEMONVILEEXPLOSION3,
    
    	// Metal Sonic (Race)
    	S_METALSONIC_RACE,
    	// Metal Sonic (Battle)
    	S_METALSONIC_FLOAT,
    	S_METALSONIC_VECTOR,
    	S_METALSONIC_STUN,
    	S_METALSONIC_RAISE,
    	S_METALSONIC_GATHER,
    	S_METALSONIC_DASH,
    	S_METALSONIC_BOUNCE,
    	S_METALSONIC_BADBOUNCE,
    	S_METALSONIC_SHOOT,
    	S_METALSONIC_PAIN,
    	S_METALSONIC_DEATH1,
    	S_METALSONIC_DEATH2,
    	S_METALSONIC_DEATH3,
    	S_METALSONIC_DEATH4,
    	S_METALSONIC_FLEE1,
    	S_METALSONIC_FLEE2,
    
    	S_MSSHIELD_F1,
    	S_MSSHIELD_F2,
    
    	// Ring
    	S_RING,
    
    	// Blue Sphere for special stages
    	S_BLUESPHERE,
    	S_BLUESPHEREBONUS,
    	S_BLUESPHERESPARK,
    
    	// Bomb Sphere
    	S_BOMBSPHERE1,
    	S_BOMBSPHERE2,
    	S_BOMBSPHERE3,
    	S_BOMBSPHERE4,
    
    	// NiGHTS Chip
    	S_NIGHTSCHIP,
    	S_NIGHTSCHIPBONUS,
    
    	// NiGHTS Star
    	S_NIGHTSSTAR,
    	S_NIGHTSSTARXMAS,
    
    	// Gravity Wells for special stages
    	S_GRAVWELLGREEN,
    	S_GRAVWELLRED,
    
    	// Individual Team Rings
    	S_TEAMRING,
    
    	// Special Stage Token
    	S_TOKEN,
    
    	// CTF Flags
    	S_REDFLAG,
    	S_BLUEFLAG,
    
    	// Emblem
    	S_EMBLEM1,
    	S_EMBLEM2,
    	S_EMBLEM3,
    	S_EMBLEM4,
    	S_EMBLEM5,
    	S_EMBLEM6,
    	S_EMBLEM7,
    	S_EMBLEM8,
    	S_EMBLEM9,
    	S_EMBLEM10,
    	S_EMBLEM11,
    	S_EMBLEM12,
    	S_EMBLEM13,
    	S_EMBLEM14,
    	S_EMBLEM15,
    	S_EMBLEM16,
    	S_EMBLEM17,
    	S_EMBLEM18,
    	S_EMBLEM19,
    	S_EMBLEM20,
    	S_EMBLEM21,
    	S_EMBLEM22,
    	S_EMBLEM23,
    	S_EMBLEM24,
    	S_EMBLEM25,
    	S_EMBLEM26,
    
    	// Chaos Emeralds
    	S_CEMG1,
    	S_CEMG2,
    	S_CEMG3,
    	S_CEMG4,
    	S_CEMG5,
    	S_CEMG6,
    	S_CEMG7,
    
    	// Emerald hunt shards
    	S_SHRD1,
    	S_SHRD2,
    	S_SHRD3,
    
    	// Bubble Source
    	S_BUBBLES1,
    	S_BUBBLES2,
    	S_BUBBLES3,
    	S_BUBBLES4,
    
    	// Level End Sign
    	S_SIGN,
    	S_SIGNSPIN1,
    	S_SIGNSPIN2,
    	S_SIGNSPIN3,
    	S_SIGNSPIN4,
    	S_SIGNSPIN5,
    	S_SIGNSPIN6,
    	S_SIGNPLAYER,
    	S_SIGNSLOW,
    	S_SIGNSTOP,
    	S_SIGNBOARD,
    	S_EGGMANSIGN,
    	S_CLEARSIGN,
    
    	// Spike Ball
    	S_SPIKEBALL1,
    	S_SPIKEBALL2,
    	S_SPIKEBALL3,
    	S_SPIKEBALL4,
    	S_SPIKEBALL5,
    	S_SPIKEBALL6,
    	S_SPIKEBALL7,
    	S_SPIKEBALL8,
    
    	// Elemental Shield's Spawn
    	S_SPINFIRE1,
    	S_SPINFIRE2,
    	S_SPINFIRE3,
    	S_SPINFIRE4,
    	S_SPINFIRE5,
    	S_SPINFIRE6,
    
    	S_TEAM_SPINFIRE1,
    	S_TEAM_SPINFIRE2,
    	S_TEAM_SPINFIRE3,
    	S_TEAM_SPINFIRE4,
    	S_TEAM_SPINFIRE5,
    	S_TEAM_SPINFIRE6,
    
    	// Spikes
    	S_SPIKE1,
    	S_SPIKE2,
    	S_SPIKE3,
    	S_SPIKE4,
    	S_SPIKE5,
    	S_SPIKE6,
    	S_SPIKED1,
    	S_SPIKED2,
    
    	// Wall spikes
    	S_WALLSPIKE1,
    	S_WALLSPIKE2,
    	S_WALLSPIKE3,
    	S_WALLSPIKE4,
    	S_WALLSPIKE5,
    	S_WALLSPIKE6,
    	S_WALLSPIKEBASE,
    	S_WALLSPIKED1,
    	S_WALLSPIKED2,
    
    	// Starpost
    	S_STARPOST_IDLE,
    	S_STARPOST_FLASH,
    	S_STARPOST_STARTSPIN,
    	S_STARPOST_SPIN,
    	S_STARPOST_ENDSPIN,
    
    	// Big floating mine
    	S_BIGMINE_IDLE,
    	S_BIGMINE_ALERT1,
    	S_BIGMINE_ALERT2,
    	S_BIGMINE_ALERT3,
    	S_BIGMINE_SET1,
    	S_BIGMINE_SET2,
    	S_BIGMINE_SET3,
    	S_BIGMINE_BLAST1,
    	S_BIGMINE_BLAST2,
    	S_BIGMINE_BLAST3,
    	S_BIGMINE_BLAST4,
    	S_BIGMINE_BLAST5,
    
    	// Cannon Launcher
    	S_CANNONLAUNCHER1,
    	S_CANNONLAUNCHER2,
    	S_CANNONLAUNCHER3,
    
    	// Monitor Miscellany
    	S_BOXSPARKLE1,
    	S_BOXSPARKLE2,
    	S_BOXSPARKLE3,
    	S_BOXSPARKLE4,
    
    	S_BOX_FLICKER,
    	S_BOX_POP1,
    	S_BOX_POP2,
    
    	S_GOLDBOX_FLICKER,
    	S_GOLDBOX_OFF1,
    	S_GOLDBOX_OFF2,
    	S_GOLDBOX_OFF3,
    	S_GOLDBOX_OFF4,
    	S_GOLDBOX_OFF5,
    	S_GOLDBOX_OFF6,
    	S_GOLDBOX_OFF7,
    
    	// Monitor States (one per box)
    	S_MYSTERY_BOX,
    	S_RING_BOX,
    	S_PITY_BOX,
    	S_ATTRACT_BOX,
    	S_FORCE_BOX,
    	S_ARMAGEDDON_BOX,
    	S_WHIRLWIND_BOX,
    	S_ELEMENTAL_BOX,
    	S_SNEAKERS_BOX,
    	S_INVULN_BOX,
    	S_1UP_BOX,
    	S_EGGMAN_BOX,
    	S_MIXUP_BOX,
    	S_GRAVITY_BOX,
    	S_RECYCLER_BOX,
    	S_SCORE1K_BOX,
    	S_SCORE10K_BOX,
    	S_FLAMEAURA_BOX,
    	S_BUBBLEWRAP_BOX,
    	S_THUNDERCOIN_BOX,
    
    	// Gold Repeat Monitor States (one per box)
    	S_PITY_GOLDBOX,
    	S_ATTRACT_GOLDBOX,
    	S_FORCE_GOLDBOX,
    	S_ARMAGEDDON_GOLDBOX,
    	S_WHIRLWIND_GOLDBOX,
    	S_ELEMENTAL_GOLDBOX,
    	S_SNEAKERS_GOLDBOX,
    	S_INVULN_GOLDBOX,
    	S_EGGMAN_GOLDBOX,
    	S_GRAVITY_GOLDBOX,
    	S_FLAMEAURA_GOLDBOX,
    	S_BUBBLEWRAP_GOLDBOX,
    	S_THUNDERCOIN_GOLDBOX,
    
    	// Team Ring Boxes (these are special)
    	S_RING_REDBOX1,
    	S_RING_REDBOX2,
    	S_REDBOX_POP1,
    	S_REDBOX_POP2,
    
    	S_RING_BLUEBOX1,
    	S_RING_BLUEBOX2,
    	S_BLUEBOX_POP1,
    	S_BLUEBOX_POP2,
    
    	// Box Icons -- 2 states each, animation and action
    	S_RING_ICON1,
    	S_RING_ICON2,
    
    	S_PITY_ICON1,
    	S_PITY_ICON2,
    
    	S_ATTRACT_ICON1,
    	S_ATTRACT_ICON2,
    
    	S_FORCE_ICON1,
    	S_FORCE_ICON2,
    
    	S_ARMAGEDDON_ICON1,
    	S_ARMAGEDDON_ICON2,
    
    	S_WHIRLWIND_ICON1,
    	S_WHIRLWIND_ICON2,
    
    	S_ELEMENTAL_ICON1,
    	S_ELEMENTAL_ICON2,
    
    	S_SNEAKERS_ICON1,
    	S_SNEAKERS_ICON2,
    
    	S_INVULN_ICON1,
    	S_INVULN_ICON2,
    
    	S_1UP_ICON1,
    	S_1UP_ICON2,
    
    	S_EGGMAN_ICON1,
    	S_EGGMAN_ICON2,
    
    	S_MIXUP_ICON1,
    	S_MIXUP_ICON2,
    
    	S_GRAVITY_ICON1,
    	S_GRAVITY_ICON2,
    
    	S_RECYCLER_ICON1,
    	S_RECYCLER_ICON2,
    
    	S_SCORE1K_ICON1,
    	S_SCORE1K_ICON2,
    
    	S_SCORE10K_ICON1,
    	S_SCORE10K_ICON2,
    
    	S_FLAMEAURA_ICON1,
    	S_FLAMEAURA_ICON2,
    
    	S_BUBBLEWRAP_ICON1,
    	S_BUBBLEWRAP_ICON2,
    
    	S_THUNDERCOIN_ICON1,
    	S_THUNDERCOIN_ICON2,
    
    	// ---
    
    	S_ROCKET,
    
    	S_LASER,
    	S_LASER2,
    	S_LASERFLASH,
    
    	S_LASERFLAME1,
    	S_LASERFLAME2,
    	S_LASERFLAME3,
    	S_LASERFLAME4,
    	S_LASERFLAME5,
    
    	S_TORPEDO,
    
    	S_ENERGYBALL1,
    	S_ENERGYBALL2,
    
    	// Skim Mine, also used by Jetty-Syn bomber
    	S_MINE1,
    	S_MINE_BOOM1,
    	S_MINE_BOOM2,
    	S_MINE_BOOM3,
    	S_MINE_BOOM4,
    
    	// Jetty-Syn Bullet
    	S_JETBULLET1,
    	S_JETBULLET2,
    
    	S_TURRETLASER,
    	S_TURRETLASEREXPLODE1,
    	S_TURRETLASEREXPLODE2,
    
    	// Cannonball
    	S_CANNONBALL1,
    
    	// Arrow
    	S_ARROW,
    	S_ARROWBONK,
    
    	// Glaregoyle Demon fire
    	S_DEMONFIRE,
    
    	// The letter
    	S_LETTER,
    
    	// GFZ flowers
    	S_GFZFLOWERA,
    	S_GFZFLOWERB,
    	S_GFZFLOWERC,
    
    	S_BLUEBERRYBUSH,
    	S_BERRYBUSH,
    	S_BUSH,
    
    	// Trees (both GFZ and misc)
    	S_GFZTREE,
    	S_GFZBERRYTREE,
    	S_GFZCHERRYTREE,
    	S_CHECKERTREE,
    	S_CHECKERSUNSETTREE,
    	S_FHZTREE, // Frozen Hillside
    	S_FHZPINKTREE,
    	S_POLYGONTREE,
    	S_BUSHTREE,
    	S_BUSHREDTREE,
    	S_SPRINGTREE,
    
    	// THZ flowers
    	S_THZFLOWERA, // THZ1 Steam flower
    	S_THZFLOWERB, // THZ1 Spin flower (red)
    	S_THZFLOWERC, // THZ1 Spin flower (yellow)
    
    	// THZ Steam Whistle tree/bush
    	S_THZTREE,
    	S_THZTREEBRANCH1,
    	S_THZTREEBRANCH2,
    	S_THZTREEBRANCH3,
    	S_THZTREEBRANCH4,
    	S_THZTREEBRANCH5,
    	S_THZTREEBRANCH6,
    	S_THZTREEBRANCH7,
    	S_THZTREEBRANCH8,
    	S_THZTREEBRANCH9,
    	S_THZTREEBRANCH10,
    	S_THZTREEBRANCH11,
    	S_THZTREEBRANCH12,
    	S_THZTREEBRANCH13,
    
    	// THZ Alarm
    	S_ALARM1,
    
    	// Deep Sea Gargoyle
    	S_GARGOYLE,
    	S_BIGGARGOYLE,
    
    	// DSZ Seaweed
    	S_SEAWEED1,
    	S_SEAWEED2,
    	S_SEAWEED3,
    	S_SEAWEED4,
    	S_SEAWEED5,
    	S_SEAWEED6,
    
    	// Dripping Water
    	S_DRIPA1,
    	S_DRIPA2,
    	S_DRIPA3,
    	S_DRIPA4,
    	S_DRIPB1,
    	S_DRIPC1,
    	S_DRIPC2,
    
    	// Coral
    	S_CORAL1,
    	S_CORAL2,
    	S_CORAL3,
    	S_CORAL4,
    	S_CORAL5,
    
    	// Blue Crystal
    	S_BLUECRYSTAL1,
    
    	// Kelp,
    	S_KELP,
    
    	// Animated algae
    	S_ANIMALGAETOP1,
    	S_ANIMALGAETOP2,
    	S_ANIMALGAESEG,
    
    	// DSZ Stalagmites
    	S_DSZSTALAGMITE,
    	S_DSZ2STALAGMITE,
    
    	// DSZ Light beam
    	S_LIGHTBEAM1,
    	S_LIGHTBEAM2,
    	S_LIGHTBEAM3,
    	S_LIGHTBEAM4,
    	S_LIGHTBEAM5,
    	S_LIGHTBEAM6,
    	S_LIGHTBEAM7,
    	S_LIGHTBEAM8,
    	S_LIGHTBEAM9,
    	S_LIGHTBEAM10,
    	S_LIGHTBEAM11,
    	S_LIGHTBEAM12,
    
    	// CEZ Chain
    	S_CEZCHAIN,
    
    	// Flame
    	S_FLAME,
    	S_FLAMEPARTICLE,
    	S_FLAMEREST,
    
    	// Eggman Statue
    	S_EGGSTATUE1,
    
    	// CEZ hidden sling
    	S_SLING1,
    	S_SLING2,
    
    	// CEZ maces and chains
    	S_SMALLMACECHAIN,
    	S_BIGMACECHAIN,
    	S_SMALLMACE,
    	S_BIGMACE,
    	S_SMALLGRABCHAIN,
    	S_BIGGRABCHAIN,
    
    	// Yellow spring on a ball
    	S_YELLOWSPRINGBALL,
    	S_YELLOWSPRINGBALL2,
    	S_YELLOWSPRINGBALL3,
    	S_YELLOWSPRINGBALL4,
    	S_YELLOWSPRINGBALL5,
    
    	// Red spring on a ball
    	S_REDSPRINGBALL,
    	S_REDSPRINGBALL2,
    	S_REDSPRINGBALL3,
    	S_REDSPRINGBALL4,
    	S_REDSPRINGBALL5,
    
    	// Small Firebar
    	S_SMALLFIREBAR1,
    	S_SMALLFIREBAR2,
    	S_SMALLFIREBAR3,
    	S_SMALLFIREBAR4,
    	S_SMALLFIREBAR5,
    	S_SMALLFIREBAR6,
    	S_SMALLFIREBAR7,
    	S_SMALLFIREBAR8,
    	S_SMALLFIREBAR9,
    	S_SMALLFIREBAR10,
    	S_SMALLFIREBAR11,
    	S_SMALLFIREBAR12,
    	S_SMALLFIREBAR13,
    	S_SMALLFIREBAR14,
    	S_SMALLFIREBAR15,
    	S_SMALLFIREBAR16,
    
    	// Big Firebar
    	S_BIGFIREBAR1,
    	S_BIGFIREBAR2,
    	S_BIGFIREBAR3,
    	S_BIGFIREBAR4,
    	S_BIGFIREBAR5,
    	S_BIGFIREBAR6,
    	S_BIGFIREBAR7,
    	S_BIGFIREBAR8,
    	S_BIGFIREBAR9,
    	S_BIGFIREBAR10,
    	S_BIGFIREBAR11,
    	S_BIGFIREBAR12,
    	S_BIGFIREBAR13,
    	S_BIGFIREBAR14,
    	S_BIGFIREBAR15,
    	S_BIGFIREBAR16,
    
    	S_CEZFLOWER,
    	S_CEZPOLE,
    	S_CEZBANNER1,
    	S_CEZBANNER2,
    	S_PINETREE,
    	S_CEZBUSH1,
    	S_CEZBUSH2,
    	S_CANDLE,
    	S_CANDLEPRICKET,
    	S_FLAMEHOLDER,
    	S_FIRETORCH,
    	S_WAVINGFLAG,
    	S_WAVINGFLAGSEG1,
    	S_WAVINGFLAGSEG2,
    	S_CRAWLASTATUE,
    	S_FACESTABBERSTATUE,
    	S_SUSPICIOUSFACESTABBERSTATUE_WAIT,
    	S_SUSPICIOUSFACESTABBERSTATUE_BURST1,
    	S_SUSPICIOUSFACESTABBERSTATUE_BURST2,
    	S_BRAMBLES,
    
    	// Big Tumbleweed
    	S_BIGTUMBLEWEED,
    	S_BIGTUMBLEWEED_ROLL1,
    	S_BIGTUMBLEWEED_ROLL2,
    	S_BIGTUMBLEWEED_ROLL3,
    	S_BIGTUMBLEWEED_ROLL4,
    	S_BIGTUMBLEWEED_ROLL5,
    	S_BIGTUMBLEWEED_ROLL6,
    	S_BIGTUMBLEWEED_ROLL7,
    	S_BIGTUMBLEWEED_ROLL8,
    
    	// Little Tumbleweed
    	S_LITTLETUMBLEWEED,
    	S_LITTLETUMBLEWEED_ROLL1,
    	S_LITTLETUMBLEWEED_ROLL2,
    	S_LITTLETUMBLEWEED_ROLL3,
    	S_LITTLETUMBLEWEED_ROLL4,
    	S_LITTLETUMBLEWEED_ROLL5,
    	S_LITTLETUMBLEWEED_ROLL6,
    	S_LITTLETUMBLEWEED_ROLL7,
    	S_LITTLETUMBLEWEED_ROLL8,
    
    	// Cacti
    	S_CACTI1,
    	S_CACTI2,
    	S_CACTI3,
    	S_CACTI4,
    	S_CACTI5,
    	S_CACTI6,
    	S_CACTI7,
    	S_CACTI8,
    	S_CACTI9,
    	S_CACTI10,
    	S_CACTI11,
    	S_CACTITINYSEG,
    	S_CACTISMALLSEG,
    
    	// Warning signs
    	S_ARIDSIGN_CAUTION,
    	S_ARIDSIGN_CACTI,
    	S_ARIDSIGN_SHARPTURN,
    
    	// Oil lamp
    	S_OILLAMP,
    	S_OILLAMPFLARE,
    
    	// TNT barrel
    	S_TNTBARREL_STND1,
    	S_TNTBARREL_EXPL1,
    	S_TNTBARREL_EXPL2,
    	S_TNTBARREL_EXPL3,
    	S_TNTBARREL_EXPL4,
    	S_TNTBARREL_EXPL5,
    	S_TNTBARREL_EXPL6,
    	S_TNTBARREL_EXPL7,
    	S_TNTBARREL_FLYING,
    
    	// TNT proximity shell
    	S_PROXIMITY_TNT,
    	S_PROXIMITY_TNT_TRIGGER1,
    	S_PROXIMITY_TNT_TRIGGER2,
    	S_PROXIMITY_TNT_TRIGGER3,
    	S_PROXIMITY_TNT_TRIGGER4,
    	S_PROXIMITY_TNT_TRIGGER5,
    	S_PROXIMITY_TNT_TRIGGER6,
    	S_PROXIMITY_TNT_TRIGGER7,
    	S_PROXIMITY_TNT_TRIGGER8,
    	S_PROXIMITY_TNT_TRIGGER9,
    	S_PROXIMITY_TNT_TRIGGER10,
    	S_PROXIMITY_TNT_TRIGGER11,
    	S_PROXIMITY_TNT_TRIGGER12,
    	S_PROXIMITY_TNT_TRIGGER13,
    	S_PROXIMITY_TNT_TRIGGER14,
    	S_PROXIMITY_TNT_TRIGGER15,
    	S_PROXIMITY_TNT_TRIGGER16,
    	S_PROXIMITY_TNT_TRIGGER17,
    	S_PROXIMITY_TNT_TRIGGER18,
    	S_PROXIMITY_TNT_TRIGGER19,
    	S_PROXIMITY_TNT_TRIGGER20,
    	S_PROXIMITY_TNT_TRIGGER21,
    	S_PROXIMITY_TNT_TRIGGER22,
    	S_PROXIMITY_TNT_TRIGGER23,
    
    	// Dust devil
    	S_DUSTDEVIL,
    	S_DUSTLAYER1,
    	S_DUSTLAYER2,
    	S_DUSTLAYER3,
    	S_DUSTLAYER4,
    	S_DUSTLAYER5,
    	S_ARIDDUST1,
    	S_ARIDDUST2,
    	S_ARIDDUST3,
    
    	// Minecart
    	S_MINECART_IDLE,
    	S_MINECART_DTH1,
    	S_MINECARTEND,
    	S_MINECARTSEG_FRONT,
    	S_MINECARTSEG_BACK,
    	S_MINECARTSEG_LEFT,
    	S_MINECARTSEG_RIGHT,
    	S_MINECARTSIDEMARK1,
    	S_MINECARTSIDEMARK2,
    	S_MINECARTSPARK,
    
    	// Saloon door
    	S_SALOONDOOR,
    	S_SALOONDOORCENTER,
    
    	// Train cameo
    	S_TRAINCAMEOSPAWNER_1,
    	S_TRAINCAMEOSPAWNER_2,
    	S_TRAINCAMEOSPAWNER_3,
    	S_TRAINCAMEOSPAWNER_4,
    	S_TRAINCAMEOSPAWNER_5,
    	S_TRAINPUFFMAKER,
    
    	// Train
    	S_TRAINDUST,
    	S_TRAINSTEAM,
    
    	// Flame jet
    	S_FLAMEJETSTND,
    	S_FLAMEJETSTART,
    	S_FLAMEJETSTOP,
    	S_FLAMEJETFLAME1,
    	S_FLAMEJETFLAME2,
    	S_FLAMEJETFLAME3,
    	S_FLAMEJETFLAME4,
    	S_FLAMEJETFLAME5,
    	S_FLAMEJETFLAME6,
    	S_FLAMEJETFLAME7,
    	S_FLAMEJETFLAME8,
    	S_FLAMEJETFLAME9,
    
    	// Spinning flame jets
    	S_FJSPINAXISA1, // Counter-clockwise
    	S_FJSPINAXISA2,
    	S_FJSPINAXISB1, // Clockwise
    	S_FJSPINAXISB2,
    
    	// Blade's flame
    	S_FLAMEJETFLAMEB1,
    	S_FLAMEJETFLAMEB2,
    	S_FLAMEJETFLAMEB3,
    
    	// Lavafall
    	S_LAVAFALL_DORMANT,
    	S_LAVAFALL_TELL,
    	S_LAVAFALL_SHOOT,
    	S_LAVAFALL_LAVA1,
    	S_LAVAFALL_LAVA2,
    	S_LAVAFALL_LAVA3,
    	S_LAVAFALLROCK,
    
    	// Rollout Rock
    	S_ROLLOUTSPAWN,
    	S_ROLLOUTROCK,
    
    	// RVZ scenery
    	S_BIGFERNLEAF,
    	S_BIGFERN1,
    	S_BIGFERN2,
    	S_JUNGLEPALM,
    	S_TORCHFLOWER,
    	S_WALLVINE_LONG,
    	S_WALLVINE_SHORT,
    
    	// Glaregoyles
    	S_GLAREGOYLE,
    	S_GLAREGOYLE_CHARGE,
    	S_GLAREGOYLE_BLINK,
    	S_GLAREGOYLE_HOLD,
    	S_GLAREGOYLE_FIRE,
    	S_GLAREGOYLE_LOOP,
    	S_GLAREGOYLE_COOLDOWN,
    	S_GLAREGOYLEUP,
    	S_GLAREGOYLEUP_CHARGE,
    	S_GLAREGOYLEUP_BLINK,
    	S_GLAREGOYLEUP_HOLD,
    	S_GLAREGOYLEUP_FIRE,
    	S_GLAREGOYLEUP_LOOP,
    	S_GLAREGOYLEUP_COOLDOWN,
    	S_GLAREGOYLEDOWN,
    	S_GLAREGOYLEDOWN_CHARGE,
    	S_GLAREGOYLEDOWN_BLINK,
    	S_GLAREGOYLEDOWN_HOLD,
    	S_GLAREGOYLEDOWN_FIRE,
    	S_GLAREGOYLEDOWN_LOOP,
    	S_GLAREGOYLEDOWN_COOLDOWN,
    	S_GLAREGOYLELONG,
    	S_GLAREGOYLELONG_CHARGE,
    	S_GLAREGOYLELONG_BLINK,
    	S_GLAREGOYLELONG_HOLD,
    	S_GLAREGOYLELONG_FIRE,
    	S_GLAREGOYLELONG_LOOP,
    	S_GLAREGOYLELONG_COOLDOWN,
    
    	// ATZ's Red Crystal/Target
    	S_TARGET_IDLE,
    	S_TARGET_HIT1,
    	S_TARGET_HIT2,
    	S_TARGET_RESPAWN,
    	S_TARGET_ALLDONE,
    
    	// ATZ's green flame
    	S_GREENFLAME,
    
    	// ATZ Blue Gargoyle
    	S_BLUEGARGOYLE,
    
    	// Stalagmites
    	S_STG0,
    	S_STG1,
    	S_STG2,
    	S_STG3,
    	S_STG4,
    	S_STG5,
    	S_STG6,
    	S_STG7,
    	S_STG8,
    	S_STG9,
    
    	// Xmas-specific stuff
    	S_XMASPOLE,
    	S_CANDYCANE,
    	S_SNOWMAN,    // normal
    	S_SNOWMANHAT, // with hat + scarf
    	S_LAMPPOST1,  // normal
    	S_LAMPPOST2,  // with snow
    	S_HANGSTAR,
    	S_MISTLETOE,
    	// Xmas GFZ bushes
    	S_XMASBLUEBERRYBUSH,
    	S_XMASBERRYBUSH,
    	S_XMASBUSH,
    	// FHZ
    	S_FHZICE1,
    	S_FHZICE2,
    	S_ROSY_IDLE1,
    	S_ROSY_IDLE2,
    	S_ROSY_IDLE3,
    	S_ROSY_IDLE4,
    	S_ROSY_JUMP,
    	S_ROSY_WALK,
    	S_ROSY_HUG,
    	S_ROSY_PAIN,
    	S_ROSY_STND,
    	S_ROSY_UNHAPPY,
    
    	// Halloween Scenery
    	// Pumpkins
    	S_JACKO1,
    	S_JACKO1OVERLAY_1,
    	S_JACKO1OVERLAY_2,
    	S_JACKO1OVERLAY_3,
    	S_JACKO1OVERLAY_4,
    	S_JACKO2,
    	S_JACKO2OVERLAY_1,
    	S_JACKO2OVERLAY_2,
    	S_JACKO2OVERLAY_3,
    	S_JACKO2OVERLAY_4,
    	S_JACKO3,
    	S_JACKO3OVERLAY_1,
    	S_JACKO3OVERLAY_2,
    	S_JACKO3OVERLAY_3,
    	S_JACKO3OVERLAY_4,
    	// Dr Seuss Trees
    	S_HHZTREE_TOP,
    	S_HHZTREE_TRUNK,
    	S_HHZTREE_LEAF,
    	// Mushroom
    	S_HHZSHROOM_1,
    	S_HHZSHROOM_2,
    	S_HHZSHROOM_3,
    	S_HHZSHROOM_4,
    	S_HHZSHROOM_5,
    	S_HHZSHROOM_6,
    	S_HHZSHROOM_7,
    	S_HHZSHROOM_8,
    	S_HHZSHROOM_9,
    	S_HHZSHROOM_10,
    	S_HHZSHROOM_11,
    	S_HHZSHROOM_12,
    	S_HHZSHROOM_13,
    	S_HHZSHROOM_14,
    	S_HHZSHROOM_15,
    	S_HHZSHROOM_16,
    	// Misc
    	S_HHZGRASS,
    	S_HHZTENT1,
    	S_HHZTENT2,
    	S_HHZSTALAGMITE_TALL,
    	S_HHZSTALAGMITE_SHORT,
    
    	// Botanic Serenity's loads of scenery states
    	S_BSZTALLFLOWER_RED,
    	S_BSZTALLFLOWER_PURPLE,
    	S_BSZTALLFLOWER_BLUE,
    	S_BSZTALLFLOWER_CYAN,
    	S_BSZTALLFLOWER_YELLOW,
    	S_BSZTALLFLOWER_ORANGE,
    	S_BSZFLOWER_RED,
    	S_BSZFLOWER_PURPLE,
    	S_BSZFLOWER_BLUE,
    	S_BSZFLOWER_CYAN,
    	S_BSZFLOWER_YELLOW,
    	S_BSZFLOWER_ORANGE,
    	S_BSZSHORTFLOWER_RED,
    	S_BSZSHORTFLOWER_PURPLE,
    	S_BSZSHORTFLOWER_BLUE,
    	S_BSZSHORTFLOWER_CYAN,
    	S_BSZSHORTFLOWER_YELLOW,
    	S_BSZSHORTFLOWER_ORANGE,
    	S_BSZTULIP_RED,
    	S_BSZTULIP_PURPLE,
    	S_BSZTULIP_BLUE,
    	S_BSZTULIP_CYAN,
    	S_BSZTULIP_YELLOW,
    	S_BSZTULIP_ORANGE,
    	S_BSZCLUSTER_RED,
    	S_BSZCLUSTER_PURPLE,
    	S_BSZCLUSTER_BLUE,
    	S_BSZCLUSTER_CYAN,
    	S_BSZCLUSTER_YELLOW,
    	S_BSZCLUSTER_ORANGE,
    	S_BSZBUSH_RED,
    	S_BSZBUSH_PURPLE,
    	S_BSZBUSH_BLUE,
    	S_BSZBUSH_CYAN,
    	S_BSZBUSH_YELLOW,
    	S_BSZBUSH_ORANGE,
    	S_BSZVINE_RED,
    	S_BSZVINE_PURPLE,
    	S_BSZVINE_BLUE,
    	S_BSZVINE_CYAN,
    	S_BSZVINE_YELLOW,
    	S_BSZVINE_ORANGE,
    	S_BSZSHRUB,
    	S_BSZCLOVER,
    	S_BIG_PALMTREE_TRUNK,
    	S_BIG_PALMTREE_TOP,
    	S_PALMTREE_TRUNK,
    	S_PALMTREE_TOP,
    
    	S_DBALL1,
    	S_DBALL2,
    	S_DBALL3,
    	S_DBALL4,
    	S_DBALL5,
    	S_DBALL6,
    	S_EGGSTATUE2,
    
    	// Shield Orb
    	S_ARMA1,
    	S_ARMA2,
    	S_ARMA3,
    	S_ARMA4,
    	S_ARMA5,
    	S_ARMA6,
    	S_ARMA7,
    	S_ARMA8,
    	S_ARMA9,
    	S_ARMA10,
    	S_ARMA11,
    	S_ARMA12,
    	S_ARMA13,
    	S_ARMA14,
    	S_ARMA15,
    	S_ARMA16,
    
    	S_ARMF1,
    	S_ARMF2,
    	S_ARMF3,
    	S_ARMF4,
    	S_ARMF5,
    	S_ARMF6,
    	S_ARMF7,
    	S_ARMF8,
    	S_ARMF9,
    	S_ARMF10,
    	S_ARMF11,
    	S_ARMF12,
    	S_ARMF13,
    	S_ARMF14,
    	S_ARMF15,
    	S_ARMF16,
    	S_ARMF17,
    	S_ARMF18,
    	S_ARMF19,
    	S_ARMF20,
    	S_ARMF21,
    	S_ARMF22,
    	S_ARMF23,
    	S_ARMF24,
    	S_ARMF25,
    	S_ARMF26,
    	S_ARMF27,
    	S_ARMF28,
    	S_ARMF29,
    	S_ARMF30,
    	S_ARMF31,
    	S_ARMF32,
    
    	S_ARMB1,
    	S_ARMB2,
    	S_ARMB3,
    	S_ARMB4,
    	S_ARMB5,
    	S_ARMB6,
    	S_ARMB7,
    	S_ARMB8,
    	S_ARMB9,
    	S_ARMB10,
    	S_ARMB11,
    	S_ARMB12,
    	S_ARMB13,
    	S_ARMB14,
    	S_ARMB15,
    	S_ARMB16,
    	S_ARMB17,
    	S_ARMB18,
    	S_ARMB19,
    	S_ARMB20,
    	S_ARMB21,
    	S_ARMB22,
    	S_ARMB23,
    	S_ARMB24,
    	S_ARMB25,
    	S_ARMB26,
    	S_ARMB27,
    	S_ARMB28,
    	S_ARMB29,
    	S_ARMB30,
    	S_ARMB31,
    	S_ARMB32,
    
    	S_WIND1,
    	S_WIND2,
    	S_WIND3,
    	S_WIND4,
    	S_WIND5,
    	S_WIND6,
    	S_WIND7,
    	S_WIND8,
    
    	S_MAGN1,
    	S_MAGN2,
    	S_MAGN3,
    	S_MAGN4,
    	S_MAGN5,
    	S_MAGN6,
    	S_MAGN7,
    	S_MAGN8,
    	S_MAGN9,
    	S_MAGN10,
    	S_MAGN11,
    	S_MAGN12,
    	S_MAGN13,
    
    	S_FORC1,
    	S_FORC2,
    	S_FORC3,
    	S_FORC4,
    	S_FORC5,
    	S_FORC6,
    	S_FORC7,
    	S_FORC8,
    	S_FORC9,
    	S_FORC10,
    
    	S_FORC11,
    	S_FORC12,
    	S_FORC13,
    	S_FORC14,
    	S_FORC15,
    	S_FORC16,
    	S_FORC17,
    	S_FORC18,
    	S_FORC19,
    	S_FORC20,
    
    	S_FORC21,
    
    	S_ELEM1,
    	S_ELEM2,
    	S_ELEM3,
    	S_ELEM4,
    	S_ELEM5,
    	S_ELEM6,
    	S_ELEM7,
    	S_ELEM8,
    	S_ELEM9,
    	S_ELEM10,
    	S_ELEM11,
    	S_ELEM12,
    
    	S_ELEM13,
    	S_ELEM14,
    
    	S_ELEMF1,
    	S_ELEMF2,
    	S_ELEMF3,
    	S_ELEMF4,
    	S_ELEMF5,
    	S_ELEMF6,
    	S_ELEMF7,
    	S_ELEMF8,
    	S_ELEMF9,
    	S_ELEMF10,
    
    	S_PITY1,
    	S_PITY2,
    	S_PITY3,
    	S_PITY4,
    	S_PITY5,
    	S_PITY6,
    	S_PITY7,
    	S_PITY8,
    	S_PITY9,
    	S_PITY10,
    	S_PITY11,
    	S_PITY12,
    
    	S_FIRS1,
    	S_FIRS2,
    	S_FIRS3,
    	S_FIRS4,
    	S_FIRS5,
    	S_FIRS6,
    	S_FIRS7,
    	S_FIRS8,
    	S_FIRS9,
    
    	S_FIRS10,
    	S_FIRS11,
    
    	S_FIRSB1,
    	S_FIRSB2,
    	S_FIRSB3,
    	S_FIRSB4,
    	S_FIRSB5,
    	S_FIRSB6,
    	S_FIRSB7,
    	S_FIRSB8,
    	S_FIRSB9,
    
    	S_FIRSB10,
    
    	S_BUBS1,
    	S_BUBS2,
    	S_BUBS3,
    	S_BUBS4,
    	S_BUBS5,
    	S_BUBS6,
    	S_BUBS7,
    	S_BUBS8,
    	S_BUBS9,
    
    	S_BUBS10,
    	S_BUBS11,
    
    	S_BUBSB1,
    	S_BUBSB2,
    	S_BUBSB3,
    	S_BUBSB4,
    
    	S_BUBSB5,
    	S_BUBSB6,
    
    	S_ZAPS1,
    	S_ZAPS2,
    	S_ZAPS3,
    	S_ZAPS4,
    	S_ZAPS5,
    	S_ZAPS6,
    	S_ZAPS7,
    	S_ZAPS8,
    	S_ZAPS9,
    	S_ZAPS10,
    	S_ZAPS11,
    	S_ZAPS12,
    	S_ZAPS13, // blank frame
    	S_ZAPS14,
    	S_ZAPS15,
    	S_ZAPS16,
    
    	S_ZAPSB1, // blank frame
    	S_ZAPSB2,
    	S_ZAPSB3,
    	S_ZAPSB4,
    	S_ZAPSB5,
    	S_ZAPSB6,
    	S_ZAPSB7,
    	S_ZAPSB8,
    	S_ZAPSB9,
    	S_ZAPSB10,
    	S_ZAPSB11, // blank frame
    
    	//Thunder spark
    	S_THUNDERCOIN_SPARK,
    
    	// Invincibility Sparkles
    	S_IVSP,
    
    	// Super Sonic Spark
    	S_SSPK1,
    	S_SSPK2,
    	S_SSPK3,
    	S_SSPK4,
    	S_SSPK5,
    
    	// Flicky-sized bubble
    	S_FLICKY_BUBBLE,
    
    	// Bluebird
    	S_FLICKY_01_OUT,
    	S_FLICKY_01_FLAP1,
    	S_FLICKY_01_FLAP2,
    	S_FLICKY_01_FLAP3,
    	S_FLICKY_01_STAND,
    	S_FLICKY_01_CENTER,
    
    	// Rabbit
    	S_FLICKY_02_OUT,
    	S_FLICKY_02_AIM,
    	S_FLICKY_02_HOP,
    	S_FLICKY_02_UP,
    	S_FLICKY_02_DOWN,
    	S_FLICKY_02_STAND,
    	S_FLICKY_02_CENTER,
    
    	// Chicken
    	S_FLICKY_03_OUT,
    	S_FLICKY_03_AIM,
    	S_FLICKY_03_HOP,
    	S_FLICKY_03_UP,
    	S_FLICKY_03_FLAP1,
    	S_FLICKY_03_FLAP2,
    	S_FLICKY_03_STAND,
    	S_FLICKY_03_CENTER,
    
    	// Seal
    	S_FLICKY_04_OUT,
    	S_FLICKY_04_AIM,
    	S_FLICKY_04_HOP,
    	S_FLICKY_04_UP,
    	S_FLICKY_04_DOWN,
    	S_FLICKY_04_SWIM1,
    	S_FLICKY_04_SWIM2,
    	S_FLICKY_04_SWIM3,
    	S_FLICKY_04_SWIM4,
    	S_FLICKY_04_STAND,
    	S_FLICKY_04_CENTER,
    
    	// Pig
    	S_FLICKY_05_OUT,
    	S_FLICKY_05_AIM,
    	S_FLICKY_05_HOP,
    	S_FLICKY_05_UP,
    	S_FLICKY_05_DOWN,
    	S_FLICKY_05_STAND,
    	S_FLICKY_05_CENTER,
    
    	// Chipmunk
    	S_FLICKY_06_OUT,
    	S_FLICKY_06_AIM,
    	S_FLICKY_06_HOP,
    	S_FLICKY_06_UP,
    	S_FLICKY_06_DOWN,
    	S_FLICKY_06_STAND,
    	S_FLICKY_06_CENTER,
    
    	// Penguin
    	S_FLICKY_07_OUT,
    	S_FLICKY_07_AIML,
    	S_FLICKY_07_HOPL,
    	S_FLICKY_07_UPL,
    	S_FLICKY_07_DOWNL,
    	S_FLICKY_07_AIMR,
    	S_FLICKY_07_HOPR,
    	S_FLICKY_07_UPR,
    	S_FLICKY_07_DOWNR,
    	S_FLICKY_07_SWIM1,
    	S_FLICKY_07_SWIM2,
    	S_FLICKY_07_SWIM3,
    	S_FLICKY_07_STAND,
    	S_FLICKY_07_CENTER,
    
    	// Fish
    	S_FLICKY_08_OUT,
    	S_FLICKY_08_AIM,
    	S_FLICKY_08_HOP,
    	S_FLICKY_08_FLAP1,
    	S_FLICKY_08_FLAP2,
    	S_FLICKY_08_FLAP3,
    	S_FLICKY_08_FLAP4,
    	S_FLICKY_08_SWIM1,
    	S_FLICKY_08_SWIM2,
    	S_FLICKY_08_SWIM3,
    	S_FLICKY_08_SWIM4,
    	S_FLICKY_08_STAND,
    	S_FLICKY_08_CENTER,
    
    	// Ram
    	S_FLICKY_09_OUT,
    	S_FLICKY_09_AIM,
    	S_FLICKY_09_HOP,
    	S_FLICKY_09_UP,
    	S_FLICKY_09_DOWN,
    	S_FLICKY_09_STAND,
    	S_FLICKY_09_CENTER,
    
    	// Puffin
    	S_FLICKY_10_OUT,
    	S_FLICKY_10_FLAP1,
    	S_FLICKY_10_FLAP2,
    	S_FLICKY_10_STAND,
    	S_FLICKY_10_CENTER,
    
    	// Cow
    	S_FLICKY_11_OUT,
    	S_FLICKY_11_AIM,
    	S_FLICKY_11_RUN1,
    	S_FLICKY_11_RUN2,
    	S_FLICKY_11_RUN3,
    	S_FLICKY_11_STAND,
    	S_FLICKY_11_CENTER,
    
    	// Rat
    	S_FLICKY_12_OUT,
    	S_FLICKY_12_AIM,
    	S_FLICKY_12_RUN1,
    	S_FLICKY_12_RUN2,
    	S_FLICKY_12_RUN3,
    	S_FLICKY_12_STAND,
    	S_FLICKY_12_CENTER,
    
    	// Bear
    	S_FLICKY_13_OUT,
    	S_FLICKY_13_AIM,
    	S_FLICKY_13_HOP,
    	S_FLICKY_13_UP,
    	S_FLICKY_13_DOWN,
    	S_FLICKY_13_STAND,
    	S_FLICKY_13_CENTER,
    
    	// Dove
    	S_FLICKY_14_OUT,
    	S_FLICKY_14_FLAP1,
    	S_FLICKY_14_FLAP2,
    	S_FLICKY_14_FLAP3,
    	S_FLICKY_14_STAND,
    	S_FLICKY_14_CENTER,
    
    	// Cat
    	S_FLICKY_15_OUT,
    	S_FLICKY_15_AIM,
    	S_FLICKY_15_HOP,
    	S_FLICKY_15_UP,
    	S_FLICKY_15_DOWN,
    	S_FLICKY_15_STAND,
    	S_FLICKY_15_CENTER,
    
    	// Canary
    	S_FLICKY_16_OUT,
    	S_FLICKY_16_FLAP1,
    	S_FLICKY_16_FLAP2,
    	S_FLICKY_16_FLAP3,
    	S_FLICKY_16_STAND,
    	S_FLICKY_16_CENTER,
    
    	// Spider
    	S_SECRETFLICKY_01_OUT,
    	S_SECRETFLICKY_01_AIM,
    	S_SECRETFLICKY_01_HOP,
    	S_SECRETFLICKY_01_UP,
    	S_SECRETFLICKY_01_DOWN,
    	S_SECRETFLICKY_01_STAND,
    	S_SECRETFLICKY_01_CENTER,
    
    	// Bat
    	S_SECRETFLICKY_02_OUT,
    	S_SECRETFLICKY_02_FLAP1,
    	S_SECRETFLICKY_02_FLAP2,
    	S_SECRETFLICKY_02_FLAP3,
    	S_SECRETFLICKY_02_STAND,
    	S_SECRETFLICKY_02_CENTER,
    
    	// Fan
    	S_FAN,
    	S_FAN2,
    	S_FAN3,
    	S_FAN4,
    	S_FAN5,
    
    	// Steam Riser
    	S_STEAM1,
    	S_STEAM2,
    	S_STEAM3,
    	S_STEAM4,
    	S_STEAM5,
    	S_STEAM6,
    	S_STEAM7,
    	S_STEAM8,
    
    	// Bumpers
    	S_BUMPER,
    	S_BUMPERHIT,
    
    	// Balloons
    	S_BALLOON,
    	S_BALLOONPOP1,
    	S_BALLOONPOP2,
    	S_BALLOONPOP3,
    	S_BALLOONPOP4,
    	S_BALLOONPOP5,
    	S_BALLOONPOP6,
    
    	// Yellow Spring
    	S_YELLOWSPRING,
    	S_YELLOWSPRING2,
    	S_YELLOWSPRING3,
    	S_YELLOWSPRING4,
    	S_YELLOWSPRING5,
    
    	// Red Spring
    	S_REDSPRING,
    	S_REDSPRING2,
    	S_REDSPRING3,
    	S_REDSPRING4,
    	S_REDSPRING5,
    
    	// Blue Spring
    	S_BLUESPRING,
    	S_BLUESPRING2,
    	S_BLUESPRING3,
    	S_BLUESPRING4,
    	S_BLUESPRING5,
    
    	// Yellow Diagonal Spring
    	S_YDIAG1,
    	S_YDIAG2,
    	S_YDIAG3,
    	S_YDIAG4,
    	S_YDIAG5,
    	S_YDIAG6,
    	S_YDIAG7,
    	S_YDIAG8,
    
    	// Red Diagonal Spring
    	S_RDIAG1,
    	S_RDIAG2,
    	S_RDIAG3,
    	S_RDIAG4,
    	S_RDIAG5,
    	S_RDIAG6,
    	S_RDIAG7,
    	S_RDIAG8,
    
    	// Blue Diagonal Spring
    	S_BDIAG1,
    	S_BDIAG2,
    	S_BDIAG3,
    	S_BDIAG4,
    	S_BDIAG5,
    	S_BDIAG6,
    	S_BDIAG7,
    	S_BDIAG8,
    
    	// Yellow Side Spring
    	S_YHORIZ1,
    	S_YHORIZ2,
    	S_YHORIZ3,
    	S_YHORIZ4,
    	S_YHORIZ5,
    	S_YHORIZ6,
    	S_YHORIZ7,
    	S_YHORIZ8,
    
    	// Red Side Spring
    	S_RHORIZ1,
    	S_RHORIZ2,
    	S_RHORIZ3,
    	S_RHORIZ4,
    	S_RHORIZ5,
    	S_RHORIZ6,
    	S_RHORIZ7,
    	S_RHORIZ8,
    
    	// Blue Side Spring
    	S_BHORIZ1,
    	S_BHORIZ2,
    	S_BHORIZ3,
    	S_BHORIZ4,
    	S_BHORIZ5,
    	S_BHORIZ6,
    	S_BHORIZ7,
    	S_BHORIZ8,
    
    	// Booster
    	S_BOOSTERSOUND,
    	S_YELLOWBOOSTERROLLER,
    	S_YELLOWBOOSTERSEG_LEFT,
    	S_YELLOWBOOSTERSEG_RIGHT,
    	S_YELLOWBOOSTERSEG_FACE,
    	S_REDBOOSTERROLLER,
    	S_REDBOOSTERSEG_LEFT,
    	S_REDBOOSTERSEG_RIGHT,
    	S_REDBOOSTERSEG_FACE,
    
    	// Rain
    	S_RAIN1,
    	S_RAINRETURN,
    
    	// Snowflake
    	S_SNOW1,
    	S_SNOW2,
    	S_SNOW3,
    
    	// Water Splish
    	S_SPLISH1,
    	S_SPLISH2,
    	S_SPLISH3,
    	S_SPLISH4,
    	S_SPLISH5,
    	S_SPLISH6,
    	S_SPLISH7,
    	S_SPLISH8,
    	S_SPLISH9,
    
    	// Lava Splish
    	S_LAVASPLISH,
    
    	// added water splash
    	S_SPLASH1,
    	S_SPLASH2,
    	S_SPLASH3,
    
    	// lava/slime damage burn smoke
    	S_SMOKE1,
    	S_SMOKE2,
    	S_SMOKE3,
    	S_SMOKE4,
    	S_SMOKE5,
    
    	// Bubbles
    	S_SMALLBUBBLE,
    	S_MEDIUMBUBBLE,
    	S_LARGEBUBBLE1,
    	S_LARGEBUBBLE2,
    	S_EXTRALARGEBUBBLE, // breathable
    
    	S_POP1, // Extra Large bubble goes POP!
    
    	S_WATERZAP,
    
    	// Spindash dust
    	S_SPINDUST1,
    	S_SPINDUST2,
    	S_SPINDUST3,
    	S_SPINDUST4,
    	S_SPINDUST_BUBBLE1,
    	S_SPINDUST_BUBBLE2,
    	S_SPINDUST_BUBBLE3,
    	S_SPINDUST_BUBBLE4,
    	S_SPINDUST_FIRE1,
    	S_SPINDUST_FIRE2,
    	S_SPINDUST_FIRE3,
    	S_SPINDUST_FIRE4,
    
    	S_FOG1,
    	S_FOG2,
    	S_FOG3,
    	S_FOG4,
    	S_FOG5,
    	S_FOG6,
    	S_FOG7,
    	S_FOG8,
    	S_FOG9,
    	S_FOG10,
    	S_FOG11,
    	S_FOG12,
    	S_FOG13,
    	S_FOG14,
    
    	S_SEED,
    
    	S_PARTICLE,
    
    	// Score Logos
    	S_SCRA, // 100
    	S_SCRB, // 200
    	S_SCRC, // 500
    	S_SCRD, // 1000
    	S_SCRE, // 10000
    	S_SCRF, // 400 (mario)
    	S_SCRG, // 800 (mario)
    	S_SCRH, // 2000 (mario)
    	S_SCRI, // 4000 (mario)
    	S_SCRJ, // 8000 (mario)
    	S_SCRK, // 1UP (mario)
    	S_SCRL, // 10
    
    	// Drowning Timer Numbers
    	S_ZERO1,
    	S_ONE1,
    	S_TWO1,
    	S_THREE1,
    	S_FOUR1,
    	S_FIVE1,
    
    	S_ZERO2,
    	S_ONE2,
    	S_TWO2,
    	S_THREE2,
    	S_FOUR2,
    	S_FIVE2,
    
    	S_FLIGHTINDICATOR,
    
    	S_LOCKON1,
    	S_LOCKON2,
    	S_LOCKON3,
    	S_LOCKON4,
    	S_LOCKONINF1,
    	S_LOCKONINF2,
    	S_LOCKONINF3,
    	S_LOCKONINF4,
    
    	// Tag Sign
    	S_TTAG,
    
    	// Got Flag Sign
    	S_GOTFLAG,
    
    	// Finish flag
    	S_FINISHFLAG,
    
    	S_CORK,
    	S_LHRT,
    
    	// Red Ring
    	S_RRNG1,
    	S_RRNG2,
    	S_RRNG3,
    	S_RRNG4,
    	S_RRNG5,
    	S_RRNG6,
    	S_RRNG7,
    
    	// Weapon Ring Ammo
    	S_BOUNCERINGAMMO,
    	S_RAILRINGAMMO,
    	S_INFINITYRINGAMMO,
    	S_AUTOMATICRINGAMMO,
    	S_EXPLOSIONRINGAMMO,
    	S_SCATTERRINGAMMO,
    	S_GRENADERINGAMMO,
    
    	// Weapon pickup
    	S_BOUNCEPICKUP,
    	S_BOUNCEPICKUPFADE1,
    	S_BOUNCEPICKUPFADE2,
    	S_BOUNCEPICKUPFADE3,
    	S_BOUNCEPICKUPFADE4,
    	S_BOUNCEPICKUPFADE5,
    	S_BOUNCEPICKUPFADE6,
    	S_BOUNCEPICKUPFADE7,
    	S_BOUNCEPICKUPFADE8,
    
    	S_RAILPICKUP,
    	S_RAILPICKUPFADE1,
    	S_RAILPICKUPFADE2,
    	S_RAILPICKUPFADE3,
    	S_RAILPICKUPFADE4,
    	S_RAILPICKUPFADE5,
    	S_RAILPICKUPFADE6,
    	S_RAILPICKUPFADE7,
    	S_RAILPICKUPFADE8,
    
    	S_AUTOPICKUP,
    	S_AUTOPICKUPFADE1,
    	S_AUTOPICKUPFADE2,
    	S_AUTOPICKUPFADE3,
    	S_AUTOPICKUPFADE4,
    	S_AUTOPICKUPFADE5,
    	S_AUTOPICKUPFADE6,
    	S_AUTOPICKUPFADE7,
    	S_AUTOPICKUPFADE8,
    
    	S_EXPLODEPICKUP,
    	S_EXPLODEPICKUPFADE1,
    	S_EXPLODEPICKUPFADE2,
    	S_EXPLODEPICKUPFADE3,
    	S_EXPLODEPICKUPFADE4,
    	S_EXPLODEPICKUPFADE5,
    	S_EXPLODEPICKUPFADE6,
    	S_EXPLODEPICKUPFADE7,
    	S_EXPLODEPICKUPFADE8,
    
    	S_SCATTERPICKUP,
    	S_SCATTERPICKUPFADE1,
    	S_SCATTERPICKUPFADE2,
    	S_SCATTERPICKUPFADE3,
    	S_SCATTERPICKUPFADE4,
    	S_SCATTERPICKUPFADE5,
    	S_SCATTERPICKUPFADE6,
    	S_SCATTERPICKUPFADE7,
    	S_SCATTERPICKUPFADE8,
    
    	S_GRENADEPICKUP,
    	S_GRENADEPICKUPFADE1,
    	S_GRENADEPICKUPFADE2,
    	S_GRENADEPICKUPFADE3,
    	S_GRENADEPICKUPFADE4,
    	S_GRENADEPICKUPFADE5,
    	S_GRENADEPICKUPFADE6,
    	S_GRENADEPICKUPFADE7,
    	S_GRENADEPICKUPFADE8,
    
    	// Thrown Weapon Rings
    	S_THROWNBOUNCE1,
    	S_THROWNBOUNCE2,
    	S_THROWNBOUNCE3,
    	S_THROWNBOUNCE4,
    	S_THROWNBOUNCE5,
    	S_THROWNBOUNCE6,
    	S_THROWNBOUNCE7,
    	S_THROWNINFINITY1,
    	S_THROWNINFINITY2,
    	S_THROWNINFINITY3,
    	S_THROWNINFINITY4,
    	S_THROWNINFINITY5,
    	S_THROWNINFINITY6,
    	S_THROWNINFINITY7,
    	S_THROWNAUTOMATIC1,
    	S_THROWNAUTOMATIC2,
    	S_THROWNAUTOMATIC3,
    	S_THROWNAUTOMATIC4,
    	S_THROWNAUTOMATIC5,
    	S_THROWNAUTOMATIC6,
    	S_THROWNAUTOMATIC7,
    	S_THROWNEXPLOSION1,
    	S_THROWNEXPLOSION2,
    	S_THROWNEXPLOSION3,
    	S_THROWNEXPLOSION4,
    	S_THROWNEXPLOSION5,
    	S_THROWNEXPLOSION6,
    	S_THROWNEXPLOSION7,
    	S_THROWNGRENADE1,
    	S_THROWNGRENADE2,
    	S_THROWNGRENADE3,
    	S_THROWNGRENADE4,
    	S_THROWNGRENADE5,
    	S_THROWNGRENADE6,
    	S_THROWNGRENADE7,
    	S_THROWNGRENADE8,
    	S_THROWNGRENADE9,
    	S_THROWNGRENADE10,
    	S_THROWNGRENADE11,
    	S_THROWNGRENADE12,
    	S_THROWNGRENADE13,
    	S_THROWNGRENADE14,
    	S_THROWNGRENADE15,
    	S_THROWNGRENADE16,
    	S_THROWNGRENADE17,
    	S_THROWNGRENADE18,
    	S_THROWNSCATTER,
    
    	S_RINGEXPLODE,
    
    	S_COIN1,
    	S_COIN2,
    	S_COIN3,
    	S_COINSPARKLE1,
    	S_COINSPARKLE2,
    	S_COINSPARKLE3,
    	S_COINSPARKLE4,
    	S_GOOMBA1,
    	S_GOOMBA1B,
    	S_GOOMBA2,
    	S_GOOMBA3,
    	S_GOOMBA4,
    	S_GOOMBA5,
    	S_GOOMBA6,
    	S_GOOMBA7,
    	S_GOOMBA8,
    	S_GOOMBA9,
    	S_GOOMBA_DEAD,
    	S_BLUEGOOMBA1,
    	S_BLUEGOOMBA1B,
    	S_BLUEGOOMBA2,
    	S_BLUEGOOMBA3,
    	S_BLUEGOOMBA4,
    	S_BLUEGOOMBA5,
    	S_BLUEGOOMBA6,
    	S_BLUEGOOMBA7,
    	S_BLUEGOOMBA8,
    	S_BLUEGOOMBA9,
    	S_BLUEGOOMBA_DEAD,
    
    	// Mario-specific stuff
    	S_FIREFLOWER1,
    	S_FIREFLOWER2,
    	S_FIREFLOWER3,
    	S_FIREFLOWER4,
    	S_FIREBALL,
    	S_FIREBALLTRAIL1,
    	S_FIREBALLTRAIL2,
    	S_SHELL,
    	S_PUMA_START1,
    	S_PUMA_START2,
    	S_PUMA_UP1,
    	S_PUMA_UP2,
    	S_PUMA_UP3,
    	S_PUMA_DOWN1,
    	S_PUMA_DOWN2,
    	S_PUMA_DOWN3,
    	S_PUMATRAIL1,
    	S_PUMATRAIL2,
    	S_PUMATRAIL3,
    	S_PUMATRAIL4,
    	S_HAMMER,
    	S_KOOPA1,
    	S_KOOPA2,
    	S_KOOPAFLAME1,
    	S_KOOPAFLAME2,
    	S_KOOPAFLAME3,
    	S_AXE1,
    	S_AXE2,
    	S_AXE3,
    	S_MARIOBUSH1,
    	S_MARIOBUSH2,
    	S_TOAD,
    
    	// Nights-specific stuff
    	S_NIGHTSDRONE_MAN1,
    	S_NIGHTSDRONE_MAN2,
    	S_NIGHTSDRONE_SPARKLING1,
    	S_NIGHTSDRONE_SPARKLING2,
    	S_NIGHTSDRONE_SPARKLING3,
    	S_NIGHTSDRONE_SPARKLING4,
    	S_NIGHTSDRONE_SPARKLING5,
    	S_NIGHTSDRONE_SPARKLING6,
    	S_NIGHTSDRONE_SPARKLING7,
    	S_NIGHTSDRONE_SPARKLING8,
    	S_NIGHTSDRONE_SPARKLING9,
    	S_NIGHTSDRONE_SPARKLING10,
    	S_NIGHTSDRONE_SPARKLING11,
    	S_NIGHTSDRONE_SPARKLING12,
    	S_NIGHTSDRONE_SPARKLING13,
    	S_NIGHTSDRONE_SPARKLING14,
    	S_NIGHTSDRONE_SPARKLING15,
    	S_NIGHTSDRONE_SPARKLING16,
    	S_NIGHTSDRONE_GOAL1,
    	S_NIGHTSDRONE_GOAL2,
    	S_NIGHTSDRONE_GOAL3,
    	S_NIGHTSDRONE_GOAL4,
    
    	S_NIGHTSPARKLE1,
    	S_NIGHTSPARKLE2,
    	S_NIGHTSPARKLE3,
    	S_NIGHTSPARKLE4,
    	S_NIGHTSPARKLESUPER1,
    	S_NIGHTSPARKLESUPER2,
    	S_NIGHTSPARKLESUPER3,
    	S_NIGHTSPARKLESUPER4,
    	S_NIGHTSLOOPHELPER,
    
    	// NiGHTS bumper
    	S_NIGHTSBUMPER1,
    	S_NIGHTSBUMPER2,
    	S_NIGHTSBUMPER3,
    	S_NIGHTSBUMPER4,
    	S_NIGHTSBUMPER5,
    	S_NIGHTSBUMPER6,
    	S_NIGHTSBUMPER7,
    	S_NIGHTSBUMPER8,
    	S_NIGHTSBUMPER9,
    	S_NIGHTSBUMPER10,
    	S_NIGHTSBUMPER11,
    	S_NIGHTSBUMPER12,
    
    	S_HOOP,
    	S_HOOP_XMASA,
    	S_HOOP_XMASB,
    
    	S_NIGHTSCORE10,
    	S_NIGHTSCORE20,
    	S_NIGHTSCORE30,
    	S_NIGHTSCORE40,
    	S_NIGHTSCORE50,
    	S_NIGHTSCORE60,
    	S_NIGHTSCORE70,
    	S_NIGHTSCORE80,
    	S_NIGHTSCORE90,
    	S_NIGHTSCORE100,
    	S_NIGHTSCORE10_2,
    	S_NIGHTSCORE20_2,
    	S_NIGHTSCORE30_2,
    	S_NIGHTSCORE40_2,
    	S_NIGHTSCORE50_2,
    	S_NIGHTSCORE60_2,
    	S_NIGHTSCORE70_2,
    	S_NIGHTSCORE80_2,
    	S_NIGHTSCORE90_2,
    	S_NIGHTSCORE100_2,
    
    	// NiGHTS Paraloop Powerups
    	S_NIGHTSSUPERLOOP,
    	S_NIGHTSDRILLREFILL,
    	S_NIGHTSHELPER,
    	S_NIGHTSEXTRATIME,
    	S_NIGHTSLINKFREEZE,
    	S_EGGCAPSULE,
    
    	// Orbiting Chaos Emeralds
    	S_ORBITEM1,
    	S_ORBITEM2,
    	S_ORBITEM3,
    	S_ORBITEM4,
    	S_ORBITEM5,
    	S_ORBITEM6,
    	S_ORBITEM7,
    	S_ORBITEM8,
    	S_ORBIDYA1,
    	S_ORBIDYA2,
    	S_ORBIDYA3,
    	S_ORBIDYA4,
    	S_ORBIDYA5,
    
    	// "Flicky" helper
    	S_NIGHTOPIANHELPER1,
    	S_NIGHTOPIANHELPER2,
    	S_NIGHTOPIANHELPER3,
    	S_NIGHTOPIANHELPER4,
    	S_NIGHTOPIANHELPER5,
    	S_NIGHTOPIANHELPER6,
    	S_NIGHTOPIANHELPER7,
    	S_NIGHTOPIANHELPER8,
    	S_NIGHTOPIANHELPER9,
    
    	// Nightopian
    	S_PIAN0,
    	S_PIAN1,
    	S_PIAN2,
    	S_PIAN3,
    	S_PIAN4,
    	S_PIAN5,
    	S_PIAN6,
    	S_PIANSING,
    
    	// Shleep
    	S_SHLEEP1,
    	S_SHLEEP2,
    	S_SHLEEP3,
    	S_SHLEEP4,
    	S_SHLEEPBOUNCE1,
    	S_SHLEEPBOUNCE2,
    	S_SHLEEPBOUNCE3,
    
    	// Secret badniks and hazards, shhhh
    	S_PENGUINATOR_LOOK,
    	S_PENGUINATOR_WADDLE1,
    	S_PENGUINATOR_WADDLE2,
    	S_PENGUINATOR_WADDLE3,
    	S_PENGUINATOR_WADDLE4,
    	S_PENGUINATOR_SLIDE1,
    	S_PENGUINATOR_SLIDE2,
    	S_PENGUINATOR_SLIDE3,
    	S_PENGUINATOR_SLIDE4,
    	S_PENGUINATOR_SLIDE5,
    
    	S_POPHAT_LOOK,
    	S_POPHAT_SHOOT1,
    	S_POPHAT_SHOOT2,
    	S_POPHAT_SHOOT3,
    	S_POPHAT_SHOOT4,
    	S_POPSHOT,
    	S_POPSHOT_TRAIL,
    
    	S_HIVEELEMENTAL_LOOK,
    	S_HIVEELEMENTAL_PREPARE1,
    	S_HIVEELEMENTAL_PREPARE2,
    	S_HIVEELEMENTAL_SHOOT1,
    	S_HIVEELEMENTAL_SHOOT2,
    	S_HIVEELEMENTAL_DORMANT,
    	S_HIVEELEMENTAL_PAIN,
    	S_HIVEELEMENTAL_DIE1,
    	S_HIVEELEMENTAL_DIE2,
    	S_HIVEELEMENTAL_DIE3,
    
    	S_BUMBLEBORE_SPAWN,
    	S_BUMBLEBORE_LOOK1,
    	S_BUMBLEBORE_LOOK2,
    	S_BUMBLEBORE_FLY1,
    	S_BUMBLEBORE_FLY2,
    	S_BUMBLEBORE_RAISE,
    	S_BUMBLEBORE_FALL1,
    	S_BUMBLEBORE_FALL2,
    	S_BUMBLEBORE_STUCK1,
    	S_BUMBLEBORE_STUCK2,
    	S_BUMBLEBORE_DIE,
    
    	S_BUGGLEIDLE,
    	S_BUGGLEFLY,
    
    	S_SMASHSPIKE_FLOAT,
    	S_SMASHSPIKE_EASE1,
    	S_SMASHSPIKE_EASE2,
    	S_SMASHSPIKE_FALL,
    	S_SMASHSPIKE_STOMP1,
    	S_SMASHSPIKE_STOMP2,
    	S_SMASHSPIKE_RISE1,
    	S_SMASHSPIKE_RISE2,
    
    	S_CACO_LOOK,
    	S_CACO_WAKE1,
    	S_CACO_WAKE2,
    	S_CACO_WAKE3,
    	S_CACO_WAKE4,
    	S_CACO_ROAR,
    	S_CACO_CHASE,
    	S_CACO_CHASE_REPEAT,
    	S_CACO_RANDOM,
    	S_CACO_PREPARE_SOUND,
    	S_CACO_PREPARE1,
    	S_CACO_PREPARE2,
    	S_CACO_PREPARE3,
    	S_CACO_SHOOT_SOUND,
    	S_CACO_SHOOT1,
    	S_CACO_SHOOT2,
    	S_CACO_CLOSE,
    	S_CACO_DIE_FLAGS,
    	S_CACO_DIE_GIB1,
    	S_CACO_DIE_GIB2,
    	S_CACO_DIE_SCREAM,
    	S_CACO_DIE_SHATTER,
    	S_CACO_DIE_FALL,
    	S_CACOSHARD_RANDOMIZE,
    	S_CACOSHARD1_1,
    	S_CACOSHARD1_2,
    	S_CACOSHARD2_1,
    	S_CACOSHARD2_2,
    	S_CACOFIRE1,
    	S_CACOFIRE2,
    	S_CACOFIRE3,
    	S_CACOFIRE_EXPLODE1,
    	S_CACOFIRE_EXPLODE2,
    	S_CACOFIRE_EXPLODE3,
    	S_CACOFIRE_EXPLODE4,
    
    	S_SPINBOBERT_MOVE_FLIPUP,
    	S_SPINBOBERT_MOVE_UP,
    	S_SPINBOBERT_MOVE_FLIPDOWN,
    	S_SPINBOBERT_MOVE_DOWN,
    	S_SPINBOBERT_FIRE_MOVE,
    	S_SPINBOBERT_FIRE_GHOST,
    	S_SPINBOBERT_FIRE_TRAIL1,
    	S_SPINBOBERT_FIRE_TRAIL2,
    	S_SPINBOBERT_FIRE_TRAIL3,
    
    	S_HANGSTER_LOOK,
    	S_HANGSTER_SWOOP1,
    	S_HANGSTER_SWOOP2,
    	S_HANGSTER_ARC1,
    	S_HANGSTER_ARC2,
    	S_HANGSTER_ARC3,
    	S_HANGSTER_FLY1,
    	S_HANGSTER_FLY2,
    	S_HANGSTER_FLY3,
    	S_HANGSTER_FLY4,
    	S_HANGSTER_FLYREPEAT,
    	S_HANGSTER_ARCUP1,
    	S_HANGSTER_ARCUP2,
    	S_HANGSTER_ARCUP3,
    	S_HANGSTER_RETURN1,
    	S_HANGSTER_RETURN2,
    	S_HANGSTER_RETURN3,
    
    	S_CRUMBLE1,
    	S_CRUMBLE2,
    
    	// Spark
    	S_SPRK1,
    	S_SPRK2,
    	S_SPRK3,
    
    	// Robot Explosion
    	S_XPLD_FLICKY,
    	S_XPLD1,
    	S_XPLD2,
    	S_XPLD3,
    	S_XPLD4,
    	S_XPLD5,
    	S_XPLD6,
    	S_XPLD_EGGTRAP,
    
    	// Underwater Explosion
    	S_WPLD1,
    	S_WPLD2,
    	S_WPLD3,
    	S_WPLD4,
    	S_WPLD5,
    	S_WPLD6,
    
    	S_DUST1,
    	S_DUST2,
    	S_DUST3,
    	S_DUST4,
    
    	S_ROCKSPAWN,
    
    	S_ROCKCRUMBLEA,
    	S_ROCKCRUMBLEB,
    	S_ROCKCRUMBLEC,
    	S_ROCKCRUMBLED,
    	S_ROCKCRUMBLEE,
    	S_ROCKCRUMBLEF,
    	S_ROCKCRUMBLEG,
    	S_ROCKCRUMBLEH,
    	S_ROCKCRUMBLEI,
    	S_ROCKCRUMBLEJ,
    	S_ROCKCRUMBLEK,
    	S_ROCKCRUMBLEL,
    	S_ROCKCRUMBLEM,
    	S_ROCKCRUMBLEN,
    	S_ROCKCRUMBLEO,
    	S_ROCKCRUMBLEP,
    
    	// Level debris
    	S_GFZDEBRIS,
    	S_BRICKDEBRIS,
    	S_WOODDEBRIS,
    	S_REDBRICKDEBRIS, // for CEZ3
    	S_BLUEBRICKDEBRIS, // for CEZ3
    	S_YELLOWBRICKDEBRIS, // for CEZ3
    
    	S_NAMECHECK,
    
    	S_FIRSTFREESLOT,
    	S_LASTFREESLOT = S_FIRSTFREESLOT + NUMSTATEFREESLOTS - 1,
    	NUMSTATES
    } statenum_t;
    
    typedef struct
    {
    	spritenum_t sprite;
    	UINT32 frame; // we use the upper 16 bits for translucency and other shade effects
    	INT32 tics;
    	actionf_t action;
    	INT32 var1;
    	INT32 var2;
    	statenum_t nextstate;
    } state_t;
    
    extern state_t states[NUMSTATES];
    extern char sprnames[NUMSPRITES + 1][5];
    extern char spr2names[NUMPLAYERSPRITES][5];
    extern playersprite_t spr2defaults[NUMPLAYERSPRITES];
    extern state_t *astate;
    extern playersprite_t free_spr2;
    
    typedef enum mobj_type
    {
    	MT_NULL,
    	MT_UNKNOWN,
    
    	MT_THOK, // Thok! mobj
    	MT_PLAYER,
    	MT_TAILSOVERLAY, // c:
    	MT_METALJETFUME,
    
    	// Enemies
    	MT_BLUECRAWLA, // Crawla (Blue)
    	MT_REDCRAWLA, // Crawla (Red)
    	MT_GFZFISH, // SDURF
    	MT_GOLDBUZZ, // Buzz (Gold)
    	MT_REDBUZZ, // Buzz (Red)
    	MT_JETTBOMBER, // Jetty-Syn Bomber
    	MT_JETTGUNNER, // Jetty-Syn Gunner
    	MT_CRAWLACOMMANDER, // Crawla Commander
    	MT_DETON, // Deton
    	MT_SKIM, // Skim mine dropper
    	MT_TURRET, // Industrial Turret
    	MT_POPUPTURRET, // Pop-Up Turret
    	MT_SPINCUSHION, // Spincushion
    	MT_CRUSHSTACEAN, // Crushstacean
    	MT_CRUSHCLAW, // Big meaty claw
    	MT_CRUSHCHAIN, // Chain
    	MT_BANPYURA, // Banpyura
    	MT_BANPSPRING, // Banpyura spring
    	MT_JETJAW, // Jet Jaw
    	MT_SNAILER, // Snailer
    	MT_VULTURE, // BASH
    	MT_POINTY, // Pointy
    	MT_POINTYBALL, // Pointy Ball
    	MT_ROBOHOOD, // Robo-Hood
    	MT_FACESTABBER, // Castlebot Facestabber
    	MT_FACESTABBERSPEAR, // Castlebot Facestabber spear aura
    	MT_EGGGUARD, // Egg Guard
    	MT_EGGSHIELD, // Egg Guard's shield
    	MT_GSNAPPER, // Green Snapper
    	MT_SNAPPER_LEG, // Green Snapper leg
    	MT_SNAPPER_HEAD, // Green Snapper head
    	MT_MINUS, // Minus
    	MT_MINUSDIRT, // Minus dirt
    	MT_SPRINGSHELL, // Spring Shell
    	MT_YELLOWSHELL, // Spring Shell (yellow)
    	MT_UNIDUS, // Unidus
    	MT_UNIBALL, // Unidus Ball
    	MT_CANARIVORE, // Canarivore
    	MT_CANARIVORE_GAS, // Canarivore gas
    	MT_PYREFLY, // Pyre Fly
    	MT_PYREFLY_FIRE, // Pyre Fly fire
    	MT_PTERABYTESPAWNER, // Pterabyte spawner
    	MT_PTERABYTEWAYPOINT, // Pterabyte waypoint
    	MT_PTERABYTE, // Pterabyte
    	MT_DRAGONBOMBER, // Dragonbomber
    	MT_DRAGONWING, // Dragonbomber wing
    	MT_DRAGONTAIL, // Dragonbomber tail segment
    	MT_DRAGONMINE, // Dragonbomber mine
    
    	// Generic Boss Items
    	MT_BOSSEXPLODE,
    	MT_SONIC3KBOSSEXPLODE,
    	MT_BOSSFLYPOINT,
    	MT_EGGTRAP,
    	MT_BOSS3WAYPOINT,
    	MT_BOSS9GATHERPOINT,
    	MT_BOSSJUNK,
    
    	// Boss 1
    	MT_EGGMOBILE,
    	MT_JETFUME1,
    	MT_EGGMOBILE_BALL,
    	MT_EGGMOBILE_TARGET,
    	MT_EGGMOBILE_FIRE,
    
    	// Boss 2
    	MT_EGGMOBILE2,
    	MT_EGGMOBILE2_POGO,
    	MT_GOOP,
    	MT_GOOPTRAIL,
    
    	// Boss 3
    	MT_EGGMOBILE3,
    	MT_FAKEMOBILE,
    	MT_SHOCKWAVE,
    
    	// Boss 4
    	MT_EGGMOBILE4,
    	MT_EGGMOBILE4_MACE,
    	MT_JETFLAME,
    	MT_EGGROBO1,
    	MT_EGGROBO1JET,
    
    	// Boss 5
    	MT_FANG,
    	MT_BROKENROBOT,
    	MT_VWREF,
    	MT_VWREB,
    	MT_PROJECTORLIGHT,
    	MT_FBOMB,
    	MT_TNTDUST, // also used by barrel
    	MT_FSGNA,
    	MT_FSGNB,
    	MT_FANGWAYPOINT,
    
    	// Black Eggman (Boss 7)
    	MT_BLACKEGGMAN,
    	MT_BLACKEGGMAN_HELPER,
    	MT_BLACKEGGMAN_GOOPFIRE,
    	MT_BLACKEGGMAN_MISSILE,
    
    	// New Very-Last-Minute 2.1 Brak Eggman (Cy-Brak-demon)
    	MT_CYBRAKDEMON,
    	MT_CYBRAKDEMON_ELECTRIC_BARRIER,
    	MT_CYBRAKDEMON_MISSILE,
    	MT_CYBRAKDEMON_FLAMESHOT,
    	MT_CYBRAKDEMON_FLAMEREST,
    	MT_CYBRAKDEMON_TARGET_RETICULE,
    	MT_CYBRAKDEMON_TARGET_DOT,
    	MT_CYBRAKDEMON_NAPALM_BOMB_LARGE,
    	MT_CYBRAKDEMON_NAPALM_BOMB_SMALL,
    	MT_CYBRAKDEMON_NAPALM_FLAMES,
    	MT_CYBRAKDEMON_VILE_EXPLOSION,
    
    	// Metal Sonic (Boss 9)
    	MT_METALSONIC_RACE,
    	MT_METALSONIC_BATTLE,
    	MT_MSSHIELD_FRONT,
    	MT_MSGATHER,
    
    	// Collectible Items
    	MT_RING,
    	MT_FLINGRING, // Lost ring
    	MT_BLUESPHERE,  // Blue sphere for special stages
    	MT_FLINGBLUESPHERE, // Lost blue sphere
    	MT_BOMBSPHERE,
    	MT_REDTEAMRING,  //Rings collectable by red team.
    	MT_BLUETEAMRING, //Rings collectable by blue team.
    	MT_TOKEN, // Special Stage token for special stage
    	MT_REDFLAG, // Red CTF Flag
    	MT_BLUEFLAG, // Blue CTF Flag
    	MT_EMBLEM,
    	MT_EMERALD1,
    	MT_EMERALD2,
    	MT_EMERALD3,
    	MT_EMERALD4,
    	MT_EMERALD5,
    	MT_EMERALD6,
    	MT_EMERALD7,
    	MT_EMERHUNT, // Emerald Hunt
    	MT_EMERALDSPAWN, // Emerald spawner w/ delay
    	MT_FLINGEMERALD, // Lost emerald
    
    	// Springs and others
    	MT_FAN,
    	MT_STEAM,
    	MT_BUMPER,
    	MT_BALLOON,
    
    	MT_YELLOWSPRING,
    	MT_REDSPRING,
    	MT_BLUESPRING,
    	MT_YELLOWDIAG,
    	MT_REDDIAG,
    	MT_BLUEDIAG,
    	MT_YELLOWHORIZ,
    	MT_REDHORIZ,
    	MT_BLUEHORIZ,
    
    	MT_BOOSTERSEG,
    	MT_BOOSTERROLLER,
    	MT_YELLOWBOOSTER,
    	MT_REDBOOSTER,
    
    	// Interactive Objects
    	MT_BUBBLES, // Bubble source
    	MT_SIGN, // Level end sign
    	MT_SPIKEBALL, // Spike Ball
    	MT_SPINFIRE,
    	MT_SPIKE,
    	MT_WALLSPIKE,
    	MT_WALLSPIKEBASE,
    	MT_STARPOST,
    	MT_BIGMINE,
    	MT_BLASTEXECUTOR,
    	MT_CANNONLAUNCHER,
    
    	// Monitor miscellany
    	MT_BOXSPARKLE,
    
    	// Monitor boxes -- regular
    	MT_RING_BOX,
    	MT_PITY_BOX,
    	MT_ATTRACT_BOX,
    	MT_FORCE_BOX,
    	MT_ARMAGEDDON_BOX,
    	MT_WHIRLWIND_BOX,
    	MT_ELEMENTAL_BOX,
    	MT_SNEAKERS_BOX,
    	MT_INVULN_BOX,
    	MT_1UP_BOX,
    	MT_EGGMAN_BOX,
    	MT_MIXUP_BOX,
    	MT_MYSTERY_BOX,
    	MT_GRAVITY_BOX,
    	MT_RECYCLER_BOX,
    	MT_SCORE1K_BOX,
    	MT_SCORE10K_BOX,
    	MT_FLAMEAURA_BOX,
    	MT_BUBBLEWRAP_BOX,
    	MT_THUNDERCOIN_BOX,
    
    	// Monitor boxes -- repeating (big) boxes
    	MT_PITY_GOLDBOX,
    	MT_ATTRACT_GOLDBOX,
    	MT_FORCE_GOLDBOX,
    	MT_ARMAGEDDON_GOLDBOX,
    	MT_WHIRLWIND_GOLDBOX,
    	MT_ELEMENTAL_GOLDBOX,
    	MT_SNEAKERS_GOLDBOX,
    	MT_INVULN_GOLDBOX,
    	MT_EGGMAN_GOLDBOX,
    	MT_GRAVITY_GOLDBOX,
    	MT_FLAMEAURA_GOLDBOX,
    	MT_BUBBLEWRAP_GOLDBOX,
    	MT_THUNDERCOIN_GOLDBOX,
    
    	// Monitor boxes -- special
    	MT_RING_REDBOX,
    	MT_RING_BLUEBOX,
    
    	// Monitor icons
    	MT_RING_ICON,
    	MT_PITY_ICON,
    	MT_ATTRACT_ICON,
    	MT_FORCE_ICON,
    	MT_ARMAGEDDON_ICON,
    	MT_WHIRLWIND_ICON,
    	MT_ELEMENTAL_ICON,
    	MT_SNEAKERS_ICON,
    	MT_INVULN_ICON,
    	MT_1UP_ICON,
    	MT_EGGMAN_ICON,
    	MT_MIXUP_ICON,
    	MT_GRAVITY_ICON,
    	MT_RECYCLER_ICON,
    	MT_SCORE1K_ICON,
    	MT_SCORE10K_ICON,
    	MT_FLAMEAURA_ICON,
    	MT_BUBBLEWRAP_ICON,
    	MT_THUNDERCOIN_ICON,
    
    	// Projectiles
    	MT_ROCKET,
    	MT_LASER,
    	MT_TORPEDO,
    	MT_TORPEDO2, // silent
    	MT_ENERGYBALL,
    	MT_MINE, // Skim/Jetty-Syn mine
    	MT_JETTBULLET, // Jetty-Syn Bullet
    	MT_TURRETLASER,
    	MT_CANNONBALL, // Cannonball
    	MT_CANNONBALLDECOR, // Decorative/still cannonball
    	MT_ARROW, // Arrow
    	MT_DEMONFIRE, // Glaregoyle fire
    
    	// The letter
    	MT_LETTER,
    
    	// Greenflower Scenery
    	MT_GFZFLOWER1,
    	MT_GFZFLOWER2,
    	MT_GFZFLOWER3,
    
    	MT_BLUEBERRYBUSH,
    	MT_BERRYBUSH,
    	MT_BUSH,
    
    	// Trees (both GFZ and misc)
    	MT_GFZTREE,
    	MT_GFZBERRYTREE,
    	MT_GFZCHERRYTREE,
    	MT_CHECKERTREE,
    	MT_CHECKERSUNSETTREE,
    	MT_FHZTREE, // Frozen Hillside
    	MT_FHZPINKTREE,
    	MT_POLYGONTREE,
    	MT_BUSHTREE,
    	MT_BUSHREDTREE,
    	MT_SPRINGTREE,
    
    	// Techno Hill Scenery
    	MT_THZFLOWER1,
    	MT_THZFLOWER2,
    	MT_THZFLOWER3,
    	MT_THZTREE, // Steam whistle tree/bush
    	MT_THZTREEBRANCH, // branch of said tree
    	MT_ALARM,
    
    	// Deep Sea Scenery
    	MT_GARGOYLE, // Deep Sea Gargoyle
    	MT_BIGGARGOYLE, // Deep Sea Gargoyle (Big)
    	MT_SEAWEED, // DSZ Seaweed
    	MT_WATERDRIP, // Dripping Water source
    	MT_WATERDROP, // Water drop from dripping water
    	MT_CORAL1, // Coral
    	MT_CORAL2,
    	MT_CORAL3,
    	MT_CORAL4,
    	MT_CORAL5,
    	MT_BLUECRYSTAL, // Blue Crystal
    	MT_KELP, // Kelp
    	MT_ANIMALGAETOP, // Animated algae top
    	MT_ANIMALGAESEG, // Animated algae segment
    	MT_DSZSTALAGMITE, // Deep Sea 1 Stalagmite
    	MT_DSZ2STALAGMITE, // Deep Sea 2 Stalagmite
    	MT_LIGHTBEAM, // DSZ Light beam
    
    	// Castle Eggman Scenery
    	MT_CHAIN, // CEZ Chain
    	MT_FLAME, // Flame (has corona)
    	MT_FLAMEPARTICLE,
    	MT_EGGSTATUE, // Eggman Statue
    	MT_MACEPOINT, // Mace rotation point
    	MT_CHAINMACEPOINT, // Combination of chains and maces point
    	MT_SPRINGBALLPOINT, // Spring ball point
    	MT_CHAINPOINT, // Mace chain
    	MT_HIDDEN_SLING, // Spin mace chain (activatable)
    	MT_FIREBARPOINT, // Firebar
    	MT_CUSTOMMACEPOINT, // Custom mace
    	MT_SMALLMACECHAIN, // Small Mace Chain
    	MT_BIGMACECHAIN, // Big Mace Chain
    	MT_SMALLMACE, // Small Mace
    	MT_BIGMACE, // Big Mace
    	MT_SMALLGRABCHAIN, // Small Grab Chain
    	MT_BIGGRABCHAIN, // Big Grab Chain
    	MT_YELLOWSPRINGBALL, // Yellow spring on a ball
    	MT_REDSPRINGBALL, // Red spring on a ball
    	MT_SMALLFIREBAR, // Small Firebar
    	MT_BIGFIREBAR, // Big Firebar
    	MT_CEZFLOWER, // Flower
    	MT_CEZPOLE1, // Pole (with red banner)
    	MT_CEZPOLE2, // Pole (with blue banner)
    	MT_CEZBANNER1, // Banner (red)
    	MT_CEZBANNER2, // Banner (blue)
    	MT_PINETREE, // Pine Tree
    	MT_CEZBUSH1, // Bush 1
    	MT_CEZBUSH2, // Bush 2
    	MT_CANDLE, // Candle
    	MT_CANDLEPRICKET, // Candle pricket
    	MT_FLAMEHOLDER, // Flame holder
    	MT_FIRETORCH, // Fire torch
    	MT_WAVINGFLAG1, // Waving flag (red)
    	MT_WAVINGFLAG2, // Waving flag (blue)
    	MT_WAVINGFLAGSEG1, // Waving flag segment (red)
    	MT_WAVINGFLAGSEG2, // Waving flag segment (blue)
    	MT_CRAWLASTATUE, // Crawla statue
    	MT_FACESTABBERSTATUE, // Facestabber statue
    	MT_SUSPICIOUSFACESTABBERSTATUE, // :eggthinking:
    	MT_BRAMBLES, // Brambles
    
    	// Arid Canyon Scenery
    	MT_BIGTUMBLEWEED,
    	MT_LITTLETUMBLEWEED,
    	MT_CACTI1, // Tiny Red Flower Cactus
    	MT_CACTI2, // Small Red Flower Cactus
    	MT_CACTI3, // Tiny Blue Flower Cactus
    	MT_CACTI4, // Small Blue Flower Cactus
    	MT_CACTI5, // Prickly Pear
    	MT_CACTI6, // Barrel Cactus
    	MT_CACTI7, // Tall Barrel Cactus
    	MT_CACTI8, // Armed Cactus
    	MT_CACTI9, // Ball Cactus
    	MT_CACTI10, // Tiny Cactus
    	MT_CACTI11, // Small Cactus
    	MT_CACTITINYSEG, // Tiny Cactus Segment
    	MT_CACTISMALLSEG, // Small Cactus Segment
    	MT_ARIDSIGN_CAUTION, // Caution Sign
    	MT_ARIDSIGN_CACTI, // Cacti Sign
    	MT_ARIDSIGN_SHARPTURN, // Sharp Turn Sign
    	MT_OILLAMP,
    	MT_TNTBARREL,
    	MT_PROXIMITYTNT,
    	MT_DUSTDEVIL,
    	MT_DUSTLAYER,
    	MT_ARIDDUST,
    	MT_MINECART,
    	MT_MINECARTSEG,
    	MT_MINECARTSPAWNER,
    	MT_MINECARTEND,
    	MT_MINECARTENDSOLID,
    	MT_MINECARTSIDEMARK,
    	MT_MINECARTSPARK,
    	MT_SALOONDOOR,
    	MT_SALOONDOORCENTER,
    	MT_TRAINCAMEOSPAWNER,
    	MT_TRAINSEG,
    	MT_TRAINDUSTSPAWNER,
    	MT_TRAINSTEAMSPAWNER,
    	MT_MINECARTSWITCHPOINT,
    
    	// Red Volcano Scenery
    	MT_FLAMEJET,
    	MT_VERTICALFLAMEJET,
    	MT_FLAMEJETFLAME,
    
    	MT_FJSPINAXISA, // Counter-clockwise
    	MT_FJSPINAXISB, // Clockwise
    
    	MT_FLAMEJETFLAMEB, // Blade's flame
    
    	MT_LAVAFALL,
    	MT_LAVAFALL_LAVA,
    	MT_LAVAFALLROCK,
    
    	MT_ROLLOUTSPAWN,
    	MT_ROLLOUTROCK,
    
    	MT_BIGFERNLEAF,
    	MT_BIGFERN,
    	MT_JUNGLEPALM,
    	MT_TORCHFLOWER,
    	MT_WALLVINE_LONG,
    	MT_WALLVINE_SHORT,
    
    	// Dark City Scenery
    
    	// Egg Rock Scenery
    
    	// Azure Temple Scenery
    	MT_GLAREGOYLE,
    	MT_GLAREGOYLEUP,
    	MT_GLAREGOYLEDOWN,
    	MT_GLAREGOYLELONG,
    	MT_TARGET, // AKA Red Crystal
    	MT_GREENFLAME,
    	MT_BLUEGARGOYLE,
    
    	// Stalagmites
    	MT_STALAGMITE0,
    	MT_STALAGMITE1,
    	MT_STALAGMITE2,
    	MT_STALAGMITE3,
    	MT_STALAGMITE4,
    	MT_STALAGMITE5,
    	MT_STALAGMITE6,
    	MT_STALAGMITE7,
    	MT_STALAGMITE8,
    	MT_STALAGMITE9,
    
    	// Christmas Scenery
    	MT_XMASPOLE,
    	MT_CANDYCANE,
    	MT_SNOWMAN,    // normal
    	MT_SNOWMANHAT, // with hat + scarf
    	MT_LAMPPOST1,  // normal
    	MT_LAMPPOST2,  // with snow
    	MT_HANGSTAR,
    	MT_MISTLETOE,
    	// Xmas GFZ bushes
    	MT_XMASBLUEBERRYBUSH,
    	MT_XMASBERRYBUSH,
    	MT_XMASBUSH,
    	// FHZ
    	MT_FHZICE1,
    	MT_FHZICE2,
    	MT_ROSY,
    	MT_CDLHRT,
    
    	// Halloween Scenery
    	// Pumpkins
    	MT_JACKO1,
    	MT_JACKO2,
    	MT_JACKO3,
    	// Dr Seuss Trees
    	MT_HHZTREE_TOP,
    	MT_HHZTREE_PART,
    	// Misc
    	MT_HHZSHROOM,
    	MT_HHZGRASS,
    	MT_HHZTENTACLE1,
    	MT_HHZTENTACLE2,
    	MT_HHZSTALAGMITE_TALL,
    	MT_HHZSTALAGMITE_SHORT,
    
    	// Botanic Serenity scenery
    	MT_BSZTALLFLOWER_RED,
    	MT_BSZTALLFLOWER_PURPLE,
    	MT_BSZTALLFLOWER_BLUE,
    	MT_BSZTALLFLOWER_CYAN,
    	MT_BSZTALLFLOWER_YELLOW,
    	MT_BSZTALLFLOWER_ORANGE,
    	MT_BSZFLOWER_RED,
    	MT_BSZFLOWER_PURPLE,
    	MT_BSZFLOWER_BLUE,
    	MT_BSZFLOWER_CYAN,
    	MT_BSZFLOWER_YELLOW,
    	MT_BSZFLOWER_ORANGE,
    	MT_BSZSHORTFLOWER_RED,
    	MT_BSZSHORTFLOWER_PURPLE,
    	MT_BSZSHORTFLOWER_BLUE,
    	MT_BSZSHORTFLOWER_CYAN,
    	MT_BSZSHORTFLOWER_YELLOW,
    	MT_BSZSHORTFLOWER_ORANGE,
    	MT_BSZTULIP_RED,
    	MT_BSZTULIP_PURPLE,
    	MT_BSZTULIP_BLUE,
    	MT_BSZTULIP_CYAN,
    	MT_BSZTULIP_YELLOW,
    	MT_BSZTULIP_ORANGE,
    	MT_BSZCLUSTER_RED,
    	MT_BSZCLUSTER_PURPLE,
    	MT_BSZCLUSTER_BLUE,
    	MT_BSZCLUSTER_CYAN,
    	MT_BSZCLUSTER_YELLOW,
    	MT_BSZCLUSTER_ORANGE,
    	MT_BSZBUSH_RED,
    	MT_BSZBUSH_PURPLE,
    	MT_BSZBUSH_BLUE,
    	MT_BSZBUSH_CYAN,
    	MT_BSZBUSH_YELLOW,
    	MT_BSZBUSH_ORANGE,
    	MT_BSZVINE_RED,
    	MT_BSZVINE_PURPLE,
    	MT_BSZVINE_BLUE,
    	MT_BSZVINE_CYAN,
    	MT_BSZVINE_YELLOW,
    	MT_BSZVINE_ORANGE,
    	MT_BSZSHRUB,
    	MT_BSZCLOVER,
    	MT_BIG_PALMTREE_TRUNK,
    	MT_BIG_PALMTREE_TOP,
    	MT_PALMTREE_TRUNK,
    	MT_PALMTREE_TOP,
    
    	// Misc scenery
    	MT_DBALL,
    	MT_EGGSTATUE2,
    
    	// Powerup Indicators
    	MT_ELEMENTAL_ORB, // Elemental shield mobj
    	MT_ATTRACT_ORB, // Attract shield mobj
    	MT_FORCE_ORB, // Force shield mobj
    	MT_ARMAGEDDON_ORB, // Armageddon shield mobj
    	MT_WHIRLWIND_ORB, // Whirlwind shield mobj
    	MT_PITY_ORB, // Pity shield mobj
    	MT_FLAMEAURA_ORB, // Flame shield mobj
    	MT_BUBBLEWRAP_ORB, // Bubble shield mobj
    	MT_THUNDERCOIN_ORB, // Thunder shield mobj
    	MT_THUNDERCOIN_SPARK, // Thunder spark
    	MT_IVSP, // Invincibility sparkles
    	MT_SUPERSPARK, // Super Sonic Spark
    
    	// Flickies
    	MT_FLICKY_01, // Bluebird
    	MT_FLICKY_01_CENTER,
    	MT_FLICKY_02, // Rabbit
    	MT_FLICKY_02_CENTER,
    	MT_FLICKY_03, // Chicken
    	MT_FLICKY_03_CENTER,
    	MT_FLICKY_04, // Seal
    	MT_FLICKY_04_CENTER,
    	MT_FLICKY_05, // Pig
    	MT_FLICKY_05_CENTER,
    	MT_FLICKY_06, // Chipmunk
    	MT_FLICKY_06_CENTER,
    	MT_FLICKY_07, // Penguin
    	MT_FLICKY_07_CENTER,
    	MT_FLICKY_08, // Fish
    	MT_FLICKY_08_CENTER,
    	MT_FLICKY_09, // Ram
    	MT_FLICKY_09_CENTER,
    	MT_FLICKY_10, // Puffin
    	MT_FLICKY_10_CENTER,
    	MT_FLICKY_11, // Cow
    	MT_FLICKY_11_CENTER,
    	MT_FLICKY_12, // Rat
    	MT_FLICKY_12_CENTER,
    	MT_FLICKY_13, // Bear
    	MT_FLICKY_13_CENTER,
    	MT_FLICKY_14, // Dove
    	MT_FLICKY_14_CENTER,
    	MT_FLICKY_15, // Cat
    	MT_FLICKY_15_CENTER,
    	MT_FLICKY_16, // Canary
    	MT_FLICKY_16_CENTER,
    	MT_SECRETFLICKY_01, // Spider
    	MT_SECRETFLICKY_01_CENTER,
    	MT_SECRETFLICKY_02, // Bat
    	MT_SECRETFLICKY_02_CENTER,
    	MT_SEED,
    
    	// Environmental Effects
    	MT_RAIN, // Rain
    	MT_SNOWFLAKE, // Snowflake
    	MT_SPLISH, // Water splish!
    	MT_LAVASPLISH, // Lava splish!
    	MT_SMOKE,
    	MT_SMALLBUBBLE, // small bubble
    	MT_MEDIUMBUBBLE, // medium bubble
    	MT_EXTRALARGEBUBBLE, // extra large bubble
    	MT_WATERZAP,
    	MT_SPINDUST, // Spindash dust
    	MT_TFOG,
    	MT_PARTICLE,
    	MT_PARTICLEGEN, // For fans, etc.
    
    	// Game Indicators
    	MT_SCORE, // score logo
    	MT_DROWNNUMBERS, // Drowning Timer
    	MT_GOTEMERALD, // Chaos Emerald (intangible)
    	MT_LOCKON, // Target
    	MT_LOCKONINF, // In-level Target
    	MT_TAG, // Tag Sign
    	MT_GOTFLAG, // Got Flag sign
    	MT_FINISHFLAG, // Finish flag
    
    	// Ambient Sounds
    	MT_AWATERA, // Ambient Water Sound 1
    	MT_AWATERB, // Ambient Water Sound 2
    	MT_AWATERC, // Ambient Water Sound 3
    	MT_AWATERD, // Ambient Water Sound 4
    	MT_AWATERE, // Ambient Water Sound 5
    	MT_AWATERF, // Ambient Water Sound 6
    	MT_AWATERG, // Ambient Water Sound 7
    	MT_AWATERH, // Ambient Water Sound 8
    	MT_RANDOMAMBIENT,
    	MT_RANDOMAMBIENT2,
    	MT_MACHINEAMBIENCE,
    
    	MT_CORK,
    	MT_LHRT,
    
    	// Ring Weapons
    	MT_REDRING,
    	MT_BOUNCERING,
    	MT_RAILRING,
    	MT_INFINITYRING,
    	MT_AUTOMATICRING,
    	MT_EXPLOSIONRING,
    	MT_SCATTERRING,
    	MT_GRENADERING,
    
    	MT_BOUNCEPICKUP,
    	MT_RAILPICKUP,
    	MT_AUTOPICKUP,
    	MT_EXPLODEPICKUP,
    	MT_SCATTERPICKUP,
    	MT_GRENADEPICKUP,
    
    	MT_THROWNBOUNCE,
    	MT_THROWNINFINITY,
    	MT_THROWNAUTOMATIC,
    	MT_THROWNSCATTER,
    	MT_THROWNEXPLOSION,
    	MT_THROWNGRENADE,
    
    	// Mario-specific stuff
    	MT_COIN,
    	MT_FLINGCOIN,
    	MT_GOOMBA,
    	MT_BLUEGOOMBA,
    	MT_FIREFLOWER,
    	MT_FIREBALL,
    	MT_FIREBALLTRAIL,
    	MT_SHELL,
    	MT_PUMA,
    	MT_PUMATRAIL,
    	MT_HAMMER,
    	MT_KOOPA,
    	MT_KOOPAFLAME,
    	MT_AXE,
    	MT_MARIOBUSH1,
    	MT_MARIOBUSH2,
    	MT_TOAD,
    
    	// NiGHTS Stuff
    	MT_AXIS,
    	MT_AXISTRANSFER,
    	MT_AXISTRANSFERLINE,
    	MT_NIGHTSDRONE,
    	MT_NIGHTSDRONE_MAN,
    	MT_NIGHTSDRONE_SPARKLING,
    	MT_NIGHTSDRONE_GOAL,
    	MT_NIGHTSPARKLE,
    	MT_NIGHTSLOOPHELPER,
    	MT_NIGHTSBUMPER, // NiGHTS Bumper
    	MT_HOOP,
    	MT_HOOPCOLLIDE, // Collision detection for NiGHTS hoops
    	MT_HOOPCENTER, // Center of a hoop
    	MT_NIGHTSCORE,
    	MT_NIGHTSCHIP, // NiGHTS Chip
    	MT_FLINGNIGHTSCHIP, // Lost NiGHTS Chip
    	MT_NIGHTSSTAR, // NiGHTS Star
    	MT_FLINGNIGHTSSTAR, // Lost NiGHTS Star
    	MT_NIGHTSSUPERLOOP,
    	MT_NIGHTSDRILLREFILL,
    	MT_NIGHTSHELPER,
    	MT_NIGHTSEXTRATIME,
    	MT_NIGHTSLINKFREEZE,
    	MT_EGGCAPSULE,
    	MT_IDEYAANCHOR,
    	MT_NIGHTOPIANHELPER, // the actual helper object that orbits you
    	MT_PIAN, // decorative singing friend
    	MT_SHLEEP, // almost-decorative sleeping enemy
    
    	// Secret badniks and hazards, shhhh
    	MT_PENGUINATOR,
    	MT_POPHAT,
    	MT_POPSHOT,
    	MT_POPSHOT_TRAIL,
    
    	MT_HIVEELEMENTAL,
    	MT_BUMBLEBORE,
    
    	MT_BUGGLE,
    
    	MT_SMASHINGSPIKEBALL,
    	MT_CACOLANTERN,
    	MT_CACOSHARD,
    	MT_CACOFIRE,
    	MT_SPINBOBERT,
    	MT_SPINBOBERT_FIRE1,
    	MT_SPINBOBERT_FIRE2,
    	MT_HANGSTER,
    
    	// Utility Objects
    	MT_TELEPORTMAN,
    	MT_ALTVIEWMAN,
    	MT_CRUMBLEOBJ, // Sound generator for crumbling platform
    	MT_TUBEWAYPOINT,
    	MT_PUSH,
    	MT_PULL,
    	MT_GHOST,
    	MT_OVERLAY,
    	MT_ANGLEMAN,
    	MT_POLYANCHOR,
    	MT_POLYSPAWN,
    
    	// Skybox objects
    	MT_SKYBOX,
    
    	// Debris
    	MT_SPARK, //spark
    	MT_EXPLODE, // Robot Explosion
    	MT_UWEXPLODE, // Underwater Explosion
    	MT_DUST,
    	MT_ROCKSPAWNER,
    	MT_FALLINGROCK,
    	MT_ROCKCRUMBLE1,
    	MT_ROCKCRUMBLE2,
    	MT_ROCKCRUMBLE3,
    	MT_ROCKCRUMBLE4,
    	MT_ROCKCRUMBLE5,
    	MT_ROCKCRUMBLE6,
    	MT_ROCKCRUMBLE7,
    	MT_ROCKCRUMBLE8,
    	MT_ROCKCRUMBLE9,
    	MT_ROCKCRUMBLE10,
    	MT_ROCKCRUMBLE11,
    	MT_ROCKCRUMBLE12,
    	MT_ROCKCRUMBLE13,
    	MT_ROCKCRUMBLE14,
    	MT_ROCKCRUMBLE15,
    	MT_ROCKCRUMBLE16,
    
    	// Level debris
    	MT_GFZDEBRIS,
    	MT_BRICKDEBRIS,
    	MT_WOODDEBRIS,
    	MT_REDBRICKDEBRIS, // for CEZ3
    	MT_BLUEBRICKDEBRIS, // for CEZ3
    	MT_YELLOWBRICKDEBRIS, // for CEZ3
    
    	MT_NAMECHECK,
    
    	MT_FIRSTFREESLOT,
    	MT_LASTFREESLOT = MT_FIRSTFREESLOT + NUMMOBJFREESLOTS - 1,
    	NUMMOBJTYPES
    } mobjtype_t;
    
    typedef struct
    {
    	INT32 doomednum;
    	statenum_t spawnstate;
    	INT32 spawnhealth;
    	statenum_t seestate;
    	sfxenum_t seesound;
    	INT32 reactiontime;
    	sfxenum_t attacksound;
    	statenum_t painstate;
    	INT32 painchance;
    	sfxenum_t painsound;
    	statenum_t meleestate;
    	statenum_t missilestate;
    	statenum_t deathstate;
    	statenum_t xdeathstate;
    	sfxenum_t deathsound;
    	fixed_t speed;
    	fixed_t radius;
    	fixed_t height;
    	INT32 dispoffset;
    	INT32 mass;
    	INT32 damage;
    	sfxenum_t activesound;
    	UINT32 flags;
    	statenum_t raisestate;
    } mobjinfo_t;
    
    extern mobjinfo_t mobjinfo[NUMMOBJTYPES];
    
    void P_PatchInfoTables(void);
    
    void P_BackupTables(void);
    
    void P_ResetData(INT32 flags);
    
    #endif