diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 22 |
1 files changed, 7 insertions, 15 deletions
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 <raylib.h> 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); } |