From b3392d0e33a505df7e2da3dd8e89785ad5e593a1 Mon Sep 17 00:00:00 2001 From: toaster Date: Mon, 22 Oct 2018 21:56:14 +0100 Subject: [PATCH] Rusty Rig plus minor touchups to what I did already (I haven't made a new exe this stuff is simple enough, and I'll test it when I do the balloon panic stuff) --- src/dehacked.c | 8 +++++++ src/info.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++-- src/info.h | 10 ++++++++ src/p_mobj.c | 5 +++- 4 files changed, 82 insertions(+), 3 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index ff0739b33..96a1d1cff 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -6781,6 +6781,10 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_CDUFO", "S_CDUFO_DIE", + // Rusty Rig + "S_RUSTYLAMP_ORANGE", + "S_RUSTYCHAIN", + #ifdef SEENAMES "S_NAMECHECK", #endif @@ -7443,6 +7447,10 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s // CD Special Stage "MT_CDUFO", + // Rusty Rig + "MT_RUSTYLAMP_ORANGE", + "MT_RUSTYCHAIN", + #ifdef SEENAMES "MT_NAMECHECK", #endif diff --git a/src/info.c b/src/info.c index 19403f513..9c44edbbe 100644 --- a/src/info.c +++ b/src/info.c @@ -61,7 +61,7 @@ char sprnames[NUMSPRITES + 1][5] = "DEZL","POKE","AUDI","DECO","DOOD","SNES","GBAS","SPRS","BUZB","CHOM", "SACO","CRAB","SHAD","BRNG","BUMP","FLEN","CLAS","PSHW","ISTA","ISTB", "ARRO","ITEM","ITMO","ITMI","ITMN","WANT","PBOM","RETI","AIDU","KSPK", - "LZI1","LZI2","KLIT","MARB","FUFO","VIEW" + "LZI1","LZI2","KLIT","MARB","FUFO","RUST","VIEW" }; // Doesn't work with g++, needs actionf_p1 (don't modify this comment) @@ -3073,9 +3073,13 @@ state_t states[NUMSTATES] = {SPR_MARB, 9, -1, {NULL}, 0, 0, S_NULL}, // S_MARBLEBURNER // CD Special Stage - {SPR_FUFO, 0, 1, {A_Thrust}, 5, 2, S_CDUFO}, // S_CDUFO + {SPR_FUFO, 0, 1, {A_Thrust}, 5, 2, S_CDUFO}, // S_CDUFO {SPR_FUFO, 0, 4, {A_BossScream}, 0, MT_EXPLODE, S_CDUFO_DIE}, // S_CDUFO_DIE + // Rusty Rig + {SPR_RUST, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_RUSTYLAMP_ORANGE + {SPR_RUST, 1, -1, {NULL}, 0, 0, S_NULL}, // S_RUSTYCHAIN + #ifdef SEENAMES {SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL}, // S_NAMECHECK #endif @@ -17356,6 +17360,60 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, + { // MT_RUSTYLAMP_ORANGE + 1988, // doomednum + S_RUSTYLAMP_ORANGE, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 12*FRACUNIT, // radius + 45*FRACUNIT, // height + 0, // display offset + 0, // mass + 0, // damage + sfx_None, // activesound + MF_SCENERY|MF_NOGRAVITY|MF_NOBLOCKMAP, // flags + S_NULL // raisestate + }, + + { // MT_RUSTYCHAIN + 1989, // doomednum + S_RUSTYCHAIN, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 12*FRACUNIT, // radius + 45*FRACUNIT, // height + 0, // display offset + 0, // mass + 0, // damage + sfx_None, // activesound + MF_SCENERY|MF_NOBLOCKMAP, // flags + S_NULL // raisestate + }, + // ============================================================================================================================// #ifdef SEENAMES diff --git a/src/info.h b/src/info.h index 7c3f37570..ac9a24e92 100644 --- a/src/info.h +++ b/src/info.h @@ -657,6 +657,8 @@ typedef enum sprite SPR_MARB, // Marble Zone sprites SPR_FUFO, // CD Special Stage UFO (don't ask me why it begins with an F) + SPR_RUST, // Rusty Rig sprites + SPR_VIEW, // First person view sprites; this is a sprite so that it can be replaced by a specialized MD2 draw! SPR_FIRSTFREESLOT, @@ -3627,6 +3629,10 @@ typedef enum state S_CDUFO, S_CDUFO_DIE, + // Rusty Rig + S_RUSTYLAMP_ORANGE, + S_RUSTYCHAIN, + #ifdef SEENAMES S_NAMECHECK, #endif @@ -4306,6 +4312,10 @@ typedef enum mobj_type // CD Special Stage MT_CDUFO, + // Rusty Rig + MT_RUSTYLAMP_ORANGE, + MT_RUSTYCHAIN, + #ifdef SEENAMES MT_NAMECHECK, #endif diff --git a/src/p_mobj.c b/src/p_mobj.c index 981ac8a94..f832b4eb9 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -9380,7 +9380,10 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type) break; } case MT_MARBLETORCH: - P_SpawnMobj(mobj->x, mobj->y, mobj->z + (29<x, mobj->y, mobj->z + (29*mobj->scale), MT_MARBLELIGHT); + break; + case MT_RUSTYLAMP_ORANGE: + P_SpawnMobj(mobj->x, mobj->y, mobj->z + (68*mobj->scale), MT_MARBLELIGHT); break; default: break;