From ccb8a01b179a40847d670f1510bf715d99b96fbd Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Tue, 28 Dec 2010 06:05:57 +0000 Subject: SCUMM: Correct fix for bug #3145951 - DIG: Subtitles won't turn off (regression). svn-id: r55053 --- engines/scumm/actor.cpp | 2 +- engines/scumm/string.cpp | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) (limited to 'engines') 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); -- cgit v1.2.3