[Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.260,1.261 scumm.cpp,1.171,1.172

Travis Howell kirben at users.sourceforge.net
Tue Sep 7 05:23:03 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12953/scumm

Modified Files:
	resource.cpp scumm.cpp 
Log Message:

Add index for HE C++ games.
Enable all HE games again.


Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.260
retrieving revision 1.261
diff -u -d -r1.260 -r1.261
--- resource.cpp	2 Sep 2004 03:54:29 -0000	1.260
+++ resource.cpp	7 Sep 2004 12:21:54 -0000	1.261
@@ -571,6 +571,11 @@
 			readResTypeList(rtImage, MKID('AWIZ'), "images");
 			break;
 			
+		case MKID('DIRT'):
+			_fileHandle.seek(itemsize - 8, SEEK_CUR);
+			warning("DIRT index block not yet handled, skipping");
+			break;
+
 		case MKID('DISK'):
 			_fileHandle.seek(itemsize - 8, SEEK_CUR);
 			warning("DISK index block not yet handled, skipping");
@@ -2288,6 +2293,42 @@
 			_numGlobalScripts = 2000;
 
 		_shadowPaletteSize = NUM_SHADOW_PALETTE * 256;
+	} else if (_heversion >= 70 && (blockSize == 44 + 8)) { // C++ based engine
+		_numVariables = _fileHandle.readUint16LE();
+		_fileHandle.readUint16LE(); // not used in spydemo
+		_fileHandle.readUint16LE(); // _numLocalVariables ?
+		_numLocalObjects = _fileHandle.readUint16LE();
+		_numArray = _fileHandle.readUint16LE();
+		_fileHandle.readUint16LE(); // unknown
+		_fileHandle.readUint16LE(); // unknown
+		_numFlObject = _fileHandle.readUint16LE();
+		_numInventory = _fileHandle.readUint16LE();
+		_numRooms = _fileHandle.readUint16LE();
+		_numScripts = _fileHandle.readUint16LE();
+		_numSounds = _fileHandle.readUint16LE();
+		_numCharsets = _fileHandle.readUint16LE();
+		_numCostumes = _fileHandle.readUint16LE();
+		_numGlobalObjects = _fileHandle.readUint16LE();
+		_numImages = _fileHandle.readUint16LE();
+		_fileHandle.readUint16LE(); // unknown
+		_fileHandle.readUint16LE(); // _numLocalScriptOffsets
+		_fileHandle.readUint16LE(); // unknown
+		_fileHandle.readUint16LE(); // unknown
+		_fileHandle.readUint16LE(); // unknown
+		_fileHandle.readUint16LE(); // _numTalkie
+
+		/* TODO check these values */
+
+		_objectRoomTable = (byte *)calloc(_numGlobalObjects, 1);
+
+		_numNewNames = 10;
+		_numRoomVariables = 64;
+
+		_objectRoomTable = (byte *)calloc(_numGlobalObjects * 4, 1);
+
+		_numGlobalScripts = 200;
+		_shadowPaletteSize = 256;
+
 	} else if (_heversion >= 70 && (blockSize == 38 + 8)) { // Scummsys.9x
 		_numVariables = _fileHandle.readUint16LE();
 		_fileHandle.readUint16LE(); // not used in spydemo
@@ -2306,7 +2347,7 @@
 		_numGlobalObjects = _fileHandle.readUint16LE();
 		_numImages = _fileHandle.readUint16LE();
 		_fileHandle.readUint16LE(); // unknown
-		_fileHandle.readUint16LE(); // _numLocalScripts?
+		_fileHandle.readUint16LE(); // _numLocalScriptOffsets
 		_fileHandle.readUint16LE(); // unknown
 
 		/* TODO check these values */
@@ -2320,8 +2361,6 @@
 
 		_numGlobalScripts = 200;
 		_shadowPaletteSize = 256;
-	} else if (_heversion >= 70 && (blockSize == 44 + 8)) { // C++ based engine
-		error("MAXS blocks from C++ based games not yet supported");
 	} else if (_heversion >= 70 && blockSize > 38) { // sputm7.2
 		if (blockSize != 32 + 8)
 				error("MAXS block of size %d not supported, please report", blockSize);

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -d -r1.171 -r1.172
--- scumm.cpp	6 Sep 2004 02:01:00 -0000	1.171
+++ scumm.cpp	7 Sep 2004 12:21:54 -0000	1.172
@@ -306,7 +306,6 @@
 	{"chase", "Spy Fox in Cheese Chase Game", GID_HEGAME, 6, 90, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
 
-#ifdef HEGAMES
 	// Humongous Entertainment Scumm Version 9.8 ?  Scummsys.98
 	// these and later games can easily be identified by the .(a) file instead of a .he1
 	// and INIB chunk in the .he0
@@ -325,6 +324,7 @@
 	{"BluesABCTimeDemo", "Blue's ABC Time (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
 
+	// Engine moved to c++ 
 	// Humongous Entertainment Scumm Version 9.9 ?  Scummsys.99
 	{"sf2-demo", "Spyfox 2: Some Assembly Required (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
@@ -333,30 +333,29 @@
 	{"mustard", "Spy Fox in Hold the Mustard", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
 
-	// Humongous Entertainment Scumm Version ?  engine moved to c++ 
-	{"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
+	// Humongous Entertainment Scumm Version ?
+	{"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_HEGAME, 6, 90, MDT_NONE,
+	{"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"ffhsdemo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
+	{"ffhsdemo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"pj3-demo", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
+	{"pj3-demo", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet", GID_HEGAME, 6, 90, MDT_NONE,
+	{"pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"PuttsFunShop", "Putt-Putt's One-Stop Fun Shop", GID_HEGAME, 6, 90, MDT_NONE,
+	{"PuttsFunShop", "Putt-Putt's One-Stop Fun Shop", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"putttime", "Putt-Putt Travels Through Time", GID_HEGAME, 6, 90, MDT_NONE,
+	{"putttime", "Putt-Putt Travels Through Time", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"spyozon", "Spyfox 3: Operation Ozone", GID_HEGAME, 6, 90, MDT_NONE,
+	{"spyozon", "Spyfox 3: Operation Ozone", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"bb2demo", "Backyard Baseball 2001 (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
+	{"bb2demo", "Backyard Baseball 2001 (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"football2002", "Backyard Football 2002 (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
+	{"football2002", "Backyard Football 2002 (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-	{"pjsamdemo", "Pajama Sam: No Need To Hide When It's Dark Outside (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
+	{"pjsamdemo", "Pajama Sam: No Need To Hide When It's Dark Outside (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
-#endif
 	{NULL, NULL, 0, 0, 0, MDT_NONE, 0, 0, 0}
 };
 





More information about the Scummvm-git-logs mailing list