[Scummvm-cvs-logs] SF.net SVN: scummvm:[34953] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sun Nov 9 14:12:38 CET 2008


Revision: 34953
          http://scummvm.svn.sourceforge.net/scummvm/?rev=34953&view=rev
Author:   lordhoto
Date:     2008-11-09 13:12:38 +0000 (Sun, 09 Nov 2008)

Log Message:
-----------
Error out on savegame load failure (again).

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/gui_hof.cpp
    scummvm/trunk/engines/kyra/gui_lok.cpp
    scummvm/trunk/engines/kyra/gui_mr.cpp
    scummvm/trunk/engines/kyra/kyra_hof.cpp
    scummvm/trunk/engines/kyra/kyra_lok.cpp
    scummvm/trunk/engines/kyra/kyra_mr.cpp
    scummvm/trunk/engines/kyra/kyra_v1.h
    scummvm/trunk/engines/kyra/kyra_v2.cpp
    scummvm/trunk/engines/kyra/saveload.cpp

Modified: scummvm/trunk/engines/kyra/gui_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_hof.cpp	2008-11-09 13:00:40 UTC (rev 34952)
+++ scummvm/trunk/engines/kyra/gui_hof.cpp	2008-11-09 13:12:38 UTC (rev 34953)
@@ -785,7 +785,7 @@
 
 	if (!_loadedSave && _reloadTemporarySave) {
 		_vm->_unkSceneScreenFlag1 = true;
-		_vm->loadGameState(999);
+		_vm->loadGameStateCheck(999);
 		//_vm->_saveFileMan->removeSavefile(_vm->getSavegameFilename(999));
 		_vm->_unkSceneScreenFlag1 = false;
 	}
@@ -1195,7 +1195,7 @@
 	} else if (_vm->_gameToLoad >= 0) {
 		restorePage1(_vm->_screenBuffer);
 		restorePalette();
-		_vm->loadGameState(_vm->_gameToLoad);
+		_vm->loadGameStateCheck(_vm->_gameToLoad);
 		if (_vm->_gameToLoad == 0) {
 			_restartGame = true;
 			for (int i = 0; i < 23; ++i)

Modified: scummvm/trunk/engines/kyra/gui_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_lok.cpp	2008-11-09 13:00:40 UTC (rev 34952)
+++ scummvm/trunk/engines/kyra/gui_lok.cpp	2008-11-09 13:12:38 UTC (rev 34953)
@@ -658,7 +658,7 @@
 	} else {
 		restorePalette();
 		if (_vm->_gameToLoad != -1)
-			_vm->loadGameState(_vm->_gameToLoad);
+			_vm->loadGameStateCheck(_vm->_gameToLoad);
 		_displayMenu = false;
 		_menuRestoreScreen = false;
 	}

Modified: scummvm/trunk/engines/kyra/gui_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_mr.cpp	2008-11-09 13:00:40 UTC (rev 34952)
+++ scummvm/trunk/engines/kyra/gui_mr.cpp	2008-11-09 13:12:38 UTC (rev 34953)
@@ -1366,7 +1366,7 @@
 
 	if (!_loadedSave && _reloadTemporarySave) {
 		_vm->_unkSceneScreenFlag1 = true;
-		_vm->loadGameState(999);
+		_vm->loadGameStateCheck(999);
 		//_vm->_saveFileMan->removeSavefile(_vm->getSavegameFilename(999));
 		_vm->_unkSceneScreenFlag1 = false;
 	}
@@ -1408,7 +1408,7 @@
 		restorePage1(_vm->_screenBuffer);
 		restorePalette();
 		_vm->_menuDirectlyToLoad = false;
-		_vm->loadGameState(_vm->_gameToLoad);
+		_vm->loadGameStateCheck(_vm->_gameToLoad);
 		if (_vm->_gameToLoad == 0) {
 			_restartGame = true;
 			_vm->runStartupScript(1, 1);
@@ -1425,7 +1425,7 @@
 
 	_vm->_gameToLoad = 999;
 	restorePage1(_vm->_screenBuffer);
-	_vm->loadGameState(_vm->_gameToLoad);
+	_vm->loadGameStateCheck(_vm->_gameToLoad);
 	_displayMenu = false;
 	_loadedSave = true;
 	return 0;

Modified: scummvm/trunk/engines/kyra/kyra_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_hof.cpp	2008-11-09 13:00:40 UTC (rev 34952)
+++ scummvm/trunk/engines/kyra/kyra_hof.cpp	2008-11-09 13:12:38 UTC (rev 34953)
@@ -439,7 +439,7 @@
 		enterNewScene(_mainCharacter.sceneId, _mainCharacter.facing, 0, 0, 1);
 		saveGameState(0, "New Game", 0);
 	} else {
-		loadGameState(_gameToLoad);
+		loadGameStateCheck(_gameToLoad);
 	}
 
 	_screen->showMouse();

Modified: scummvm/trunk/engines/kyra/kyra_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_lok.cpp	2008-11-09 13:00:40 UTC (rev 34952)
+++ scummvm/trunk/engines/kyra/kyra_lok.cpp	2008-11-09 13:12:38 UTC (rev 34953)
@@ -394,7 +394,7 @@
 			saveGameState(0, "New game", 0);
 	} else {
 		_screen->setFont(Screen::FID_8_FNT);
-		loadGameState(_gameToLoad);
+		loadGameStateCheck(_gameToLoad);
 		_gameToLoad = -1;
 	}
 }
