diff options
-rw-r--r-- | engines/zvision/file/save_manager.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/engines/zvision/file/save_manager.cpp b/engines/zvision/file/save_manager.cpp index b33d33cdf1..4676272146 100644 --- a/engines/zvision/file/save_manager.cpp +++ b/engines/zvision/file/save_manager.cpp @@ -162,8 +162,6 @@ Common::Error SaveManager::loadGame(int slot) { scriptManager->deserialize(saveFile); delete saveFile; - if (header.thumbnail) - delete header.thumbnail; if (_engine->getGameId() == GID_NEMESIS && scriptManager->getCurrentLocation() == "tv2f") { // WORKAROUND for script bug #6793: location tv2f (stairs) has two states: @@ -190,16 +188,19 @@ Common::Error SaveManager::loadGame(int slot) { } bool SaveManager::readSaveGameHeader(Common::InSaveFile *in, SaveGameHeader &header, bool skipThumbnail) { + header.saveYear = 0; + header.saveMonth = 0; + header.saveDay = 0; + header.saveHour = 0; + header.saveMinutes = 0; + header.saveName.clear(); + header.thumbnail = nullptr; + header.version = 0; + uint32 tag = in->readUint32BE(); // Check if it's original savegame than fill header structure if (tag == MKTAG('Z', 'N', 'S', 'G')) { - header.saveYear = 0; - header.saveMonth = 0; - header.saveDay = 0; - header.saveHour = 0; - header.saveMinutes = 0; header.saveName = "Original Save"; - header.thumbnail = NULL; header.version = SAVE_ORIGINAL; in->seek(-4, SEEK_CUR); return true; @@ -226,7 +227,6 @@ bool SaveManager::readSaveGameHeader(Common::InSaveFile *in, SaveGameHeader &hea } // Read in the save name - header.saveName.clear(); char ch; while ((ch = (char)in->readByte()) != '\0') header.saveName += ch; |