From fc09dbdf6703e62146a74a164be475ba965d00ab Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Tue, 28 Dec 2010 16:43:41 +0000 Subject: Make demo loop handling of DEMO4 case depend on the executable version being emulated: the Vanilla versions did not have any conditional behavior based on gamemode/gamemission. This has the side effect of causing the game to exit with an error when playing with Final Doom, but this is Vanilla behavior. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2230 --- src/d_main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/d_main.c b/src/d_main.c index 397062a9..73978c2f 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -494,7 +494,13 @@ void D_DoAdvanceDemo (void) paused = false; gameaction = ga_nothing; - if (gamemode == retail && gameversion != exe_chex) + // The Ultimate Doom executable changed the demo sequence to add + // a DEMO4 demo. Final Doom was based on Ultimate, so also + // includes this change; however, the Final Doom IWADs do not + // include a DEMO4 lump, so the game bombs out with an error + // when it reaches this point in the demo sequence. + + if (gameversion == exe_ultimate || gameversion == exe_final) demosequence = (demosequence+1)%7; else demosequence = (demosequence+1)%6; -- cgit v1.2.3