15#define MIN_PERP_WALL_DIST 1e-4
19void set_wall_slice(
t_frame *frame,
int x)
22 double safe_perp_wall_dist;
24 safe_perp_wall_dist = frame->dda.perp_wall_dist;
25 if (frame->dda.perp_wall_dist < MIN_PERP_WALL_DIST)
26 safe_perp_wall_dist = MIN_PERP_WALL_DIST;
27 wall_slice.line_height = (int)(WIN_HEIGHT / safe_perp_wall_dist);
28 wall_slice.draw_start = -wall_slice.line_height / 2 + IMG_3D_HEIGHT / 2;
29 wall_slice.draw_end = wall_slice.line_height / 2 + IMG_3D_HEIGHT / 2;
30 if (wall_slice.draw_start < 0)
31 wall_slice.draw_start = 0;
32 if (wall_slice.draw_end >= WIN_HEIGHT)
33 wall_slice.draw_end = WIN_HEIGHT - 1;
34 frame->wall_slice = wall_slice;
single still image for render_frame