aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/script_tim.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2009-04-27 19:38:28 +0000
committerFlorian Kagerer2009-04-27 19:38:28 +0000
commit6e566a9b1ed14d63497686ad1f61fb4192c0c8f9 (patch)
tree72c9bc8ee37d191de0a3cbcbfd6a61a5b8fe91d3 /engines/kyra/script_tim.cpp
parentc88b077fcc9f8f06b36f882285f14e0fe7a8a5a6 (diff)
downloadscummvm-rg350-6e566a9b1ed14d63497686ad1f61fb4192c0c8f9.tar.gz
scummvm-rg350-6e566a9b1ed14d63497686ad1f61fb4192c0c8f9.tar.bz2
scummvm-rg350-6e566a9b1ed14d63497686ad1f61fb4192c0c8f9.zip
LOL: added some drawing code and fixed some bugs
svn-id: r40167
Diffstat (limited to 'engines/kyra/script_tim.cpp')
-rw-r--r--engines/kyra/script_tim.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/engines/kyra/script_tim.cpp b/engines/kyra/script_tim.cpp
index a3f3268db3..4165053c15 100644
--- a/engines/kyra/script_tim.cpp
+++ b/engines/kyra/script_tim.cpp
@@ -1028,7 +1028,10 @@ void TIMInterpreter_LoL::playAnimationPart(int animIndex, int firstFrame, int la
anim->wsa->displayFrame(i - 1, 0);
_screen->updateScreen();
}
- _vm->delay(next - _system->getMillis());
+ while ((int)(next - _system->getMillis()) > 0) {
+ _vm->updateInput();
+ _vm->delay(_vm->_tickLength);
+ }
}
}
@@ -1064,11 +1067,14 @@ uint16 TIMInterpreter_LoL::processDialogue() {
if (_dialogueNumButtons == 0) {
int e = _vm->checkInput(0, false) & 0xFF;
_vm->removeInputTop();
- _vm->gui_notifyButtonListChanged();
- if (e == 43 || e == 61) {
- _vm->snd_stopSpeech(true);
- //_dlgTimer = 0;
+ if (e) {
+ _vm->gui_notifyButtonListChanged();
+
+ if (e == 43 || e == 61) {
+ _vm->snd_stopSpeech(true);
+ //_dlgTimer = 0;
+ }
}
if (_vm->snd_characterSpeaking() != 2) {
@@ -1083,7 +1089,9 @@ uint16 TIMInterpreter_LoL::processDialogue() {
} else {
int e = _vm->checkInput(0, false) & 0xFF;
_vm->removeInputTop();
- _vm->gui_notifyButtonListChanged();
+ if (e)
+ _vm->gui_notifyButtonListChanged();
+
switch (e) {
case 43:
case 61: