aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/detection.cpp8
-rw-r--r--gui/launcher.cpp4
2 files changed, 10 insertions, 2 deletions
diff --git a/engines/agos/detection.cpp b/engines/agos/detection.cpp
index 42dce0f121..ce7be3d440 100644
--- a/engines/agos/detection.cpp
+++ b/engines/agos/detection.cpp
@@ -109,11 +109,17 @@ public:
virtual const char *getCopyright() const {
return "AGOS (C) Adventure Soft";
}
-
+
+ virtual bool hasFeature(MetaEngineFeature f) const;
virtual bool createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const;
virtual SaveStateList listSaves(const char *target) const;
};
+bool AgosMetaEngine::hasFeature(MetaEngineFeature f) const {
+ return
+ (f == kSupportsListSaves);
+}
+
bool AgosMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const {
const AGOS::AGOSGameDescription *gd = (const AGOS::AGOSGameDescription *)desc;
bool res = true;
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 733ecc4275..6af9791810 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -955,7 +955,9 @@ void LauncherDialog::loadGame(int item) {
if (plugin) {
bool delSupport = (*plugin)->hasFeature(MetaEngine::kSupportsDeleteSave);
- if ((*plugin)->hasFeature(MetaEngine::kSupportsListSaves)) {
+ if ((*plugin)->hasFeature(MetaEngine::kSupportsListSaves) &&
+ (*plugin)->hasFeature(MetaEngine::kSupportsDirectLoad))
+ {
do {
Common::StringList saveNames = generateSavegameList(item, plugin);
_loadDialog->setList(saveNames);