diff options
| author | Arnold <[email protected]> | 2023-05-26 12:09:26 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-05-26 12:09:26 -0400 |
| commit | e81e2ea117a67364786184aa328bc6e2b543e38f (patch) | |
| tree | b3b10f3aef85f321f958b22bebc96ceff98cc833 /include | |
| parent | 030ae6b44015005401589eb9b3b055cb10bd7285 (diff) | |
| download | RodeoKit-e81e2ea117a67364786184aa328bc6e2b543e38f.tar.gz RodeoKit-e81e2ea117a67364786184aa328bc6e2b543e38f.zip | |
implemented 2d collision system
Diffstat (limited to 'include')
| -rw-r--r-- | include/rodeo/collision.h | 29 | ||||
| -rw-r--r-- | include/rodeo/collision_t.h | 11 |
2 files changed, 34 insertions, 6 deletions
diff --git a/include/rodeo/collision.h b/include/rodeo/collision.h index 9e7b856..277b780 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( @@ -17,19 +19,34 @@ rodeo_collision_2d_world_item_create( void rodeo_collision_2d_world_item_destroy( - rodeo_collision_2d_world_t *world, cvec_collision_2d_world_item_value* cvec_value ); void +rodeo_collision_2d_world_item_destroy_by_id( + world_id id +); + +rodeo_collision_2d_world_item_t* +rodeo_collision_2d_world_item_get_by_id( + world_id 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..e75d243 100644 --- a/include/rodeo/collision_t.h +++ b/include/rodeo/collision_t.h @@ -4,10 +4,19 @@ #include <stdint.h> #include <stdbool.h> +struct cvec_collision_2d_world_item; + typedef struct { uint32_t id; + struct cvec_collision_2d_world_item *world; +} world_id; + +typedef +struct +{ + world_id id; float x; float y; float dx; @@ -18,6 +27,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 +38,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; |
