[Scummvm-git-logs] scummvm master -> f7df393f45a67a4513132556424b8cb25f047956
neuromancer
noreply at scummvm.org
Tue Nov 8 20:48:17 UTC 2022
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
f7df393f45 FREESCAPE: use frame limiter to ensure at most 60 fps
Commit: f7df393f45a67a4513132556424b8cb25f047956
https://github.com/scummvm/scummvm/commit/f7df393f45a67a4513132556424b8cb25f047956
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-11-08T21:49:11+01:00
Commit Message:
FREESCAPE: use frame limiter to ensure at most 60 fps
Changed paths:
engines/freescape/freescape.cpp
engines/freescape/freescape.h
diff --git a/engines/freescape/freescape.cpp b/engines/freescape/freescape.cpp
index a3593ffe6d7..6c719049263 100644
--- a/engines/freescape/freescape.cpp
+++ b/engines/freescape/freescape.cpp
@@ -106,6 +106,7 @@ FreescapeEngine::FreescapeEngine(OSystem *syst, const ADGameDescription *gd)
_timerStarted = false;
_countdown = 0;
+ _frameLimiter = nullptr;
}
FreescapeEngine::~FreescapeEngine() {
@@ -395,6 +396,7 @@ void FreescapeEngine::processInput() {
}
Common::Error FreescapeEngine::run() {
+ _frameLimiter = new Graphics::FrameLimiter(g_system, ConfMan.getInt("engine_speed"));
// Initialize graphics
_gfx = createRenderer(_screenW, _screenH, _renderMode);
// The following error code will force return to launcher
@@ -454,8 +456,9 @@ Common::Error FreescapeEngine::run() {
processInput();
_gfx->flipBuffer();
+ _frameLimiter->delayBeforeSwap();
g_system->updateScreen();
- g_system->delayMillis(10);
+ _frameLimiter->startFrame();
endGame = checkIfGameEnded();
}
diff --git a/engines/freescape/freescape.h b/engines/freescape/freescape.h
index 95d5df325c6..d444242b449 100644
--- a/engines/freescape/freescape.h
+++ b/engines/freescape/freescape.h
@@ -29,6 +29,7 @@
#include "audio/decoders/wave.h"
#include "audio/mixer.h"
#include "audio/softsynth/pcspk.h"
+#include "graphics/framelimiter.h"
#include "freescape/area.h"
#include "freescape/gfx.h"
@@ -250,6 +251,7 @@ public:
// Rendering
int _screenW, _screenH;
Renderer *_gfx;
+ Graphics::FrameLimiter *_frameLimiter;
Common::RenderMode _renderMode;
ColorMap _colorMap;
void drawFrame();
More information about the Scummvm-git-logs
mailing list