aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/animation.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2007-08-13 08:51:40 +0000
committerFilippos Karapetis2007-08-13 08:51:40 +0000
commit7a04b16d73560c56106296808bd9b532d2217c94 (patch)
tree980a85347b742af6a877a629501690722cb32b8b /engines/saga/animation.cpp
parent7e2390deb9bca44039baeb4b481e866f617a0a40 (diff)
downloadscummvm-rg350-7a04b16d73560c56106296808bd9b532d2217c94.tar.gz
scummvm-rg350-7a04b16d73560c56106296808bd9b532d2217c94.tar.bz2
scummvm-rg350-7a04b16d73560c56106296808bd9b532d2217c94.zip
When restarting an animation, make sure that the animation's current frame is set to 0. This fixes issues where replaying the same animation would lead to a crash (e.g. with Gorrister at the animal cages)
svn-id: r28581
Diffstat (limited to 'engines/saga/animation.cpp')
-rw-r--r--engines/saga/animation.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/saga/animation.cpp b/engines/saga/animation.cpp
index 7b3bdcd665..d37dee5a87 100644
--- a/engines/saga/animation.cpp
+++ b/engines/saga/animation.cpp
@@ -454,6 +454,9 @@ void Anim::play(uint16 animId, int vectorTime, bool playing) {
}
if (anim->completed < anim->cycles) {
+ if (anim->currentFrame < 0)
+ anim->currentFrame = 0;
+
frame = anim->currentFrame;
// WORKAROUND for a buggy animation in IHNM. Animation 0 in scene 67 (the mob of angry prisoners) should