aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/gob/mult_v2.cpp2
-rw-r--r--engines/gob/util.cpp6
-rw-r--r--engines/gob/util.h1
3 files changed, 9 insertions, 0 deletions
diff --git a/engines/gob/mult_v2.cpp b/engines/gob/mult_v2.cpp
index 379ed90c23..1ee12af899 100644
--- a/engines/gob/mult_v2.cpp
+++ b/engines/gob/mult_v2.cpp
@@ -395,6 +395,8 @@ void Mult_v2::multSub(uint16 multIndex) {
if (multIndex > 7)
error("Multindex out of range");
+ _vm->_util->notifyNewAnim();
+
debugC(4, kDebugGameFlow, "Sub mult %d", multIndex);
_multData = _multDatas[multIndex];
diff --git a/engines/gob/util.cpp b/engines/gob/util.cpp
index e1148dacb9..b0e7691c07 100644
--- a/engines/gob/util.cpp
+++ b/engines/gob/util.cpp
@@ -331,6 +331,12 @@ void Util::setFrameRate(int16 rate) {
_frameRate = rate;
_frameWaitTime = 1000 / rate;
_startFrameTime = getTimeKey();
+ _frameWaitLag = 0;
+}
+
+void Util::notifyNewAnim() {
+ _startFrameTime = getTimeKey();
+ _frameWaitLag = 0;
}
void Util::waitEndFrame() {
diff --git a/engines/gob/util.h b/engines/gob/util.h
index 3d7520fe69..0a76ee40ab 100644
--- a/engines/gob/util.h
+++ b/engines/gob/util.h
@@ -76,6 +76,7 @@ public:
void clearPalette(void);
int16 getFrameRate();
void setFrameRate(int16 rate);
+ void notifyNewAnim();
void waitEndFrame();
void setScrollOffset(int16 x = -1, int16 y = -1);