if (deviationdist > sphereradius*sphereradius)
return 1; // miss (off to the side)
// nudge back to find the correct impact distance
- impactdist += deviationdist - sphereradius;
+ impactdist -= sphereradius - deviationdist/sphereradius;
if (impactdist >= linelength)
return 1; // miss (not close enough)
if (impactdist < 0)