Added a simple gui dialog if brandon dies (currently using scummvms gui system)

Implemented cmd_setDeathHandlerFlag and fixed debug call for cmd_drinkPotionAnimation.

svn-id: r19907
This commit is contained in:
Johannes Schickel 2006-01-04 07:39:16 +00:00
parent 23f81b8bc6
commit ed6c07c66e
2 changed files with 13 additions and 2 deletions

View File

@ -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);

View File

@ -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;
}