[Scummvm-cvs-logs] scummvm master -> 2798c65d756e82db8eb4a58ca3db526215557333

bluegr md5 at scummvm.org
Sun Aug 28 13:12:36 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:
2798c65d75 SCI: Fixed bug #3297883 - "SCI: LB1 (Amiga) - Intro stuck"


Commit: 2798c65d756e82db8eb4a58ca3db526215557333
    https://github.com/scummvm/scummvm/commit/2798c65d756e82db8eb4a58ca3db526215557333
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2011-08-28T04:07:42-07:00

Commit Message:
SCI: Fixed bug #3297883 - "SCI: LB1 (Amiga) - Intro stuck"

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 f48a68d..ad7ba7c 100644
--- a/engines/sci/sound/midiparser_sci.cpp
+++ b/engines/sci/sound/midiparser_sci.cpp
@@ -480,11 +480,18 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) {
 		info.basic.param2 = 0;
 		if (info.channel() == 0xF) {// SCI special case
 			if (info.basic.param1 != kSetSignalLoop) {
-				// at least in kq5/french&mac the first scene in the intro has a song that sets signal to 4 immediately
-				//  on tick 0. Signal isn't set at that point by sierra sci and it would cause the castle daventry text to
-				//  get immediately removed, so we currently filter it.
-				// Sierra SCI ignores them as well at that time
-				if ((_position._play_tick) || (info.delta)) {
+				// At least in kq5/french&mac the first scene in the intro has
+				// a song that sets signal to 4 immediately on tick 0. Signal
+				// isn't set at that point by sierra sci and it would cause the
+				// castle daventry text to get immediately removed, so we
+				// currently filter it. Sierra SCI ignores them as well at that
+				// time. However, this filtering should only be performed for
+				// SCI1 and newer games. Signalling is done differently in SCI0
+				// though, so ignoring these signals in SCI0 games will result
+				// in glitches (e.g. the intro of LB1 Amiga gets stuck - bug
+				// #3297883). Refer to MusicEntry::setSignal() in sound/music.cpp.
+				if (_soundVersion <= SCI_VERSION_0_LATE ||
+					_position._play_tick || info.delta) {
 					_signalSet = true;
 					_signalToSet = info.basic.param1;
 				}






More information about the Scummvm-git-logs mailing list