diff options
| -rw-r--r-- | scumm/resource.cpp | 16 | 
1 files changed, 8 insertions, 8 deletions
| diff --git a/scumm/resource.cpp b/scumm/resource.cpp index c904bb0ab9..475e80bbc0 100644 --- a/scumm/resource.cpp +++ b/scumm/resource.cpp @@ -104,6 +104,7 @@ void Scumm::openRoom(int room)  				return;  			if (_features & GF_EXTERNAL_CHARSET && room >= roomlimit)  				return; +			printf("Reading room offsets from '%s'\n", buf);  			readRoomsOffsets();  			_fileOffset = _roomFileOffsets[room]; @@ -171,9 +172,7 @@ void Scumm::readRoomsOffsets()  	}  	num = _fileHandle.readByte(); -	while (num) { -		num--; - +	while (num--) {  		room = _fileHandle.readByte();  		if (_roomFileOffsets[room] != 0xFFFFFFFF) {  			_roomFileOffsets[room] = _fileHandle.readUint32LE(); @@ -535,7 +534,10 @@ int Scumm::loadResource(int type, int idx)  		roomNr = _roomResource;  	if (type == rtRoom) { -		fileOffs = 0; +		if (_features & GF_AFTER_V8) +			fileOffs = 8; +		else +			fileOffs = 0;  	} else {  		fileOffs = res.roomoffs[type][idx];  		if (fileOffs == 0xFFFFFFFF) @@ -1633,10 +1635,8 @@ void Scumm::allocateArrays()  	_vars = (int16 *)calloc(_numVariables, sizeof(int16));  	_bitVars = (byte *)calloc(_numBitVariables >> 3, 1); -	allocResTypeData(rtCostume, -									 (_features & GF_NEW_COSTUMES) ? MKID('AKOS') : -									 MKID('COST'), _numCostumes, "costume", 1); - +	allocResTypeData(rtCostume, (_features & GF_NEW_COSTUMES) ? MKID('AKOS') : MKID('COST'), +								_numCostumes, "costume", 1);  	allocResTypeData(rtRoom, MKID('ROOM'), _numRooms, "room", 1);  	allocResTypeData(rtRoomScripts, MKID('RMSC'), _numRooms, "room script", 1);  	allocResTypeData(rtSound, MKID('SOUN'), _numSounds, "sound", 1); | 
