From 25e4fa652c5906031dcaca37d833cc6822863343 Mon Sep 17 00:00:00 2001 From: Sara Date: Sun, 8 Oct 2023 23:09:17 +0200 Subject: [PATCH] added shape_new_square to construct a square collision shape --- src/shape.c | 9 +++++++++ src/shape.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/shape.c b/src/shape.c index d030bb3..9dd1c4b 100644 --- a/src/shape.c +++ b/src/shape.c @@ -83,6 +83,15 @@ Shape* shape_new(const Vector* points, size_t points_len) { return self; } +Shape* shape_new_square(Vector size) { + return shape_new((Vector[4]){ + ZeroVector, + (Vector){0.f, size.y}, + size, + (Vector){size.x, 0.f} + }, 4); +} + Shape* shape_clone(const Shape* source) { Shape* self = malloc(sizeof(Shape)); ASSERT_RETURN(self != NULL, NULL, "Failed to allocate space for shape object."); diff --git a/src/shape.h b/src/shape.h index a20a53c..62be26e 100644 --- a/src/shape.h +++ b/src/shape.h @@ -7,6 +7,7 @@ typedef struct Shape Shape; extern Shape* shape_new(const Vector* points, size_t points_len); +extern Shape* shape_new_square(Vector size); extern Shape* shape_clone(const Shape* source); extern void shape_destroy(Shape* self);