diff options
Diffstat (limited to 'engines/agi/saveload.cpp')
| -rw-r--r-- | engines/agi/saveload.cpp | 26 | 
1 files changed, 16 insertions, 10 deletions
| diff --git a/engines/agi/saveload.cpp b/engines/agi/saveload.cpp index 9144dae96c..05ce80b1a3 100644 --- a/engines/agi/saveload.cpp +++ b/engines/agi/saveload.cpp @@ -55,6 +55,7 @@ int AgiEngine::saveGame(const char *fileName, const char *description) {  	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 @@ int AgiEngine::saveGame(const char *fileName, const char *description) {  	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) { @@ -516,7 +518,7 @@ int AgiEngine::selectSlot() {  	buttonY = (vm + 17) * CHAR_LINES;  	for (i = 0; i < 2; i++) -		_gfx->drawButton(buttonX[i], buttonY, buttonText[i], 0, 0, MSG_BOX_TEXT, MSG_BOX_COLOUR); +		_gfx->drawCurrentStyleButton(buttonX[i], buttonY, buttonText[i], false, false, i == 0);  	AllowSyntheticEvents on(this);  	int oldFirstSlot = _firstSlot + 1; @@ -751,20 +753,24 @@ int AgiEngine::saveGameDialog() {  	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() { | 
