aboutsummaryrefslogtreecommitdiff
path: root/engines/gargoyle/gargoyle.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gargoyle/gargoyle.h')
-rw-r--r--engines/gargoyle/gargoyle.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/gargoyle/gargoyle.h b/engines/gargoyle/gargoyle.h
index 375d9ad0d7..09402487c2 100644
--- a/engines/gargoyle/gargoyle.h
+++ b/engines/gargoyle/gargoyle.h
@@ -28,7 +28,6 @@
#include "common/serializer.h"
#include "engines/advancedDetector.h"
#include "engines/engine.h"
-#include "gargoyle/interpreter.h"
namespace Gargoyle {
@@ -57,20 +56,27 @@ struct GargoyleSavegameHeader {
int _totalFrames;
};
+/**
+ * Base class for the different interpreters
+ */
class GargoyleEngine : public Engine {
private:
/**
* Handles basic initialization
*/
void initialize();
-private:
+protected:
const GargoyleGameDescription *_gameDescription;
int _loadSaveSlot;
- Interpreter *_interpreter;
// Engine APIs
virtual Common::Error run();
virtual bool hasFeature(EngineFeature f) const;
+
+ /**
+ * Main game loop for the individual interpreters
+ */
+ virtual void main() = 0;
public:
GargoyleEngine(OSystem *syst, const GargoyleGameDescription *gameDesc);
virtual ~GargoyleEngine();