diff options
Diffstat (limited to 'src/ft_check_missing.c')
-rw-r--r-- | src/ft_check_missing.c | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/src/ft_check_missing.c b/src/ft_check_missing.c index 7353a0e..80edf83 100644 --- a/src/ft_check_missing.c +++ b/src/ft_check_missing.c @@ -23,28 +23,44 @@ int return (ft_exit(1, clist)); } +static int + ft_check_missing_norme(t_cub *clist) +{ + if (!clist->mlist.isftex) + { + if (clist->f_rgb.r == -1 || clist->f_rgb.g == -1 + || clist->f_rgb.b == -1) + return (ft_missing_error(FT_ERR_MISS_FLOOR_C, clist)); + } + if (!clist->mlist.isctex) + { + if (clist->c_rgb.r == -1 || clist->c_rgb.g == -1 + || clist->c_rgb.b == -1) + return (ft_missing_error(FT_ERR_MISS_CEIL_C, clist)); + } + if (clist->plist.pos_x == 0 || clist->plist.pos_y == 0) + return (ft_missing_error(FT_ERR_MISS_PLAYER_SPAWN, clist)); + else if (clist->mlist.isnlvl && !clist->mlist.nl_tex_path[0]) + return (ft_missing_error(FT_ERR_MISS_NLVL, clist)); + else if (clist->mlist.isnlvl && !clist->mlist.nlevel_path[0]) + return (ft_missing_error(FT_ERR_MISS_NLVL_PATH, clist)); + return (0); +} + int ft_check_missing(t_cub *clist) { - if (!clist->mlist->no_tex_path[0]) + if (!clist->mlist.no_tex_path[0]) return (ft_missing_error(FT_ERR_MISS_NORTH, clist)); - else if (!clist->mlist->so_tex_path[0]) + else if (!clist->mlist.so_tex_path[0]) return (ft_missing_error(FT_ERR_MISS_SOUTH, clist)); - else if (!clist->mlist->ea_tex_path[0]) + else if (!clist->mlist.ea_tex_path[0]) return (ft_missing_error(FT_ERR_MISS_EAST, clist)); - else if (!clist->mlist->we_tex_path[0]) + else if (!clist->mlist.we_tex_path[0]) return (ft_missing_error(FT_ERR_MISS_WEST, clist)); - else if (!clist->mlist->sprite_path[0]) + else if (!clist->mlist.sprite_path[0]) return (ft_missing_error(FT_ERR_MISS_SPRITE, clist)); - else if (clist->wlist->x_size == 0 || clist->wlist->y_size == 0) + else if (clist->wlist.x_size == 0 || clist->wlist.y_size == 0) return (ft_missing_error(FT_ERR_MISS_RESOLUTION, clist)); - else if (clist->f_rgb.r == -1 || clist->f_rgb.g == -1 - || clist->f_rgb.b == -1) - return (ft_missing_error(FT_ERR_MISS_FLOOR_C, clist)); - else if (clist->c_rgb.r == -1 || clist->c_rgb.g == -1 - || clist->c_rgb.b == -1) - return (ft_missing_error(FT_ERR_MISS_CEIL_C, clist)); - else if (clist->plist->pos_x == 0 || clist->plist->pos_y == 0) - return (ft_missing_error(FT_ERR_MISS_PLAYER_SPAWN, clist)); - return (0); + return (ft_check_missing_norme(clist)); } |