diff options
Diffstat (limited to '')
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | inc/cub3d.h | 14 | ||||
-rw-r--r-- | src/ft_drawsquare.c | 3 | ||||
-rw-r--r-- | src/ft_exit.c | 3 | ||||
-rw-r--r-- | src/ft_get_res.c | 22 | ||||
-rw-r--r-- | src/ft_map_error.c | 9 | ||||
-rw-r--r-- | src/ft_parse_map.c | 12 | ||||
-rw-r--r-- | src/main.c | 3 |
8 files changed, 62 insertions, 8 deletions
@@ -21,7 +21,9 @@ SRCS_NAME += ft_init_lists.c SRCS_NAME += ft_key_events.c SRCS_NAME += ft_exit.c SRCS_NAME += ft_drawsquare.c -# SRCS_NAME += ft_parse_map.c +SRCS_NAME += ft_parse_map.c +SRCS_NAME += ft_get_res.c +SRCS_NAME += ft_map_error.c #------------------------------------------------------------------------------# SRCS = $(addprefix ${SRCS_DIR},${SRCS_NAME}) #------------------------------------------------------------------------------# diff --git a/inc/cub3d.h b/inc/cub3d.h index 459bbb7..d5ef69e 100644 --- a/inc/cub3d.h +++ b/inc/cub3d.h @@ -13,14 +13,22 @@ typedef struct s_win typedef struct s_cub { - char coolcub; + char *north_path; + char *south_path; + char *west_path; + char *east_path; + char *sprite_path; + int f_color; + int c_color; } t_cub; t_cub *ft_init_cub(void); t_win *ft_init_win(void); -void ft_parse_map(t_cub *clist); +void ft_parse_map(t_win *wlist, t_cub *clist, const char *map_path); int ft_key_event(int keycode, void *param); -void ft_exit(uint8_t exit_code); +int ft_exit(uint8_t exit_code); void ft_drawsquare(t_win *wlist, t_cub *clist, int a, int b); +int ft_get_res(int fd, t_win *wlist); +int ft_map_error(unsigned int line); #endif diff --git a/src/ft_drawsquare.c b/src/ft_drawsquare.c index 78ebd8c..b37dc77 100644 --- a/src/ft_drawsquare.c +++ b/src/ft_drawsquare.c @@ -2,11 +2,12 @@ #include <cub3d.h> void -ft_drawsquare(t_win *wlist, int a, int b) +ft_drawsquare(t_win *wlist, t_cub *clist, int a, int b) { int x; int y; + (void)clist; x = a; y = b; while (x > a - 40) diff --git a/src/ft_exit.c b/src/ft_exit.c index a5b7276..5a4ef73 100644 --- a/src/ft_exit.c +++ b/src/ft_exit.c @@ -2,11 +2,12 @@ #include <stdlib.h> #include <inttypes.h> -void +int ft_exit(uint8_t exit_code) { ft_printf("Exiting program\n"); if (exit_code < 0 || exit_code > 0) ft_printf("Exit code: %hhu\n", exit_code); exit(exit_code); + return (0); } diff --git a/src/ft_get_res.c b/src/ft_get_res.c new file mode 100644 index 0000000..c610fc1 --- /dev/null +++ b/src/ft_get_res.c @@ -0,0 +1,22 @@ +#include <libft.h> +#include <cub3d.h> + +int +ft_get_res(int fd, t_win *wlist) +{ + char *line; + char **words; + int i; + + (void)wlist; + get_next_line(fd, &line); + words = ft_split(line, ' '); + i = 0; + while (words) + { + ft_printf("[%s] ", words[i]); + i++; + } + ft_printf("\n"); + return (0); +} diff --git a/src/ft_map_error.c b/src/ft_map_error.c new file mode 100644 index 0000000..bffb6d1 --- /dev/null +++ b/src/ft_map_error.c @@ -0,0 +1,9 @@ +#include <libft.h> +#include <cub3d.h> + +int +ft_map_error(unsigned int line) +{ + ft_printf("\033[1;31mMap error: line %d\033[0m\n", line); + return (ft_exit(1)); +} diff --git a/src/ft_parse_map.c b/src/ft_parse_map.c index baf3b5f..d2fbe0d 100644 --- a/src/ft_parse_map.c +++ b/src/ft_parse_map.c @@ -1,8 +1,18 @@ #include <libft.h> #include <cub3d.h> #include <stdlib.h> +#include <fcntl.h> + +/* +** I can't close +*/ void -ft_parse_map(t_cub *clist) +ft_parse_map(t_win *wlist, t_cub *clist, const char *map_path) { + int fd; + + (void)clist; + fd = open(map_path, O_RDONLY); + ft_get_res(fd, wlist); } @@ -11,8 +11,9 @@ int wlist = ft_init_win(); clist = ft_init_cub(); + ft_parse_map(wlist, clist, "map/map_one.cub"); mlx_key_hook(wlist->winptr, ft_key_event, wlist); - ft_drawsquare(wlist, 80, 80); + ft_drawsquare(wlist, clist, 80, 80); mlx_loop(wlist->wlx); ft_memdel(clist); return (0); |