diff options
author | Max Horn | 2009-07-18 15:15:26 +0000 |
---|---|---|
committer | Max Horn | 2009-07-18 15:15:26 +0000 |
commit | 48e065a0ad46613e276312e1f074068f95a05644 (patch) | |
tree | 12772c859015de1fe4bb5b2bdee34d9f4ddea99b /engines/agos/saveload.cpp | |
parent | 2250ff1df68bcd37f37ca2d37f5768ff1037219b (diff) | |
download | scummvm-rg350-48e065a0ad46613e276312e1f074068f95a05644.tar.gz scummvm-rg350-48e065a0ad46613e276312e1f074068f95a05644.tar.bz2 scummvm-rg350-48e065a0ad46613e276312e1f074068f95a05644.zip |
AGOS: Removed second setjmp in PN code (untested!)
svn-id: r42593
Diffstat (limited to 'engines/agos/saveload.cpp')
-rw-r--r-- | engines/agos/saveload.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp index 16bde0097b..92632775f9 100644 --- a/engines/agos/saveload.cpp +++ b/engines/agos/saveload.cpp @@ -23,8 +23,6 @@ * */ - - #include "common/savefile.h" #include "common/system.h" @@ -1553,15 +1551,19 @@ bool AGOSEngine_Elvira2::saveGame(uint slot, const char *caption) { #ifdef ENABLE_PN // Personal Nightmare specific bool AGOSEngine_PN::badload(int8 errorNum) { +printf("badload(%d)\n", errorNum); if (errorNum == -2) return 0; - /* Load error recovery routine */ + // Load error recovery routine + + // Clear any stack while (_stackbase != NULL) { - /* Clear any stack */ dumpstack(); } - /* Restart from process 1 */ - longjmp(_loadfail, 1); + + // Restart from process 1 + _tagOfActiveDoline = 1; + _dolineReturnVal = 2; return 1; } @@ -1582,7 +1584,7 @@ void AGOSEngine_PN::getFilename() { } } -int AGOSEngine_PN::loadfl(char *name) { +int AGOSEngine_PN::loadFile(char *name) { Common::InSaveFile *f; haltAnimation(); @@ -1615,7 +1617,7 @@ int AGOSEngine_PN::loadfl(char *name) { return 0; } -int AGOSEngine_PN::savfl(char *name) { +int AGOSEngine_PN::saveFile(char *name) { Common::OutSaveFile *f; sysftodb(); haltAnimation(); |