diff options
-rw-r--r-- | scumm/script_v1.cpp | 6 | ||||
-rw-r--r-- | scumm/string.cpp | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/scumm/script_v1.cpp b/scumm/script_v1.cpp index 5170c9b276..54ba05e9aa 100644 --- a/scumm/script_v1.cpp +++ b/scumm/script_v1.cpp @@ -1894,7 +1894,6 @@ void Scumm::o5_roomOps() } _opcode = fetchScriptByte(); - switch (_opcode & 0x1F) { case 1: /* room scroll */ if (!(_features & GF_OLD256)) { @@ -2240,7 +2239,7 @@ void Scumm::o5_soundKludge() int i; if (_features & GF_SMALL_HEADER) // Is dummy function in - return; // SCUMM V3 + return; // SCUMM V3 for (i = 0; i < 15; i++) items[i] = 0; @@ -2693,7 +2692,8 @@ void Scumm::decodeParseString() textSlot = 0; } - setStringVars(textSlot); + if (_gameId != GID_INDY3_256) // Indy3 seems to need to keep the string positions. + setStringVars(textSlot); // See, for example, the text positioning in the grail diary while ((_opcode = fetchScriptByte()) != 0xFF) { switch (_opcode & 0xF) { diff --git a/scumm/string.cpp b/scumm/string.cpp index 3b33ba3d53..2f983bdbf8 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -692,6 +692,9 @@ void Scumm::drawString(int a) charset._ypos2 = charset._top; } + + _string[a].xpos = charset._strRight + 8; // Indy3: Fixes Grail Diary text positioning + if (_features & GF_AFTER_V7) { charset._hasMask = true; if (charset._strLeft < gdi._mask_left) |