aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorVladimir Menshakov2010-01-03 01:25:08 +0000
committerVladimir Menshakov2010-01-03 01:25:08 +0000
commitc951b14a15479857fbec6cbf9c14a03f28b91d21 (patch)
tree438a126185f8eeba02a580f0274b4fdc91d76132 /engines
parent1131c48f267ead31a21eaf91a8ab2175050bf983 (diff)
downloadscummvm-rg350-c951b14a15479857fbec6cbf9c14a03f28b91d21.tar.gz
scummvm-rg350-c951b14a15479857fbec6cbf9c14a03f28b91d21.tar.bz2
scummvm-rg350-c951b14a15479857fbec6cbf9c14a03f28b91d21.zip
moved scripted mark's animation after all sprites
svn-id: r46911
Diffstat (limited to 'engines')
-rw-r--r--engines/teenagent/scene.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/engines/teenagent/scene.cpp b/engines/teenagent/scene.cpp
index c73769f82c..fbb764bfb4 100644
--- a/engines/teenagent/scene.cpp
+++ b/engines/teenagent/scene.cpp
@@ -423,6 +423,7 @@ void Scene::playAnimation(byte idx, uint id, bool loop, bool paused, bool ignore
}
void Scene::playActorAnimation(uint id, bool loop, bool ignore) {
+ debug(0, "playActorAnimation(%u, loop:%s, ignore:%s)", id, loop?"true":"false", ignore?"true":"false");
Common::SeekableReadStream *s = Resources::instance()->loadLan(id + 1);
if (s == NULL)
error("playing animation %u failed", id);
@@ -664,16 +665,9 @@ bool Scene::render() {
s->render(surface);
}
- {
- Surface *mark = actor_animation.currentFrame();
- if (mark != NULL) {
- actor_animation_position = mark->render(surface);
- if (!actor_animation.ignore)
- busy = true;
- else
- busy = false;
- got_any_animation = true;
- } else if (!hide_actor) {
+ Surface *mark = actor_animation.currentFrame();
+ if (mark == NULL) {
+ if (!hide_actor) {
actor_animation.free();
uint zoom = lookupZoom(position.y);
@@ -730,6 +724,15 @@ bool Scene::render() {
Surface *s = *z_order_it;
s->render(surface);
}
+ if (mark != NULL) {
+ debug("pos.y = %d, anim.y = %d", position.y, mark->y + mark->h);
+ actor_animation_position = mark->render(surface);
+ if (!actor_animation.ignore)
+ busy = true;
+ else
+ busy = false;
+ got_any_animation = true;
+ }
if (!message.empty()) {
bool visible = true;