aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sky/control.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/sky/control.cpp b/sky/control.cpp
index e0a7a96de8..fa442c8577 100644
--- a/sky/control.cpp
+++ b/sky/control.cpp
@@ -1325,9 +1325,11 @@ uint16 SkyControl::parseSaveData(uint8 *srcBuf) {
if (saveRev >= 3) {
LODSD(srcPos, gameVersion);
if (gameVersion != SkyState::_systemVars.gameVersion) {
- printf("This savegame was created by Beneath a Steel Sky v0.0%03d\n", gameVersion);
- printf("It cannot be loaded by this version (v0.0%3d)\n", SkyState::_systemVars.gameVersion);
- return RESTORE_FAILED;
+ if (SkyState::isCDVersion() && (gameVersion >= 365)) { // cd versions are compatible
+ printf("This savegame was created by Beneath a Steel Sky v0.0%03d\n", gameVersion);
+ printf("It cannot be loaded by this version (v0.0%3d)\n", SkyState::_systemVars.gameVersion);
+ return RESTORE_FAILED;
+ }
}
LODSW(srcPos, _skySound->_saveSounds[0]);
LODSW(srcPos, _skySound->_saveSounds[1]);