diff options
author | Colin Snover | 2016-03-02 13:57:12 -0600 |
---|---|---|
committer | Colin Snover | 2016-03-02 14:02:49 -0600 |
commit | 5e0cff364f95d21853a7f5ddc96aed36897774c4 (patch) | |
tree | be004abc858a60d2081c9a000bd56f58459259ec /engines | |
parent | 5125652be2a0aaeaa362e12aea2231ba144d6b28 (diff) | |
download | scummvm-rg350-5e0cff364f95d21853a7f5ddc96aed36897774c4.tar.gz scummvm-rg350-5e0cff364f95d21853a7f5ddc96aed36897774c4.tar.bz2 scummvm-rg350-5e0cff364f95d21853a7f5ddc96aed36897774c4.zip |
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.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/graphics/frameout.cpp | 19 |
1 files 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); } |