[Scummvm-cvs-logs] CVS: scummvm/scumm sound.cpp,1.167,1.168

Max Horn fingolfin at users.sourceforge.net
Tue Jul 15 13:52:12 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv3828

Modified Files:
	sound.cpp 
Log Message:
temporary fix for bug #771562, I am working on a proper one now

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.167
retrieving revision 1.168
diff -u -d -r1.167 -r1.168
--- sound.cpp	15 Jul 2003 07:29:23 -0000	1.167
+++ sound.cpp	15 Jul 2003 20:51:18 -0000	1.168
@@ -562,7 +562,17 @@
 
 	if (_scumm->VAR(_scumm->VAR_TALK_ACTOR)) { //_sfxMode & 2) {
 		act = _scumm->VAR(_scumm->VAR_TALK_ACTOR);
-		finished = !_talkChannelHandle;
+
+		// FIXME: This was changed in the process of my COMI fixes.
+		// Problem is, 'finished' used to indicate if speech had
+		// been running but now is finished. But now, it'll be set
+		// even if there never has been any speech running (i.e. in
+		// all games which don't even use speech). This will have
+		// to be fixed properly! For now I am just disabling
+		// this for V2 games. A better fix would be to introduce a second
+		// variable which is set whenever speech is initiated, and reset
+		// when it stops (i.e. when _talkChannelHandle is 0).
+		finished = !_talkChannelHandle && (_scumm->_version > 2);
 
 		if (act != 0 && (uint) act < 0x80 && !_scumm->_string[0].no_talk_anim) {
 			a = _scumm->derefActor(act, "processSfxQueues");





More information about the Scummvm-git-logs mailing list