aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus/menu.h
diff options
context:
space:
mode:
authorMatthew Hoops2011-09-26 00:30:33 -0400
committerMatthew Hoops2011-09-26 00:30:44 -0400
commit24cc9568cbefe6570dd846874c0681f3c09521bd (patch)
treeb78a9ef64ae4c5cd2d3565ebfb00237a47b1094f /engines/pegasus/menu.h
parent85e7d2d9a99a0b7663881c6b5e1ce066d2efc49c (diff)
downloadscummvm-rg350-24cc9568cbefe6570dd846874c0681f3c09521bd.tar.gz
scummvm-rg350-24cc9568cbefe6570dd846874c0681f3c09521bd.tar.bz2
scummvm-rg350-24cc9568cbefe6570dd846874c0681f3c09521bd.zip
PEGASUS: Implement the death menu
Diffstat (limited to 'engines/pegasus/menu.h')
-rwxr-xr-xengines/pegasus/menu.h37
1 files changed, 36 insertions, 1 deletions
diff --git a/engines/pegasus/menu.h b/engines/pegasus/menu.h
index 581fb5fb86..17242208d1 100755
--- a/engines/pegasus/menu.h
+++ b/engines/pegasus/menu.h
@@ -52,6 +52,11 @@ protected:
InputHandler *_previousHandler;
tGameMenuCommand _lastCommand;
+
+ void drawScore(tGameScoreType, tGameScoreType, const Common::Rect &, Surface *);
+
+private:
+ void drawNumber(tGameScoreType, tCoordType &, tCoordType, Surface *);
};
class Hotspot;
@@ -91,7 +96,7 @@ protected:
class CreditsMenu : public GameMenu {
public:
- CreditsMenu(void);
+ CreditsMenu();
virtual ~CreditsMenu() {}
virtual void handleInput(const Input &input, const Hotspot *);
@@ -108,6 +113,36 @@ protected:
Picture _smallSelect;
};
+class DeathMenu : public GameMenu {
+public:
+ DeathMenu(const tDeathReason);
+ virtual ~DeathMenu() {}
+
+ virtual void handleInput(const Input &input, const Hotspot *);
+
+ bool playerWon() { return _playerWon; }
+
+protected:
+ void drawAllScores();
+
+ void updateDisplay();
+
+ bool _playerWon;
+ int _menuSelection;
+ tDeathReason _deathReason;
+
+ Picture _deathBackground;
+ Picture _continueButton;
+ Picture _restoreButton;
+ Picture _mainMenuButton;
+ Picture _quitButton;
+
+ Picture _largeSelect;
+ Picture _smallSelect;
+
+ Sound _triumphSound;
+};
+
} // End of namespace Pegasus
#endif