[Scummvm-cvs-logs] CVS: scummvm/queen logic.cpp,1.212,1.213 queen.cpp,1.104,1.105 queen.h,1.35,1.36

Gregory Montoir cyx at users.sourceforge.net
Thu Dec 2 13:25:00 CET 2004


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

Modified Files:
	logic.cpp queen.cpp queen.h 
Log Message:
enabled autosave

Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.cpp,v
retrieving revision 1.212
retrieving revision 1.213
diff -u -d -r1.212 -r1.213
--- logic.cpp	30 Nov 2004 21:01:25 -0000	1.212
+++ logic.cpp	2 Dec 2004 21:24:27 -0000	1.213
@@ -69,7 +69,6 @@
 	_puzzleAttemptCount = 0;
 	_journal = new Journal(vm);
 	_scene = 0;
-	memset(_gameState, 0, sizeof(_gameState));	
 	initialise();
 }
 

Index: queen.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/queen.cpp,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -d -r1.104 -r1.105
--- queen.cpp	2 Dec 2004 00:33:39 -0000	1.104
+++ queen.cpp	2 Dec 2004 21:24:27 -0000	1.105
@@ -182,6 +182,10 @@
 			_input->quickLoadReset();
 			loadGameState(0);
 		}
+		if (_system->getMillis() - _lastSaveTime > AUTOSAVE_INTERVAL) {
+			saveGameState(AUTOSAVE_SLOT, "Autosave");
+			_lastSaveTime = _system->getMillis();
+		}
 		if (checkPlayerInput) {
 			_command->updatePlayer();
 		}
@@ -265,7 +269,11 @@
 }
 
 void QueenEngine::makeGameStateName(uint16 slot, char *buf) {
-	sprintf(buf, "queen.s%02d", slot);
+	if (slot == AUTOSAVE_SLOT) {
+		strcpy(buf, "queen.asd");
+	} else {
+		sprintf(buf, "queen.s%02d", slot);
+	}
 }
 
 void QueenEngine::findGameStateDescriptions(char descriptions[100][32]) {
@@ -293,6 +301,7 @@
 	if (ConfMan.hasKey("save_slot") && !(_resource->isDemo() || _resource->isInterview())) {
 		loadGameState(ConfMan.getInt("save_slot"));
 	}
+	_lastSaveTime = _system->getMillis();
 	_quit = false;
 	while (!_quit) {
 		// queen.c lines 4080-4104

Index: queen.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/queen.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- queen.h	24 Nov 2004 00:14:01 -0000	1.35
+++ queen.h	2 Dec 2004 21:24:27 -0000	1.36
@@ -116,7 +116,9 @@
 
 	enum {
 		SAVESTATE_CUR_VER = 1,
-		SAVESTATE_MAX     = 100
+		SAVESTATE_MAX     = 100,
+		AUTOSAVE_INTERVAL = 5 * 60 * 1000,
+		AUTOSAVE_SLOT     = 0xFF
 	};
 
 protected:
@@ -130,6 +132,7 @@
 	int _talkSpeed;
 	bool _subtitles;
 	bool _quit;
+	uint32 _lastSaveTime;
 
 	BamScene *_bam;
 	BankManager *_bankMan;





More information about the Scummvm-git-logs mailing list