aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorJonathan Gray2003-08-28 14:25:29 +0000
committerJonathan Gray2003-08-28 14:25:29 +0000
commit62f94f15be6ac784374b771c1324b85b331906f9 (patch)
tree3bafafd92a100d46712fa07796b0daf4eedf2bd5 /scumm
parent259fb4245982bc3f50454e19533f9afcf45fab55 (diff)
downloadscummvm-rg350-62f94f15be6ac784374b771c1324b85b331906f9.tar.gz
scummvm-rg350-62f94f15be6ac784374b771c1324b85b331906f9.tar.bz2
scummvm-rg350-62f94f15be6ac784374b771c1324b85b331906f9.zip
clean up humongous v7 index file block handling
svn-id: r9893
Diffstat (limited to 'scumm')
-rw-r--r--scumm/resource.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/scumm/resource.cpp b/scumm/resource.cpp
index 79ef9c0088..f49f321666 100644
--- a/scumm/resource.cpp
+++ b/scumm/resource.cpp
@@ -315,7 +315,6 @@ void Scumm::readIndexFile() {
else
num = _fileHandle.readUint16LE();
assert(num == _numGlobalObjects);
-
if (_version == 8) { /* FIXME: Not sure.. */
char buffer[40];
@@ -341,8 +340,8 @@ void Scumm::readIndexFile() {
_objectOwnerTable[i] &= OF_OWNER_MASK;
}
if (_features & GF_AFTER_HEV7) {
- // FIXME nasty nasty hack handle properly...
- _fileHandle.seek(num * 6000, SEEK_CUR);
+ // _objectRoomTable
+ _fileHandle.seek(num * 4, SEEK_CUR);
}
}
@@ -362,8 +361,10 @@ void Scumm::readIndexFile() {
break;
case MKID('DLFL'):
- _HEV7RoomOffsets = (byte *)calloc(itemsize - 8, 1);
- _fileHandle.read(_HEV7RoomOffsets, itemsize - 8);
+ i = _fileHandle.readUint16LE();
+ _fileHandle.seek(-2, SEEK_CUR);
+ _HEV7RoomOffsets = (byte *)calloc(2 + (i * 4), 1);
+ _fileHandle.read(_HEV7RoomOffsets, (2 + (i * 4)) );
break;
case MKID('DIRI'):