[Scummvm-cvs-logs] CVS: scummvm/scumm resource_v7he.cpp,1.35,1.36 scumm.cpp,1.486,1.487 scumm.h,1.617,1.618

kirben kirben at users.sourceforge.net
Thu May 5 07:31:57 CEST 2005


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

Modified Files:
	resource_v7he.cpp scumm.cpp scumm.h 
Log Message:

HE90+ games set heap size in index.


Index: resource_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource_v7he.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- resource_v7he.cpp	19 Apr 2005 10:35:25 -0000	1.35
+++ resource_v7he.cpp	5 May 2005 14:30:37 -0000	1.36
@@ -1682,7 +1682,7 @@
 	_numImages = _fileHandle->readUint16LE();
 	_numSprites = _fileHandle->readUint16LE();
 	_numLocalScripts = _fileHandle->readUint16LE();
-	_fileHandle->readUint16LE(); // heap related
+	_HEHeapSize = _fileHandle->readUint16LE(); // heap related
 	_numPalettes = _fileHandle->readUint16LE();
 	_numUnk = _fileHandle->readUint16LE();
 	_numTalkies = _fileHandle->readUint16LE();
@@ -1713,7 +1713,7 @@
 	_numImages = _fileHandle->readUint16LE();
 	_numSprites = _fileHandle->readUint16LE();
 	_numLocalScripts = _fileHandle->readUint16LE();
-	_fileHandle->readUint16LE(); // heap releated
+	_HEHeapSize = _fileHandle->readUint16LE();
 	_numNewNames = 10;
 
 	_objectRoomTable = (byte *)calloc(_numGlobalObjects, 1);

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.486
retrieving revision 1.487
diff -u -d -r1.486 -r1.487
--- scumm.cpp	5 May 2005 13:16:49 -0000	1.486
+++ scumm.cpp	5 May 2005 14:30:37 -0000	1.487
@@ -1418,12 +1418,15 @@
 	else
 		res._maxHeapThreshold = gVars->memory[kMemScummOldCostGames];
 #else
-	// Since the new costumes are very big, we increase the heap limit, to avoid having
-	// to constantly reload stuff from the data files.
-	if (_features & GF_NEW_COSTUMES)
+	if (_heversion >= 90 && _HEHeapSize) {
+		res._maxHeapThreshold = _HEHeapSize * 1024;
+	} else if (_features & GF_NEW_COSTUMES) {
+		// Since the new costumes are very big, we increase the heap limit, to avoid having
+		// to constantly reload stuff from the data files.
 		res._maxHeapThreshold = 2500000;
-	else
+	} else {
 		res._maxHeapThreshold = 550000;
+	}
 #endif
 	res._minHeapThreshold = 400000;
 

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.617
retrieving revision 1.618
diff -u -d -r1.617 -r1.618
--- scumm.h	5 May 2005 13:16:49 -0000	1.617
+++ scumm.h	5 May 2005 14:30:37 -0000	1.618
@@ -502,6 +502,7 @@
 	int _numNewNames, _numGlobalScripts;
 	int _numRoomVariables;
 	int _numPalettes, _numSprites, _numTalkies, _numUnk;
+	int _HEHeapSize;
 public:
 	int _numLocalScripts, _numImages, _numRooms, _numScripts, _numSounds;	// Used by HE games
 	int _numCostumes;	// FIXME - should be protected, used by Actor::remapActorPalette





More information about the Scummvm-git-logs mailing list