aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus/pegasus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/pegasus/pegasus.cpp')
-rw-r--r--engines/pegasus/pegasus.cpp22
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