aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ft_draw_verline.c10
-rw-r--r--src/ft_floor_cast.c17
-rw-r--r--src/ft_raycasting.c6
3 files changed, 14 insertions, 19 deletions
diff --git a/src/ft_draw_verline.c b/src/ft_draw_verline.c
index 5368c4e..7f0fd1c 100644
--- a/src/ft_draw_verline.c
+++ b/src/ft_draw_verline.c
@@ -43,15 +43,15 @@ static void
{
curr_dist = cl->wlist.y_size / (2.0 * y - cl->wlist.y_size);
weight = (curr_dist - dist_player)
- / (cl->rlist.perp_wall_dist - dist_player);
+ / (cl->rlist.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
+ (1.0 - weight) * cl->plist.pos_y;
- cl->tlist[6].tex_x = (int32_t)(curr_floor_x
- * cl->tlist[6].img_w) % cl->tlist[6].img_w;
- cl->tlist[6].tex_y = (int32_t)(curr_floor_y
- * cl->tlist[6].img_h) % cl->tlist[6].img_h;
+ cl->tlist[6].tex_x = (int32_t)(curr_floor_x * cl->tlist[6].img_w)
+ % cl->tlist[6].img_w;
+ cl->tlist[6].tex_y = (int32_t)(curr_floor_y * cl->tlist[6].img_h)
+ % cl->tlist[6].img_h;
/* cl->tlist[6].tex_x = (cl->tlist[6].tex_x > 0) */
/* ? (cl->tlist[6].tex_x) : (-cl->tlist[6].tex_x); */
/* cl->tlist[6].tex_y = (cl->tlist[6].tex_y > 0) */
diff --git a/src/ft_floor_cast.c b/src/ft_floor_cast.c
index fe2734a..3343fc3 100644
--- a/src/ft_floor_cast.c
+++ b/src/ft_floor_cast.c
@@ -13,6 +13,7 @@
#include <cub3d.h>
#include <stdint.h>
+#include <stdio.h>
void
ft_floor_cast(t_cub *cl)
{
@@ -23,22 +24,22 @@ void
rl = &cl->rlist;
if (rl->side == 0 && rl->x_ray_dir > 0)
{
- rl->floor_x_wall = (float)map_x;
- rl->floor_y_wall = (float)map_y + rl->wall_hit_x;
+ rl->floor_x_wall = map_x;
+ rl->floor_y_wall = map_y + rl->wall_hit_x;
}
else if (rl->side == 0 && rl->x_ray_dir < 0)
{
- rl->floor_x_wall = (float)map_x + 1.0;
- rl->floor_y_wall = (float)map_y + rl->wall_hit_x;
+ rl->floor_x_wall = map_x + 1.0;
+ rl->floor_y_wall = map_y + rl->wall_hit_x;
}
else if (rl->side == 1 && rl->y_ray_dir > 0)
{
- rl->floor_x_wall = (float)map_x + rl->wall_hit_x;
- rl->floor_y_wall = (float)map_y;
+ rl->floor_x_wall = map_x + rl->wall_hit_x;
+ rl->floor_y_wall = map_y;
}
else
{
- rl->floor_x_wall = (float)map_x + rl->wall_hit_x;
- rl->floor_y_wall = (float)map_y + 1.0;
+ rl->floor_x_wall = map_x + rl->wall_hit_x;
+ rl->floor_y_wall = map_y + 1.0;
}
}
diff --git a/src/ft_raycasting.c b/src/ft_raycasting.c
index 121e132..0a4b8b5 100644
--- a/src/ft_raycasting.c
+++ b/src/ft_raycasting.c
@@ -74,12 +74,6 @@ 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