diff options
Diffstat (limited to 'engines/xeen/worldofxeen/worldofxeen.h')
-rw-r--r-- | engines/xeen/worldofxeen/worldofxeen.h | 17 |
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 |