diff options
author | Peter Kohaut | 2018-11-25 21:47:00 +0100 |
---|---|---|
committer | Peter Kohaut | 2018-11-25 22:22:25 +0100 |
commit | cfb46da90cb045e029153848652bbd166a5c95b6 (patch) | |
tree | 468120f7e0c5eef52efcaafd9f4fec5ebd5981ef /engines/bladerunner/detection.cpp | |
parent | 0d8834b5616aa8fc936c750ed92ef4423610d641 (diff) | |
download | scummvm-rg350-cfb46da90cb045e029153848652bbd166a5c95b6.tar.gz scummvm-rg350-cfb46da90cb045e029153848652bbd166a5c95b6.tar.bz2 scummvm-rg350-cfb46da90cb045e029153848652bbd166a5c95b6.zip |
BLADERUNNER: Add in-game loading screen
It is also possible to start new game from it.
Diffstat (limited to 'engines/bladerunner/detection.cpp')
-rw-r--r-- | engines/bladerunner/detection.cpp | 42 |
1 files changed, 2 insertions, 40 deletions
diff --git a/engines/bladerunner/detection.cpp b/engines/bladerunner/detection.cpp index 8cd4288a0d..46285e57bc 100644 --- a/engines/bladerunner/detection.cpp +++ b/engines/bladerunner/detection.cpp @@ -87,27 +87,7 @@ bool BladeRunnerMetaEngine::hasFeature(MetaEngineFeature f) const { } SaveStateList BladeRunnerMetaEngine::listSaves(const char *target) const { - Common::SaveFileManager *saveFileMan = g_system->getSavefileManager(); - Common::StringArray files = saveFileMan->listSavefiles(Common::String::format("%s.###", target)); - - SaveStateList saveList; - for (Common::StringArray::const_iterator fileName = files.begin(); fileName != files.end(); ++fileName) { - Common::InSaveFile *saveFile = saveFileMan->openForLoading(*fileName); - if (saveFile == nullptr || saveFile->err()) { - warning("Cannot open save file '%s'", fileName->c_str()); - continue; - } - - BladeRunner::SaveFileHeader header; - BladeRunner::SaveFile::readHeader(*saveFile, header); - - int slotNum = atoi(fileName->c_str() + fileName->size() - 3); - saveList.push_back(SaveStateDescriptor(slotNum, header._name)); - } - - // Sort saves based on slot number. - Common::sort(saveList.begin(), saveList.end(), SaveStateDescriptorSlotComparator()); - return saveList; + return BladeRunner::SaveFileManager::list(target); } int BladeRunnerMetaEngine::getMaximumSaveSlot() const { @@ -120,25 +100,7 @@ void BladeRunnerMetaEngine::removeSaveState(const char *target, int slot) const } SaveStateDescriptor BladeRunnerMetaEngine::querySaveMetaInfos(const char *target, int slot) const { - Common::String filename = Common::String::format("%s.%03d", target, slot); - Common::InSaveFile *saveFile = g_system->getSavefileManager()->openForLoading(filename); - - if (saveFile == nullptr || saveFile->err()) { - return SaveStateDescriptor(); - } - - BladeRunner::SaveFileHeader header; - if (!BladeRunner::SaveFile::readHeader(*saveFile, header, false)) { - delete saveFile; - return SaveStateDescriptor(); - } - delete saveFile; - - SaveStateDescriptor desc(slot, header._name); - desc.setThumbnail(header._thumbnail); - desc.setSaveDate(header._year, header._month, header._day); - desc.setSaveTime(header._hour, header._minute); - return desc; + return BladeRunner::SaveFileManager::queryMetaInfos(target, slot); } #if PLUGIN_ENABLED_DYNAMIC(BLADERUNNER) |