aboutsummaryrefslogtreecommitdiff
path: root/engines/zvision/scripting/sidefx/animation_node.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/zvision/scripting/sidefx/animation_node.cpp')
-rw-r--r--engines/zvision/scripting/sidefx/animation_node.cpp18
1 files changed, 5 insertions, 13 deletions
diff --git a/engines/zvision/scripting/sidefx/animation_node.cpp b/engines/zvision/scripting/sidefx/animation_node.cpp
index 3a21227d1a..56f1fa3e49 100644
--- a/engines/zvision/scripting/sidefx/animation_node.cpp
+++ b/engines/zvision/scripting/sidefx/animation_node.cpp
@@ -42,6 +42,11 @@ AnimationNode::AnimationNode(ZVision *engine, uint32 controlKey, const Common::S
_animation = engine->loadAnimation(fileName);
_frmDelay = 1000.0 / _animation->getDuration().framerate();
+ // WORKAROUND: We do not allow the engine to delay more than 66 msec
+ // per frame (15fps max)
+ if (_frmDelay > 66)
+ _frmDelay = 66;
+
if (frate > 0)
_frmDelay = 1000.0 / frate;
}
@@ -190,19 +195,6 @@ bool AnimationNode::stop() {
return false;
}
-void AnimationNode::setNewFrameDelay(int32 newDelay) {
- if (newDelay > 0) {
- PlayNodes::iterator it = _playList.begin();
- if (it != _playList.end()) {
- playnode *nod = &(*it);
- float percent = (float)nod->_delay / (float)_frmDelay;
- nod->_delay = percent * newDelay; // Scale to new max
- }
-
- _frmDelay = newDelay;
- }
-}
-
int32 AnimationNode::getFrameDelay() {
return _frmDelay;
}