aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/resource.cpp36
-rw-r--r--scumm/scumm.cpp4
-rw-r--r--scumm/scumm.h2
3 files changed, 19 insertions, 23 deletions
diff --git a/scumm/resource.cpp b/scumm/resource.cpp
index 15577cbc15..e9defc82d2 100644
--- a/scumm/resource.cpp
+++ b/scumm/resource.cpp
@@ -556,6 +556,7 @@ void ScummEngine::readIndexFile() {
break;
case MKID('RNAM'):
+ // Names of rooms
_fileHandle.seek(itemsize - 8, SEEK_CUR);
debug(9, "found RNAM block, skipping");
break;
@@ -565,7 +566,6 @@ void ScummEngine::readIndexFile() {
_fileHandle.seek(-2, SEEK_CUR);
_HEV7RoomOffsets = (byte *)calloc(2 + (i * 4), 1);
_fileHandle.read(_HEV7RoomOffsets, (2 + (i * 4)) );
- debug(9, "found DLFL block, offsets read");
break;
case MKID('DIRM'):
@@ -583,12 +583,12 @@ void ScummEngine::readIndexFile() {
case MKID('DISK'):
_fileHandle.seek(itemsize - 8, SEEK_CUR);
- warning("DISK index block not yet handled, skipping");
+ debug(9, "DISK index block not yet handled, skipping");
break;
case MKID('INIB'):
_fileHandle.seek(itemsize - 8, SEEK_CUR);
- warning("INIB index block not yet handled, skipping");
+ debug(9, "INIB index block not yet handled, skipping");
break;
case MKID('DIRI'):
@@ -602,14 +602,11 @@ void ScummEngine::readIndexFile() {
_fileHandle.read(_audioNames, _numAudioNames * 9);
break;
+ case MKID('DIRR'):
case MKID('DROO'):
readResTypeList(rtRoom, MKID('ROOM'), "room");
break;
- case MKID('DIRR'):
- readResTypeList(rtRoom, MKID('RMDA'), "room");
- break;
-
case MKID('DRSC'): // FIXME: Verify
readResTypeList(rtRoomScripts, MKID('RMSC'), "room script");
break;
@@ -628,14 +625,11 @@ void ScummEngine::readIndexFile() {
readMAXS(itemsize);
break;
+ case MKID('DIRN'):
case MKID('DSOU'):
readResTypeList(rtSound, MKID('SOUN'), "sound");
break;
- case MKID('DIRN'):
- readResTypeList(rtSound, MKID('DIRN'), "sound");
- break;
-
case MKID('AARY'):
readArrayFromIndexFile();
break;
@@ -2315,12 +2309,12 @@ void ScummEngine::readMAXS(int blockSize) {
_numCostumes = _fileHandle.readUint16LE();
_numGlobalObjects = _fileHandle.readUint16LE();
_numImages = _fileHandle.readUint16LE();
- _fileHandle.readUint16LE(); // unknown
- _fileHandle.readUint16LE(); // _numLocalScriptOffsets
- _fileHandle.readUint16LE(); // unknown
- _fileHandle.readUint16LE(); // unknown
- _fileHandle.readUint16LE(); // unknown
- _numTalkie = _fileHandle.readUint16LE();
+ _numSprites = _fileHandle.readUint16LE();
+ _numLocalScriptOffsets = _fileHandle.readUint16LE();
+ _fileHandle.readUint16LE(); // heap related
+ _fileHandle.readUint16LE(); // _numPalettes?
+ _fileHandle.readUint16LE(); // _numSmacker?
+ _numTalkies = _fileHandle.readUint16LE();
/* TODO check these values */
@@ -2351,9 +2345,9 @@ void ScummEngine::readMAXS(int blockSize) {
_numCostumes = _fileHandle.readUint16LE();
_numGlobalObjects = _fileHandle.readUint16LE();
_numImages = _fileHandle.readUint16LE();
- _fileHandle.readUint16LE(); // unknown
- _fileHandle.readUint16LE(); // _numLocalScriptOffsets
- _fileHandle.readUint16LE(); // unknown
+ _numSprites = _fileHandle.readUint16LE();
+ _numLocalScriptOffsets = _fileHandle.readUint16LE();
+ _fileHandle.readUint16LE(); // heap releated
/* TODO check these values */
@@ -2490,7 +2484,7 @@ void ScummEngine::allocateArrays() {
allocResTypeData(rtMatrix, MKID('NONE'), 10, "boxes", 0);
allocResTypeData(rtImage, MKID('AWIZ'), _numImages, "images", 1);
allocResTypeData(rtRoomImage, MKID('RMIM'), _numRooms, "room image", 1);
- allocResTypeData(rtTalkie, MKID('TLKE'), _numTalkie, "talkie", 1);
+ allocResTypeData(rtTalkie, MKID('TLKE'), _numTalkies, "talkie", 1);
}
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index 7b524c255e..4684cb12d9 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -522,7 +522,9 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
_numActors = 0;
_numCostumes = 0;
_numImages = 0;
- _numTalkie = 0;
+ _numLocalScriptOffsets = 0;
+ _numSprites = 0;
+ _numTalkies = 0;
_audioNames = NULL;
_numAudioNames = 0;
_curActor = 0;
diff --git a/scumm/scumm.h b/scumm/scumm.h
index 44dcb08049..05fafa5452 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -481,7 +481,7 @@ protected:
int _numInventory;
int _numNewNames, _numGlobalScripts;
int _numActors, _numRoomVariables;
- int _numTalkie;
+ int _numLocalScriptOffsets, _numSprites, _numTalkies;
public:
int _numImages, _numRooms, _numScripts, _numSounds; // Used by VARS in HE games
int _numCostumes; // FIXME - should be protected, used by Actor::remapActorPalette