diff options
author | Flenk008 <frenk_0_0@hotmail.com> | 2023-03-13 18:04:59 +0100 |
---|---|---|
committer | Flenk008 <frenk_0_0@hotmail.com> | 2023-03-13 18:04:59 +0100 |
commit | 47c76e5eabd2b7aa4eb0de7ca34b4ef9ac78f395 (patch) | |
tree | d6f75676ba9f544910cc3e49e4e3f3a49cb15d7a /src/engine/entity.h | |
parent | 91c9d1c9fc13cf163c6262437de16c992dadaa5b (diff) |
Revert "Revert "Merge branch 'dev' of https://github.com/Flenk008/avans-arcade into dev""
This reverts commit a9ad8e0a8ac5346108f1e2c1a0bf9360fadc20da.
Diffstat (limited to 'src/engine/entity.h')
-rw-r--r-- | src/engine/entity.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/engine/entity.h b/src/engine/entity.h new file mode 100644 index 0000000..f45dae2 --- /dev/null +++ b/src/engine/entity.h @@ -0,0 +1,57 @@ +#pragma once + +#include <stdint.h> +#include <stdbool.h> + +#include "ppu/types.h" + +#include "engine/maths.h" + +typedef uint8_t hh_idx_t; + +typedef enum { + fire, ice, poison +}hh_e_damage_t; + +typedef struct { + hh_s_ppu_loc_fam_entry fam; //screen + hh_idx_t frame0; + hh_idx_t palette; + +}hh_s_rendering; + +typedef struct { + int8_t hp; + int8_t dmg; + hh_e_damage_t dmg_type; + int8_t speed_x, speed_y; + +} hh_s_atributes; + + +typedef struct { + vec2 pos, vel, vec; + bool is_grounded; + int8_t hp; + int8_t speed; + hh_s_rendering render; + //armor/block? +}hh_entity; + +typedef struct { + hh_entity p; + hh_s_atributes atr; +}hh_s_player; + + +/// @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); |