From dc17277a790cf343c3064722bf84eef7cf837d5e Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 1 Dec 2019 17:53:12 +0100 Subject: DIRECTOR: Fix movie framerate --- engines/director/events.cpp | 2 +- engines/director/score.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/engines/director/events.cpp b/engines/director/events.cpp index 603582bfc8..253c87161f 100644 --- a/engines/director/events.cpp +++ b/engines/director/events.cpp @@ -43,7 +43,7 @@ void processQuitEvent() { void DirectorEngine::processEvents() { Common::Event event; - uint endTime = g_system->getMillis() + 200; + uint endTime = g_system->getMillis() + 10; Score *sc = getCurrentScore(); if (sc->getCurrentFrame() >= sc->_frames.size()) { diff --git a/engines/director/score.cpp b/engines/director/score.cpp index ea90b2ef9f..36e32c2882 100644 --- a/engines/director/score.cpp +++ b/engines/director/score.cpp @@ -476,6 +476,8 @@ void Score::loadConfig(Common::SeekableSubReadStreamEndian &stream) { _castArrayStart = stream.readUint16(); _castArrayEnd = stream.readUint16(); _currentFrameRate = stream.readByte(); + + debugC(1, kDebugLoading, "Config. Framerate: %d", _currentFrameRate); stream.skip(9); _stageColor = stream.readUint16(); } @@ -1359,7 +1361,7 @@ void Score::update() { _lingo->processEvent(kEventExitFrame); - _nextFrameTime = g_system->getMillis() + (float)_currentFrameRate / 60 * 1000; + _nextFrameTime = g_system->getMillis() + 1000.0 / (float)_currentFrameRate; } Sprite *Score::getSpriteById(uint16 id) { -- cgit v1.2.3