From 4dd72f0b3b6f92722e403eeb11f8227f6374f42c Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 5 Oct 2006 08:54:51 +0000 Subject: Fix loading position of initial items in Elvira 1/2 svn-id: r24122 --- engines/agos/rooms.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'engines/agos/rooms.cpp') 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(); -- cgit v1.2.3