aboutsummaryrefslogtreecommitdiff
path: root/src/parse/parse_file.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-02-05 01:29:44 +0100
committerCharles <sircharlesaze@gmail.com>2020-02-05 01:29:44 +0100
commitaf747497060d8a311204ec58b3ac87cc585462fc (patch)
tree2022e10ac93243772f22f281071a4e0fd5c55f1d /src/parse/parse_file.c
parent3b224458a5d539bbe00318d939c9a099f3f158e1 (diff)
downloadcub3d-af747497060d8a311204ec58b3ac87cc585462fc.tar.gz
cub3d-af747497060d8a311204ec58b3ac87cc585462fc.tar.bz2
cub3d-af747497060d8a311204ec58b3ac87cc585462fc.zip
better parsing
Diffstat (limited to 'src/parse/parse_file.c')
-rw-r--r--src/parse/parse_file.c38
1 files changed, 36 insertions, 2 deletions
diff --git a/src/parse/parse_file.c b/src/parse/parse_file.c
index 443a1b5..8c6ef5e 100644
--- a/src/parse/parse_file.c
+++ b/src/parse/parse_file.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/04 03:50:53 by cacharle #+# #+# */
-/* Updated: 2020/02/04 04:28:41 by cacharle ### ########.fr */
+/* Updated: 2020/02/05 01:27:26 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -49,5 +49,39 @@ char **get_file_lines(char *filename)
if (ret == -1)
return (NULL);
close(fd);
- return (trim_file_lines(ft_split(file, '\n')));
+ return (trim_file_lines(ft_split_strict(file, '\n')));
+}
+
+int parse_premap(t_state *state, char **lines)
+{
+ int i;
+
+ i = -1;
+ while (lines[++i] != NULL)
+ {
+ if (*lines[i] == '\n')
+ continue ;
+ if (*lines[i] == '1')
+ break ;
+ if (!parse_line(state, lines[i]))
+ return (-1);
+ }
+ return (i);
+}
+
+t_bool create_map_row_char(char c, t_cell *row, int i)
+{
+ if (c == '0' || c == '1' || c == '2')
+ row[i] = c - '0';
+ else if (c == 'N')
+ row[i] = CELL_LOOK_NORTH;
+ else if (c == 'S')
+ row[i] = CELL_LOOK_SOUTH;
+ else if (c == 'W')
+ row[i] = CELL_LOOK_WEST;
+ else if (c == 'E')
+ row[i] = CELL_LOOK_EAST;
+ else
+ return (FALSE);
+ return (TRUE);
}