diff options
author | Johannes Schickel | 2008-11-03 21:10:18 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-11-03 21:10:18 +0000 |
commit | 2694e916dacd46641831fdaba600641212e9bbe2 (patch) | |
tree | 3b7dc650fd8bd398b58d0b37571205d61ee97a40 /engines | |
parent | 4905d827b70c9c0e626be27a1f7d15201a60d747 (diff) | |
download | scummvm-rg350-2694e916dacd46641831fdaba600641212e9bbe2.tar.gz scummvm-rg350-2694e916dacd46641831fdaba600641212e9bbe2.tar.bz2 scummvm-rg350-2694e916dacd46641831fdaba600641212e9bbe2.zip |
Extend HACK in Engine::hasFeature, fixes GMM load dialog.
svn-id: r34889
Diffstat (limited to 'engines')
-rw-r--r-- | engines/engine.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/engines/engine.cpp b/engines/engine.cpp index 4bbe2d069f..7c251cbe1f 100644 --- a/engines/engine.cpp +++ b/engines/engine.cpp @@ -288,7 +288,9 @@ bool Engine::shouldQuit() const { bool Engine::hasFeature(EngineFeature f) { // TODO: Get rid of this hack!!! - if (f != kSupportsRTL) + if (f != kSupportsRTL && f != kSupportsListSaves && + f != kSupportsLoadingDuringRuntime && + f != kSupportsSavingDuringRuntime) return false; const EnginePlugin *plugin = 0; @@ -296,6 +298,15 @@ bool Engine::hasFeature(EngineFeature f) { gameid.toLowercase(); EngineMan.findGame(gameid, &plugin); assert(plugin); - return ( (*plugin)->hasFeature(MetaEngine::kSupportsRTL) ); + if (f == kSupportsRTL) + return (*plugin)->hasFeature(MetaEngine::kSupportsRTL); + else if (f == kSupportsListSaves) + return (*plugin)->hasFeature(MetaEngine::kSupportsListSaves); + else if (f == kSupportsLoadingDuringRuntime) + return (*plugin)->hasFeature(MetaEngine::kSupportsLoadingDuringRuntime); + else if (f == kSupportsSavingDuringRuntime) + return (*plugin)->hasFeature(MetaEngine::kSupportsSavingDuringRuntime); + else + return false; } |