aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kgraphics.cpp3
-rw-r--r--engines/sci/engine/vm.cpp2
-rw-r--r--engines/sci/gui/gui_gfx.cpp1
-rw-r--r--engines/sci/gui32/gui32.cpp1
4 files changed, 6 insertions, 1 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index 106b451adc..357337578f 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -1543,6 +1543,9 @@ reg_t kAnimate(EngineState *s, int argc, reg_t *argv) {
reg_t castListReference = (argc > 0) ? argv[0] : NULL_REG;
bool cycle = (argc > 1) ? ((argv[1].toUint16()) ? true : false) : false;
+ // Take care of incoming events (kAnimate is called semi-regularly)
+ process_sound_events(s);
+
s->_gui->animate(castListReference, cycle, argc, argv);
return s->r_acc;
}
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp
index 8f1ffff224..2f3e2a618c 100644
--- a/engines/sci/engine/vm.cpp
+++ b/engines/sci/engine/vm.cpp
@@ -931,6 +931,8 @@ void run_vm(EngineState *s, int restoring) {
xstack->selector = opparams[0];
xstack->type = EXEC_STACK_TYPE_KERNEL;
+ //warning("callk %s", kfun.orig_name.c_str());
+
// Call kernel function
s->r_acc = kfun.fun(s, argc, argv);
diff --git a/engines/sci/gui/gui_gfx.cpp b/engines/sci/gui/gui_gfx.cpp
index a556beb1a0..15e46390f5 100644
--- a/engines/sci/gui/gui_gfx.cpp
+++ b/engines/sci/gui/gui_gfx.cpp
@@ -891,6 +891,7 @@ void SciGuiGfx::AnimateFill(List *list, byte &old_picNotValid) {
PUT_SEL32V(curObject, nsRight, celRect.right);
PUT_SEL32V(curObject, nsBottom, celRect.bottom);
+ // Calculate current priority according to y-coordinate
if (!(signal & SCI_ANIMATE_SIGNAL_FIXEDPRIORITY))
PUT_SEL32V(curObject, priority, CoordinateToPriority(y));
diff --git a/engines/sci/gui32/gui32.cpp b/engines/sci/gui32/gui32.cpp
index 1bcff2cc49..1b19e67c67 100644
--- a/engines/sci/gui32/gui32.cpp
+++ b/engines/sci/gui32/gui32.cpp
@@ -1868,7 +1868,6 @@ void SciGui32::animate(reg_t listReference, bool cycle, int argc, reg_t *argv) {
List *cast_list = NULL;
int open_animation = 0;
- process_sound_events(s); // Take care of incoming events (kAnimate is called semi-regularly)
_k_animate_ran = true; // Used by some of the invoked functions to check for recursion, which may,
// after all, damage the cast list