aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlenk008 <frenk_0_0@hotmail.com>2023-03-09 20:35:34 +0100
committerGitHub <noreply@github.com>2023-03-09 20:35:34 +0100
commitc9d9e6927fd514667aae0e985ada42a736411450 (patch)
tree3bf1b69f4be518a7b5b4810c09053d95bc5399a8
parent569558ea9502b5e07ac4825ca94cadef0e65f0cf (diff)
parentc63bbb2483eef7d07079f950096463abc01ce16f (diff)
Merge pull request #3 from lonkaars/game-engine
Game engine
-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/hh_level.h1
-rw-r--r--src/stm32/TODO/hh_rand.h1
-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
8 files changed, 53 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/hh_level.h b/src/stm32/TODO/hh_level.h
new file mode 100644
index 0000000..43b19a3
--- /dev/null
+++ b/src/stm32/TODO/hh_level.h
@@ -0,0 +1 @@
+//deal with loading/saving the correct level
diff --git a/src/stm32/TODO/hh_rand.h b/src/stm32/TODO/hh_rand.h
new file mode 100644
index 0000000..ea7c1d4
--- /dev/null
+++ b/src/stm32/TODO/hh_rand.h
@@ -0,0 +1 @@
+// deal with Pseudo random number generation here.
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