aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/resource_v2.cpp
diff options
context:
space:
mode:
authorMax Horn2007-04-01 15:58:34 +0000
committerMax Horn2007-04-01 15:58:34 +0000
commit2447752a51ded9f6f70d392c8f572dd94eb5d65c (patch)
tree20c8077f00513839eed5e3fa949e204abb21898f /engines/scumm/resource_v2.cpp
parenta97ab92dd95ead2bda8f99db163896d479adf886 (diff)
downloadscummvm-rg350-2447752a51ded9f6f70d392c8f572dd94eb5d65c.tar.gz
scummvm-rg350-2447752a51ded9f6f70d392c8f572dd94eb5d65c.tar.bz2
scummvm-rg350-2447752a51ded9f6f70d392c8f572dd94eb5d65c.zip
Reverted my roomoffs changes (broke the Loom intro), and instead added the constant RES_INVALID_OFFSET to indicate an invalid room offset
svn-id: r26353
Diffstat (limited to 'engines/scumm/resource_v2.cpp')
-rw-r--r--engines/scumm/resource_v2.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/engines/scumm/resource_v2.cpp b/engines/scumm/resource_v2.cpp
index 3e14f5a6ff..08393da708 100644
--- a/engines/scumm/resource_v2.cpp
+++ b/engines/scumm/resource_v2.cpp
@@ -91,28 +91,36 @@ void ScummEngine_v2::readClassicIndexFile() {
}
_fileHandle->seek(_numRooms, SEEK_CUR);
for (i = 0; i < _numRooms; i++) {
- _res->roomoffs[rtRoom][i] = _fileHandle->readSint16LE();
+ _res->roomoffs[rtRoom][i] = _fileHandle->readUint16LE();
+ if (_res->roomoffs[rtRoom][i] == 0xFFFF)
+ _res->roomoffs[rtRoom][i] = RES_INVALID_OFFSET;
}
for (i = 0; i < _numCostumes; i++) {
_res->roomno[rtCostume][i] = _fileHandle->readByte();
}
for (i = 0; i < _numCostumes; i++) {
- _res->roomoffs[rtCostume][i] = _fileHandle->readSint16LE();
+ _res->roomoffs[rtCostume][i] = _fileHandle->readUint16LE();
+ if (_res->roomoffs[rtCostume][i] == 0xFFFF)
+ _res->roomoffs[rtCostume][i] = RES_INVALID_OFFSET;
}
for (i = 0; i < _numScripts; i++) {
_res->roomno[rtScript][i] = _fileHandle->readByte();
}
for (i = 0; i < _numScripts; i++) {
- _res->roomoffs[rtScript][i] = _fileHandle->readSint16LE();
+ _res->roomoffs[rtScript][i] = _fileHandle->readUint16LE();
+ if (_res->roomoffs[rtScript][i] == 0xFFFF)
+ _res->roomoffs[rtScript][i] = RES_INVALID_OFFSET;
}
for (i = 0; i < _numSounds; i++) {
_res->roomno[rtSound][i] = _fileHandle->readByte();
}
for (i = 0; i < _numSounds; i++) {
- _res->roomoffs[rtSound][i] = _fileHandle->readSint16LE();
+ _res->roomoffs[rtSound][i] = _fileHandle->readUint16LE();
+ if (_res->roomoffs[rtSound][i] == 0xFFFF)
+ _res->roomoffs[rtSound][i] = RES_INVALID_OFFSET;
}
}