diff options
author | Kamil Zbróg | 2013-12-02 12:45:34 +0000 |
---|---|---|
committer | Kamil Zbróg | 2013-12-02 12:45:34 +0000 |
commit | f19f61a56da04e0dbd6e46ff9a303fdfb68d8390 (patch) | |
tree | b10cbf38568e8cace510308ce0893541719ee775 /engines/scumm/detection.cpp | |
parent | 0f013bf6e1bed6a1e18aa1a4ea16ed1c0105f33d (diff) | |
parent | ccc92b2e707643915efc575cd43fdd11169dc733 (diff) | |
download | scummvm-rg350-f19f61a56da04e0dbd6e46ff9a303fdfb68d8390.tar.gz scummvm-rg350-f19f61a56da04e0dbd6e46ff9a303fdfb68d8390.tar.bz2 scummvm-rg350-f19f61a56da04e0dbd6e46ff9a303fdfb68d8390.zip |
Merge remote-tracking branch 'sync/master' into prince-malik
Diffstat (limited to 'engines/scumm/detection.cpp')
-rw-r--r-- | engines/scumm/detection.cpp | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp index 170ca0993c..aa7e60930a 100644 --- a/engines/scumm/detection.cpp +++ b/engines/scumm/detection.cpp @@ -1223,8 +1223,8 @@ const char *ScummMetaEngine::getOriginalCopyright() const { } namespace Scumm { - extern bool getSavegameName(Common::InSaveFile *in, Common::String &desc, int heversion); -} +bool getSavegameName(Common::InSaveFile *in, Common::String &desc, int heversion); +} // End of namespace Scumm int ScummMetaEngine::getMaximumSaveSlot() const { return 99; } @@ -1262,25 +1262,21 @@ void ScummMetaEngine::removeSaveState(const char *target, int slot) const { } SaveStateDescriptor ScummMetaEngine::querySaveMetaInfos(const char *target, int slot) const { - Common::String filename = ScummEngine::makeSavegameName(target, slot, false); - Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(filename); - - if (!in) - return SaveStateDescriptor(); - Common::String saveDesc; - Scumm::getSavegameName(in, saveDesc, 0); // FIXME: heversion?!? - delete in; + Graphics::Surface *thumbnail = nullptr; + SaveStateMetaInfos infos; + memset(&infos, 0, sizeof(infos)); + SaveStateMetaInfos *infoPtr = &infos; - // TODO: Cleanup - Graphics::Surface *thumbnail = ScummEngine::loadThumbnailFromSlot(target, slot); + // FIXME: heversion?!? + if (!ScummEngine::querySaveMetaInfos(target, slot, 0, saveDesc, thumbnail, infoPtr)) { + return SaveStateDescriptor(); + } SaveStateDescriptor desc(slot, saveDesc); desc.setThumbnail(thumbnail); - SaveStateMetaInfos infos; - memset(&infos, 0, sizeof(infos)); - if (ScummEngine::loadInfosFromSlot(target, slot, &infos)) { + if (infoPtr) { int day = (infos.date >> 24) & 0xFF; int month = (infos.date >> 16) & 0xFF; int year = infos.date & 0xFFFF; |