diff options
author | Rodrigo Rebello | 2014-11-02 15:07:09 -0200 |
---|---|---|
committer | Rodrigo Rebello | 2014-11-30 13:30:00 -0200 |
commit | 30b6a479e5b1510cb5157c72decdb24aa4c24ed1 (patch) | |
tree | b89958389647b1042cbbb32a95c2ea4268417c99 /engines | |
parent | 244da223bd44759febbc8d5ff3044c1bbc61ae07 (diff) | |
download | scummvm-rg350-30b6a479e5b1510cb5157c72decdb24aa4c24ed1.tar.gz scummvm-rg350-30b6a479e5b1510cb5157c72decdb24aa4c24ed1.tar.bz2 scummvm-rg350-30b6a479e5b1510cb5157c72decdb24aa4c24ed1.zip |
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).
Diffstat (limited to 'engines')
-rw-r--r-- | engines/scumm/room.cpp | 9 |
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]; |