15t_type_wall get_texture_direction(
16 int type_of_grid_line,
t_vector ray_dir)
18 if (type_of_grid_line == 1)
44void set_texture_x_coordinate(
t_frame *frame,
int x)
50 t_type_wall type_wall;
53 view_point = frame->player->view_point;
54 ray_dir = frame->ray_cast.ray_dir;
55 if (dda->type_of_grid_line == 0)
56 wall_x = view_point.y + dda->perp_wall_dist * ray_dir.y;
58 wall_x = view_point.x + dda->perp_wall_dist * ray_dir.x;
59 wall_x -= floor(wall_x);
60 type_wall = get_texture_direction(dda->type_of_grid_line, ray_dir);
61 dda->texture = frame->texture[type_wall];
62 dda->tex_x = (int)(wall_x * (
double)dda->texture.width);
63 if (dda->type_of_grid_line == 0 && ray_dir.x < 0)
64 dda->tex_x = dda->texture.width - dda->tex_x - 1;
65 if (dda->type_of_grid_line == 1 && ray_dir.y >= 0)
66 dda->tex_x = dda->texture.width - dda->tex_x - 1;
single still image for render_frame