aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorMax Horn2004-04-05 23:56:28 +0000
committerMax Horn2004-04-05 23:56:28 +0000
commit92301bff74df94d982aba13b80ca9d8541754c09 (patch)
tree27208fa88813de702157ca5542ea4d379c89fc91 /scumm
parent17fe0497f5816c4f858ab45cbf5fe6e8f7ec2a74 (diff)
downloadscummvm-rg350-92301bff74df94d982aba13b80ca9d8541754c09.tar.gz
scummvm-rg350-92301bff74df94d982aba13b80ca9d8541754c09.tar.bz2
scummvm-rg350-92301bff74df94d982aba13b80ca9d8541754c09.zip
Replaced FIXME with proper explanation and code (the previous hack was actually correct, just incomplete)
svn-id: r13477
Diffstat (limited to 'scumm')
-rw-r--r--scumm/script_v5.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp
index 6eeb983eee..3d50febab3 100644
--- a/scumm/script_v5.cpp
+++ b/scumm/script_v5.cpp
@@ -2701,17 +2701,16 @@ void ScummEngine_v5::decodeParseString() {
break;
}
- // FIXME: Store positions, this is needed for Indy3 (Grail Diary)..
- // I don't believe this is the correct fix, may cause other problems
- // later in the game.
+ // In SCUMM V1-V3, there were no 'default' values for the text slot
+ // values. Hence to achieve correct behaviour, we have to keep the
+ // 'default' values in sync with the active values. To do that we
+ // simply call saveDefault() on the StringTab in question.
//
- // It's also needed for Loom, or the lines Bobbin
- // speaks during the intro are put at position 0,0.
- // In addition, Loom needs to remember the text colour.
- if (_gameId == GID_LOOM || _gameId == GID_INDY3) {
- _string[textSlot]._default.xpos = _string[textSlot].xpos;
- _string[textSlot]._default.ypos = _string[textSlot].ypos;
- _string[textSlot]._default.color = _string[textSlot].color;
+ // Note: This is needed for Indy3 (Grail Diary). It's also needed
+ // for Loom, or the lines Bobbin speaks during the intro are put
+ // at position 0,0.
+ if (_version <= 3) {
+ _string[textSlot].saveDefault();
}
return;
default: