aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/saveload.cpp
diff options
context:
space:
mode:
authorMax Horn2009-07-18 15:15:26 +0000
committerMax Horn2009-07-18 15:15:26 +0000
commit48e065a0ad46613e276312e1f074068f95a05644 (patch)
tree12772c859015de1fe4bb5b2bdee34d9f4ddea99b /engines/agos/saveload.cpp
parent2250ff1df68bcd37f37ca2d37f5768ff1037219b (diff)
downloadscummvm-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.cpp18
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();