aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_init_lists.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_init_lists.c')
-rw-r--r--src/ft_init_lists.c111
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);
}