commit fdd80a8054e0193bf0ad2d999acb46920c575c14
Author: Simon Howard <fraggle@gmail.com>
AuthorDate: Sun Mar 16 02:34:35 2014 -0400
Commit: Simon Howard <fraggle@gmail.com>
CommitDate: Sun Mar 16 02:34:35 2014 -0400
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(-)
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;
}