aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ft_draw_verline.c2
-rw-r--r--src/ft_raycasting.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/ft_draw_verline.c b/src/ft_draw_verline.c
index 8e71457..5368c4e 100644
--- a/src/ft_draw_verline.c
+++ b/src/ft_draw_verline.c
@@ -43,7 +43,7 @@ static void
{
curr_dist = cl->wlist.y_size / (2.0 * y - cl->wlist.y_size);
weight = (curr_dist - dist_player)
- / (cl->rlist.wall_dist - dist_player);
+ / (cl->rlist.perp_wall_dist - dist_player);
curr_floor_x = weight * cl->rlist.floor_x_wall
+ (1.0 - weight) * cl->plist.pos_x;
curr_floor_y = weight * cl->rlist.floor_y_wall
diff --git a/src/ft_raycasting.c b/src/ft_raycasting.c
index 0a4b8b5..121e132 100644
--- a/src/ft_raycasting.c
+++ b/src/ft_raycasting.c
@@ -74,6 +74,12 @@ void
else if (clist->rlist.side == 1 && clist->rlist.y_ray_dir < 0)
clist->tlist[clist->w_side].tex_x = clist->tlist[clist->w_side].img_w
- clist->tlist[clist->w_side].tex_x - 1;
+ if (clist->rlist.side == 0)
+ clist->rlist.perp_wall_dist = ((uint32_t)clist->plist.pos_x
+ - clist->plist.pos_x + (1 - clist->mlist.x_step) / 2) / clist->rlist.x_ray_dir;
+ else
+ clist->rlist.perp_wall_dist = ((uint32_t)clist->plist.pos_y
+ - clist->plist.pos_y + (1 - clist->mlist.y_step) / 2) / clist->rlist.y_ray_dir;
}
static void