aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/saveload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/saveload.cpp')
-rw-r--r--engines/kyra/saveload.cpp29
1 files changed, 14 insertions, 15 deletions
diff --git a/engines/kyra/saveload.cpp b/engines/kyra/saveload.cpp
index cd5ef52b92..80182d949b 100644
--- a/engines/kyra/saveload.cpp
+++ b/engines/kyra/saveload.cpp
@@ -18,20 +18,17 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * $URL$
- * $Id$
- *
*/
-#include "common/endian.h"
+#include "kyra/kyra_v1.h"
+#include "kyra/util.h"
+
#include "common/savefile.h"
#include "common/system.h"
+
#include "graphics/thumbnail.h"
#include "graphics/surface.h"
-#include "kyra/kyra_v1.h"
-#include "kyra/util.h"
-
#define CURRENT_SAVE_VERSION 16
#define GF_FLOPPY (1 << 0)
@@ -47,13 +44,13 @@ KyraEngine_v1::kReadSaveHeaderError KyraEngine_v1::readSaveHeader(Common::Seekab
header.flags = 0;
header.thumbnail = 0;
- if (type == MKID_BE('KYRA') || type == MKID_BE('ARYK')) { // old Kyra1 header ID
+ if (type == MKTAG('K','Y','R','A') || type == MKTAG('A','R','Y','K')) { // old Kyra1 header ID
header.gameID = GI_KYRA1;
header.oldHeader = true;
- } else if (type == MKID_BE('HOFS')) { // old Kyra2 header ID
+ } else if (type == MKTAG('H','O','F','S')) { // old Kyra2 header ID
header.gameID = GI_KYRA2;
header.oldHeader = true;
- } else if (type == MKID_BE('WWSV')) {
+ } else if (type == MKTAG('W','W','S','V')) {
header.gameID = in->readByte();
} else {
// try checking for original save header
@@ -71,12 +68,12 @@ KyraEngine_v1::kReadSaveHeaderError KyraEngine_v1::readSaveHeader(Common::Seekab
type = in->readUint32BE();
header.version = in->readUint16LE();
- if (type == MKID_BE('MBL3') && header.version == 100) {
+ if (type == MKTAG('M','B','L','3') && header.version == 100) {
saveOk = true;
header.description = descriptionBuffer;
header.gameID = GI_KYRA2;
break;
- } else if (type == MKID_BE('MBL4') && header.version == 102) {
+ } else if (type == MKTAG('M','B','L','4') && header.version == 102) {
saveOk = true;
header.description = descriptionBuffer;
header.gameID = GI_KYRA3;
@@ -94,7 +91,7 @@ KyraEngine_v1::kReadSaveHeaderError KyraEngine_v1::readSaveHeader(Common::Seekab
}
header.version = in->readUint32BE();
- if (header.version > CURRENT_SAVE_VERSION || (header.oldHeader && header.version > 8) || (type == MKID_BE('ARYK') && header.version > 3))
+ if (header.version > CURRENT_SAVE_VERSION || (header.oldHeader && header.version > 8) || (type == MKTAG('A','R','Y','K') && header.version > 3))
return kRSHEInvalidVersion;
// Versions prior to 9 are using a fixed length description field
@@ -190,7 +187,7 @@ Common::WriteStream *KyraEngine_v1::openSaveForWriting(const char *filename, con
}
// Savegame version
- out->writeUint32BE(MKID_BE('WWSV'));
+ out->writeUint32BE(MKTAG('W','W','S','V'));
out->writeByte(_flags.gameID);
out->writeUint32BE(CURRENT_SAVE_VERSION);
out->write(saveName, strlen(saveName)+1);
@@ -257,7 +254,9 @@ void KyraEngine_v1::checkAutosave() {
}
void KyraEngine_v1::loadGameStateCheck(int slot) {
- if (loadGameState(slot) != Common::kNoError) {
+ // FIXME: Instead of throwing away the error returned by
+ // loadGameState, we should use it / augment it.
+ if (loadGameState(slot).getCode() != Common::kNoError) {
const char *filename = getSavegameFilename(slot);
Common::String errorMessage = "Could not load savegame: '";
errorMessage += filename;