From bbffbe1cb3ef60bf44c1fdbeb9fc15e9db3be1e8 Mon Sep 17 00:00:00 2001 From: herbglitch Date: Tue, 18 Mar 2025 23:58:47 -0600 Subject: [PATCH] removed pointless pointers in line and circle --- include/arc/graphics/circle.h | 4 ++-- include/arc/graphics/line.h | 4 ++-- packages/graphics/sdl/circle.c | 8 ++++---- packages/graphics/sdl/line.c | 9 ++++----- src/engine/engine.c | 11 ++++++----- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/include/arc/graphics/circle.h b/include/arc/graphics/circle.h index 11696f1..15d9af2 100644 --- a/include/arc/graphics/circle.h +++ b/include/arc/graphics/circle.h @@ -10,9 +10,9 @@ extern "C" { #include "arc/math/circle.h" #include -void ARC_Circle_Render(ARC_Circle *circle, ARC_Renderer *renderer, ARC_Color *color); +void ARC_Circle_Render(ARC_Circle circle, ARC_Renderer *renderer, ARC_Color color); -void ARC_Circle_RenderFill(ARC_Circle *circle, ARC_Renderer *renderer, ARC_Color *color); +void ARC_Circle_RenderFill(ARC_Circle circle, ARC_Renderer *renderer, ARC_Color color); #ifdef __cplusplus } diff --git a/include/arc/graphics/line.h b/include/arc/graphics/line.h index 55207f6..9cfd620 100644 --- a/include/arc/graphics/line.h +++ b/include/arc/graphics/line.h @@ -7,10 +7,10 @@ extern "C" { #include "arc/graphics/color.h" #include "arc/graphics/renderer.h" -#include "arc/math/rectangle.h" +#include "arc/math/point.h" #include -void ARC_Line_Render(int32_t *x1, int32_t *y1, int32_t *x2, int32_t *y2, ARC_Renderer *renderer, ARC_Color *color); +void ARC_Line_Render(ARC_Point point1, ARC_Point point2, ARC_Renderer *renderer, ARC_Color color); #ifdef __cplusplus } diff --git a/packages/graphics/sdl/circle.c b/packages/graphics/sdl/circle.c index c4e4ca6..9ea460c 100644 --- a/packages/graphics/sdl/circle.c +++ b/packages/graphics/sdl/circle.c @@ -2,11 +2,11 @@ #include //Modified from https://stackoverflow.com/questions/38334081/how-to-draw-circles-arcs-and-vector-graphics-in-sdl -void ARC_Circle_Render(ARC_Circle *circle, ARC_Renderer *renderer, ARC_Color *color){ - circleRGBA((SDL_Renderer *)renderer, (Sint16)circle->x, (Sint16)circle->y, (Sint16)circle->r, (Uint8)color->r, (Uint8)color->g, (Uint8)color->b, (Uint8)color->a); +void ARC_Circle_Render(ARC_Circle circle, ARC_Renderer *renderer, ARC_Color color){ + circleRGBA((SDL_Renderer *)renderer, (Sint16)circle.x, (Sint16)circle.y, (Sint16)circle.r, (Uint8)color.r, (Uint8)color.g, (Uint8)color.b, (Uint8)color.a); } //TODO: very temp -void ARC_Circle_RenderFill(ARC_Circle *circle, ARC_Renderer *renderer, ARC_Color *color){ - filledCircleRGBA((SDL_Renderer *)renderer, (Sint16)circle->x, (Sint16)circle->y, (Sint16)circle->r, (Uint8)color->r, (Uint8)color->g, (Uint8)color->b, (Uint8)color->a); +void ARC_Circle_RenderFill(ARC_Circle circle, ARC_Renderer *renderer, ARC_Color color){ + filledCircleRGBA((SDL_Renderer *)renderer, (Sint16)circle.x, (Sint16)circle.y, (Sint16)circle.r, (Uint8)color.r, (Uint8)color.g, (Uint8)color.b, (Uint8)color.a); } diff --git a/packages/graphics/sdl/line.c b/packages/graphics/sdl/line.c index 64e21cd..7ff0c07 100644 --- a/packages/graphics/sdl/line.c +++ b/packages/graphics/sdl/line.c @@ -1,8 +1,7 @@ #include "arc/graphics/line.h" #include "renderer.h" -#include -void ARC_Line_Render(int32_t *x1, int32_t *y1, int32_t *x2, int32_t *y2, ARC_Renderer *renderer, ARC_Color *color){ - SDL_SetRenderDrawColor((SDL_Renderer *)renderer, color->r, color->g, color->b, color->a); - SDL_RenderDrawLine((SDL_Renderer *)renderer, *x1, *y1, *x2, *y2); -} \ No newline at end of file +void ARC_Line_Render(ARC_Point point1, ARC_Point point2, ARC_Renderer *renderer, ARC_Color color){ + SDL_SetRenderDrawColor((SDL_Renderer *)renderer, color.r, color.g, color.b, color.a); + SDL_RenderDrawLine((SDL_Renderer *)renderer, point1.x, point1.y, point2.x, point2.y); +} diff --git a/src/engine/engine.c b/src/engine/engine.c index 2e6eaf9..0b8bc82 100644 --- a/src/engine/engine.c +++ b/src/engine/engine.c @@ -10,7 +10,7 @@ #include "arc/std/errno.h" #include "arc/std/handler.h" #include -#include +#include void ARC_EngineData_VectorDestroyStateFn(void *data){ ARC_State_Destroy((ARC_State *)data); @@ -68,16 +68,17 @@ void ARC_Engine_RunUncapped(ARC_EngineData *data){ } //TODO: probably want to do this in a better way - struct timeval currentTime; - struct timeval lastTime; + struct timespec currentTime; + struct timespec lastTime; - gettimeofday(¤tTime, NULL); + clock_gettime(CLOCK_MONOTONIC, ¤tTime); lastTime = currentTime; data->running = ARC_True; while(data->running){ - data->dt = (lastTime.tv_sec - currentTime.tv_sec) + (lastTime.tv_usec - currentTime.tv_usec); + clock_gettime(CLOCK_MONOTONIC, ¤tTime); + data->dt = (currentTime.tv_sec + (currentTime.tv_nsec * 0.000000001)) - (lastTime.tv_sec + (lastTime.tv_nsec * 0.000000001)); lastTime = currentTime; data->running = ARC_Input_Update(data->input);