diff options
author | Rudy Bousset <rbousset@z3r8p1.le-101.fr> | 2020-02-13 20:20:46 +0100 |
---|---|---|
committer | Rudy Bousset <rbousset@z3r8p1.le-101.fr> | 2020-02-13 20:20:46 +0100 |
commit | d8da29854eca5ae9ec806a679d0e0a68826ede2f (patch) | |
tree | dbece501d0c1cfc9a02ae233bb6389c8b80fc46b | |
parent | Map update (diff) | |
download | 42-cub3d-d8da29854eca5ae9ec806a679d0e0a68826ede2f.tar.gz 42-cub3d-d8da29854eca5ae9ec806a679d0e0a68826ede2f.tar.bz2 42-cub3d-d8da29854eca5ae9ec806a679d0e0a68826ede2f.tar.xz 42-cub3d-d8da29854eca5ae9ec806a679d0e0a68826ede2f.tar.zst 42-cub3d-d8da29854eca5ae9ec806a679d0e0a68826ede2f.zip |
In progress
-rw-r--r-- | map/map_one.cub | 2 | ||||
-rw-r--r-- | src/ft_draw_verline.c | 27 |
2 files changed, 28 insertions, 1 deletions
diff --git a/map/map_one.cub b/map/map_one.cub index ee83dd3..b6a98e0 100644 --- a/map/map_one.cub +++ b/map/map_one.cub @@ -7,7 +7,7 @@ WE ./path_to_the_west_texture S ./path_to_the_sprite_texture F 200,225,145 -C 225,30,0 +C 225,30,156 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 diff --git a/src/ft_draw_verline.c b/src/ft_draw_verline.c index 4544aa0..17d754a 100644 --- a/src/ft_draw_verline.c +++ b/src/ft_draw_verline.c @@ -1,5 +1,30 @@ #include <cub3d.h> +static void +ft_draw_floor(t_cub *cl, int32_t y, int32_t x, int16_t i) +{ + while (i <= y) + { + *(int*)(cl->img.ptr + + (x * 4 + (i * cl->img.sizeline))) = ft_rgb_to_hex(cl->f_rgb); + i++; + } +} + +static void +ft_draw_ceil(t_cub *cl, int32_t y, int32_t x) +{ + int16_t i; + + i = 0; + while (i <= y) + { + *(int*)(cl->img.ptr + + (x * 4 + (i * cl->img.sizeline))) = ft_rgb_to_hex(cl->c_rgb); + i++; + } +} + int8_t ft_draw_verline(t_cub *cl, int32_t x, int32_t y1, int32_t y2, int32_t color) { @@ -19,10 +44,12 @@ ft_draw_verline(t_cub *cl, int32_t x, int32_t y1, int32_t y2, int32_t color) y2 = t; } y = y1; + ft_draw_ceil(cl, y, x); while (y <= y2) { *(int*)(cl->img.ptr + (x * 4 + (y * cl->img.sizeline))) = color; y++; } + ft_draw_floor(cl, x, cl->wlist->y_size, y); return (0); } |