aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMatthew Hoops2012-03-16 15:55:39 -0400
committerMatthew Hoops2012-03-16 16:03:14 -0400
commit2f6528933d8061881c81ac87b0028fb4368dbcc9 (patch)
tree6f85adf9acaadf07baa53d145bfac9c3f4b7265c /engines
parent03be03bb47dfaae3c7bc7b014e2553e099997b95 (diff)
downloadscummvm-rg350-2f6528933d8061881c81ac87b0028fb4368dbcc9.tar.gz
scummvm-rg350-2f6528933d8061881c81ac87b0028fb4368dbcc9.tar.bz2
scummvm-rg350-2f6528933d8061881c81ac87b0028fb4368dbcc9.zip
MOHAWK: Improve Riven save/load error messages
Diffstat (limited to 'engines')
-rw-r--r--engines/mohawk/riven.cpp6
-rw-r--r--engines/mohawk/riven_saveload.cpp18
-rw-r--r--engines/mohawk/riven_saveload.h4
3 files changed, 14 insertions, 14 deletions
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 38b38d2c56..95a8313536 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -171,7 +171,7 @@ Common::Error MohawkEngine_Riven::run() {
error ("Could not find saved game");
// Attempt to load the game. On failure, just send us to the main menu.
- if (!_saveLoad->loadGame(savedGamesList[gameToLoad])) {
+ if (_saveLoad->loadGame(savedGamesList[gameToLoad]).getCode() != Common::kNoError) {
changeToStack(aspit);
changeToCard(1);
}
@@ -729,7 +729,7 @@ void MohawkEngine_Riven::runLoadDialog() {
}
Common::Error MohawkEngine_Riven::loadGameState(int slot) {
- return _saveLoad->loadGame(_saveLoad->generateSaveGameList()[slot]) ? Common::kNoError : Common::kUnknownError;
+ return _saveLoad->loadGame(_saveLoad->generateSaveGameList()[slot]);
}
Common::Error MohawkEngine_Riven::saveGameState(int slot, const Common::String &desc) {
@@ -738,7 +738,7 @@ Common::Error MohawkEngine_Riven::saveGameState(int slot, const Common::String &
if ((uint)slot < saveList.size())
_saveLoad->deleteSave(saveList[slot]);
- return _saveLoad->saveGame(Common::String(desc)) ? Common::kNoError : Common::kUnknownError;
+ return _saveLoad->saveGame(desc);
}
Common::String MohawkEngine_Riven::getStackName(uint16 stack) const {
diff --git a/engines/mohawk/riven_saveload.cpp b/engines/mohawk/riven_saveload.cpp
index 18c13ec12b..f5bf7782d4 100644
--- a/engines/mohawk/riven_saveload.cpp
+++ b/engines/mohawk/riven_saveload.cpp
@@ -88,13 +88,13 @@ static uint16 mapNewStackIDToOld(uint16 newID) {
return 0;
}
-bool RivenSaveLoad::loadGame(Common::String filename) {
+Common::Error RivenSaveLoad::loadGame(Common::String filename) {
if (_vm->getFeatures() & GF_DEMO) // Don't load games in the demo
- return false;
+ return Common::kNoError;
Common::InSaveFile *loadFile = _saveFileMan->openForLoading(filename);
if (!loadFile)
- return false;
+ return Common::kReadingFailed;
debug(0, "Loading game from \'%s\'", filename.c_str());
@@ -103,7 +103,7 @@ bool RivenSaveLoad::loadGame(Common::String filename) {
if (!mhk->openStream(loadFile)) {
warning("Save file is not a Mohawk archive");
delete mhk;
- return false;
+ return Common::Error(Common::kUnknownError, "Invalid save file");
}
// First, let's make sure we're using a saved game file from this version of Riven by checking the VERS resource
@@ -114,7 +114,7 @@ bool RivenSaveLoad::loadGame(Common::String filename) {
|| (saveGameVersion == kDVDSaveGameVersion && !(_vm->getFeatures() & GF_DVD))) {
warning("Incompatible saved game versions. No support for this yet");
delete mhk;
- return false;
+ return Common::Error(Common::kUnknownError, "Incompatible save version");
}
// Now, we'll read in the variable values.
@@ -206,7 +206,7 @@ bool RivenSaveLoad::loadGame(Common::String filename) {
delete zips;
delete mhk;
- return true;
+ return Common::kNoError;
}
Common::MemoryWriteStreamDynamic *RivenSaveLoad::genVERSSection() {
@@ -273,7 +273,7 @@ Common::MemoryWriteStreamDynamic *RivenSaveLoad::genZIPSSection() {
return stream;
}
-bool RivenSaveLoad::saveGame(Common::String filename) {
+Common::Error RivenSaveLoad::saveGame(Common::String filename) {
// NOTE: This code is designed to only output a Mohawk archive
// for a Riven saved game. It's hardcoded to do this because
// (as of right now) this is the only place in the engine
@@ -295,7 +295,7 @@ bool RivenSaveLoad::saveGame(Common::String filename) {
Common::OutSaveFile *saveFile = _saveFileMan->openForSaving(filename);
if (!saveFile)
- return false;
+ return Common::kWritingFailed;
debug (0, "Saving game to \'%s\'", filename.c_str());
@@ -418,7 +418,7 @@ bool RivenSaveLoad::saveGame(Common::String filename) {
delete varsSection;
delete zipsSection;
- return true;
+ return Common::kNoError;
}
void RivenSaveLoad::deleteSave(Common::String saveName) {
diff --git a/engines/mohawk/riven_saveload.h b/engines/mohawk/riven_saveload.h
index c1b3fc639e..37b73c26c6 100644
--- a/engines/mohawk/riven_saveload.h
+++ b/engines/mohawk/riven_saveload.h
@@ -42,8 +42,8 @@ public:
~RivenSaveLoad();
Common::StringArray generateSaveGameList();
- bool loadGame(Common::String);
- bool saveGame(Common::String);
+ Common::Error loadGame(Common::String);
+ Common::Error saveGame(Common::String);
void deleteSave(Common::String);
private: