params adjust angle of view and size of game window

This commit is contained in:
hugogogo
2022-04-24 11:14:08 +02:00
parent fac1f78230
commit c886118bd6
9 changed files with 135 additions and 103 deletions

View File

@@ -1,19 +1,57 @@
#include "cube3d.h"
// tmp, to draw rays
static void calcul_ray_end(t_rcast *rcast, t_vec *ray)
{
if (rcast->is_x)
{
ray->end.x = rcast->cell_x * rcast->cell;
if (rcast->ray_sign_x == 1)
ray->end.x += rcast->cell;
if (rcast->slope_x)
{
rcast->ratio = (double)(ray->end.x - ray->start.x);
rcast->ratio /= (double)rcast->slope_x;
ray->end.y = ray->start.y + (double)rcast->slope_y * rcast->ratio;
}
}
else
{
ray->end.y = rcast->cell_y * rcast->cell;
if (rcast->ray_sign_y == 1)
ray->end.y += rcast->cell;
if (rcast->slope_y)
{
rcast->ratio = (double)(ray->end.y - ray->start.y);
rcast->ratio /= (double)rcast->slope_y;
ray->end.x = ray->start.x + (double)rcast->slope_x * rcast->ratio;
}
}
}
// tmp end
void draw_column(t_game *game, t_rcast *rcast, t_vec *ray)
{
(void)game;
(void)rcast;
(void)ray;
}
void raycast(t_game *game, t_rcast *rcast)
{
t_vec ray;
rcast->ray_nb = 0;
while (rcast->ray_nb <= SCREEN_DEF)
while (rcast->ray_nb <= rcast->screen_def)
{
ray_intersect(game, rcast, &ray);
// tmp, to draw the map
calcul_ray_end(rcast, &ray);
draw_line(game, ray, 0x00FF00FF);
// tmp end
// draw_column();
draw_column(game, rcast, &ray);
(rcast->ray_nb)++;
}
}