aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/engine/kfile.cpp14
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;
}