aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorJohannes Schickel2007-11-10 14:51:18 +0000
committerJohannes Schickel2007-11-10 14:51:18 +0000
commit83eec141c8da24fa710c304e0b18ec42381a2b58 (patch)
tree626438fe6f1acc6a6a15b5fdff83c25921cd6fa5 /engines/kyra
parente375e983ba9d8a29ac20fc948d4e105afd956b8e (diff)
downloadscummvm-rg350-83eec141c8da24fa710c304e0b18ec42381a2b58.tar.gz
scummvm-rg350-83eec141c8da24fa710c304e0b18ec42381a2b58.tar.bz2
scummvm-rg350-83eec141c8da24fa710c304e0b18ec42381a2b58.zip
- added some code to runLoop (currently commented out)
- little fix in handleInputUnkSub svn-id: r29466
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/kyra_v2.cpp43
1 files changed, 37 insertions, 6 deletions
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp
index dd7e09a083..42161ef1dd 100644
--- a/engines/kyra/kyra_v2.cpp
+++ b/engines/kyra/kyra_v2.cpp
@@ -293,12 +293,41 @@ void KyraEngine_v2::runLoop() {
_quitFlag = false;
while (!_quitFlag) {
- //XXX
+ //if (_unk1 >= 0) {
+ // removeHandItem();
+ // waitTicks(5);
+ // sub_270A0();
+ //}
if (_system->getMillis() > _nextIdleAnim)
showIdleAnim();
- //XXX
+ //if (queryGameFlag(0x159) {
+ // sub_C86A();
+ // resetGameFlag(0x159);
+ //}
+
+ if (queryGameFlag(0x124) && !queryGameFlag(0x125)) {
+ _mainCharacter.animFrame = 32;
+ enterNewScene(39, -1, 0, 0, 0);
+ }
+
+ //if (queryGameFlag(0xD8)) {
+ // resetGameFlag(0xD8);
+ // if (_mainCharacter.sceneId == 34) {
+ // if (queryGameFlag(0xD1) {
+ // initObject(28);
+ // sub_2741F(getTableString(0xFA, _cCodeBuffer, 1), 28, 0x83, 0xFA);
+ // deinitObject(28);
+ // enterNewScene(35, 4, 0, 0, 0);
+ // } else if (queryGameFlag(0xD0) {
+ // initObject(29);
+ // sub_2741F(getTableString(0xFB, _ccodeBuffer, 1), 29, 0x83, 0xFB);
+ // deinitObject(29);
+ // enterNewScene(33, 6, 0, 0, 0);
+ // }
+ // }
+ //}
int inputFlag = checkInput(0/*dword_324C5*/);
removeInputTop();
@@ -310,7 +339,8 @@ void KyraEngine_v2::runLoop() {
handleInput(_mouseX, _mouseY);
}
- //XXX
+ //if (queryGameFlag(0x1EE) && inputFlag)
+ // sub_13B19(inputFlag);
}
}
@@ -419,12 +449,12 @@ void KyraEngine_v2::handleInput(int x, int y) {
}
bool KyraEngine_v2::handleInputUnkSub(int x, int y) {
- if (y >= 143/* || _unk1 > -1 */|| queryGameFlag(0x164))
+ if (y > 143/* || _unk1 > -1 */|| queryGameFlag(0x164))
return false;
if (_handItemSet <= -3 && findItem(_mainCharacter.sceneId, 13) >= 0) {
updateCharFacing();
- //sub_277FA(getTableString(0xFC, _cCodeBuffer, 1), 0, 0x83, 0xFC);
+ //objectChat(getTableString(0xFC, _cCodeBuffer, 1), 0, 0x83, 0xFC);
return true;
} else {
_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
@@ -442,7 +472,8 @@ bool KyraEngine_v2::handleInputUnkSub(int x, int y) {
//XXXsys_unkKeyboad (flush? wait? whatever...)
if (queryGameFlag(0x1ED)) {
- // XXX
+ _sound->beginFadeOut();
+ _screen->fadeToBlack();
_quitFlag = true;
}