diff options
-rw-r--r-- | engines/sci/engine/message.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/sci/engine/message.cpp b/engines/sci/engine/message.cpp index dbb936263e..6af207add7 100644 --- a/engines/sci/engine/message.cpp +++ b/engines/sci/engine/message.cpp @@ -453,9 +453,14 @@ Common::String MessageState::processString(const char *s, uint32 maxLength) { uint index = 0; while (index < inStr.size() && index < maxLength) { - // Check for hex escape sequence - if (stringHex(outStr, inStr, index)) - continue; + // Check for hex escape sequence. + // SQ4CD predates this interpreter feature but has a message on the + // hintbook screen which appears to contain hex strings and renders + // incorrectly if converted, so exclude it. Fixes #11070 + if (g_sci->getGameId() != GID_SQ4) { + if (stringHex(outStr, inStr, index)) + continue; + } // Check for literal escape sequence if (stringLit(outStr, inStr, index)) |