aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_castray_loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_castray_loop.c')
-rw-r--r--src/ft_castray_loop.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/ft_castray_loop.c b/src/ft_castray_loop.c
index 28277a7..00cb589 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;
}
@@ -45,24 +45,24 @@ void
wl = &cl->wlist;
pl = &cl->plist;
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_x + pl->plane_x *
+ cl->rlist.y_ray_pos = pl->pos_y;
+ cl->rlist.x_ray_pos = pl->pos_x;
+ cl->rlist.y_ray_dir = -pl->dir_y + pl->plane_x *
pl->cam_x;
- cl->rlist.y_ray_dir = pl->dir_y + pl->plane_y *
+ cl->rlist.x_ray_dir = pl->dir_x + pl->plane_y *
pl->cam_x;
- cl->rlist.sqx = (int16_t)cl->rlist.x_ray_pos;
cl->rlist.sqy = (int16_t)cl->rlist.y_ray_pos;
+ cl->rlist.sqx = (int16_t)cl->rlist.x_ray_pos;
ft_detect(cl);
if (cl->rlist.side == 0)
{
- cl->rlist.wall_dist = (cl->rlist.sqx - cl->rlist.x_ray_pos +
- (1 - cl->mlist.x_step) / 2) / cl->rlist.x_ray_dir;
+ cl->rlist.wall_dist = (cl->rlist.sqy - cl->rlist.y_ray_pos +
+ (1 - cl->mlist.x_step) / 2) / cl->rlist.y_ray_dir;
}
else
{
- cl->rlist.wall_dist = (cl->rlist.sqy - cl->rlist.y_ray_pos +
- (1 - cl->mlist.y_step) / 2) / cl->rlist.y_ray_dir;
+ cl->rlist.wall_dist = (cl->rlist.sqx - cl->rlist.x_ray_pos +
+ (1 - cl->mlist.y_step) / 2) / cl->rlist.x_ray_dir;
}
}