aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sherlock/tattoo/tattoo_talk.cpp9
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);