diff options
Diffstat (limited to 'include/so_long.h')
| -rw-r--r-- | include/so_long.h | 26 |
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 |
