Emulate bug with IDMUS cheat when emulating v1.9 (thanks Alexandre

Xavier).

Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2314
This commit is contained in:
Simon Howard 2011-03-28 23:33:09 +00:00
parent a4ff8b18d8
commit 15a1c49247
3 changed files with 26 additions and 2 deletions

2
NEWS
View file

@ -27,6 +27,8 @@
* The null sector dereference emulation code has been imported
from Prboom+ - this fixes a desync with CLNJ-506.LMP (thanks
entryway).
* The IDMUS cheat doesn't work when emulating the v1.9 executable
(thanks Alexandre Xavier).
Bugs fixed:
* Menu navigation when using joystick/joypad (thanks Alexandre

View file

@ -110,3 +110,20 @@ More information can be found here:
http://rome.ro/lee_killough/editing/visplane.shtml
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
== IDMUS## cheat doesn't work with shareware/registered Doom IWADs ==
The IDMUS cheat allows the in-game music to be changed. However, in
the original v1.9 this cheat didn't work properly when playing with
the Doom 1 (shareware and registered) IWADs. This bug was fixed in
the Ultimate Doom and Final Doom executables.
Chocolate Doom emulates this bug. When playing with the shareware or
registered Doom IWADs, the IDMUS cheat therefore does not work
properly. If you are playing with the Ultimate Doom IWAD, the
Ultimate Doom executable is emulated by default, so the cheat works
properly.
# vim: tw=70

View file

@ -521,8 +521,13 @@ ST_Responder (event_t* ev)
plyr->message = DEH_String(STSTR_MUS);
cht_GetParam(&cheat_mus, buf);
if (gamemode == commercial)
// Note: The original v1.9 had a bug that tried to play back
// the Doom II music regardless of gamemode. This was fixed
// in the Ultimate Doom executable so that it would work for
// the Doom 1 music as well.
if (gamemode == commercial || gameversion < exe_ultimate)
{
musnum = mus_runnin + (buf[0]-'0')*10 + buf[1]-'0' - 1;