diff options
Diffstat (limited to 'engines/pegasus/pegasus.cpp')
-rw-r--r-- | engines/pegasus/pegasus.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp index 468f3a44b5..3a8e868d2d 100644 --- a/engines/pegasus/pegasus.cpp +++ b/engines/pegasus/pegasus.cpp @@ -495,6 +495,9 @@ void PegasusEngine::receiveNotification(Notification *notification, const tNotif #endif break; } + case kPlayerDiedFlag: + doDeath(); + break; default: break; } @@ -1020,4 +1023,23 @@ bool PegasusEngine::playMovieScaled(Video::SeekableVideoDecoder *video, uint16 x return skipped; } +void PegasusEngine::die(const tDeathReason reason) { + // TODO: Stop dragging + + _deathReason = reason; + _shellNotification.setNotificationFlags(kPlayerDiedFlag, kPlayerDiedFlag); +} + +void PegasusEngine::doDeath() { + // TODO: Fade out + throwAwayEverything(); + useMenu(new DeathMenu(_deathReason)); + _gfx->updateDisplay(); + // TODO: Fade in +} + +void PegasusEngine::throwAwayEverything() { + // TODO +} + } // End of namespace Pegasus |