diff options
-rw-r--r-- | engines/sherlock/tattoo/tattoo_talk.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/engines/sherlock/tattoo/tattoo_talk.cpp b/engines/sherlock/tattoo/tattoo_talk.cpp index 9aa1390462..731e3a0e56 100644 --- a/engines/sherlock/tattoo/tattoo_talk.cpp +++ b/engines/sherlock/tattoo/tattoo_talk.cpp @@ -189,17 +189,18 @@ void TattooTalk::talkInterface(const byte *&str) { TattooUserInterface &ui = *(TattooUserInterface *)_vm->_ui; const byte *s = str; - _wait = 1; - if (!vm._textWindowsOn && sound._speechOn && _speaker != -1) - return; - // Move to past the end of the text string + _wait = 1; _charCount = 0; while ((*str < TATTOO_OPCODES[0] || *str == TATTOO_OPCODES[OP_NULL]) && *str) { ++_charCount; ++str; } + // If speech is on, and text windows (subtitles) are off, then don't show the text window + if (!vm._textWindowsOn && sound._speechOn && _speaker != -1) + return; + // Display the text window ui.banishWindow(); ui._textWidget.load(Common::String((const char *)s, (const char *)str), _speaker); |