You could make a USE_BOX trace first, then, on a hit, do a SCAN_TEXTURE (without USE_BOX) trace to some target like endpoint:

c_trace(from,to,USE_BOX);
if(trace_hit)
{
vec_diff(temp,target,from);
vec_scale(temp,1.05); // make sure it reaches far enough
vec_add(temp,from);
c_trace(from,to,SCAN_TEXTURE);
}


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends