diff options
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 da4f65b1da..9de6cf840d 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -1279,10 +1279,18 @@ reg_t kCheckSaveGame32(EngineState *s, int argc, reg_t *argv) { return NULL_REG; } - if (save.version < MINIMUM_SCI32_SAVEGAME_VERSION || - save.version > CURRENT_SAVEGAME_VERSION || - save.gameVersion != gameVersion) { + if (save.version < MINIMUM_SCI32_SAVEGAME_VERSION) { + warning("Save version %d is below minimum SCI32 savegame version %d", save.version, MINIMUM_SCI32_SAVEGAME_VERSION); + return NULL_REG; + } + + if (save.version > CURRENT_SAVEGAME_VERSION) { + warning("Save version %d is above maximum SCI32 savegame version %d", save.version, CURRENT_SAVEGAME_VERSION); + return NULL_REG; + } + if (save.gameVersion != gameVersion) { + warning("Save game was created for game version %s, but the current game version is %s", save.gameVersion.c_str(), gameVersion.c_str()); return NULL_REG; } |