diff options
author | athrxx | 2011-12-13 21:56:35 +0100 |
---|---|---|
committer | athrxx | 2011-12-28 00:01:31 +0100 |
commit | 75c0036925107a844d211854f7194aebcbedd718 (patch) | |
tree | 69a70868687c71ca36c1c63f4d241ade5a539f40 /engines/kyra/saveload.cpp | |
parent | 99b14c5dbc9414b46afffabafb4be9c9c4c51fd1 (diff) | |
download | scummvm-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.cpp | 12 |
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; } } |