diff options
author | Walter van Niftrik | 2016-03-26 14:54:04 +0100 |
---|---|---|
committer | Walter van Niftrik | 2016-06-06 20:35:49 +0200 |
commit | aa661fae5c3a6be2d09a0a6632770131ff02c550 (patch) | |
tree | b7574d3f3c76e7cc79340c5c62507db9b8646e80 /engines | |
parent | 41e82276379f87c74675cc34b682bc69bced865e (diff) | |
download | scummvm-rg350-aa661fae5c3a6be2d09a0a6632770131ff02c550.tar.gz scummvm-rg350-aa661fae5c3a6be2d09a0a6632770131ff02c550.tar.bz2 scummvm-rg350-aa661fae5c3a6be2d09a0a6632770131ff02c550.zip |
ADL: Fix room loading in hires2
Diffstat (limited to 'engines')
-rw-r--r-- | engines/adl/hires2.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/engines/adl/hires2.cpp b/engines/adl/hires2.cpp index 39f2199e6a..d4f1c09499 100644 --- a/engines/adl/hires2.cpp +++ b/engines/adl/hires2.cpp @@ -214,6 +214,7 @@ void HiRes2Engine::loadRoom(byte roomNr) { uint16 descOffset = stream->readUint16LE(); uint16 commandOffset = stream->readUint16LE(); + _roomData.pictures.clear(); // There's no picture count. The original engine always checks at most // five pictures. We use the description offset to bound our search. uint16 picCount = (descOffset - 4) / 5; @@ -226,8 +227,11 @@ void HiRes2Engine::loadRoom(byte roomNr) { _roomData.description = readStringAt(*stream, descOffset, 0xff); - stream->seek(commandOffset); - readCommands(*stream, _roomData.commands); + _roomData.commands.clear(); + if (commandOffset != 0) { + stream->seek(commandOffset); + readCommands(*stream, _roomData.commands); + } } void HiRes2Engine::showRoom() { |