aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-03-19 14:00:59 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2020-03-19 14:00:59 +0100
commit1bd6b6e64b02ce70e193bb108843bc0ee5c051c3 (patch)
tree394788b4dc6f1248f44894798fc708e87f1bd8a1 /src
parentLoaded weapon images needs to memory (diff)
download42-cub3d-1bd6b6e64b02ce70e193bb108843bc0ee5c051c3.tar.gz
42-cub3d-1bd6b6e64b02ce70e193bb108843bc0ee5c051c3.tar.bz2
42-cub3d-1bd6b6e64b02ce70e193bb108843bc0ee5c051c3.tar.xz
42-cub3d-1bd6b6e64b02ce70e193bb108843bc0ee5c051c3.tar.zst
42-cub3d-1bd6b6e64b02ce70e193bb108843bc0ee5c051c3.zip
Correct init and frees
Diffstat (limited to '')
-rw-r--r--src/ft_exit.c4
-rw-r--r--src/ft_init_map.c7
-rw-r--r--src/ft_tex_weap_init.c8
-rw-r--r--src/ft_warp_level.c12
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)