aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ft_draw_verline.c2
-rw-r--r--src/ft_raycasting.c9
2 files changed, 8 insertions, 3 deletions
diff --git a/src/ft_draw_verline.c b/src/ft_draw_verline.c
index bcddbc7..0fad33a 100644
--- a/src/ft_draw_verline.c
+++ b/src/ft_draw_verline.c
@@ -60,7 +60,7 @@ int8_t
ft_choose_tex(cl);
while (y <= y2)
{
- *(int*)(cl->img.ptr + (x * 4 + (y * cl->img.sizeline))) = 0x0000ffaa;
+ *(int*)(cl->img.ptr + (x * 4 + (y * cl->img.sizeline))) = (cl->rlist.side) ? 0x0000eeaa : 0x0000ffaa;
y++;
}
ft_draw_floor(cl, y, x);
diff --git a/src/ft_raycasting.c b/src/ft_raycasting.c
index 98f1c81..7ce45d5 100644
--- a/src/ft_raycasting.c
+++ b/src/ft_raycasting.c
@@ -10,19 +10,23 @@
/* */
/* ************************************************************************** */
+#include <libft.h>
#include <cub3d.h>
#include <stdint.h>
#include <stdio.h>
+#include <math.h>
void
ft_calc_tex(t_cub *clist)
{
- if (clist->rlist.side == 1)
+ if (clist->rlist.side == 0)
clist->rlist.wall_hit_x = clist->plist->pos_y +
clist->rlist.wall_dist * clist->rlist.y_ray_dir;
else
clist->rlist.wall_hit_x = clist->plist->pos_x +
clist->rlist.wall_dist * clist->rlist.x_ray_dir;
+ clist->rlist.wall_hit_x -= floor(clist->rlist.wall_hit_x);
+ /*clist->rlist.tex_x =(int)(clist->rlist.wall_hit_x * clist->tlist[clist->w_side].img_w);*/
}
static void
@@ -44,8 +48,10 @@ static void
cl->rlist.sqy = (int16_t)cl->rlist.y_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;
+ }
else
cl->rlist.wall_dist = (cl->rlist.sqy - cl->rlist.y_ray_pos +
(1 - cl->mlist->y_step) / 2) / cl->rlist.y_ray_dir;
@@ -71,7 +77,6 @@ void
cl->rlist.wall_b = wl->y_size - 1;
ft_choose_tex(cl);
ft_calc_tex(cl);
- printf("%f\n", cl->rlist.wall_hit_x);
ft_draw_verline(cl, i, cl->rlist.wall_t - 1, cl->rlist.wall_b);
i++;
}