aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-03-10 06:05:49 +0000
committerTravis Howell2006-03-10 06:05:49 +0000
commit259e3cf301fea0bed648f77a9d3ae74560cc371c (patch)
tree3d4447e4cdc14469fe11ad7dc61d7f28b22b5792
parentde1cd95927fbf954cbce695093dffe08961d531d (diff)
downloadscummvm-rg350-259e3cf301fea0bed648f77a9d3ae74560cc371c.tar.gz
scummvm-rg350-259e3cf301fea0bed648f77a9d3ae74560cc371c.tar.bz2
scummvm-rg350-259e3cf301fea0bed648f77a9d3ae74560cc371c.zip
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
-rw-r--r--engines/scumm/actor.cpp2
-rw-r--r--engines/scumm/sound.cpp1
-rw-r--r--engines/scumm/string.cpp9
3 files changed, 8 insertions, 4 deletions
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;
}