GOB: Make the Cemetary/Lab screen work correctly

Saving there still won't work though

svn-id: r55374
This commit is contained in:
Sven Hesse 2011-01-21 13:28:35 +00:00
parent 398c95a331
commit 8b3f2955a4
6 changed files with 138 additions and 2 deletions

View file

@ -26,12 +26,15 @@
#include "common/endian.h"
#include "common/file.h"
#include "gui/message.h"
#include "gob/gob.h"
#include "gob/inter.h"
#include "gob/global.h"
#include "gob/game.h"
#include "gob/script.h"
#include "gob/draw.h"
#include "gob/save/saveload.h"
namespace Gob {
@ -95,8 +98,20 @@ void Inter_v5::setupOpcodesGob() {
void Inter_v5::o5_deleteFile() {
_vm->_game->_script->evalExpr(0);
char *file = _vm->_game->_script->getResultStr();
warning("deleteFile: \"%s\"", _vm->_game->_script->getResultStr());
debugC(2, kDebugFileIO, "Delete file \"%s\"", file);
SaveLoad::SaveMode mode = _vm->_saveLoad->getSaveMode(file);
if (mode == SaveLoad::kSaveModeSave) {
if (!_vm->_saveLoad->deleteFile(file)) {
GUI::MessageDialog dialog("Failed to save game state to file.");
dialog.runModal();
}
} else if (mode == SaveLoad::kSaveModeNone)
warning("Attempted to delete file \"%s\"", file);
}
void Inter_v5::o5_initScreen() {