mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-12-23 03:00:56 +00:00
3499 lines
61 KiB
C
3499 lines
61 KiB
C
// SONIC ROBO BLAST 2
|
|
//-----------------------------------------------------------------------------
|
|
// Copyright (C) 1993-1996 by id Software, Inc.
|
|
// Copyright (C) 1998-2000 by DooM Legacy Team.
|
|
// Copyright (C) 1999-2018 by Sonic Team Junior.
|
|
//
|
|
// This program is free software distributed under the
|
|
// terms of the GNU General Public License, version 2.
|
|
// See the 'LICENSE' file for more details.
|
|
//-----------------------------------------------------------------------------
|
|
/// \file info.h
|
|
/// \brief Thing frame/state LUT
|
|
|
|
#ifndef __INFO__
|
|
#define __INFO__
|
|
|
|
// Needed for action function pointer handling.
|
|
#include "d_think.h"
|
|
#include "sounds.h"
|
|
#include "m_fixed.h"
|
|
|
|
// dehacked.c now has lists for the more named enums! PLEASE keep them up to date!
|
|
// For great modding!!
|
|
|
|
// IMPORTANT NOTE: If you add/remove from this list of action
|
|
// functions, don't forget to update them in dehacked.c!
|
|
void A_Explode();
|
|
void A_Pain();
|
|
void A_Fall();
|
|
void A_MonitorPop();
|
|
void A_Look();
|
|
void A_Chase();
|
|
void A_FaceStabChase();
|
|
void A_FaceTarget();
|
|
void A_FaceTracer();
|
|
void A_Scream();
|
|
void A_BossDeath();
|
|
void A_CustomPower(); // Use this for a custom power
|
|
void A_GiveWeapon(); // Gives the player weapon(s)
|
|
void A_JumpShield(); // Obtained Jump Shield
|
|
void A_RingShield(); // Obtained Ring Shield
|
|
void A_RingBox(); // Obtained Ring Box Tails
|
|
void A_Invincibility(); // Obtained Invincibility Box
|
|
void A_SuperSneakers(); // Obtained Super Sneakers Box
|
|
void A_BunnyHop(); // have bunny hop tails
|
|
void A_BubbleSpawn(); // Randomly spawn bubbles
|
|
void A_FanBubbleSpawn();
|
|
void A_BubbleRise(); // Bubbles float to surface
|
|
void A_BubbleCheck(); // Don't draw if not underwater
|
|
void A_AwardScore();
|
|
void A_ExtraLife(); // Extra Life
|
|
void A_BombShield(); // Obtained Bomb Shield
|
|
void A_WaterShield(); // Obtained Water Shield
|
|
void A_ForceShield(); // Obtained Force Shield
|
|
void A_PityShield(); // Obtained Pity Shield. We're... sorry.
|
|
void A_GravityBox();
|
|
void A_ScoreRise(); // Rise the score logo
|
|
void A_ParticleSpawn();
|
|
void A_AttractChase(); // Ring Chase
|
|
void A_DropMine(); // Drop Mine from Skim or Jetty-Syn Bomber
|
|
void A_FishJump(); // Fish Jump
|
|
void A_ThrownRing(); // Sparkle trail for red ring
|
|
void A_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_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,
|
|
|
|
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,
|
|
|
|
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_SIGN21,
|
|
S_SIGN22,
|
|
S_SIGN23,
|
|
S_SIGN24,
|
|
S_SIGN25,
|
|
S_SIGN26,
|
|
S_SIGN27,
|
|
S_SIGN28,
|
|
S_SIGN29,
|
|
S_SIGN30,
|
|
S_SIGN31,
|
|
S_SIGN32,
|
|
S_SIGN33,
|
|
S_SIGN34,
|
|
S_SIGN35,
|
|
S_SIGN36,
|
|
S_SIGN37,
|
|
S_SIGN38,
|
|
S_SIGN39,
|
|
S_SIGN40,
|
|
S_SIGN41,
|
|
S_SIGN42,
|
|
S_SIGN43,
|
|
S_SIGN44,
|
|
S_SIGN45,
|
|
S_SIGN46,
|
|
S_SIGN47,
|
|
S_SIGN48,
|
|
S_SIGN49,
|
|
S_SIGN50,
|
|
S_SIGN51,
|
|
S_SIGN52, // Eggman
|
|
S_SIGN53,
|
|
|
|
// 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,
|
|
|
|
#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,
|
|
#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
|