RingRacers/src/info.h
Sally Coolatta 7dfa597c7d SRB2 -> DRRR copyright in src, acs, android folder
Be consistent with toaster's recent changes to copyright
2024-04-05 02:08:23 -04:00

5038 lines
86 KiB
C

// DR. ROBOTNIK'S RING RACERS
//-----------------------------------------------------------------------------
// Copyright (C) 2024 by Kart Krew.
// Copyright (C) 2020 by Sonic Team Junior.
// Copyright (C) 2000 by DooM Legacy Team.
// Copyright (C) 1996 by id Software, Inc.
//
// 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"
#ifdef __cplusplus
extern "C" {
#endif
// deh_tables.c now has lists for the more named enums! PLEASE keep them up to date!
// For great modding!!
// IMPORTANT!
// DO NOT FORGET TO SYNC THIS LIST WITH THE ACTIONPOINTERS ARRAY IN DEH_TABLES.C
enum actionnum
{
A_EXPLODE = 0,
A_PAIN,
A_FALL,
A_LOOK,
A_CHASE,
A_FACESTABCHASE,
A_FACESTABREV,
A_FACESTABHURL,
A_FACESTABMISS,
A_STATUEBURST,
A_FACETARGET,
A_FACETRACER,
A_SCREAM,
A_BOSSDEATH,
A_RINGBOX,
A_BUNNYHOP,
A_BUBBLESPAWN,
A_FANBUBBLESPAWN,
A_BUBBLERISE,
A_BUBBLECHECK,
A_AWARDSCORE,
A_SCORERISE,
A_ATTRACTCHASE,
A_DROPMINE,
A_FISHJUMP,
A_SETSOLIDSTEAM,
A_UNSETSOLIDSTEAM,
A_OVERLAYTHINK,
A_JETCHASE,
A_JETBTHINK,
A_JETGTHINK,
A_JETGSHOOT,
A_SHOOTBULLET,
A_MINUSDIGGING,
A_MINUSPOPUP,
A_MINUSCHECK,
A_CHICKENCHECK,
A_MOUSETHINK,
A_DETONCHASE,
A_CAPECHASE,
A_ROTATESPIKEBALL,
A_SLINGAPPEAR,
A_UNIDUSBALL,
A_ROCKSPAWN,
A_SETFUSE,
A_CRAWLACOMMANDERTHINK,
A_SMOKETRAILER,
A_RINGEXPLODE,
A_OLDRINGEXPLODE,
A_MIXUP,
A_BOSS1CHASE,
A_FOCUSTARGET,
A_BOSS2CHASE,
A_BOSS2POGO,
A_BOSSZOOM,
A_BOSSSCREAM,
A_BOSS2TAKEDAMAGE,
A_BOSS7CHASE,
A_GOOPSPLAT,
A_BOSS2POGOSFX,
A_BOSS2POGOTARGET,
A_EGGMANBOX,
A_TURRETFIRE,
A_SUPERTURRETFIRE,
A_TURRETSTOP,
A_JETJAWROAM,
A_JETJAWCHOMP,
A_POINTYTHINK,
A_CHECKBUDDY,
A_HOODFIRE,
A_HOODTHINK,
A_HOODFALL,
A_ARROWBONKS,
A_SNAILERTHINK,
A_SHARPCHASE,
A_SHARPSPIN,
A_SHARPDECEL,
A_CRUSHSTACEANWALK,
A_CRUSHSTACEANPUNCH,
A_CRUSHCLAWAIM,
A_CRUSHCLAWLAUNCH,
A_VULTUREVTOL,
A_VULTURECHECK,
A_VULTUREHOVER,
A_VULTUREBLAST,
A_VULTUREFLY,
A_SKIMCHASE,
A_SKULLATTACK,
A_LOBSHOT,
A_FIRESHOT,
A_SUPERFIRESHOT,
A_BOSSFIRESHOT,
A_BOSS7FIREMISSILES,
A_BOSS4REVERSE,
A_BOSS4SPEEDUP,
A_BOSS4RAISE,
A_SPARKFOLLOW,
A_BUZZFLY,
A_GUARDCHASE,
A_EGGSHIELD,
A_SETREACTIONTIME,
A_BOSS3TAKEDAMAGE,
A_BOSS3PATH,
A_BOSS3SHOCKTHINK,
A_LINEDEFEXECUTE,
A_LINEDEFEXECUTEFROMARG,
A_PLAYSEESOUND,
A_PLAYATTACKSOUND,
A_PLAYACTIVESOUND,
A_SPAWNOBJECTABSOLUTE,
A_SPAWNOBJECTRELATIVE,
A_CHANGEANGLERELATIVE,
A_CHANGEANGLEABSOLUTE,
A_ROLLANGLE,
A_CHANGEROLLANGLERELATIVE,
A_CHANGEROLLANGLEABSOLUTE,
A_PLAYSOUND,
A_FINDTARGET,
A_FINDTRACER,
A_SETTICS,
A_SETRANDOMTICS,
A_CHANGECOLORRELATIVE,
A_CHANGECOLORABSOLUTE,
A_DYE,
A_MOVERELATIVE,
A_MOVEABSOLUTE,
A_THRUST,
A_ZTHRUST,
A_SETTARGETSTARGET,
A_SETOBJECTFLAGS,
A_SETOBJECTFLAGS2,
A_RANDOMSTATE,
A_RANDOMSTATERANGE,
A_STATERANGEBYANGLE,
A_STATERANGEBYPARAMETER,
A_DUALACTION,
A_REMOTEACTION,
A_TOGGLEFLAMEJET,
A_ORBITNIGHTS,
A_GHOSTME,
A_SETOBJECTSTATE,
A_SETOBJECTTYPESTATE,
A_KNOCKBACK,
A_PUSHAWAY,
A_RINGDRAIN,
A_SPLITSHOT,
A_MISSILESPLIT,
A_MULTISHOT,
A_INSTALOOP,
A_CUSTOM3DROTATE,
A_SEARCHFORPLAYERS,
A_CHECKRANDOM,
A_CHECKTARGETRINGS,
A_CHECKRINGS,
A_CHECKTOTALRINGS,
A_CHECKHEALTH,
A_CHECKRANGE,
A_CHECKHEIGHT,
A_CHECKTRUERANGE,
A_CHECKTHINGCOUNT,
A_CHECKAMBUSH,
A_CHECKCUSTOMVALUE,
A_CHECKCUSVALMEMO,
A_SETCUSTOMVALUE,
A_USECUSVALMEMO,
A_RELAYCUSTOMVALUE,
A_CUSVALACTION,
A_FORCESTOP,
A_FORCEWIN,
A_SPIKERETRACT,
A_INFOSTATE,
A_REPEAT,
A_SETSCALE,
A_REMOTEDAMAGE,
A_HOMINGCHASE,
A_TRAPSHOT,
A_VILETARGET,
A_VILEATTACK,
A_VILEFIRE,
A_BRAKCHASE,
A_BRAKFIRESHOT,
A_BRAKLOBSHOT,
A_NAPALMSCATTER,
A_SPAWNFRESHCOPY,
A_FLICKYSPAWN,
A_FLICKYCENTER,
A_FLICKYAIM,
A_FLICKYFLY,
A_FLICKYSOAR,
A_FLICKYCOAST,
A_FLICKYHOP,
A_FLICKYFLOUNDER,
A_FLICKYCHECK,
A_FLICKYHEIGHTCHECK,
A_FLICKYFLUTTER,
A_FLAMEPARTICLE,
A_FADEOVERLAY,
A_BOSS5JUMP,
A_LIGHTBEAMRESET,
A_MINEEXPLODE,
A_MINERANGE,
A_CONNECTTOGROUND,
A_SPAWNPARTICLERELATIVE,
A_MULTISHOTDIST,
A_WHOCARESIFYOURSONISABEE,
A_PARENTTRIESTOSLEEP,
A_CRYINGTOMOMMA,
A_CHECKFLAGS2,
A_DONPCSKID,
A_DONPCPAIN,
A_PREPAREREPEAT,
A_BOSS5EXTRAREPEAT,
A_BOSS5CALM,
A_BOSS5CHECKONGROUND,
A_BOSS5CHECKFALLING,
A_BOSS5PINCHSHOT,
A_BOSS5MAKEITRAIN,
A_LOOKFORBETTER,
A_BOSS5BOMBEXPLODE,
A_TNTEXPLODE,
A_DEBRISRANDOM,
A_CANARIVOREGAS,
A_KILLSEGMENTS,
A_SNAPPERSPAWN,
A_SNAPPERTHINKER,
A_SALOONDOORSPAWN,
A_MINECARTSPARKTHINK,
A_MODULOTOSTATE,
A_LAVAFALLROCKS,
A_LAVAFALLLAVA,
A_FALLINGLAVACHECK,
A_FIRESHRINK,
A_PTERABYTEHOVER,
A_ROLLOUTSPAWN,
A_ROLLOUTROCK,
A_DRAGONWING,
A_DRAGONSEGMENT,
A_CHANGEHEIGHT,
A_JAWZEXPLODE,
A_SSMINESEARCH,
A_SSMINEEXPLODE,
A_LANDMINEEXPLODE,
A_BALLHOGEXPLODE,
A_SPECIALSTAGEBOMBEXPLODE,
A_LIGHTNINGFOLLOWPLAYER,
A_FZBOOMFLASH,
A_FZBOOMSMOKE,
A_RANDOMSHADOWFRAME,
A_MAYONAKAARROW,
A_FLAMESHIELDPAPER,
A_INVINCSPARKLEROTATE,
A_SPAWNITEMDEBRISCLOUD,
A_RINGSHOOTERFACE,
A_SPAWNSNEAKERPANEL,
A_BLENDEYEPUYOHACK,
A_MAKESSCANDLE,
A_HOLOGRAMRANDOMTRANSLUCENCY,
A_SSCHAINSHATTER,
NUMACTIONS
};
// IMPORTANT NOTE: If you add/remove from this list of action
// functions, don't forget to update them in deh_tables.c!
void A_Explode();
void A_Pain();
void A_Fall();
void A_Look();
void A_Chase();
void A_FaceStabChase();
void A_FaceStabRev();
void A_FaceStabHurl();
void A_FaceStabMiss();
void A_StatueBurst();
void A_FaceTarget();
void A_FaceTracer();
void A_Scream();
void A_BossDeath();
void A_RingBox(); // Obtained Ring Box Tails
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_ScoreRise(); // Rise the score logo
void A_AttractChase(); // Ring Chase
void A_DropMine(); // Drop Mine from Skim or Jetty-Syn Bomber
void A_FishJump(); // Fish Jump
void A_SetSolidSteam();
void A_UnsetSolidSteam();
void A_OverlayThink();
void A_JetChase();
void A_JetbThink(); // Jetty-Syn Bomber Thinker
void A_JetgThink(); // Jetty-Syn Gunner Thinker
void A_JetgShoot(); // Jetty-Syn Shoot Function
void A_ShootBullet(); // JetgShoot without reactiontime setting
void A_MinusDigging();
void A_MinusPopup();
void A_MinusCheck();
void A_ChickenCheck();
void A_MouseThink(); // Mouse Thinker
void A_DetonChase(); // Deton Chaser
void A_CapeChase(); // Fake little Super Sonic cape
void A_RotateSpikeBall(); // Spike ball rotation
void A_SlingAppear();
void A_UnidusBall();
void A_RockSpawn();
void A_SetFuse();
void A_CrawlaCommanderThink(); // Crawla Commander
void A_SmokeTrailer();
void A_RingExplode();
void A_OldRingExplode();
void A_MixUp();
void A_BossScream();
void A_Boss2TakeDamage();
void A_GoopSplat();
void A_Boss2PogoSFX();
void A_Boss2PogoTarget();
void A_EggmanBox();
void A_TurretFire();
void A_SuperTurretFire();
void A_TurretStop();
void A_JetJawRoam();
void A_JetJawChomp();
void A_PointyThink();
void A_CheckBuddy();
void A_HoodFire();
void A_HoodThink();
void A_HoodFall();
void A_ArrowBonks();
void A_SnailerThink();
void A_SharpChase();
void A_SharpSpin();
void A_SharpDecel();
void A_CrushstaceanWalk();
void A_CrushstaceanPunch();
void A_CrushclawAim();
void A_CrushclawLaunch();
void A_VultureVtol();
void A_VultureCheck();
void A_VultureHover();
void A_VultureBlast();
void A_VultureFly();
void A_SkimChase();
void A_SkullAttack();
void A_LobShot();
void A_FireShot();
void A_SuperFireShot();
void A_BossFireShot();
void A_Boss7FireMissiles();
void A_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_Boss3TakeDamage();
void A_Boss3Path();
void A_Boss3ShockThink();
void A_LinedefExecute();
void A_LinedefExecuteFromArg();
void A_PlaySeeSound();
void A_PlayAttackSound();
void A_PlayActiveSound();
void A_BossZoom(); //Unused
void A_Boss1Chase();
void A_Boss2Chase();
void A_Boss2Pogo();
void A_SpawnObjectAbsolute();
void A_SpawnObjectRelative();
void A_ChangeAngleRelative();
void A_ChangeAngleAbsolute();
void A_RollAngle();
void A_ChangeRollAngleRelative();
void A_ChangeRollAngleAbsolute();
void A_PlaySound();
void A_FindTarget();
void A_FindTracer();
void A_SetTics();
void A_SetRandomTics();
void A_ChangeColorRelative();
void A_ChangeColorAbsolute();
void A_Dye();
void A_MoveRelative();
void A_MoveAbsolute();
void A_Thrust();
void A_ZThrust();
void A_SetTargetsTarget();
void A_SetObjectFlags();
void A_SetObjectFlags2();
void A_RandomState();
void A_RandomStateRange();
void A_StateRangeByAngle();
void A_StateRangeByParameter();
void A_DualAction();
void A_RemoteAction();
void A_ToggleFlameJet();
void A_OrbitNights();
void A_GhostMe();
void A_SetObjectState();
void A_SetObjectTypeState();
void A_KnockBack();
void A_PushAway();
void A_RingDrain();
void A_SplitShot();
void A_MissileSplit();
void A_MultiShot();
void A_InstaLoop();
void A_Custom3DRotate();
void A_SearchForPlayers();
void A_CheckRandom();
void A_CheckTargetRings();
void A_CheckRings();
void A_CheckTotalRings();
void A_CheckHealth();
void A_CheckRange();
void A_CheckHeight();
void A_CheckTrueRange();
void A_CheckThingCount();
void A_CheckAmbush();
void A_CheckCustomValue();
void A_CheckCusValMemo();
void A_SetCustomValue();
void A_UseCusValMemo();
void A_RelayCustomValue();
void A_CusValAction();
void A_ForceStop();
void A_ForceWin();
void A_SpikeRetract();
void A_InfoState();
void A_Repeat();
void A_SetScale();
void A_RemoteDamage();
void A_HomingChase();
void A_TrapShot();
void A_VileTarget();
void A_VileAttack();
void A_VileFire();
void A_BrakChase();
void A_BrakFireShot();
void A_BrakLobShot();
void A_NapalmScatter();
void A_SpawnFreshCopy();
void A_FlickySpawn();
void A_FlickyCenter();
void A_FlickyAim();
void A_FlickyFly();
void A_FlickySoar();
void A_FlickyCoast();
void A_FlickyHop();
void A_FlickyFlounder();
void A_FlickyCheck();
void A_FlickyHeightCheck();
void A_FlickyFlutter();
void A_FlameParticle();
void A_FadeOverlay();
void A_Boss5Jump();
void A_LightBeamReset();
void A_MineExplode();
void A_MineRange();
void A_ConnectToGround();
void A_SpawnParticleRelative();
void A_MultiShotDist();
void A_WhoCaresIfYourSonIsABee();
void A_ParentTriesToSleep();
void A_CryingToMomma();
void A_CheckFlags2();
void A_DoNPCSkid();
void A_DoNPCPain();
void A_PrepareRepeat();
void A_Boss5ExtraRepeat();
void A_Boss5Calm();
void A_Boss5CheckOnGround();
void A_Boss5CheckFalling();
void A_Boss5PinchShot();
void A_Boss5MakeItRain();
void A_LookForBetter();
void A_Boss5BombExplode();
void A_TNTExplode();
void A_DebrisRandom();
void A_CanarivoreGas();
void A_KillSegments();
void A_SnapperSpawn();
void A_SnapperThinker();
void A_SaloonDoorSpawn();
void A_MinecartSparkThink();
void A_ModuloToState();
void A_LavafallRocks();
void A_LavafallLava();
void A_FallingLavaCheck();
void A_FireShrink();
void A_PterabyteHover();
void A_RolloutSpawn();
void A_RolloutRock();
void A_DragonWing();
void A_DragonSegment();
void A_ChangeHeight();
//
// SRB2Kart
//
void A_JawzExplode();
void A_SSMineSearch();
void A_SSMineExplode();
void A_SSMineFlash();
void A_LandMineExplode();
void A_LandMineExplode();
void A_BallhogExplode();
void A_SpecialStageBombExplode();
void A_LightningFollowPlayer();
void A_FZBoomFlash();
void A_FZBoomSmoke();
void A_RandomShadowFrame();
void A_MayonakaArrow();
void A_FlameShieldPaper();
void A_InvincSparkleRotate();
void A_SpawnItemDebrisCloud();
void A_RingShooterFace();
void A_SpawnSneakerPanel();
void A_BlendEyePuyoHack();
void A_MakeSSCandle();
void A_HologramRandomTranslucency();
void A_SSChainShatter();
extern boolean actionsoverridden[NUMACTIONS];
// ratio of states to sprites to mobj types is roughly 6 : 1 : 1
#define NUMMOBJFREESLOTS 1024
#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_NONE, // invisible but still rendered
SPR_UNKN,
SPR_THOK, // Thok! mobj
SPR_PLAY,
SPR_KART,
SPR_TIRE,
// Enemies
SPR_POSS, // Crawla (Blue)
SPR_BARX, // bomb explosion (also used by barrel)
SPR_BARD, // bomb dust (also used by barrel)
// Collectible Items
SPR_RING,
SPR_DEBT,
SPR_BSPH, // Sphere
SPR_EMBM,
SPR_SPCN, // Spray Can
SPR_MMSH, // Ancient Shrine
SPR_MORB, // One Morbillion
SPR_EMRC, // Chaos Emeralds
SPR_SEMR, // Super Emeralds
SPR_ESPK,
// Prison Egg Drops
SPR_ALTM,
// Interactive Objects
SPR_BBLS, // water bubble source
SPR_SIGN, // Level end sign
SPR_SPIK, // Spike Ball
SPR_SFLM, // Spin fire
SPR_USPK, // Floor spike
SPR_WSPK, // Wall spike
SPR_WSPB, // Wall spike base
// Projectiles
SPR_CBLL, // Cannonball
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
SPR_BUS3, // GFZ Bush w/ BLUE berries
// Trees (both GFZ and misc)
SPR_TRE1, // GFZ
SPR_TRE2, // Checker
SPR_TRE3, // Frozen Hillside
SPR_TRE4, // Polygon
SPR_TRE5, // Bush tree
SPR_TRE6, // Spring tree
// Techno Hill Scenery
SPR_THZP, // THZ1 Steam Flower
SPR_FWR5, // THZ1 Spin flower (red)
SPR_FWR6, // THZ1 Spin flower (yellow)
SPR_THZT, // Steam Whistle tree/bush
SPR_ALRM, // THZ2 Alarm
// Deep Sea Scenery
SPR_GARG, // Deep Sea Gargoyle
SPR_SEWE, // Deep Sea Seaweed
SPR_DRIP, // Dripping water
SPR_CORL, // Coral
SPR_BCRY, // Blue Crystal
SPR_KELP, // Kelp
SPR_ALGA, // Animated algae top
SPR_ALGB, // Animated algae segment
SPR_DSTG, // DSZ Stalagmites
SPR_LIBE, // DSZ Light beam
// Castle Eggman Scenery
SPR_CHAN, // CEZ Chain
SPR_FLAM, // Flame
SPR_ESTA, // Eggman esta una estatua!
SPR_SMCH, // Small Mace Chain
SPR_BMCH, // Big Mace Chain
SPR_SMCE, // Small Mace
SPR_BMCE, // Big Mace
SPR_SFBR, // Small Firebar
SPR_BFBR, // Big Firebar
SPR_BANR, // Banner/pole
SPR_PINE, // Pine Tree
SPR_CEZB, // Bush
SPR_CNDL, // Candle/pricket
SPR_FLMH, // Flame holder
SPR_CTRC, // Fire torch
SPR_CFLG, // Waving flag/segment
SPR_CSTA, // Crawla statue
SPR_CABR, // Brambles
// Arid Canyon Scenery
SPR_BTBL, // Big tumbleweed
SPR_STBL, // Small tumbleweed
SPR_CACT, // Cacti
SPR_WWSG, // Caution Sign
SPR_WWS2, // Cacti Sign
SPR_WWS3, // Sharp Turn Sign
SPR_OILL, // Oil lamp
SPR_OILF, // Oil lamp flare
SPR_BARR, // TNT barrel
SPR_REMT, // TNT proximity shell
SPR_TAZD, // Dust devil
SPR_ADST, // Arid dust
// Red Volcano Scenery
SPR_FLME, // Flame jet
SPR_DFLM, // Blade's flame
SPR_LFAL, // Lavafall
SPR_JPLA, // Jungle palm
SPR_TFLO, // Torch flower
SPR_WVIN, // Wall vines
// Dark City Scenery
// Egg Rock Scenery
// Christmas Scenery
SPR_XMS1, // Christmas Pole
SPR_XMS2, // Candy Cane
SPR_XMS3, // Snowman
SPR_XMS4, // Lamppost
SPR_XMS5, // Hanging Star
SPR_XMS6, // Mistletoe
SPR_FHZI, // FHZ Ice
// Halloween Scenery
SPR_PUMK, // Pumpkins
SPR_HHPL, // Dr Seuss Trees
SPR_SHRM, // Mushroom
SPR_HHZM, // Misc
// Azure Temple Scenery
SPR_BGAR, // ATZ Gargoyles
SPR_CFLM, // Green torch flame
// Botanic Serenity Scenery
SPR_BSZ1, // Tall flowers
SPR_BSZ2, // Medium flowers
SPR_BSZ3, // Small flowers
SPR_BSZ4, // Tulips
SPR_BST1, // Red tulip
SPR_BST2, // Purple tulip
SPR_BST3, // Blue tulip
SPR_BST4, // Cyan tulip
SPR_BST5, // Yellow tulip
SPR_BST6, // Orange tulip
SPR_BSZ5, // Cluster of Tulips
SPR_BSZ6, // Bush
SPR_BSZ7, // Vine
SPR_BSZ8, // Misc things
// Misc Scenery
SPR_STLG, // Stalagmites
SPR_DBAL, // Disco
// Powerup Indicators
SPR_SSPK, // Super Sonic Spark
// Flickies
SPR_FBUB, // Flicky-sized bubble
SPR_FL01, // Bluebird
SPR_FL02, // Rabbit
SPR_FL03, // Chicken
SPR_FL04, // Seal
SPR_FL05, // Pig
SPR_FL06, // Chipmunk
SPR_FL07, // Penguin
SPR_FL08, // Fish
SPR_FL09, // Ram
SPR_FL10, // Puffin
SPR_FL11, // Cow
SPR_FL12, // Rat
SPR_FL13, // Bear
SPR_FL14, // Dove
SPR_FL15, // Cat
SPR_FL16, // Canary
SPR_FS01, // Spider
SPR_FS02, // Bat
// Springs
SPR_STEM, // Steam riser
SPR_BLON, // Balloons
SPR_SPVY, // Yellow Vertical Spring
SPR_SPVR, // Red Vertical Spring
SPR_SPVB, // Blue Vertical Spring
SPR_SPVG, // Grey Vertical Spring
SPR_SPDY, // Yellow Diagonal Spring
SPR_SPDR, // Red Diagonal Spring
SPR_SPDB, // Blue Diagonal Spring
SPR_SPDG, // Grey Diagonal Spring
SPR_SPHY, // Yellow Horizontal Spring
SPR_SPHR, // Red Horizontal Spring
SPR_SPHB, // Blue Horizontal Spring
SPR_SPHG, // Grey Horizontal Spring
SPR_POGS, // Pogo Spring
// Environmental Effects
SPR_RAIN, // Rain
SPR_SNO1, // Snowflake
SPR_SNO2, // Blizzard Snowball
SPR_SPLH, // Water Splish
SPR_LSPL, // Lava Splish
SPR_SPLA, // Water Splash
SPR_SMOK,
SPR_BUBL, // Bubble
SPR_WZAP,
SPR_DUST, // Spindash dust
SPR_FPRT, // Spindash dust (flame)
SPR_SEED,
SPR_PRTL, // Particle (for fans, etc.)
// Game Indicators
SPR_DRWN, // Drowning Timer
SPR_CORK,
SPR_LHRT,
// NiGHTS Stuff
SPR_HOOP,
SPR_CAPS, // Capsule thingy for NiGHTS
// Secret badniks and hazards, shhhh
SPR_FMCE,
SPR_HMCE,
SPR_HBAT,
// Debris
SPR_SPRK, // Sparkle
SPR_BOM1, // Robot Explosion
SPR_BOM2, // Boss Explosion 1
SPR_BOM3, // Boss Explosion 2
SPR_BOM4, // Underwater Explosion
SPR_LSSJ, // My ki is overflowing!!
// Crumbly rocks
SPR_ROIA,
SPR_ROIB,
SPR_ROIC,
SPR_ROID,
SPR_ROIE,
SPR_ROIF,
SPR_ROIG,
SPR_ROIH,
SPR_ROII,
SPR_ROIJ,
SPR_ROIK,
SPR_ROIL,
SPR_ROIM,
SPR_ROIN,
SPR_ROIO,
SPR_ROIP,
// Level debris
SPR_GFZD, // GFZ debris
SPR_BRIC, // Bricks
SPR_WDDB, // Wood Debris
// SRB2Kart
SPR_RNDM, // Random Item Box
SPR_SBOX, // Sphere Box (for Battle)
SPR_RBOX, // Ring Box
SPR_ITRI, // Item Box Debris
SPR_ITPA, // Paper item backdrop
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, // Lighter invincibility sparkle trail
SPR_KINB, // Darker invincibility sparkle trail
SPR_KINF, // Invincibility flash
SPR_INVI, // Invincibility speedlines
SPR_ICAP, // Item capsules
SPR_IMON, // Item Monitor
SPR_MGBX, // Heavy Magician transform box
SPR_MGBT, // Heavy Magician transform box top
SPR_MGBB, // Heavy Magician transform box bottom
SPR_MSHD, // Item Monitor Big Shard
SPR_IMDB, // Item Monitor Small Shard (Debris)
SPR_MTWK, // Item Monitor Glass Twinkle
SPR_SLPT, // Wavedash indicator
SPR_TRBS, // Trickdash indicator
SPR_IWHP, // Instawhip
SPR_WPRE, // Instawhip Recharge
SPR_WPRJ, // Instawhip Reject
SPR_GRNG, // Guard ring
SPR_GBDY, // Guard body
SPR_TRC1, // Charge aura
SPR_TRC2, // Charge fall
SPR_TRC3, // Charge flicker/sparks
SPR_TRC4, // Charge release
SPR_TRC5, // Charge extra
SPR_DHND, // Servant Hand
SPR_HORN, // Horncode
SPR_WIPD, // Wipeout dust trail
SPR_DRIF, // Drift Sparks
SPR_BDRF, // Brake drift sparks
SPR_BRAK, // Brake brak
SPR_DRWS, // Drift dust sparks
SPR_DREL, // Drift electricity
SPR_DRES, // Drift electric sparks
SPR_JANK, // Stair janking sparks
SPR_HFX1, // Hitlag stage 1
SPR_HFX2, // Hitlag stage 2
SPR_HFX3, // Hitlag stage 3
SPR_HFX4, // Hitlag stage 4
SPR_HFX5, // Hitlag stage 5
SPR_HFX6, // Hitlag stage 6
SPR_HFX8, // Hitlag stage 8
SPR_HFX9, // Hitlag stage 9
SPR_HFXX, // Hitlag stage 10
// Kart Items
SPR_RSHE, // Rocket sneaker
SPR_FITM, // Eggman Monitor
SPR_BANA, // Banana Peel
SPR_BAND, // Banana Peel death particles
SPR_ORBN, // Orbinaut
SPR_JAWZ, // Jawz
SPR_SSMN, // SS Mine
SPR_KRBM, // SS Mine BOOM
SPR_LNDM, // Land Mine
SPR_DTRG, // Drop Target
SPR_BHOG, // Ballhog
SPR_BHBM, // Ballhog BOOM
SPR_SPBM, // Self-Propelled Bomb
SPR_TRIS, // SPB Manta Ring start
SPR_TRNQ, // SPB Manta Ring loop
SPR_THNS, // Thunder Shield
SPR_BUBS, // Bubble Shield (not Bubs)
SPR_BWVE, // Bubble Shield waves
SPR_FLMS, // Flame Shield
SPR_FLMD, // Flame Shield dash
SPR_FLMP, // Flame Shield paper sprites
SPR_FLML, // Flame Shield speed lines
SPR_FLMF, // Flame Shield flash
SPR_GTOP, // Marble Garden Zone Spinning Top
SPR_GTAR, // Garden Top Arrow
SPR_HYUU, // Hyudoro
SPR_GRWP, // Grow
SPR_POHB, // Shrink Poh-Bee
SPR_POHC, // Shrink Poh-Bee chain
SPR_SHRG, // Shrink gun
SPR_SHRL, // Shrink laser
SPR_SINK, // Kitchen Sink
SPR_SITR, // Kitchen Sink Trail
SPR_KBLN, // Battle Mode Bumper
SPR_BEXC, // Battle Bumper Explosion: Crystal
SPR_BEXS, // Battle Bumper Explosion: Shell
SPR_BDEB, // Battle Bumper Explosion: Debris
SPR_BEXB, // Battle Bumper Explosion: Blast
SPR_TWBS, // Tripwire Boost
SPR_TWBT, // Tripwire BLASTER
SPR_SMLD, // Smooth landing
// Trick Effects
SPR_TRK1,
SPR_TRK2,
SPR_TRK3,
SPR_TRK4,
SPR_TRK5,
SPR_TRK6,
SPR_TRK7,
SPR_TIRG, // Tire grabbers
SPR_RSHT, // DEZ Ring Shooter
SPR_DEZL, // DEZ Laser respawn
// Additional Kart Objects
SPR_AUDI, // Audience members
SPR_BUZB, // Buzz Bomber
SPR_SACO, // Sapphire Coast Fauna
SPR_BRNG, // Chaotix Big Ring
// Ark Arrows
SPR_SYM0,
SPR_SYM1,
SPR_SYM2,
SPR_SYM3,
SPR_SYM4,
SPR_SYM5,
SPR_SYM6,
SPR_SYM7,
SPR_SYM8,
SPR_SYM9,
SPR_SYMA,
SPR_SYMB,
SPR_SYMC,
SPR_SYMD,
SPR_SYME,
SPR_SYMF,
SPR_SYMG,
SPR_SYMH,
SPR_SYMI,
SPR_SYMJ,
SPR_SYMK,
SPR_SYML,
SPR_SYMM,
SPR_SYMN,
SPR_SYMO,
SPR_SYMP,
SPR_SYMQ,
SPR_SYMR,
SPR_SYMS,
SPR_SYMT,
SPR_SYMU,
SPR_SYMV,
SPR_SYMW,
SPR_SYMX,
SPR_SYMY,
SPR_SYMZ,
SPR_ARK0,
SPR_ARK1,
SPR_ARK2,
SPR_ARK3,
SPR_ARK4,
SPR_ARK5,
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_PWCL, // Invinc/grow clash VFX
SPR_GBRK, // Guard break
SPR_ITEM,
SPR_ITMO,
SPR_ITMI,
SPR_ITMN,
SPR_PWRB,
SPR_RBOW, // power-up aura
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,
// Dash Rings
SPR_RAIR,
// Adventure Air Booster
SPR_ADVR,
SPR_ADVE,
// Sneaker Panels
SPR_BSTP,
SPR_BSTS,
SPR_BSTT,
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
// Ports of gardens
SPR_PGTR,
// 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,
// Chaos Chute
SPR_SARC,
SPR_SSBM,
// Hanagumi Hall
SPR_HGSP,
SPR_HGC0,
SPR_HGCA,
SPR_HGCB,
SPR_HGCC,
SPR_HGCD,
SPR_HGCE,
SPR_HGCF,
SPR_HGCG,
// Dimension Disaster
SPR_DVDD,
SPR_SPRC,
SPR_TUST,
SPR_TULE,
SPR_FWRK,
SPR_MXCL,
SPR_RGSP,
SPR_LENS,
SPR_DRAF,
SPR_GRES,
SPR_OTBU,
SPR_OTLS,
SPR_OTCP,
SPR_DBOS, // Drift boost flame
SPR_WAYP,
SPR_EGOO,
SPR_WTRL, // Water Trail
SPR_GCHA, // follower: generic chao
SPR_CHEZ, // follower: cheese
SPR_DBCL, // Drift boost clip
SPR_DBNC, // Drift boost clip's sparks
SPR_DBST, // Drift boost plume
SPR_SDDS, // Spindash dust
SPR_SDWN, // Spindash wind
SPR_EBRK, // Soft Landing / Ebrake aura stuff.
SPR_HMTR, // downwards line
SPR_HBUB, // HOLD! Bubble
SPR_TRCK,
SPR_FLBM, // Finish line beam
SPR_UFOB,
SPR_UFOA,
SPR_UFOS,
SPR_SSCA,
SPR_SSCB,
SPR_UQMK,
SPR_GBOM,
SPR_GCHX,
SPR_3DFR,
SPR_BUFO, // Battle/Power-UP UFO
SPR_CPT1, // Checkpoint Orb
SPR_CPT2, // Checkpoint Stick
SPR_CPT3, // Checkpoint Base
SPR_RDRD, // rideroid
SPR_RDRA, // rideroid node sprites
SPR_RDRC,
SPR_RDRL,
SPR_LSZB, // eggman ball.
SPR_DLZH, // DLZ Hover
SPR_DLZR, // DLZ Rocket
SPR_DLZS, // DLZ Seasaw
SPR_DLZA, // Helper arrows for rocket
SPR_WPWL, // turbine
SPR_WPZF, // fountain
SPR_WPZK, // klagen
SPR_SA2S, // SA2-style Ball Switch
SPR_STRG, // Spiked Target
SPR_BLEA, // m'A'in unit
SPR_BLEB, // o'B'server
SPR_BLEC, // 'C'lear glass
SPR_BLED, // shiel'D'
SPR_BLEE, // 'E'ggbeater
SPR_BLEF, // 'F'lamejet
SPR_BLEG, // 'G'enerator
// Puyo hazards
SPR_PUYA,
SPR_PUYB,
SPR_PUYC,
SPR_PUYD,
SPR_PUYE,
// Aerial Highlands
SPR_BCLD,
// Avant Garden
SPR_AGTU,
SPR_AGTL,
SPR_AGTS,
SPR_AGTR,
SPR_AGFL,
SPR_AGFF,
SPR_AGCL,
// Sky Sanctuary
SPR_SSCL,
SPR_MGSH, // Mega Barrier
// GPZ Seasaw
SPR_GPPS,
SPR_GPZS,
// Gust Planet Trees
SPR_GPTB,
SPR_GPTM,
SPR_GPTS,
SPR_GGZ1,
SPR_GGZ2,
SPR_GGZ3,
SPR_GGZ6,
SPR_GGZ7,
SPR_GGZ8,
SPR_FBTN,
SPR_SFTR,
SPR_SABX,
SPR_ICBL,
SPR_BSSP,
SPR_BSPB,
SPR_BSPR,
SPR_BSSR,
SPR_BLMS,
SPR_BLMM,
SPR_BLML,
SPR_BSWL,
SPR_BSWC,
SPR_LCLA,
SPR_AIZ1,
SPR_AIZ2,
SPR_AIZ3,
SPR_AIZ4,
SPR_AIZ5,
SPR_AIZ6,
SPR_AZR1,
SPR_AZR2,
SPR_EMR1,
SPR_EMR2,
SPR_EMR3,
SPR_EMFC,
// Joypolis Trick Balloon
SPR_TKBR,
SPR_TKBY,
// Waterfall particles
SPR_WTRP,
// Sealed Stars
SPR_SCND, // Candle
SPR_SCNF, // Candle Flame
SPR_SSBI, // Hologram Bird
SPR_SSCR, // Hologram Crab
SPR_SSFI, // Hologram Fish
SPR_SSSQ, // Hologram Squid
SPR_SSCO, // Coin
SPR_SGOB, // Goblet
SPR_SSLA, // Lamp
SPR_SWIN, // Window
SPR_SWIS, // Window Shine
SPR_SBMP, // Bumper
SPR_SSCH, // Chain
SPR_GCTA, // Gachatarget
SPR_SENB, // Cabotron
SPR_SENC, // Cabotron
SPR_SEAS, // Starstream
SPR_S_SP, // Mace
// Tutorial
SPR_TLKP, // Talk Point
// Destroyed Kart
SPR_DIEA, // tire
SPR_DIEB, // pipeframe bar
SPR_DIEC, // pedal tip
SPR_DIED, // right pedal
SPR_DIEE, // steering wheel
SPR_DIEF, // kart
SPR_DIEG, // left pedal
SPR_DIEH, // strut
SPR_DIEI, // wheel axle bar
SPR_DIEJ, // screw
SPR_DIEK, // electric engine
SPR_DIEL, // fire
SPR_DIEM, // smoke
SPR_DIEN, // explosion
// Pulley
SPR_HCCH,
SPR_HCHK,
// 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;
// Make sure to be conscious of FF_FRAMEMASK and the fact sprite2 is stored as a UINT8 whenever you change this table.
// Currently, FF_FRAMEMASK is 0xff, or 255 - but the second half is used by FF_SPR2SUPER, so the limitation is 0x7f.
// Since this is zero-based, there can be at most 128 different SPR2_'s without changing that.
typedef enum playersprite
{
SPR2_STIN = 0, SPR2_STIL, SPR2_STIR,
SPR2_STGL, SPR2_STGR, SPR2_STLL, SPR2_STLR,
SPR2_SLWN, SPR2_SLWL, SPR2_SLWR,
SPR2_SLGL, SPR2_SLGR, SPR2_SLLL, SPR2_SLLR,
SPR2_FSTN, SPR2_FSTL, SPR2_FSTR,
SPR2_FSGL, SPR2_FSGR, SPR2_FSLL, SPR2_FSLR,
SPR2_DRLN, SPR2_DRLO, SPR2_DRLI,
SPR2_DRRN, SPR2_DRRO, SPR2_DRRI,
SPR2_SPIN,
SPR2_DEAD,
SPR2_SIGN, SPR2_SIGL, SPR2_SSIG,
SPR2_XTRA,
SPR2_TALK,
SPR2_FIRSTFREESLOT,
SPR2_LASTFREESLOT = 0x7f,
NUMPLAYERSPRITES
} playersprite_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,
S_THOK,
S_SHADOW,
S_KART_STILL,
S_KART_STILL_L,
S_KART_STILL_R,
S_KART_STILL_GLANCE_L,
S_KART_STILL_GLANCE_R,
S_KART_STILL_LOOK_L,
S_KART_STILL_LOOK_R,
S_KART_SLOW,
S_KART_SLOW_L,
S_KART_SLOW_R,
S_KART_SLOW_GLANCE_L,
S_KART_SLOW_GLANCE_R,
S_KART_SLOW_LOOK_L,
S_KART_SLOW_LOOK_R,
S_KART_FAST,
S_KART_FAST_L,
S_KART_FAST_R,
S_KART_FAST_GLANCE_L,
S_KART_FAST_GLANCE_R,
S_KART_FAST_LOOK_L,
S_KART_FAST_LOOK_R,
S_KART_DRIFT_L,
S_KART_DRIFT_L_OUT,
S_KART_DRIFT_L_IN,
S_KART_DRIFT_R,
S_KART_DRIFT_R_OUT,
S_KART_DRIFT_R_IN,
S_KART_SPINOUT,
S_KART_DEAD,
S_KART_SIGN,
S_KART_SIGL,
// technically the player goes here but it's an infinite tic state
S_OBJPLACE_DUMMY,
S_KART_LEFTOVER,
S_KART_LEFTOVER_NOTIRES,
S_KART_TIRE1,
S_KART_TIRE2,
S_KART_FIRE,
S_KART_SMOKE,
S_KART_XPL01,
S_KART_XPL02,
S_KART_XPL03,
// Boss Explosion
S_BOSSEXPLODE,
// S3&K Boss Explosion
S_SONIC3KBOSSEXPLOSION1,
S_SONIC3KBOSSEXPLOSION2,
S_SONIC3KBOSSEXPLOSION3,
S_SONIC3KBOSSEXPLOSION4,
S_SONIC3KBOSSEXPLOSION5,
S_SONIC3KBOSSEXPLOSION6,
// Ring
S_RING,
S_FASTRING1,
S_FASTRING2,
S_FASTRING3,
S_FASTRING4,
S_FASTRING5,
S_FASTRING6,
S_FASTRING7,
S_FASTRING8,
S_FASTRING9,
S_FASTRING10,
S_FASTRING11,
S_FASTRING12,
// Blue Sphere for special stages
S_BLUESPHERE,
S_BLUESPHERE_SPAWN,
S_BLUESPHERE_BOUNCE1,
S_BLUESPHERE_BOUNCE2,
S_BLUESPHERE_BOUNCE3,
S_BLUESPHERE_BOUNCE4,
S_BLUESPHERE_BOUNCE5,
S_BLUESPHERE_BOUNCE6,
S_BLUESPHERE_BOUNCE7,
S_BLUESPHERE_BOUNCE8,
S_BLUESPHERE_BOUNCE9,
S_BLUESPHERE_BOUNCE10,
S_BLUESPHERE_BOUNCE11,
S_BLUESPHERE_BOUNCE12,
S_BLUESPHERE_BOUNCE13,
S_BLUESPHERE_BOUNCE14,
S_BLUESPHERE_BOUNCE15,
S_BLUESPHERE_BOUNCE16,
S_BLUESPHERE_BOUNCE17,
S_BLUESPHERE_BOUNCE18,
S_BLUESPHERE_BOUNCE19,
S_BLUESPHERE_BOUNCE20,
S_BLUESPHERE_BOUNCE21,
S_BLUESPHERE_BOUNCE22,
S_BLUESPHERE_BOUNCE23,
S_BLUESPHERE_BOUNCE24,
S_BLUESPHERE_BOUNCE25,
S_BLUESPHERE_BOUNCE26,
S_BLUESPHERE_BOUNCE27,
S_BLUESPHERE_BOUNCE28,
// 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,
// Spray Can
S_SPRAYCAN,
// Ancient Shrine
S_ANCIENTSHRINE,
S_MORB1,
S_MORB2,
S_MORB3,
S_MORB4,
S_MORB5,
S_MORB6,
S_MORB7,
S_MORB8,
S_MORB9,
S_MORB10,
S_MORB11,
S_MORB12,
S_MORB13,
S_MORB14,
S_MORB15,
// Chaos Emeralds
S_CHAOSEMERALD1,
S_CHAOSEMERALD2,
S_CHAOSEMERALD_UNDER,
// Super Emeralds
S_SUPEREMERALD1,
S_SUPEREMERALD2,
S_SUPEREMERALD_UNDER,
S_EMERALDSPARK1,
S_EMERALDSPARK2,
S_EMERALDSPARK3,
S_EMERALDSPARK4,
S_EMERALDSPARK5,
S_EMERALDSPARK6,
S_EMERALDSPARK7,
S_EMERALDFLARE1,
// Prison Egg Drops
S_PRISONEGGDROP_CD,
S_PRISONEGGDROP_FLAREA1,
S_PRISONEGGDROP_FLAREA2,
S_PRISONEGGDROP_FLAREB1,
S_PRISONEGGDROP_FLAREB2,
// Bubble Source
S_BUBBLES1,
S_BUBBLES2,
S_BUBBLES3,
S_BUBBLES4,
// Level End Sign
S_SIGN_POLE,
S_SIGN_BACK,
S_SIGN_SIDE,
S_SIGN_FACE,
S_SIGN_ERROR,
// Spike Ball
S_SPIKEBALL1,
S_SPIKEBALL2,
S_SPIKEBALL3,
S_SPIKEBALL4,
S_SPIKEBALL5,
S_SPIKEBALL6,
S_SPIKEBALL7,
S_SPIKEBALL8,
// Elemental Shield's Spawn
S_SPINFIRE1,
S_SPINFIRE2,
S_SPINFIRE3,
S_SPINFIRE4,
S_SPINFIRE5,
S_SPINFIRE6,
// Spikes
S_SPIKE1,
S_SPIKE2,
S_SPIKE3,
S_SPIKE4,
S_SPIKE5,
S_SPIKE6,
S_SPIKED1,
S_SPIKED2,
// Wall spikes
S_WALLSPIKE1,
S_WALLSPIKE2,
S_WALLSPIKE3,
S_WALLSPIKE4,
S_WALLSPIKE5,
S_WALLSPIKE6,
S_WALLSPIKEBASE,
S_WALLSPIKED1,
S_WALLSPIKED2,
// Cannon Launcher
S_CANNONLAUNCHER1,
S_CANNONLAUNCHER2,
S_CANNONLAUNCHER3,
// Cannonball
S_CANNONBALL1,
// GFZ flowers
S_GFZFLOWERA,
S_GFZFLOWERB,
S_GFZFLOWERC,
S_BLUEBERRYBUSH,
S_BERRYBUSH,
S_BUSH,
// Trees (both GFZ and misc)
S_GFZTREE,
S_GFZBERRYTREE,
S_GFZCHERRYTREE,
S_CHECKERTREE,
S_CHECKERSUNSETTREE,
S_FHZTREE, // Frozen Hillside
S_FHZPINKTREE,
S_POLYGONTREE,
S_BUSHTREE,
S_BUSHREDTREE,
S_SPRINGTREE,
// THZ flowers
S_THZFLOWERA, // THZ1 Steam flower
S_THZFLOWERB, // THZ1 Spin flower (red)
S_THZFLOWERC, // THZ1 Spin flower (yellow)
// THZ Steam Whistle tree/bush
S_THZTREE,
S_THZTREEBRANCH1,
S_THZTREEBRANCH2,
S_THZTREEBRANCH3,
S_THZTREEBRANCH4,
S_THZTREEBRANCH5,
S_THZTREEBRANCH6,
S_THZTREEBRANCH7,
S_THZTREEBRANCH8,
S_THZTREEBRANCH9,
S_THZTREEBRANCH10,
S_THZTREEBRANCH11,
S_THZTREEBRANCH12,
S_THZTREEBRANCH13,
// THZ Alarm
S_ALARM1,
// Deep Sea Gargoyle
S_GARGOYLE,
S_BIGGARGOYLE,
// DSZ Seaweed
S_SEAWEED1,
S_SEAWEED2,
S_SEAWEED3,
S_SEAWEED4,
S_SEAWEED5,
S_SEAWEED6,
// Dripping Water
S_DRIPA1,
S_DRIPA2,
S_DRIPA3,
S_DRIPA4,
S_DRIPB1,
S_DRIPC1,
S_DRIPC2,
// Coral
S_CORAL1,
S_CORAL2,
S_CORAL3,
S_CORAL4,
S_CORAL5,
// Blue Crystal
S_BLUECRYSTAL1,
// Kelp,
S_KELP,
// Animated algae
S_ANIMALGAETOP1,
S_ANIMALGAETOP2,
S_ANIMALGAESEG,
// DSZ Stalagmites
S_DSZSTALAGMITE,
S_DSZ2STALAGMITE,
// DSZ Light beam
S_LIGHTBEAM1,
S_LIGHTBEAM2,
S_LIGHTBEAM3,
S_LIGHTBEAM4,
S_LIGHTBEAM5,
S_LIGHTBEAM6,
S_LIGHTBEAM7,
S_LIGHTBEAM8,
S_LIGHTBEAM9,
S_LIGHTBEAM10,
S_LIGHTBEAM11,
S_LIGHTBEAM12,
// CEZ Chain
S_CEZCHAIN,
// Flame
S_FLAME,
S_FLAMEPARTICLE,
S_FLAMEREST,
// Eggman Statue
S_EGGSTATUE1,
// CEZ hidden sling
S_SLING1,
S_SLING2,
// CEZ maces and chains
S_SMALLMACECHAIN,
S_BIGMACECHAIN,
S_SMALLMACE,
S_BIGMACE,
S_SMALLGRABCHAIN,
S_BIGGRABCHAIN,
// Small Firebar
S_SMALLFIREBAR1,
S_SMALLFIREBAR2,
S_SMALLFIREBAR3,
S_SMALLFIREBAR4,
S_SMALLFIREBAR5,
S_SMALLFIREBAR6,
S_SMALLFIREBAR7,
S_SMALLFIREBAR8,
S_SMALLFIREBAR9,
S_SMALLFIREBAR10,
S_SMALLFIREBAR11,
S_SMALLFIREBAR12,
S_SMALLFIREBAR13,
S_SMALLFIREBAR14,
S_SMALLFIREBAR15,
S_SMALLFIREBAR16,
// Big Firebar
S_BIGFIREBAR1,
S_BIGFIREBAR2,
S_BIGFIREBAR3,
S_BIGFIREBAR4,
S_BIGFIREBAR5,
S_BIGFIREBAR6,
S_BIGFIREBAR7,
S_BIGFIREBAR8,
S_BIGFIREBAR9,
S_BIGFIREBAR10,
S_BIGFIREBAR11,
S_BIGFIREBAR12,
S_BIGFIREBAR13,
S_BIGFIREBAR14,
S_BIGFIREBAR15,
S_BIGFIREBAR16,
S_CEZFLOWER,
S_CEZPOLE,
S_CEZBANNER1,
S_CEZBANNER2,
S_PINETREE,
S_CEZBUSH1,
S_CEZBUSH2,
S_CANDLE,
S_CANDLEPRICKET,
S_FLAMEHOLDER,
S_FIRETORCH,
S_WAVINGFLAG,
S_WAVINGFLAGSEG1,
S_WAVINGFLAGSEG2,
S_CRAWLASTATUE,
S_BRAMBLES,
// Big Tumbleweed
S_BIGTUMBLEWEED,
S_BIGTUMBLEWEED_ROLL1,
S_BIGTUMBLEWEED_ROLL2,
S_BIGTUMBLEWEED_ROLL3,
S_BIGTUMBLEWEED_ROLL4,
S_BIGTUMBLEWEED_ROLL5,
S_BIGTUMBLEWEED_ROLL6,
S_BIGTUMBLEWEED_ROLL7,
S_BIGTUMBLEWEED_ROLL8,
// Little Tumbleweed
S_LITTLETUMBLEWEED,
S_LITTLETUMBLEWEED_ROLL1,
S_LITTLETUMBLEWEED_ROLL2,
S_LITTLETUMBLEWEED_ROLL3,
S_LITTLETUMBLEWEED_ROLL4,
S_LITTLETUMBLEWEED_ROLL5,
S_LITTLETUMBLEWEED_ROLL6,
S_LITTLETUMBLEWEED_ROLL7,
S_LITTLETUMBLEWEED_ROLL8,
// Cacti
S_CACTI1,
S_CACTI2,
S_CACTI3,
S_CACTI4,
S_CACTI5,
S_CACTI6,
S_CACTI7,
S_CACTI8,
S_CACTI9,
S_CACTI10,
S_CACTI11,
S_CACTITINYSEG,
S_CACTISMALLSEG,
// Warning signs
S_ARIDSIGN_CAUTION,
S_ARIDSIGN_CACTI,
S_ARIDSIGN_SHARPTURN,
// Oil lamp
S_OILLAMP,
S_OILLAMPFLARE,
// TNT barrel
S_TNTBARREL_STND1,
S_TNTBARREL_EXPL1,
S_TNTBARREL_EXPL2,
S_TNTBARREL_EXPL3,
S_TNTBARREL_EXPL4,
S_TNTBARREL_EXPL5,
S_TNTBARREL_EXPL6,
S_TNTBARREL_EXPL7,
S_TNTBARREL_FLYING,
S_TNTDUST_1,
S_TNTDUST_2,
S_TNTDUST_3,
S_TNTDUST_4,
S_TNTDUST_5,
S_TNTDUST_6,
S_TNTDUST_7,
S_TNTDUST_8,
// TNT proximity shell
S_PROXIMITY_TNT,
S_PROXIMITY_TNT_TRIGGER1,
S_PROXIMITY_TNT_TRIGGER2,
S_PROXIMITY_TNT_TRIGGER3,
S_PROXIMITY_TNT_TRIGGER4,
S_PROXIMITY_TNT_TRIGGER5,
S_PROXIMITY_TNT_TRIGGER6,
S_PROXIMITY_TNT_TRIGGER7,
S_PROXIMITY_TNT_TRIGGER8,
S_PROXIMITY_TNT_TRIGGER9,
S_PROXIMITY_TNT_TRIGGER10,
S_PROXIMITY_TNT_TRIGGER11,
S_PROXIMITY_TNT_TRIGGER12,
S_PROXIMITY_TNT_TRIGGER13,
S_PROXIMITY_TNT_TRIGGER14,
S_PROXIMITY_TNT_TRIGGER15,
S_PROXIMITY_TNT_TRIGGER16,
S_PROXIMITY_TNT_TRIGGER17,
S_PROXIMITY_TNT_TRIGGER18,
S_PROXIMITY_TNT_TRIGGER19,
S_PROXIMITY_TNT_TRIGGER20,
S_PROXIMITY_TNT_TRIGGER21,
S_PROXIMITY_TNT_TRIGGER22,
S_PROXIMITY_TNT_TRIGGER23,
// Dust devil
S_DUSTDEVIL,
S_DUSTLAYER1,
S_DUSTLAYER2,
S_DUSTLAYER3,
S_DUSTLAYER4,
S_DUSTLAYER5,
S_ARIDDUST1,
S_ARIDDUST2,
S_ARIDDUST3,
// Flame jet
S_FLAMEJETSTND,
S_FLAMEJETSTART,
S_FLAMEJETSTOP,
S_FLAMEJETFLAME1,
S_FLAMEJETFLAME2,
S_FLAMEJETFLAME3,
S_FLAMEJETFLAME4,
S_FLAMEJETFLAME5,
S_FLAMEJETFLAME6,
S_FLAMEJETFLAME7,
S_FLAMEJETFLAME8,
S_FLAMEJETFLAME9,
// Spinning flame jets
S_FJSPINAXISA1, // Counter-clockwise
S_FJSPINAXISA2,
S_FJSPINAXISB1, // Clockwise
S_FJSPINAXISB2,
// Blade's flame
S_FLAMEJETFLAMEB1,
S_FLAMEJETFLAMEB2,
S_FLAMEJETFLAMEB3,
// Lavafall
S_LAVAFALL_DORMANT,
S_LAVAFALL_TELL,
S_LAVAFALL_SHOOT,
S_LAVAFALL_LAVA1,
S_LAVAFALL_LAVA2,
S_LAVAFALL_LAVA3,
S_LAVAFALLROCK,
// RVZ scenery
S_BIGFERNLEAF,
S_BIGFERN1,
S_BIGFERN2,
S_JUNGLEPALM,
S_TORCHFLOWER,
S_WALLVINE_LONG,
S_WALLVINE_SHORT,
// Stalagmites
S_STG0,
S_STG1,
S_STG2,
S_STG3,
S_STG4,
S_STG5,
S_STG6,
S_STG7,
S_STG8,
S_STG9,
// Xmas-specific stuff
S_XMASPOLE,
S_CANDYCANE,
S_SNOWMAN, // normal
S_SNOWMANHAT, // with hat + scarf
S_LAMPPOST1, // normal
S_LAMPPOST2, // with snow
S_HANGSTAR,
S_MISTLETOE,
// Xmas GFZ bushes
S_XMASBLUEBERRYBUSH,
S_XMASBERRYBUSH,
S_XMASBUSH,
// FHZ
S_FHZICE1,
S_FHZICE2,
// Halloween Scenery
// Pumpkins
S_JACKO1,
S_JACKO1OVERLAY_1,
S_JACKO1OVERLAY_2,
S_JACKO1OVERLAY_3,
S_JACKO1OVERLAY_4,
S_JACKO2,
S_JACKO2OVERLAY_1,
S_JACKO2OVERLAY_2,
S_JACKO2OVERLAY_3,
S_JACKO2OVERLAY_4,
S_JACKO3,
S_JACKO3OVERLAY_1,
S_JACKO3OVERLAY_2,
S_JACKO3OVERLAY_3,
S_JACKO3OVERLAY_4,
// Dr Seuss Trees
S_HHZTREE_TOP,
S_HHZTREE_TRUNK,
S_HHZTREE_LEAF,
// Mushroom
S_HHZSHROOM_1,
S_HHZSHROOM_2,
S_HHZSHROOM_3,
S_HHZSHROOM_4,
S_HHZSHROOM_5,
S_HHZSHROOM_6,
S_HHZSHROOM_7,
S_HHZSHROOM_8,
S_HHZSHROOM_9,
S_HHZSHROOM_10,
S_HHZSHROOM_11,
S_HHZSHROOM_12,
S_HHZSHROOM_13,
S_HHZSHROOM_14,
S_HHZSHROOM_15,
S_HHZSHROOM_16,
// Misc
S_HHZGRASS,
S_HHZTENT1,
S_HHZTENT2,
S_HHZSTALAGMITE_TALL,
S_HHZSTALAGMITE_SHORT,
// Botanic Serenity's loads of scenery states
S_BSZTALLFLOWER_RED,
S_BSZTALLFLOWER_PURPLE,
S_BSZTALLFLOWER_BLUE,
S_BSZTALLFLOWER_CYAN,
S_BSZTALLFLOWER_YELLOW,
S_BSZTALLFLOWER_ORANGE,
S_BSZFLOWER_RED,
S_BSZFLOWER_PURPLE,
S_BSZFLOWER_BLUE,
S_BSZFLOWER_CYAN,
S_BSZFLOWER_YELLOW,
S_BSZFLOWER_ORANGE,
S_BSZSHORTFLOWER_RED,
S_BSZSHORTFLOWER_PURPLE,
S_BSZSHORTFLOWER_BLUE,
S_BSZSHORTFLOWER_CYAN,
S_BSZSHORTFLOWER_YELLOW,
S_BSZSHORTFLOWER_ORANGE,
S_BSZTULIP_RED,
S_BSZTULIP_PURPLE,
S_BSZTULIP_BLUE,
S_BSZTULIP_CYAN,
S_BSZTULIP_YELLOW,
S_BSZTULIP_ORANGE,
S_BSZCLUSTER_RED,
S_BSZCLUSTER_PURPLE,
S_BSZCLUSTER_BLUE,
S_BSZCLUSTER_CYAN,
S_BSZCLUSTER_YELLOW,
S_BSZCLUSTER_ORANGE,
S_BSZBUSH_RED,
S_BSZBUSH_PURPLE,
S_BSZBUSH_BLUE,
S_BSZBUSH_CYAN,
S_BSZBUSH_YELLOW,
S_BSZBUSH_ORANGE,
S_BSZVINE_RED,
S_BSZVINE_PURPLE,
S_BSZVINE_BLUE,
S_BSZVINE_CYAN,
S_BSZVINE_YELLOW,
S_BSZVINE_ORANGE,
S_BSZSHRUB,
S_BSZCLOVER,
S_BIG_PALMTREE_TRUNK,
S_BIG_PALMTREE_TOP,
S_PALMTREE_TRUNK,
S_PALMTREE_TOP,
S_DBALL1,
S_DBALL2,
S_DBALL3,
S_DBALL4,
S_DBALL5,
S_DBALL6,
S_EGGSTATUE2,
// Super Sonic Spark
S_SSPK1,
S_SSPK2,
S_SSPK3,
S_SSPK4,
S_SSPK5,
// Flicky-sized bubble
S_FLICKY_BUBBLE,
// Bluebird
S_FLICKY_01_OUT,
S_FLICKY_01_FLAP1,
S_FLICKY_01_FLAP2,
S_FLICKY_01_FLAP3,
S_FLICKY_01_STAND,
S_FLICKY_01_CENTER,
// Rabbit
S_FLICKY_02_OUT,
S_FLICKY_02_AIM,
S_FLICKY_02_HOP,
S_FLICKY_02_UP,
S_FLICKY_02_DOWN,
S_FLICKY_02_STAND,
S_FLICKY_02_CENTER,
// Chicken
S_FLICKY_03_OUT,
S_FLICKY_03_AIM,
S_FLICKY_03_HOP,
S_FLICKY_03_UP,
S_FLICKY_03_FLAP1,
S_FLICKY_03_FLAP2,
S_FLICKY_03_STAND,
S_FLICKY_03_CENTER,
// Seal
S_FLICKY_04_OUT,
S_FLICKY_04_AIM,
S_FLICKY_04_HOP,
S_FLICKY_04_UP,
S_FLICKY_04_DOWN,
S_FLICKY_04_SWIM1,
S_FLICKY_04_SWIM2,
S_FLICKY_04_SWIM3,
S_FLICKY_04_SWIM4,
S_FLICKY_04_STAND,
S_FLICKY_04_CENTER,
// Pig
S_FLICKY_05_OUT,
S_FLICKY_05_AIM,
S_FLICKY_05_HOP,
S_FLICKY_05_UP,
S_FLICKY_05_DOWN,
S_FLICKY_05_STAND,
S_FLICKY_05_CENTER,
// Chipmunk
S_FLICKY_06_OUT,
S_FLICKY_06_AIM,
S_FLICKY_06_HOP,
S_FLICKY_06_UP,
S_FLICKY_06_DOWN,
S_FLICKY_06_STAND,
S_FLICKY_06_CENTER,
// Penguin
S_FLICKY_07_OUT,
S_FLICKY_07_AIML,
S_FLICKY_07_HOPL,
S_FLICKY_07_UPL,
S_FLICKY_07_DOWNL,
S_FLICKY_07_AIMR,
S_FLICKY_07_HOPR,
S_FLICKY_07_UPR,
S_FLICKY_07_DOWNR,
S_FLICKY_07_SWIM1,
S_FLICKY_07_SWIM2,
S_FLICKY_07_SWIM3,
S_FLICKY_07_STAND,
S_FLICKY_07_CENTER,
// Fish
S_FLICKY_08_OUT,
S_FLICKY_08_AIM,
S_FLICKY_08_HOP,
S_FLICKY_08_FLAP1,
S_FLICKY_08_FLAP2,
S_FLICKY_08_FLAP3,
S_FLICKY_08_FLAP4,
S_FLICKY_08_SWIM1,
S_FLICKY_08_SWIM2,
S_FLICKY_08_SWIM3,
S_FLICKY_08_SWIM4,
S_FLICKY_08_STAND,
S_FLICKY_08_CENTER,
// Ram
S_FLICKY_09_OUT,
S_FLICKY_09_AIM,
S_FLICKY_09_HOP,
S_FLICKY_09_UP,
S_FLICKY_09_DOWN,
S_FLICKY_09_STAND,
S_FLICKY_09_CENTER,
// Puffin
S_FLICKY_10_OUT,
S_FLICKY_10_FLAP1,
S_FLICKY_10_FLAP2,
S_FLICKY_10_STAND,
S_FLICKY_10_CENTER,
// Cow
S_FLICKY_11_OUT,
S_FLICKY_11_AIM,
S_FLICKY_11_RUN1,
S_FLICKY_11_RUN2,
S_FLICKY_11_RUN3,
S_FLICKY_11_STAND,
S_FLICKY_11_CENTER,
// Rat
S_FLICKY_12_OUT,
S_FLICKY_12_AIM,
S_FLICKY_12_RUN1,
S_FLICKY_12_RUN2,
S_FLICKY_12_RUN3,
S_FLICKY_12_STAND,
S_FLICKY_12_CENTER,
// Bear
S_FLICKY_13_OUT,
S_FLICKY_13_AIM,
S_FLICKY_13_HOP,
S_FLICKY_13_UP,
S_FLICKY_13_DOWN,
S_FLICKY_13_STAND,
S_FLICKY_13_CENTER,
// Dove
S_FLICKY_14_OUT,
S_FLICKY_14_FLAP1,
S_FLICKY_14_FLAP2,
S_FLICKY_14_FLAP3,
S_FLICKY_14_STAND,
S_FLICKY_14_CENTER,
// Cat
S_FLICKY_15_OUT,
S_FLICKY_15_AIM,
S_FLICKY_15_HOP,
S_FLICKY_15_UP,
S_FLICKY_15_DOWN,
S_FLICKY_15_STAND,
S_FLICKY_15_CENTER,
// Canary
S_FLICKY_16_OUT,
S_FLICKY_16_FLAP1,
S_FLICKY_16_FLAP2,
S_FLICKY_16_FLAP3,
S_FLICKY_16_STAND,
S_FLICKY_16_CENTER,
// Spider
S_SECRETFLICKY_01_OUT,
S_SECRETFLICKY_01_AIM,
S_SECRETFLICKY_01_HOP,
S_SECRETFLICKY_01_UP,
S_SECRETFLICKY_01_DOWN,
S_SECRETFLICKY_01_STAND,
S_SECRETFLICKY_01_CENTER,
// Bat
S_SECRETFLICKY_02_OUT,
S_SECRETFLICKY_02_FLAP1,
S_SECRETFLICKY_02_FLAP2,
S_SECRETFLICKY_02_FLAP3,
S_SECRETFLICKY_02_STAND,
S_SECRETFLICKY_02_CENTER,
// Steam Riser
S_STEAM1,
S_STEAM2,
S_STEAM3,
S_STEAM4,
S_STEAM5,
S_STEAM6,
S_STEAM7,
S_STEAM8,
// Balloons
S_BALLOON,
S_BALLOONPOP1,
S_BALLOONPOP2,
S_BALLOONPOP3,
S_BALLOONPOP4,
S_BALLOONPOP5,
S_BALLOONPOP6,
// Yellow Spring
S_YELLOWSPRING1,
S_YELLOWSPRING2,
S_YELLOWSPRING3,
S_YELLOWSPRING4,
// Red Spring
S_REDSPRING1,
S_REDSPRING2,
S_REDSPRING3,
S_REDSPRING4,
// Blue Spring
S_BLUESPRING1,
S_BLUESPRING2,
S_BLUESPRING3,
S_BLUESPRING4,
// Grey Spring
S_GREYSPRING1,
S_GREYSPRING2,
S_GREYSPRING3,
S_GREYSPRING4,
// Orange Spring (Pogo)
S_POGOSPRING1,
S_POGOSPRING2,
S_POGOSPRING2B,
S_POGOSPRING3,
S_POGOSPRING4,
// Yellow Diagonal Spring
S_YDIAG1,
S_YDIAG2,
S_YDIAG3,
S_YDIAG4,
// Red Diagonal Spring
S_RDIAG1,
S_RDIAG2,
S_RDIAG3,
S_RDIAG4,
// Blue Diagonal Spring
S_BDIAG1,
S_BDIAG2,
S_BDIAG3,
S_BDIAG4,
// Grey Diagonal Spring
S_GDIAG1,
S_GDIAG2,
S_GDIAG3,
S_GDIAG4,
// Yellow Horizontal Spring
S_YHORIZ1,
S_YHORIZ2,
S_YHORIZ3,
S_YHORIZ4,
// Red Horizontal Spring
S_RHORIZ1,
S_RHORIZ2,
S_RHORIZ3,
S_RHORIZ4,
// Blue Horizontal Spring
S_BHORIZ1,
S_BHORIZ2,
S_BHORIZ3,
S_BHORIZ4,
// Grey Horizontal Spring
S_GHORIZ1,
S_GHORIZ2,
S_GHORIZ3,
S_GHORIZ4,
// Rain
S_RAIN1,
S_RAINRETURN,
// Snowflake
S_SNOW1,
S_SNOW2,
S_SNOW3,
// Blizzard Snowball
S_BLIZZARDSNOW1,
S_BLIZZARDSNOW2,
S_BLIZZARDSNOW3,
// Water Splish
S_SPLISH1,
S_SPLISH2,
S_SPLISH3,
S_SPLISH4,
S_SPLISH5,
S_SPLISH6,
S_SPLISH7,
S_SPLISH8,
S_SPLISH9,
// Lava Splish
S_LAVASPLISH,
// added water splash
S_SPLASH1,
S_SPLASH2,
S_SPLASH3,
// lava/slime damage burn smoke
S_SMOKE1,
S_SMOKE2,
S_SMOKE3,
S_SMOKE4,
S_SMOKE5,
// Bubbles
S_SMALLBUBBLE,
S_MEDIUMBUBBLE,
S_LARGEBUBBLE1,
S_LARGEBUBBLE2,
S_EXTRALARGEBUBBLE, // breathable
S_POP1, // Extra Large bubble goes POP!
S_WATERZAP,
// Spindash dust
S_SPINDUST1,
S_SPINDUST2,
S_SPINDUST3,
S_SPINDUST4,
S_SPINDUST_BUBBLE1,
S_SPINDUST_BUBBLE2,
S_SPINDUST_BUBBLE3,
S_SPINDUST_BUBBLE4,
S_SPINDUST_FIRE1,
S_SPINDUST_FIRE2,
S_SPINDUST_FIRE3,
S_SPINDUST_FIRE4,
S_SEED,
S_PARTICLE,
// Drowning Timer Numbers
S_ZERO1,
S_ONE1,
S_TWO1,
S_THREE1,
S_FOUR1,
S_FIVE1,
S_ZERO2,
S_ONE2,
S_TWO2,
S_THREE2,
S_FOUR2,
S_FIVE2,
S_CORK,
S_LHRT,
S_RINGEXPLODE,
S_HOOP,
S_HOOP_XMASA,
S_HOOP_XMASB,
S_EGGCAPSULE,
// Secret badniks and hazards, shhhh
S_SMASHSPIKE_FLOAT,
S_SMASHSPIKE_EASE1,
S_SMASHSPIKE_EASE2,
S_SMASHSPIKE_FALL,
S_SMASHSPIKE_STOMP1,
S_SMASHSPIKE_STOMP2,
S_SMASHSPIKE_RISE1,
S_SMASHSPIKE_RISE2,
S_CRUMBLE1,
S_CRUMBLE2,
// Spark
S_SPRK1,
S_SPRK2,
S_SPRK3,
// Robot Explosion
S_XPLD_FLICKY,
S_XPLD1,
S_XPLD2,
S_XPLD3,
S_XPLD4,
S_XPLD5,
S_XPLD6,
S_XPLD_EGGTRAP,
// Underwater Explosion
S_WPLD1,
S_WPLD2,
S_WPLD3,
S_WPLD4,
S_WPLD5,
S_WPLD6,
S_DUST1,
S_DUST2,
S_DUST3,
S_DUST4,
S_ROCKSPAWN,
S_ROCKCRUMBLEA,
S_ROCKCRUMBLEB,
S_ROCKCRUMBLEC,
S_ROCKCRUMBLED,
S_ROCKCRUMBLEE,
S_ROCKCRUMBLEF,
S_ROCKCRUMBLEG,
S_ROCKCRUMBLEH,
S_ROCKCRUMBLEI,
S_ROCKCRUMBLEJ,
S_ROCKCRUMBLEK,
S_ROCKCRUMBLEL,
S_ROCKCRUMBLEM,
S_ROCKCRUMBLEN,
S_ROCKCRUMBLEO,
S_ROCKCRUMBLEP,
// Level debris
S_GFZDEBRIS,
S_BRICKDEBRIS,
S_WOODDEBRIS,
//{ 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,
// Ring Box
S_RINGBOX1,
S_RINGBOX2,
S_RINGBOX3,
S_RINGBOX4,
S_RINGBOX5,
S_RINGBOX6,
S_RINGBOX7,
S_RINGBOX8,
S_RINGBOX9,
S_RINGBOX10,
S_RINGBOX11,
S_RINGBOX12,
// Sphere Box (for Battle)
S_SPHEREBOX1,
S_SPHEREBOX2,
S_SPHEREBOX3,
S_SPHEREBOX4,
S_SPHEREBOX5,
S_SPHEREBOX6,
S_SPHEREBOX7,
S_SPHEREBOX8,
S_SPHEREBOX9,
S_SPHEREBOX10,
S_SPHEREBOX11,
S_SPHEREBOX12,
S_ITEM_DEBRIS,
S_ITEM_DEBRIS_CLOUD_SPAWNER1,
S_ITEM_DEBRIS_CLOUD_SPAWNER2,
S_ITEMICON,
S_ITEMBACKDROP,
// Item capsules
S_ITEMCAPSULE,
S_ITEMCAPSULE_TOP_SIDE,
S_ITEMCAPSULE_BOTTOM_SIDE_AIR,
S_ITEMCAPSULE_BOTTOM_SIDE_GROUND,
//S_ITEMCAPSULE_TOP,
//S_ITEMCAPSULE_BOTTOM,
//S_ITEMCAPSULE_INSIDE,
S_MONITOR_DAMAGE,
S_MONITOR_DEATH,
S_MONITOR_SCREEN1A,
S_MONITOR_SCREEN1B,
S_MONITOR_SCREEN2A,
S_MONITOR_SCREEN2B,
S_MONITOR_SCREEN3A,
S_MONITOR_SCREEN3B,
S_MONITOR_SCREEN4A,
S_MONITOR_SCREEN4B,
S_MONITOR_STAND,
S_MONITOR_CRACKA,
S_MONITOR_CRACKB,
S_MONITOR_BIG_SHARD,
S_MONITOR_SMALL_SHARD,
S_MONITOR_TWINKLE,
S_MAGICIANBOX,
S_MAGICIANBOX_TOP,
S_MAGICIANBOX_BOTTOM,
S_WAVEDASH,
S_INSTAWHIP,
S_INSTAWHIP_RECHARGE1,
S_INSTAWHIP_RECHARGE2,
S_INSTAWHIP_RECHARGE3,
S_INSTAWHIP_RECHARGE4,
S_INSTAWHIP_REJECT,
S_BLOCKRING,
S_BLOCKBODY,
S_CHARGEAURA,
S_CHARGEFALL,
S_CHARGEFLICKER,
S_CHARGESPARK,
S_CHARGERELEASE,
S_CHARGEEXTRA,
S_SERVANTHAND,
S_HORNCODE,
// 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,
S_DRIFTSPARK_D1,
S_DRIFTSPARK_D2,
// Brake drift sparks
S_BRAKEDRIFT,
// Brake dust
S_BRAKEDUST1,
S_BRAKEDUST2,
// Drift Smoke
S_DRIFTDUST1,
S_DRIFTDUST2,
S_DRIFTDUST3,
S_DRIFTDUST4,
// Drift Sparkles
S_DRIFTWARNSPARK1,
S_DRIFTWARNSPARK2,
S_DRIFTWARNSPARK3,
S_DRIFTWARNSPARK4,
// Drift electricity
S_DRIFTELECTRICITY,
S_DRIFTELECTRICSPARK,
// 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,
// Drift boost effect
S_DRIFTEXPLODE1,
S_DRIFTEXPLODE2,
S_DRIFTEXPLODE3,
S_DRIFTEXPLODE4,
S_DRIFTEXPLODE5,
S_DRIFTEXPLODE6,
S_DRIFTEXPLODE7,
S_DRIFTEXPLODE8,
// Drift boost clip
S_DRIFTCLIPA1,
S_DRIFTCLIPA2,
S_DRIFTCLIPA3,
S_DRIFTCLIPA4,
S_DRIFTCLIPA5,
S_DRIFTCLIPA6,
S_DRIFTCLIPA7,
S_DRIFTCLIPA8,
S_DRIFTCLIPA9,
S_DRIFTCLIPA10,
S_DRIFTCLIPA11,
S_DRIFTCLIPA12,
S_DRIFTCLIPA13,
S_DRIFTCLIPA14,
S_DRIFTCLIPA15,
S_DRIFTCLIPA16,
S_DRIFTCLIPB1,
S_DRIFTCLIPB2,
S_DRIFTCLIPB3,
S_DRIFTCLIPB4,
S_DRIFTCLIPB5,
S_DRIFTCLIPB6,
S_DRIFTCLIPB7,
S_DRIFTCLIPB8,
// Drift boost clip sparks
S_DRIFTCLIPSPARK,
// 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_KARTINVULN1,
S_KARTINVULN2,
S_KARTINVULN3,
S_KARTINVULN4,
S_KARTINVULN5,
S_KARTINVULN6,
S_KARTINVULN7,
S_KARTINVULN8,
S_KARTINVULN9,
S_KARTINVULN10,
S_KARTINVULN11,
S_KARTINVULN12,
S_KARTINVULNB1,
S_KARTINVULNB2,
S_KARTINVULNB3,
S_KARTINVULNB4,
S_KARTINVULNB5,
S_KARTINVULNB6,
S_KARTINVULNB7,
S_KARTINVULNB8,
S_KARTINVULNB9,
S_KARTINVULNB10,
S_KARTINVULNB11,
S_KARTINVULNB12,
// Invincibility flash
S_INVULNFLASH1,
S_INVULNFLASH2,
S_INVULNFLASH3,
S_INVULNFLASH4,
S_KARTINVLINES1,
S_KARTINVLINES2,
S_KARTINVLINES3,
S_KARTINVLINES4,
S_KARTINVLINES5,
S_KARTINVLINES6,
S_KARTINVLINES7,
S_KARTINVLINES8,
S_KARTINVLINES9,
S_KARTINVLINES10,
S_KARTINVLINES11,
S_KARTINVLINES12,
S_KARTINVLINES13,
S_KARTINVLINES14,
S_KARTINVLINES15,
// Wipeout dust trail
S_WIPEOUTTRAIL1,
S_WIPEOUTTRAIL2,
S_WIPEOUTTRAIL3,
S_WIPEOUTTRAIL4,
S_WIPEOUTTRAIL5,
S_WIPEOUTTRAIL6,
S_WIPEOUTTRAIL7,
S_WIPEOUTTRAIL8,
S_WIPEOUTTRAIL9,
S_WIPEOUTTRAIL10,
S_WIPEOUTTRAIL11,
// 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_EGGMANITEM_DEAD,
//}
// Banana
S_BANANA,
S_BANANA_DEAD,
S_BANANA_SPARK,
S_BANANA_SPARK2,
S_BANANA_SPARK3,
S_BANANA_SPARK4,
//{ 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_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_SSMINE_EXPLODE2,
// 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,
// Land mine
S_LANDMINE,
S_LANDMINE_EXPLODE,
// Drop Target
S_DROPTARGET,
S_DROPTARGET_SPIN,
// 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,
// Juicebox for SPB
S_MANTA1,
S_MANTA2,
// Thunder Shield
S_LIGHTNINGSHIELD1,
S_LIGHTNINGSHIELD2,
S_LIGHTNINGSHIELD3,
S_LIGHTNINGSHIELD4,
S_LIGHTNINGSHIELD5,
S_LIGHTNINGSHIELD6,
S_LIGHTNINGSHIELD7,
S_LIGHTNINGSHIELD8,
S_LIGHTNINGSHIELD9,
S_LIGHTNINGSHIELD10,
S_LIGHTNINGSHIELD11,
S_LIGHTNINGSHIELD12,
S_LIGHTNINGSHIELD13,
S_LIGHTNINGSHIELD14,
S_LIGHTNINGSHIELD15,
S_LIGHTNINGSHIELD16,
S_LIGHTNINGSHIELD17,
S_LIGHTNINGSHIELD18,
S_LIGHTNINGSHIELD19,
S_LIGHTNINGSHIELD20,
S_LIGHTNINGSHIELD21,
S_LIGHTNINGSHIELD22,
S_LIGHTNINGSHIELD23,
S_LIGHTNINGSHIELD24,
// Bubble Shield
S_BUBBLESHIELD1,
S_BUBBLESHIELD2,
S_BUBBLESHIELD3,
S_BUBBLESHIELD4,
S_BUBBLESHIELD5,
S_BUBBLESHIELD6,
S_BUBBLESHIELD7,
S_BUBBLESHIELD8,
S_BUBBLESHIELD9,
S_BUBBLESHIELD10,
S_BUBBLESHIELD11,
S_BUBBLESHIELD12,
S_BUBBLESHIELD13,
S_BUBBLESHIELD14,
S_BUBBLESHIELD15,
S_BUBBLESHIELD16,
S_BUBBLESHIELD17,
S_BUBBLESHIELD18,
S_BUBBLESHIELDBLOWUP,
S_BUBBLESHIELDTRAP1,
S_BUBBLESHIELDTRAP2,
S_BUBBLESHIELDTRAP3,
S_BUBBLESHIELDTRAP4,
S_BUBBLESHIELDTRAP5,
S_BUBBLESHIELDTRAP6,
S_BUBBLESHIELDTRAP7,
S_BUBBLESHIELDTRAP8,
S_BUBBLESHIELDWAVE1,
S_BUBBLESHIELDWAVE2,
S_BUBBLESHIELDWAVE3,
S_BUBBLESHIELDWAVE4,
S_BUBBLESHIELDWAVE5,
S_BUBBLESHIELDWAVE6,
// Flame Shield
S_FLAMESHIELD1,
S_FLAMESHIELD2,
S_FLAMESHIELD3,
S_FLAMESHIELD4,
S_FLAMESHIELD5,
S_FLAMESHIELD6,
S_FLAMESHIELD7,
S_FLAMESHIELD8,
S_FLAMESHIELD9,
S_FLAMESHIELD10,
S_FLAMESHIELD11,
S_FLAMESHIELD12,
S_FLAMESHIELD13,
S_FLAMESHIELD14,
S_FLAMESHIELD15,
S_FLAMESHIELD16,
S_FLAMESHIELD17,
S_FLAMESHIELD18,
S_FLAMESHIELDDASH1,
S_FLAMESHIELDDASH2,
S_FLAMESHIELDDASH3,
S_FLAMESHIELDDASH4,
S_FLAMESHIELDDASH5,
S_FLAMESHIELDDASH6,
S_FLAMESHIELDDASH7,
S_FLAMESHIELDDASH8,
S_FLAMESHIELDDASH9,
S_FLAMESHIELDDASH10,
S_FLAMESHIELDDASH11,
S_FLAMESHIELDDASH12,
S_FLAMESHIELDDASH2_UNDERLAY,
S_FLAMESHIELDDASH5_UNDERLAY,
S_FLAMESHIELDDASH8_UNDERLAY,
S_FLAMESHIELDDASH11_UNDERLAY,
S_FLAMESHIELDPAPER,
S_FLAMESHIELDLINE1,
S_FLAMESHIELDLINE2,
S_FLAMESHIELDLINE3,
S_FLAMESHIELDFLASH,
// Marble Garden Zone Spinning Top
S_GARDENTOP_FLOATING,
S_GARDENTOP_SINKING1,
S_GARDENTOP_SINKING2,
S_GARDENTOP_SINKING3,
S_GARDENTOP_DEAD,
S_GARDENTOPSPARK,
S_GARDENTOPARROW,
// Caked-Up Booty-Sheet Ghost
S_HYUDORO,
S_HYUDORO_RETURNING,
// Grow
S_GROW_PARTICLE,
// Shrink
S_SHRINK_POHBEE,
S_SHRINK_POHBEE2,
S_SHRINK_POHBEE3,
S_SHRINK_POHBEE4,
S_SHRINK_POHBEE5,
S_SHRINK_POHBEE6,
S_SHRINK_POHBEE7,
S_SHRINK_POHBEE8,
S_SHRINK_CHAIN,
S_SHRINK_GUN,
S_SHRINK_GUN_OVERLAY,
S_SHRINK_LASER,
S_SHRINK_PARTICLE,
// The legend
S_SINK,
S_SINK_SHIELD,
S_SINKTRAIL1,
S_SINKTRAIL2,
S_SINKTRAIL3,
// Battle Mode bumpers
S_BATTLEBUMPER1,
S_BATTLEBUMPER2,
S_BATTLEBUMPER3,
S_BATTLEBUMPER_EXCRYSTALA1,
S_BATTLEBUMPER_EXCRYSTALA2,
S_BATTLEBUMPER_EXCRYSTALA3,
S_BATTLEBUMPER_EXCRYSTALA4,
S_BATTLEBUMPER_EXCRYSTALB1,
S_BATTLEBUMPER_EXCRYSTALB2,
S_BATTLEBUMPER_EXCRYSTALB3,
S_BATTLEBUMPER_EXCRYSTALB4,
S_BATTLEBUMPER_EXCRYSTALC1,
S_BATTLEBUMPER_EXCRYSTALC2,
S_BATTLEBUMPER_EXCRYSTALC3,
S_BATTLEBUMPER_EXCRYSTALC4,
S_BATTLEBUMPER_EXSHELLA1,
S_BATTLEBUMPER_EXSHELLA2,
S_BATTLEBUMPER_EXSHELLB1,
S_BATTLEBUMPER_EXSHELLB2,
S_BATTLEBUMPER_EXSHELLC1,
S_BATTLEBUMPER_EXSHELLC2,
S_BATTLEBUMPER_EXDEBRIS1,
S_BATTLEBUMPER_EXDEBRIS2,
S_BATTLEBUMPER_EXBLAST1,
S_BATTLEBUMPER_EXBLAST2,
S_BATTLEBUMPER_EXBLAST3,
S_BATTLEBUMPER_EXBLAST4,
S_BATTLEBUMPER_EXBLAST5,
S_BATTLEBUMPER_EXBLAST6,
S_BATTLEBUMPER_EXBLAST7,
S_BATTLEBUMPER_EXBLAST8,
S_BATTLEBUMPER_EXBLAST9,
S_BATTLEBUMPER_EXBLAST10,
// Tripwire
S_TRIPWIREBOOST_TOP,
S_TRIPWIREBOOST_BOTTOM,
S_TRIPWIREBOOST_BLAST_TOP,
S_TRIPWIREBOOST_BLAST_BOTTOM,
S_SMOOTHLANDING,
S_TRICKINDICATOR_OVERLAY,
S_TRICKINDICATOR_UNDERLAY,
S_TRICKINDICATOR_OVERLAY_ARROW,
S_TRICKINDICATOR_UNDERLAY_ARROW,
S_TRICKINDICATOR_UNDERLAY_ARROW2,
S_SIDETRICK,
S_BACKTRICK,
S_FORWARDTRICK,
// DEZ Ring Shooter
S_TIREGRABBER,
S_RINGSHOOTER_SIDE,
S_RINGSHOOTER_NIPPLES,
S_RINGSHOOTER_SCREEN,
S_RINGSHOOTER_NUMBERBACK,
S_RINGSHOOTER_NUMBERFRONT,
S_RINGSHOOTER_FACE,
// DEZ Laser respawn
S_DEZLASER,
S_DEZLASER_TRAIL1,
S_DEZLASER_TRAIL2,
S_DEZLASER_TRAIL3,
S_DEZLASER_TRAIL4,
S_DEZLASER_TRAIL5,
// 1.0 Kart Decoratives
S_FLAYM1,
S_FLAYM2,
S_FLAYM3,
S_FLAYM4,
S_PALMTREE2,
S_PURPLEFLOWER1,
S_PURPLEFLOWER2,
S_YELLOWFLOWER1,
S_YELLOWFLOWER2,
S_PLANT2,
S_PLANT3,
S_PLANT4,
// 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,
// Ark Arrows
S_ARKARROW_0,
S_ARKARROW_1,
S_ARKARROW_2,
S_ARKARROW_3,
S_ARKARROW_4,
S_ARKARROW_5,
S_ARKARROW_6,
S_ARKARROW_7,
S_ARKARROW_8,
S_ARKARROW_9,
S_ARKARROW_10,
S_ARKARROW_11,
S_ARKARROW_12,
S_ARKARROW_13,
S_ARKARROW_14,
S_ARKARROW_15,
S_ARKARROW_16,
S_ARKARROW_17,
S_ARKARROW_18,
S_ARKARROW_19,
S_ARKARROW_20,
S_ARKARROW_21,
S_ARKARROW_22,
S_ARKARROW_23,
S_ARKARROW_24,
S_ARKARROW_25,
S_ARKARROW_26,
S_ARKARROW_27,
S_ARKARROW_28,
S_ARKARROW_29,
S_ARKARROW_30,
S_ARKARROW_31,
S_ARKARROW_32,
S_ARKARROW_33,
S_ARKARROW_34,
S_ARKARROW_35,
S_ARKARROW_36,
S_ARKARROW_37,
S_ARKARROW_38,
S_ARKARROW_39,
S_ARKARROW_40,
S_ARKARROW_41,
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_POWERCLASH, // Grow/Invinc clash VFX
S_GUARDBREAK,
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_PLAYERITEM1,
S_PLAYERITEM2,
S_PLAYERITEM3,
S_PLAYERITEM4,
S_PLAYERITEM5,
S_PLAYERITEM6,
S_PLAYERITEM7,
S_PLAYERITEM8,
S_PLAYERITEM9,
S_PLAYERITEM10,
S_PLAYERITEM11,
S_PLAYERITEM12,
S_PLAYERFAKE1,
S_PLAYERFAKE2,
S_PLAYERFAKE3,
S_PLAYERFAKE4,
S_PLAYERFAKE5,
S_PLAYERFAKE6,
S_PLAYERFAKE7,
S_PLAYERFAKE8,
S_PLAYERFAKE9,
S_PLAYERFAKE10,
S_PLAYERFAKE11,
S_PLAYERFAKE12,
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,
// Dash Rings
S_DASHRING_HORIZONTAL,
S_DASHRING_30DEGREES,
S_DASHRING_60DEGREES,
S_DASHRING_VERTICAL,
S_DASHRING_HORIZONTAL_FLASH1,
S_DASHRING_HORIZONTAL_FLASH2,
S_DASHRING_30DEGREES_FLASH1,
S_DASHRING_30DEGREES_FLASH2,
S_DASHRING_60DEGREES_FLASH1,
S_DASHRING_60DEGREES_FLASH2,
S_DASHRING_VERTICAL_FLASH1,
S_DASHRING_VERTICAL_FLASH2,
// Adventure Air Booster
S_ADVENTUREAIRBOOSTER,
S_ADVENTUREAIRBOOSTER_EXHAUST1,
S_ADVENTUREAIRBOOSTER_EXHAUST2,
S_ADVENTUREAIRBOOSTER_FRAME,
S_ADVENTUREAIRBOOSTER_ARROW,
// Sneaker Panels
S_SNEAKERPANEL,
S_SNEAKERPANEL_SMALL,
S_SNEAKERPANEL_TINY,
// Marble Zone
S_MARBLEFLAMEPARTICLE,
S_MARBLETORCH,
S_MARBLELIGHT,
S_MARBLEBURNER,
// CD Special Stage
S_CDUFO,
S_CDUFO_DIE,
// Rusty Rig
S_RUSTYLAMP_ORANGE,
S_RUSTYCHAIN,
// Ports of gardens
S_PGTREE,
// Daytona Speedway
S_DAYTONAPINETREE,
S_DAYTONAPINETREE_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,
// Chaos Chute
S_SPECIALSTAGEARCH,
S_SPECIALSTAGEBOMB,
S_SPECIALSTAGEBOMB_DISARM,
S_SPECIALSTAGEBOMB_EXPLODE,
S_SPECIALSTAGEBOMB_DISAPPEAR,
S_SPECIALSTAGEBOMB_FLICKER1,
S_SPECIALSTAGEBOMB_FLICKER2,
S_SPECIALSTAGEBOMB_FLICKERLOOP,
S_SPECIALSTAGEBOMB_RESET,
// Hanagumi Hall
S_HANAGUMIHALL_STEAM,
S_ALFONSO,
S_SAKURA,
S_SUMIRE,
S_MARIA,
S_IRIS,
S_KOHRAN,
S_KANNA,
S_OGAMI,
// Dimension Disaster
S_DVDTRUMPET,
S_DVDSHINE1,
S_DVDSHINE2,
S_DVDSHINE3,
S_DVDSHINE4,
S_DVDSHINE5,
S_DVDSPARK1,
S_DVDSPARK2,
S_DVDSPARK3,
S_SUNBEAMPALM_STEM,
S_SUNBEAMPALM_LEAF,
S_KARMAFIREWORK1,
S_KARMAFIREWORK2,
S_KARMAFIREWORK3,
S_KARMAFIREWORK4,
S_KARMAFIREWORKTRAIL,
S_OPAQUESMOKE1,
S_OPAQUESMOKE2,
S_OPAQUESMOKE3,
S_OPAQUESMOKE4,
S_OPAQUESMOKE5,
// followers:
// bubble:
S_FOLLOWERBUBBLE_FRONT,
S_FOLLOWERBUBBLE_BACK,
// generic chao:
S_GCHAOIDLE,
S_GCHAOFLY,
S_GCHAOSAD1,
S_GCHAOSAD2,
S_GCHAOSAD3,
S_GCHAOSAD4,
S_GCHAOHAPPY1,
S_GCHAOHAPPY2,
S_GCHAOHAPPY3,
S_GCHAOHAPPY4,
// cheese:
S_CHEESEIDLE,
S_CHEESEFLY,
S_CHEESESAD1,
S_CHEESESAD2,
S_CHEESESAD3,
S_CHEESESAD4,
S_CHEESEHAPPY1,
S_CHEESEHAPPY2,
S_CHEESEHAPPY3,
S_CHEESEHAPPY4,
S_RINGDEBT,
S_RINGSPARKS1,
S_RINGSPARKS2,
S_RINGSPARKS3,
S_RINGSPARKS4,
S_RINGSPARKS5,
S_RINGSPARKS6,
S_RINGSPARKS7,
S_RINGSPARKS8,
S_RINGSPARKS9,
S_RINGSPARKS10,
S_RINGSPARKS11,
S_RINGSPARKS12,
S_RINGSPARKS13,
S_RINGSPARKS14,
S_RINGSPARKS15,
S_GAINAX_TINY,
S_GAINAX_HUGE,
S_GAINAX_MID1,
S_GAINAX_MID2,
S_DRAFTDUST1,
S_DRAFTDUST2,
S_DRAFTDUST3,
S_DRAFTDUST4,
S_DRAFTDUST5,
S_TIREGREASE,
S_OVERTIME_BULB1,
S_OVERTIME_BULB2,
S_OVERTIME_LASER,
S_OVERTIME_CENTER,
S_BATTLECAPSULE_SIDE1,
S_BATTLECAPSULE_SIDE2,
S_BATTLECAPSULE_TOP,
S_BATTLECAPSULE_BUTTON,
S_BATTLECAPSULE_SUPPORT,
S_BATTLECAPSULE_SUPPORTFLY,
S_WAYPOINTORB,
S_WAYPOINTSPLAT,
S_EGOORB,
S_WATERTRAIL1,
S_WATERTRAIL2,
S_WATERTRAIL3,
S_WATERTRAIL4,
S_WATERTRAIL5,
S_WATERTRAIL6,
S_WATERTRAIL7,
S_WATERTRAIL8,
S_WATERTRAILUNDERLAY1,
S_WATERTRAILUNDERLAY2,
S_WATERTRAILUNDERLAY3,
S_WATERTRAILUNDERLAY4,
S_WATERTRAILUNDERLAY5,
S_WATERTRAILUNDERLAY6,
S_WATERTRAILUNDERLAY7,
S_WATERTRAILUNDERLAY8,
S_SPINDASHDUST,
S_SPINDASHWIND,
S_SOFTLANDING1,
S_SOFTLANDING2,
S_SOFTLANDING3,
S_SOFTLANDING4,
S_SOFTLANDING5,
S_DOWNLINE1,
S_DOWNLINE2,
S_DOWNLINE3,
S_DOWNLINE4,
S_DOWNLINE5,
S_HOLDBUBBLE,
S_FINISHBEAM1,
S_FINISHBEAM2,
S_FINISHBEAM3,
S_FINISHBEAM4,
S_FINISHBEAM5,
S_FINISHBEAMEND1,
S_FINISHBEAMEND2,
S_DEBTSPIKE1,
S_DEBTSPIKE2,
S_DEBTSPIKE3,
S_DEBTSPIKE4,
S_DEBTSPIKE5,
S_DEBTSPIKE6,
S_DEBTSPIKE7,
S_DEBTSPIKE8,
S_DEBTSPIKE9,
S_DEBTSPIKEA,
S_DEBTSPIKEB,
S_DEBTSPIKEC,
S_DEBTSPIKED,
S_DEBTSPIKEE,
S_JANKSPARK1,
S_JANKSPARK2,
S_JANKSPARK3,
S_JANKSPARK4,
S_HITLAG_1,
S_HITLAG_2,
S_HITLAG_3,
S_HITLAG_4,
S_HITLAG_5,
S_HITLAG_6,
S_HITLAG_8,
S_HITLAG_9,
S_HITLAG_10,
// Broly Ki Orb
S_BROLY1,
S_BROLY2,
S_SPECIAL_UFO_POD,
S_SPECIAL_UFO_OVERLAY,
S_SPECIAL_UFO_GLASS,
S_SPECIAL_UFO_GLASS_UNDER,
S_SPECIAL_UFO_ARM,
S_SPECIAL_UFO_STEM,
S_GACHABOM,
S_GACHABOM_DEAD,
S_GACHABOM_EXPLOSION_1,
S_GACHABOM_EXPLOSION_2,
S_GACHABOM_EXPLOSION_3A,
S_GACHABOM_EXPLOSION_3B,
S_GACHABOM_EXPLOSION_4,
S_GACHABOM_WAITING,
S_GACHABOM_RETURNING,
S_SUPER_FLICKY,
S_BATTLEUFO,
S_BATTLEUFO_LEG,
S_BATTLEUFO_DIE,
S_BATTLEUFO_BEAM1,
S_BATTLEUFO_BEAM2,
S_POWERUP_AURA,
S_CHECKPOINT,
S_CHECKPOINT_ARM,
S_CHECKPOINT_ORB_DEAD,
S_CHECKPOINT_ORB_LIVE,
S_CHECKPOINT_SPARK1,
S_CHECKPOINT_SPARK2,
S_CHECKPOINT_SPARK3,
S_CHECKPOINT_SPARK4,
S_CHECKPOINT_SPARK5,
S_CHECKPOINT_SPARK6,
S_CHECKPOINT_SPARK7,
S_CHECKPOINT_SPARK8,
S_CHECKPOINT_SPARK9,
S_CHECKPOINT_SPARK10,
S_CHECKPOINT_SPARK11,
// rideroid
S_RIDEROID,
S_RIDEROID_ICON,
// leaf storm
S_EGGBALL,
// dead line zone
S_DLZHOVER,
S_DLZROCKET_L,
S_DLZROCKET_R,
// water palace zone
S_WPZFOUNTAIN,
S_WPZFOUNTAINANIM,
S_KURAGEN,
S_KURAGENBOMB,
S_BALLSWITCH_BALL,
S_BALLSWITCH_BALL_ACTIVE,
S_BALLSWITCH_PAD,
S_BALLSWITCH_PAD_ACTIVE,
S_SPIKEDTARGET,
S_SPIKEDLENS,
S_BLENDEYE_MAIN,
S_BLENDEYE_MAIN_LAUNCHED,
S_BLENDEYE_EYE,
S_BLENDEYE_EYE_FLASH,
S_BLENDEYE_GLASS,
S_BLENDEYE_GLASS_STRESS,
S_BLENDEYE_SHIELD,
S_BLENDEYE_SHIELD_L,
S_BLENDEYE_SHIELD_R,
S_BLENDEYE_SHIELD_BUSTED,
S_BLENDEYE_SHIELD_BUSTED_L,
S_BLENDEYE_SHIELD_BUSTED_R,
S_BLENDEYE_EGGBEATER_EXTEND_1,
S_BLENDEYE_EGGBEATER_EXTEND_2,
S_BLENDEYE_EGGBEATER,
S_BLENDEYE_EGGBEATER_SPIN,
S_BLENDEYE_FLAME,
S_BLENDEYE_GENERATOR,
S_BLENDEYE_GENERATOR_BUSTED_L,
S_BLENDEYE_GENERATOR_BUSTED_R,
S_BLENDEYE_PUYO_SPAWN_1,
S_BLENDEYE_PUYO_SPAWN_2,
S_BLENDEYE_PUYO_SPAWN_3,
S_BLENDEYE_PUYO,
S_BLENDEYE_PUYO_LAND_1,
S_BLENDEYE_PUYO_LAND_2,
S_BLENDEYE_PUYO_LAND_3,
S_BLENDEYE_PUYO_LAND_4,
S_BLENDEYE_PUYO_SHOCK,
S_BLENDEYE_PUYO_DIE,
S_BLENDEYE_PUYO_DUST,
// Aerial Highlands
S_AHZCLOUD,
// Avant Garden
S_AGZBULB_BASE,
S_AGZBULB_NEUTRAL,
S_AGZBULB_ANIM1,
S_AGZBULB_ANIM2,
S_AGZBULB_ANIM3,
S_AGTR,
S_AGFL,
S_AGFF,
S_AGZCLOUD,
// Sky Sanctuary
S_SSZCLOUD,
S_MEGABARRIER1,
S_MEGABARRIER2,
S_MEGABARRIER3,
S_GPZ_TREETHING_B,
S_GPZ_TREETHING_M,
S_GPZ_TREETHING_S,
// MT_GGZFREEZETHRUSTER
S_GGZFREEZETHRUSTER,
// MT_GGZICEDUST
S_GGZICEDUST1,
S_GGZICEDUST2,
S_GGZICEDUST3,
S_GGZICEDUST4,
S_GGZICEDUST5,
S_GGZICEDUST6,
S_GGZICEDUST7,
S_GGZICEDUST8,
S_GGZICEDUST9,
S_GGZICEDUST10,
S_GGZICEDUST11,
S_GGZPARTICLE11,
S_GGZPARTICLE12,
S_GGZPARTICLE13,
S_GGZPARTICLE14,
S_GGZPARTICLE15,
S_GGZPARTICLE16,
S_GGZPARTICLE17,
S_GGZPARTICLE18,
S_GGZPARTICLE21,
S_GGZPARTICLE22,
S_GGZPARTICLE23,
S_GGZPARTICLE24,
S_GGZICECUBE,
// MT_THRUSTERPART
S_THRUSTERPART,
// MT_IVOBALL
S_IVOBALL,
S_SA2_CRATE_DEBRIS,
S_SA2_CRATE_DEBRIS_E,
S_SA2_CRATE_DEBRIS_F,
S_SA2_CRATE_DEBRIS_G,
S_SA2_CRATE_DEBRIS_H,
S_SA2_CRATE_DEBRIS_METAL,
S_ICECAPBLOCK_DEBRIS,
S_ICECAPBLOCK_DEBRIS_C,
S_ICECAPBLOCK_DEBRIS_D,
S_ICECAPBLOCK_DEBRIS_E,
S_ICECAPBLOCK_DEBRIS_F,
// MT_SPEAR
S_SPEAR_ROD,
S_SPEAR_TIP,
S_SPEAR_HILT_FRONT,
S_SPEAR_HILT_BACK,
S_SPEAR_WALL,
// MT_BSZLAMP_S
S_BLMS,
S_BLMM,
S_BLML,
// MT_BSZSLAMP
S_BSWL,
S_BSWC,
S_BETA_PARTICLE_WHEEL,
S_BETA_PARTICLE_ICON,
S_BETA_PARTICLE_EXPLOSION,
// MT_AIZ_REDFERN
S_AIZFL1,
S_AIZFR1,
S_AIZFR2,
S_AIZTRE,
S_AIZFR3,
S_AIZDB1,
S_AIZDB2,
S_AIZDB3,
S_AIZDB4,
S_AIZDB5,
S_AIZDB6,
S_AIZDB7,
S_AIZDB8,
// MT_AZROCKS
S_AZROCKS,
S_AZROCKS_RESPAWN,
S_AZROCKS_PARTICLE1,
// MT_EMROCKS
S_EMROCKS,
S_EMROCKS_RESPAWN,
S_EMROCKS_PARTICLE1,
S_EMROCKS_PARTICLE2,
// MT_EMFAUCET
S_EMFAUCET,
// MT_EMFAUCET_DRIP
S_EMROCKS_DRIP,
// MT_EMFAUCET_PARTICLE
S_EMFAUCET_PARTICLE,
// MT_TRICKBALLOON_RED
S_TRICKBALLOON_RED1,
S_TRICKBALLOON_RED2,
S_TRICKBALLOON_RED_POP1,
S_TRICKBALLOON_RED_POP2,
S_TRICKBALLOON_RED_POP3,
S_TRICKBALLOON_RED_GONE,
S_TRICKBALLOON_RED_INFLATE1,
S_TRICKBALLOON_RED_INFLATE2,
S_TRICKBALLOON_RED_INFLATE3,
S_TRICKBALLOON_RED_INFLATE4,
S_TRICKBALLOON_RED_INFLATE5,
// MT_TRICKBALLOON_RED_POINT
S_TRICKBALLOON_RED_POINT1,
// MT_TRICKBALLOON_YELLOW
S_TRICKBALLOON_YELLOW1,
S_TRICKBALLOON_YELLOW2,
S_TRICKBALLOON_YELLOW_POP1,
S_TRICKBALLOON_YELLOW_POP2,
S_TRICKBALLOON_YELLOW_POP3,
S_TRICKBALLOON_YELLOW_GONE,
S_TRICKBALLOON_YELLOW_INFLATE1,
S_TRICKBALLOON_YELLOW_INFLATE2,
S_TRICKBALLOON_YELLOW_INFLATE3,
S_TRICKBALLOON_YELLOW_INFLATE4,
S_TRICKBALLOON_YELLOW_INFLATE5,
// MT_TRICKBALLOON_YELLOW_POINT
S_TRICKBALLOON_YELLOW_POINT1,
// MT_WATERFALLPARTICLESPAWNER
S_WATERFALLPARTICLE,
// Sealed Stars
// MT_SSCANDLE
S_SSCANDLE_INIT,
S_SSCANDLE,
// MT_SSCANDLE_SIDE
S_SSCANDLE_SIDE,
// MT_SSCANDLE_FLAME
S_SSCANDLE_FLAME,
// MT_SS_HOLOGRAM
S_HOLOGRAM_BIRD,
S_HOLOGRAM_CRAB,
S_HOLOGRAM_FISH,
S_HOLOGRAM_SQUID,
// MT_SS_COIN
S_SS_COIN,
// MT_SS_GOBLET
S_SS_GOBLET,
// MT_SS_LAMP
S_SS_LAMP,
// MT_SS_LAMP_BULB
S_SS_LAMP_BULB,
S_SS_LAMP_AURA,
// MT_SSWINDOW
S_SSWINDOW_INIT,
S_SSWINDOW,
// MT_SSWINDOW_SHINE
S_SSWINDOW_SHINE,
// MT_SSCHAINSOUND
S_SSCHAINSOUND,
// MT_SLSTMACE
S_SLSTMACE,
// MT_SEALEDSTAR_BUMPER
S_SEALEDSTAR_BUMPER,
S_SEALEDSTAR_BUMPERHIT,
// MT_SSCHAIN_SPAWNER
S_SSCHAIN_SPAWNER_SHATTER,
// MT_SSCHAIN
S_SSCHAIN1,
// MT_GACHATARGET
S_GACHATARGET,
S_GACHATARGETSPIN,
S_GACHATARGETOK,
// MT_CABOTRON
S_CABOTRON,
// MT_CABOTRONSTAR
S_CABOTRONSTAR,
// MT_STARSTREAM
S_STARSTREAM,
// MT_SCRIPT_THING
S_TALKPOINT,
S_TALKPOINT_ORB,
S_BADNIK_EXPLOSION_SHOCKWAVE1,
S_BADNIK_EXPLOSION_SHOCKWAVE2,
S_BADNIK_EXPLOSION1,
S_BADNIK_EXPLOSION2,
S_FIRSTFREESLOT,
S_LASTFREESLOT = S_FIRSTFREESLOT + NUMSTATEFREESLOTS - 1,
NUMSTATES
} statenum_t;
struct state_t
{
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;
};
extern state_t states[NUMSTATES];
extern char sprnames[NUMSPRITES + 1][5];
extern char spr2names[NUMPLAYERSPRITES][5];
extern playersprite_t spr2defaults[NUMPLAYERSPRITES];
extern state_t *astate;
extern playersprite_t free_spr2;
typedef enum mobj_type
{
MT_NULL,
MT_RAY, // General purpose mobj
MT_UNKNOWN,
MT_THOK, // Thok! mobj
MT_SHADOW, // Linkdraw Shadow (for invisible objects)
MT_PLAYER,
MT_KART_LEFTOVER,
MT_KART_TIRE,
MT_KART_PARTICLE,
// Generic Boss Items
MT_BOSSEXPLODE,
MT_SONIC3KBOSSEXPLODE,
MT_BOSSFLYPOINT,
MT_EGGTRAP,
MT_BOSS3WAYPOINT,
// Collectible Items
MT_RING,
MT_FLINGRING, // Lost ring
MT_DEBTSPIKE, // Ring debt funny spike
MT_BLUESPHERE, // Blue sphere for special stages
MT_FLINGBLUESPHERE, // Lost blue sphere
MT_EMBLEM,
MT_SPRAYCAN,
MT_ANCIENTSHRINE,
MT_EMERALD,
MT_EMERALDSPARK,
MT_EMERALDFLARE,
MT_PRISONEGGDROP,
// Springs and others
MT_STEAM,
MT_BALLOON,
MT_YELLOWSPRING,
MT_REDSPRING,
MT_BLUESPRING,
MT_GREYSPRING,
MT_POGOSPRING,
MT_YELLOWDIAG, // Yellow Diagonal Spring
MT_REDDIAG, // Red Diagonal Spring
MT_BLUEDIAG, // Blue Diagonal Spring
MT_GREYDIAG, // Grey Diagonal Spring
MT_YELLOWHORIZ, // Yellow Horizontal Spring
MT_REDHORIZ, // Red Horizontal Spring
MT_BLUEHORIZ, // Blue Horizontal Spring
MT_GREYHORIZ, // Grey Horizontal Spring
// Interactive Objects
MT_BUBBLES, // Bubble source
MT_SIGN, // Level end sign
MT_SIGN_PIECE,
MT_SPIKEBALL, // Spike Ball
MT_SPINFIRE,
MT_SPIKE,
MT_WALLSPIKE,
MT_WALLSPIKEBASE,
MT_CHEATCHECK,
MT_BLASTEXECUTOR,
MT_CANNONLAUNCHER,
MT_CANNONBALL, // Cannonball
MT_CANNONBALLDECOR, // Decorative/still cannonball
// Greenflower Scenery
MT_GFZFLOWER1,
MT_GFZFLOWER2,
MT_GFZFLOWER3,
MT_BLUEBERRYBUSH,
MT_BERRYBUSH,
MT_BUSH,
// Trees (both GFZ and misc)
MT_GFZTREE,
MT_GFZBERRYTREE,
MT_GFZCHERRYTREE,
MT_CHECKERTREE,
MT_CHECKERSUNSETTREE,
MT_FHZTREE, // Frozen Hillside
MT_FHZPINKTREE,
MT_POLYGONTREE,
MT_BUSHTREE,
MT_BUSHREDTREE,
MT_SPRINGTREE,
// Techno Hill Scenery
MT_THZFLOWER1,
MT_THZFLOWER2,
MT_THZFLOWER3,
MT_THZTREE, // Steam whistle tree/bush
MT_THZTREEBRANCH, // branch of said tree
MT_ALARM,
// Deep Sea Scenery
MT_GARGOYLE, // Deep Sea Gargoyle
MT_BIGGARGOYLE, // Deep Sea Gargoyle (Big)
MT_SEAWEED, // DSZ Seaweed
MT_WATERDRIP, // Dripping Water source
MT_WATERDROP, // Water drop from dripping water
MT_CORAL1, // Coral
MT_CORAL2,
MT_CORAL3,
MT_CORAL4,
MT_CORAL5,
MT_BLUECRYSTAL, // Blue Crystal
MT_KELP, // Kelp
MT_ANIMALGAETOP, // Animated algae top
MT_ANIMALGAESEG, // Animated algae segment
MT_DSZSTALAGMITE, // Deep Sea 1 Stalagmite
MT_DSZ2STALAGMITE, // Deep Sea 2 Stalagmite
MT_LIGHTBEAM, // DSZ Light beam
// Castle Eggman Scenery
MT_CHAIN, // CEZ Chain
MT_FLAME, // Flame (has corona)
MT_FLAMEPARTICLE,
MT_EGGSTATUE, // Eggman Statue
MT_MACEPOINT, // Mace rotation point
MT_CHAINMACEPOINT, // Combination of chains and maces point
MT_CHAINPOINT, // Mace chain
MT_HIDDEN_SLING, // Spin mace chain (activatable)
MT_FIREBARPOINT, // Firebar
MT_CUSTOMMACEPOINT, // Custom mace
MT_SMALLMACECHAIN, // Small Mace Chain
MT_BIGMACECHAIN, // Big Mace Chain
MT_SMALLMACE, // Small Mace
MT_BIGMACE, // Big Mace
MT_SMALLGRABCHAIN, // Small Grab Chain
MT_BIGGRABCHAIN, // Big Grab Chain
MT_SMALLFIREBAR, // Small Firebar
MT_BIGFIREBAR, // Big Firebar
MT_CEZFLOWER, // Flower
MT_CEZPOLE1, // Pole (with red banner)
MT_CEZPOLE2, // Pole (with blue banner)
MT_CEZBANNER1, // Banner (red)
MT_CEZBANNER2, // Banner (blue)
MT_PINETREE, // Pine Tree
MT_CEZBUSH1, // Bush 1
MT_CEZBUSH2, // Bush 2
MT_CANDLE, // Candle
MT_CANDLEPRICKET, // Candle pricket
MT_FLAMEHOLDER, // Flame holder
MT_FIRETORCH, // Fire torch
MT_WAVINGFLAG1, // Waving flag (red)
MT_WAVINGFLAG2, // Waving flag (blue)
MT_WAVINGFLAGSEG1, // Waving flag segment (red)
MT_WAVINGFLAGSEG2, // Waving flag segment (blue)
MT_CRAWLASTATUE, // Crawla statue
MT_BRAMBLES, // Brambles
// Arid Canyon Scenery
MT_BIGTUMBLEWEED,
MT_LITTLETUMBLEWEED,
MT_CACTI1, // Tiny Red Flower Cactus
MT_CACTI2, // Small Red Flower Cactus
MT_CACTI3, // Tiny Blue Flower Cactus
MT_CACTI4, // Small Blue Flower Cactus
MT_CACTI5, // Prickly Pear
MT_CACTI6, // Barrel Cactus
MT_CACTI7, // Tall Barrel Cactus
MT_CACTI8, // Armed Cactus
MT_CACTI9, // Ball Cactus
MT_CACTI10, // Tiny Cactus
MT_CACTI11, // Small Cactus
MT_CACTITINYSEG, // Tiny Cactus Segment
MT_CACTISMALLSEG, // Small Cactus Segment
MT_ARIDSIGN_CAUTION, // Caution Sign
MT_ARIDSIGN_CACTI, // Cacti Sign
MT_ARIDSIGN_SHARPTURN, // Sharp Turn Sign
MT_OILLAMP,
MT_TNTBARREL,
MT_TNTDUST,
MT_PROXIMITYTNT,
MT_DUSTDEVIL,
MT_DUSTLAYER,
MT_ARIDDUST,
// Red Volcano Scenery
MT_FLAMEJET,
MT_VERTICALFLAMEJET,
MT_FLAMEJETFLAME,
MT_FJSPINAXISA, // Counter-clockwise
MT_FJSPINAXISB, // Clockwise
MT_FLAMEJETFLAMEB, // Blade's flame
MT_LAVAFALL,
MT_LAVAFALL_LAVA,
MT_LAVAFALLROCK,
MT_BIGFERNLEAF,
MT_BIGFERN,
MT_JUNGLEPALM,
MT_TORCHFLOWER,
MT_WALLVINE_LONG,
MT_WALLVINE_SHORT,
// Dark City Scenery
// Egg Rock Scenery
// Stalagmites
MT_STALAGMITE0,
MT_STALAGMITE1,
MT_STALAGMITE2,
MT_STALAGMITE3,
MT_STALAGMITE4,
MT_STALAGMITE5,
MT_STALAGMITE6,
MT_STALAGMITE7,
MT_STALAGMITE8,
MT_STALAGMITE9,
// Christmas Scenery
MT_XMASPOLE,
MT_CANDYCANE,
MT_SNOWMAN, // normal
MT_SNOWMANHAT, // with hat + scarf
MT_LAMPPOST1, // normal
MT_LAMPPOST2, // with snow
MT_HANGSTAR,
MT_MISTLETOE,
// Xmas GFZ bushes
MT_XMASBLUEBERRYBUSH,
MT_XMASBERRYBUSH,
MT_XMASBUSH,
// FHZ
MT_FHZICE1,
MT_FHZICE2,
// Halloween Scenery
// Pumpkins
MT_JACKO1,
MT_JACKO2,
MT_JACKO3,
// Dr Seuss Trees
MT_HHZTREE_TOP,
MT_HHZTREE_PART,
// Misc
MT_HHZSHROOM,
MT_HHZGRASS,
MT_HHZTENTACLE1,
MT_HHZTENTACLE2,
MT_HHZSTALAGMITE_TALL,
MT_HHZSTALAGMITE_SHORT,
// Botanic Serenity scenery
MT_BSZTALLFLOWER_RED,
MT_BSZTALLFLOWER_PURPLE,
MT_BSZTALLFLOWER_BLUE,
MT_BSZTALLFLOWER_CYAN,
MT_BSZTALLFLOWER_YELLOW,
MT_BSZTALLFLOWER_ORANGE,
MT_BSZFLOWER_RED,
MT_BSZFLOWER_PURPLE,
MT_BSZFLOWER_BLUE,
MT_BSZFLOWER_CYAN,
MT_BSZFLOWER_YELLOW,
MT_BSZFLOWER_ORANGE,
MT_BSZSHORTFLOWER_RED,
MT_BSZSHORTFLOWER_PURPLE,
MT_BSZSHORTFLOWER_BLUE,
MT_BSZSHORTFLOWER_CYAN,
MT_BSZSHORTFLOWER_YELLOW,
MT_BSZSHORTFLOWER_ORANGE,
MT_BSZTULIP_RED,
MT_BSZTULIP_PURPLE,
MT_BSZTULIP_BLUE,
MT_BSZTULIP_CYAN,
MT_BSZTULIP_YELLOW,
MT_BSZTULIP_ORANGE,
MT_BSZCLUSTER_RED,
MT_BSZCLUSTER_PURPLE,
MT_BSZCLUSTER_BLUE,
MT_BSZCLUSTER_CYAN,
MT_BSZCLUSTER_YELLOW,
MT_BSZCLUSTER_ORANGE,
MT_BSZBUSH_RED,
MT_BSZBUSH_PURPLE,
MT_BSZBUSH_BLUE,
MT_BSZBUSH_CYAN,
MT_BSZBUSH_YELLOW,
MT_BSZBUSH_ORANGE,
MT_BSZVINE_RED,
MT_BSZVINE_PURPLE,
MT_BSZVINE_BLUE,
MT_BSZVINE_CYAN,
MT_BSZVINE_YELLOW,
MT_BSZVINE_ORANGE,
MT_BSZSHRUB,
MT_BSZCLOVER,
MT_BIG_PALMTREE_TRUNK,
MT_BIG_PALMTREE_TOP,
MT_PALMTREE_TRUNK,
MT_PALMTREE_TOP,
// Misc scenery
MT_DBALL,
MT_EGGSTATUE2,
MT_SUPERSPARK, // Super Sonic Spark
// Flickies
MT_FLICKY_01, // Bluebird
MT_FLICKY_01_CENTER,
MT_FLICKY_02, // Rabbit
MT_FLICKY_02_CENTER,
MT_FLICKY_03, // Chicken
MT_FLICKY_03_CENTER,
MT_FLICKY_04, // Seal
MT_FLICKY_04_CENTER,
MT_FLICKY_05, // Pig
MT_FLICKY_05_CENTER,
MT_FLICKY_06, // Chipmunk
MT_FLICKY_06_CENTER,
MT_FLICKY_07, // Penguin
MT_FLICKY_07_CENTER,
MT_FLICKY_08, // Fish
MT_FLICKY_08_CENTER,
MT_FLICKY_09, // Ram
MT_FLICKY_09_CENTER,
MT_FLICKY_10, // Puffin
MT_FLICKY_10_CENTER,
MT_FLICKY_11, // Cow
MT_FLICKY_11_CENTER,
MT_FLICKY_12, // Rat
MT_FLICKY_12_CENTER,
MT_FLICKY_13, // Bear
MT_FLICKY_13_CENTER,
MT_FLICKY_14, // Dove
MT_FLICKY_14_CENTER,
MT_FLICKY_15, // Cat
MT_FLICKY_15_CENTER,
MT_FLICKY_16, // Canary
MT_FLICKY_16_CENTER,
MT_SECRETFLICKY_01, // Spider
MT_SECRETFLICKY_01_CENTER,
MT_SECRETFLICKY_02, // Bat
MT_SECRETFLICKY_02_CENTER,
MT_SEED,
// Environmental Effects
MT_RAIN, // Rain
MT_SNOWFLAKE, // Snowflake
MT_BLIZZARDSNOW, // Blizzard Snowball
MT_SPLISH, // Water splish!
MT_LAVASPLISH, // Lava splish!
MT_SMOKE,
MT_SMALLBUBBLE, // small bubble
MT_MEDIUMBUBBLE, // medium bubble
MT_EXTRALARGEBUBBLE, // extra large bubble
MT_WATERZAP,
MT_SPINDUST, // Spindash dust
MT_PARTICLE,
MT_PARTICLEGEN, // For fans, etc.
// Game Indicators
MT_DROWNNUMBERS, // Drowning Timer
// Ambient Sounds
MT_AMBIENT,
MT_CORK,
MT_LHRT,
// NiGHTS Stuff
MT_AXIS,
MT_AXISTRANSFER,
MT_AXISTRANSFERLINE,
MT_HOOP,
MT_HOOPCOLLIDE, // Collision detection for NiGHTS hoops
MT_HOOPCENTER, // Center of a hoop
MT_EGGCAPSULE,
MT_SMASHINGSPIKEBALL,
// Utility Objects
MT_TELEPORTMAN,
MT_ALTVIEWMAN,
MT_CRUMBLEOBJ, // Sound generator for crumbling platform
MT_TUBEWAYPOINT,
MT_PUSH,
MT_GHOST,
MT_FAKESHADOW,
MT_OVERLAY,
MT_ANGLEMAN,
MT_POLYANCHOR,
MT_POLYSPAWN,
MT_MINIMAPBOUND,
// Skybox objects
MT_SKYBOX,
// Debris
MT_SPARK, //spark, only used for debugging, actually
MT_EXPLODE, // Robot Explosion
MT_UWEXPLODE, // Underwater Explosion
MT_DUST,
MT_ROCKSPAWNER,
MT_FALLINGROCK,
MT_ROCKCRUMBLE1,
MT_ROCKCRUMBLE2,
MT_ROCKCRUMBLE3,
MT_ROCKCRUMBLE4,
MT_ROCKCRUMBLE5,
MT_ROCKCRUMBLE6,
MT_ROCKCRUMBLE7,
MT_ROCKCRUMBLE8,
MT_ROCKCRUMBLE9,
MT_ROCKCRUMBLE10,
MT_ROCKCRUMBLE11,
MT_ROCKCRUMBLE12,
MT_ROCKCRUMBLE13,
MT_ROCKCRUMBLE14,
MT_ROCKCRUMBLE15,
MT_ROCKCRUMBLE16,
// Level debris
MT_GFZDEBRIS,
MT_BRICKDEBRIS,
MT_WOODDEBRIS,
// SRB2kart
MT_RANDOMITEM,
MT_SPHEREBOX,
MT_FLOATINGITEM,
MT_GOTPOWERUP,
MT_ITEMCAPSULE,
MT_ITEMCAPSULE_PART,
MT_MONITOR,
MT_MONITOR_PART,
MT_MONITOR_SHARD,
MT_MAGICIANBOX,
MT_WAVEDASH,
MT_INSTAWHIP,
MT_INSTAWHIP_RECHARGE,
MT_INSTAWHIP_REJECT,
MT_BLOCKRING,
MT_BLOCKBODY,
MT_CHARGEAURA,
MT_CHARGEFALL,
MT_CHARGEFLICKER,
MT_CHARGESPARK,
MT_CHARGERELEASE,
MT_CHARGEEXTRA,
MT_SERVANTHAND,
MT_HORNCODE,
MT_SIGNSPARKLE,
MT_FASTLINE,
MT_FASTDUST,
MT_DRIFTEXPLODE,
MT_DRIFTCLIP,
MT_DRIFTCLIPSPARK,
MT_BOOSTFLAME,
MT_BOOSTSMOKE,
MT_SNEAKERTRAIL,
MT_AIZDRIFTSTRAT,
MT_SPARKLETRAIL,
MT_INVULNFLASH,
MT_WIPEOUTTRAIL,
MT_DRIFTSPARK,
MT_BRAKEDRIFT,
MT_BRAKEDUST,
MT_DRIFTDUST,
MT_ITEM_DEBRIS,
MT_ITEM_DEBRIS_CLOUD_SPAWNER,
MT_DRIFTELECTRICITY,
MT_DRIFTELECTRICSPARK,
MT_JANKSPARK,
MT_HITLAG,
MT_ROCKETSNEAKER,
MT_EGGMANITEM, // Eggman items
MT_EGGMANITEM_SHIELD,
MT_BANANA, // Banana Stuff
MT_BANANA_SHIELD,
MT_BANANA_SPARK,
MT_ORBINAUT, // Orbinaut stuff
MT_ORBINAUT_SHIELD,
MT_JAWZ, // Jawz stuff
MT_JAWZ_SHIELD,
MT_PLAYERRETICULE, // Jawz reticule
MT_SSMINE, // Mine stuff
MT_SSMINE_SHIELD,
MT_SMOLDERING, // New explosion
MT_BOOMEXPLODE,
MT_BOOMPARTICLE,
MT_LANDMINE, // Land Mine
MT_DROPTARGET, // Drop Target
MT_DROPTARGET_SHIELD,
MT_DROPTARGET_MORPH,
MT_BALLHOG, // Ballhog
MT_BALLHOGBOOM,
MT_SPB, // SPB stuff
MT_SPBEXPLOSION,
MT_MANTARING, // Juicebox for SPB
MT_LIGHTNINGSHIELD, // Shields
MT_BUBBLESHIELD,
MT_FLAMESHIELD,
MT_FLAMESHIELDUNDERLAY,
MT_FLAMESHIELDPAPER,
MT_BUBBLESHIELDTRAP,
MT_GARDENTOP,
MT_GARDENTOPSPARK,
MT_GARDENTOPARROW,
MT_HYUDORO,
MT_HYUDORO_CENTER,
MT_GROW_PARTICLE,
MT_SHRINK_POHBEE,
MT_SHRINK_GUN,
MT_SHRINK_CHAIN,
MT_SHRINK_LASER,
MT_SHRINK_PARTICLE,
MT_SINK, // Kitchen Sink Stuff
MT_SINK_SHIELD,
MT_SINKTRAIL,
MT_GACHABOM,
MT_GACHABOM_REBOUND,
MT_DUELBOMB, // Duel mode bombs
MT_BATTLEBUMPER, // Battle Mode bumpers
MT_BATTLEBUMPER_DEBRIS,
MT_BATTLEBUMPER_BLAST,
MT_TRIPWIREBOOST,
MT_SMOOTHLANDING,
MT_TRICKINDICATOR,
MT_SIDETRICK,
MT_FORWARDTRICK,
MT_TIREGRABBER,
MT_RINGSHOOTER,
MT_RINGSHOOTER_PART,
MT_RINGSHOOTER_SCREEN,
MT_DEZLASER,
MT_WAYPOINT,
MT_WAYPOINT_RISER,
MT_WAYPOINT_ANCHOR,
MT_BOTHINT,
MT_RANDOMAUDIENCE,
MT_FLAYM,
MT_PALMTREE2,
MT_PURPLEFLOWER1,
MT_PURPLEFLOWER2,
MT_YELLOWFLOWER1,
MT_YELLOWFLOWER2,
MT_PLANT2,
MT_PLANT3,
MT_PLANT4,
MT_BIGRING,
MT_ARKARROW, // Ark Arrows
MT_BUMP,
MT_FLINGENERGY,
MT_ITEMCLASH,
MT_FIREDITEM,
MT_INSTASHIELDA,
MT_INSTASHIELDB,
MT_POWERCLASH, // Grow/Invinc clash VFX
MT_GUARDBREAK,
MT_KARMAHITBOX,
MT_KARMAWHEEL,
MT_BATTLEPOINT,
MT_FZEROBOOM,
// Dash Rings
MT_DASHRING,
MT_RAINBOWDASHRING,
// Adventure Air Booster
MT_ADVENTUREAIRBOOSTER,
MT_ADVENTUREAIRBOOSTER_HITBOX,
MT_ADVENTUREAIRBOOSTER_PART,
// Sneaker Panels
MT_SNEAKERPANEL,
MT_SNEAKERPANELSPAWNER,
// Marble Zone
MT_MARBLEFLAMEPARTICLE,
MT_MARBLETORCH,
MT_MARBLELIGHT,
MT_MARBLEBURNER,
// CD Special Stage
MT_CDUFO,
// Rusty Rig
MT_RUSTYLAMP_ORANGE,
MT_RUSTYCHAIN,
MT_PGTREE,
// Daytona Speedway
MT_DAYTONAPINETREE,
MT_DAYTONAPINETREE_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,
// Chaos Chute
MT_SPECIALSTAGEARCH,
MT_SPECIALSTAGEBOMB,
// Hanagumi Hall
MT_HANAGUMIHALL_STEAM,
MT_HANAGUMIHALL_NPC,
// Dimension Disaster
MT_DVDTRUMPET,
MT_DVDPARTICLE,
MT_SUNBEAMPALM_STEM,
MT_SUNBEAMPALM_LEAF,
MT_KARMAFIREWORK,
MT_RINGSPARKS,
MT_GAINAX,
MT_DRAFTDUST,
MT_SPBDUST,
MT_TIREGREASE,
MT_OVERTIME_PARTICLE,
MT_OVERTIME_CENTER,
MT_BATTLECAPSULE,
MT_BATTLECAPSULE_PIECE,
MT_FOLLOWER,
MT_FOLLOWERBUBBLE_FRONT,
MT_FOLLOWERBUBBLE_BACK,
MT_WATERTRAIL,
MT_WATERTRAILUNDERLAY,
MT_SPINDASHDUST,
MT_SPINDASHWIND,
MT_SOFTLANDING,
MT_DOWNLINE,
MT_HOLDBUBBLE,
MT_PAPERITEMSPOT,
MT_BEAMPOINT,
MT_BROLY,
MT_SPECIAL_UFO,
MT_SPECIAL_UFO_PIECE,
MT_LOOPENDPOINT,
MT_LOOPCENTERPOINT,
MT_SUPER_FLICKY,
MT_SUPER_FLICKY_CONTROLLER,
MT_BATTLEUFO_SPAWNER,
MT_BATTLEUFO,
MT_BATTLEUFO_LEG,
MT_BATTLEUFO_BEAM,
MT_POWERUP_AURA,
MT_CHECKPOINT_END,
MT_SCRIPT_THING,
MT_SCRIPT_THING_ORB,
MT_RIDEROID,
MT_RIDEROIDNODE,
MT_LSZ_BUNGEE,
MT_LSZ_EGGBALLSPAWNER,
MT_LSZ_EGGBALL,
MT_DLZ_HOVER,
MT_DLZ_ROCKET,
MT_DLZ_RINGVACCUM,
MT_DLZ_SUCKEDRING,
MT_WATERPALACETURBINE,
MT_WATERPALACEBUBBLE,
MT_WATERPALACEFOUNTAIN,
MT_KURAGEN,
MT_KURAGENBOMB,
MT_BALLSWITCH_BALL,
MT_BALLSWITCH_PAD,
MT_BOSSARENACENTER,
MT_SPIKEDTARGET,
MT_BLENDEYE_MAIN,
MT_BLENDEYE_EYE,
MT_BLENDEYE_GLASS,
MT_BLENDEYE_SHIELD,
MT_BLENDEYE_EGGBEATER,
MT_BLENDEYE_GENERATOR,
MT_BLENDEYE_PUYO,
MT_BLENDEYE_PUYO_DUST,
MT_BLENDEYE_PUYO_DUST_COFFEE,
// Aerial Highlands
MT_AHZ_CLOUD,
MT_AHZ_CLOUDCLUSTER,
// Avant Garden
MT_AGZ_BULB,
MT_AGZ_BULB_PART,
MT_AGZ_TREE,
MT_AGZ_AGFL,
MT_AGZ_AGFF,
MT_AGZ_CLOUD,
MT_AGZ_CLOUDCLUSTER,
// Sky Sanctuary
MT_SSZ_CLOUD,
MT_SSZ_CLOUDCLUSTER,
MT_MEGABARRIER,
MT_SEASAW_VISUAL,
MT_DLZ_SEASAW_SPAWN,
MT_DLZ_SEASAW_HITBOX,
MT_GPZ_SEASAW_SPAWN,
MT_GPZ_SEASAW_HITBOX,
MT_GPZ_TREETHING_B,
MT_GPZ_TREETHING_M,
MT_GPZ_TREETHING_S,
MT_GGZFREEZETHRUSTER,
MT_GGZICEDUST,
MT_GGZICECUBE,
MT_GGZICESHATTER,
MT_SIDEWAYSFREEZETHRUSTER,
MT_THRUSTERPART,
MT_IVOBALL,
MT_PATROLIVOBALL,
MT_AIRIVOBALL,
MT_BOX_SIDE,
MT_BOX_DEBRIS,
MT_SA2_CRATE,
MT_ICECAPBLOCK,
MT_SPEAR,
MT_SPEARVISUAL,
MT_BSZLAMP_S,
MT_BSZLAMP_M,
MT_BSZLAMP_L,
MT_BSZSLAMP,
MT_BSZSLCHA,
MT_BETA_EMITTER,
MT_BETA_PARTICLE_PHYSICAL,
MT_BETA_PARTICLE_VISUAL,
MT_BETA_PARTICLE_EXPLOSION,
MT_AIZ_REDFERN,
MT_AIZ_FERN1,
MT_AIZ_FERN2,
MT_AIZ_TREE,
MT_AIZ_FERN3,
MT_AIZ_DDB,
MT_AZROCKS,
MT_AZROCKS_PARTICLE,
MT_EMROCKS,
MT_EMROCKS_PARTICLE,
MT_EMFAUCET,
MT_EMFAUCET_DRIP,
MT_EMFAUCET_PARTICLE,
MT_EMRAINGEN,
MT_TRICKBALLOON_RED,
MT_TRICKBALLOON_RED_POINT,
MT_TRICKBALLOON_YELLOW,
MT_TRICKBALLOON_YELLOW_POINT,
MT_WATERFALLPARTICLESPAWNER,
MT_SSCANDLE,
MT_SSCANDLE_SIDE,
MT_SSCANDLE_FLAME,
MT_SS_HOLOGRAM,
MT_SS_HOLOGRAM_ROTATOR,
MT_SS_COIN,
MT_SS_COIN_CLOUD,
MT_SS_GOBLET,
MT_SS_GOBLET_CLOUD,
MT_SS_LAMP,
MT_SS_LAMP_BULB,
MT_SSWINDOW,
MT_SSWINDOW_SHINE,
MT_SSCHAINSOUND,
MT_SLSTMACE,
MT_SEALEDSTAR_BUMPER,
MT_SSCHAIN_SPAWNER,
MT_SSCHAIN,
MT_GACHATARGET,
MT_CABOTRON,
MT_CABOTRONSTAR,
MT_STARSTREAM,
MT_IPULLUP,
MT_PULLUPHOOK,
MT_FIRSTFREESLOT,
MT_LASTFREESLOT = MT_FIRSTFREESLOT + NUMMOBJFREESLOTS - 1,
NUMMOBJTYPES
} mobjtype_t;
struct mobjinfo_t
{
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;
};
extern mobjinfo_t mobjinfo[NUMMOBJTYPES];
void P_PatchInfoTables(void);
void P_BackupTables(void);
void P_ResetData(INT32 flags);
#ifdef __cplusplus
} // extern "C"
#endif
#endif