diff options
Diffstat (limited to 'engines/glk/tads')
-rw-r--r-- | engines/glk/tads/tads.cpp | 8 | ||||
-rw-r--r-- | engines/glk/tads/tads.h | 5 |
2 files changed, 13 insertions, 0 deletions
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; |