aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRudy Bousset <rbousset@z1r3p1.le-101.fr>2020-03-05 19:27:36 +0100
committerRudy Bousset <rbousset@z1r3p1.le-101.fr>2020-03-05 19:27:36 +0100
commitf7d46aaefc0b7a88cbadfcb83a3e7dbb63f88a26 (patch)
treef3f2ee9ec6bd10c0708a05724a5a4c409bcfbcc8 /src
parentTryna be dark (diff)
download42-cub3d-f7d46aaefc0b7a88cbadfcb83a3e7dbb63f88a26.tar.gz
42-cub3d-f7d46aaefc0b7a88cbadfcb83a3e7dbb63f88a26.tar.bz2
42-cub3d-f7d46aaefc0b7a88cbadfcb83a3e7dbb63f88a26.tar.xz
42-cub3d-f7d46aaefc0b7a88cbadfcb83a3e7dbb63f88a26.tar.zst
42-cub3d-f7d46aaefc0b7a88cbadfcb83a3e7dbb63f88a26.zip
DARK
Diffstat (limited to 'src')
-rw-r--r--src/ft_darken_rgb.c14
-rw-r--r--src/ft_draw_textures.c21
-rw-r--r--src/ft_draw_verline.c6
3 files changed, 31 insertions, 10 deletions
diff --git a/src/ft_darken_rgb.c b/src/ft_darken_rgb.c
index 3e61f49..03f8bb5 100644
--- a/src/ft_darken_rgb.c
+++ b/src/ft_darken_rgb.c
@@ -14,10 +14,20 @@
#include <stdint.h>
uint32_t
- ft_darken_rgb(t_rgb rgb)
+ ft_darken_rgb(t_rgb rgb, t_cub *cl)
{
- t_rgb darker;
+ t_rgb darker;
+ float dist;
+ float calc;
+ if ((dist = cl->rlist.wall_dist) <= 0)
+ dist = 0.0001;
+ calc = (dist * 0.2);
+ calc = (calc >= 255) ? (255) : (calc);
+ calc = (calc < 1) ? (1) : (calc);
darker = rgb;
+ darker.r /= calc;
+ darker.g /= calc;
+ darker.b /= calc;
return (ft_rgb_to_hex(darker));
}
diff --git a/src/ft_draw_textures.c b/src/ft_draw_textures.c
index 00f8e5a..766c039 100644
--- a/src/ft_draw_textures.c
+++ b/src/ft_draw_textures.c
@@ -24,15 +24,24 @@
void ft_draw_texture(t_cub *cl, int x, int y, int tex_y)
{
+ float dist;
+ float calc;
+
+ if ((dist = cl->rlist.wall_dist) <= 0)
+ dist = 0.0001;
+ calc = (dist * 0.2);
+ calc = (calc >= 255) ? (255) : (calc);
+ calc = (calc < 1) ? (1) : (calc);
cl->img.ptr[x * 4 + (cl->img.sizeline * y)] =
- (char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 *
- cl->tlist[cl->w_side].img_h * tex_y];
+ (unsigned char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 *
+ cl->tlist[cl->w_side].img_h * tex_y] / calc;
cl->img.ptr[x * 4 + (cl->img.sizeline * y) + 1] =
- (char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 *
- cl->tlist[cl->w_side].img_h * tex_y + 1];
+ (unsigned char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 *
+ cl->tlist[cl->w_side].img_h * tex_y + 1] / calc;
cl->img.ptr[x * 4 + (cl->img.sizeline * y) + 2] =
- (char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 *
- cl->tlist[cl->w_side].img_h * tex_y + 2];
+ (unsigned char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 *
+ cl->tlist[cl->w_side].img_h * tex_y + 2]
+ / calc;
cl->img.ptr[x * 4 + cl->wlist.x_size * y + 3] = (char)0;
}
diff --git a/src/ft_draw_verline.c b/src/ft_draw_verline.c
index 89eedea..deb5721 100644
--- a/src/ft_draw_verline.c
+++ b/src/ft_draw_verline.c
@@ -19,7 +19,8 @@ static void
while ((uint32_t)y < cl->wlist.y_size)
{
*(int*)(cl->img.ptr +
- (x * 4 + (y * cl->img.sizeline))) = ft_darken_rgb(cl->f_rgb);
+ (x * 4 + (y * cl->img.sizeline)))
+ = ft_rgb_to_hex(cl->f_rgb);
y++;
}
}
@@ -33,7 +34,8 @@ static void
while (i <= y)
{
*(int*)(cl->img.ptr +
- (x * 4 + (i * cl->img.sizeline))) = ft_rgb_to_hex(cl->c_rgb);
+ (x * 4 + (i * cl->img.sizeline)))
+ = ft_rgb_to_hex(cl->c_rgb);
i++;
}
}