aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_init_lists.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-03-03 16:57:36 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2020-03-03 16:57:36 +0100
commitd4f853942aa2031c4bd85539ef9f3470967ffdc5 (patch)
treed2c5ffb0027860722185bf26b526757360ff1584 /src/ft_init_lists.c
parenttweaks (diff)
parentGoing full stack is bav (diff)
download42-cub3d-d4f853942aa2031c4bd85539ef9f3470967ffdc5.tar.gz
42-cub3d-d4f853942aa2031c4bd85539ef9f3470967ffdc5.tar.bz2
42-cub3d-d4f853942aa2031c4bd85539ef9f3470967ffdc5.tar.xz
42-cub3d-d4f853942aa2031c4bd85539ef9f3470967ffdc5.tar.zst
42-cub3d-d4f853942aa2031c4bd85539ef9f3470967ffdc5.zip
Merge branch 'bmp'
Diffstat (limited to 'src/ft_init_lists.c')
-rw-r--r--src/ft_init_lists.c108
1 files changed, 47 insertions, 61 deletions
diff --git a/src/ft_init_lists.c b/src/ft_init_lists.c
index c98e0b1..8e874ac 100644
--- a/src/ft_init_lists.c
+++ b/src/ft_init_lists.c
@@ -15,8 +15,7 @@
#include <cub3d.h>
#include <stddef.h>
#include <stdlib.h>
-#include <limits.h>
-#include <math.h>
+#include <stdint.h>
t_rgb
ft_init_rgb(void)
@@ -30,83 +29,70 @@ 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.80;
+ 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.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->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;
+ /* wlist = &wl; */
+ 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->isoldmus = 0;
- clist->f_rgb = ft_init_rgb();
- clist->c_rgb = ft_init_rgb();
- clist->rlist = ft_init_s_ray();
- clist->currlvl = 0;
- clist->walltexgood = 0;
- ft_init_funptr(clist);
- 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);
+ return (0);
}
int8_t
- ft_init_cub3d(t_cub **clist)
+ ft_init_cub3d(t_cub *clist)
{
- t_cub *cl;
+ /* t_cub *cl; */
- if (!(cl = ft_init_cub()))
- {
- ft_memdel((void**)&cl);
+ /* if (!(cl = (t_cub*)malloc(sizeof(t_cub)))) */
+ /* return (-1); */
+ 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;
+ /* *clist = cl; */
return (0);
}