aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2006-08-26 22:02:16 +0000
committerMax Horn2006-08-26 22:02:16 +0000
commit89e75ae218c359e949c0336181e0f79eb2137667 (patch)
tree50e83e403cf713558dcd0f8c116361084b4bcbcb
parent11b7cfca101b4a05cd8a0d9b61c4ae4ba7e99eea (diff)
downloadscummvm-rg350-89e75ae218c359e949c0336181e0f79eb2137667.tar.gz
scummvm-rg350-89e75ae218c359e949c0336181e0f79eb2137667.tar.bz2
scummvm-rg350-89e75ae218c359e949c0336181e0f79eb2137667.zip
WORKAROUND for bug #1514457: INDY3: Crash in castle Brunwald (german version).
svn-id: r23765
-rw-r--r--engines/scumm/string.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp
index fa7bd5d6a6..19b51b6147 100644
--- a/engines/scumm/string.cpp
+++ b/engines/scumm/string.cpp
@@ -844,6 +844,16 @@ int ScummEngine::convertMessageToString(const byte *msg, byte *dst, int dstSize)
*dst++ = 0xE1;
continue;
}
+
+ // WORKAROUND for bug #1514457: Yet another script bug in Indy3.
+ // Once more a german 'sz' was encoded incorrectly, but this time
+ // they simply encoded it as 0xFF instead of 0xE1. Happens twice
+ // in script 71.
+ if (_game.id == GID_INDY3 && chr == 0x20 && vm.slot[_currentScript].number == 71) {
+ num--;
+ *dst++ = 0xE1;
+ continue;
+ }
if (chr == 1 || chr == 2 || chr == 3 || chr == 8) {
// Simply copy these special codes