From fdd80a8054e0193bf0ad2d999acb46920c575c14 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 16 Mar 2014 02:34:35 -0400 Subject: doom: Fix behavior of M_EPI4 menu item. Ultimate Doom's doom.exe will crash when run with an IWAD that doesn't contain M_EPI4 (like the stock v1.9 IWAD). Thanks to Alexandre Xavier for the bug report (fixes #344). --- src/doom/m_menu.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/doom/m_menu.c b/src/doom/m_menu.c index 306a139f..85a0cd76 100644 --- a/src/doom/m_menu.c +++ b/src/doom/m_menu.c @@ -2113,8 +2113,6 @@ void M_Init (void) // Episode 2 and 3 are handled, // branching to an ad screen. case registered: - // We need to remove the fourth episode. - EpiDef.numitems--; break; case retail: // We are fine. @@ -2122,6 +2120,15 @@ void M_Init (void) break; } + // Versions of doom.exe before the Ultimate Doom release only had + // three episodes; if we're emulating one of those then don't try + // to show episode four. If we are, then do show episode four + // (should crash if missing). + if (gameversion < exe_ultimate) + { + EpiDef.numitems--; + } + opldev = M_CheckParm("-opldev") > 0; } -- cgit v1.2.3