aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/worldofxeen/worldofxeen.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/worldofxeen/worldofxeen.h')
-rw-r--r--engines/xeen/worldofxeen/worldofxeen.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/engines/xeen/worldofxeen/worldofxeen.h b/engines/xeen/worldofxeen/worldofxeen.h
index 3dceb891ee..41fe4b3b83 100644
--- a/engines/xeen/worldofxeen/worldofxeen.h
+++ b/engines/xeen/worldofxeen/worldofxeen.h
@@ -30,6 +30,11 @@
namespace Xeen {
namespace WorldOfXeen {
+enum WOXGameAction {
+ WOX_QUIT, WOX_CLOUDS_INTRO, WOX_CLOUDS_ENDING, WOX_DARKSIDE_INTRO,
+ WOX_DARKSIDE_ENDING, WOX_WORLD_ENDING, WOX_MENU, WOX_PLAY_GAME
+};
+
/**
* Implements a descendant of the base Xeen engine to handle
* Clouds of Xeen, Dark Side of Xeen, and Worlds of Xeen specific
@@ -38,12 +43,22 @@ namespace WorldOfXeen {
class WorldOfXeenEngine: public XeenEngine, public CloudsCutscenes,
public DarkSideCutscenes {
protected:
- virtual void showIntro();
+ /**
+ * Outer gameplay loop responsible for dispatching control to game-specific
+ * intros, main menus, or to play the actual game
+ */
+ virtual void outerGameLoop();
public:
bool _seenDarkSideIntro;
+ WOXGameAction _pendingAction;
public:
WorldOfXeenEngine(OSystem *syst, const XeenGameDescription *gameDesc);
virtual ~WorldOfXeenEngine() {}
+
+ /**
+ * Set the next overall game action to do
+ */
+ void setPendingAction(WOXGameAction action) { _pendingAction = action; }
};
} // End of namespace WorldOfXeen