| 105 |
|
|
| 106 |
|
long scenedate; /* date of latest scene or object file */ |
| 107 |
|
long octreedate; /* date of octree */ |
| 108 |
+ |
long matdate; /* date of latest material file */ |
| 109 |
|
|
| 110 |
|
int explicate = 0; /* explicate variables */ |
| 111 |
|
int silent = 0; /* do work silently */ |
| 424 |
|
vnam(OCTREE), vnam(SCENE)); |
| 425 |
|
exit(1); |
| 426 |
|
} |
| 427 |
+ |
matdate = -1; |
| 428 |
+ |
if (vdef(MATERIAL)) |
| 429 |
+ |
matdate = checklast(vval(MATERIAL)); |
| 430 |
|
} |
| 431 |
|
|
| 432 |
|
|
| 565 |
|
{ |
| 566 |
|
long afdate; |
| 567 |
|
|
| 568 |
< |
if (vdef(AMBFILE)) { |
| 569 |
< |
afdate = fdate(vval(AMBFILE)); |
| 570 |
< |
if (afdate >= 0 & octreedate > afdate) |
| 571 |
< |
rmfile(vval(AMBFILE)); |
| 572 |
< |
} |
| 568 |
> |
if (!vdef(AMBFILE)) |
| 569 |
> |
return; |
| 570 |
> |
if ((afdate = fdate(vval(AMBFILE))) < 0) |
| 571 |
> |
return; |
| 572 |
> |
if (octreedate > afdate | matdate > afdate) |
| 573 |
> |
rmfile(vval(AMBFILE)); |
| 574 |
|
} |
| 575 |
|
|
| 576 |
|
|
| 1057 |
|
sprintf(vs, "%d", vn); |
| 1058 |
|
sprintf(picfile, "%s_%s.pic", vval(PICTURE), vs); |
| 1059 |
|
/* check date on picture */ |
| 1060 |
< |
if (fdate(picfile) > octreedate) |
| 1060 |
> |
if (fdate(picfile) >= octreedate) |
| 1061 |
|
continue; |
| 1062 |
|
/* build rpict command */ |
| 1063 |
|
sprintf(rawfile, "%s_%s.raw", vval(PICTURE), vs); |
| 1064 |
< |
if (fdate(rawfile) > octreedate) /* recover */ |
| 1064 |
> |
if (fdate(rawfile) >= octreedate) /* recover */ |
| 1065 |
|
sprintf(combuf, "rpict%s%s -ro %s %s", |
| 1066 |
|
rep, opts, rawfile, vval(OCTREE)); |
| 1067 |
|
else { |