Kart-Public/src/info.h
TehRealSalt 8379bd3d31 Last batch of tweaks
- Rocket sneaker meter depletes more slowly when idle, but depletes much more when using it. This balances out to give it a couple more boosts when you use it well, but allows you to waste it more quickly when you don't want it anymore. Also demonstrates better to new players to not spam it like a gold shroom!
 - Vibrating frames on sneakers when they aren't being used.
 - Shoe weight is less strong.
2018-10-10 14:56:50 -04:00

4331 lines
75 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-2016 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_MineExplode(); // SRB2kart
void A_BallhogExplode(); // SRB2kart
void A_LightningFollowPlayer(); // SRB2kart: Lightning shield effect player chasing
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_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_BLIG, // Self-Propelled Bomb
SPR_LIGH, // Grow/shrink beams (Metallic Maddness)
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_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_VIEW, // First person view sprites; this is a sprite so that it can be replaced by a specialized MD2 draw!
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,
// 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,
// 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_FAKEITEM1,
S_FAKEITEM2,
S_FAKEITEM3,
S_FAKEITEM4,
S_FAKEITEM5,
S_FAKEITEM6,
S_FAKEITEM7,
S_FAKEITEM8,
S_FAKEITEM9,
S_FAKEITEM10,
S_FAKEITEM11,
S_FAKEITEM12,
S_FAKEITEM13,
S_FAKEITEM14,
S_FAKEITEM15,
S_FAKEITEM16,
S_FAKEITEM17,
S_FAKEITEM18,
S_FAKEITEM19,
S_FAKEITEM20,
S_FAKEITEM21,
S_FAKEITEM22,
S_FAKEITEM23,
S_FAKEITEM24,
S_DEADFAKEITEM,
//}
// 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 - just an explosion for now...
S_BLUELIGHTNING1,
S_BLUELIGHTNING2,
S_BLUELIGHTNING3,
S_BLUELIGHTNING4,
S_BLUEEXPLODE,
// Grow/Shrink
S_LIGHTNING1,
S_LIGHTNING2,
S_LIGHTNING3,
S_LIGHTNING4,
// 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,
// Pokey
S_POKEY1,
S_POKEY2,
S_POKEY3,
S_POKEY4,
S_POKEY5,
S_POKEY6,
S_POKEY7,
S_POKEY8,
S_POKEYIDLE,
// Audience Members
S_RANDOMAUDIENCE,
S_AUDIENCE_CHAO_CHEER1,
S_AUDIENCE_CHAO_CHEER2,
S_AUDIENCE_CHAO_WIN1,
S_AUDIENCE_CHAO_WIN2,
S_AUDIENCE_CHAO_LOSE,
S_FANCHAR_KOTE,
S_FANCHAR_RYAN,
S_FANCHAR_WENDY,
S_FANCHAR_FREEZOR,
S_FANCHAR_METALKO,
S_FANCHAR_BLACKOUT,
S_FANCHAR_BLADE,
S_FANCHAR_HINOTE,
// 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_PLAYERBOMB,
S_PLAYERITEM,
S_PLAYERFAKE,
S_KARMAWHEEL,
// 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,
#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,
// 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_DRIFTDUST,
MT_ROCKETSNEAKER,
MT_FAKESHIELD,
MT_FAKEITEM,
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_BLUELIGHTNING, // Grow/shrink stuff
MT_BLUEEXPLOSION,
MT_LIGHTNING,
MT_THUNDERSHIELD, // Thunder Shield stuff
MT_SINK, // Kitchen Sink Stuff
MT_SINK_SHIELD,
MT_SINKTRAIL,
MT_BATTLEBUMPER, // Battle Mode bumpers
MT_DEZLASER,
MT_POKEY, // Huh, thought this was a default asset for some reason, guess not.
MT_ENEMYFLIP,
MT_WAYPOINT,
MT_RANDOMAUDIENCE,
MT_FANCHAR_KOTE,
MT_FANCHAR_RYAN,
MT_FANCHAR_WENDY,
MT_FANCHAR_FREEZOR,
MT_FANCHAR_METALKO,
MT_FANCHAR_BLACKOUT,
MT_FANCHAR_BLADE,
MT_FANCHAR_HINOTE,
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,
#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