diff options
author | Filippos Karapetis | 2011-10-12 03:25:27 +0300 |
---|---|---|
committer | Filippos Karapetis | 2011-10-12 03:25:27 +0300 |
commit | 9fcd3ece536e5539b36ba49916c449a45b5e733e (patch) | |
tree | 46db2f1b85bc3d63670c2c2caab704f9892195dc /engines/sci/engine | |
parent | 084b2deccc7eeb64f2936dbb6cd0fb47319e5db2 (diff) | |
download | scummvm-rg350-9fcd3ece536e5539b36ba49916c449a45b5e733e.tar.gz scummvm-rg350-9fcd3ece536e5539b36ba49916c449a45b5e733e.tar.bz2 scummvm-rg350-9fcd3ece536e5539b36ba49916c449a45b5e733e.zip |
SCI: kSave(3) is kCheckSaveGame() and kSave(6) is kFileIOUnlink()
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/kfile.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index 06af6e0de0..9e9441847d 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -1167,8 +1167,17 @@ reg_t kSave(EngineState *s, int argc, reg_t *argv) { 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: + // This is used in Shivers to delete saved games, however it + // always passes the same file name (SHIVER), so it doesn't + // actually delete anything... + // TODO: Check why this happens + // argv[1] is a string (most likely the save game directory) + return kFileIOUnlink(s, argc - 2, argv + 2); case 8: // TODO // This is a timer callback, with 1 parameter: the timer object @@ -1179,10 +1188,9 @@ reg_t kSave(EngineState *s, int argc, reg_t *argv) { // This function has to return something other than 0 to proceed return s->r_acc; default: - warning("Unknown/unhandled kSave subop %d", argv[0].toUint16()); + kStub(s, argc, argv); + return NULL_REG; } - - return NULL_REG; } #endif |