From 3c6188de4729a31e41fa1a90dd13065170972e36 Mon Sep 17 00:00:00 2001 From: kotorifan Date: Mon, 27 Apr 2026 12:57:51 +0200 Subject: Added SAT collision detection --- src/common.h | 50 ++++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 24 deletions(-) (limited to 'src/common.h') diff --git a/src/common.h b/src/common.h index b8fb306..85a4c98 100644 --- a/src/common.h +++ b/src/common.h @@ -10,27 +10,29 @@ typedef int_least16_t i16; typedef uint_least32_t u32; typedef int_least32_t i32; -#define SHAPE_ENUM_SIZE 3 -typedef enum { - SHAPE_CIRCLE, - SHAPE_SQUARE, - SHAPE_RECTANGLE -} shape_t; +/* #define SHAPE_ENUM_SIZE 4 */ +/* typedef enum { */ +/* SHAPE_CIRCLE, */ +/* SHAPE_SQUARE, */ +/* SHAPE_RECTANGLE, */ +/* SHAPE_TRIANGLE */ +/* } shape_t; */ typedef struct { - Color color; - float elast; -// Vector2 force; - float frict; - Vector2 pos; - Vector2 pos_prev; - Vector2 vel; - bool grabbed; - bool registered; - float mass; - float size_x; - float size_y; - shape_t obj_type; + Color color; + float elast; + float frict; + Vector2 angle; + Vector2 pos; + Vector2 pos_prev; + Vector2 vel; + bool grabbed; + bool registered; + float mass; + float size_x; + float size_y; + Vector2* vertices; + Vector2* edges; } object_t; @@ -51,11 +53,11 @@ typedef struct { #define RANDOM_SHAPE() ((shape_t)(GetRandomValue(0, SHAPE_ENUM_SIZE - 1))) #define RANDOM_COLOR() ((Color) { \ - GetRandomValue(0, 255), \ - GetRandomValue(0, 255), \ - GetRandomValue(0, 255), \ - 255 \ - }) + GetRandomValue(0, 255), \ + GetRandomValue(0, 255), \ + GetRandomValue(0, 255), \ + 255 \ + }) #endif // COMMON_H -- cgit v1.3