aboutsummaryrefslogtreecommitdiff
path: root/src/GameLoop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/GameLoop.cpp')
-rw-r--r--src/GameLoop.cpp28
1 files changed, 5 insertions, 23 deletions
diff --git a/src/GameLoop.cpp b/src/GameLoop.cpp
index 7b7c617..1691157 100644
--- a/src/GameLoop.cpp
+++ b/src/GameLoop.cpp
@@ -201,29 +201,11 @@ void handleKey(Game* game, int key, int action, int mods)
void eventLoop(Game* game)
{
auto start = glfwGetTime();
- GLfloat oldmult = multiplier;
- int colaccuracy = min(game->sps,
- game->sps / game->framespersecond + 1.0f);
- multiplier /= colaccuracy;
- for (int i = 0; i < (int) (colaccuracy + 0.5f); i++)
- game->Tick();
- auto window = glfwGetCurrentContext();
- if (game->DrawGLScene())
- glfwSwapBuffers(window);
- else
- glfwSetWindowShouldClose(window, GLFW_TRUE);
- multiplier = oldmult;
-
- do game->framespersecond = 1.0 / (glfwGetTime() - start);
- while (game->framespersecond > game->maxfps);
-
- game->multiplier5 = game->multiplier4;
- game->multiplier4 = game->multiplier3;
- game->multiplier3 = game->multiplier2;
- game->multiplier2 = 1 / game->framespersecond;
- multiplier = (game->multiplier2 + game->multiplier3
- + game->multiplier4 + game->multiplier5) / 4.0f;
- multiplier = min(max(multiplier, 0.00001f), 1.0f);
+ game->Tick();
+ game->DrawGLScene();
+
+ do multiplier = glfwGetTime() - start;
+ while (multiplier < 1.0f / 69);
if (visions == 1 && !game->mainmenu)
multiplier /= 3;
if (slomo)