diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 3 | ||||
-rw-r--r-- | engines/sci/engine/vm.cpp | 2 | ||||
-rw-r--r-- | engines/sci/gui/gui_gfx.cpp | 1 | ||||
-rw-r--r-- | engines/sci/gui32/gui32.cpp | 1 |
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 |