[Scummvm-cvs-logs] CVS: scummvm/scumm sound_he.cpp,2.14,2.15

kirben kirben at users.sourceforge.net
Mon Jan 16 01:28:20 CET 2006


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12723/scumm

Modified Files:
	sound_he.cpp 
Log Message:

Small correction to sound opcodes in HE games.


Index: sound_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound_he.cpp,v
retrieving revision 2.14
retrieving revision 2.15
diff -u -d -r2.14 -r2.15
--- sound_he.cpp	15 Jan 2006 11:12:57 -0000	2.14
+++ sound_he.cpp	16 Jan 2006 09:27:36 -0000	2.15
@@ -107,7 +107,7 @@
 	}
 
 	if (chan != -1) {
-		debug(0, "getSoundVar: sound %d var %d result %d", sound, var, _heChannel[chan].soundVars[var]);
+		debug(1, "getSoundVar: sound %d var %d result %d", sound, var, _heChannel[chan].soundVars[var]);
 		return _heChannel[chan].soundVars[var];
 	} else {
 		return 0;
@@ -124,7 +124,7 @@
 	}
 
 	if (chan != -1) {
-		debug(0, "setSoundVar: sound %d var %d val %d", sound, var, val);
+		debug(1, "setSoundVar: sound %d var %d val %d", sound, var, val);
 		_heChannel[chan].soundVars[var] = val;
 	}
 }
@@ -220,7 +220,7 @@
 				break;
 			}
 
-			debug(1, "Channel %d Timer %d Time %d", chan,tmr, time);
+			debug(1, "Channel %d Timer %d Time %d", chan, tmr, time);
 			if (time >= tmr)
 				break;
 
@@ -263,14 +263,18 @@
 		case 48: // Add
 			var = READ_LE_UINT16(codePtr); codePtr += 2;;
 			val = READ_LE_UINT16(codePtr); codePtr += 2;;
-
+			if (edi == 2) {
+				val = getSoundVar(sound, val);
+			}
 			val = getSoundVar(sound, var) + val;
 			setSoundVar(sound, var, val);
 			break;
 		case 56: // Subtract
 			var = READ_LE_UINT16(codePtr); codePtr += 2;;
 			val = READ_LE_UINT16(codePtr); codePtr += 2;;
-
+			if (edi == 2) {
+				val = getSoundVar(sound, val);
+			}
 			val = getSoundVar(sound, var) - val;
 			setSoundVar(sound, var, val);
 			break;
@@ -280,7 +284,6 @@
 			if (edi == 2) {
 				val = getSoundVar(sound, val);
 			}
-
 			val = getSoundVar(sound, var) * val;
 			setSoundVar(sound, var, val);
 			break;
@@ -322,12 +325,12 @@
 
 	debug(0,"playHESound: soundID %d heOffset %d heChannel %d heFlags %d", soundID, heOffset, heChannel, heFlags);
 
-	if (soundID > _vm->_numSounds) {
-		if (soundID >= 10000) {
-			// Special codes, used in pjgames
-			return;
-		}
+	if (soundID >= 10000) {
+		// Special codes, used in pjgames
+		return;
+	}
 
+	if (soundID > _vm->_numSounds) {
 		int music_offs;
 		char buf[32], buf1[128];
 		Common::File musicFile;





More information about the Scummvm-git-logs mailing list