aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kyra/kyra.cpp10
-rw-r--r--kyra/script_v1.cpp5
2 files changed, 13 insertions, 2 deletions
diff --git a/kyra/kyra.cpp b/kyra/kyra.cpp
index 970afc012a..3a0f7fcb86 100644
--- a/kyra/kyra.cpp
+++ b/kyra/kyra.cpp
@@ -37,6 +37,8 @@
#include "sound/voc.h"
#include "sound/audiostream.h"
+#include "gui/message.h"
+
#include "kyra/kyra.h"
#include "kyra/resource.h"
#include "kyra/screen.h"
@@ -395,6 +397,7 @@ int KyraEngine::init(GameDetector &detector) {
_unkScreenVar1 = 1;
_unkScreenVar2 = 0;
_unkScreenVar3 = 0;
+ _unkAmuletVar = 0;
memset(_specialPalettes, 0, sizeof(_specialPalettes));
_mousePressFlag = false;
@@ -675,6 +678,13 @@ void KyraEngine::mainLoop() {
// XXX
}
+ if (_deathHandler != 0xFF) {
+ // this is only used until the original gui is implemented
+ GUI::MessageDialog dialog("Brandon is dead! Game over!", "Quit");
+ dialog.runModal();
+ break;
+ }
+
if (_brandonStatusBit & 2) {
if (_brandonStatusBit0x02Flag)
animRefreshNPC(0);
diff --git a/kyra/script_v1.cpp b/kyra/script_v1.cpp
index 886e954579..ba17ffb43d 100644
--- a/kyra/script_v1.cpp
+++ b/kyra/script_v1.cpp
@@ -1204,12 +1204,13 @@ int KyraEngine::cmd_setFireberryGlowPalette(ScriptState *script) {
}
int KyraEngine::cmd_setDeathHandlerFlag(ScriptState *script) {
- warning("STUB: cmd_setDeathHandlerFlag");
+ debug(3, "cmd_drinkPotionAnimation(0x%X) (%d)", script, stackPos(0));
+ _deathHandler = stackPos(0);
return 0;
}
int KyraEngine::cmd_drinkPotionAnimation(ScriptState *script) {
- debug(3, "cmd_drinkPotionAnimation(0x%X) (%d, %d, %d)", script);
+ debug(3, "cmd_drinkPotionAnimation(0x%X) (%d, %d, %d)", script, stackPos(0), stackPos(1), stackPos(2));
seq_playDrinkPotionAnim(stackPos(0), stackPos(1), stackPos(2));
return 0;
}