Kart-Public/src/info.h
2019-02-05 15:42:37 -05:00

4904 lines
83 KiB
C

// SONIC ROBO BLAST 2
//-----------------------------------------------------------------------------
// Copyright (C) 1993-1996 by id Software, Inc.
// Copyright (C) 1998-2000 by DooM Legacy Team.
// Copyright (C) 1999-2018 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"
// dehacked.c now has lists for the more named enums! PLEASE keep them up to date!
// For great modding!!
// IMPORTANT NOTE: If you add/remove from this list of action
// functions, don't forget to update them in dehacked.c!
void A_Explode();
void A_Pain();
void A_Fall();
void A_MonitorPop();
void A_Look();
void A_Chase();
void A_FaceStabChase();
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_JumpShield(); // Obtained Jump Shield
void A_RingShield(); // Obtained Ring Shield
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_BombShield(); // Obtained Bomb Shield
void A_WaterShield(); // Obtained Water Shield
void A_ForceShield(); // Obtained Force Shield
void A_PityShield(); // Obtained Pity Shield. We're... sorry.
void A_GravityBox();
void A_ScoreRise(); // Rise the score logo
void A_ParticleSpawn();
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_GrenadeRing(); // SRB2kart
void A_SetSolidSteam();
void A_UnsetSolidSteam();
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_MaceRotate();
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_HoodThink();
void A_ArrowCheck();
void A_SnailerThink();
void A_SharpChase();
void A_SharpSpin();
void A_VultureVtol();
void A_VultureCheck();
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_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_PlaySound();
void A_FindTarget();
void A_FindTracer();
void A_SetTics();
void A_SetRandomTics();
void A_ChangeColorRelative();
void A_ChangeColorAbsolute();
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_ItemPop(); // SRB2kart
void A_JawzChase(); // SRB2kart
void A_JawzExplode(); // SRB2kart
void A_SPBChase(); // SRB2kart
void A_MineExplode(); // SRB2kart
void A_BallhogExplode(); // SRB2kart
void A_LightningFollowPlayer(); // SRB2kart: Lightning shield effect player chasing
void A_FZBoomFlash(); // SRB2kart
void A_FZBoomSmoke(); // SRB2kart
void A_RandomShadowFrame(); //SRB2kart: Shadow spawner frame randomizer
void A_RoamingShadowThinker(); // SRB2kart: Roaming Shadow moving + attacking players.
void A_MayonakaArrow(); //SRB2kart: midnight channel arrow sign
void A_ReaperThinker(); //SRB2kart: mementos reaper
void A_MementosTPParticles(); //SRB2kart: mementos teleporter particles. Man that's a lot of actions for my shite.
void A_FlameParticle(); // SRB2kart
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();
// ratio of states to sprites to mobj types is roughly 6 : 1 : 1
#define NUMMOBJFREESLOTS 256
#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,
SPR_SPOS,
SPR_FISH, // Greenflower Fish
SPR_BUZZ, // Buzz (Gold)
SPR_RBUZ, // Buzz (Red)
SPR_JETB, // Jetty-Syn Bomber
SPR_JETW, // Jetty-Syn Water Bomber
SPR_JETG, // Jetty-Syn Gunner
SPR_CCOM, // Crawla Commander
SPR_DETN, // Deton
SPR_SKIM, // Skim mine dropper
SPR_TRET,
SPR_TURR, // Pop-Up Turret
SPR_SHRP, // Sharp
SPR_JJAW, // Jet Jaw
SPR_SNLR, // Snailer
SPR_VLTR, // Vulture
SPR_PNTY, // Pointy
SPR_ARCH, // Robo-Hood
SPR_CBFS, // CastleBot FaceStabber (Egg Knight?)
SPR_SPSH, // Egg Guard
SPR_ESHI, // Egg Shield for Egg Guard
SPR_GSNP, // Green Snapper
SPR_MNUS, // Minus
SPR_SSHL, // Spring Shell
SPR_UNID, // Unidus
SPR_BBUZ, // AquaBuzz, for Azure Temple
// Generic Boss Items
SPR_JETF, // Boss jet fumes
// Boss 1 (Greenflower)
SPR_EGGM,
// Boss 2 (Techno Hill)
SPR_EGGN, // Boss 2
SPR_TNKA, // Boss 2 Tank 1
SPR_TNKB, // Boss 2 Tank 2
SPR_SPNK, // Boss 2 Spigot
SPR_GOOP, // Boss 2 Goop
// Boss 3 (Deep Sea)
SPR_EGGO, // Boss 3
SPR_PRPL, // Boss 3 Propeller
SPR_FAKE, // Boss 3 Fakemobile
// Boss 4 (Castle Eggman)
SPR_EGGP,
SPR_EFIR, // Boss 4 jet flame
// Boss 5 (Arid Canyon)
SPR_EGGQ,
// 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_EMMY, // emerald test
SPR_TOKE, // Special Stage Token
SPR_RFLG, // Red CTF Flag
SPR_BFLG, // Blue CTF Flag
SPR_NWNG, // NiGHTS Wing collectable item.
SPR_EMBM, // Emblem
SPR_CEMG, // Chaos Emeralds
SPR_EMER, // Emerald Hunt
// Interactive Objects
SPR_FANS,
SPR_BUBL, // water bubble source
SPR_SIGN, // Level end sign
SPR_STEM, // Steam riser
SPR_SPIK, // Spike Ball
SPR_SFLM, // Spin fire
SPR_USPK, // Floor spike
SPR_STPT, // Starpost
SPR_BMNE, // Big floating mine
// Monitor Boxes
SPR_SRBX,
SPR_RRBX,
SPR_BRBX,
SPR_SHTV,
SPR_PINV,
SPR_YLTV,
SPR_BLTV, // Force shield
SPR_BKTV, // Bomb shield TV
SPR_WHTV, // Jump shield TV
SPR_GRTV, // Pity shield TV
SPR_ELTV, // Elemental shield TV
SPR_EGGB, // Eggman box
SPR_MIXU, // Player mixing monitor
SPR_RECY, // Recycler (power mixing) monitor
SPR_QUES, // Random monitor
SPR_GBTV, // Gravity boots TV
SPR_PRUP, // 1up
SPR_PTTV, // Score TVs
// Monitor Miscellany
SPR_MTEX, // Exploding monitor
// Projectiles
SPR_MISL,
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
// 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
// Techno Hill Scenery
SPR_THZP, // Techno Hill Zone Plant
SPR_ALRM, // THZ2 Alarm
// Deep Sea Scenery
SPR_GARG, // Deep Sea Gargoyle
SPR_SEWE, // Deep Sea Seaweed
SPR_DRIP, // Dripping water
SPR_CRL1, // Coral 1
SPR_CRL2, // Coral 2
SPR_CRL3, // Coral 3
SPR_BCRY, // Blue Crystal
// 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
// Arid Canyon Scenery
SPR_BTBL, // Big tumbleweed
SPR_STBL, // Small tumbleweed
SPR_CACT, // Cacti sprites
// Red Volcano Scenery
SPR_FLME, // Flame jet
SPR_DFLM, // Blade's flame
// Dark City Scenery
// Egg Rock Scenery
// Christmas Scenery
SPR_XMS1,
SPR_XMS2,
SPR_XMS3,
// Botanic Serenity Scenery
SPR_BSZ1, // Tall flowers
SPR_BSZ2, // Medium flowers
SPR_BSZ3, // Small flowers
SPR_BSZ4, // Tulip
SPR_BSZ5, // Cluster of Tulips
SPR_BSZ6, // Bush
SPR_BSZ7, // Vine
SPR_BSZ8, // Misc things
// Misc Scenery
SPR_STLG, // Stalagmites
SPR_DBAL, // Disco
SPR_RCRY, // ATZ Red Crystal (Target)
// 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 and Fire
SPR_FORC, // Force Shield Orb
SPR_PITY, // Pity Shield Orb
SPR_IVSP, // invincibility sparkles
SPR_SSPK, // Super Sonic Spark
SPR_GOAL, // Special Stage goal (here because lol NiGHTS)
// Freed Animals
SPR_BIRD, // Birdie freed!
SPR_BUNY, // Bunny freed!
SPR_MOUS, // Mouse
SPR_CHIC, // Chicken
SPR_COWZ, // Cow
SPR_RBRD, // Red Birdie in Bubble
// Springs
SPR_SPRY, // yellow spring
SPR_SPRR, // red spring
SPR_SPRB, // Blue springs
SPR_YSPR, // Yellow Diagonal Spring
SPR_RSPR, // Red Diagonal Spring
// Environmental Effects
SPR_RAIN, // Rain
SPR_SNO1, // Snowflake
SPR_SPLH, // Water Splish
SPR_SPLA, // Water Splash
SPR_SMOK,
SPR_BUBP, // Small bubble
SPR_BUBO, // Medium bubble
SPR_BUBN, // Large bubble
SPR_BUBM, // Extra Large (would you like fries with that?) bubble
SPR_POPP, // Extra Large bubble goes POP!
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_TTAG, // Tag Sign
SPR_GFLG, // Got Flag sign
// 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_SUPE, // NiGHTS character flying
SPR_SUPZ, // NiGHTS hurt
SPR_NDRL, // NiGHTS character drilling
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_SUPT, // Super Sonic Transformation (NiGHTS)
// Debris
SPR_SPRK, // spark
SPR_BOM1, // Robot Explosion
SPR_BOM2, // Boss Explosion 1
SPR_BOM3, // Boss Explosion 2
SPR_BOM4, // Underwater 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,
// Blue Spheres
SPR_BBAL,
// Gravity Well Objects
SPR_GWLG,
SPR_GWLR,
// SRB1 Sprites
SPR_SRBA,
SPR_SRBB,
SPR_SRBC,
SPR_SRBD,
SPR_SRBE,
SPR_SRBF,
SPR_SRBG,
SPR_SRBH,
SPR_SRBI,
SPR_SRBJ,
SPR_SRBK,
SPR_SRBL,
SPR_SRBM,
SPR_SRBN,
SPR_SRBO,
// Springs
SPR_SPRG, // Gray Spring
SPR_BSPR, // Blue Diagonal Spring
SPR_RNDM, // Random Item Box
SPR_RPOP, // Random Item Box Pop
SPR_SGNS, // Signpost sparkle
SPR_FAST, // Speed boost trail
SPR_DSHR, // Speed boost dust release
SPR_BOST, // Sneaker booster flame
SPR_BOSM, // Sneaker booster smoke
SPR_KFRE, // Sneaker fire trail
SPR_KINV, // Invincibility sparkle trail
SPR_KINF, // Invincibility flash
SPR_WIPD, // Wipeout dust trail
SPR_DRIF, // Drift Sparks
SPR_BDRF, // Brake drift sparks
SPR_DUST, // Drift Dust
// Kart Items
SPR_RSHE, // Rocket sneaker
SPR_FITM, // Eggman Monitor
SPR_BANA, // Banana Peel
SPR_ORBN, // Orbinaut
SPR_JAWZ, // Jawz
SPR_SSMN, // SS Mine
SPR_KRBM, // SS Mine BOOM
SPR_BHOG, // Ballhog
SPR_BHBM, // Ballhog BOOM
SPR_SPBM, // Self-Propelled Bomb
SPR_THNS, // Thunder Shield
SPR_SINK, // Kitchen Sink
SPR_SITR, // Kitchen Sink Trail
SPR_KBLN, // Battle Mode Bumper
SPR_DEZL, // DEZ Laser respawn
// Additional Kart Objects
SPR_POKE, // Pokey
SPR_AUDI, // Audience members
SPR_DECO, // Old 1.0 Kart Decoratives + New misc ones
SPR_DOOD, // All the old D00Dkart objects
SPR_SNES, // Sprites for SNES remake maps
SPR_GBAS, // Sprites for GBA remake maps
SPR_SPRS, // Sapphire Coast Spring Shell
SPR_BUZB, // Sapphire Coast Buzz Mk3
SPR_CHOM, // Sapphire Coast Chomper
SPR_SACO, // Sapphire Coast Fauna
SPR_CRAB, // Crystal Abyss mobs
SPR_SHAD, // TD shadows
SPR_BRNG, // Chaotix Big Ring
SPR_BUMP, // Player/shell bump
SPR_FLEN, // Shell hit graphics stuff
SPR_CLAS, // items clash
SPR_PSHW, // thrown indicator
SPR_ISTA, // instashield layer A
SPR_ISTB, // instashield layer B
SPR_ARRO, // player arrows
SPR_ITEM,
SPR_ITMO,
SPR_ITMI,
SPR_ITMN,
SPR_WANT,
SPR_PBOM, // player bomb
SPR_HIT1, // battle points
SPR_HIT2, // battle points
SPR_HIT3, // battle points
SPR_RETI, // player reticule
SPR_AIDU,
SPR_KSPK, // Spark radius for the lightning shield
SPR_LZI1, // Lightning that falls on the player for lightning shield
SPR_LZI2, // ditto
SPR_KLIT, // You have a twisted mind. But this actually is for the diagonal lightning.
SPR_FZSM, // F-Zero NO CONTEST explosion
SPR_FZBM,
SPR_FPRT,
// Various plants
SPR_SBUS,
SPR_MARB, // Marble Zone sprites
SPR_FUFO, // CD Special Stage UFO (don't ask me why it begins with an F)
SPR_RUST, // Rusty Rig sprites
SPR_BLON, // D2 Balloon Panic
SPR_VAPE, // Volcanic Valley
// Hill Top Zone
SPR_HTZA,
SPR_HTZB,
// Ports of gardens
SPR_SGVA,
SPR_SGVB,
SPR_SGVC,
SPR_PGTR,
SPR_PGF1,
SPR_PGF2,
SPR_PGF3,
SPR_PGBH,
SPR_DPLR,
// Midnight Channel stuff:
SPR_SPTL, // Spotlight
SPR_ENM1, // Shadows (Roaming and static)
SPR_GARU, // Wind attack roaming shadows use.
SPR_MARR, // Mayonaka Arrow
//Mementos stuff:
SPR_REAP,
SPR_JITB, // Jack In The Box
// Color Drive stuff:
SPR_CDMO,
SPR_CDBU,
// Daytona Speedway
SPR_PINE,
// Egg Zeppelin
SPR_PPLR,
// Desert Palace
SPR_DPPT,
// Aurora Atoll
SPR_AATR,
SPR_COCO,
// Barren Badlands
SPR_BDST,
SPR_FROG,
SPR_CBRA,
SPR_HOLE,
SPR_BBRA,
// Eerie Grove
SPR_EGFG,
// SMK ports
SPR_SMKP,
SPR_MTYM,
SPR_THWP,
SPR_SNOB,
SPR_ICEB,
// Ezo's maps - many single-use sprites!
SPR_CNDL,
SPR_DOCH,
SPR_DUCK,
SPR_GTRE,
SPR_CHES,
SPR_CHIM,
SPR_DRGN,
SPR_LZMN,
SPR_PGSS,
SPR_ZTCH,
SPR_MKMA,
SPR_MKMP,
SPR_RTCH,
SPR_BOWL,
SPR_BOWH,
SPR_BRRL,
SPR_BRRR,
SPR_HRSE,
SPR_TOAH,
SPR_BFRT,
SPR_OFRT,
SPR_RFRT,
SPR_PFRT,
SPR_ASPK,
SPR_HBST,
SPR_HBSO,
SPR_HBSF,
SPR_WBLZ,
SPR_WBLN,
SPR_FWRK,
// Xmas-specific sprites that don't fit aboxe
SPR_XMS4,
SPR_XMS5,
// First person view sprites; this is a sprite so that it can be replaced by a specialized MD2 draw later
SPR_VIEW,
SPR_FIRSTFREESLOT,
SPR_LASTFREESLOT = SPR_FIRSTFREESLOT + NUMSPRITEFREESLOTS - 1,
NUMSPRITES
} spritenum_t;
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,
// SRB2kart Frames
S_KART_STND1,
S_KART_STND2,
S_KART_STND1_L,
S_KART_STND2_L,
S_KART_STND1_R,
S_KART_STND2_R,
S_KART_WALK1,
S_KART_WALK2,
S_KART_WALK1_L,
S_KART_WALK2_L,
S_KART_WALK1_R,
S_KART_WALK2_R,
S_KART_RUN1,
S_KART_RUN2,
S_KART_RUN1_L,
S_KART_RUN2_L,
S_KART_RUN1_R,
S_KART_RUN2_R,
S_KART_DRIFT1_L,
S_KART_DRIFT2_L,
S_KART_DRIFT1_R,
S_KART_DRIFT2_R,
S_KART_SPIN,
S_KART_PAIN,
S_KART_SQUISH,
/*
S_PLAY_STND,
S_PLAY_TAP1,
S_PLAY_TAP2,
S_PLAY_RUN1,
S_PLAY_RUN2,
S_PLAY_RUN3,
S_PLAY_RUN4,
S_PLAY_RUN5,
S_PLAY_RUN6,
S_PLAY_RUN7,
S_PLAY_RUN8,
S_PLAY_SPD1,
S_PLAY_SPD2,
S_PLAY_SPD3,
S_PLAY_SPD4,
S_PLAY_ATK1,
S_PLAY_ATK2,
S_PLAY_ATK3,
S_PLAY_ATK4,
S_PLAY_SPRING,
S_PLAY_FALL1,
S_PLAY_FALL2,
S_PLAY_ABL1,
S_PLAY_ABL2,
S_PLAY_SPC1,
S_PLAY_SPC2,
S_PLAY_SPC3,
S_PLAY_SPC4,
S_PLAY_CLIMB1,
S_PLAY_CLIMB2,
S_PLAY_CLIMB3,
S_PLAY_CLIMB4,
S_PLAY_CLIMB5,
S_PLAY_GASP,
S_PLAY_PAIN,
S_PLAY_DIE,
S_PLAY_TEETER1,
S_PLAY_TEETER2,
S_PLAY_CARRY,
S_PLAY_SUPERSTAND,
S_PLAY_SUPERWALK1,
S_PLAY_SUPERWALK2,
S_PLAY_SUPERFLY1,
S_PLAY_SUPERFLY2,
S_PLAY_SUPERTEETER,
S_PLAY_SUPERHIT,
S_PLAY_SUPERTRANS1,
S_PLAY_SUPERTRANS2,
S_PLAY_SUPERTRANS3,
S_PLAY_SUPERTRANS4,
S_PLAY_SUPERTRANS5,
S_PLAY_SUPERTRANS6,
S_PLAY_SUPERTRANS7,
S_PLAY_SUPERTRANS8,
S_PLAY_SUPERTRANS9, // This has special significance in the code. If you add more frames, search for it and make the appropriate changes.
*/
// 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,
// 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,
// AquaBuzz
S_BBUZZFLY1,
S_BBUZZFLY2,
// 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,
S_DETON16,
// 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,
// Sharp
S_SHARP_ROAM1,
S_SHARP_ROAM2,
S_SHARP_AIM1,
S_SHARP_AIM2,
S_SHARP_AIM3,
S_SHARP_AIM4,
S_SHARP_SPIN,
// 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,
// Snailer
S_SNAILER1,
// Vulture
S_VULTURE_STND,
S_VULTURE_VTOL1,
S_VULTURE_VTOL2,
S_VULTURE_VTOL3,
S_VULTURE_VTOL4,
S_VULTURE_ZOOM1,
S_VULTURE_ZOOM2,
S_VULTURE_ZOOM3,
S_VULTURE_ZOOM4,
S_VULTURE_ZOOM5,
// Pointy
S_POINTY1,
S_POINTYBALL1,
// Robo-Hood
S_ROBOHOOD_LOOK,
S_ROBOHOOD_STND,
S_ROBOHOOD_SHOOT,
S_ROBOHOOD_JUMP,
S_ROBOHOOD_JUMP2,
S_ROBOHOOD_FALL,
// 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,
// 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,
// Green Snapper
S_GSNAPPER_STND,
S_GSNAPPER1,
S_GSNAPPER2,
S_GSNAPPER3,
S_GSNAPPER4,
// Minus
S_MINUS_STND,
S_MINUS_DIGGING,
S_MINUS_POPUP,
S_MINUS_UPWARD1,
S_MINUS_UPWARD2,
S_MINUS_UPWARD3,
S_MINUS_UPWARD4,
S_MINUS_UPWARD5,
S_MINUS_UPWARD6,
S_MINUS_UPWARD7,
S_MINUS_UPWARD8,
S_MINUS_DOWNWARD1,
S_MINUS_DOWNWARD2,
S_MINUS_DOWNWARD3,
S_MINUS_DOWNWARD4,
S_MINUS_DOWNWARD5,
S_MINUS_DOWNWARD6,
S_MINUS_DOWNWARD7,
S_MINUS_DOWNWARD8,
// 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,
// Boss Explosion
S_BPLD1,
S_BPLD2,
S_BPLD3,
S_BPLD4,
S_BPLD5,
S_BPLD6,
S_BPLD7,
// S3&K Boss Explosion
S_SONIC3KBOSSEXPLOSION1,
S_SONIC3KBOSSEXPLOSION2,
S_SONIC3KBOSSEXPLOSION3,
S_SONIC3KBOSSEXPLOSION4,
S_SONIC3KBOSSEXPLOSION5,
S_SONIC3KBOSSEXPLOSION6,
S_JETFUME1,
S_JETFUME2,
// Boss 1
S_EGGMOBILE_STND,
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_LATK10,
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_RATK10,
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_PAIN,
S_EGGMOBILE_PAIN2,
S_EGGMOBILE_DIE1,
S_EGGMOBILE_DIE2,
S_EGGMOBILE_DIE3,
S_EGGMOBILE_DIE4,
S_EGGMOBILE_DIE5,
S_EGGMOBILE_DIE6,
S_EGGMOBILE_DIE7,
S_EGGMOBILE_DIE8,
S_EGGMOBILE_DIE9,
S_EGGMOBILE_DIE10,
S_EGGMOBILE_DIE11,
S_EGGMOBILE_DIE12,
S_EGGMOBILE_DIE13,
S_EGGMOBILE_DIE14,
S_EGGMOBILE_FLEE1,
S_EGGMOBILE_FLEE2,
S_EGGMOBILE_BALL,
S_EGGMOBILE_TARGET,
// 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_DIE5,
S_EGGMOBILE2_DIE6,
S_EGGMOBILE2_DIE7,
S_EGGMOBILE2_DIE8,
S_EGGMOBILE2_DIE9,
S_EGGMOBILE2_DIE10,
S_EGGMOBILE2_DIE11,
S_EGGMOBILE2_DIE12,
S_EGGMOBILE2_DIE13,
S_EGGMOBILE2_DIE14,
S_EGGMOBILE2_FLEE1,
S_EGGMOBILE2_FLEE2,
S_BOSSTANK1,
S_BOSSTANK2,
S_BOSSSPIGOT,
// Boss 2 Goop
S_GOOP1,
S_GOOP2,
S_GOOP3,
// Boss 3
S_EGGMOBILE3_STND,
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_LAUGH1,
S_EGGMOBILE3_LAUGH2,
S_EGGMOBILE3_LAUGH3,
S_EGGMOBILE3_LAUGH4,
S_EGGMOBILE3_LAUGH5,
S_EGGMOBILE3_LAUGH6,
S_EGGMOBILE3_LAUGH7,
S_EGGMOBILE3_LAUGH8,
S_EGGMOBILE3_LAUGH9,
S_EGGMOBILE3_LAUGH10,
S_EGGMOBILE3_LAUGH11,
S_EGGMOBILE3_LAUGH12,
S_EGGMOBILE3_LAUGH13,
S_EGGMOBILE3_LAUGH14,
S_EGGMOBILE3_LAUGH15,
S_EGGMOBILE3_LAUGH16,
S_EGGMOBILE3_LAUGH17,
S_EGGMOBILE3_LAUGH18,
S_EGGMOBILE3_LAUGH19,
S_EGGMOBILE3_LAUGH20,
S_EGGMOBILE3_PAIN,
S_EGGMOBILE3_PAIN2,
S_EGGMOBILE3_DIE1,
S_EGGMOBILE3_DIE2,
S_EGGMOBILE3_DIE3,
S_EGGMOBILE3_DIE4,
S_EGGMOBILE3_DIE5,
S_EGGMOBILE3_DIE6,
S_EGGMOBILE3_DIE7,
S_EGGMOBILE3_DIE8,
S_EGGMOBILE3_DIE9,
S_EGGMOBILE3_DIE10,
S_EGGMOBILE3_DIE11,
S_EGGMOBILE3_DIE12,
S_EGGMOBILE3_DIE13,
S_EGGMOBILE3_DIE14,
S_EGGMOBILE3_FLEE1,
S_EGGMOBILE3_FLEE2,
// Boss 3 Propeller
S_PROPELLER1,
S_PROPELLER2,
S_PROPELLER3,
S_PROPELLER4,
S_PROPELLER5,
S_PROPELLER6,
S_PROPELLER7,
// 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_ATK4,
S_FAKEMOBILE_ATK5,
// 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_RAISE3,
S_EGGMOBILE4_RAISE4,
S_EGGMOBILE4_RAISE5,
S_EGGMOBILE4_RAISE6,
S_EGGMOBILE4_RAISE7,
S_EGGMOBILE4_RAISE8,
S_EGGMOBILE4_RAISE9,
S_EGGMOBILE4_RAISE10,
S_EGGMOBILE4_PAIN,
S_EGGMOBILE4_DIE1,
S_EGGMOBILE4_DIE2,
S_EGGMOBILE4_DIE3,
S_EGGMOBILE4_DIE4,
S_EGGMOBILE4_DIE5,
S_EGGMOBILE4_DIE6,
S_EGGMOBILE4_DIE7,
S_EGGMOBILE4_DIE8,
S_EGGMOBILE4_DIE9,
S_EGGMOBILE4_DIE10,
S_EGGMOBILE4_DIE11,
S_EGGMOBILE4_DIE12,
S_EGGMOBILE4_DIE13,
S_EGGMOBILE4_DIE14,
S_EGGMOBILE4_FLEE1,
S_EGGMOBILE4_FLEE2,
S_EGGMOBILE4_MACE,
// Boss 4 jet flame
S_JETFLAME1,
S_JETFLAME2,
// 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_PLAY_STND
S_METALSONIC_STAND,
// S_PLAY_TAP1
S_METALSONIC_WAIT1,
S_METALSONIC_WAIT2,
// S_PLAY_RUN1
S_METALSONIC_WALK1,
S_METALSONIC_WALK2,
S_METALSONIC_WALK3,
S_METALSONIC_WALK4,
S_METALSONIC_WALK5,
S_METALSONIC_WALK6,
S_METALSONIC_WALK7,
S_METALSONIC_WALK8,
// S_PLAY_SPD1
S_METALSONIC_RUN1,
S_METALSONIC_RUN2,
S_METALSONIC_RUN3,
S_METALSONIC_RUN4,
// Metal Sonic (Battle)
S_METALSONIC_FLOAT,
S_METALSONIC_VECTOR,
S_METALSONIC_STUN,
S_METALSONIC_BLOCK,
S_METALSONIC_RAISE,
S_METALSONIC_GATHER,
S_METALSONIC_DASH,
S_METALSONIC_BOUNCE,
S_METALSONIC_SHOOT,
S_METALSONIC_PAIN,
S_METALSONIC_DEATH,
S_METALSONIC_FLEE1,
S_METALSONIC_FLEE2,
S_METALSONIC_FLEE3,
S_METALSONIC_FLEE4,
S_MSSHIELD_F1,
S_MSSHIELD_F2,
S_MSSHIELD_F3,
S_MSSHIELD_F4,
S_MSSHIELD_F5,
S_MSSHIELD_F6,
S_MSSHIELD_F7,
S_MSSHIELD_F8,
S_MSSHIELD_F9,
S_MSSHIELD_F10,
S_MSSHIELD_F11,
S_MSSHIELD_F12,
// Ring
S_RING,
// Blue Sphere for special stages
S_BLUEBALL,
S_BLUEBALLSPARK,
// Gravity Wells for special stages
S_GRAVWELLGREEN,
S_GRAVWELLGREEN2,
S_GRAVWELLGREEN3,
S_GRAVWELLRED,
S_GRAVWELLRED2,
S_GRAVWELLRED3,
// Individual Team Rings
S_TEAMRING,
// Special Stage Token
S_EMMY,
// Special Stage Token
S_TOKEN,
S_MOVINGTOKEN,
// 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,
// Emeralds (for hunt)
S_EMER1,
S_FAN,
S_FAN2,
S_FAN3,
S_FAN4,
S_FAN5,
// Bubble Source
S_BUBBLES1,
S_BUBBLES2,
// Level End Sign
S_SIGN1,
S_SIGN2,
S_SIGN3,
S_SIGN4,
S_SIGN5,
S_SIGN6,
S_SIGN7,
S_SIGN8,
S_SIGN9,
S_SIGN10,
S_SIGN11,
S_SIGN12,
S_SIGN13,
S_SIGN14,
S_SIGN15,
S_SIGN16,
S_SIGN17,
S_SIGN18,
S_SIGN19,
S_SIGN20,
S_SIGN_END,
// Steam Riser
S_STEAM1,
S_STEAM2,
S_STEAM3,
S_STEAM4,
S_STEAM5,
S_STEAM6,
S_STEAM7,
S_STEAM8,
// Spike Ball
S_SPIKEBALL1,
S_SPIKEBALL2,
S_SPIKEBALL3,
S_SPIKEBALL4,
S_SPIKEBALL5,
S_SPIKEBALL6,
S_SPIKEBALL7,
S_SPIKEBALL8,
// Fire Shield's Spawn
S_SPINFIRE1,
S_SPINFIRE2,
S_SPINFIRE3,
S_SPINFIRE4,
S_SPINFIRE5,
S_SPINFIRE6,
// Spikes
S_SPIKE1,
S_SPIKE2,
S_SPIKE3,
S_SPIKE4,
S_SPIKE5,
S_SPIKE6,
S_SPIKED1,
S_SPIKED2,
// Starpost
S_STARPOST_IDLE,
S_STARPOST_FLASH,
S_STARPOST_SPIN,
// Big floating mine
S_BIGMINE1,
S_BIGMINE2,
S_BIGMINE3,
S_BIGMINE4,
S_BIGMINE5,
S_BIGMINE6,
S_BIGMINE7,
S_BIGMINE8,
// Cannon Launcher
S_CANNONLAUNCHER1,
S_CANNONLAUNCHER2,
S_CANNONLAUNCHER3,
// Super Ring Box
S_SUPERRINGBOX,
S_SUPERRINGBOX1,
S_SUPERRINGBOX2,
S_SUPERRINGBOX3,
S_SUPERRINGBOX4,
S_SUPERRINGBOX5,
S_SUPERRINGBOX6,
// Red Team Ring Box
S_REDRINGBOX,
S_REDRINGBOX1,
// Blue Team Ring Box
S_BLUERINGBOX,
S_BLUERINGBOX1,
// Super Sneakers Box
S_SHTV,
S_SHTV1,
S_SHTV2,
S_SHTV3,
S_SHTV4,
S_SHTV5,
S_SHTV6,
// Invincibility Box
S_PINV,
S_PINV1,
S_PINV2,
S_PINV3,
S_PINV4,
S_PINV5,
S_PINV6,
// 1up Box
S_PRUP,
S_PRUP1,
S_PRUP2,
S_PRUP3,
S_PRUP4,
S_PRUP5,
S_PRUP6,
// Ring Shield Box
S_YLTV,
S_YLTV1,
S_YLTV2,
S_YLTV3,
S_YLTV4,
S_YLTV5,
S_YLTV6,
// Force Shield Box
S_BLTV1,
S_BLTV2,
S_BLTV3,
S_BLTV4,
S_BLTV5,
S_BLTV6,
S_BLTV7,
// Bomb Shield Box
S_BKTV1,
S_BKTV2,
S_BKTV3,
S_BKTV4,
S_BKTV5,
S_BKTV6,
S_BKTV7,
// Jump Shield Box
S_WHTV1,
S_WHTV2,
S_WHTV3,
S_WHTV4,
S_WHTV5,
S_WHTV6,
S_WHTV7,
// Water Shield Box
S_GRTV,
S_GRTV1,
S_GRTV2,
S_GRTV3,
S_GRTV4,
S_GRTV5,
S_GRTV6,
// Pity Shield Box
S_PITV1,
S_PITV2,
S_PITV3,
S_PITV4,
S_PITV5,
S_PITV6,
S_PITV7,
// Eggman Box
S_EGGTV1,
S_EGGTV2,
S_EGGTV3,
S_EGGTV4,
S_EGGTV5,
S_EGGTV6,
S_EGGTV7,
// Teleport Box
S_MIXUPBOX1,
S_MIXUPBOX2,
S_MIXUPBOX3,
S_MIXUPBOX4,
S_MIXUPBOX5,
S_MIXUPBOX6,
S_MIXUPBOX7,
// Recycler Box
S_RECYCLETV1,
S_RECYCLETV2,
S_RECYCLETV3,
S_RECYCLETV4,
S_RECYCLETV5,
S_RECYCLETV6,
S_RECYCLETV7,
// Question Box
S_RANDOMBOX1,
S_RANDOMBOX2,
S_RANDOMBOX3,
// Gravity Boots Box
S_GBTV1,
S_GBTV2,
S_GBTV3,
S_GBTV4,
S_GBTV5,
S_GBTV6,
S_GBTV7,
// Score boxes
S_SCORETVA1,
S_SCORETVA2,
S_SCORETVA3,
S_SCORETVA4,
S_SCORETVA5,
S_SCORETVA6,
S_SCORETVA7,
S_SCORETVB1,
S_SCORETVB2,
S_SCORETVB3,
S_SCORETVB4,
S_SCORETVB5,
S_SCORETVB6,
S_SCORETVB7,
// Monitor Explosion
S_MONITOREXPLOSION1,
S_MONITOREXPLOSION2,
S_REDMONITOREXPLOSION1,
S_REDMONITOREXPLOSION2,
S_BLUEMONITOREXPLOSION1,
S_BLUEMONITOREXPLOSION2,
S_ROCKET,
S_LASER,
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_ARROWUP,
S_ARROWDOWN,
// Trapgoyle Demon fire
S_DEMONFIRE1,
S_DEMONFIRE2,
S_DEMONFIRE3,
S_DEMONFIRE4,
S_DEMONFIRE5,
S_DEMONFIRE6,
S_GFZFLOWERA,
S_GFZFLOWERA2,
S_GFZFLOWERB1,
S_GFZFLOWERB2,
S_GFZFLOWERC1,
S_BERRYBUSH,
S_BUSH,
// THZ Plant
S_THZPLANT1,
S_THZPLANT2,
S_THZPLANT3,
S_THZPLANT4,
// THZ Alarm
S_ALARM1,
// Deep Sea Gargoyle
S_GARGOYLE,
// 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 1
S_CORAL1,
// Coral 2
S_CORAL2,
// Coral 3
S_CORAL3,
// Blue Crystal
S_BLUECRYSTAL1,
// CEZ Chain
S_CEZCHAIN,
// Flame
S_FLAME1,
S_FLAME2,
S_FLAME3,
S_FLAME4,
// Eggman Statue
S_EGGSTATUE1,
// CEZ hidden sling
S_SLING1,
S_SLING2,
// CEZ Small Mace Chain
S_SMALLMACECHAIN,
// CEZ Big Mace Chain
S_BIGMACECHAIN,
// CEZ Small Mace
S_SMALLMACE,
// CEZ Big Mace
S_BIGMACE,
S_CEZFLOWER1,
// 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 Sprites
S_CACTI1,
S_CACTI2,
S_CACTI3,
S_CACTI4,
// Flame jet
S_FLAMEJETSTND,
S_FLAMEJETSTART,
S_FLAMEJETSTOP,
S_FLAMEJETFLAME1,
S_FLAMEJETFLAME2,
S_FLAMEJETFLAME3,
// Spinning flame jets
S_FJSPINAXISA1, // Counter-clockwise
S_FJSPINAXISA2,
S_FJSPINAXISA3,
S_FJSPINAXISA4,
S_FJSPINAXISA5,
S_FJSPINAXISA6,
S_FJSPINAXISA7,
S_FJSPINAXISA8,
S_FJSPINAXISA9,
S_FJSPINHELPERA1,
S_FJSPINHELPERA2,
S_FJSPINHELPERA3,
S_FJSPINAXISB1, // Clockwise
S_FJSPINAXISB2,
S_FJSPINAXISB3,
S_FJSPINAXISB4,
S_FJSPINAXISB5,
S_FJSPINAXISB6,
S_FJSPINAXISB7,
S_FJSPINAXISB8,
S_FJSPINAXISB9,
S_FJSPINHELPERB1,
S_FJSPINHELPERB2,
S_FJSPINHELPERB3,
// Blade's flame
S_FLAMEJETFLAMEB1,
S_FLAMEJETFLAMEB2,
S_FLAMEJETFLAMEB3,
S_FLAMEJETFLAMEB4,
S_FLAMEJETFLAMEB5,
S_FLAMEJETFLAMEB6,
// Trapgoyles
S_TRAPGOYLE,
S_TRAPGOYLE_CHECK,
S_TRAPGOYLE_FIRE1,
S_TRAPGOYLE_FIRE2,
S_TRAPGOYLE_FIRE3,
S_TRAPGOYLEUP,
S_TRAPGOYLEUP_CHECK,
S_TRAPGOYLEUP_FIRE1,
S_TRAPGOYLEUP_FIRE2,
S_TRAPGOYLEUP_FIRE3,
S_TRAPGOYLEDOWN,
S_TRAPGOYLEDOWN_CHECK,
S_TRAPGOYLEDOWN_FIRE1,
S_TRAPGOYLEDOWN_FIRE2,
S_TRAPGOYLEDOWN_FIRE3,
S_TRAPGOYLELONG,
S_TRAPGOYLELONG_CHECK,
S_TRAPGOYLELONG_FIRE1,
S_TRAPGOYLELONG_FIRE2,
S_TRAPGOYLELONG_FIRE3,
S_TRAPGOYLELONG_FIRE4,
S_TRAPGOYLELONG_FIRE5,
// ATZ's Red Crystal/Target
S_TARGET_IDLE,
S_TARGET_HIT1,
S_TARGET_HIT2,
S_TARGET_RESPAWN,
S_TARGET_ALLDONE,
// 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,
S_SNOWMANHAT,
S_LAMPPOST1,
S_LAMPPOST2,
S_HANGSTAR,
// 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_BSZFISH,
S_BSZSUNFLOWER,
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_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_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_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_ELEM1,
S_ELEM2,
S_ELEM3,
S_ELEM4,
S_ELEM5,
S_ELEM6,
S_ELEM7,
S_ELEM8,
S_ELEM9,
S_ELEM10,
S_ELEM11,
S_ELEM12,
S_ELEMF1,
S_ELEMF2,
S_ELEMF3,
S_ELEMF4,
S_ELEMF5,
S_ELEMF6,
S_ELEMF7,
S_ELEMF8,
S_PITY1,
S_PITY2,
S_PITY3,
S_PITY4,
S_PITY5,
S_PITY6,
S_PITY7,
S_PITY8,
S_PITY9,
S_PITY10,
// Invincibility Sparkles
S_IVSP,
// Super Sonic Spark
S_SSPK1,
S_SSPK2,
S_SSPK3,
S_SSPK4,
S_SSPK5,
// Freed Birdie
S_BIRD1,
S_BIRD2,
S_BIRD3,
// Freed Bunny
S_BUNNY1,
S_BUNNY2,
S_BUNNY3,
S_BUNNY4,
S_BUNNY5,
S_BUNNY6,
S_BUNNY7,
S_BUNNY8,
S_BUNNY9,
S_BUNNY10,
// Freed Mouse
S_MOUSE1,
S_MOUSE2,
// Freed Chicken
S_CHICKEN1,
S_CHICKENHOP,
S_CHICKENFLY1,
S_CHICKENFLY2,
// Freed Cow
S_COW1,
S_COW2,
S_COW3,
S_COW4,
// Red Birdie in Bubble
S_RBIRD1,
S_RBIRD2,
S_RBIRD3,
S_YELLOWSPRING,
S_YELLOWSPRING2,
S_YELLOWSPRING3,
S_YELLOWSPRING4,
S_YELLOWSPRING5,
S_REDSPRING,
S_REDSPRING2,
S_REDSPRING3,
S_REDSPRING4,
S_REDSPRING5,
// Blue Springs
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,
// 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,
// 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_SMALLBUBBLE1,
S_MEDIUMBUBBLE,
S_MEDIUMBUBBLE1,
S_LARGEBUBBLE,
S_EXTRALARGEBUBBLE, // breathable
S_POP1, // Extra Large bubble goes POP!
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,
S_PARTICLEGEN,
// 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)
// Drowning Timer Numbers
S_ZERO1,
S_ONE1,
S_TWO1,
S_THREE1,
S_FOUR1,
S_FIVE1,
// Tag Sign
S_TTAG1,
// Got Flag Sign
S_GOTFLAG1,
S_GOTFLAG2,
S_GOTFLAG3,
S_GOTFLAG4,
// 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_FIREBALL1,
S_FIREBALL2,
S_FIREBALL3,
S_FIREBALL4,
S_FIREBALLEXP1,
S_FIREBALLEXP2,
S_FIREBALLEXP3,
S_SHELL,
S_SHELL1,
S_SHELL2,
S_SHELL3,
S_SHELL4,
S_PUMA1,
S_PUMA2,
S_PUMA3,
S_PUMA4,
S_PUMA5,
S_PUMA6,
S_HAMMER1,
S_HAMMER2,
S_HAMMER3,
S_HAMMER4,
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_NIGHTSDRONE1,
S_NIGHTSDRONE2,
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_NIGHTSGOAL1,
S_NIGHTSGOAL2,
S_NIGHTSGOAL3,
S_NIGHTSGOAL4,
S_NIGHTSFLY1A,
S_NIGHTSFLY1B,
S_NIGHTSDRILL1A,
S_NIGHTSDRILL1B,
S_NIGHTSDRILL1C,
S_NIGHTSDRILL1D,
S_NIGHTSFLY2A,
S_NIGHTSFLY2B,
S_NIGHTSDRILL2A,
S_NIGHTSDRILL2B,
S_NIGHTSDRILL2C,
S_NIGHTSDRILL2D,
S_NIGHTSFLY3A,
S_NIGHTSFLY3B,
S_NIGHTSDRILL3A,
S_NIGHTSDRILL3B,
S_NIGHTSDRILL3C,
S_NIGHTSDRILL3D,
S_NIGHTSFLY4A,
S_NIGHTSFLY4B,
S_NIGHTSDRILL4A,
S_NIGHTSDRILL4B,
S_NIGHTSDRILL4C,
S_NIGHTSDRILL4D,
S_NIGHTSFLY5A,
S_NIGHTSFLY5B,
S_NIGHTSDRILL5A,
S_NIGHTSDRILL5B,
S_NIGHTSDRILL5C,
S_NIGHTSDRILL5D,
S_NIGHTSFLY6A,
S_NIGHTSFLY6B,
S_NIGHTSDRILL6A,
S_NIGHTSDRILL6B,
S_NIGHTSDRILL6C,
S_NIGHTSDRILL6D,
S_NIGHTSFLY7A,
S_NIGHTSFLY7B,
S_NIGHTSDRILL7A,
S_NIGHTSDRILL7B,
S_NIGHTSDRILL7C,
S_NIGHTSDRILL7D,
S_NIGHTSFLY8A,
S_NIGHTSFLY8B,
S_NIGHTSDRILL8A,
S_NIGHTSDRILL8B,
S_NIGHTSDRILL8C,
S_NIGHTSDRILL8D,
S_NIGHTSFLY9A,
S_NIGHTSFLY9B,
S_NIGHTSDRILL9A,
S_NIGHTSDRILL9B,
S_NIGHTSDRILL9C,
S_NIGHTSDRILL9D,
S_NIGHTSHURT1,
S_NIGHTSHURT2,
S_NIGHTSHURT3,
S_NIGHTSHURT4,
S_NIGHTSHURT5,
S_NIGHTSHURT6,
S_NIGHTSHURT7,
S_NIGHTSHURT8,
S_NIGHTSHURT9,
S_NIGHTSHURT10,
S_NIGHTSHURT11,
S_NIGHTSHURT12,
S_NIGHTSHURT13,
S_NIGHTSHURT14,
S_NIGHTSHURT15,
S_NIGHTSHURT16,
S_NIGHTSHURT17,
S_NIGHTSHURT18,
S_NIGHTSHURT19,
S_NIGHTSHURT20,
S_NIGHTSHURT21,
S_NIGHTSHURT22,
S_NIGHTSHURT23,
S_NIGHTSHURT24,
S_NIGHTSHURT25,
S_NIGHTSHURT26,
S_NIGHTSHURT27,
S_NIGHTSHURT28,
S_NIGHTSHURT29,
S_NIGHTSHURT30,
S_NIGHTSHURT31,
S_NIGHTSHURT32,
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,
S_NIGHTSWING,
S_NIGHTSWING_XMAS,
// NiGHTS Paraloop Powerups
S_NIGHTSPOWERUP1,
S_NIGHTSPOWERUP2,
S_NIGHTSPOWERUP3,
S_NIGHTSPOWERUP4,
S_NIGHTSPOWERUP5,
S_NIGHTSPOWERUP6,
S_NIGHTSPOWERUP7,
S_NIGHTSPOWERUP8,
S_NIGHTSPOWERUP9,
S_NIGHTSPOWERUP10,
S_EGGCAPSULE,
// Orbiting Chaos Emeralds
S_ORBITEM1,
S_ORBITEM2,
S_ORBITEM3,
S_ORBITEM4,
S_ORBITEM5,
S_ORBITEM6,
S_ORBITEM7,
S_ORBITEM8,
S_ORBITEM9,
S_ORBITEM10,
S_ORBITEM11,
S_ORBITEM12,
S_ORBITEM13,
S_ORBITEM14,
S_ORBITEM15,
S_ORBITEM16,
// "Flicky" helper
S_NIGHTOPIANHELPER1,
S_NIGHTOPIANHELPER2,
S_NIGHTOPIANHELPER3,
S_NIGHTOPIANHELPER4,
S_NIGHTOPIANHELPER5,
S_NIGHTOPIANHELPER6,
S_NIGHTOPIANHELPER7,
S_NIGHTOPIANHELPER8,
S_CRUMBLE1,
S_CRUMBLE2,
S_SUPERTRANS1,
S_SUPERTRANS2,
S_SUPERTRANS3,
S_SUPERTRANS4,
S_SUPERTRANS5,
S_SUPERTRANS6,
S_SUPERTRANS7,
S_SUPERTRANS8,
S_SUPERTRANS9,
// Spark
S_SPRK1,
S_SPRK2,
S_SPRK3,
S_SPRK4,
S_SPRK5,
S_SPRK6,
S_SPRK7,
S_SPRK8,
S_SPRK9,
S_SPRK10,
S_SPRK11,
S_SPRK12,
S_SPRK13,
S_SPRK14,
S_SPRK15,
S_SPRK16,
// Robot Explosion
S_XPLD1,
S_XPLD2,
S_XPLD3,
S_XPLD4,
// Underwater Explosion
S_WPLD1,
S_WPLD2,
S_WPLD3,
S_WPLD4,
S_WPLD5,
S_WPLD6,
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,
S_SRB1_CRAWLA1,
S_SRB1_CRAWLA2,
S_SRB1_CRAWLA3,
S_SRB1_CRAWLA4,
S_SRB1_BAT1,
S_SRB1_BAT2,
S_SRB1_BAT3,
S_SRB1_BAT4,
S_SRB1_ROBOFISH1,
S_SRB1_ROBOFISH2,
S_SRB1_ROBOFISH3,
S_SRB1_VOLCANOGUY1,
S_SRB1_VOLCANOGUY2,
S_SRB1_HOPPY1,
S_SRB1_HOPPY2,
S_SRB1_HOPPYWATER1,
S_SRB1_HOPPYWATER2,
S_SRB1_HOPPYSKYLAB1,
S_SRB1_MMZFLYING1,
S_SRB1_MMZFLYING2,
S_SRB1_MMZFLYING3,
S_SRB1_MMZFLYING4,
S_SRB1_MMZFLYING5,
S_SRB1_UFO1,
S_SRB1_UFO2,
S_SRB1_GRAYBOT1,
S_SRB1_GRAYBOT2,
S_SRB1_GRAYBOT3,
S_SRB1_GRAYBOT4,
S_SRB1_GRAYBOT5,
S_SRB1_GRAYBOT6,
S_SRB1_ROBOTOPOLIS1,
S_SRB1_ROBOTOPOLIS2,
S_SRB1_RBZBUZZ1,
S_SRB1_RBZBUZZ2,
S_SRB1_RBZSPIKES1,
S_SRB1_RBZSPIKES2,
S_SRB1_METALSONIC1,
S_SRB1_METALSONIC2,
S_SRB1_METALSONIC3,
S_SRB1_GOLDBOT1,
S_SRB1_GOLDBOT2,
S_SRB1_GOLDBOT3,
S_SRB1_GOLDBOT4,
S_SRB1_GOLDBOT5,
S_SRB1_GOLDBOT6,
S_SRB1_GENREX1,
S_SRB1_GENREX2,
// Gray Springs
S_GRAYSPRING,
S_GRAYSPRING2,
S_GRAYSPRING3,
S_GRAYSPRING4,
S_GRAYSPRING5,
// Invis-spring - this is used just for the sproing sound.
S_INVISSPRING,
// Blue Diagonal Spring
S_BDIAG1,
S_BDIAG2,
S_BDIAG3,
S_BDIAG4,
S_BDIAG5,
S_BDIAG6,
S_BDIAG7,
S_BDIAG8,
//{ Random Item Box
S_RANDOMITEM1,
S_RANDOMITEM2,
S_RANDOMITEM3,
S_RANDOMITEM4,
S_RANDOMITEM5,
S_RANDOMITEM6,
S_RANDOMITEM7,
S_RANDOMITEM8,
S_RANDOMITEM9,
S_RANDOMITEM10,
S_RANDOMITEM11,
S_RANDOMITEM12,
S_RANDOMITEM13,
S_RANDOMITEM14,
S_RANDOMITEM15,
S_RANDOMITEM16,
S_RANDOMITEM17,
S_RANDOMITEM18,
S_RANDOMITEM19,
S_RANDOMITEM20,
S_RANDOMITEM21,
S_RANDOMITEM22,
S_RANDOMITEM23,
S_RANDOMITEM24,
S_DEADRANDOMITEM,
// Random Item Pop
S_RANDOMITEMPOP1,
S_RANDOMITEMPOP2,
S_RANDOMITEMPOP3,
S_RANDOMITEMPOP4,
//}
S_ITEMICON,
// Signpost sparkles
S_SIGNSPARK1,
S_SIGNSPARK2,
S_SIGNSPARK3,
S_SIGNSPARK4,
S_SIGNSPARK5,
S_SIGNSPARK6,
S_SIGNSPARK7,
S_SIGNSPARK8,
S_SIGNSPARK9,
S_SIGNSPARK10,
S_SIGNSPARK11,
// Drift Sparks
S_DRIFTSPARK_A1,
S_DRIFTSPARK_A2,
S_DRIFTSPARK_A3,
S_DRIFTSPARK_B1,
S_DRIFTSPARK_C1,
S_DRIFTSPARK_C2,
// Brake drift sparks
S_BRAKEDRIFT,
// Drift Smoke
S_DRIFTDUST1,
S_DRIFTDUST2,
S_DRIFTDUST3,
S_DRIFTDUST4,
// Fast lines
S_FASTLINE1,
S_FASTLINE2,
S_FASTLINE3,
S_FASTLINE4,
S_FASTLINE5,
// Fast dust release
S_FASTDUST1,
S_FASTDUST2,
S_FASTDUST3,
S_FASTDUST4,
S_FASTDUST5,
S_FASTDUST6,
S_FASTDUST7,
// Magnet Burst
// Sneaker boost effect
S_BOOSTFLAME,
S_BOOSTSMOKESPAWNER,
S_BOOSTSMOKE1,
S_BOOSTSMOKE2,
S_BOOSTSMOKE3,
S_BOOSTSMOKE4,
S_BOOSTSMOKE5,
S_BOOSTSMOKE6,
// Sneaker Fire Trail
S_KARTFIRE1,
S_KARTFIRE2,
S_KARTFIRE3,
S_KARTFIRE4,
S_KARTFIRE5,
S_KARTFIRE6,
S_KARTFIRE7,
S_KARTFIRE8,
// Angel Island Drift Strat Dust (what a mouthful!)
S_KARTAIZDRIFTSTRAT,
// Invincibility Sparks
S_KARTINVULN_SMALL1,
S_KARTINVULN_SMALL2,
S_KARTINVULN_SMALL3,
S_KARTINVULN_SMALL4,
S_KARTINVULN_SMALL5,
S_KARTINVULN_LARGE1,
S_KARTINVULN_LARGE2,
S_KARTINVULN_LARGE3,
S_KARTINVULN_LARGE4,
S_KARTINVULN_LARGE5,
// Invincibility flash
S_INVULNFLASH1,
S_INVULNFLASH2,
S_INVULNFLASH3,
S_INVULNFLASH4,
// Wipeout dust trail
S_WIPEOUTTRAIL1,
S_WIPEOUTTRAIL2,
S_WIPEOUTTRAIL3,
S_WIPEOUTTRAIL4,
S_WIPEOUTTRAIL5,
// Rocket sneaker
S_ROCKETSNEAKER_L,
S_ROCKETSNEAKER_R,
S_ROCKETSNEAKER_LVIBRATE,
S_ROCKETSNEAKER_RVIBRATE,
//{ Eggman Monitor
S_EGGMANITEM1,
S_EGGMANITEM2,
S_EGGMANITEM3,
S_EGGMANITEM4,
S_EGGMANITEM5,
S_EGGMANITEM6,
S_EGGMANITEM7,
S_EGGMANITEM8,
S_EGGMANITEM9,
S_EGGMANITEM10,
S_EGGMANITEM11,
S_EGGMANITEM12,
S_EGGMANITEM13,
S_EGGMANITEM14,
S_EGGMANITEM15,
S_EGGMANITEM16,
S_EGGMANITEM17,
S_EGGMANITEM18,
S_EGGMANITEM19,
S_EGGMANITEM20,
S_EGGMANITEM21,
S_EGGMANITEM22,
S_EGGMANITEM23,
S_EGGMANITEM24,
S_EGGMANITEM_DEAD,
//}
// Banana
S_BANANA,
S_BANANA_DEAD,
//{ Orbinaut
S_ORBINAUT1,
S_ORBINAUT2,
S_ORBINAUT3,
S_ORBINAUT4,
S_ORBINAUT5,
S_ORBINAUT6,
S_ORBINAUT_DEAD,
S_ORBINAUT_SHIELD1,
S_ORBINAUT_SHIELD2,
S_ORBINAUT_SHIELD3,
S_ORBINAUT_SHIELD4,
S_ORBINAUT_SHIELD5,
S_ORBINAUT_SHIELD6,
S_ORBINAUT_SHIELDDEAD,
//}
//{ Jawz
S_JAWZ1,
S_JAWZ2,
S_JAWZ3,
S_JAWZ4,
S_JAWZ5,
S_JAWZ6,
S_JAWZ7,
S_JAWZ8,
S_JAWZ_DUD1,
S_JAWZ_DUD2,
S_JAWZ_DUD3,
S_JAWZ_DUD4,
S_JAWZ_DUD5,
S_JAWZ_DUD6,
S_JAWZ_DUD7,
S_JAWZ_DUD8,
S_JAWZ_SHIELD1,
S_JAWZ_SHIELD2,
S_JAWZ_SHIELD3,
S_JAWZ_SHIELD4,
S_JAWZ_SHIELD5,
S_JAWZ_SHIELD6,
S_JAWZ_SHIELD7,
S_JAWZ_SHIELD8,
S_JAWZ_DEAD1,
S_JAWZ_DEAD2,
//}
S_PLAYERRETICULE, // Player reticule
// Special Stage Mine
S_SSMINE1,
S_SSMINE2,
S_SSMINE3,
S_SSMINE4,
S_SSMINE_SHIELD1,
S_SSMINE_SHIELD2,
S_SSMINE_AIR1,
S_SSMINE_AIR2,
S_SSMINE_DEPLOY1,
S_SSMINE_DEPLOY2,
S_SSMINE_DEPLOY3,
S_SSMINE_DEPLOY4,
S_SSMINE_DEPLOY5,
S_SSMINE_DEPLOY6,
S_SSMINE_DEPLOY7,
S_SSMINE_DEPLOY8,
S_SSMINE_DEPLOY9,
S_SSMINE_DEPLOY10,
S_SSMINE_DEPLOY11,
S_SSMINE_DEPLOY12,
S_SSMINE_DEPLOY13,
S_SSMINE_EXPLODE,
S_MINEEXPLOSION1,
S_MINEEXPLOSION2,
// New explosion
S_QUICKBOOM1,
S_QUICKBOOM2,
S_QUICKBOOM3,
S_QUICKBOOM4,
S_QUICKBOOM5,
S_QUICKBOOM6,
S_QUICKBOOM7,
S_QUICKBOOM8,
S_QUICKBOOM9,
S_QUICKBOOM10,
S_SLOWBOOM1,
S_SLOWBOOM2,
S_SLOWBOOM3,
S_SLOWBOOM4,
S_SLOWBOOM5,
S_SLOWBOOM6,
S_SLOWBOOM7,
S_SLOWBOOM8,
S_SLOWBOOM9,
S_SLOWBOOM10,
// Ballhog
S_BALLHOG1,
S_BALLHOG2,
S_BALLHOG3,
S_BALLHOG4,
S_BALLHOG5,
S_BALLHOG6,
S_BALLHOG7,
S_BALLHOG8,
S_BALLHOG_DEAD,
S_BALLHOGBOOM1,
S_BALLHOGBOOM2,
S_BALLHOGBOOM3,
S_BALLHOGBOOM4,
S_BALLHOGBOOM5,
S_BALLHOGBOOM6,
S_BALLHOGBOOM7,
S_BALLHOGBOOM8,
S_BALLHOGBOOM9,
S_BALLHOGBOOM10,
S_BALLHOGBOOM11,
S_BALLHOGBOOM12,
S_BALLHOGBOOM13,
S_BALLHOGBOOM14,
S_BALLHOGBOOM15,
S_BALLHOGBOOM16,
// Self-Propelled Bomb
S_SPB1,
S_SPB2,
S_SPB3,
S_SPB4,
S_SPB5,
S_SPB6,
S_SPB7,
S_SPB8,
S_SPB9,
S_SPB10,
S_SPB11,
S_SPB12,
S_SPB13,
S_SPB14,
S_SPB15,
S_SPB16,
S_SPB17,
S_SPB18,
S_SPB19,
S_SPB20,
S_SPB_DEAD,
// Thunder Shield
S_THUNDERSHIELD1,
S_THUNDERSHIELD2,
S_THUNDERSHIELD3,
S_THUNDERSHIELD4,
S_THUNDERSHIELD5,
S_THUNDERSHIELD6,
S_THUNDERSHIELD7,
S_THUNDERSHIELD8,
S_THUNDERSHIELD9,
S_THUNDERSHIELD10,
S_THUNDERSHIELD11,
S_THUNDERSHIELD12,
S_THUNDERSHIELD13,
S_THUNDERSHIELD14,
S_THUNDERSHIELD15,
S_THUNDERSHIELD16,
S_THUNDERSHIELD17,
S_THUNDERSHIELD18,
S_THUNDERSHIELD19,
S_THUNDERSHIELD20,
S_THUNDERSHIELD21,
S_THUNDERSHIELD22,
S_THUNDERSHIELD23,
S_THUNDERSHIELD24,
// The legend
S_SINK,
S_SINK_SHIELD,
S_SINKTRAIL1,
S_SINKTRAIL2,
S_SINKTRAIL3,
// Battle Mode bumpers
S_BATTLEBUMPER1,
S_BATTLEBUMPER2,
S_BATTLEBUMPER3,
// DEZ Laser respawn
S_DEZLASER,
// Audience Members
S_RANDOMAUDIENCE,
S_AUDIENCE_CHAO_CHEER1,
S_AUDIENCE_CHAO_CHEER2,
S_AUDIENCE_CHAO_WIN1,
S_AUDIENCE_CHAO_WIN2,
S_AUDIENCE_CHAO_LOSE,
// 1.0 Kart Decoratives
S_FLAYM1,
S_FLAYM2,
S_FLAYM3,
S_FLAYM4,
S_DEVIL,
S_ANGEL,
S_PALMTREE,
S_FLAG,
S_HEDGEHOG, // (Rimshot)
S_BUSH1,
S_TWEE,
S_HYDRANT,
// New Misc Decorations
S_BIGPUMA1,
S_BIGPUMA2,
S_BIGPUMA3,
S_BIGPUMA4,
S_BIGPUMA5,
S_BIGPUMA6,
S_APPLE1,
S_APPLE2,
S_APPLE3,
S_APPLE4,
S_APPLE5,
S_APPLE6,
S_APPLE7,
S_APPLE8,
// D00Dkart - Fall Flowers
S_DOOD_FLOWER1,
S_DOOD_FLOWER2,
S_DOOD_FLOWER3,
S_DOOD_FLOWER4,
S_DOOD_FLOWER5,
S_DOOD_FLOWER6,
// D00Dkart - Super Circuit Box
S_DOOD_BOX1,
S_DOOD_BOX2,
S_DOOD_BOX3,
S_DOOD_BOX4,
S_DOOD_BOX5,
// D00Dkart - Diddy Kong Racing Bumper
S_DOOD_BALLOON,
// Chaotix Big Ring
S_BIGRING01,
S_BIGRING02,
S_BIGRING03,
S_BIGRING04,
S_BIGRING05,
S_BIGRING06,
S_BIGRING07,
S_BIGRING08,
S_BIGRING09,
S_BIGRING10,
S_BIGRING11,
S_BIGRING12,
// SNES Objects
S_SNES_DONUTBUSH1,
S_SNES_DONUTBUSH2,
S_SNES_DONUTBUSH3,
// GBA Objects
S_GBA_BOO1,
S_GBA_BOO2,
S_GBA_BOO3,
S_GBA_BOO4,
// Sapphire Coast Mobs
S_BUZZBOMBER_LOOK1,
S_BUZZBOMBER_LOOK2,
S_BUZZBOMBER_FLY1,
S_BUZZBOMBER_FLY2,
S_BUZZBOMBER_FLY3,
S_BUZZBOMBER_FLY4,
S_CHOMPER_SPAWN,
S_CHOMPER_HOP1,
S_CHOMPER_HOP2,
S_CHOMPER_TURNAROUND,
S_PALMTREE2,
S_PURPLEFLOWER1,
S_PURPLEFLOWER2,
S_YELLOWFLOWER1,
S_YELLOWFLOWER2,
S_PLANT2,
S_PLANT3,
S_PLANT4,
// Crystal Abyss Mobs
S_SKULL,
S_PHANTREE,
S_FLYINGGARG1,
S_FLYINGGARG2,
S_FLYINGGARG3,
S_FLYINGGARG4,
S_FLYINGGARG5,
S_FLYINGGARG6,
S_FLYINGGARG7,
S_FLYINGGARG8,
S_LAMPPOST,
S_MOSSYTREE,
S_SHADOW,
S_WHITESHADOW,
S_BUMP1,
S_BUMP2,
S_BUMP3,
S_FLINGENERGY1,
S_FLINGENERGY2,
S_FLINGENERGY3,
S_CLASH1,
S_CLASH2,
S_CLASH3,
S_CLASH4,
S_CLASH5,
S_CLASH6,
S_FIREDITEM1,
S_FIREDITEM2,
S_FIREDITEM3,
S_FIREDITEM4,
S_INSTASHIELDA1, // No damage instashield effect
S_INSTASHIELDA2,
S_INSTASHIELDA3,
S_INSTASHIELDA4,
S_INSTASHIELDA5,
S_INSTASHIELDA6,
S_INSTASHIELDA7,
S_INSTASHIELDB1,
S_INSTASHIELDB2,
S_INSTASHIELDB3,
S_INSTASHIELDB4,
S_INSTASHIELDB5,
S_INSTASHIELDB6,
S_INSTASHIELDB7,
S_PLAYERARROW, // Above player arrow
S_PLAYERARROW_BOX,
S_PLAYERARROW_ITEM,
S_PLAYERARROW_NUMBER,
S_PLAYERARROW_X,
S_PLAYERARROW_WANTED1,
S_PLAYERARROW_WANTED2,
S_PLAYERARROW_WANTED3,
S_PLAYERARROW_WANTED4,
S_PLAYERARROW_WANTED5,
S_PLAYERARROW_WANTED6,
S_PLAYERARROW_WANTED7,
S_PLAYERBOMB1, // Karma player overlays
S_PLAYERBOMB2,
S_PLAYERBOMB3,
S_PLAYERBOMB4,
S_PLAYERBOMB5,
S_PLAYERBOMB6,
S_PLAYERBOMB7,
S_PLAYERBOMB8,
S_PLAYERBOMB9,
S_PLAYERBOMB10,
S_PLAYERBOMB11,
S_PLAYERBOMB12,
S_PLAYERBOMB13,
S_PLAYERBOMB14,
S_PLAYERBOMB15,
S_PLAYERBOMB16,
S_PLAYERBOMB17,
S_PLAYERBOMB18,
S_PLAYERBOMB19,
S_PLAYERBOMB20,
S_PLAYERITEM,
S_PLAYERFAKE,
S_KARMAWHEEL,
S_BATTLEPOINT1A, // Battle point indicators
S_BATTLEPOINT1B,
S_BATTLEPOINT1C,
S_BATTLEPOINT1D,
S_BATTLEPOINT1E,
S_BATTLEPOINT1F,
S_BATTLEPOINT1G,
S_BATTLEPOINT1H,
S_BATTLEPOINT1I,
S_BATTLEPOINT2A,
S_BATTLEPOINT2B,
S_BATTLEPOINT2C,
S_BATTLEPOINT2D,
S_BATTLEPOINT2E,
S_BATTLEPOINT2F,
S_BATTLEPOINT2G,
S_BATTLEPOINT2H,
S_BATTLEPOINT2I,
S_BATTLEPOINT3A,
S_BATTLEPOINT3B,
S_BATTLEPOINT3C,
S_BATTLEPOINT3D,
S_BATTLEPOINT3E,
S_BATTLEPOINT3F,
S_BATTLEPOINT3G,
S_BATTLEPOINT3H,
S_BATTLEPOINT3I,
// Thunder shield use stuff;
S_KSPARK1, // Sparkling Radius
S_KSPARK2,
S_KSPARK3,
S_KSPARK4,
S_KSPARK5,
S_KSPARK6,
S_KSPARK7,
S_KSPARK8,
S_KSPARK9,
S_KSPARK10,
S_KSPARK11,
S_KSPARK12,
S_KSPARK13, // ... that's an awful lot.
S_LZIO11, // Straight lightning bolt
S_LZIO12,
S_LZIO13,
S_LZIO14,
S_LZIO15,
S_LZIO16,
S_LZIO17,
S_LZIO18,
S_LZIO19,
S_LZIO21, // Straight lightning bolt (flipped)
S_LZIO22,
S_LZIO23,
S_LZIO24,
S_LZIO25,
S_LZIO26,
S_LZIO27,
S_LZIO28,
S_LZIO29,
S_KLIT1, // Diagonal lightning. No, it not being straight doesn't make it gay.
S_KLIT2,
S_KLIT3,
S_KLIT4,
S_KLIT5,
S_KLIT6,
S_KLIT7,
S_KLIT8,
S_KLIT9,
S_KLIT10,
S_KLIT11,
S_KLIT12,
S_FZEROSMOKE1, // F-Zero NO CONTEST explosion
S_FZEROSMOKE2,
S_FZEROSMOKE3,
S_FZEROSMOKE4,
S_FZEROSMOKE5,
S_FZEROBOOM1,
S_FZEROBOOM2,
S_FZEROBOOM3,
S_FZEROBOOM4,
S_FZEROBOOM5,
S_FZEROBOOM6,
S_FZEROBOOM7,
S_FZEROBOOM8,
S_FZEROBOOM9,
S_FZEROBOOM10,
S_FZEROBOOM11,
S_FZEROBOOM12,
S_FZSLOWSMOKE1,
S_FZSLOWSMOKE2,
S_FZSLOWSMOKE3,
S_FZSLOWSMOKE4,
S_FZSLOWSMOKE5,
// Various plants
S_SONICBUSH,
// Marble Zone
S_FLAMEPARTICLE,
S_MARBLETORCH,
S_MARBLELIGHT,
S_MARBLEBURNER,
// CD Special Stage
S_CDUFO,
S_CDUFO_DIE,
// Rusty Rig
S_RUSTYLAMP_ORANGE,
S_RUSTYCHAIN,
// D2 Balloon Panic
S_BALLOON,
S_BALLOONPOP1,
S_BALLOONPOP2,
S_BALLOONPOP3,
// Smokin' & Vapin' (Don't try this at home, kids!)
S_PETSMOKE0,
S_PETSMOKE1,
S_PETSMOKE2,
S_PETSMOKE3,
S_PETSMOKE4,
S_PETSMOKE5,
S_VVVAPING0,
S_VVVAPING1,
S_VVVAPING2,
S_VVVAPING3,
S_VVVAPING4,
S_VVVAPING5,
S_VVVAPE,
// Hill Top Zone
S_HTZTREE,
S_HTZBUSH,
// Ports of gardens
S_SGVINE1,
S_SGVINE2,
S_SGVINE3,
S_PGTREE,
S_PGFLOWER1,
S_PGFLOWER2,
S_PGFLOWER3,
S_PGBUSH,
S_DHPILLAR,
// Midnight Channel stuff:
S_SPOTLIGHT, // Spotlight decoration
S_RANDOMSHADOW, // Random Shadow. They're static and don't do nothing.
S_GARU1,
S_GARU2,
S_GARU3,
S_TGARU0,
S_TGARU1,
S_TGARU2,
S_TGARU3, // Wind attack used by Roaming Shadows on Players.
S_ROAMINGSHADOW, // Roaming Shadow (the one that uses above's wind attack or smth)
S_MAYONAKAARROW, // Arrow sign
// Mementos stuff:
S_REAPER_INVIS, // Reaper waiting for spawning
S_REAPER, // Reaper main frame where its thinker is handled
S_MEMENTOSTP, // Mementos teleporter state. (Used for spawning particles)
// JackInTheBox
S_JITB1,
S_JITB2,
S_JITB3,
S_JITB4,
S_JITB5,
S_JITB6,
// Color Drive
S_CDMOONSP,
S_CDBUSHSP,
S_CDTREEASP,
S_CDTREEBSP,
// Daytona Speedway
S_PINETREE,
S_PINETREE_SIDE,
// Egg Zeppelin
S_EZZPROPELLER,
S_EZZPROPELLER_BLADE,
// Desert Palace
S_DP_PALMTREE,
// Aurora Atoll
S_AAZTREE_SEG,
S_AAZTREE_COCONUT,
S_AAZTREE_LEAF,
// Barren Badlands
S_BBZDUST1, // Dust
S_BBZDUST2,
S_BBZDUST3,
S_BBZDUST4,
S_FROGGER, // Frog badniks
S_FROGGER_ATTACK,
S_FROGGER_JUMP,
S_FROGTONGUE,
S_FROGTONGUE_JOINT,
S_ROBRA, // Black cobra badniks
S_ROBRA_HEAD,
S_ROBRA_JOINT,
S_ROBRASHELL_INSIDE,
S_ROBRASHELL_OUTSIDE,
S_BLUEROBRA, // Blue cobra badniks
S_BLUEROBRA_HEAD,
S_BLUEROBRA_JOINT,
// Eerie Grove
S_EERIEFOG1,
S_EERIEFOG2,
S_EERIEFOG3,
S_EERIEFOG4,
S_EERIEFOG5,
// SMK ports
S_SMK_PIPE1, // Generic pipes
S_SMK_PIPE2,
S_SMK_MOLE, // Donut Plains Monty Moles
S_SMK_THWOMP, // Bowser Castle Thwomps
S_SMK_SNOWBALL, // Vanilla Lake snowballs
S_SMK_ICEBLOCK, // Vanilla Lake breakable ice blocks
S_SMK_ICEBLOCK2,
S_SMK_ICEBLOCK_DEBRIS,
S_SMK_ICEBLOCK_DEBRIS2,
// Ezo's maps
S_BLUEFIRE1,
S_BLUEFIRE2,
S_BLUEFIRE3,
S_BLUEFIRE4,
S_GREENFIRE1,
S_GREENFIRE2,
S_GREENFIRE3,
S_GREENFIRE4,
S_REGALCHEST,
S_CHIMERASTATUE,
S_DRAGONSTATUE,
S_LIZARDMANSTATUE,
S_PEGASUSSTATUE,
S_ZELDAFIRE1,
S_ZELDAFIRE2,
S_ZELDAFIRE3,
S_ZELDAFIRE4,
S_GANBARETHING,
S_GANBAREDUCK,
S_GANBARETREE,
S_MONOIDLE,
S_MONOCHASE1,
S_MONOCHASE2,
S_MONOCHASE3,
S_MONOCHASE4,
S_MONOPAIN,
S_REDZELDAFIRE1,
S_REDZELDAFIRE2,
S_REDZELDAFIRE3,
S_REDZELDAFIRE4,
S_BOWLINGPIN,
S_BOWLINGHIT1,
S_BOWLINGHIT2,
S_BOWLINGHIT3,
S_BOWLINGHIT4,
S_ARIDTOAD,
S_TOADHIT1,
S_TOADHIT2,
S_TOADHIT3,
S_TOADHIT4,
S_EBARRELIDLE,
S_EBARREL1,
S_EBARREL2,
S_EBARREL3,
S_EBARREL4,
S_EBARREL5,
S_EBARREL6,
S_EBARREL7,
S_EBARREL8,
S_EBARREL9,
S_EBARREL10,
S_EBARREL11,
S_EBARREL12,
S_EBARREL13,
S_EBARREL14,
S_EBARREL15,
S_EBARREL16,
S_EBARREL17,
S_EBARREL18,
S_MERRYHORSE,
S_BLUEFRUIT,
S_ORANGEFRUIT,
S_REDFRUIT,
S_PINKFRUIT,
S_ADVENTURESPIKEA1,
S_ADVENTURESPIKEA2,
S_ADVENTURESPIKEB1,
S_ADVENTURESPIKEB2,
S_ADVENTURESPIKEC1,
S_ADVENTURESPIKEC2,
S_BOOSTPROMPT1,
S_BOOSTPROMPT2,
S_BOOSTOFF1,
S_BOOSTOFF2,
S_BOOSTON1,
S_BOOSTON2,
S_LIZARDMAN,
S_LIONMAN,
S_KARMAFIREWORK1,
S_KARMAFIREWORK2,
S_KARMAFIREWORK3,
S_KARMAFIREWORK4,
S_KARMAFIREWORKTRAIL,
#ifdef SEENAMES
S_NAMECHECK,
#endif
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 state_t *astate;
typedef enum mobj_type
{
MT_NULL,
MT_UNKNOWN,
MT_THOK, // Thok! mobj
MT_PLAYER,
// Enemies
MT_BLUECRAWLA,
MT_REDCRAWLA,
MT_GFZFISH, // Greenflower Fish
MT_GOLDBUZZ,
MT_REDBUZZ,
MT_AQUABUZZ, // AquaBuzz for ATZ
MT_JETTBOMBER, // Jetty-Syn Bomber
MT_JETTGUNNER, // Jetty-Syn Gunner
MT_CRAWLACOMMANDER, // Crawla Commander
MT_DETON, // Deton
MT_SKIM, // Skim mine dropper
MT_TURRET,
MT_POPUPTURRET,
MT_SHARP, // Sharp
MT_JETJAW, // Jet Jaw
MT_SNAILER, // Snailer
MT_VULTURE, // Vulture
MT_POINTY, // Pointy
MT_POINTYBALL, // Pointy Ball
MT_ROBOHOOD, // Robo-Hood
MT_FACESTABBER, // CastleBot FaceStabber
MT_EGGGUARD, // Egg Guard
MT_EGGSHIELD, // Egg Shield for Egg Guard
MT_GSNAPPER, // Green Snapper
MT_MINUS, // Minus
MT_SPRINGSHELL, // Spring Shell
MT_YELLOWSHELL, // Spring Shell (yellow)
MT_UNIDUS, // Unidus
MT_UNIBALL, // Unidus Ball
// Generic Boss Items
MT_BOSSEXPLODE,
MT_SONIC3KBOSSEXPLODE,
MT_BOSSFLYPOINT,
MT_EGGTRAP,
MT_BOSS3WAYPOINT,
MT_BOSS9GATHERPOINT,
// Boss 1
MT_EGGMOBILE,
MT_JETFUME1,
MT_EGGMOBILE_BALL,
MT_EGGMOBILE_TARGET,
MT_EGGMOBILE_FIRE,
// Boss 2
MT_EGGMOBILE2,
MT_EGGMOBILE2_POGO,
MT_BOSSTANK1,
MT_BOSSTANK2,
MT_BOSSSPIGOT,
MT_GOOP,
// Boss 3
MT_EGGMOBILE3,
MT_PROPELLER,
MT_FAKEMOBILE,
// Boss 4
MT_EGGMOBILE4,
MT_EGGMOBILE4_MACE,
MT_JETFLAME,
// 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_BLUEBALL, // Blue sphere replacement for special stages
MT_REDTEAMRING, //Rings collectable by red team.
MT_BLUETEAMRING, //Rings collectable by blue team.
MT_EMMY, // emerald token for special stage
MT_TOKEN, // Special Stage Token (uncollectible part)
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, // Steam riser
MT_BLUESPRING,
MT_YELLOWSPRING,
MT_REDSPRING,
MT_YELLOWDIAG, // Yellow Diagonal Spring
MT_REDDIAG, // Red Diagonal Spring
// Interactive Objects
MT_BUBBLES, // Bubble source
MT_SIGN, // Level end sign
MT_SPIKEBALL, // Spike Ball
MT_SPECIALSPIKEBALL,
MT_SPINFIRE,
MT_SPIKE,
MT_STARPOST,
MT_BIGMINE,
MT_BIGAIRMINE,
MT_CANNONLAUNCHER,
// Monitor Boxes
MT_SUPERRINGBOX,
MT_REDRINGBOX,
MT_BLUERINGBOX,
MT_SNEAKERTV,
MT_INV,
MT_PRUP, // 1up Box
MT_YELLOWTV,
MT_BLUETV,
MT_BLACKTV, // Bomb shield TV
MT_WHITETV, // Jump shield TV
MT_GREENTV,
MT_PITYTV, // Pity Shield TV
MT_EGGMANBOX,
MT_MIXUPBOX,
MT_RECYCLETV,
MT_RECYCLEICO,
MT_QUESTIONBOX,
MT_GRAVITYBOX,
MT_SCORETVSMALL,
MT_SCORETVLARGE,
// Monitor miscellany
MT_MONITOREXPLOSION,
MT_REDMONITOREXPLOSION,
MT_BLUEMONITOREXPLOSION,
MT_RINGICO,
MT_SHOESICO,
MT_INVCICO,
MT_1UPICO,
MT_YSHIELDICO,
MT_BSHIELDICO,
MT_KSHIELDICO,
MT_WSHIELDICO,
MT_GSHIELDICO,
MT_PITYSHIELDICO,
MT_EGGMANICO,
MT_MIXUPICO,
MT_GRAVITYICO,
MT_SCOREICOSMALL,
MT_SCOREICOLARGE,
// 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, // Trapgoyle fire
// Greenflower Scenery
MT_GFZFLOWER1,
MT_GFZFLOWER2,
MT_GFZFLOWER3,
MT_BERRYBUSH,
MT_BUSH,
// Techno Hill Scenery
MT_THZPLANT, // THZ Plant
MT_ALARM,
// Deep Sea Scenery
MT_GARGOYLE, // Deep Sea Gargoyle
MT_SEAWEED, // DSZ Seaweed
MT_WATERDRIP, // Dripping Water source
MT_WATERDROP, // Water drop from dripping water
MT_CORAL1, // Coral 1
MT_CORAL2, // Coral 2
MT_CORAL3, // Coral 3
MT_BLUECRYSTAL, // Blue Crystal
// Castle Eggman Scenery
MT_CHAIN, // CEZ Chain
MT_FLAME, // Flame (has corona)
MT_EGGSTATUE, // Eggman Statue
MT_MACEPOINT, // Mace rotation point
MT_SWINGMACEPOINT, // Mace swinging point
MT_HANGMACEPOINT, // Hangable mace chain
MT_SPINMACEPOINT, // Spin/Controllable mace chain
MT_HIDDEN_SLING, // Spin mace chain (activatable)
MT_SMALLMACECHAIN, // Small Mace Chain
MT_BIGMACECHAIN, // Big Mace Chain
MT_SMALLMACE, // Small Mace
MT_BIGMACE, // Big Mace
MT_CEZFLOWER,
// Arid Canyon Scenery
MT_BIGTUMBLEWEED,
MT_LITTLETUMBLEWEED,
MT_CACTI1,
MT_CACTI2,
MT_CACTI3,
MT_CACTI4,
// Red Volcano Scenery
MT_FLAMEJET,
MT_VERTICALFLAMEJET,
MT_FLAMEJETFLAME,
MT_FJSPINAXISA, // Counter-clockwise
MT_FJSPINHELPERA,
MT_FJSPINAXISB, // Clockwise
MT_FJSPINHELPERB,
MT_FLAMEJETFLAMEB, // Blade's flame
// Dark City Scenery
// Egg Rock Scenery
// Azure Temple Scenery
MT_TRAPGOYLE,
MT_TRAPGOYLEUP,
MT_TRAPGOYLEDOWN,
MT_TRAPGOYLELONG,
MT_TARGET, // AKA Red Crystal
// 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,
MT_SNOWMANHAT,
MT_LAMPPOST1,
MT_LAMPPOST2,
MT_HANGSTAR,
// 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_BSZFISH,
MT_BSZSUNFLOWER,
// Misc scenery
MT_DBALL,
MT_EGGSTATUE2,
// Powerup Indicators
MT_GREENORB, // Elemental shield mobj
MT_YELLOWORB, // Attract shield mobj
MT_BLUEORB, // Force shield mobj
MT_BLACKORB, // Armageddon shield mobj
MT_WHITEORB, // Whirlwind shield mobj
MT_PITYORB, // Pity shield mobj
MT_IVSP, // invincibility sparkles
MT_SUPERSPARK, // Super Sonic Spark
// Freed Animals
MT_BIRD, // Birdie freed!
MT_BUNNY, // Bunny freed!
MT_MOUSE, // Mouse
MT_CHICKEN, // Chicken
MT_COW, // Cow
MT_REDBIRD, // Red Birdie in Bubble
// Environmental Effects
MT_RAIN, // Rain
MT_SNOWFLAKE, // Snowflake
MT_SPLISH, // Water splish!
MT_SMOKE,
MT_SMALLBUBBLE, // small bubble
MT_MEDIUMBUBBLE, // medium bubble
MT_EXTRALARGEBUBBLE, // extra large bubble
MT_TFOG,
MT_SEED,
MT_PARTICLE,
MT_PARTICLEGEN, // For fans, etc.
// Game Indicators
MT_SCORE, // score logo
MT_DROWNNUMBERS, // Drowning Timer
MT_GOTEMERALD, // Chaos Emerald (intangible)
MT_TAG, // Tag Sign
MT_GOTFLAG, // Got Flag sign
MT_GOTFLAG2, // Got Flag sign
// 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,
// 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_SHELL,
MT_PUMA,
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_NIGHTSGOAL,
MT_NIGHTSCHAR,
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_NIGHTSWING,
MT_NIGHTSSUPERLOOP,
MT_NIGHTSDRILLREFILL,
MT_NIGHTSHELPER,
MT_NIGHTSEXTRATIME,
MT_NIGHTSLINKFREEZE,
MT_EGGCAPSULE,
MT_NIGHTOPIANHELPER, // the actual helper object that orbits you
// Utility Objects
MT_TELEPORTMAN,
MT_ALTVIEWMAN,
MT_CRUMBLEOBJ, // Sound generator for crumbling platform
MT_TUBEWAYPOINT,
MT_PUSH,
MT_PULL,
MT_GHOST,
MT_OVERLAY,
MT_POLYANCHOR,
MT_POLYSPAWN,
MT_POLYSPAWNCRUSH,
// Skybox objects
MT_SKYBOX,
// Debris
MT_SPARK, //spark
MT_EXPLODE, // Robot Explosion
MT_UWEXPLODE, // Underwater Explosion
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,
MT_SRB1_CRAWLA,
MT_SRB1_BAT,
MT_SRB1_ROBOFISH,
MT_SRB1_VOLCANOGUY,
MT_SRB1_HOPPY,
MT_SRB1_HOPPYWATER,
MT_SRB1_HOPPYSKYLAB,
MT_SRB1_MMZFLYING,
MT_SRB1_UFO,
MT_SRB1_GRAYBOT,
MT_SRB1_ROBOTOPOLIS,
MT_SRB1_RBZBUZZ,
MT_SRB1_RBZSPIKES,
MT_SRB1_METALSONIC,
MT_SRB1_GOLDBOT,
MT_SRB1_GENREX,
// SRB2kart
MT_GRAYSPRING,
MT_INVISSPRING,
MT_BLUEDIAG,
MT_RANDOMITEM,
MT_RANDOMITEMPOP,
MT_FLOATINGITEM,
MT_SIGNSPARKLE,
MT_FASTLINE,
MT_FASTDUST,
MT_BOOSTFLAME,
MT_BOOSTSMOKE,
MT_SNEAKERTRAIL,
MT_AIZDRIFTSTRAT,
MT_SPARKLETRAIL,
MT_INVULNFLASH,
MT_WIPEOUTTRAIL,
MT_DRIFTSPARK,
MT_BRAKEDRIFT,
MT_DRIFTDUST,
MT_ROCKETSNEAKER,
MT_EGGMANITEM, // Eggman items
MT_EGGMANITEM_SHIELD,
MT_BANANA, // Banana Stuff
MT_BANANA_SHIELD,
MT_ORBINAUT, // Orbinaut stuff
MT_ORBINAUT_SHIELD,
MT_JAWZ, // Jawz stuff
MT_JAWZ_DUD,
MT_JAWZ_SHIELD,
MT_PLAYERRETICULE, // Jawz reticule
MT_SSMINE, // Mine stuff
MT_SSMINE_SHIELD,
MT_MINEEXPLOSION,
MT_MINEEXPLOSIONSOUND,
MT_SMOLDERING, // New explosion
MT_BOOMEXPLODE,
MT_BOOMPARTICLE,
MT_BALLHOG, // Ballhog
MT_BALLHOGBOOM,
MT_SPB, // SPB stuff
MT_SPBEXPLOSION,
MT_THUNDERSHIELD, // Thunder Shield stuff
MT_SINK, // Kitchen Sink Stuff
MT_SINK_SHIELD,
MT_SINKTRAIL,
MT_BATTLEBUMPER, // Battle Mode bumpers
MT_DEZLASER,
MT_WAYPOINT,
MT_RANDOMAUDIENCE,
MT_FLAYM,
MT_DEVIL,
MT_ANGEL,
MT_PALMTREE,
MT_FLAG,
MT_HEDGEHOG,
MT_BUSH1,
MT_TWEE,
MT_HYDRANT,
MT_BIGPUMA,
MT_APPLE,
MT_DOOD_FLOWER1,
MT_DOOD_FLOWER2,
MT_DOOD_FLOWER3,
MT_DOOD_FLOWER4,
MT_DOOD_BOX,
MT_DOOD_BALLOON,
MT_BIGRING,
MT_SNES_DONUTBUSH1,
MT_SNES_DONUTBUSH2,
MT_SNES_DONUTBUSH3,
MT_GBA_BOO,
MT_BUZZBOMBER,
MT_CHOMPER,
MT_PALMTREE2,
MT_PURPLEFLOWER1,
MT_PURPLEFLOWER2,
MT_YELLOWFLOWER1,
MT_YELLOWFLOWER2,
MT_PLANT2,
MT_PLANT3,
MT_PLANT4,
MT_SKULL,
MT_PHANTREE,
MT_FLYINGGARG,
MT_LAMPPOST,
MT_MOSSYTREE,
MT_SHADOW,
MT_BUMP,
MT_FLINGENERGY,
MT_ITEMCLASH,
MT_FIREDITEM,
MT_INSTASHIELDA,
MT_INSTASHIELDB,
MT_PLAYERARROW,
MT_PLAYERWANTED,
MT_KARMAHITBOX,
MT_KARMAWHEEL,
MT_BATTLEPOINT,
MT_FZEROBOOM,
// Various plants
MT_SONICBUSH,
// Marble Zone
MT_FLAMEPARTICLE,
MT_MARBLETORCH,
MT_MARBLELIGHT,
MT_MARBLEBURNER,
// CD Special Stage
MT_CDUFO,
// Rusty Rig
MT_RUSTYLAMP_ORANGE,
MT_RUSTYCHAIN,
// D2 Balloon Panic
MT_BALLOON,
// Smokin' & Vapin' (Don't try this at home, kids!)
MT_PETSMOKER,
MT_PETSMOKE,
MT_VVVAPE,
// Hill Top Zone
MT_HTZTREE,
MT_HTZBUSH,
// Ports of gardens
MT_SGVINE1,
MT_SGVINE2,
MT_SGVINE3,
MT_PGTREE,
MT_PGFLOWER1,
MT_PGFLOWER2,
MT_PGFLOWER3,
MT_PGBUSH,
MT_DHPILLAR,
// Midnight Channel stuff:
MT_SPOTLIGHT, // Spotlight Object
MT_RANDOMSHADOW, // Random static Shadows.
MT_ROAMINGSHADOW, // Roaming Shadows.
MT_MAYONAKAARROW, // Arrow static signs for Mayonaka
// Mementos stuff
MT_REAPERWAYPOINT,
MT_REAPER,
MT_MEMENTOSTP,
MT_MEMENTOSPARTICLE,
MT_JACKINTHEBOX,
// Color Drive:
MT_CDMOON,
MT_CDBUSH,
MT_CDTREEA,
MT_CDTREEB,
// Daytona Speedway
MT_PINETREE,
MT_PINETREE_SIDE,
// Egg Zeppelin
MT_EZZPROPELLER,
MT_EZZPROPELLER_BLADE,
// Desert Palace
MT_DP_PALMTREE,
// Aurora Atoll
MT_AAZTREE_HELPER,
MT_AAZTREE_SEG,
MT_AAZTREE_COCONUT,
MT_AAZTREE_LEAF,
// Barren Badlands
MT_BBZDUST,
MT_FROGGER,
MT_FROGTONGUE,
MT_FROGTONGUE_JOINT,
MT_ROBRA,
MT_ROBRA_HEAD,
MT_ROBRA_JOINT,
MT_BLUEROBRA,
MT_BLUEROBRA_HEAD,
MT_BLUEROBRA_JOINT,
// Eerie Grove
MT_EERIEFOG,
MT_EERIEFOGGEN,
// SMK ports
MT_SMK_PIPE,
MT_SMK_MOLESPAWNER,
MT_SMK_MOLE,
MT_SMK_THWOMP,
MT_SMK_SNOWBALL,
MT_SMK_ICEBLOCK,
MT_SMK_ICEBLOCK_SIDE,
MT_SMK_ICEBLOCK_DEBRIS,
// Ezo's maps
MT_BLUEFIRE,
MT_GREENFIRE,
MT_REGALCHEST,
MT_CHIMERASTATUE,
MT_DRAGONSTATUE,
MT_LIZARDMANSTATUE,
MT_PEGASUSSTATUE,
MT_ZELDAFIRE,
MT_GANBARETHING,
MT_GANBAREDUCK,
MT_GANBARETREE,
MT_MONOKUMA,
MT_REDZELDAFIRE,
MT_BOWLINGPIN,
MT_MERRYAMBIENCE,
MT_TWINKLECARTAMBIENCE,
MT_EXPLODINGBARREL,
MT_MERRYHORSE,
MT_ARIDTOAD,
MT_BLUEFRUIT,
MT_ORANGEFRUIT,
MT_REDFRUIT,
MT_PINKFRUIT,
MT_ADVENTURESPIKEA,
MT_ADVENTURESPIKEB,
MT_ADVENTURESPIKEC,
MT_BOOSTPROMPT,
MT_BOOSTOFF,
MT_BOOSTON,
MT_LIZARDMAN,
MT_LIONMAN,
MT_KARMAFIREWORK,
#ifdef SEENAMES
MT_NAMECHECK,
#endif
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