27 |
|
VCOPY(rt.rorg, rorg); |
28 |
|
VCOPY(rt.rdir, rdir); |
29 |
|
rt.rmax = 0; |
30 |
< |
rayorigin(&rt, NULL, PRIMARY, 1.0); |
30 |
> |
rayorigin(&rt, PRIMARY, NULL, NULL); |
31 |
|
/* check for intersection */ |
32 |
|
while (localhit(&rt, &thescene)) { |
33 |
|
RAY rt1 = rt; /* pretend we were aimed at source */ |
290 |
|
if (r->robj == OVOID || objptr(r->robj) != r->ro || |
291 |
|
isvolume(r->ro->otype)) |
292 |
|
return(0); /* don't record complex blockers */ |
293 |
+ |
if (r->rsrc < 0 || source[r->rsrc].so == r->ro) |
294 |
+ |
return(0); /* just a mistake, that's all */ |
295 |
|
m = findmaterial(r->ro); |
296 |
|
if (m == NULL) |
297 |
|
return(0); /* no material?! */ |