diff options
Diffstat (limited to 'engines/supernova/state.cpp')
-rw-r--r-- | engines/supernova/state.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/engines/supernova/state.cpp b/engines/supernova/state.cpp index cd096874ca..d612c234df 100644 --- a/engines/supernova/state.cpp +++ b/engines/supernova/state.cpp @@ -805,6 +805,29 @@ void GameManager::closeLocker(const Room *room, Object *obj, Object *lock, int s } } +void GameManager::death(const char *message) { + _vm->paletteFadeOut(); + _guiEnabled = false; + _vm->renderImage(11, 0); + _vm->renderMessage(message); + _vm->playSound(kAudioDeath); + _vm->paletteFadeIn(); + getInput(); + _vm->paletteFadeOut(); + _vm->removeMessage(); + + // TODO: Load screen + destroyRooms(); + initRooms(); + initState(); + initGui(); + _inventory.clear(); + changeRoom(INTRO); + _vm->paletteFadeIn(); + + _guiEnabled = true; +} + int GameManager::invertSection(int section) { if (section < 128) section += 128; |