392 |
|
first = 0; last = nsources-1; |
393 |
|
} |
394 |
|
for (i = first; i <= last; i++) |
395 |
< |
if (source[i].sflags & SDISTANT) |
395 |
> |
if ((source[i].sflags & (SDISTANT|SVIRTUAL)) == SDISTANT) |
396 |
|
/* |
397 |
|
* Check to see if ray is within |
398 |
|
* solid angle of source. |
415 |
|
} |
416 |
|
|
417 |
|
|
418 |
< |
#define wrongsource(m, r) (m->otype!=MAT_ILLUM && \ |
419 |
< |
r->rsrc>=0 && \ |
420 |
< |
source[r->rsrc].so!=r->ro) |
418 |
> |
#define wrongsource(m, r) (r->rsrc>=0 && \ |
419 |
> |
source[r->rsrc].so!=r->ro && \ |
420 |
> |
(m->otype!=MAT_ILLUM || \ |
421 |
> |
objptr(source[r->rsrc].so->omod)->otype==MAT_ILLUM)) |
422 |
|
|
423 |
|
#define distglow(m, r) (m->otype==MAT_GLOW && \ |
424 |
|
r->rot > m->oargs.farg[3]) |