aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--inc/cub3d_structs.h5
-rw-r--r--src/ft_floor_cast.c11
2 files changed, 14 insertions, 2 deletions
diff --git a/inc/cub3d_structs.h b/inc/cub3d_structs.h
index cf8b6fa..aff5663 100644
--- a/inc/cub3d_structs.h
+++ b/inc/cub3d_structs.h
@@ -138,6 +138,11 @@ typedef struct s_ray
uint8_t hit;
double wall_hit_x;
double step_tex_v;
+ float x_f_ray_dir;
+ float y_f_ray_dir;
+ float x_f_ray_dir_bis;
+ float y_f_ray_dir_bis;
+ uint16_t p;
} t_ray;
typedef struct s_map
diff --git a/src/ft_floor_cast.c b/src/ft_floor_cast.c
index a0321d0..1d98e03 100644
--- a/src/ft_floor_cast.c
+++ b/src/ft_floor_cast.c
@@ -16,6 +16,13 @@
void
ft_floor_cast(uint16_t y, t_cub *cl)
{
- (void)y;
- (void)cl;
+ t_ray *rl;
+
+ rl = &cl->rlist;
+ rl->x_f_ray_dir = cl->plist.dir_x - cl->plist.plane_x;
+ rl->y_f_ray_dir = cl->plist.dir_y - cl->plist.plane_y;
+ rl->x_f_ray_dir_bis = cl->plist.dir_x + cl->plist.plane_x;
+ rl->y_f_ray_dir_bis = cl->plist.dir_y + cl->plist.plane_y;
+ rl->p = y - cl->wlist.y_size / 2;
+ cl->plist.pos_z = 0.5 * cl->wlist.y_size;
}