diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-30 15:52:16 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-30 15:52:16 +0100 |
| commit | 57867bbbdc24b734d85f8d3569c7ad27dcd9504d (patch) | |
| tree | 1727dd02444038341746894268ecea62b84aaea1 /src/parse/parse_color.c | |
| parent | 3a164bce55e173d5204c4aaa66dd4eb5bc1762f9 (diff) | |
| download | cub3d-57867bbbdc24b734d85f8d3569c7ad27dcd9504d.tar.gz cub3d-57867bbbdc24b734d85f8d3569c7ad27dcd9504d.tar.bz2 cub3d-57867bbbdc24b734d85f8d3569c7ad27dcd9504d.zip | |
files restructuration
Diffstat (limited to 'src/parse/parse_color.c')
| -rw-r--r-- | src/parse/parse_color.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/parse/parse_color.c b/src/parse/parse_color.c new file mode 100644 index 0000000..fd482e5 --- /dev/null +++ b/src/parse/parse_color.c @@ -0,0 +1,55 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* parse_color.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/01/11 09:52:34 by cacharle #+# #+# */ +/* Updated: 2020/01/30 14:17:37 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "cub3d.h" + +t_bool parse_ceilling_color(t_state *state, char *line) +{ + int tmp; + + state->ceilling_color.hexcode = 0x0; + if ((tmp = ft_atoi(line)) > 255 || tmp < 0) // cant do atoi due to overflow stuff, use ft_strtol + return (FALSE); + state->ceilling_color.rgb.r = (t_byte)tmp; + if ((line = ft_strchr(line, ',') + 1) == NULL) + return (FALSE); + if ((tmp = ft_atoi(line)) > 255 || tmp < 0) + return (FALSE); + state->ceilling_color.rgb.g = (t_byte)tmp; + if ((line = ft_strchr(line, ',') + 1) == NULL) + return (FALSE); + if ((tmp = ft_atoi(line)) > 255 || tmp < 0) + return (FALSE); + state->ceilling_color.rgb.b = (t_byte)tmp; + return (TRUE); +} + +t_bool parse_floor_color(t_state *state, char *line) +{ + int tmp; + + state->floor_color.hexcode = 0x0; + if ((tmp = ft_atoi(line)) > 255 || tmp < 0) + return (FALSE); + state->floor_color.rgb.r = (t_byte)tmp; + if ((line = ft_strchr(line, ',') + 1) == NULL) + return (FALSE); + if ((tmp = ft_atoi(line)) > 255 || tmp < 0) + return (FALSE); + state->floor_color.rgb.g = (t_byte)tmp; + if ((line = ft_strchr(line, ',') + 1) == NULL) + return (FALSE); + if ((tmp = ft_atoi(line)) > 255 || tmp < 0) + return (FALSE); + state->floor_color.rgb.b = (t_byte)tmp; + return (TRUE); +} |
