[Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.38,1.39

Max Horn fingolfin at users.sourceforge.net
Mon Dec 23 18:19:02 CET 2002


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv17500

Modified Files:
	resource.cpp 
Log Message:
fixed room resource loading in V8 - now need to fix initRoomSubBlocks

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- resource.cpp	24 Dec 2002 02:03:35 -0000	1.38
+++ resource.cpp	24 Dec 2002 02:18:02 -0000	1.39
@@ -104,6 +104,7 @@
 				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 @@
 	}
 
 	num = _fileHandle.readByte();
-	while (num) {
-		num--;
-
+	while (num--) {
 		room = _fileHandle.readByte();
 		if (_roomFileOffsets[room] != 0xFFFFFFFF) {
 			_roomFileOffsets[room] = _fileHandle.readUint32LE();
@@ -535,7 +534,10 @@
 		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 @@
 	_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);





More information about the Scummvm-git-logs mailing list