diff options
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r-- | engines/sci/graphics/frameout.cpp | 65 | ||||
-rw-r--r-- | engines/sci/graphics/frameout.h | 22 |
2 files changed, 11 insertions, 76 deletions
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp index 259e3a01b8..d5a7e33c32 100644 --- a/engines/sci/graphics/frameout.cpp +++ b/engines/sci/graphics/frameout.cpp @@ -65,8 +65,6 @@ GfxFrameout::GfxFrameout(SegManager *segMan, GfxPalette32 *palette, GfxTransitio _cursor(cursor), _segMan(segMan), _transitions(transitions), - _benchmarkingFinished(false), - _throttleFrameOut(true), _throttleState(0), _remapOccurred(false), _overdrawThreshold(0), @@ -153,28 +151,6 @@ bool GfxFrameout::gameIsHiRes() const { } #pragma mark - -#pragma mark Benchmarking - -bool GfxFrameout::checkForFred(const reg_t object) { - const int16 viewId = readSelectorValue(_segMan, object, SELECTOR(view)); - const SciGameId gameId = g_sci->getGameId(); - - if (gameId == GID_QFG4 && viewId == 9999) { - return true; - } - - if (gameId != GID_QFG4 && viewId == -556) { - return true; - } - - if (Common::String(_segMan->getObjectName(object)) == "fred") { - return true; - } - - return false; -} - -#pragma mark - #pragma mark Screen items void GfxFrameout::addScreenItem(ScreenItem &screenItem) const { @@ -226,14 +202,6 @@ void GfxFrameout::deleteScreenItem(ScreenItem &screenItem, const reg_t planeObje } void GfxFrameout::kernelAddScreenItem(const reg_t object) { - // The "fred" object is used to test graphics performance; - // it is impacted by framerate throttling, so disable the - // throttling when this item is on the screen for the - // performance check to pass. - if (!_benchmarkingFinished && _throttleFrameOut && checkForFred(object)) { - _throttleFrameOut = false; - } - const reg_t planeObject = readSelector(_segMan, object, SELECTOR(plane)); _segMan->getObject(object)->setInfoSelectorFlag(kInfoFlagViewInserted); @@ -273,15 +241,6 @@ void GfxFrameout::kernelUpdateScreenItem(const reg_t object) { } void GfxFrameout::kernelDeleteScreenItem(const reg_t object) { - // The "fred" object is used to test graphics performance; - // it is impacted by framerate throttling, so disable the - // throttling when this item is on the screen for the - // performance check to pass. - if (!_benchmarkingFinished && checkForFred(object)) { - _benchmarkingFinished = true; - _throttleFrameOut = true; - } - _segMan->getObject(object)->clearInfoSelectorFlag(kInfoFlagViewInserted); const reg_t planeObject = readSelector(_segMan, object, SELECTOR(plane)); @@ -430,7 +389,7 @@ void GfxFrameout::frameOut(const bool shouldShowBits, const Common::Rect &eraseR // we must poll for mouse events instead, poll here so that the mouse gets // updated with its current position at render time. If we do not do this, // the mouse gets "stuck" during loops that do not make calls to kGetEvent, - // like transitions and the benchmarking loop at the start of every game. + // like transitions. g_sci->getEventManager()->getSciEvent(SCI_EVENT_PEEK); RobotDecoder &robotPlayer = g_sci->_video32->getRobotPlayer(); @@ -1177,19 +1136,17 @@ void GfxFrameout::kernelFrameOut(const bool shouldShowBits) { } void GfxFrameout::throttle() { - if (_throttleFrameOut) { - uint8 throttleTime; - if (_throttleState == 2) { - throttleTime = 16; - _throttleState = 0; - } else { - throttleTime = 17; - ++_throttleState; - } - - g_sci->getEngineState()->speedThrottler(throttleTime); - g_sci->getEngineState()->_throttleTrigger = true; + uint8 throttleTime; + if (_throttleState == 2) { + throttleTime = 16; + _throttleState = 0; + } else { + throttleTime = 17; + ++_throttleState; } + + g_sci->getEngineState()->speedThrottler(throttleTime); + g_sci->getEngineState()->_throttleTrigger = true; } void GfxFrameout::shakeScreen(int16 numShakes, const ShakeDirection direction) { diff --git a/engines/sci/graphics/frameout.h b/engines/sci/graphics/frameout.h index 146211544c..650c2c7889 100644 --- a/engines/sci/graphics/frameout.h +++ b/engines/sci/graphics/frameout.h @@ -61,28 +61,6 @@ public: void run(); #pragma mark - -#pragma mark Benchmarking -private: - /** - * Optimization to avoid the more expensive object name - * comparision on every call to kAddScreenItem and - * kRemoveScreenItem. - */ - bool _benchmarkingFinished; - - /** - * Whether or not calls to kFrameOut should be framerate - * limited to 60fps. - */ - bool _throttleFrameOut; - - /** - * Determines whether or not a screen item is the "Fred" - * object. - */ - bool checkForFred(const reg_t object); - -#pragma mark - #pragma mark Screen items private: void remapMarkRedraw(); |