| 308 |
|
|
| 309 |
|
if (obs == OVOID) |
| 310 |
|
return(0); |
| 311 |
< |
op = objptr(obs); /* check for intersection */ |
| 312 |
< |
return((*ofun[op->otype].funp)(op, r)); |
| 311 |
> |
op = objptr(obs); /* check blocker intersection */ |
| 312 |
> |
if (!(*ofun[op->otype].funp)(op, r)) |
| 313 |
> |
return(0); |
| 314 |
> |
if (source[r->rsrc].sflags & SDISTANT) |
| 315 |
> |
return(1); |
| 316 |
> |
op = source[r->rsrc].so; /* check source intersection */ |
| 317 |
> |
if (!(*ofun[op->otype].funp)(op, r)) |
| 318 |
> |
return(1); |
| 319 |
> |
rayclear(r); |
| 320 |
> |
return(0); /* source in front */ |
| 321 |
|
} |
| 322 |
|
|
| 323 |
|
|