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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Fri Jun 18 15:36:29 CEST 2010


Revision: 50018
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50018&view=rev
Author:   m_kiewitz
Date:     2010-06-18 13:36:29 +0000 (Fri, 18 Jun 2010)

Log Message:
-----------
SCI: implementing fading for sci1 only for used channels of the object, fixes lsl1 music issues when going right at the start

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

Modified: scummvm/trunk/engines/sci/sound/midiparser_sci.cpp
===================================================================
--- scummvm/trunk/engines/sci/sound/midiparser_sci.cpp	2010-06-18 13:05:08 UTC (rev 50017)
+++ scummvm/trunk/engines/sci/sound/midiparser_sci.cpp	2010-06-18 13:36:29 UTC (rev 50018)
@@ -646,10 +646,10 @@
 
 		case SCI_VERSION_1_EARLY:
 		case SCI_VERSION_1_LATE:
-			// sending volume change to all active channels
-			for (int i = 0; i < _track->channelCount; i++)
-				if (_track->channels[i].number <= 0xF)
-					_driver->send(0xB0 + _track->channels[i].number, 7, _volume);
+			// sending volume change to all used channels
+			for (int i = 0; i < 15; i++)
+				if (_channelUsed[i])
+					sendToDriver(0xB0 + i, 7, _volume);
 			break;
 
 		default:

Modified: scummvm/trunk/engines/sci/sound/midiparser_sci.h
===================================================================
--- scummvm/trunk/engines/sci/sound/midiparser_sci.h	2010-06-18 13:05:08 UTC (rev 50017)
+++ scummvm/trunk/engines/sci/sound/midiparser_sci.h	2010-06-18 13:36:29 UTC (rev 50018)
@@ -77,6 +77,9 @@
 
 	void tryToOwnChannels();
 	void sendToDriver(uint32 b);
+	void sendToDriver(byte status, byte firstOp, byte secondOp) {
+		sendToDriver(status | ((uint32)firstOp << 8) | ((uint32)secondOp << 16));
+	}
 
 protected:
 	void parseNextEvent(EventInfo &info);


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