ref: fdd80a8054e0193bf0ad2d999acb46920c575c14
parent: 6b624639374600c50e72b435a5d4ce0fe2f7a1a1
author: Simon Howard <fraggle@gmail.com>
date: Sat Mar 15 22:34:35 EDT 2014
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).
--- a/src/doom/m_menu.c
+++ b/src/doom/m_menu.c
@@ -2113,13 +2113,20 @@
// 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.
default:
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;