[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.228,1.229 actor.h,1.50,1.51 script_v8.cpp,2.226,2.227

Pawel Kolodziejski aquadran at users.sourceforge.net
Mon Feb 9 00:09:03 CET 2004


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

Modified Files:
	actor.cpp actor.h script_v8.cpp 
Log Message:
added talkVolume, and changed talkPan call method

Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.228
retrieving revision 1.229
diff -u -d -r1.228 -r1.229
--- actor.cpp	6 Feb 2004 14:16:14 -0000	1.228
+++ actor.cpp	9 Feb 2004 08:05:23 -0000	1.229
@@ -104,10 +104,11 @@
 	forceClip = 0;
 	ignoreTurns = false;
 	flip = 0;
-	
+
 	talkFrequency = 256;
 	talkPan = 64;
-	
+	talkVolume = 127;
+
 	if (_vm->_version <= 2) {
 		initFrame = 2;
 		walkFrame = 0;

Index: actor.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.h,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- actor.h	16 Jan 2004 01:52:49 -0000	1.50
+++ actor.h	9 Feb 2004 08:05:23 -0000	1.51
@@ -26,7 +26,6 @@
 
 #include "common/scummsys.h"
 #include "scumm/scumm.h"
-
 namespace Scumm {
 
 enum MoveFlags {
@@ -92,6 +91,7 @@
 	byte talkColor;
 	int talkFrequency;
 	byte talkPan;
+	byte talkVolume;
 	byte scalex, scaley;
 	byte charset;
 	byte moving;

Index: script_v8.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v8.cpp,v
retrieving revision 2.226
retrieving revision 2.227
diff -u -d -r2.226 -r2.227
--- script_v8.cpp	31 Jan 2004 22:11:01 -0000	2.226
+++ script_v8.cpp	9 Feb 2004 08:05:23 -0000	2.227
@@ -1078,9 +1078,8 @@
 		a->moving &= ~MF_FROZEN;
 		break;
 	case 0x87:		// SO_ACTOR_VOLUME Set volume of actor speech
-		// TODO - implement this!
-		i = pop();
-		warning("o8_actorOps: setActorVolume(%d) not implemented", i);
+		a->talkVolume = pop();
+		_imuseDigital->setVolume(kTalkSoundID, a->talkVolume);
 		break;
 	case 0x88:		// SO_ACTOR_FREQUENCY Set frequency of actor speech
 		a->talkFrequency = pop();
@@ -1088,14 +1087,8 @@
 	case 0x89:		// SO_ACTOR_PAN
 		// 0 = left, 64 = middle, 127 = right.
 		a->talkPan = pop();
-
-		// If the actor is talking at the moment, adjust the panning
-		// on the current talk channel handle. (If the handle is 0,
-		// setChannelPan() won't do anything.)
-
 		if (_actorToPrintStrFor == a->number) {
-			if (_sound->isSoundRunning(kTalkSoundID))
-				_imuseDigital->parseScriptCmds(12, 0x700, kTalkSoundID, a->talkPan, 0, 0, 0, 0);
+			_imuseDigital->setPan(kTalkSoundID, a->talkPan);
 		}
 
 		break;





More information about the Scummvm-git-logs mailing list