[Scummvm-cvs-logs] SF.net SVN: scummvm:[49000] scummvm/trunk/engines/sci/sound/soundcmd.cpp

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Mon May 10 22:32:55 CEST 2010


Revision: 49000
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49000&view=rev
Author:   m_kiewitz
Date:     2010-05-10 20:32:55 +0000 (Mon, 10 May 2010)

Log Message:
-----------
SCI: set signal to SIGNAL_OFFSET, when a music slot is played that doesn't contain supported data - fixes lsl5 mud wrestling "regression" in new music/sound code (worked before with old music/sound engine)

Modified Paths:
--------------
    scummvm/trunk/engines/sci/sound/soundcmd.cpp

Modified: scummvm/trunk/engines/sci/sound/soundcmd.cpp
===================================================================
--- scummvm/trunk/engines/sci/sound/soundcmd.cpp	2010-05-10 19:44:19 UTC (rev 48999)
+++ scummvm/trunk/engines/sci/sound/soundcmd.cpp	2010-05-10 20:32:55 UTC (rev 49000)
@@ -833,7 +833,7 @@
 			_music->soundSetVolume(musicSlot, musicSlot->volume);
 			musicSlot->fadeSetVolume = false;
 		}
-	} else {
+	} else if (musicSlot->pMidiParser) {
 		// Update MIDI slots
 		if (musicSlot->signal == 0) {
 			if (musicSlot->dataInc != GET_SEL32V(_segMan, obj, SELECTOR(dataInc))) {
@@ -848,6 +848,11 @@
 			if (musicSlot->signal == SIGNAL_OFFSET)
 				cmdStopSound(obj, 0);
 		}
+	} else {
+		// Slot actually has no data (which would mean that a sound-resource w/ unsupported data is used
+		//  (example lsl5 - sound resource 744 - it's roland exclusive
+		PUT_SEL32V(_segMan, obj, SELECTOR(signal), SIGNAL_OFFSET);
+		// If we don't set signal here, at least the switch to the mud wrestling room in lsl5 will not work
 	}
 
 	if (musicSlot->fadeCompleted) {


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list