summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorarngo <[email protected]>2023-05-25 21:26:37 -0400
committerarngo <[email protected]>2023-05-25 21:26:37 -0400
commitccadd3c51a7040532fe26cf185140b05a2bdcbe4 (patch)
tree9932f70c7a6760a23c874b4a4afd3b5b814d4386 /include
parent030ae6b44015005401589eb9b3b055cb10bd7285 (diff)
downloadRodeoKit-ccadd3c51a7040532fe26cf185140b05a2bdcbe4.tar.gz
RodeoKit-ccadd3c51a7040532fe26cf185140b05a2bdcbe4.zip
implemented 2d collision system
Diffstat (limited to 'include')
-rw-r--r--include/rodeo/collision.h24
-rw-r--r--include/rodeo/collision_t.h2
2 files changed, 21 insertions, 5 deletions
diff --git a/include/rodeo/collision.h b/include/rodeo/collision.h
index 9e7b856..a8ec07f 100644
--- a/include/rodeo/collision.h
+++ b/include/rodeo/collision.h
@@ -7,7 +7,9 @@ rodeo_collision_2d_world_t
rodeo_collision_2d_world_create(void);
void
-rodeo_collision_2d_world_destroy(void);
+rodeo_collision_2d_world_destroy(
+ rodeo_collision_2d_world_t *world
+);
cvec_collision_2d_world_item_value*
rodeo_collision_2d_world_item_create(
@@ -21,15 +23,27 @@ rodeo_collision_2d_world_item_destroy(
cvec_collision_2d_world_item_value* cvec_value
);
+rodeo_collision_2d_world_item_t*
+rodeo_collision_2d_world_item_get_by_id(
+ rodeo_collision_2d_world_t *world,
+ uint32_t id
+);
+
void
rodeo_collision_2d_world_compare_self(
- rodeo_collision_2d_world_t *world
- // resolve function?
+ rodeo_collision_2d_world_t *world,
+ void (*resolve)(
+ rodeo_collision_2d_world_item_t *a,
+ rodeo_collision_2d_world_item_t *b
+ )
);
void
rodeo_collision_2d_world_compare_other(
rodeo_collision_2d_world_t *world_a,
- rodeo_collision_2d_world_t *world_b
- // resolve function?
+ rodeo_collision_2d_world_t *world_b,
+ void (*resolve)(
+ rodeo_collision_2d_world_item_t *a,
+ rodeo_collision_2d_world_item_t *b
+ )
);
diff --git a/include/rodeo/collision_t.h b/include/rodeo/collision_t.h
index e51386c..19f5dbe 100644
--- a/include/rodeo/collision_t.h
+++ b/include/rodeo/collision_t.h
@@ -18,6 +18,7 @@ struct
}
rodeo_collision_2d_world_item_t;
+
int rodeo_collision_2d_item_cmp(
const rodeo_collision_2d_world_item_t* a,
const rodeo_collision_2d_world_item_t* b
@@ -28,4 +29,5 @@ int rodeo_collision_2d_item_cmp(
#define i_type cvec_collision_2d_world_item
#include "stc/cvec.h"
+
typedef cvec_collision_2d_world_item rodeo_collision_2d_world_t;