diff options
author | Paul Gilbert | 2011-08-26 20:06:43 +1000 |
---|---|---|
committer | Paul Gilbert | 2011-08-26 20:06:43 +1000 |
commit | 5910c8afa9c56ef808bb0cd61b28baba7b45e349 (patch) | |
tree | ea8fb58022ee6a121d1182228f971cb676835501 | |
parent | ca7b85bfd8fd868b6675abf57b7a23ad1dc70d3e (diff) | |
download | scummvm-rg350-5910c8afa9c56ef808bb0cd61b28baba7b45e349.tar.gz scummvm-rg350-5910c8afa9c56ef808bb0cd61b28baba7b45e349.tar.bz2 scummvm-rg350-5910c8afa9c56ef808bb0cd61b28baba7b45e349.zip |
TSAGE: Implemented the new ANIM_MODE_9 animation mode
-rw-r--r-- | engines/tsage/core.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 49abf293e0..aef949283f 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -2072,6 +2072,7 @@ void SceneObject::animate(AnimateMode animMode, ...) { break; case ANIM_MODE_8: + case ANIM_MODE_9: _field68 = va_arg(va, int); _endAction = va_arg(va, Action *); _frameChange = 1; @@ -2258,7 +2259,23 @@ void SceneObject::dispatch() { } else { setFrame(changeFrame()); } + break; + case ANIM_MODE_9: + if (_frame == _endFrame) { + if (_frameChange != -1) { + _frameChange = -1; + _strip = (_strip - 1) ^ 1 + 1; + _endFrame = 1; + } else if ((_field68 == 0) || (--_field68 != 0)) { + _frameChange = 1; + _endFrame = getFrameCount(); + + setFrame(changeFrame()); + } + } else { + setFrame(changeFrame()); + } break; default: |