[Scummvm-cvs-logs] scummvm master -> 4f3b85f4efc05affb7b4a7080e349360a3352048

bluegr md5 at scummvm.org
Fri Aug 26 10:37:44 CEST 2011


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:
4f3b85f4ef SCI: Fixed bug #3311911 - "SCI: QFG3: Intro music abruptly stops"


Commit: 4f3b85f4efc05affb7b4a7080e349360a3352048
    https://github.com/scummvm/scummvm/commit/4f3b85f4efc05affb7b4a7080e349360a3352048
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2011-08-26T01:30:19-07:00

Commit Message:
SCI: Fixed bug #3311911 - "SCI: QFG3: Intro music abruptly stops"

Changed paths:
    engines/sci/sound/midiparser_sci.cpp



diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp
index 95b1654..f48a68d 100644
--- a/engines/sci/sound/midiparser_sci.cpp
+++ b/engines/sci/sound/midiparser_sci.cpp
@@ -626,7 +626,11 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) {
 			if (info.ext.type == 0x2F) {// end of track reached
 				if (_pSnd->loop)
 					_pSnd->loop--;
-				if (_pSnd->loop) {
+				// QFG3 abuses the hold flag. Its scripts call kDoSoundSetHold,
+				// but sometimes there's no hold marker in the associated songs
+				// (e.g. song 110, during the intro). The original interpreter
+				// treats this case as an infinite loop (bug #3311911).
+				if (_pSnd->loop || _pSnd->hold > 0) {
 					// We need to play it again...
 					jumpToTick(_loopTick);
 				} else {






More information about the Scummvm-git-logs mailing list