aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_castray_loop.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-04-02 14:35:55 +0200
committerJozanLeClerc <bousset.rudy@gmail.com>2020-04-02 14:35:55 +0200
commit20e9cfd5bf432b0e68b4e2fd3b721f1fcea8c839 (patch)
treeafea14915414c45325b9f0e4d8f64ee35935d101 /src/ft_castray_loop.c
parentCorrect dir_x dir_y sqy sqx (diff)
download42-cub3d-20e9cfd5bf432b0e68b4e2fd3b721f1fcea8c839.tar.gz
42-cub3d-20e9cfd5bf432b0e68b4e2fd3b721f1fcea8c839.tar.bz2
42-cub3d-20e9cfd5bf432b0e68b4e2fd3b721f1fcea8c839.tar.xz
42-cub3d-20e9cfd5bf432b0e68b4e2fd3b721f1fcea8c839.tar.zst
42-cub3d-20e9cfd5bf432b0e68b4e2fd3b721f1fcea8c839.zip
Correct ray dir
Diffstat (limited to 'src/ft_castray_loop.c')
-rw-r--r--src/ft_castray_loop.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/ft_castray_loop.c b/src/ft_castray_loop.c
index 3d12680..e10a48b 100644
--- a/src/ft_castray_loop.c
+++ b/src/ft_castray_loop.c
@@ -21,17 +21,17 @@ void
{
if (cl->rlist.side == 0)
cl->rlist.wall_hit_x = (cl->plist.pos_x) +
- cl->rlist.wall_dist * cl->rlist.y_ray_dir;
+ cl->rlist.wall_dist * cl->rlist.x_ray_dir;
else
cl->rlist.wall_hit_x = (cl->plist.pos_y) +
- cl->rlist.wall_dist * cl->rlist.x_ray_dir;
+ cl->rlist.wall_dist * cl->rlist.y_ray_dir;
cl->rlist.wall_hit_x -= floor(cl->rlist.wall_hit_x);
cl->tlist[cl->w_side].tex_x = (int)(cl->rlist.wall_hit_x *
(double)cl->tlist[cl->w_side].img_w);
- if (cl->rlist.side == 0 && cl->rlist.x_ray_dir > 0)
+ if (cl->rlist.side == 0 && cl->rlist.y_ray_dir > 0)
cl->tlist[cl->w_side].tex_x = cl->tlist[cl->w_side].img_w
- cl->tlist[cl->w_side].tex_x - 1;
- else if (cl->rlist.side == 1 && cl->rlist.y_ray_dir < 0)
+ else if (cl->rlist.side == 1 && cl->rlist.x_ray_dir < 0)
cl->tlist[cl->w_side].tex_x = cl->tlist[cl->w_side].img_w
- cl->tlist[cl->w_side].tex_x - 1;
}
@@ -47,9 +47,9 @@ void
pl->cam_x = 2 * i / (float)(wl->x_size) - 1;
cl->rlist.x_ray_pos = pl->pos_y;
cl->rlist.y_ray_pos = pl->pos_x;
- cl->rlist.x_ray_dir = pl->dir_y + pl->plane_x *
+ cl->rlist.y_ray_dir = pl->dir_y + pl->plane_x *
pl->cam_x;
- cl->rlist.y_ray_dir = pl->dir_x + pl->plane_y *
+ cl->rlist.x_ray_dir = pl->dir_x + pl->plane_y *
pl->cam_x;
cl->rlist.sqy = (int16_t)cl->rlist.x_ray_pos;
cl->rlist.sqx = (int16_t)cl->rlist.y_ray_pos;
@@ -57,12 +57,12 @@ void
if (cl->rlist.side == 0)
{
cl->rlist.wall_dist = (cl->rlist.sqy - cl->rlist.x_ray_pos +
- (1 - cl->mlist.x_step) / 2) / cl->rlist.x_ray_dir;
+ (1 - cl->mlist.x_step) / 2) / cl->rlist.y_ray_dir;
}
else
{
cl->rlist.wall_dist = (cl->rlist.sqx - cl->rlist.y_ray_pos +
- (1 - cl->mlist.y_step) / 2) / cl->rlist.y_ray_dir;
+ (1 - cl->mlist.y_step) / 2) / cl->rlist.x_ray_dir;
}
}