aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_warp_level.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_warp_level.c')
-rw-r--r--src/ft_warp_level.c48
1 files changed, 25 insertions, 23 deletions
diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c
index dd4ed1b..fadbb2a 100644
--- a/src/ft_warp_level.c
+++ b/src/ft_warp_level.c
@@ -23,20 +23,20 @@
static void
ft_del_map(t_map *ml)
{
- ft_memdel((void**)&ml->filename);
- ft_memdel((void**)&ml->no_tex_path);
- ft_memdel((void**)&ml->so_tex_path);
- ft_memdel((void**)&ml->ea_tex_path);
- ft_memdel((void**)&ml->we_tex_path);
- ft_memdel((void**)&ml->nl_tex_path);
- ft_memdel((void**)&ml->fl_tex_path);
- ft_memdel((void**)&ml->ce_tex_path);
- ft_memdel((void**)&ml->nlevel_path);
- ft_memdel((void**)&ml->skybox_path);
- ft_memdel((void**)&ml->traps_path);
- ft_memdel((void**)&ml->music_path);
- ft_memdel((void**)&ml->music_cmd);
- ft_memdel((void**)&ml->mapl);
+ ft_memdel((void*)&ml->filename);
+ ft_memdel((void*)&ml->no_tex_path);
+ ft_memdel((void*)&ml->so_tex_path);
+ ft_memdel((void*)&ml->ea_tex_path);
+ ft_memdel((void*)&ml->we_tex_path);
+ ft_memdel((void*)&ml->nl_tex_path);
+ ft_memdel((void*)&ml->fl_tex_path);
+ ft_memdel((void*)&ml->ce_tex_path);
+ ft_memdel((void*)&ml->nlevel_path);
+ ft_memdel((void*)&ml->skybox_path);
+ ft_memdel((void*)&ml->traps_path);
+ ft_memdel((void*)&ml->music_path);
+ ft_memdel((void*)&ml->music_cmd);
+ ft_memdel((void*)&ml->mapl);
ft_free_sprites(ml->sprite_path);
ft_free_words(ml->map);
}
@@ -44,19 +44,15 @@ static void
static void
ft_del_some(t_cub *cl)
{
- uint8_t i;
+ int8_t i;
cl->plist = ft_init_player();
cl->f_rgb = ft_init_rgb();
cl->c_rgb = ft_init_rgb();
cl->rlist = ft_init_s_ray();
- i = 0;
- while (i < 5)
- {
+ i = -1;
+ while (++i < 5)
mlx_destroy_image(cl->wlist.wlx, cl->tlist[i].img);
- cl->tlist[i].ptr = NULL;
- i++;
- }
if (cl->mlist.isnlvl && cl->tlist[5].img)
mlx_destroy_image(cl->wlist.wlx, cl->tlist[5].img);
if (cl->mlist.isftex && cl->tlist[6].img)
@@ -66,6 +62,10 @@ static void
if (cl->mlist.istraps && cl->tlist[15].img)
mlx_destroy_image(cl->wlist.wlx, cl->tlist[15].img);
ft_del_extra_sprites(cl);
+ i = -1;
+ while (++i < 8)
+ ft_memdel((void*)&cl->sprites[i]);
+ ft_memdel((void*)&cl->sprites);
}
static void
@@ -103,13 +103,15 @@ int8_t
tmp_mup = ft_strdup(cl->mlist.music_path);
ft_del_some(cl);
ft_del_map(&cl->mlist);
+ if (ft_init_sprites(&cl->sprites) < 0)
+ return (-1);
if (ft_init_map(&cl->mlist) < 0)
return (-1);
ft_parse_map(next_path, cl);
ft_treat_music(isoldmus, tmp_mup, cl);
if (isoldmus)
- ft_memdel((void**)&tmp_mup);
+ ft_memdel((void*)&tmp_mup);
ft_wall_tex_init(cl);
- ft_memdel((void**)&next_path);
+ ft_memdel((void*)&next_path);
return (0);
}