diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ft_exit.c | 4 | ||||
-rw-r--r-- | src/ft_init_map.c | 7 | ||||
-rw-r--r-- | src/ft_tex_weap_init.c | 8 | ||||
-rw-r--r-- | src/ft_warp_level.c | 12 |
4 files changed, 30 insertions, 1 deletions
diff --git a/src/ft_exit.c b/src/ft_exit.c index 390f234..f0a25e0 100644 --- a/src/ft_exit.c +++ b/src/ft_exit.c @@ -88,6 +88,10 @@ static void mlx_destroy_image(clist->wlist.wlx, clist->tlist[16].img); if (clist->mlist.isheals && clist->tlist[17].img) mlx_destroy_image(clist->wlist.wlx, clist->tlist[17].img); + if (clist->mlist.isweapon[0] && clist->tlist[18].img) + mlx_destroy_image(clist->wlist.wlx, clist->tlist[18].img); + if (clist->mlist.isweapon[1] && clist->tlist[19].img) + mlx_destroy_image(clist->wlist.wlx, clist->tlist[19].img); ft_del_extra_sprites(clist); } diff --git a/src/ft_init_map.c b/src/ft_init_map.c index 37fc858..f740fd8 100644 --- a/src/ft_init_map.c +++ b/src/ft_init_map.c @@ -57,6 +57,7 @@ static int8_t int8_t ft_init_map_norme(t_map *mlist) { + mlist->darklvl = 0; mlist->scale = 0; mlist->nlx = 0; mlist->nly = 0; @@ -65,6 +66,9 @@ int8_t ft_bzero(mlist->sprite_nbr, 4096); ft_bzero(mlist->sprite_order, 4096); ft_bzero(mlist->traps_order, 512); + ft_bzero(mlist->heals_order, 64); + ft_bzero(mlist->weaps_nbr, 2); + ft_bzero(mlist->weaps_order, 2); return (0); } @@ -91,8 +95,9 @@ int8_t mlist->isskybox = 0; mlist->istraps = 0; mlist->isheals = 0; + mlist->isweapon[0] = 0; + mlist->isweapon[1] = 0; mlist->traps_nbr = 0; mlist->heals_nbr = 0; - mlist->darklvl = 0; return (ft_init_map_norme(mlist)); } diff --git a/src/ft_tex_weap_init.c b/src/ft_tex_weap_init.c index ac78de9..b17255a 100644 --- a/src/ft_tex_weap_init.c +++ b/src/ft_tex_weap_init.c @@ -43,4 +43,12 @@ void FT_WEAPON_TWO_FIRE_PATH, &cl->tweap[3].img_w, &cl->tweap[3].img_h); cl->tweap[3].ptr = mlx_get_data_addr(cl->tweap[3].img, &cl->tweap[3].bpp, &cl->tweap[3].sizeline, &cl->tweap[3].endian); + if (cl->tweap[0].img) + mlx_destroy_image(cl->wlist.wlx, cl->tweap[0].img); + if (cl->tweap[1].img) + mlx_destroy_image(cl->wlist.wlx, cl->tweap[1].img); + if (cl->tweap[2].img) + mlx_destroy_image(cl->wlist.wlx, cl->tweap[2].img); + if (cl->tweap[3].img) + mlx_destroy_image(cl->wlist.wlx, cl->tweap[3].img); } diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index 09f0322..d6a3d7f 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -65,6 +65,18 @@ static void mlx_destroy_image(cl->wlist.wlx, cl->tlist[16].img); if (cl->mlist.isheals && cl->tlist[17].img) mlx_destroy_image(cl->wlist.wlx, cl->tlist[17].img); + if (cl->mlist.isweapon[0] && cl->tlist[18].img) + mlx_destroy_image(cl->wlist.wlx, cl->tlist[18].img); + if (cl->mlist.isweapon[1] && cl->tlist[19].img) + mlx_destroy_image(cl->wlist.wlx, cl->tlist[19].img); + if (cl->tweap[0].img) + mlx_destroy_image(cl->wlist.wlx, cl->tweap[0].img); + if (cl->tweap[1].img) + mlx_destroy_image(cl->wlist.wlx, cl->tweap[1].img); + if (cl->tweap[2].img) + mlx_destroy_image(cl->wlist.wlx, cl->tweap[2].img); + if (cl->tweap[3].img) + mlx_destroy_image(cl->wlist.wlx, cl->tweap[3].img); ft_del_extra_sprites(cl); i = -1; while (++i < 8) |