diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ft_draw_verline.c | 2 | ||||
-rw-r--r-- | src/ft_raycasting.c | 6 |
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 |