diff options
author | JozanLeClerc <bousset.rudy@gmail.com> | 2020-04-02 14:35:55 +0200 |
---|---|---|
committer | JozanLeClerc <bousset.rudy@gmail.com> | 2020-04-02 14:35:55 +0200 |
commit | 20e9cfd5bf432b0e68b4e2fd3b721f1fcea8c839 (patch) | |
tree | afea14915414c45325b9f0e4d8f64ee35935d101 /src/ft_castray_loop.c | |
parent | Correct dir_x dir_y sqy sqx (diff) | |
download | 42-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.c | 16 |
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; } } |