64 |
|
int NVARS = 31; |
65 |
|
|
66 |
|
VARIABLE vv[] = { /* variable-value pairs */ |
67 |
< |
{"AMBFILE", 3, 0, NULL, onevalue}, |
67 |
> |
{"AMBFILE", 3, 0, NULL, strvalue}, |
68 |
|
{"DETAIL", 3, 0, NULL, qualvalue}, |
69 |
|
{"EXPOSURE", 3, 0, NULL, fltvalue}, |
70 |
|
{"EYESEP", 3, 0, NULL, fltvalue}, |
75 |
|
{"mkpmap", 3, 0, NULL, catvalues}, |
76 |
|
{"objects", 3, 0, NULL, catvalues}, |
77 |
|
{"oconv", 3, 0, NULL, catvalues}, |
78 |
< |
{"OCTREE", 3, 0, NULL, onevalue}, |
79 |
< |
{"OPTFILE", 3, 0, NULL, onevalue}, |
80 |
< |
{"PCMAP", 2, 0, NULL, onevalue}, |
78 |
> |
{"OCTREE", 3, 0, NULL, strvalue}, |
79 |
> |
{"OPTFILE", 3, 0, NULL, strvalue}, |
80 |
> |
{"PCMAP", 2, 0, NULL, strvalue}, |
81 |
|
{"PENUMBRAS", 3, 0, NULL, boolvalue}, |
82 |
|
{"pfilt", 2, 0, NULL, catvalues}, |
83 |
< |
{"PGMAP", 2, 0, NULL, onevalue}, |
84 |
< |
{"PICTURE", 3, 0, NULL, onevalue}, |
83 |
> |
{"PGMAP", 2, 0, NULL, strvalue}, |
84 |
> |
{"PICTURE", 3, 0, NULL, strvalue}, |
85 |
|
{"QUALITY", 3, 0, NULL, qualvalue}, |
86 |
< |
{"RAWFILE", 3, 0, NULL, onevalue}, |
86 |
> |
{"RAWFILE", 3, 0, NULL, strvalue}, |
87 |
|
{"render", 3, 0, NULL, catvalues}, |
88 |
|
{"REPORT", 3, 0, NULL, onevalue}, |
89 |
|
{"RESOLUTION", 3, 0, NULL, onevalue}, |
93 |
|
{"UP", 2, 0, NULL, onevalue}, |
94 |
|
{"VARIABILITY", 3, 0, NULL, qualvalue}, |
95 |
|
{"view", 2, 0, NULL, NULL}, |
96 |
< |
{"ZFILE", 2, 0, NULL, onevalue}, |
96 |
> |
{"ZFILE", 2, 0, NULL, strvalue}, |
97 |
|
{"ZONE", 2, 0, NULL, onevalue}, |
98 |
|
}; |
99 |
|
|
242 |
|
/* load variable values */ |
243 |
|
loadvars(rifname); |
244 |
|
/* get any additional assignments */ |
245 |
< |
for (i++; i < argc; i++) |
246 |
< |
if (setvariable(argv[i], matchvar) < 0) { |
247 |
< |
fprintf(stderr, "%s: unknown variable: %s\n", |
245 |
> |
for (i++; i < argc; i++) { |
246 |
> |
int rv = setvariable(argv[i], matchvar); |
247 |
> |
if (rv < 0) { |
248 |
> |
fprintf(stderr, "%s: unknown setting: %s\n", |
249 |
|
progname, argv[i]); |
250 |
|
quit(1); |
251 |
|
} |
252 |
+ |
if (!rv) |
253 |
+ |
fprintf(stderr, |
254 |
+ |
"%s: bad variable assignment: %s (ignored)\n", |
255 |
+ |
progname, argv[i]); |
256 |
+ |
} |
257 |
|
/* check assignments */ |
258 |
|
checkvalues(); |
259 |
|
/* check files and dates */ |
562 |
|
return; |
563 |
|
/* make octree0 */ |
564 |
|
if ((oct0date < scenedate) | (oct0date < illumdate)) { |
565 |
< |
if (touchonly && oct0date) |
566 |
< |
touch(oct0name); |
567 |
< |
else { /* build command */ |
565 |
> |
if (touchonly && (oct0date || oct1date)) { |
566 |
> |
if (oct0date) |
567 |
> |
touch(oct0name); |
568 |
> |
} else { /* build command */ |
569 |
|
if (octreedate) |
570 |
|
sprintf(combuf, "%s%s -i %s %s > %s", c_oconv, |
571 |
|
ocopts, vval(OCTREE), |
590 |
|
oct0date = octreedate; |
591 |
|
if (oct0date < illumdate) /* ditto */ |
592 |
|
oct0date = illumdate; |
593 |
< |
} |
593 |
> |
} |
594 |
|
if (touchonly && oct1date) |
595 |
|
touch(oct1name); |
596 |
|
else { |
796 |
|
{ |
797 |
|
if (vdef(EXPOSURE)) { |
798 |
|
if (vval(EXPOSURE)[0] == '+' || vval(EXPOSURE)[0] == '-') |
799 |
< |
return(.5/pow(2.,vflt(EXPOSURE))); |
800 |
< |
return(.5/vflt(EXPOSURE)); |
799 |
> |
return(.18/pow(2.,vflt(EXPOSURE))); |
800 |
> |
return(.18/vflt(EXPOSURE)); |
801 |
|
} |
802 |
|
if (vlet(ZONE) == 'E') |
803 |
|
return(10.); |
840 |
|
op = addarg(addarg(op, "-ap"), pmapf); |
841 |
|
if (atoi(bw) > 0) op = addarg(op, bw); |
842 |
|
} |
843 |
< |
if (vdef(RENDER)) |
843 |
> |
if (vdef(RENDER)) { |
844 |
|
op = addarg(op, vval(RENDER)); |
845 |
+ |
bw = strstr(vval(RENDER), "-aa "); |
846 |
+ |
if (bw != NULL && atof(bw+4) <= FTINY) |
847 |
+ |
overture = 0; |
848 |
+ |
} |
849 |
|
if (rvdevice != NULL) { |
850 |
|
if (vdef(RVU)) { |
851 |
|
if (vval(RVU)[0] != '-') { |
930 |
|
d = ambval(); |
931 |
|
sprintf(op, " -av %.2g %.2g %.2g", d, d, d); |
932 |
|
op += strlen(op); |
933 |
< |
op = addarg(op, "-lr 6 -lw .003"); |
933 |
> |
op = addarg(op, "-lr 6 -lw .001"); |
934 |
|
} |
935 |
|
|
936 |
|
|
1084 |
|
d = ambval(); |
1085 |
|
sprintf(op, " -av %.2g %.2g %.2g", d, d, d); |
1086 |
|
op += strlen(op); |
1087 |
< |
op = addarg(op, "-lr 12 -lw 1e-5"); |
1087 |
> |
op = addarg(op, "-lr 12 -lw 5e-6"); |
1088 |
|
} |
1089 |
|
|
1090 |
|
|