aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus/pegasus.h
diff options
context:
space:
mode:
authorMatthew Hoops2011-09-21 19:46:59 -0400
committerMatthew Hoops2011-09-21 19:51:42 -0400
commitb4408d4527c05612aaabd86d52541d6def1485ab (patch)
tree46d25034acc1f15c3886a3836cd85200a4229c4b /engines/pegasus/pegasus.h
parent46bc7e6c4d6ec9addccff397f1c8439d6a86bb20 (diff)
downloadscummvm-rg350-b4408d4527c05612aaabd86d52541d6def1485ab.tar.gz
scummvm-rg350-b4408d4527c05612aaabd86d52541d6def1485ab.tar.bz2
scummvm-rg350-b4408d4527c05612aaabd86d52541d6def1485ab.zip
PEGASUS: Implement main menu
Sound fading is not working yet, so it has been disabled in the meantime
Diffstat (limited to 'engines/pegasus/pegasus.h')
-rw-r--r--engines/pegasus/pegasus.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/pegasus/pegasus.h b/engines/pegasus/pegasus.h
index 3a99ddb823..e3965e6a75 100644
--- a/engines/pegasus/pegasus.h
+++ b/engines/pegasus/pegasus.h
@@ -52,6 +52,7 @@ class GraphicsManager;
class Idler;
class Cursor;
class TimeBase;
+class GameMenu;
class PegasusEngine : public ::Engine, public InputHandler, public NotificationManager {
friend class InputHandler;
@@ -73,6 +74,10 @@ public:
GraphicsManager *_gfx;
Common::MacResManager *_resFork;
+ // Menu
+ void useMenu(GameMenu *menu);
+ bool checkGameMenu();
+
// Misc.
bool isDemo() const;
void addIdler(Idler *idler);
@@ -81,6 +86,8 @@ public:
void removeTimeBase(TimeBase *timeBase);
void swapSaveAllowed(bool allow) { _saveAllowed = allow; }
void swapLoadAllowed(bool allow) { _loadAllowed = allow; }
+ void delayShell(TimeValue time, TimeScale scale);
+ void resetIntroTimer();
protected:
Common::Error run();
@@ -90,6 +97,8 @@ protected:
Notification _shellNotification;
virtual void receiveNotification(Notification *notification, const tNotificationFlags flags);
+ void handleInput(const Input &input, const Hotspot *cursorSpot);
+
private:
// Console
PegasusConsole *_console;
@@ -124,6 +133,10 @@ private:
// Misc.
Hotspot _returnHotspot;
void showLoadDialog();
+
+ // Menu
+ GameMenu *_gameMenu;
+ void doGameMenuCommand(const tGameMenuCommand);
};
} // End of namespace Pegasus