aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/saveload.cpp
diff options
context:
space:
mode:
authorathrxx2011-12-13 21:56:35 +0100
committerathrxx2011-12-28 00:01:31 +0100
commit75c0036925107a844d211854f7194aebcbedd718 (patch)
tree69a70868687c71ca36c1c63f4d241ade5a539f40 /engines/kyra/saveload.cpp
parent99b14c5dbc9414b46afffabafb4be9c9c4c51fd1 (diff)
downloadscummvm-rg350-75c0036925107a844d211854f7194aebcbedd718.tar.gz
scummvm-rg350-75c0036925107a844d211854f7194aebcbedd718.tar.bz2
scummvm-rg350-75c0036925107a844d211854f7194aebcbedd718.zip
KYRA: (LOL) - add support for loading original DOS version save files
Diffstat (limited to 'engines/kyra/saveload.cpp')
-rw-r--r--engines/kyra/saveload.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/kyra/saveload.cpp b/engines/kyra/saveload.cpp
index 3bca6b0e3c..9fd470f740 100644
--- a/engines/kyra/saveload.cpp
+++ b/engines/kyra/saveload.cpp
@@ -54,7 +54,7 @@ KyraEngine_v1::kReadSaveHeaderError KyraEngine_v1::readSaveHeader(Common::Seekab
header.gameID = in->readByte();
} else {
// try checking for original save header
- const int descriptionSize[2] = { 30, 80 };
+ const int descriptionSize[3] = { 30, 80, 60 };
char descriptionBuffer[81];
bool saveOk = false;
@@ -78,6 +78,16 @@ KyraEngine_v1::kReadSaveHeaderError KyraEngine_v1::readSaveHeader(Common::Seekab
header.description = descriptionBuffer;
header.gameID = GI_KYRA3;
break;
+ } else if (type == MKTAG('C','D','0','4')) {
+ header.version = in->readUint32BE();
+ // We don't check the minor version, since the original doesn't do that either and it isn't required.
+ if (header.version != MKTAG(' ','C','D','1'))
+ continue;
+ saveOk = true;
+ header.description = descriptionBuffer;
+ header.gameID = GI_LOL;
+ in->seek(6, SEEK_CUR);
+ break;
}
}