diff options
Diffstat (limited to 'engines/mohawk/detection.cpp')
-rw-r--r-- | engines/mohawk/detection.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/engines/mohawk/detection.cpp b/engines/mohawk/detection.cpp index 7c202998eb..e1aac64098 100644 --- a/engines/mohawk/detection.cpp +++ b/engines/mohawk/detection.cpp @@ -41,6 +41,7 @@ #ifdef ENABLE_RIVEN #include "mohawk/riven.h" +#include "mohawk/riven_saveload.h" #endif namespace Mohawk { @@ -240,14 +241,18 @@ SaveStateList MohawkMetaEngine::listSaves(const char *target) const { } Common::sort(saveList.begin(), saveList.end(), SaveStateDescriptorSlotComparator()); - } else + } #endif +#ifdef ENABLE_RIVEN if (strstr(target, "riven")) { filenames = g_system->getSavefileManager()->listSavefiles("*.rvn"); - for (uint32 i = 0; i < filenames.size(); i++) - saveList.push_back(SaveStateDescriptor(i, filenames[i])); + for (uint32 i = 0; i < filenames.size(); i++) { + Common::String description = Mohawk::RivenSaveLoad::querySaveDescription(filenames[i]); + saveList.push_back(SaveStateDescriptor(i, description)); + } } +#endif return saveList; } @@ -270,6 +275,12 @@ SaveStateDescriptor MohawkMetaEngine::querySaveMetaInfos(const char *target, int #ifdef ENABLE_MYST if (strstr(target, "myst")) { return Mohawk::MystGameState::querySaveMetaInfos(slot); + } +#endif +#ifdef ENABLE_RIVEN + if (strstr(target, "riven")) { + Common::StringArray filenames = g_system->getSavefileManager()->listSavefiles("*.rvn"); + return Mohawk::RivenSaveLoad::querySaveMetaInfos(filenames[slot].c_str()); } else #endif { |