/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_get_sprite.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: rbousset +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/14 17:28:51 by rbousset #+# #+# */ /* Updated: 2020/02/14 17:28:51 by rbousset ### ########lyon.fr */ /* */ /* ************************************************************************** */ #include #include #include void ft_get_sprite_spawn(t_cub *clist) { size_t x; size_t y; uint8_t i; x = 1; y = 1; i = 0; while (clist->mlist->map[y]) { while (clist->mlist->map[y][x]) { if (ft_ischarset("2", clist->mlist->map[y][x])) { clist->mlist->sprite_nbr++; clist->sprites[i].s_pos_x = x; clist->sprites[i].s_pos_y = y; i++; } x++; } x = 1; y++; } } int8_t ft_get_sprite(char **words, t_cub *clist) { if (!(*words) || !words[1] || words[2]) { ft_strlcpy(clist->errmsg, FT_ERR_ARGS, ft_strlen(FT_ERR_ARGS) + 1); return (-1); } if (ft_check_ext(*(words + 1), ".xpm") < 0) { ft_strlcpy(clist->errmsg, FT_ERR_NOT_A_XPM, ft_strlen(FT_ERR_NOT_A_XPM) + 1); return (-1); } ft_memdel((void**)&clist->mlist->sprite_path); if (!(clist->mlist->sprite_path = ft_strdup(*(words + 1)))) { ft_strlcpy(clist->errmsg, FT_ERR_ALLOCATE, ft_strlen(FT_ERR_ALLOCATE) + 1); return (-1); } if (ft_check_not_found(clist->mlist->sprite_path) < 0) { ft_strlcpy(clist->errmsg, FT_ERR_RD_SP, ft_strlen(FT_ERR_RD_SP) + 1); return (-1); } return (0); }