From 141fb04b0d4d1ee07a8b7773824785248ec1c282 Mon Sep 17 00:00:00 2001 From: Charadon Date: Mon, 13 Jun 2022 13:57:35 -0400 Subject: Attempt #2 at internal clock --- src/main.c | 22 +++++++--------------- src/title.c | 2 -- 2 files changed, 7 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/main.c b/src/main.c index 4886523..ef07c98 100644 --- a/src/main.c +++ b/src/main.c @@ -1,4 +1,5 @@ #include "pong.h" +#include int Difficulty = 1; SDL_atomic_t Ticks; @@ -54,25 +55,16 @@ static int internal_clock() { struct timespec Remaining = { 0, 0 }; - bool Lock = true; while(GameGoing == true) { SDL_AtomicAdd(&Ticks, 1); + double OldTime = GetTime(); nanosleep(&Delay, &Remaining); - if (Remaining.tv_nsec != 0 && Remaining.tv_sec != 0) { - Lock = true; - double InitialTime = GetTime(); - double TotalRemainingTime = (Remaining.tv_sec/1000000000.0f)+(Remaining.tv_nsec*1000000000.0f); - while(Lock == true) { - double CurrentTime = GetTime() - InitialTime; - TotalRemainingTime -= CurrentTime; - if(TotalRemainingTime <= 0) { - Lock = false; - } - } - } else { - Lock = false; + double NewTime = GetTime(); + printf("%lf,%lf,%d,%lf\n", OldTime, NewTime, SDL_AtomicGet(&Ticks), (NewTime-OldTime)); + while((OldTime-NewTime) > (1.0/60.0f)) { + NewTime = GetTime(); + printf("%lf\n", (OldTime-NewTime)); } - } return(0); } diff --git a/src/title.c b/src/title.c index 2327713..5c8987c 100644 --- a/src/title.c +++ b/src/title.c @@ -1,6 +1,4 @@ #include "pong.h" -#include -#include struct LeaderboardEntries { int Score; -- cgit 1.4.1-2-gfad0