From 5e0cff364f95d21853a7f5ddc96aed36897774c4 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Wed, 2 Mar 2016 13:57:12 -0600 Subject: SCI32: "Fix" missing fade transitions The original engine had some members on PlaneShowStyle to allow wall clock timing but never actually used them in the processing loop so transitions simply ran as quickly as the CPU could process them. For the moment, we will just limit these transitions to ~30fps, which hopefully roughly matches the speed of the engine on hardware of the era. --- engines/sci/graphics/frameout.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp index ccce8ef046..32de79d7ca 100644 --- a/engines/sci/graphics/frameout.cpp +++ b/engines/sci/graphics/frameout.cpp @@ -1600,16 +1600,15 @@ void GfxFrameout::processShowStyles() { } if (doFrameOut) { - Common::Rect frameOutRect(0, 0); - frameOut(true, frameOutRect); - - // TODO: It seems like transitions without the “animate” - // flag are too fast in in SCI2–2.1early, but the throttle - // value is arbitrary. Someone on real hardware probably - // needs to test what the actual speed of transitions - // should be - //state->speedThrottler(30); - //state->_throttleTrigger = true; + frameOut(true); + + // TODO: Transitions without the “animate” flag are too + // fast, but the throttle value is arbitrary. Someone on + // real hardware probably needs to test what the actual + // speed of these transitions should be + EngineState *state = g_sci->getEngineState(); + state->speedThrottler(33); + state->_throttleTrigger = true; } } while(continueProcessing && doFrameOut); } -- cgit v1.2.3