From 30b6a479e5b1510cb5157c72decdb24aa4c24ed1 Mon Sep 17 00:00:00 2001 From: Rodrigo Rebello Date: Sun, 2 Nov 2014 15:07:09 -0200 Subject: SCUMM: Fix bug #6679 - INDY3 DOS-EGA: book of maps graphic glitch Force correct width value for room 64 (book of maps) in Indy3. This works around the wrong value stored in the data files of a specific version of the game (DOS/EGA v1.0, according to scumm-md5.txt). --- engines/scumm/room.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'engines/scumm') 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]; -- cgit v1.2.3