aboutsummaryrefslogtreecommitdiff
path: root/engines/engine.h
diff options
context:
space:
mode:
authorMax Horn2008-10-06 12:48:52 +0000
committerMax Horn2008-10-06 12:48:52 +0000
commit6a2f3dc0b984bcd8bd84d98ae456ed57fca740d6 (patch)
tree6c900838c9aacdaa301ce1bab2e75826f9ec67bc /engines/engine.h
parent6ca906d7aa4e515d0b0ce9c6a5a38500721d2483 (diff)
downloadscummvm-rg350-6a2f3dc0b984bcd8bd84d98ae456ed57fca740d6.tar.gz
scummvm-rg350-6a2f3dc0b984bcd8bd84d98ae456ed57fca740d6.tar.bz2
scummvm-rg350-6a2f3dc0b984bcd8bd84d98ae456ed57fca740d6.zip
Added new type Engine::Feature; pushed down some #include dependencies
svn-id: r34755
Diffstat (limited to 'engines/engine.h')
-rw-r--r--engines/engine.h27
1 files changed, 17 insertions, 10 deletions
diff --git a/engines/engine.h b/engines/engine.h
index 2bc44ab415..69caafac49 100644
--- a/engines/engine.h
+++ b/engines/engine.h
@@ -26,12 +26,9 @@
#define ENGINES_ENGINE_H
#include "common/scummsys.h"
-#include "common/events.h"
#include "common/fs.h"
#include "common/str.h"
-#include "engines/metaengine.h"
-
class OSystem;
namespace Audio {
@@ -73,7 +70,7 @@ protected:
const Common::String _targetName; // target name for saves
- const Common::FSNode _gameDataDir;
+ const Common::FSNode _gameDataDir; // FIXME: Get rid of this
private:
/**
@@ -151,7 +148,7 @@ public:
* Return whether the ENGINE should quit respectively should return to the
* launcher.
*/
- bool shouldQuit() const { return (_eventMan->shouldQuit() || _eventMan->shouldRTL()); }
+ bool shouldQuit() const;
/**
* Pause or resume the engine. This should stop/resume any audio playback
@@ -176,14 +173,24 @@ public:
*/
void openMainMenuDialog();
+
+ /**
+ * A feature in this context means an ability of the engine which can be
+ * either available or not.
+ */
+ enum EngineFeature {
+ /**
+ * 'Return to launcher' feature is supported, i.e., EVENT_RTL is handled.
+ */
+ kSupportsRTL
+ };
+
/**
- * Determine whether the engine supports the specified MetaEngine feature.
+ * Determine whether the engine supports the specified feature.
*
- * FIXME: This should not call through to the MetaEngine, but rather should support
- * its own list of features. In particular, kSupportsRTL should be an EngineFeature,
- * not a MetaEngineFeature.
+ * @todo Let this return false by default, or even turn it into a pure virtual method.
*/
- bool hasFeature(MetaEngine::MetaEngineFeature f);
+ bool hasFeature(EngineFeature f);
public: