aboutsummaryrefslogtreecommitdiff
path: root/engines/teenagent/scene.cpp
diff options
context:
space:
mode:
authorVladimir Menshakov2009-11-07 12:00:56 +0000
committerVladimir Menshakov2009-11-07 12:00:56 +0000
commitf3f382ba37bdee7e0d3f530d72bdcd704dc4bb66 (patch)
tree28a86e109c17c9411c9e31ec55592aacfb4ac76d /engines/teenagent/scene.cpp
parent0b67aa406e4c19edd9c264ce6f1447aee8ff4c8e (diff)
downloadscummvm-rg350-f3f382ba37bdee7e0d3f530d72bdcd704dc4bb66.tar.gz
scummvm-rg350-f3f382ba37bdee7e0d3f530d72bdcd704dc4bb66.tar.bz2
scummvm-rg350-f3f382ba37bdee7e0d3f530d72bdcd704dc4bb66.zip
implemented waiting for the particular frame in animation.
svn-id: r45724
Diffstat (limited to 'engines/teenagent/scene.cpp')
-rw-r--r--engines/teenagent/scene.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/teenagent/scene.cpp b/engines/teenagent/scene.cpp
index df0c3d6c2a..35cbcf7e09 100644
--- a/engines/teenagent/scene.cpp
+++ b/engines/teenagent/scene.cpp
@@ -400,6 +400,19 @@ bool Scene::render(OSystem *system) {
a = animation + i;
s = a->currentFrame();
+ if (current_event.type == SceneEvent::kWaitLanAnimationFrame && current_event.color == i) {
+ if (s == NULL) {
+ nextEvent();
+ continue;
+ }
+ int index = a->currentIndex();
+ //debug(0, "index = %d", index);
+ if (index == current_event.animation) {
+ debug(0, "kWaitLanAnimationFrame(%d, %d) complete", current_event.color, current_event.animation);
+ nextEvent();
+ }
+ }
+
if (s == NULL)
continue;
@@ -635,6 +648,10 @@ bool Scene::processEventQueue() {
debug(0, "waiting for the animation");
break;
+ case SceneEvent::kWaitLanAnimationFrame:
+ debug(0, "waiting for the frame %d in slot %d", current_event.animation, current_event.color);
+ break;
+
case SceneEvent::kQuit:
debug(0, "quit!");
_engine->quitGame();