diff options
author | Charadon <dev@iotib.net> | 2022-06-13 13:57:35 -0400 |
---|---|---|
committer | Charadon <dev@iotib.net> | 2022-06-13 13:57:35 -0400 |
commit | 141fb04b0d4d1ee07a8b7773824785248ec1c282 (patch) | |
tree | 385709fa3532372a473a93838ad0c13b84fa204d | |
parent | 2d334edcc2429c03add4b6b0953e35994e19b339 (diff) | |
download | Pong-C-141fb04b0d4d1ee07a8b7773824785248ec1c282.tar.gz |
Attempt #2 at internal clock
-rw-r--r-- | resources/cursor.png | bin | 172 -> 217 bytes | |||
-rw-r--r-- | src/main.c | 22 | ||||
-rw-r--r-- | src/title.c | 2 |
3 files changed, 7 insertions, 17 deletions
diff --git a/resources/cursor.png b/resources/cursor.png index 292608e..db3ed26 100644 --- a/resources/cursor.png +++ b/resources/cursor.png Binary files differdiff --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); } 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 <raylib.h> -#include <stdio.h> struct LeaderboardEntries { int Score; |