summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/rodeo/collision.h35
-rw-r--r--include/rodeo/collision_t.h31
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;