diff options
author | Johannes Schickel | 2009-06-01 23:38:56 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-06-01 23:38:56 +0000 |
commit | 9a0fff429f51832aafd1ad17fad94c206b68ffb5 (patch) | |
tree | 9249036044b7e4f45dbee6dbd1fe06e971fbe1c0 /engines/kyra/kyra_v1.cpp | |
parent | fb93062def9f8f3a67c9a8aa5715094bc67f8e8b (diff) | |
download | scummvm-rg350-9a0fff429f51832aafd1ad17fad94c206b68ffb5.tar.gz scummvm-rg350-9a0fff429f51832aafd1ad17fad94c206b68ffb5.tar.bz2 scummvm-rg350-9a0fff429f51832aafd1ad17fad94c206b68ffb5.zip |
- Remove LoLEngine::delayUntil it was identical to KyraEngine_v1 in its functionallity anyway
- Change KyraEngine_v1::delayUntil to a somewhat more LoLEngine::delayUntil like implementation
svn-id: r41117
Diffstat (limited to 'engines/kyra/kyra_v1.cpp')
-rw-r--r-- | engines/kyra/kyra_v1.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp index a5e6503d7c..f3ba67a265 100644 --- a/engines/kyra/kyra_v1.cpp +++ b/engines/kyra/kyra_v1.cpp @@ -476,9 +476,15 @@ int KyraEngine_v1::resetGameFlag(int flag) { } void KyraEngine_v1::delayUntil(uint32 timestamp, bool updateTimers, bool update, bool isMainLoop) { - while (_system->getMillis() < timestamp && !shouldQuit()) { - if (timestamp - _system->getMillis() >= 10) - delay(10, update, isMainLoop); + const uint32 curTime = _system->getMillis(); + if (curTime > timestamp) + return; + + uint32 del = timestamp - curTime; + while (del && !shouldQuit()) { + uint32 step = MIN<uint32>(del, _tickLength); + delay(step, update, isMainLoop); + del -= step; } } |