diff options
author | Bendegúz Nagy | 2016-08-23 15:39:05 +0200 |
---|---|---|
committer | Bendegúz Nagy | 2016-08-26 23:02:22 +0200 |
commit | 2bdabc3b7afe9ba857bfc2be7ac638a566d09bf4 (patch) | |
tree | b2717c0e92cc1260d0f08e5dd428409ed7f904b2 /engines/dm/loadsave.cpp | |
parent | 2199f879bdcd27806e304782423e2b3e838d6bbc (diff) | |
download | scummvm-rg350-2bdabc3b7afe9ba857bfc2be7ac638a566d09bf4.tar.gz scummvm-rg350-2bdabc3b7afe9ba857bfc2be7ac638a566d09bf4.tar.bz2 scummvm-rg350-2bdabc3b7afe9ba857bfc2be7ac638a566d09bf4.zip |
DM: Add target and original platform to save files
Diffstat (limited to 'engines/dm/loadsave.cpp')
-rw-r--r-- | engines/dm/loadsave.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/engines/dm/loadsave.cpp b/engines/dm/loadsave.cpp index 09b4d70c01..4d486cfbd6 100644 --- a/engines/dm/loadsave.cpp +++ b/engines/dm/loadsave.cpp @@ -53,8 +53,11 @@ LoadgameResponse DMEngine::f435_loadgame(int16 slot) { Common::InSaveFile *file = nullptr; struct { - SaveFormat _saveFormat; + SaveTarget _saveTarget; int32 _saveVersion; + OriginalSaveFormat _saveFormat; + OriginalSavePlatform _savePlatform; + int32 _gameId; uint16 _dungeonId; } dmSaveHeader; @@ -65,8 +68,6 @@ LoadgameResponse DMEngine::f435_loadgame(int16 slot) { file = saveFileManager->openForLoading(fileName); } - dmSaveHeader._saveFormat = k_FORMAT_DM_AMIGA_2X_PC98_X68000_FM_TOWNS_CSB_ATARI_ST; - if (_g298_newGame) { //L1366_B_FadePalette = !F0428_DIALOG_RequireGameDiskInDrive_NoDialogDrawn(C0_DO_NOT_FORCE_DIALOG_DM_CSB, true); _g524_restartGameAllowed = false; @@ -79,8 +80,11 @@ LoadgameResponse DMEngine::f435_loadgame(int16 slot) { warning(false, "MISSING CODE: missing check for matching format and platform in save in f435_loadgame"); - dmSaveHeader._saveFormat = (SaveFormat)file->readSint32BE(); + + dmSaveHeader._saveTarget = (SaveTarget)file->readSint32BE(); dmSaveHeader._saveVersion = file->readSint32BE(); + dmSaveHeader._saveFormat = (OriginalSaveFormat)file->readSint32BE(); + dmSaveHeader._savePlatform = (OriginalSavePlatform)file->readSint32BE(); dmSaveHeader._gameId = file->readSint32BE(); dmSaveHeader._dungeonId = file->readUint16BE(); @@ -135,7 +139,6 @@ LoadgameResponse DMEngine::f435_loadgame(int16 slot) { _displayMan->f436_STARTEND_FadeToPalette(_displayMan->_g347_paletteTopAndBottomScreen); } } else { - _g528_saveFormat = dmSaveHeader._saveFormat; _g526_dungeonId = dmSaveHeader._dungeonId; _g524_restartGameAllowed = true; @@ -295,8 +298,10 @@ bool DMEngine::writeCompleteSaveFile(int16 saveSlot, Common::String& saveDescrip writeSaveGameHeader(file, saveDescription); - file->writeSint32BE(_g528_saveFormat); + file->writeSint32BE(_gameVersion->_saveTargetToWrite); file->writeSint32BE(1); // save version + file->writeSint32BE(_gameVersion->_origSaveFormatToWrite); + file->writeSint32BE(_gameVersion->_origPlatformToWrite); file->writeSint32BE(_g525_gameId); file->writeUint16BE(_g526_dungeonId); |