diff options
author | Vladimir Menshakov | 2009-10-18 10:32:08 +0000 |
---|---|---|
committer | Vladimir Menshakov | 2009-10-18 10:32:08 +0000 |
commit | c7e5c9f0edf9c59674152f71fc8143742e0964b7 (patch) | |
tree | 74f7e92b02396fa486ab67be3f8fc2f5f19f0720 | |
parent | 6dc95abcfa87cf2aa86b054c8b020153ae3641af (diff) | |
download | scummvm-rg350-c7e5c9f0edf9c59674152f71fc8143742e0964b7.tar.gz scummvm-rg350-c7e5c9f0edf9c59674152f71fc8143742e0964b7.tar.bz2 scummvm-rg350-c7e5c9f0edf9c59674152f71fc8143742e0964b7.zip |
better actor positioning
svn-id: r45212
-rw-r--r-- | engines/teenagent/scene.cpp | 5 | ||||
-rw-r--r-- | engines/teenagent/scene.h | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/engines/teenagent/scene.cpp b/engines/teenagent/scene.cpp index 4f21fb774c..d5ba251f47 100644 --- a/engines/teenagent/scene.cpp +++ b/engines/teenagent/scene.cpp @@ -372,7 +372,8 @@ bool Scene::render(OSystem *system) { if (s != NULL) { animation_position[i] = s->render(surface); busy = true; - got_any_animation = true; + if (!a->paused && !a->loop) + got_any_animation = true; continue; } @@ -406,7 +407,7 @@ bool Scene::render(OSystem *system) { } else if (!hide_actor) { actor_animation.free(); - if (destination != position) { + if (progress < progress_total) { Common::Point dp(destination.x - position0.x, destination.y - position0.y); int o; if (ABS(dp.x) > ABS(dp.y)) diff --git a/engines/teenagent/scene.h b/engines/teenagent/scene.h index a19639409f..849b27f2c1 100644 --- a/engines/teenagent/scene.h +++ b/engines/teenagent/scene.h @@ -94,8 +94,8 @@ struct SceneEvent { void dump() const { debug(0, "event[%d]: \"%s\"[%02x], animation: %u, dst: (%d, %d) [%u], scene: %u, ons: %u, lan: %u, object: %u, music: %u, sound: %u", - (int)type, message.c_str(), color, animation, dst.x, dst.y, orientation, scene, ons, lan, object, music, sound - ); + (int)type, message.c_str(), color, animation, dst.x, dst.y, orientation, scene, ons, lan, object, music, sound + ); } }; |