[Scummvm-git-logs] scummvm master -> 3b730ecc55ff2540c2ba7f3b3b1c43c5efdb77f7
eriktorbjorn
eriktorbjorn at telia.com
Fri Jul 9 10:52:30 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3b730ecc55 SCUMM: Extended old workaround for overlapping MI2 music
Commit: 3b730ecc55ff2540c2ba7f3b3b1c43c5efdb77f7
https://github.com/scummvm/scummvm/commit/3b730ecc55ff2540c2ba7f3b3b1c43c5efdb77f7
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2021-07-09T12:50:09+02:00
Commit Message:
SCUMM: Extended old workaround for overlapping MI2 music
While testing the Mac version of MI2, I noticed that the game would
resume the Woodtick music while Largo's theme was still playing after
the scene with the bartender. We already have a workaround for a similar
problem when he's talking to Mad Marty, and the cause seems to be the
same both times: Optimistic scripting. So delay that music transition as
well.
I've excluded the Amiga version from this workaround, because that one
cuts much of the music so it shouldn't be needed there. But if I'm
wrong, please let me know.
Changed paths:
engines/scumm/script_v5.cpp
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index d5ec89541c..ae38a8931e 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -2067,11 +2067,19 @@ void ScummEngine_v5::o5_startSound() {
const byte *oldaddr = _scriptPointer - 1;
int sound = getVarOrDirectByte(PARAM_1);
- // WORKAROUND: In the scene where Largo is talking to Mad Marty, the
- // Woodtick music often resumes before Largo's theme has finished. As
- // far as I can tell, this is a script bug.
- if (_game.id == GID_MONKEY2 && sound == 110 && _sound->isSoundRunning(151)) {
- debug(1, "Delaying Woodtick music until Largo's theme has finished");
+ // WORKAROUND: There are times when Largo's theme is playing. Once it
+ // has finished, the old music should resume. But the scripts don't
+ // actually check that, they just wait for the scene to end. So it may
+ // work fine, if the subtitles are timed correctly, but it may not.
+ //
+ // The Amiga version cut much of the music, so it shouldn't be needed
+ // for that version.
+ //
+ // Sound 103 is Largo talking to the bartender.
+ // Sound 110 is Largo talking to Mad Marty.
+
+ if (_game.id == GID_MONKEY2 && _game.platform != Common::kPlatformAmiga && (sound == 103 || sound == 110) && _sound->isSoundRunning(151)) {
+ debug(1, "Delaying music until Largo's theme has finished");
_scriptPointer = oldaddr;
o5_breakHere();
return;
More information about the Scummvm-git-logs
mailing list