diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/d_main.c | 10 | ||||
-rw-r--r-- | src/doomdef.h | 1 | ||||
-rw-r--r-- | src/doomstat.c | 2 | ||||
-rw-r--r-- | src/m_menu.c | 1 |
4 files changed, 11 insertions, 3 deletions
diff --git a/src/d_main.c b/src/d_main.c index 73978c2f..2cfc6b44 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -500,6 +500,9 @@ void D_DoAdvanceDemo (void) // include a DEMO4 lump, so the game bombs out with an error // when it reaches this point in the demo sequence. + // However! There is an alternate version of Final Doom that + // includes a fixed executable. + if (gameversion == exe_ultimate || gameversion == exe_final) demosequence = (demosequence+1)%7; else @@ -659,6 +662,7 @@ static struct {"Hacx", "hacx", exe_hacx}, {"Ultimate Doom", "ultimate", exe_ultimate}, {"Final Doom", "final", exe_final}, + {"Final Doom (alt)", "final2", exe_final2}, {"Chex Quest", "chex", exe_chex}, { NULL, NULL, 0}, }; @@ -675,7 +679,7 @@ static void InitGameVersion(void) // @category compat // // Emulate a specific version of Doom. Valid values are "1.9", - // "ultimate" and "final". + // "ultimate", "final", "final2", "hacx" and "chex". // p = M_CheckParmWithArgs("-gameversion", 1); @@ -731,8 +735,10 @@ static void InitGameVersion(void) else { // Final Doom: tnt or plutonia + // Default to the "alt" version of the executable that + // fixes the demo loop behavior. - gameversion = exe_final; + gameversion = exe_final2; } } } diff --git a/src/doomdef.h b/src/doomdef.h index f9cd4fd9..fa85a47f 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -107,6 +107,7 @@ typedef enum exe_hacx, // Hacx executable (Doom 1.9 with patch applied) exe_ultimate, // Ultimate Doom (retail) exe_final, // Final Doom + exe_final2, // Final Doom (alternate exe) exe_chex, // Chex Quest executable (based on Final Doom) } GameVersion_t; diff --git a/src/doomstat.c b/src/doomstat.c index 22804459..e5fe46b2 100644 --- a/src/doomstat.c +++ b/src/doomstat.c @@ -32,7 +32,7 @@ // Game Mode - identify IWAD as shareware, retail etc. GameMode_t gamemode = indetermined; GameMission_t gamemission = doom; -GameVersion_t gameversion = exe_final; +GameVersion_t gameversion = exe_final2; char *gamedescription; // Set if homebrew PWAD stuff has been added. diff --git a/src/m_menu.c b/src/m_menu.c index efc4fefe..7144f715 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -820,6 +820,7 @@ void M_DrawReadThis1(void) break; case exe_final: + case exe_final2: // Final Doom always displays "HELP". |