diff options
author | Eugene Sandulenko | 2017-12-02 00:51:53 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-12-02 00:53:57 +0100 |
commit | 1f2290cd30602b9e6602b38bf85bfb6da1b2c164 (patch) | |
tree | ae34471464edbeb1c973e98da161f2dea50c2d2a /engines/fullpipe/stateloader.cpp | |
parent | dfbf27bd31dd584e7b974a860c0a99f40f852bda (diff) | |
download | scummvm-rg350-1f2290cd30602b9e6602b38bf85bfb6da1b2c164.tar.gz scummvm-rg350-1f2290cd30602b9e6602b38bf85bfb6da1b2c164.tar.bz2 scummvm-rg350-1f2290cd30602b9e6602b38bf85bfb6da1b2c164.zip |
FULLPIPE: Fix bug #10317: Save game metadata is missing
Diffstat (limited to 'engines/fullpipe/stateloader.cpp')
-rw-r--r-- | engines/fullpipe/stateloader.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp index 231379cddc..703190be0b 100644 --- a/engines/fullpipe/stateloader.cpp +++ b/engines/fullpipe/stateloader.cpp @@ -178,7 +178,7 @@ void parseSavegameHeader(Fullpipe::FullpipeSavegameHeader &header, SaveStateDesc desc.setSaveTime(hour, minutes); desc.setPlayTime(header.playtime * 1000); - desc.setDescription(header.saveName); + desc.setDescription(header.description); } void fillDummyHeader(Fullpipe::FullpipeSavegameHeader &header) { @@ -214,22 +214,23 @@ bool readSavegameHeader(Common::InSaveFile *in, FullpipeSavegameHeader &header) } header.version = in->readByte(); - if (header.version != FULLPIPE_SAVEGAME_VERSION) { - in->seek(oldPos, SEEK_SET); // Rewind the file - fillDummyHeader(header); - return false; - } - header.date = in->readUint32LE(); header.time = in->readUint16LE(); header.playtime = in->readUint32LE(); + if (header.version > 1) + header.description = in->readPascalString(); + // Generate savename SaveStateDescriptor desc; parseSavegameHeader(header, desc); + header.saveName = Common::String::format("%s %s", desc.getSaveDate().c_str(), desc.getSaveTime().c_str()); + if (header.description.empty()) + header.description = header.saveName; + // Get the thumbnail header.thumbnail = Common::SharedPtr<Graphics::Surface>(Graphics::loadThumbnail(*in), Graphics::SurfaceDeleter()); |