diff options
Diffstat (limited to 'src/ft_init_lists.c')
-rw-r--r-- | src/ft_init_lists.c | 111 |
1 files changed, 45 insertions, 66 deletions
diff --git a/src/ft_init_lists.c b/src/ft_init_lists.c index 5592358..d27df52 100644 --- a/src/ft_init_lists.c +++ b/src/ft_init_lists.c @@ -15,10 +15,9 @@ #include <cub3d.h> #include <stddef.h> #include <stdlib.h> -#include <limits.h> -#include <math.h> +#include <stdint.h> -static t_rgb +t_rgb ft_init_rgb(void) { t_rgb rgb; @@ -30,86 +29,66 @@ static t_rgb } static t_player - *ft_init_player(void) + ft_init_player(void) { - t_player *plist; + t_player plist; - if (!(plist = (t_player*)malloc(sizeof(t_player)))) - return (NULL); - plist->pos_x = 0; - plist->pos_y = 0; - plist->start_x = 0; - plist->start_y = 0; - plist->cam_x = 0; - plist->dir_x = -1; - plist->dir_y = 0; - plist->plane_x = 0; - plist->plane_y = 0.66666666; + plist.pos_x = 0; + plist.pos_y = 0; + plist.pos_z = 0; + plist.start_x = 0; + plist.start_y = 0; + plist.cam_x = 0; + plist.dir_x = -1; + plist.dir_y = 0; + plist.plane_x = 0; + plist.plane_y = 0.80; return (plist); } -static t_win - *ft_init_win(void) +static int8_t + ft_init_win(t_win *wl) { - t_win *wlist; - - if (!(wlist = (t_win*)malloc(sizeof(t_win)))) - return (NULL); - if (!(wlist->wlx = malloc(1)) || - !(wlist->winptr = malloc(1))) - return (NULL); - wlist->inited = 0; - wlist->x_size = 0; - wlist->y_size = 0; - wlist->x_max_size = 0; - wlist->y_max_size = 0; - return (wlist); + if (!(wl->winptr = malloc(1))) + return (-1); + wl->inited = 0; + wl->x_size = 0; + wl->y_size = 0; + wl->x_max_size = 0; + wl->y_max_size = 0; + return (0); } -static t_cub - *ft_init_cub(void) +static int8_t + ft_init_cub(t_cub *cl) { - t_cub *clist; - uint8_t i; + int8_t i; - if (!(clist = (t_cub*)malloc(sizeof(t_cub)))) - return (NULL); - if (!(clist->plist = ft_init_player()) || - !(clist->mlist = ft_init_map())) - return (NULL); - ft_bzero(clist->errmsg, 40); + if (ft_init_map(&cl->mlist) < 0) + return (-1); + cl->plist = ft_init_player(); + ft_bzero(cl->errmsg, 40); i = -1; while (++i < 5) - clist->key_input[i] = -1; - clist->ishud = 0; - clist->f_rgb = ft_init_rgb(); - clist->c_rgb = ft_init_rgb(); - clist->rlist = ft_init_s_ray(); - clist->key_ptr[0] = ft_w_key; - clist->key_ptr[1] = ft_a_key; - clist->key_ptr[2] = ft_s_key; - clist->key_ptr[3] = ft_d_key; - clist->key_ptr[4] = ft_left_key; - clist->key_ptr[5] = ft_right_key; - return (clist); + cl->key_input[i] = -1; + cl->ishud = 0; + cl->isoldmus = 0; + cl->f_rgb = ft_init_rgb(); + cl->c_rgb = ft_init_rgb(); + cl->rlist = ft_init_s_ray(); + cl->currlvl = 0; + cl->walltexgood = 0; + ft_init_funptr(cl); + ft_init_ref(cl); + return (0); } int8_t - ft_init_cub3d(t_cub **clist) + ft_init_cub3d(t_cub *clist) { - t_cub *cl; - - if (!(cl = ft_init_cub())) - { - ft_memdel((void**)&cl); + if (ft_init_cub(clist) < 0) return (-1); - } - if (!(cl->wlist = ft_init_win())) - { - ft_memdel((void**)&cl->wlist); - ft_memdel((void**)&cl); + if (ft_init_win(&clist->wlist) < 0) return (-1); - } - *clist = cl; return (0); } |