diff options
Diffstat (limited to 'scumm/sound.cpp')
| -rw-r--r-- | scumm/sound.cpp | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/scumm/sound.cpp b/scumm/sound.cpp index 7b788fe81e..ade35e7d6f 100644 --- a/scumm/sound.cpp +++ b/scumm/sound.cpp @@ -515,7 +515,7 @@ void Sound::processSfxQueues() {  			finished = !_talkChannelHandle.isActive();  		} -		if ((uint) act < 0x80 && !_vm->_string[0].no_talk_anim && (finished || !_endOfMouthSync)) { +		if ((uint) act < 0x80 && ((_vm->_version == 8) || (_vm->_version <= 7 && !_vm->_string[0].no_talk_anim)) && (finished || !_endOfMouthSync)) {  			a = _vm->derefActor(act, "processSfxQueues");  			if (a->isInCurrentRoom()) {  				b = finished || isMouthSyncOff(_curSoundPos); @@ -531,7 +531,8 @@ void Sound::processSfxQueues() {  		}  		if ((!ConfMan.getBool("subtitles") && finished && _vm->_version <= 6) || (finished && _vm->_talkDelay == 0)) { -			_vm->stopTalk(); +			if (!(_vm->_version == 8 && _vm->VAR(_vm->VAR_HAVE_MSG) == 0)) +				_vm->stopTalk();  		}  	} | 
