1
0

Parsing Finish

This commit is contained in:
Maelys Dumergue
2024-09-29 20:40:33 +02:00
parent 073fd2f2ff
commit 6c9d2b3931
20 changed files with 136 additions and 131 deletions

View File

@ -6,21 +6,13 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/04 17:01:05 by madumerg #+# #+# */ /* Created: 2024/09/04 17:01:05 by madumerg #+# #+# */
/* Updated: 2024/09/28 15:55:04 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:29:55 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#ifndef CUB3D_H #ifndef CUB3D_H
# define CUB3D_H # define CUB3D_H
# include "libft.h"
# include "ft_printf.h"
# include "mess_err.h"
# include <stdlib.h>
# include <math.h>
# include <unistd.h>
# include <fcntl.h>
# include <stdio.h>
# include "parsing.h" # include "parsing.h"
#endif #endif

View File

@ -6,13 +6,20 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/12 12:49:16 by madumerg #+# #+# */ /* Created: 2024/09/12 12:49:16 by madumerg #+# #+# */
/* Updated: 2024/09/28 17:54:07 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:32:01 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#ifndef PARSING_H #ifndef PARSING_H
# define PARSING_H # define PARSING_H
# include "libft.h"
# include "ft_printf.h"
# include "mess_err.h"
# include <stdlib.h>
# include <unistd.h>
# include <fcntl.h>
typedef struct s_coord typedef struct s_coord
{ {
int x; int x;
@ -73,7 +80,7 @@ char **parse_file(char *map, int ct, int i);
int err_mess(char *str); int err_mess(char *str);
//parse_utils.c //parse_utils.c
char **info_map(char **file); void info_map(char **file, char ***f_part);
int verif_char(char c); int verif_char(char c);
int space_line(char *line); int space_line(char *line);

View File

@ -12,6 +12,33 @@
#include "../includes/libft.h" #include "../includes/libft.h"
char *ft_strjoin_gnl(char *s1, char *s2)
{
size_t len;
size_t i;
size_t j;
char *str;
if (!s2)
return (NULL);
len = ft_strlen(s1) + ft_strlen(s2);
str = malloc(sizeof(char) * (len + 1));
if (!str)
return (NULL);
i = 0;
while (s1[i] != '\0')
{
str[i] = s1[i];
i++;
}
j = 0;
while (s2[j] != '\0')
str[i++] = s2[j++];
free(s1);
str[i] = '\0';
return (str);
}
char ft_end_of_line(char *line, char *buffer) char ft_end_of_line(char *line, char *buffer)
{ {
int i; int i;
@ -60,7 +87,7 @@ char *get_next_line(int fd)
buffer = ft_calloc(sizeof(char), (BUFFER_SIZE + 1)); buffer = ft_calloc(sizeof(char), (BUFFER_SIZE + 1));
while (buffer && line) while (buffer && line)
{ {
line = ft_strjoin(line, buffer); line = ft_strjoin_gnl(line, buffer);
if (!line) if (!line)
return (NULL); return (NULL);
if (ft_end_of_line(line, buffer) == 1) if (ft_end_of_line(line, buffer) == 1)

32
map.cub
View File

@ -4,17 +4,37 @@
NO ./no_texture.png NO ./no_texture.png
SO ./so_texture.png SO ./so_texture.png
WE ./we_texture.png WE ./we_texture.png
EA ./ea_texture.png EA ./ea_texture.png
C 7,4,4 C 72,48,4
F 7,4,46
F 7,4,40
111111 111111
1000W1 1000W1
111111 1111111
11111111111111
11
1110111
1111111111111111
111111111111111
111111111111111111111111

0
so_texture.png Normal file → Executable file
View File

View File

@ -6,7 +6,7 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/04 16:58:27 by madumerg #+# #+# */ /* Created: 2024/09/04 16:58:27 by madumerg #+# #+# */
/* Updated: 2024/09/28 20:12:50 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:36:29 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -26,6 +26,7 @@ t_pars init_pars(void)
new.so_png = NULL; new.so_png = NULL;
new.we_png = NULL; new.we_png = NULL;
new.ea_png = NULL; new.ea_png = NULL;
new.map = NULL;
return (new); return (new);
} }
@ -41,22 +42,13 @@ int basics_check(int ac, char **av, t_pars *pars)
int main(int ac, char **av) int main(int ac, char **av)
{ {
t_pars pars; t_pars pars;
int i;
i = 0;
pars = init_pars(); pars = init_pars();
if (basics_check(ac, av, &pars) == 1) if (basics_check(ac, av, &pars) == 1)
{
free_pars(&pars);
return (1); return (1);
printf ("f color %d\n", pars.f_color); }
printf ("c color %d\n", pars.c_color);
printf ("x = %d\n", pars.coor.x);
printf ("y = %d\n", pars.coor.y);
printf ("no_png --> %s\n", pars.no_png);
printf ("so_png --> %s\n", pars.so_png);
printf ("we_png --> %s\n", pars.we_png);
printf ("ea_png --> %s\n", pars.ea_png);
while (pars.map[i])
printf("|%s|\n", pars.map[i++]);
free_pars(&pars); free_pars(&pars);
return (0); return (0);
} }

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/04 21:33:35 by madumerg #+# #+# */ /* Created: 2024/09/04 21:33:35 by madumerg #+# #+# */
/* Updated: 2024/09/12 12:57:41 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:36:43 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int check_err_arg(int ac, char **av) int check_err_arg(int ac, char **av)
{ {

View File

@ -6,25 +6,25 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/16 09:38:32 by madumerg #+# #+# */ /* Created: 2024/09/16 09:38:32 by madumerg #+# #+# */
/* Updated: 2024/09/28 17:06:14 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:36:52 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int detect_info(char **tab, t_pars *pars) int detect_info(char **tab, t_pars *pars)
{ {
if (ft_strcmp("NO", tab[0]) == 0 && count_tab(tab) == 2) if (ft_strncmp("NO", tab[0], 2) == 0 && count_tab(tab) == 2)
return (check_texture(tab[0], tab[1], pars)); return (check_texture(tab[0], tab[1], pars));
else if (ft_strcmp("SO", tab[0]) == 0 && count_tab(tab) == 2) else if (ft_strncmp("SO", tab[0], 2) == 0 && count_tab(tab) == 2)
return (check_texture(tab[0], tab[1], pars)); return (check_texture(tab[0], tab[1], pars));
else if (ft_strcmp("WE", tab[0]) == 0 && count_tab(tab) == 2) else if (ft_strncmp("WE", tab[0], 2) == 0 && count_tab(tab) == 2)
return (check_texture(tab[0], tab[1], pars)); return (check_texture(tab[0], tab[1], pars));
else if (ft_strcmp("EA", tab[0]) == 0 && count_tab(tab) == 2) else if (ft_strncmp("EA", tab[0], 2) == 0 && count_tab(tab) == 2)
return (check_texture(tab[0], tab[1], pars)); return (check_texture(tab[0], tab[1], pars));
else if (ft_strcmp("F", tab[0]) == 0 && count_tab(tab) == 2) else if (ft_strncmp("F", tab[0], 1) == 0 && count_tab(tab) == 2)
return (check_format_rgb("F", tab, pars)); return (check_format_rgb("F", tab, pars));
else if (ft_strcmp("C", tab[0]) == 0 && count_tab(tab) == 2) else if (ft_strncmp("C", tab[0], 1) == 0 && count_tab(tab) == 2)
return (check_format_rgb("C", tab, pars)); return (check_format_rgb("C", tab, pars));
else else
return (err_mess(NOT_FOUND)); return (err_mess(NOT_FOUND));

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/19 10:44:07 by madumerg #+# #+# */ /* Created: 2024/09/19 10:44:07 by madumerg #+# #+# */
/* Updated: 2024/09/28 20:14:47 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:37:04 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int check_dup_img(t_pars *pars) int check_dup_img(t_pars *pars)
{ {
@ -30,14 +30,14 @@ int assign_img_two(char *sign, char *path, t_pars *pars)
if (ft_strcmp("WE", sign) == 0) if (ft_strcmp("WE", sign) == 0)
{ {
if (pars->we_png == NULL) if (pars->we_png == NULL)
pars->we_png = path; pars->we_png = ft_strdup(path);
else else
return (err_mess(DUP_ACR)); return (err_mess(DUP_ACR));
} }
else if (ft_strcmp("EA", sign) == 0) else if (ft_strcmp("EA", sign) == 0)
{ {
if (pars->ea_png == NULL) if (pars->ea_png == NULL)
pars->ea_png = path; pars->ea_png = ft_strdup(path);
else else
return (err_mess(DUP_ACR)); return (err_mess(DUP_ACR));
} }
@ -49,14 +49,14 @@ int assign_img(char *sign, char *path, t_pars *pars)
if (ft_strcmp("NO", sign) == 0) if (ft_strcmp("NO", sign) == 0)
{ {
if (pars->no_png == NULL) if (pars->no_png == NULL)
pars->no_png = path; pars->no_png = ft_strdup(path);
else else
return (err_mess(DUP_ACR)); return (err_mess(DUP_ACR));
} }
else if (ft_strcmp("SO", sign) == 0) else if (ft_strcmp("SO", sign) == 0)
{ {
if (pars->so_png == NULL) if (pars->so_png == NULL)
pars->so_png = path; pars->so_png = ft_strdup(path);
else else
return (err_mess(DUP_ACR)); return (err_mess(DUP_ACR));
} }

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/11 11:24:13 by madumerg #+# #+# */ /* Created: 2024/09/11 11:24:13 by madumerg #+# #+# */
/* Updated: 2024/09/28 15:48:38 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:37:16 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int err_not_close(char after, char before, char down, char up) int err_not_close(char after, char before, char down, char up)
{ {

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/16 09:36:07 by madumerg #+# #+# */ /* Created: 2024/09/16 09:36:07 by madumerg #+# #+# */
/* Updated: 2024/09/28 17:08:01 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:37:25 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int check_nb_color(char *r, char *g, char *b) int check_nb_color(char *r, char *g, char *b)
{ {
@ -20,14 +20,12 @@ int check_nb_color(char *r, char *g, char *b)
return (0); return (0);
} }
int save_color(char *tab, t_pars *pars, int j) int save_color(char *tab, t_pars *pars, int j, int i)
{ {
char *r; char *r;
char *g; char *g;
char *b; char *b;
int i;
i = 0;
while (tab[i] != ',') while (tab[i] != ',')
i++; i++;
r = ft_strndup_color(tab, 0, i); r = ft_strndup_color(tab, 0, i);
@ -44,6 +42,9 @@ int save_color(char *tab, t_pars *pars, int j)
if (check_nb_color(r, g, b) == -1) if (check_nb_color(r, g, b) == -1)
return (-1); return (-1);
pars->color = create_argb(ft_atoi(r), ft_atoi(g), ft_atoi(b)); pars->color = create_argb(ft_atoi(r), ft_atoi(g), ft_atoi(b));
free(r);
free(g);
free(b);
return (0); return (0);
} }
@ -73,7 +74,7 @@ int check_format_rgb(char *sign, char **tab, t_pars *pars)
return (err_mess(INVALID_CHAR)); return (err_mess(INVALID_CHAR));
if (count_precise_char(tab[1], ',') == 1) if (count_precise_char(tab[1], ',') == 1)
return (err_mess(WRONG_F_RGB)); return (err_mess(WRONG_F_RGB));
if (save_color(tab[1], pars, 0) == -1) if (save_color(tab[1], pars, 0, 0) == -1)
return (err_mess(ERR_COLOR)); return (err_mess(ERR_COLOR));
if (ft_strcmp(sign, "F") == 0) if (ft_strcmp(sign, "F") == 0)
pars->f_color = pars->color; pars->f_color = pars->color;

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/18 19:44:37 by madumerg #+# #+# */ /* Created: 2024/09/18 19:44:37 by madumerg #+# #+# */
/* Updated: 2024/09/28 17:32:06 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:37:35 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int check_dup_color(t_pars *pars) int check_dup_color(t_pars *pars)
{ {

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/17 14:57:11 by madumerg #+# #+# */ /* Created: 2024/09/17 14:57:11 by madumerg #+# #+# */
/* Updated: 2024/09/19 09:55:38 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:37:45 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int search_letter(char **map, int i, char l) int search_letter(char **map, int i, char l)
{ {

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/12 12:44:52 by madumerg #+# #+# */ /* Created: 2024/09/12 12:44:52 by madumerg #+# #+# */
/* Updated: 2024/09/28 20:40:30 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:37:58 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int all_data_verif(char **tab, t_pars *pars) int all_data_verif(char **tab, t_pars *pars)
{ {
@ -22,57 +22,51 @@ int all_data_verif(char **tab, t_pars *pars)
return (0); return (0);
} }
int check_info(char **l, t_pars *pars) int check_info(char **file, t_pars *pars)
{ {
char **tab; char **tab;
int i; int i;
int ct;
ct = 0;
i = 0; i = 0;
tab = ft_calloc(sizeof(char *), 6); while (file[i])
if (!tab)
return (1);
while (l[i])
{ {
tab = ft_split(l[i], ' '); if (ct == 6)
if (tab == NULL) break ;
return (1); if (space_line(file[i]) == 1)
if (all_data_verif(tab, pars) == 1) {
ct++;
tab = ft_split(file[i], ' ');
if (tab == NULL || all_data_verif(tab, pars) == 1)
return (1); return (1);
free_tab(tab);
}
i++; i++;
} }
free_tab(tab);
return (0); return (0);
} }
int verif_info_file(char *av, t_pars *pars) int verif_info_file(char *av, t_pars *pars)
{ {
char **map; char **map;
char **f_part;
map = parse_file(av, 0, 1); map = parse_file(av, 0, 1);
if (map == NULL) if (map == NULL)
return (err_mess(CRASH)); return (err_mess(CRASH));
f_part = info_map(map); if (check_info(map, pars) == 1 || check_dup_img(pars) == 1 || \
if (f_part == NULL) check_dup_color(pars) == 1 || all_skip(map, pars) == 1)
{
free_tab(map);
return (err_mess(CRASH));
}
if (check_info(f_part, pars) == 1 || check_dup_img(pars) == 1 || \
check_dup_color(pars) == 1)
{ {
free_tab(map); free_tab(map);
return (1); return (1);
} }
if (all_skip(map, pars) == 1) free_tab(map);
return (1);
return (0); return (0);
} }
int verif_all_map(char **map, t_pars *pars) int verif_all_map(char **map, t_pars *pars)
{ {
pars->map = alloc_map(map, longest_line(map)); pars->map = alloc_map(map, longest_line(map));
free_tab(map);
if (pars->map == NULL) if (pars->map == NULL)
return (err_mess(CRASH)); return (err_mess(CRASH));
if (check_char_map(pars->map) == 1) if (check_char_map(pars->map) == 1)

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/28 17:37:10 by madumerg #+# #+# */ /* Created: 2024/09/28 17:37:10 by madumerg #+# #+# */
/* Updated: 2024/09/28 17:43:25 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:34:58 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
void free_tab(char **tab) void free_tab(char **tab)
{ {

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/07 17:35:14 by madumerg #+# #+# */ /* Created: 2024/09/07 17:35:14 by madumerg #+# #+# */
/* Updated: 2024/09/11 11:10:48 by adjoly ### ########.fr */ /* Updated: 2024/09/29 20:35:10 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int err_mess(char *str) int err_mess(char *str)
{ {

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/11 14:20:54 by madumerg #+# #+# */ /* Created: 2024/09/11 14:20:54 by madumerg #+# #+# */
/* Updated: 2024/09/28 17:32:42 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:35:22 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int space_line(char *line) int space_line(char *line)
{ {
@ -30,31 +30,6 @@ int space_line(char *line)
return (0); return (0);
} }
char **info_map(char **file)
{
char **f_part;
int i;
int j;
i = 0;
j = 0;
f_part = ft_calloc(6 + 1, sizeof(char *));
if (!f_part)
return (NULL);
while (i >= j)
{
if (j == 6)
break ;
if (space_line(file[i]) == 1)
{
f_part[j] = file[i];
j++;
}
i++;
}
return (f_part);
}
int verif_char(char c) int verif_char(char c)
{ {
if (c != '1' && c != '0' && c != 'N' && c != 'S' && c != 'W' && \ if (c != '1' && c != '0' && c != 'N' && c != 'S' && c != 'W' && \

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/28 15:40:12 by madumerg #+# #+# */ /* Created: 2024/09/28 15:40:12 by madumerg #+# #+# */
/* Updated: 2024/09/28 17:32:55 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:35:35 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
char *fill_line(char *l, int size) char *fill_line(char *l, int size)
{ {
@ -56,7 +56,10 @@ char **alloc_map(char **old_map, int size)
{ {
tmp[i] = fill_line(old_map[j], size); tmp[i] = fill_line(old_map[j], size);
if (tmp[i] == NULL) if (tmp[i] == NULL)
{
free_tab(tmp);
return (NULL); return (NULL);
}
i++; i++;
j++; j++;
} }

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/17 15:12:28 by madumerg #+# #+# */ /* Created: 2024/09/17 15:12:28 by madumerg #+# #+# */
/* Updated: 2024/09/28 20:44:38 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:35:50 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int ft_count_line_map(char **file, int y) int ft_count_line_map(char **file, int y)
{ {
@ -34,21 +34,15 @@ void replace_nl(char *l)
int recup_map(char **old_map, int i, t_pars *pars) int recup_map(char **old_map, int i, t_pars *pars)
{ {
char **tmp; int k;
int j;
j = 0; k = i;
tmp = ft_calloc(sizeof(char *), ft_count_line_map(old_map, i));
if (!tmp)
return (err_mess(CRASH));
while (old_map[i]) while (old_map[i])
{ {
replace_nl(old_map[i]); replace_nl(old_map[i]);
tmp[j] = old_map[i];
j++;
i++; i++;
} }
if (verif_all_map(tmp, pars) == 1) if (verif_all_map(&old_map[k], pars) == 1)
return (1); return (1);
return (0); return (0);
} }

View File

@ -6,11 +6,11 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */ /* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/20 09:57:13 by madumerg #+# #+# */ /* Created: 2024/09/20 09:57:13 by madumerg #+# #+# */
/* Updated: 2024/09/28 14:55:56 by madumerg ### ########.fr */ /* Updated: 2024/09/29 20:36:00 by madumerg ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "cub3d.h" #include "parsing.h"
int count_tab(char **tab) int count_tab(char **tab)
{ {