From e0d5db0bb822f4772d90cd404fb23e89524f7b3a Mon Sep 17 00:00:00 2001 From: Max Horn Date: Mon, 25 Oct 2010 22:41:48 +0000 Subject: SWORD25: 'Implement' RTL support & add TODOs about missing feature support svn-id: r53837 --- engines/sword25/detection.cpp | 17 +++++++++++++++++ engines/sword25/sword25.cpp | 13 +++++++++++++ engines/sword25/sword25.h | 8 ++++++++ 3 files changed, 38 insertions(+) (limited to 'engines') 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: -- cgit v1.2.3