aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v1.cpp
diff options
context:
space:
mode:
authorJames Brown2002-11-04 08:09:01 +0000
committerJames Brown2002-11-04 08:09:01 +0000
commit2442bce6f376e080e770e5d5380d817f6da6e043 (patch)
tree40e730b3dfd7875262be3fd6dc8d3e1c9d5d8090 /scumm/script_v1.cpp
parent1cc25f5bbd334e43615e2f0c6a891ff7e83065b0 (diff)
downloadscummvm-rg350-2442bce6f376e080e770e5d5380d817f6da6e043.tar.gz
scummvm-rg350-2442bce6f376e080e770e5d5380d817f6da6e043.tar.bz2
scummvm-rg350-2442bce6f376e080e770e5d5380d817f6da6e043.zip
Correct Indy3 grail diary fix - this stops those nasty segfaults ;p
svn-id: r5402
Diffstat (limited to 'scumm/script_v1.cpp')
-rw-r--r--scumm/script_v1.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/scumm/script_v1.cpp b/scumm/script_v1.cpp
index 54ba05e9aa..170b06d05d 100644
--- a/scumm/script_v1.cpp
+++ b/scumm/script_v1.cpp
@@ -2692,8 +2692,7 @@ void Scumm::decodeParseString()
textSlot = 0;
}
- 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
+ setStringVars(textSlot);
while ((_opcode = fetchScriptByte()) != 0xFF) {
switch (_opcode & 0xF) {
@@ -2757,6 +2756,12 @@ void Scumm::decodeParseString()
unkMessage2();
break;
}
+
+ // FIXME: Store positions, this is needed for Indy3 (Grail Diary)..
+ // I'm not sure whether having this as a generic case will break anything
+ _string[textSlot].t_xpos = _string[textSlot].xpos;
+ _string[textSlot].t_ypos = _string[textSlot].ypos;
+
_scriptPointer = _messagePtr;
return;
default: