diff options
-rw-r--r-- | src/heretic/info.c | 35 | ||||
-rw-r--r-- | src/heretic/info.h | 8 | ||||
-rw-r--r-- | src/heretic/p_pspr.c | 11 |
3 files changed, 52 insertions, 2 deletions
diff --git a/src/heretic/info.c b/src/heretic/info.c index e566222c..4848ede9 100644 --- a/src/heretic/info.c +++ b/src/heretic/info.c @@ -95,6 +95,7 @@ void A_InitPhoenixPL2(); void A_FirePhoenixPL2(); void A_ShutdownPhoenixPL2(); void A_PhoenixPuff(); +void A_RemovedPhoenixPuff(); void A_FlameEnd(); void A_FloatPuff(); void A_FireCrossbowPL1(); @@ -663,6 +664,9 @@ state_t states[NUMSTATES] = { {SPR_FX08, 32773, 4, NULL, S_PHOENIXFXI1_7, 0, 0}, // S_PHOENIXFXI1_6 {SPR_FX08, 32774, 4, NULL, S_PHOENIXFXI1_8, 0, 0}, // S_PHOENIXFXI1_7 {SPR_FX08, 32775, 4, NULL, S_NULL, 0, 0}, // S_PHOENIXFXI1_8 + {SPR_FX08, 32776, 8, NULL, S_PHOENIXFXIX_1, 0, 0 }, // S_PHOENIXFXIX_1 + {SPR_FX08, 32777, 8, A_RemovedPhoenixFunc, S_PHOENIXFXIX_2, 0, 0 }, // S_PHOENIXFXIX_2 + {SPR_FX08, 32778, 8, NULL, S_NULL, 0, 0 }, // S_PHOENIXFXIX_3 {SPR_FX04, 1, 4, NULL, S_PHOENIXPUFF2, 0, 0}, // S_PHOENIXPUFF1 {SPR_FX04, 2, 4, NULL, S_PHOENIXPUFF3, 0, 0}, // S_PHOENIXPUFF2 {SPR_FX04, 3, 4, NULL, S_PHOENIXPUFF4, 0, 0}, // S_PHOENIXPUFF3 @@ -3727,6 +3731,37 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = { MF2_THRUGHOST | MF2_NOTELEPORT // flags2 }, + // The following thing is present in the mobjinfo table from Heretic 1.0, + // but not in Heretic 1.3 (ie. it was removed). It has been re-inserted + // here to support HHE patches. + + { // MT_PHOENIXFX_REMOVED + -1, // doomednum + S_PHOENIXFXIX_1, // 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, // crashstate + S_PHOENIXFXIX_3, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 2 * FRACUNIT, // radius + 4 * FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP | MF_MISSILE | MF_DROPOFF | MF_NOGRAVITY, // flags + MF2_NOTELEPORT // flags2 + }, + { // MT_PHOENIXPUFF -1, // doomednum S_PHOENIXPUFF1, // spawnstate diff --git a/src/heretic/info.h b/src/heretic/info.h index f9581298..16b6aedc 100644 --- a/src/heretic/info.h +++ b/src/heretic/info.h @@ -653,6 +653,9 @@ typedef enum S_PHOENIXFXI1_6, S_PHOENIXFXI1_7, S_PHOENIXFXI1_8, + S_PHOENIXFXIX_1, // [ States in Heretic 1.0 that were removed + S_PHOENIXFXIX_2, + S_PHOENIXFXIX_3, // ] S_PHOENIXPUFF1, S_PHOENIXPUFF2, S_PHOENIXPUFF3, @@ -773,8 +776,8 @@ typedef enum S_PLAY_FDTH16, S_PLAY_FDTH17, S_PLAY_FDTH18, - S_PLAY_FDTH19, - S_PLAY_FDTH20, + S_PLAY_FDTH19, // < These two frames were not present in the Heretic + S_PLAY_FDTH20, // < 1.0 executable (fire death animation was extended) S_BLOODYSKULL1, S_BLOODYSKULL2, S_BLOODYSKULL3, @@ -1470,6 +1473,7 @@ typedef enum MT_GOLDWANDPUFF2, MT_WPHOENIXROD, MT_PHOENIXFX1, + MT_PHOENIXFX_REMOVED, // In Heretic 1.0, but removed. MT_PHOENIXPUFF, MT_PHOENIXFX2, MT_MISC15, diff --git a/src/heretic/p_pspr.c b/src/heretic/p_pspr.c index 7f9660ac..bd47c9a1 100644 --- a/src/heretic/p_pspr.c +++ b/src/heretic/p_pspr.c @@ -1650,6 +1650,17 @@ void A_PhoenixPuff(mobj_t * actor) puff->momz = 0; } +// +// This function was present in the Heretic 1.0 executable for the +// removed "secondary phoenix flash" object (MT_PHOENIXFX_REMOVED). +// The purpose of this object is unknown, as is this function. +// + +void A_RemovedPhoenixFunc(mobj_t *actor) +{ + I_Error("Action function invoked for removed Phoenix action!"); +} + //---------------------------------------------------------------------------- // // PROC A_InitPhoenixPL2 |