// SONIC ROBO BLAST 2 //----------------------------------------------------------------------------- // Copyright (C) 1993-1996 by id Software, Inc. // Copyright (C) 1998-2000 by DooM Legacy Team. // Copyright (C) 1999-2016 by Sonic Team Junior. // // This program is free software distributed under the // terms of the GNU General Public License, version 2. // See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- /// \file info.c /// \brief Thing frame/state LUT // Data. #include "doomdef.h" #include "doomstat.h" #include "sounds.h" #include "p_mobj.h" #include "m_misc.h" #include "z_zone.h" #include "d_player.h" #include "lzf.h" #ifdef HWRENDER #include "hardware/hw_light.h" #endif // Hey, moron! If you change this table, don't forget about the sprite enum in info.h and the sprite lights in hw_light.c! // For the sake of constant merge conflicts, let's spread this out char sprnames[NUMSPRITES + 1][5] = { "NULL", // invisible object "UNKN", "THOK", // Thok! mobj "PLAY", // Enemies "POSS", "SPOS", "FISH", // Greenflower Fish "BUZZ", // Buzz (Gold) "RBUZ", // Buzz (Red) "JETB", // Jetty-Syn Bomber "JETW", // Jetty-Syn Water Bomber "JETG", // Jetty-Syn Gunner "CCOM", // Crawla Commander "DETN", // Deton "SKIM", // Skim mine dropper "TRET", "TURR", // Pop-Up Turret "SHRP", // Sharp "JJAW", // Jet Jaw "SNLR", // Snailer "VLTR", // Vulture "PNTY", // Pointy "ARCH", // Robo-Hood "CBFS", // CastleBot FaceStabber (Egg Knight?) "SPSH", // Egg Guard "ESHI", // Egg Shield for Egg Guard "GSNP", // Green Snapper "MNUS", // Minus "SSHL", // Spring Shell "UNID", // Unidus "BBUZ", // AquaBuzz, for Azure Temple // Generic Boss Items "JETF", // Boss jet fumes // Boss 1 (Greenflower) "EGGM", // Boss 2 (Techno Hill) "EGGN", // Boss 2 "TNKA", // Boss 2 Tank 1 "TNKB", // Boss 2 Tank 2 "SPNK", // Boss 2 Spigot "GOOP", // Boss 2 Goop // Boss 3 (Deep Sea) "EGGO", // Boss 3 "PRPL", // Boss 3 Propeller "FAKE", // Boss 3 Fakemobile // Boss 4 (Castle Eggman) "EGGP", "EFIR", // Boss 4 jet flame // Boss 5 (Arid Canyon) "EGGQ", // Boss 6 (Red Volcano) "EGGR", // Boss 7 (Dark City) "BRAK", "BGOO", // Goop "BMSL", // Boss 8 (Egg Rock) "EGGT", // Cy-Brak-Demon; uses "BRAK" as well, but has some extras "RCKT", // Rockets! "ELEC", // Electricity! "TARG", // Targeting reticules! "NPLM", // Big napalm bombs! "MNPL", // Mini napalm bombs! // Metal Sonic "METL", "MSCF", "MSCB", // Collectible Items "RING", "TRNG", // Team Rings "EMMY", // emerald test "TOKE", // Special Stage Token "RFLG", // Red CTF Flag "BFLG", // Blue CTF Flag "NWNG", // NiGHTS Wing collectable item. "EMBM", // Emblem "CEMG", // Chaos Emeralds "EMER", // Emerald Hunt // Interactive Objects "FANS", "BBLS", // water bubble source "SIGN", // Level end sign "STEM", // Steam riser "SPIK", // Spike Ball "SFLM", // Spin fire "USPK", // Floor spike "STPT", // Starpost "BMNE", // Big floating mine // Monitor Boxes "MSTV", // MiSc TV sprites "XLTV", // eXtra Large TV sprites "TRRI", // Red team: 10 RIngs "TBRI", // Blue team: 10 RIngs "TVRI", // 10 RIng "TVPI", // PIty shield "TVAT", // ATtraction shield "TVFO", // FOrce shield "TVAR", // ARmageddon shield "TVWW", // WhirlWind shield "TVEL", // ELemental shield "TVSS", // Super Sneakers "TVIV", // InVincibility "TV1U", // 1Up "TV1P", // 1uP (textless) "TVEG", // EGgman "TVMX", // MiXup "TVMY", // MYstery "TVGV", // GraVity boots "TVRC", // ReCycler "TV1K", // 1,000 points (1 K) "TVTK", // 10,000 points (Ten K) "TVFL", // FLame shield "TVBB", // BuBble shield "TVZP", // Thunder shield (ZaP) // Projectiles "MISL", "TORP", // Torpedo "ENRG", // Energy ball "MINE", // Skim mine "JBUL", // Jetty-Syn Bullet "TRLS", "CBLL", // Cannonball "AROW", // Arrow "CFIR", // Colored fire of various sorts // Greenflower Scenery "FWR1", "FWR2", // GFZ Sunflower "FWR3", // GFZ budding flower "FWR4", "BUS1", // GFZ Bush w/ berries "BUS2", // GFZ Bush w/o berries // Techno Hill Scenery "THZP", // Techno Hill Zone Plant "ALRM", // THZ2 Alarm // Deep Sea Scenery "GARG", // Deep Sea Gargoyle "SEWE", // Deep Sea Seaweed "DRIP", // Dripping water "CRL1", // Coral 1 "CRL2", // Coral 2 "CRL3", // Coral 3 "BCRY", // Blue Crystal // Castle Eggman Scenery "CHAN", // CEZ Chain "FLAM", // Flame "ESTA", // Eggman esta una estatua! "SMCH", // Small Mace Chain "BMCH", // Big Mace Chain "SMCE", // Small Mace "BMCE", // Big Mace // Arid Canyon Scenery "BTBL", // Big tumbleweed "STBL", // Small tumbleweed "CACT", // Cacti sprites // Red Volcano Scenery "FLME", // Flame jet "DFLM", // Blade's flame // Dark City Scenery // Egg Rock Scenery // Christmas Scenery "XMS1", "XMS2", "XMS3", // Botanic Serenity Scenery "BSZ1", // Tall flowers "BSZ2", // Medium flowers "BSZ3", // Small flowers "BSZ4", // Tulip "BSZ5", // Cluster of Tulips "BSZ6", // Bush "BSZ7", // Vine "BSZ8", // Misc things // Misc Scenery "STLG", // Stalagmites "DBAL", // Disco "RCRY", // ATZ Red Crystal (Target) // Powerup Indicators "ARMA", // Armageddon Shield Orb "ARMF", // Armageddon Shield Ring, Front "ARMB", // Armageddon Shield Ring, Back "WIND", // Whirlwind Shield Orb "MAGN", // Attract Shield Orb "ELEM", // Elemental Shield Orb and Fire "FORC", // Force Shield Orb "PITY", // Pity Shield Orb "FIRS", // Flame Shield Orb "BUBS", // Bubble Shield Orb "ZAPS", // Thunder Shield Orb "IVSP", // invincibility sparkles "SSPK", // Super Sonic Spark "GOAL", // Special Stage goal (here because lol NiGHTS) // Freed Animals "BIRD", // Birdie freed! "BUNY", // Bunny freed! "MOUS", // Mouse "CHIC", // Chicken "COWZ", // Cow "RBRD", // Red Birdie in Bubble // Springs "SPRY", // yellow spring "SPRR", // red spring "SPRB", // Blue springs "YSPR", // Yellow Diagonal Spring "RSPR", // Red Diagonal Spring "SSWY", // Yellow Side Spring "SSWR", // Red Side Spring "SSWB", // Blue Side Spring // Environmental Effects "RAIN", // Rain "SNO1", // Snowflake "SPLH", // Water Splish "SPLA", // Water Splash "SMOK", "BUBL", // Bubble "WZAP", "TFOG", // Teleport Fog "SEED", // Sonic CD flower seed "PRTL", // Particle (for fans, etc.) // Game Indicators "SCOR", // Score logo "DRWN", // Drowning Timer "TTAG", // Tag Sign "GFLG", // Got Flag sign // Ring Weapons "RRNG", // Red Ring "RNGB", // Bounce Ring "RNGR", // Rail Ring "RNGI", // Infinity Ring "RNGA", // Automatic Ring "RNGE", // Explosion Ring "RNGS", // Scatter Ring "RNGG", // Grenade Ring "PIKB", // Bounce Ring Pickup "PIKR", // Rail Ring Pickup "PIKA", // Automatic Ring Pickup "PIKE", // Explosion Ring Pickup "PIKS", // Scatter Ring Pickup "PIKG", // Grenade Ring Pickup "TAUT", // Thrown Automatic Ring "TGRE", // Thrown Grenade Ring "TSCR", // Thrown Scatter Ring // Mario-specific stuff "COIN", "CPRK", "GOOM", "BGOM", "FFWR", "FBLL", "SHLL", "PUMA", "HAMM", "KOOP", "BFLM", "MAXE", "MUS1", "MUS2", "TOAD", // NiGHTS Stuff "NDRN", // NiGHTS drone "NSPK", // NiGHTS sparkle "NBMP", // NiGHTS Bumper "HOOP", // NiGHTS hoop sprite "NSCR", // NiGHTS score sprite "NPRU", // Nights Powerups "CAPS", // Capsule thingy for NiGHTS // Debris "SPRK", // spark "BOM1", // Robot Explosion "BOM2", // Boss Explosion 1 "BOM3", // Boss Explosion 2 "BOM4", // Underwater Explosion // Crumbly rocks "ROIA", "ROIB", "ROIC", "ROID", "ROIE", "ROIF", "ROIG", "ROIH", "ROII", "ROIJ", "ROIK", "ROIL", "ROIM", "ROIN", "ROIO", "ROIP", // Blue Spheres "BBAL", // Gravity Well Objects "GWLG", "GWLR", }; char spr2names[NUMPLAYERSPRITES][5] = { "STND", "WAIT", "WALK", "RUN_", "PEEL", "PAIN", "DEAD", "DRWN", "SPIN", "DASH", "GASP", "JUMP", "SPNG", "FALL", "EDGE", "RIDE", "SIGN", "LIFE", "FLY_", "SWIM", "TIRE", "GLID", "CLNG", "CLMB", "TWIN", "MLEE", "TRNS", "SSTD", "SWLK", "SRUN", "SPEE", "SPAN", "SSTN", "SDTH", "SDRN", "SSPN", "SGSP", "SJMP", "SSPG", "SFAL", "SEDG", "SRID", "SFLT", "NTRN", "NSTD", "NFLT", "NPAN", "NPUL", "NATK", "NGT0", "NGT1", "NGT2", "NGT3", "NGT4", "NGT5", "NGT6", "NGT7", "NGT8", "NGT9", "NGTA", "NGTB", "NGTC", "DRL0", "DRL1", "DRL2", "DRL3", "DRL4", "DRL5", "DRL6", "DRL7", "DRL8", "DRL9", "DRLA", "DRLB", "DRLC" }; enum playersprite free_spr2 = SPR2_FIRSTFREESLOT; // Doesn't work with g++, needs actionf_p1 (don't modify this comment) state_t states[NUMSTATES] = { // frame is masked through FF_FRAMEMASK // FF_ANIMATE makes simple state animations (var1 #frames, var2 tic delay) // FF_FULLBRIGHT activates the fullbright colormap // use FF_TRANS10 - FF_TRANS90 for easy translucency // (or tr_trans10<