From f7d46aaefc0b7a88cbadfcb83a3e7dbb63f88a26 Mon Sep 17 00:00:00 2001
From: Rudy Bousset <rbousset@z1r3p1.le-101.fr>
Date: Thu, 5 Mar 2020 19:27:36 +0100
Subject: DARK

---
 src/ft_darken_rgb.c    | 14 ++++++++++++--
 src/ft_draw_textures.c | 21 +++++++++++++++------
 src/ft_draw_verline.c  |  6 ++++--
 3 files changed, 31 insertions(+), 10 deletions(-)

(limited to 'src')

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++;
 	}
 }
-- 
cgit v1.2.3