diff options
author | Matthew Hoops | 2011-09-26 00:30:33 -0400 |
---|---|---|
committer | Matthew Hoops | 2011-09-26 00:30:44 -0400 |
commit | 24cc9568cbefe6570dd846874c0681f3c09521bd (patch) | |
tree | b78a9ef64ae4c5cd2d3565ebfb00237a47b1094f /engines/pegasus/menu.h | |
parent | 85e7d2d9a99a0b7663881c6b5e1ce066d2efc49c (diff) | |
download | scummvm-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-x | engines/pegasus/menu.h | 37 |
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 |