diff options
| -rw-r--r-- | scumm/resource.cpp | 36 | ||||
| -rw-r--r-- | scumm/scumm.cpp | 4 | ||||
| -rw-r--r-- | scumm/scumm.h | 2 | 
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 | 
