diff options
Diffstat (limited to 'include/rodeo')
| -rw-r--r-- | include/rodeo/collision.h | 35 | ||||
| -rw-r--r-- | include/rodeo/collision_t.h | 31 |
2 files changed, 66 insertions, 0 deletions
diff --git a/include/rodeo/collision.h b/include/rodeo/collision.h new file mode 100644 index 0000000..9e7b856 --- /dev/null +++ b/include/rodeo/collision.h @@ -0,0 +1,35 @@ + +// -- internal -- +// public +#include "rodeo/collision_t.h" + +rodeo_collision_2d_world_t +rodeo_collision_2d_world_create(void); + +void +rodeo_collision_2d_world_destroy(void); + +cvec_collision_2d_world_item_value* +rodeo_collision_2d_world_item_create( + rodeo_collision_2d_world_t *world, + rodeo_collision_2d_world_item_t item_params +); + +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_compare_self( + rodeo_collision_2d_world_t *world + // resolve function? +); + +void +rodeo_collision_2d_world_compare_other( + rodeo_collision_2d_world_t *world_a, + rodeo_collision_2d_world_t *world_b + // resolve function? +); diff --git a/include/rodeo/collision_t.h b/include/rodeo/collision_t.h new file mode 100644 index 0000000..e51386c --- /dev/null +++ b/include/rodeo/collision_t.h @@ -0,0 +1,31 @@ +#pragma once + +// -- system -- +#include <stdint.h> +#include <stdbool.h> + +typedef +struct +{ + uint32_t id; + float x; + float y; + float dx; + float dy; + bool is_circle; + float width; + float height; +} +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 +); + +#define i_val rodeo_collision_2d_world_item_t +#define i_cmp 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; |
