From 259e3cf301fea0bed648f77a9d3ae74560cc371c Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Fri, 10 Mar 2006 06:05:49 +0000 Subject: Adjust talk sound check in CHARSET_1(), since processSfxQueues() doesn't exist in HE games. Fixes glitch when time machine is used in putttime. svn-id: r21195 --- engines/scumm/actor.cpp | 2 +- engines/scumm/sound.cpp | 1 - engines/scumm/string.cpp | 9 +++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'engines') diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp index 1e313ce485..eaf9a89da2 100644 --- a/engines/scumm/actor.cpp +++ b/engines/scumm/actor.cpp @@ -1568,7 +1568,7 @@ void Actor::setActorCostume(int c) { if (_vm->_game.heversion >= 71 && _vm->getTalkingActor() == _number) { if (_vm->_game.heversion <= 95 || (_vm->_game.heversion >= 98 && _vm->VAR(_vm->VAR_SKIP_RESET_TALK_ACTOR) == 0)) { - //_vm->setTalkingActor(0); + _vm->setTalkingActor(0); } } } diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp index b4fb62cf34..361e13f15e 100644 --- a/engines/scumm/sound.cpp +++ b/engines/scumm/sound.cpp @@ -132,7 +132,6 @@ void Sound::addSoundToQueue2(int sound, int heOffset, int heChannel, int heFlags void Sound::processSound() { if (_vm->_game.heversion >= 60) { processSoundQueues(); - processSfxQueues(); } else { processSfxQueues(); diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp index bdfafc513b..b2eb1eee75 100644 --- a/engines/scumm/string.cpp +++ b/engines/scumm/string.cpp @@ -476,8 +476,13 @@ void ScummEngine::CHARSET_1() { return; if ((_game.version <= 6 && _haveMsg == 1) || (_game.version == 7 && _haveMsg != 1) || (_game.version == 8 && VAR(VAR_HAVE_MSG))) { - if ((_sound->_sfxMode & 2) == 0) - stopTalk(); + if (_game.heversion >= 60) { + if (_sound->isSoundRunning(1) == 0) + stopTalk(); + } else { + if ((_sound->_sfxMode & 2) == 0) + stopTalk(); + } return; } -- cgit v1.2.3