diff options
-rw-r--r-- | engines/zvision/scripting/sidefx/animation_node.cpp | 16 | ||||
-rw-r--r-- | engines/zvision/video/rlf_decoder.h | 2 |
2 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 dec70e2642..97c6eeeab5 100644 --- a/engines/zvision/scripting/sidefx/animation_node.cpp +++ b/engines/zvision/scripting/sidefx/animation_node.cpp @@ -39,20 +39,12 @@ AnimationNode::AnimationNode(ZVision *engine, uint32 controlKey, const Common::S _mask(mask), _animation(NULL) { - if (fileName.hasSuffix(".rlf")) { - // HACK: Read the frame delay directly - Common::File *tmp = engine->getSearchManager()->openFile(fileName); - if (tmp) { - tmp->seek(176, SEEK_SET); - _frmDelay = Common::Rational(tmp->readUint32LE(), 10).toInt(); - delete tmp; - } + _animation = engine->loadAnimation(fileName); - _animation = engine->loadAnimation(fileName); - } else { - _animation = engine->loadAnimation(fileName); + if (fileName.hasSuffix(".rlf")) + _frmDelay = _animation->getTimeToNextFrame(); + else _frmDelay = Common::Rational(1000, _animation->getDuration().framerate()).toInt(); - } if (frate > 0) _frmDelay = 1000.0 / frate; diff --git a/engines/zvision/video/rlf_decoder.h b/engines/zvision/video/rlf_decoder.h index d56ff2da92..740f3fdd43 100644 --- a/engines/zvision/video/rlf_decoder.h +++ b/engines/zvision/video/rlf_decoder.h @@ -53,7 +53,7 @@ private: bool seek(const Audio::Timestamp &time); protected: - Common::Rational getFrameRate() const { return Common::Rational(60, _frameTime); } + Common::Rational getFrameRate() const { return Common::Rational(1000, _frameTime); } private: enum EncodingType { |