aboutsummaryrefslogtreecommitdiff
path: root/src/engine/entity.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/entity.h')
-rw-r--r--src/engine/entity.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/engine/entity.h b/src/engine/entity.h
new file mode 100644
index 0000000..dee4aed
--- /dev/null
+++ b/src/engine/entity.h
@@ -0,0 +1,26 @@
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+
+#include "engine/maths.h"
+
+typedef struct {
+ vec2 pos, vec;
+ bool is_grounded;
+ int8_t hp;
+ int8_t speed;
+ //armor/block?
+}hh_entity;
+
+/// @brief detect for collision enity and eviroment
+/// @param pos1 position of environment tile to be checked
+/// @param pos2 position entity
+/// @return true if collision between enity and environment
+bool hh_collision(vec2 pos1, vec2 pos2);
+
+/// @brief solve collisions
+/// @param environment position
+/// @param entity position
+/// @return solved new entity position
+void hh_solve_collision(vec2 pos_environment, hh_entity* entity);