diff options
author | Simon Howard | 2010-12-28 16:43:41 +0000 |
---|---|---|
committer | Simon Howard | 2010-12-28 16:43:41 +0000 |
commit | fc09dbdf6703e62146a74a164be475ba965d00ab (patch) | |
tree | 9d123cfe93c2966262200a2ba757e97fe3f132b5 /src/d_main.c | |
parent | fe0eca1d099d79eec30c49882625827193ab0f6d (diff) | |
download | chocolate-doom-fc09dbdf6703e62146a74a164be475ba965d00ab.tar.gz chocolate-doom-fc09dbdf6703e62146a74a164be475ba965d00ab.tar.bz2 chocolate-doom-fc09dbdf6703e62146a74a164be475ba965d00ab.zip |
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
Diffstat (limited to 'src/d_main.c')
-rw-r--r-- | src/d_main.c | 8 |
1 files changed, 7 insertions, 1 deletions
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; |