aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schickel2009-11-07 15:06:49 +0000
committerJohannes Schickel2009-11-07 15:06:49 +0000
commitc2a5b3feea0c4428480a4c1864d031266b4103fc (patch)
tree0e21a63fb63465ff69839abac0f33232734976cc
parent0d79ace422cee533bc852b4d52e22829f1a61947 (diff)
downloadscummvm-rg350-c2a5b3feea0c4428480a4c1864d031266b4103fc.tar.gz
scummvm-rg350-c2a5b3feea0c4428480a4c1864d031266b4103fc.tar.bz2
scummvm-rg350-c2a5b3feea0c4428480a4c1864d031266b4103fc.zip
Fix some delays in Kyrandia 1 when clicking very often, while a sequence plays.
svn-id: r45731
-rw-r--r--engines/kyra/kyra_lok.cpp8
-rw-r--r--engines/kyra/kyra_lok.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/engines/kyra/kyra_lok.cpp b/engines/kyra/kyra_lok.cpp
index 330ef4ac2a..5e7275b26c 100644
--- a/engines/kyra/kyra_lok.cpp
+++ b/engines/kyra/kyra_lok.cpp
@@ -533,6 +533,14 @@ bool KyraEngine_LoK::skipFlag() const {
return KyraEngine_v1::skipFlag() || shouldQuit();
}
+void KyraEngine_LoK::resetSkipFlag(bool removeEvent) {
+ if (removeEvent) {
+ _eventList.clear();
+ } else {
+ KyraEngine_v1::resetSkipFlag(false);
+ }
+}
+
void KyraEngine_LoK::delayWithTicks(int ticks) {
uint32 nextTime = _system->getMillis() + ticks * _tickLength;
diff --git a/engines/kyra/kyra_lok.h b/engines/kyra/kyra_lok.h
index 826d25d8c1..54bae668b8 100644
--- a/engines/kyra/kyra_lok.h
+++ b/engines/kyra/kyra_lok.h
@@ -201,6 +201,7 @@ public:
void delayWithTicks(int ticks);
bool skipFlag() const;
+ void resetSkipFlag(bool removeEvent = true);
// TODO
void registerDefaultSettings();