aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Kurushin2005-08-13 16:27:47 +0000
committerAndrew Kurushin2005-08-13 16:27:47 +0000
commitc2d755e1606dbdb674f39481a25c3d9256341be3 (patch)
tree824f39e92755d86c80713bace9919184fc132763
parent45047c5cdbab69d2e055738ca4b2bdab9e963c59 (diff)
downloadscummvm-rg350-c2d755e1606dbdb674f39481a25c3d9256341be3.tar.gz
scummvm-rg350-c2d755e1606dbdb674f39481a25c3d9256341be3.tar.bz2
scummvm-rg350-c2d755e1606dbdb674f39481a25c3d9256341be3.zip
fix bug #1254000 ITE: Actors duplicated at chasm scene
svn-id: r18675
-rw-r--r--saga/animation.cpp14
1 files changed, 3 insertions, 11 deletions
diff --git a/saga/animation.cpp b/saga/animation.cpp
index 885fcb4385..732c32efa2 100644
--- a/saga/animation.cpp
+++ b/saga/animation.cpp
@@ -170,17 +170,8 @@ void Anim::play(uint16 animId, int vectorTime, bool playing) {
} else {
// Animation done playing
- if (anim->linkId != -1) {
- // If this animation has a link, follow it
- anim->currentFrame = 0;
- anim->completed = 0;
- anim->state = ANIM_PAUSE;
-
- } else {
- // No link, stop playing
- anim->currentFrame = anim->maxFrame;
- anim->state = ANIM_PAUSE;
-
+ anim->state = ANIM_PAUSE;
+ if (anim->linkId == -1) {
if (anim->flags & ANIM_ENDSCENE) {
// This animation ends the scene
event.type = kEvTOneshot;
@@ -198,6 +189,7 @@ void Anim::play(uint16 animId, int vectorTime, bool playing) {
linkAnim = getAnimation(anim->linkId);
debug(5, "Animation ended going to %d", anim->linkId);
+ linkAnim->cycles = anim->cycles;
linkAnim->currentFrame = 0;
linkAnim->completed = 0;
linkAnim->state = ANIM_PLAYING;