diff options
-rw-r--r-- | engines/glk/glk.h | 12 | ||||
-rw-r--r-- | engines/glk/tads/tads.cpp | 8 | ||||
-rw-r--r-- | engines/glk/tads/tads.h | 5 |
3 files changed, 14 insertions, 11 deletions
diff --git a/engines/glk/glk.h b/engines/glk/glk.h index 6b95eb2a62..f96f384027 100644 --- a/engines/glk/glk.h +++ b/engines/glk/glk.h @@ -86,7 +86,7 @@ protected: /** * Returns true whether a given feature is supported by the engine */ - virtual bool hasFeature(EngineFeature f) const; + virtual bool hasFeature(EngineFeature f) const override; /** * Setup the video mode @@ -139,16 +139,6 @@ public: } /** - * Returns the bitset of game features - */ - uint32 getFeatures() const; - - /** - * Returns whether the game is a demo - */ - bool isDemo() const; - - /** * Returns the language */ Common::Language getLanguage() const { return _gameDescription._language; }; diff --git a/engines/glk/tads/tads.cpp b/engines/glk/tads/tads.cpp index 61e13cdb15..b021b02c84 100644 --- a/engines/glk/tads/tads.cpp +++ b/engines/glk/tads/tads.cpp @@ -35,6 +35,14 @@ TADS::TADS(OSystem *syst, const GlkGameDescription &gameDesc) : GlkAPI(syst, gam os_init(nullptr, nullptr, 0, 0, 0); } +bool TADS::hasFeature(EngineFeature f) const { + // The TADS codebases rely on a lot of static globals, so RTL can't be supported + if (f == kSupportsRTL) + return false; + + return GlkAPI::hasFeature(f); +} + Common::Error TADS::loadGameData(strid_t file) { // TODO return Common::kNoError; diff --git a/engines/glk/tads/tads.h b/engines/glk/tads/tads.h index e4640f04bf..6ad8780a2b 100644 --- a/engines/glk/tads/tads.h +++ b/engines/glk/tads/tads.h @@ -49,6 +49,11 @@ public: virtual InterpreterType getInterpreterType() const override { return INTERPRETER_SCOTT; } /** + * Returns true whether a given feature is supported by the engine + */ + virtual bool hasFeature(EngineFeature f) const override; + + /** * Load a savegame from the passed stream */ virtual Common::Error loadGameData(strid_t file) override; |