aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/stm32/TODO/hh_combat.h9
-rw-r--r--src/stm32/TODO/hh_draw_screen.h1
-rw-r--r--src/stm32/TODO/hh_entity.h20
-rw-r--r--src/stm32/TODO/maths.h11
-rw-r--r--src/stm32/TODO/player_controller.h4
-rw-r--r--src/stm32/TODO/sprite_controller.h6
6 files changed, 51 insertions, 0 deletions
diff --git a/src/stm32/TODO/hh_combat.h b/src/stm32/TODO/hh_combat.h
new file mode 100644
index 0000000..16c41f5
--- /dev/null
+++ b/src/stm32/TODO/hh_combat.h
@@ -0,0 +1,9 @@
+#include "hh_entity.h"
+
+
+// attacktypes:
+
+/// @brief basic attack
+/// @param dmg damage number
+/// @param target entity under attack (damage changes this hp value)
+void hh_attack_basic( int8_t dmg, hh_entity* target );
diff --git a/src/stm32/TODO/hh_draw_screen.h b/src/stm32/TODO/hh_draw_screen.h
new file mode 100644
index 0000000..f5d7507
--- /dev/null
+++ b/src/stm32/TODO/hh_draw_screen.h
@@ -0,0 +1 @@
+// every function call for drawing the screen goes here.
diff --git a/src/stm32/TODO/hh_entity.h b/src/stm32/TODO/hh_entity.h
new file mode 100644
index 0000000..82d75c5
--- /dev/null
+++ b/src/stm32/TODO/hh_entity.h
@@ -0,0 +1,20 @@
+#include "maths.h"
+
+typedef struct hh_entity
+{
+ vec2 pos, direction;
+ int8_t hp;
+ //armor/block?
+};
+
+/// @brief detect for collision enity and eviroment
+/// @param environment position of tile to be checked
+/// @param entity position entity
+/// @return true if collision between enity and environment
+bool hh_collision(const vec2& environment, const vec2& entity);
+
+/// @brief solve collisions
+/// @param environment position
+/// @param entity position
+/// @return solved new entity position
+vec2 hh_solve_collision(const vec2& environment, const vec2& entity);
diff --git a/src/stm32/TODO/maths.h b/src/stm32/TODO/maths.h
new file mode 100644
index 0000000..7b68156
--- /dev/null
+++ b/src/stm32/TODO/maths.h
@@ -0,0 +1,11 @@
+#include <math.h>
+
+typedef struct vec2{
+ float x,y;
+};
+
+/// @brief clamps x between min and max
+/// @param x value to clamp
+/// @param min
+/// @param max
+float clamp( float& x, float &min, float &max );
diff --git a/src/stm32/TODO/player_controller.h b/src/stm32/TODO/player_controller.h
new file mode 100644
index 0000000..1e9b86c
--- /dev/null
+++ b/src/stm32/TODO/player_controller.h
@@ -0,0 +1,4 @@
+#include "maths.h"
+#include "hh_entity.h"
+
+// inputs
diff --git a/src/stm32/TODO/sprite_controller.h b/src/stm32/TODO/sprite_controller.h
new file mode 100644
index 0000000..c1fadff
--- /dev/null
+++ b/src/stm32/TODO/sprite_controller.h
@@ -0,0 +1,6 @@
+// handles sprites
+
+// Bg sprites
+
+
+// Fg or entity sprites