--- ray/src/util/rad.c 1993/11/11 10:20:06 2.30 +++ ray/src/util/rad.c 1993/12/30 08:20:45 2.36 @@ -11,6 +11,7 @@ static char SCCSid[] = "$SunId$ LBL"; #include "standard.h" #include "paths.h" #include +#include typedef struct { @@ -101,17 +102,17 @@ char overfile[] = "overture.raw"; char overfile[] = "/dev/null"; #endif -extern unsigned long fdate(), time(); +extern time_t fdate(), time(); -unsigned long scenedate; /* date of latest scene or object file */ -unsigned long octreedate; /* date of octree */ -unsigned long matdate; /* date of latest material file */ -unsigned long illumdate; /* date of last illum file */ +time_t scenedate; /* date of latest scene or object file */ +time_t octreedate; /* date of octree */ +time_t matdate; /* date of latest material file */ +time_t illumdate; /* date of last illum file */ char *oct0name; /* name of pre-mkillum octree */ -unsigned long oct0date; /* date of pre-mkillum octree */ +time_t oct0date; /* date of pre-mkillum octree */ char *oct1name; /* name of post-mkillum octree */ -unsigned long oct1date; /* date of post-mkillum octree (>= matdate) */ +time_t oct1date; /* date of post-mkillum octree (>= matdate) */ int explicate = 0; /* explicate variables */ int silent = 0; /* do work silently */ @@ -252,7 +253,6 @@ setvariable(ass) /* assign variable according to stri register char *ass; { char varname[32]; - char varval[512]; int n; register char *cp; register VARIABLE *vp; @@ -460,12 +460,12 @@ register VARIABLE *vp; } -unsigned long +time_t checklast(fnames) /* check files and find most recent */ register char *fnames; { char thisfile[MAXPATH]; - unsigned long thisdate, lastdate = 0; + time_t thisdate, lastdate = 0; register char *cp; if (fnames == NULL) @@ -513,7 +513,7 @@ int pred; checkfiles() /* check for existence and modified times */ { - unsigned long objdate; + time_t objdate; if (!vdef(OCTREE)) { if ((vval(OCTREE) = bmalloc(strlen(radname)+5)) == NULL) @@ -641,11 +641,32 @@ setdefaults() /* set default values for unassigned v printvals() /* print variable values */ { - register int i, j; + int i, j, clipline; + register char *cp; + register int k; - for (i = 0; i < NVARS; i++) - for (j = 0; j < vdef(i); j++) - printf("%s= %s\n", vnam(i), nvalue(vv+i, j)); + for (i = 0; i < NVARS; i++) /* print each variable */ + for (j = 0; j < vdef(i); j++) { /* print each assignment */ + fputs(vnam(i), stdout); + fputs("= ", stdout); + k = clipline = ( vv[i].fixval == catvalues ? 64 : 320 ) + - strlen(vnam(i)) ; + cp = nvalue(vv+i, j); + while (*cp) { + putchar(*cp++); + if (--k <= 0) { /* line too long */ + while (*cp && !isspace(*cp)) + putchar(*cp++); /* finish this word */ + if (*cp) { /* start new line */ + putchar('\n'); + fputs(vnam(i), stdout); + putchar('='); + k = clipline; + } + } + } + putchar('\n'); + } fflush(stdout); } @@ -672,7 +693,7 @@ oconv() /* run oconv and mkillum if necessary */ unlink(vval(OCTREE)); exit(1); } - octreedate = time(0); + octreedate = time((time_t *)NULL); } if (oct1name == vval(OCTREE)) /* no mkillum? */ oct1date = octreedate > matdate ? octreedate : matdate; @@ -698,7 +719,7 @@ oconv() /* run oconv and mkillum if necessary */ unlink(oct0name); exit(1); } - oct0date = time(0); + oct0date = time((time_t *)NULL); } mkillumopts(mkopts); /* build mkillum command */ mktemp(illumtmp); @@ -726,7 +747,7 @@ oconv() /* run oconv and mkillum if necessary */ unlink(oct1name); exit(1); } - oct1date = time(0); + oct1date = time((time_t *)NULL); rmfile(illumtmp); } @@ -766,7 +787,7 @@ register char *mo; checkambfile() /* check date on ambient file */ { - unsigned long afdate; + time_t afdate; if (!vdef(AMBFILE)) return; @@ -804,7 +825,7 @@ char *op; medqopts(op); break; case HIGH: - lowqopts(op); + hiqopts(op); break; } } @@ -1317,7 +1338,17 @@ char *opts; /* get pfilt options */ pfiltopts(pfopts); /* get resolution, reporting */ - mult = vscale(QUALITY)+1; + switch (vscale(QUALITY)) { + case LOW: + mult = 1; + break; + case MEDIUM: + mult = 2; + break; + case HIGH: + mult = 3; + break; + } { int xres, yres; double aspect;