/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* solong.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cchauvet # include # include "../minilibx-linux/mlx.h" # define CASE_SIZE 64 # define XPM_HEADER "\nstatic char * XFACE[] = {\"" # define COLORS "gold|white|pink|red|gray" # define NB_COLORS 4 # define RENDER_DISTANCE 5 typedef struct s_square { char *color; size_t size; } t_square; typedef struct s_map { size_t x_len; size_t y_len; size_t nb_collectable; char **patern; size_t player_pos[2]; size_t exit_pos[2]; } t_map; typedef struct s_data { void *mlx; void *window; void *assets[NB_COLORS + 1]; size_t nb_foots; t_map *map; } t_data; int ft_test_map_is_finishable(t_map *map); int ft_exit(t_data *data); int ft_test_map_content2(char **patern); int ft_key(int key, t_data *data); void ft_fill_pos(t_map *map); char *name_generator(t_square square); t_map *ft_getmap(char *path); char *ft_xpm_gen_file(t_square square); char **ft_readfile(char *path); int ft_map_is_correct(t_map *map); int ft_gen_assets(t_data *data); char **ft_get_player_map(t_map map); int ft_draw_map(t_data *data); char *name_generator(t_square square); void ft_draw_img(t_data *data, void *img, size_t x, size_t y); #endif