summaryrefslogtreecommitdiff
path: root/include/so_long.h
diff options
context:
space:
mode:
authorDominik Kaiser2024-05-15 17:02:29 +0200
committerGitHub2024-05-15 17:02:29 +0200
commitcb6f98a5fa7bb2ed361abe68b3000f2e3f578ea7 (patch)
tree150075893065fd1e41c8b3a8272e0faee421848e /include/so_long.h
parente6edad24c9fa56538d66067dcff6bde39f746239 (diff)
parent33a54536567a8b93cd0320814eba4ff515d5277b (diff)
downloadso_long-cb6f98a5fa7bb2ed361abe68b3000f2e3f578ea7.tar.gz
so_long-cb6f98a5fa7bb2ed361abe68b3000f2e3f578ea7.zip
Merge refactoring into master
Refactoring
Diffstat (limited to 'include/so_long.h')
-rw-r--r--include/so_long.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/include/so_long.h b/include/so_long.h
index 48c34aa..5d0d394 100644
--- a/include/so_long.h
+++ b/include/so_long.h
@@ -6,7 +6,7 @@
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/05/08 14:14:02 by dkaiser #+# #+# */
-/* Updated: 2024/05/15 14:04:06 by dkaiser ### ########.fr */
+/* Updated: 2024/05/15 16:41:49 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
@@ -50,14 +50,20 @@ typedef struct s_ivector
int y;
} t_ivector;
-typedef struct s_player
+typedef struct s_collider
+{
+ t_vector position;
+ t_ivector size;
+} t_collider;
+
+typedef struct s_actor
{
t_vector position;
t_vector direction;
t_vector velocity;
t_ivector size;
mlx_image_t *img;
-} t_player;
+} t_actor;
typedef struct s_tilemap
{
@@ -72,7 +78,7 @@ typedef struct s_game
{
mlx_t *mlx;
void *window;
- t_player player;
+ t_actor player;
int input_direction;
t_tilemap map;
} t_game;
@@ -83,17 +89,15 @@ int init(t_game *game);
void loop(void *params);
void player_process(t_game *game);
int draw(t_game *game);
-int draw_map(t_game *game);
+int draw_walls(t_game *game);
void on_key_input(mlx_key_data_t event, void *params);
t_vector grid_to_screen_pos(t_ivector grid_pos, t_ivector tile_size);
t_ivector screen_to_grid_pos(t_vector screen_pos, t_ivector tile_size);
enum e_tile get_tile(t_tilemap *map, int x, int y);
-int check_collision(t_vector a_pos, t_ivector a_size,
- t_vector b_pos, t_ivector b_size);
-int check_wall_collision(t_vector a_pos, t_ivector a_size,
- t_tilemap *map);
-void move_and_slide(t_player *player, t_tilemap *map,
+int check_collision(t_collider a, t_collider b);
+int check_map_collision(t_collider collider, t_tilemap *map, enum e_tile type);
+void move_and_slide(t_actor *actor, t_tilemap *map,
double delta_time);
-int is_on_floor(t_vector pos, t_ivector size, t_tilemap *map);
+int is_on_floor(t_collider collider, t_tilemap *map);
#endif // SO_LONG_H