diff options
author | Travis Howell | 2006-10-05 08:54:51 +0000 |
---|---|---|
committer | Travis Howell | 2006-10-05 08:54:51 +0000 |
commit | 4dd72f0b3b6f92722e403eeb11f8227f6374f42c (patch) | |
tree | c10f4384586b56d55af4bb1e209c41759e18d37a /engines/agos/rooms.cpp | |
parent | 5074da16d33c0de24ec99e6773c66600f5c75962 (diff) | |
download | scummvm-rg350-4dd72f0b3b6f92722e403eeb11f8227f6374f42c.tar.gz scummvm-rg350-4dd72f0b3b6f92722e403eeb11f8227f6374f42c.tar.bz2 scummvm-rg350-4dd72f0b3b6f92722e403eeb11f8227f6374f42c.zip |
Fix loading position of initial items in Elvira 1/2
svn-id: r24122
Diffstat (limited to 'engines/agos/rooms.cpp')
-rw-r--r-- | engines/agos/rooms.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/engines/agos/rooms.cpp b/engines/agos/rooms.cpp index e321485e53..f980d9eeae 100644 --- a/engines/agos/rooms.cpp +++ b/engines/agos/rooms.cpp @@ -102,14 +102,11 @@ bool AGOSEngine::loadRoomItems(uint item) { p++; for (;;) { - min_num = (p[0] * 256) | p[1]; - p += 2; - + min_num = READ_BE_UINT16(p); p += 2; if (min_num == 0) break; - max_num = (p[0] * 256) | p[1]; - p += 2; + max_num = READ_BE_UINT16(p); p += 2; if (item >= min_num && item <= max_num) { @@ -118,9 +115,8 @@ bool AGOSEngine::loadRoomItems(uint item) { error("loadRoomItems: Can't load rooms file '%s'", filename); } - for (i = min_num; i <= max_num; i++) { + while ((i = in.readUint16BE()) != 0) { _itemArrayPtr[i] = (Item *)allocateItem(sizeof(Item)); - in.readUint16BE(); readItemFromGamePc(&in, _itemArrayPtr[i]); } in.close(); |