diff options
Diffstat (limited to 'src/ft_treat_args.c')
-rw-r--r-- | src/ft_treat_args.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/ft_treat_args.c b/src/ft_treat_args.c new file mode 100644 index 0000000..a47f9f7 --- /dev/null +++ b/src/ft_treat_args.c @@ -0,0 +1,59 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_treat_args.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:29:00 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:29:08 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include <libft.h> +#include <cub3d.h> +#include <stddef.h> +#include <stdint.h> +#include <unistd.h> + +uint8_t + ft_check_map_arg(int argc, const char *argv[]) +{ + (void)argv; + if (argc < 2) + { + ft_dprintf(STDERR_FILENO, "Error\n\033[1;31mNo map selected\n\033[0m"); + return (FT_RET_BAD_ARGV); + } + return (0); +} + +uint8_t + ft_use_args(int argc, const char *argv[], char *const envp[], t_cub *clist) +{ + clist->envp = envp; + if (argc < 3) + { + if (ft_init_winptr(clist) < 0) + { + return (ft_exit(FT_RET_FAILED_MLX, clist)); + } + ft_draw_scene(clist); + if (clist->mlist.ismusic) + { + ft_enable_music(clist); + } + ft_hooks_and_loops(&clist->wlist, clist); + } + else if (argc == 3 && !ft_strncmp("--save", argv[2], 7)) + { + ft_draw_scene_bmp(clist); + return (ft_exit(FT_RET_FINE, clist)); + } + else + { + ft_dprintf(STDERR_FILENO, "Error\n\033[1;31mBad arguments\n\033[0m"); + return (ft_exit(FT_RET_BAD_ARGV, clist)); + } + return (FT_RET_FINE); +} |