diff options
author | Martin Kiewitz | 2016-02-05 19:43:48 +0100 |
---|---|---|
committer | Martin Kiewitz | 2016-02-05 19:43:48 +0100 |
commit | 04de7279a154eb4869f6ad76388ae0e9232f1433 (patch) | |
tree | 435d674d5afa49d203e2733b34654a1bd4e30961 /engines/sci/engine | |
parent | c61c89dd350b765ec1b3d39097e250c042d5358b (diff) | |
download | scummvm-rg350-04de7279a154eb4869f6ad76388ae0e9232f1433.tar.gz scummvm-rg350-04de7279a154eb4869f6ad76388ae0e9232f1433.tar.bz2 scummvm-rg350-04de7279a154eb4869f6ad76388ae0e9232f1433.zip |
SCI: Blocking ScummVM auto-save slot 0 for saving
Auto-saving is not used by SCI, but slot 0 is ScummVM "standard"
for auto-saving, that's why it's not available for saving anymore.
Jones still uses slot 0 for saving/restoring (because it's
hardcoded and changing it would break it somewhat)
Deleting + restoring is still possible of couse.
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/kfile.cpp | 6 | ||||
-rw-r--r-- | engines/sci/engine/state.h | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index 80bd683dcd..979fa95a42 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -806,15 +806,15 @@ reg_t kSaveGame(EngineState *s, int argc, reg_t *argv) { } else { uint savegameNr; // savegameId is in lower range, scripts expect us to create a new slot - for (savegameId = 0; savegameId < SAVEGAMEID_OFFICIALRANGE_START; savegameId++) { + for (savegameId = SAVEGAMESLOT_FIRST; savegameId <= SAVEGAMESLOT_LAST; savegameId++) { for (savegameNr = 0; savegameNr < saves.size(); savegameNr++) { if (savegameId == saves[savegameNr].id) break; } - if (savegameNr == saves.size()) + if (savegameNr == saves.size()) // Slot not found, seems to be good to go break; } - if (savegameId == SAVEGAMEID_OFFICIALRANGE_START) + if (savegameId > SAVEGAMESLOT_LAST) error("kSavegame: no more savegame slots available"); } } else { diff --git a/engines/sci/engine/state.h b/engines/sci/engine/state.h index eb9f3bbc5d..0f04e32fe5 100644 --- a/engines/sci/engine/state.h +++ b/engines/sci/engine/state.h @@ -57,6 +57,10 @@ enum AbortGameState { kAbortQuitGame = 3 }; +// slot 0 is the ScummVM auto-save slot, which is not used by us, but is still reserved +#define SAVEGAMESLOT_FIRST 1 +#define SAVEGAMESLOT_LAST 99 + // We assume that scripts give us savegameId 0->99 for creating a new save slot // and savegameId 100->199 for existing save slots. Refer to kfile.cpp enum { |