[Scummvm-cvs-logs] CVS: scummvm/sky skychannel.cpp,1.1,1.2

Robert G?ffringmann lavosspawn at users.sourceforge.net
Thu Apr 24 16:53:02 CEST 2003


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv30955/sky

Modified Files:
	skychannel.cpp 
Log Message:
Fixed a bug with Mrs. Piermont's theme

Index: skychannel.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/skychannel.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- skychannel.cpp	21 Apr 2003 20:58:53 -0000	1.1
+++ skychannel.cpp	24 Apr 2003 23:52:03 -0000	1.2
@@ -147,11 +147,15 @@
 		} else {
 			_channelData.lastCommand = opcode;
 			stopNote();
-			setupInstrument(opcode);
+			// not sure why this "if" is necessary...either a bug in my
+			// code or a bug in the music data (section 1, music 2)
+			if (_channelData.instrumentData || _channelData.tremoVibro) {
+				setupInstrument(opcode);
 
-			opcode = _musicData[_channelData.eventDataPtr];
-			_channelData.eventDataPtr++;
-			setupChannelVolume(opcode);
+				opcode = _musicData[_channelData.eventDataPtr];
+				_channelData.eventDataPtr++;
+				setupChannelVolume(opcode);
+			} else _channelData.eventDataPtr++;
 		}
 		if (_channelData.channelActive)
 			_channelData.nextEventTime += getNextEventTime();
@@ -273,7 +277,7 @@
 
 	_channelData.freqOffset = _musicData[_channelData.eventDataPtr];
 	_channelData.eventDataPtr++;
-	if (_channelData.note) {
+	if (_channelData.note & 0x20) {
 		uint16 nextNote = getNextNote(
 			_channelData.lastCommand - 0x18 + _channelData.instrumentData->bindedEffect);
 		setRegister(0xA0|_channelData.adlibChannelNumber, (uint8)nextNote);





More information about the Scummvm-git-logs mailing list