aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/mohawk/riven.cpp5
-rw-r--r--engines/mohawk/riven.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 37a7745d34..057102260d 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -209,6 +209,7 @@ Common::Error MohawkEngine_Riven::run() {
void MohawkEngine_Riven::doFrame() {
// Update background running things
+ uint32 loopStart = _system->getMillis();
_sound->updateSLST();
_video->updateMovies();
@@ -234,9 +235,11 @@ void MohawkEngine_Riven::doFrame() {
// Update the screen once per frame
_system->updateScreen();
+ uint32 loopElapsed = _system->getMillis() - loopStart;
// Cut down on CPU usage
- _system->delayMillis(10);
+ if (loopElapsed < 10)
+ _system->delayMillis(10 - loopElapsed);
}
void MohawkEngine_Riven::processInput() {
diff --git a/engines/mohawk/riven.h b/engines/mohawk/riven.h
index b887fc1184..e938d2711c 100644
--- a/engines/mohawk/riven.h
+++ b/engines/mohawk/riven.h
@@ -106,6 +106,7 @@ public:
bool hasFeature(EngineFeature f) const override;
void doFrame();
+ void processInput();
private:
// Datafiles