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