diff options
author | Travis Howell | 2010-12-28 06:05:57 +0000 |
---|---|---|
committer | Travis Howell | 2010-12-28 06:05:57 +0000 |
commit | ccb8a01b179a40847d670f1510bf715d99b96fbd (patch) | |
tree | 0a09842855b27d012d1cd3acb488528728e9020f | |
parent | cfbac503addad7af26a5d9f8795edfd229faefb0 (diff) | |
download | scummvm-rg350-ccb8a01b179a40847d670f1510bf715d99b96fbd.tar.gz scummvm-rg350-ccb8a01b179a40847d670f1510bf715d99b96fbd.tar.bz2 scummvm-rg350-ccb8a01b179a40847d670f1510bf715d99b96fbd.zip |
SCUMM: Correct fix for bug #3145951 - DIG: Subtitles won't turn off (regression).
svn-id: r55053
-rw-r--r-- | engines/scumm/actor.cpp | 2 | ||||
-rw-r--r-- | engines/scumm/string.cpp | 5 |
2 files changed, 2 insertions, 5 deletions
diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp index ca1dc8869f..5906545917 100644 --- a/engines/scumm/actor.cpp +++ b/engines/scumm/actor.cpp @@ -2037,7 +2037,7 @@ void ScummEngine_v7::actorTalk(const byte *msg) { _haveMsg = 1; if (_game.id == GID_FT) VAR(VAR_HAVE_MSG) = 0xFF; - _haveActorSpeechMsg = true; + _haveActorSpeechMsg = (_game.id == GID_FT) ? true : (!_sound->isSoundRunning(kTalkSoundID)); if (_game.id == GID_DIG || _game.id == GID_CMI) { stringWrap = _string[0].wrapping; _string[0].wrapping = true; diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp index 04ff72ec02..2dfa9da723 100644 --- a/engines/scumm/string.cpp +++ b/engines/scumm/string.cpp @@ -224,10 +224,7 @@ void ScummEngine_v6::removeBlastTexts() { void ScummEngine_v7::processSubtitleQueue() { for (int i = 0; i < _subtitleQueuePos; ++i) { SubtitleText *st = &_subtitleQueue[i]; - if ((_game.id == GID_DIG || _game.id == GID_CMI) && (!ConfMan.getBool("subtitles") || VAR(VAR_VOICE_MODE) == 0)) - // subtitles are disabled, don't display the text - continue; - if (_game.id == GID_FT && !st->actorSpeechMsg && (!ConfMan.getBool("subtitles") || VAR(VAR_VOICE_MODE) == 0)) + if (!st->actorSpeechMsg && (!ConfMan.getBool("subtitles") || VAR(VAR_VOICE_MODE) == 0)) // no subtitles and there's a speech variant of the message, don't display the text continue; enqueueText(st->text, st->xpos, st->ypos, st->color, st->charset, false); |