diff options
-rw-r--r-- | engines/sci/graphics/animate.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp index df52ab9a7c..ab4362cda9 100644 --- a/engines/sci/graphics/animate.cpp +++ b/engines/sci/graphics/animate.cpp @@ -631,14 +631,21 @@ void GfxAnimate::kernelAnimate(reg_t listReference, bool cycle, int argc, reg_t _ports->setPort(oldPort); + // Now trigger speed throttler switch (_lastCastData.size()) { case 0: // No entries drawn -> no speed throttler triggering break; case 1: { + // One entry drawn -> check if that entry was a speed benchmark view, if not enable speed throttler AnimateEntry *onlyCast = &_lastCastData[0]; + if ((onlyCast->viewId == 0) && (onlyCast->loopNo == 13) && (onlyCast->celNo == 0)) { + // this one is used by jones talkie + if ((onlyCast->celRect.height() == 8) && (onlyCast->celRect.width() == 8)) + return; + } // first loop and first cel used? if ((onlyCast->loopNo == 0) && (onlyCast->celNo == 0)) { // and that cel has a known speed benchmark resolution |