aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMax Horn2010-10-25 22:41:48 +0000
committerMax Horn2010-10-25 22:41:48 +0000
commite0d5db0bb822f4772d90cd404fb23e89524f7b3a (patch)
treefe8f9ffdc871988a1a28322dc99af4bd00c3f58a /engines
parentc509752da116a66cca8ac9c364edb888b1bbd3d9 (diff)
downloadscummvm-rg350-e0d5db0bb822f4772d90cd404fb23e89524f7b3a.tar.gz
scummvm-rg350-e0d5db0bb822f4772d90cd404fb23e89524f7b3a.tar.bz2
scummvm-rg350-e0d5db0bb822f4772d90cd404fb23e89524f7b3a.zip
SWORD25: 'Implement' RTL support & add TODOs about missing feature support
svn-id: r53837
Diffstat (limited to 'engines')
-rw-r--r--engines/sword25/detection.cpp17
-rw-r--r--engines/sword25/sword25.cpp13
-rw-r--r--engines/sword25/sword25.h8
3 files changed, 38 insertions, 0 deletions
diff --git a/engines/sword25/detection.cpp b/engines/sword25/detection.cpp
index da34597e78..1d3a5437ac 100644
--- a/engines/sword25/detection.cpp
+++ b/engines/sword25/detection.cpp
@@ -113,6 +113,7 @@ public:
}
virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const;
+ virtual bool hasFeature(MetaEngineFeature f) const;
};
bool Sword25MetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
@@ -122,6 +123,22 @@ bool Sword25MetaEngine::createInstance(OSystem *syst, Engine **engine, const ADG
return desc != 0;
}
+bool Sword25MetaEngine::hasFeature(MetaEngineFeature f) const {
+ return false;
+ // TODO: Implement some of these features!?
+#if 0
+ return
+ (f == kSupportsListSaves) ||
+ (f == kSupportsLoadingDuringStartup) ||
+ (f == kSupportsDeleteSave) ||
+ (f == kSavesSupportMetaInfo) ||
+ (f == kSavesSupportThumbnail) ||
+ (f == kSavesSupportCreationDate) ||
+ (f == kSavesSupportPlayTime);
+#endif
+}
+
+
#if PLUGIN_ENABLED_DYNAMIC(SWORD25)
REGISTER_PLUGIN_DYNAMIC(SWORD25, PLUGIN_TYPE_ENGINE, Sword25MetaEngine);
#else
diff --git a/engines/sword25/sword25.cpp b/engines/sword25/sword25.cpp
index 62fb3506d9..5d8851e63e 100644
--- a/engines/sword25/sword25.cpp
+++ b/engines/sword25/sword25.cpp
@@ -182,4 +182,17 @@ bool Sword25Engine::loadPackages() {
return true;
}
+bool Sword25Engine::hasFeature(EngineFeature f) const {
+ return
+ (f == kSupportsRTL);
+ // TODO: Implement more of these features?!
+#if 0
+ return
+ (f == kSupportsSubtitleOptions) ||
+ (f == kSupportsRTL) ||
+ (f == kSupportsLoadingDuringRuntime) ||
+ (f == kSupportsSavingDuringRuntime);
+#endif
+}
+
} // End of namespace Sword25
diff --git a/engines/sword25/sword25.h b/engines/sword25/sword25.h
index cfbc26061a..2d93e2267c 100644
--- a/engines/sword25/sword25.h
+++ b/engines/sword25/sword25.h
@@ -72,6 +72,14 @@ private:
protected:
virtual Common::Error run();
+ bool hasFeature(EngineFeature f) const;
+// void pauseEngineIntern(bool pause); // TODO: Implement this!!!
+// void syncSoundSettings(); // TODO: Implement this!!!
+// Common::Error loadGameState(int slot); // TODO: Implement this?
+// Common::Error saveGameState(int slot, const char *desc); // TODO: Implement this?
+// bool canLoadGameStateCurrently(); // TODO: Implement this?
+// bool canSaveGameStateCurrently(); // TODO: Implement this?
+
void shutdown();
public: