[Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.32,1.33

Max Horn fingolfin at users.sourceforge.net
Sun Dec 22 16:22:03 CET 2002


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

Modified Files:
	resource.cpp 
Log Message:
corrected AARY code for V8 (I hope)

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- resource.cpp	22 Dec 2002 21:58:15 -0000	1.32
+++ resource.cpp	23 Dec 2002 00:21:49 -0000	1.33
@@ -364,25 +364,16 @@
 void Scumm::readArrayFromIndexFile()
 {
 	int num;
-	int a, b, c, d;
+	int a, b, c;
 
 	if (_features & GF_AFTER_V8) {
-		// FIXME - I am not quite sure how to interpret the AARY format of COMI.
-		// Each entry seems to be 12 bytes, while in V7 games it is only 8 bytes.
-		// 2 of the additional bytes seem to be used for num. But what about the
-		// other 2?. Either one of the three fields grew, too (but which). Or there
-		// is a new field, but then what does it mean? Endy or ludde probably know more :-)
+		// FIXME - this is just a guess
 		while ((num = _fileHandle.readUint32LE()) != 0) {
-			a = _fileHandle.readUint16LE();
-			b = _fileHandle.readUint16LE();
-			c = _fileHandle.readUint16LE();
-			d = _fileHandle.readUint16LE();
+			a = _fileHandle.readUint32LE();
+			b = _fileHandle.readUint32LE();
 			
-			printf("Reading array (0x%08x,%d,%d,%d,%d) - (pos = 0x%08x)\n", num, a, b, c, d, _fileHandle.pos());
-			if (c == 1)
-				defineArray(num, 1, a, b);
-			else
-				defineArray(num, 5, a, b);
+			printf("Reading array (0x%08x,%d,%d) - (pos = 0x%08x)\n", num, a, b, _fileHandle.pos());
+			defineArray(num, 0, a, b);
 		}
 	} else {
 		while ((num = _fileHandle.readUint16LE()) != 0) {





More information about the Scummvm-git-logs mailing list