aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/hires2.cpp
diff options
context:
space:
mode:
authorWalter van Niftrik2016-03-26 14:54:04 +0100
committerWalter van Niftrik2016-06-06 20:35:49 +0200
commitaa661fae5c3a6be2d09a0a6632770131ff02c550 (patch)
treeb7574d3f3c76e7cc79340c5c62507db9b8646e80 /engines/adl/hires2.cpp
parent41e82276379f87c74675cc34b682bc69bced865e (diff)
downloadscummvm-rg350-aa661fae5c3a6be2d09a0a6632770131ff02c550.tar.gz
scummvm-rg350-aa661fae5c3a6be2d09a0a6632770131ff02c550.tar.bz2
scummvm-rg350-aa661fae5c3a6be2d09a0a6632770131ff02c550.zip
ADL: Fix room loading in hires2
Diffstat (limited to 'engines/adl/hires2.cpp')
-rw-r--r--engines/adl/hires2.cpp8
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() {