diff options
author | Charadon <dev@iotib.net> | 2022-06-13 19:30:46 -0400 |
---|---|---|
committer | Charadon <dev@iotib.net> | 2022-06-13 19:30:46 -0400 |
commit | 27a0d0856f33ddd927a5f8d9b7537d58433aad73 (patch) | |
tree | f419e4fa455685719e778b64449b3c8e37f8ed5e /src/main.c | |
parent | a232dc6b19489adb361a178e07f4e3dc668a8cad (diff) | |
download | Pong-C-27a0d0856f33ddd927a5f8d9b7537d58433aad73.tar.gz |
Revert "Attempt #2 at internal clock"
This reverts commit 141fb04b0d4d1ee07a8b7773824785248ec1c282.
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/main.c b/src/main.c index ef07c98..4886523 100644 --- a/src/main.c +++ b/src/main.c @@ -1,5 +1,4 @@ #include "pong.h" -#include <raylib.h> int Difficulty = 1; SDL_atomic_t Ticks; @@ -55,16 +54,25 @@ 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); - 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)); + 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; } + } return(0); } |