32 |
|
|
33 |
|
extern char *atos(); |
34 |
|
|
35 |
+ |
extern FILE *popen(); |
36 |
+ |
|
37 |
|
extern char rifname[128]; /* rad input file name */ |
38 |
|
|
39 |
|
extern char VersionID[]; |
350 |
|
register PNODE *p = &ptrunk; |
351 |
|
int adapt = 0; |
352 |
|
double e = 1.0; |
353 |
< |
start: |
353 |
> |
|
354 |
|
for (cp = s; isspace(*cp); cp++) |
355 |
|
; |
356 |
|
if (*cp == '@') { |
357 |
|
adapt++; |
358 |
< |
goto start; |
358 |
> |
while (isspace(*++cp)) |
359 |
> |
; |
360 |
|
} |
361 |
|
if (*cp == '\0') { /* normalize to point */ |
362 |
|
if (dev->getcur == NULL) |
637 |
|
if (thisray.ro == NULL) |
638 |
|
(*dev->comout)("ray hit nothing"); |
639 |
|
else { |
640 |
< |
sprintf(buf, "ray hit %s %s \"%s\"", |
641 |
< |
objptr(thisray.ro->omod)->oname, |
640 |
> |
sprintf(buf, "ray hit %s%s %s \"%s\"", |
641 |
> |
thisray.rod < 0.0 ? "back of " : "", |
642 |
> |
thisray.ro->omod == OVOID ? VOIDID : |
643 |
> |
objptr(thisray.ro->omod)->oname, |
644 |
|
ofun[thisray.ro->otype].funame, |
645 |
|
thisray.ro->oname); |
646 |
|
(*dev->comout)(buf); |
694 |
|
(*dev->comout)(fname); |
695 |
|
(*dev->comout)("\"...\n"); |
696 |
|
/* write header */ |
697 |
+ |
newheader("RADIANCE", fp); |
698 |
|
fputs(progname, fp); |
699 |
|
fprintview(&ourview, fp); |
700 |
|
if (octname != NULL) |