aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2010-08-03 20:46:28 +0000
committerMartin Kiewitz2010-08-03 20:46:28 +0000
commitdc08c733db190ea9f1814e49cd4ed5a7525a96b0 (patch)
tree437db60cfb7dbb468affa831f685fe48b6b99756
parent2e11c1cf9642de2db81ea0a25541872c20f28b8e (diff)
downloadscummvm-rg350-dc08c733db190ea9f1814e49cd4ed5a7525a96b0.tar.gz
scummvm-rg350-dc08c733db190ea9f1814e49cd4ed5a7525a96b0.tar.bz2
scummvm-rg350-dc08c733db190ea9f1814e49cd4ed5a7525a96b0.zip
SCI: adding jones/talkie speed throttler view
fixes bug #3038989, regression of r51544 svn-id: r51714
-rw-r--r--engines/sci/graphics/animate.cpp7
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