@@ -476,7 +476,7 @@
 					int saveLoadSlot = 9 - (event.kbd.keycode - '0') + 990;
 
 					if (event.kbd.flags == Common::KBD_CTRL)
-						loadGameState(saveLoadSlot);
+						loadGameStateCheck(saveLoadSlot);
 					else {
 						char savegameName[14];
 						sprintf(savegameName, "Quicksave %d", event.kbd.keycode - '0');

Modified: scummvm/trunk/engines/kyra/kyra_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_mr.cpp	2008-11-09 13:00:40 UTC (rev 34952)
+++ scummvm/trunk/engines/kyra/kyra_mr.cpp	2008-11-09 13:12:38 UTC (rev 34953)
@@ -690,7 +690,7 @@
 	if (_gameToLoad == -1)
 		enterNewScene(_mainCharacter.sceneId, _mainCharacter.facing, 0, 0, 1);
 	else
-		loadGameState(_gameToLoad);
+		loadGameStateCheck(_gameToLoad);
 
 	if (_menuDirectlyToLoad)
 		(*_mainButtonData[0].buttonCallback)(&_mainButtonData[0]);

Modified: scummvm/trunk/engines/kyra/kyra_v1.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v1.h	2008-11-09 13:00:40 UTC (rev 34952)
+++ scummvm/trunk/engines/kyra/kyra_v1.h	2008-11-09 13:12:38 UTC (rev 34953)
@@ -306,6 +306,7 @@
 
 	static kReadSaveHeaderError readSaveHeader(Common::SeekableReadStream *file, bool loadThumbnail, SaveHeader &header);
 
+	void loadGameStateCheck(int slot);
 	virtual Common::Error loadGameState(int slot) = 0;
 	Common::Error saveGameState(int slot, const char *saveName) { return saveGameState(slot, saveName, 0); }
 	virtual Common::Error saveGameState(int slot, const char *saveName, const Graphics::Surface *thumbnail) = 0;

Modified: scummvm/trunk/engines/kyra/kyra_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-11-09 13:00:40 UTC (rev 34952)
+++ scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-11-09 13:12:38 UTC (rev 34953)
@@ -185,7 +185,7 @@
 				int saveLoadSlot = 9 - (event.kbd.keycode - '0') + 990;
 
 				if (event.kbd.flags == Common::KBD_CTRL) {
-					loadGameState(saveLoadSlot);
+					loadGameStateCheck(saveLoadSlot);
 					_eventList.clear();
 					breakLoop = true;
 				} else {

Modified: scummvm/trunk/engines/kyra/saveload.cpp
===================================================================
--- scummvm/trunk/engines/kyra/saveload.cpp	2008-11-09 13:00:40 UTC (rev 34952)
+++ scummvm/trunk/engines/kyra/saveload.cpp	2008-11-09 13:12:38 UTC (rev 34953)
@@ -251,5 +251,17 @@
 	}
 }
 
+void KyraEngine_v1::loadGameStateCheck(int slot) {
+	if (loadGameState(slot) != Common::kNoError) {
+		const char *filename = getSavegameFilename(slot);
+		Common::String errorMessage = "Could not load savegame: '";
+		errorMessage += filename;
+		errorMessage += "'";
+
+		GUIErrorMessage(errorMessage);
+		error(errorMessage.c_str());
+	}
+}
+
 } // end of namespace Kyra
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list