[Scummvm-cvs-logs] SF.net SVN: scummvm:[46567] scummvm/trunk/engines/sci/resource.cpp

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Fri Dec 25 23:58:45 CET 2009


Revision: 46567
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46567&view=rev
Author:   m_kiewitz
Date:     2009-12-25 22:58:45 +0000 (Fri, 25 Dec 2009)

Log Message:
-----------
SCI/newmusic: Added comments about sound resource headers

Modified Paths:
--------------
    scummvm/trunk/engines/sci/resource.cpp

Modified: scummvm/trunk/engines/sci/resource.cpp
===================================================================
--- scummvm/trunk/engines/sci/resource.cpp	2009-12-25 22:14:41 UTC (rev 46566)
+++ scummvm/trunk/engines/sci/resource.cpp	2009-12-25 22:58:45 UTC (rev 46567)
@@ -1948,8 +1948,12 @@
 			reverseHardwareMask = 0x08;
 			break;
 		}
-		// Control-Channel -> where bit 0 is not set, bit 3 is set
 		data++; // Skip over digital sample flag
+		// Now all 16 channels follow. Each one is specified by a single byte
+		// Upper 4 bits of the byte is a voices count
+		// Lower 4 bits -> bit 0 means use as Adlib driver
+		//				   bit 1 means use as PCjr driver
+		//				   bit 3 means is control channel (bit 0 needs to be unset)
 		for (int channelNr = 0; channelNr < 16; channelNr++) {
 			channelMask = channelMask >> 1;
 			if (*data & hardwareMask) {
@@ -1969,6 +1973,9 @@
 
 	case SCI_VERSION_0_LATE:
 		data++; // Skip over digital sample flag
+		// Now all 16 channels follow. Each one is specified by 2 bytes
+		// 1st byte is voices count
+		// 2nd byte is play-mask which specifies if the channel is supposed to get played by the corresponding hardware
 		for (int channelNr = 0; channelNr < 16; channelNr++) {
 			data++;
 			channelMask = channelMask >> 1;


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