[Scummvm-cvs-logs] CVS: scummvm/queen queen.cpp,1.133,1.134 queen.h,1.43,1.44

Gregory Montoir cyx at users.sourceforge.net
Thu Aug 11 11:09:18 CEST 2005


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

Modified Files:
	queen.cpp queen.h 
Log Message:
minor cleanup

Index: queen.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/queen.cpp,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -d -r1.133 -r1.134
--- queen.cpp	8 Aug 2005 10:59:21 -0000	1.133
+++ queen.cpp	11 Aug 2005 18:07:47 -0000	1.134
@@ -247,7 +247,7 @@
 	}
 }
 
-bool QueenEngine::canLoadOrSave() {
+bool QueenEngine::canLoadOrSave() const {
 	return !_input->cutawayRunning() && !(_resource->isDemo() || _resource->isInterview());
 }
 
@@ -258,13 +258,14 @@
 	Common::OutSaveFile *file = _saveFileMan->openForSaving(name);
 	if (file) {
 		// save data
-		byte *saveData = new byte[30000];
+		byte *saveData = new byte[SAVESTATE_MAX_SIZE];
 		byte *p = saveData;
 		_bam->saveState(p);
 		_grid->saveState(p);
 		_logic->saveState(p);
 		_sound->saveState(p);
 		uint32 dataSize = p - saveData;
+		assert(dataSize < SAVESTATE_MAX_SIZE);
 
 		// write header
 		GameStateHeader header;
@@ -302,9 +303,10 @@
 			_logic->loadState(header.version, p);
 			_sound->loadState(header.version, p);
 			if (header.dataSize != (uint32)(p - saveData)) {
-				error("Corrupted savegame file");
+				warning("Corrupted savegame file");
+			} else {
+				_logic->setupRestoredGame();
 			}
-			_logic->setupRestoredGame();
 		}
 		delete[] saveData;
 		delete file;
@@ -338,9 +340,9 @@
 	char filename[20];
 	makeGameStateName(0, filename);
 	filename[strlen(filename) - 2] = 0;
-	bool marks[SAVESTATE_MAX];
-	_saveFileMan->listSavefiles(filename, marks, SAVESTATE_MAX);
-	for (int i = 0; i < SAVESTATE_MAX; ++i) {
+	bool marks[SAVESTATE_MAX_NUM];
+	_saveFileMan->listSavefiles(filename, marks, SAVESTATE_MAX_NUM);
+	for (int i = 0; i < SAVESTATE_MAX_NUM; ++i) {
 		if (marks[i]) {
 			GameStateHeader header;
 			Common::InSaveFile *f = readGameStateHeader(i, &header);

Index: queen.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/queen.h,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- queen.h	30 Jul 2005 21:11:20 -0000	1.43
+++ queen.h	11 Aug 2005 18:07:47 -0000	1.44
@@ -111,7 +111,7 @@
 
 	void update(bool checkPlayerInput = false);
 
-	bool canLoadOrSave();
+	bool canLoadOrSave() const;
 	void saveGameState(uint16 slot, const char *desc);
 	void loadGameState(uint16 slot);
 	void makeGameStateName(uint16 slot, char *buf);
@@ -119,14 +119,16 @@
 	Common::InSaveFile *readGameStateHeader(uint16 slot, GameStateHeader *gsh);
 
 	enum {
-		SAVESTATE_CUR_VER = 1,
-		SAVESTATE_MAX     = 100,
-		AUTOSAVE_INTERVAL = 5 * 60 * 1000,
-		AUTOSAVE_SLOT     = 0xFF,
+		SAVESTATE_CUR_VER  = 1,
+		SAVESTATE_MAX_NUM  = 100,
+		SAVESTATE_MAX_SIZE = 30000,
 
-		MIN_TEXT_SPEED    = 4,
-		MAX_TEXT_SPEED    = 100,
-		MAX_MUSIC_VOLUME  = 255
+		AUTOSAVE_INTERVAL  = 5 * 60 * 1000,
+		AUTOSAVE_SLOT      = 0xFF,
+
+		MIN_TEXT_SPEED     = 4,
+		MAX_TEXT_SPEED     = 100,
+		MAX_MUSIC_VOLUME   = 255
 	};
 
 protected:





More information about the Scummvm-git-logs mailing list