aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2003-09-10 00:28:26 +0000
committerMax Horn2003-09-10 00:28:26 +0000
commit94c4cf0e55a2286cba82c5d1317ab85503f5124d (patch)
treec8b874422375b2380368e8b8055e45931d056df8
parentdeb4f6b78679527735225808161cc223d13dfa78 (diff)
downloadscummvm-rg350-94c4cf0e55a2286cba82c5d1317ab85503f5124d.tar.gz
scummvm-rg350-94c4cf0e55a2286cba82c5d1317ab85503f5124d.tar.bz2
scummvm-rg350-94c4cf0e55a2286cba82c5d1317ab85503f5124d.zip
fix for bug #770042 (LOOM: Some bits of dialogue are repeated)
svn-id: r10145
-rw-r--r--scumm/scummvm.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index 3acdf3ab40..76bcf2a607 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -1248,6 +1248,13 @@ int Scumm::scummLoop(int delta) {
if (VAR_EGO != 0xFF)
oldEgo = VAR(VAR_EGO);
+ // In V1-V3 games, CHARSET_1 is called much earlier than in newer games.
+ // See also bug #770042 for a case were this makes a difference.
+ // FIXME: Actually I am only sure that this is correct for V1-V2 and Loom.
+ // We should also check Indy3 & Zak256.
+ if (_version <= 3)
+ CHARSET_1();
+
processKbd();
if (_features & GF_NEW_CAMERA) {
@@ -1385,13 +1392,15 @@ load_game:
}
if (_currentRoom == 0) {
- CHARSET_1();
+ if (_version > 3)
+ CHARSET_1();
drawDirtyScreenParts();
} else {
walkActors();
moveCamera();
fixObjectFlags();
- CHARSET_1();
+ if (_version > 3)
+ CHARSET_1();
if (camera._cur.x != camera._last.x || _BgNeedsRedraw || _fullRedraw
|| ((_features & GF_NEW_CAMERA) && camera._cur.y != camera._last.y)) {