This commit is contained in:
Elisee ADJIGUIDI 2022-06-14 16:34:58 +02:00
parent c88649051a
commit 6b1be25f25

View File

@ -3,10 +3,10 @@
/* ::: :::::::: */ /* ::: :::::::: */
/* parse_map.c :+: :+: :+: */ /* parse_map.c :+: :+: :+: */
/* +:+ +:+ +:+ */ /* +:+ +:+ +:+ */
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */ /* By: sadjigui <sadjigui@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2022/05/10 17:54:25 by sadjigui #+# #+# */ /* Created: 2022/05/10 17:54:25 by sadjigui #+# #+# */
/* Updated: 2022/06/14 15:55:55 by apommier ### ########.fr */ /* Updated: 2022/06/14 16:32:34 by sadjigui ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -30,20 +30,6 @@ void error_msg(t_data *img)
ft_putstr_fd("Error: Bad character in map\n", 2); ft_putstr_fd("Error: Bad character in map\n", 2);
} }
void free_tab(char **tab)
{
int i;
i = 0;
while (tab[i])
{
free(tab[i]);
i++;
}
free(tab);
tab = NULL;
}
void size_line(char *str, t_data *img) void size_line(char *str, t_data *img)
{ {
int i; int i;
@ -55,7 +41,7 @@ void size_line(char *str, t_data *img)
img->map.x = i; img->map.x = i;
} }
char *charge_new(t_data *img) char *charge_new(t_data *img, char **map, char **tmp_map)
{ {
char *str; char *str;
int i; int i;
@ -63,7 +49,11 @@ char *charge_new(t_data *img)
i = 0; i = 0;
str = malloc(sizeof(char) * (img->map.x + 3)); str = malloc(sizeof(char) * (img->map.x + 3));
if (!str) if (!str)
return (NULL); {
free_double(map);
free_double(tmp_map);
quit_game(img);
}
while (i < img->map.x + 2) while (i < img->map.x + 2)
{ {
str[i] = '3'; str[i] = '3';
@ -153,7 +143,6 @@ int check_inner_utils(char *line, t_data *img)
find_angle(line[i], img); find_angle(line[i], img);
//img->player.x = (i - 1) * 64; //img->player.x = (i - 1) * 64;
img->player.x = i * 64 - 32; img->player.x = i * 64 - 32;
printf("playerx= %f\n", img->player.x);
player++; player++;
} }
else if (line[i] != '3' && line[i] != '0' && line[i] != '1') else if (line[i] != '3' && line[i] != '0' && line[i] != '1')
@ -177,7 +166,6 @@ void check_inner(char **map, t_data *img)//fonction bizarre
player += check_inner_utils(map[i], img); player += check_inner_utils(map[i], img);
if (player == 1 && !img->player.y) if (player == 1 && !img->player.y)
img->player.y = i * 64 - 32; img->player.y = i * 64 - 32;
printf("playery= %f\n", img->player.y);
//img->player.y = (i - 1) * 64; //img->player.y = (i - 1) * 64;
i++; i++;
} }
@ -222,11 +210,14 @@ void check_zero_one(char **split, t_data *img)
img->map.y = i; img->map.y = i;
tmp = malloc(sizeof(char *) * (i + 3)); tmp = malloc(sizeof(char *) * (i + 3));
if (!tmp) if (!tmp)
return ; {
free_double(split);
quit_game(img);
}
i = 0; i = 0;
while(i < img->map.y + 2) while(i < img->map.y + 2)
{ {
tmp[i] = charge_new(img); tmp[i] = charge_new(img, split, tmp);
i++; i++;
} }
tmp[i] = NULL; tmp[i] = NULL;
@ -235,7 +226,7 @@ void check_zero_one(char **split, t_data *img)
return; return;
check_border(tmp, img); check_border(tmp, img);
check_inner(tmp, img); check_inner(tmp, img);
free_tab(tmp); free_double(tmp);
} }
int is_in_charset(char c, char *charset) int is_in_charset(char c, char *charset)
@ -334,8 +325,6 @@ int check_map(char **av, t_data *img)
img->map.max = img->map.x; img->map.max = img->map.x;
else else
img->map.max = img->map.y; img->map.max = img->map.y;
printf("----------------- d = %d", img->map.error);
if (img->map.error != 0) if (img->map.error != 0)
{ {
error_msg(img); error_msg(img);