aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kfile.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2012-06-13 11:56:13 +0300
committerFilippos Karapetis2012-06-13 12:26:55 +0300
commit944a774e6a7fd604b0754569007e5e34d1be915f (patch)
tree09095ae6f67fadd6904bdfe1614a910ddcb40651 /engines/sci/engine/kfile.cpp
parent5a17ea058583fb0a3d00392b8e07b2a1f414fded (diff)
downloadscummvm-rg350-944a774e6a7fd604b0754569007e5e34d1be915f.tar.gz
scummvm-rg350-944a774e6a7fd604b0754569007e5e34d1be915f.tar.bz2
scummvm-rg350-944a774e6a7fd604b0754569007e5e34d1be915f.zip
SCI: Change kSave() to be a kernel function with subops
Diffstat (limited to 'engines/sci/engine/kfile.cpp')
-rw-r--r--engines/sci/engine/kfile.cpp42
1 files changed, 14 insertions, 28 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp
index 36e5273b06..fe54987e47 100644
--- a/engines/sci/engine/kfile.cpp
+++ b/engines/sci/engine/kfile.cpp
@@ -946,35 +946,21 @@ reg_t kMakeSaveFileName(EngineState *s, int argc, reg_t *argv) {
return argv[0];
}
+reg_t kAutoSave(EngineState *s, int argc, reg_t *argv) {
+ // TODO
+ // This is a timer callback, with 1 parameter: the timer object
+ // (e.g. "timers").
+ // It's used for auto-saving (i.e. save every X minutes, by checking
+ // the elapsed time from the timer object)
+
+ // This function has to return something other than 0 to proceed
+ return s->r_acc;
+}
+
reg_t kSave(EngineState *s, int argc, reg_t *argv) {
- switch (argv[0].toUint16()) {
- case 0:
- return kSaveGame(s, argc - 1,argv + 1);
- case 1:
- return kRestoreGame(s, argc - 1,argv + 1);
- case 2:
- return kGetSaveDir(s, argc - 1, argv + 1);
- case 3:
- return kCheckSaveGame(s, argc - 1, argv + 1);
- case 5:
- return kGetSaveFiles(s, argc - 1, argv + 1);
- case 6:
- return kMakeSaveCatName(s, argc - 1, argv + 1);
- case 7:
- return kMakeSaveFileName(s, argc - 1, argv + 1);
- case 8:
- // TODO
- // This is a timer callback, with 1 parameter: the timer object
- // (e.g. "timers").
- // It's used for auto-saving (i.e. save every X minutes, by checking
- // the elapsed time from the timer object)
-
- // This function has to return something other than 0 to proceed
- return s->r_acc;
- default:
- kStub(s, argc, argv);
- return NULL_REG;
- }
+ if (!s)
+ return make_reg(0, getSciVersion());
+ error("not supposed to call this");
}
#endif