aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_draw_textures.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_draw_textures.c')
-rw-r--r--src/ft_draw_textures.c21
1 files changed, 15 insertions, 6 deletions
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;
}