aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/resource.cpp21
1 files changed, 6 insertions, 15 deletions
diff --git a/scumm/resource.cpp b/scumm/resource.cpp
index e37b9a94d7..6224b95e35 100644
--- a/scumm/resource.cpp
+++ b/scumm/resource.cpp
@@ -364,25 +364,16 @@ void Scumm::readIndexFile()
void Scumm::readArrayFromIndexFile()
{
int num;
- int a, b, c, d;
+ int a, b, c;
if (_features & GF_AFTER_V8) {
- // FIXME - I am not quite sure how to interpret the AARY format of COMI.
- // Each entry seems to be 12 bytes, while in V7 games it is only 8 bytes.
- // 2 of the additional bytes seem to be used for num. But what about the
- // other 2?. Either one of the three fields grew, too (but which). Or there
- // is a new field, but then what does it mean? Endy or ludde probably know more :-)
+ // FIXME - this is just a guess
while ((num = _fileHandle.readUint32LE()) != 0) {
- a = _fileHandle.readUint16LE();
- b = _fileHandle.readUint16LE();
- c = _fileHandle.readUint16LE();
- d = _fileHandle.readUint16LE();
+ a = _fileHandle.readUint32LE();
+ b = _fileHandle.readUint32LE();
- printf("Reading array (0x%08x,%d,%d,%d,%d) - (pos = 0x%08x)\n", num, a, b, c, d, _fileHandle.pos());
- if (c == 1)
- defineArray(num, 1, a, b);
- else
- defineArray(num, 5, a, b);
+ printf("Reading array (0x%08x,%d,%d) - (pos = 0x%08x)\n", num, a, b, _fileHandle.pos());
+ defineArray(num, 0, a, b);
}
} else {
while ((num = _fileHandle.readUint16LE()) != 0) {