aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/scumm/room.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/scumm/room.cpp b/engines/scumm/room.cpp
index 3828629997..4b59e22408 100644
--- a/engines/scumm/room.cpp
+++ b/engines/scumm/room.cpp
@@ -614,6 +614,15 @@ void ScummEngine_v3old::setupRoomSubBlocks() {
}
} else {
_roomWidth = READ_LE_UINT16(&(rmhd->old.width));
+
+ // WORKAROUND: Fix bad width value for room 64 (book of maps) in
+ // Indy3. A specific version of this game (DOS/EGA v1.0, according to
+ // scumm-md5.txt) has a wrong width of 1793 stored in the data files,
+ // which causes a strange situation in which the book view may scroll
+ // towards the right depending on Indy's position from the previous room.
+ // Fixes bug #6679.
+ if (_game.id == GID_INDY3 && _roomResource == 64 && _roomWidth == 1793)
+ _roomWidth = 320;
_roomHeight = READ_LE_UINT16(&(rmhd->old.height));
}
_numObjectsInRoom = roomptr[20];