[Scummvm-cvs-logs] SF.net SVN: scummvm: [28441] scummvm/trunk/engines/agi
eriktorbjorn at users.sourceforge.net
eriktorbjorn at users.sourceforge.net
Sat Aug 4 08:18:28 CEST 2007
Revision: 28441
http://scummvm.svn.sourceforge.net/scummvm/?rev=28441&view=rev
Author: eriktorbjorn
Date: 2007-08-03 23:18:28 -0700 (Fri, 03 Aug 2007)
Log Message:
-----------
Tell the user if saving a game fails. (I haven't tested the saveGameSimple()
function, since I don't know when it's used.) This should fix bug #1767237
("AGI: Saving games to non existing path").
Modified Paths:
--------------
scummvm/trunk/engines/agi/agi.h
scummvm/trunk/engines/agi/saveload.cpp
Modified: scummvm/trunk/engines/agi/agi.h
===================================================================
--- scummvm/trunk/engines/agi/agi.h 2007-08-04 05:58:37 UTC (rev 28440)
+++ scummvm/trunk/engines/agi/agi.h 2007-08-04 06:18:28 UTC (rev 28441)
@@ -156,6 +156,7 @@
errNoLoopsInView,
errViewDataError,
errNoGameList,
+ errIOError,
errUnk = 127
};
Modified: scummvm/trunk/engines/agi/saveload.cpp
===================================================================
--- scummvm/trunk/engines/agi/saveload.cpp 2007-08-04 05:58:37 UTC (rev 28440)
+++ scummvm/trunk/engines/agi/saveload.cpp 2007-08-04 06:18:28 UTC (rev 28441)
@@ -55,6 +55,7 @@
int i;
struct ImageStackElement *ptr = _imageStack;
Common::OutSaveFile *out;
+ int result = errOK;
debugC(3, kDebugLevelMain | kDebugLevelSavegame, "AgiEngine::saveGame(%s, %s)", fileName, description);
if (!(out = _saveFileMan->openForSaving(fileName))) {
@@ -206,14 +207,15 @@
out->writeSint16BE(_gfx->getAGIPalFileNum());
out->finalize();
- if (out->ioFailed())
+ if (out->ioFailed()) {
warning("Can't write file '%s'. (Disk full?)", fileName);
- else
+ result = errIOError;
+ } else
debugC(1, kDebugLevelMain | kDebugLevelSavegame, "Saved game %s in file %s", description, fileName);
delete out;
debugC(3, kDebugLevelMain | kDebugLevelSavegame, "Closed %s", fileName);
- return errOK;
+ return result;
}
int AgiEngine::loadGame(const char *fileName, bool checkId) {
@@ -751,20 +753,24 @@
sprintf(fileName, "%s", getSavegameFilename(slot));
debugC(8, kDebugLevelMain | kDebugLevelResources, "file is [%s]", fileName);
- saveGame(fileName, desc);
+ int result = saveGame(fileName, desc);
- messageBox("Game saved.");
+ if (result == errOK)
+ messageBox("Game saved.");
+ else
+ messageBox("Error saving game.");
- return errOK;
+ return result;
}
int AgiEngine::saveGameSimple() {
char fileName[MAX_PATH];
sprintf(fileName, "%s", getSavegameFilename(0));
- saveGame(fileName, "Default savegame");
-
- return errOK;
+ int result = saveGame(fileName, "Default savegame");
+ if (result != errOK)
+ messageBox("Error saving game.");
+ return result;
}
int AgiEngine::loadGameDialog() {
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