aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/rooms.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-10-05 08:54:51 +0000
committerTravis Howell2006-10-05 08:54:51 +0000
commit4dd72f0b3b6f92722e403eeb11f8227f6374f42c (patch)
treec10f4384586b56d55af4bb1e209c41759e18d37a /engines/agos/rooms.cpp
parent5074da16d33c0de24ec99e6773c66600f5c75962 (diff)
downloadscummvm-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.cpp10
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();