From 75c0036925107a844d211854f7194aebcbedd718 Mon Sep 17 00:00:00 2001 From: athrxx Date: Tue, 13 Dec 2011 21:56:35 +0100 Subject: KYRA: (LOL) - add support for loading original DOS version save files --- engines/kyra/saveload.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'engines/kyra/saveload.cpp') 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; } } -- cgit v1.2.3