ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/rad.c
(Generate patch)

Comparing ray/src/util/rad.c (file contents):
Revision 2.58 by gwlarson, Mon Oct 19 16:21:41 1998 UTC vs.
Revision 2.63 by schorsch, Thu Jun 5 19:29:35 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1998 Silicon Graphics, Inc. */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ SGI";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   * Executive program for oconv, rpict and pfilt
6   */
# Line 13 | Line 10 | static char SCCSid[] = "$SunId$ SGI";
10   #include "paths.h"
11   #include "vars.h"
12   #include <ctype.h>
16 #include <sys/types.h>
13  
14                                  /* variables (alphabetical by name) */
15   #define AMBFILE         0               /* ambient file name */
# Line 81 | Line 77 | char   overfile[] = "overture.unf";
77   char    overfile[] = "/dev/null";
78   #endif
79  
80 < extern time_t   fdate(), time();
80 > extern time_t   time();
81  
82   time_t  scenedate;              /* date of latest scene or object file */
83   time_t  octreedate;             /* date of octree */
# Line 213 | Line 209 | register char  *fnames;
209   {
210          char    thisfile[MAXPATH];
211          time_t  thisdate, lastdate = 0;
216        register char   *cp;
212  
213          if (fnames == NULL)
214                  return(0);
215 <        while (*fnames) {
216 <                while (isspace(*fnames)) fnames++;
217 <                cp = thisfile;
218 <                while (*fnames && !isspace(*fnames))
224 <                        *cp++ = *fnames++;
225 <                *cp = '\0';
215 >        while ((fnames = nextword(thisfile, MAXPATH, fnames)) != NULL) {
216 >                if (thisfile[0] == '!' ||
217 >                                (thisfile[0] == '\\' && thisfile[1] == '!'))
218 >                        continue;
219                  if (!(thisdate = fdate(thisfile)))
220                          syserr(thisfile);
221                  if (thisdate > lastdate)
# Line 267 | Line 260 | checkfiles()                   /* check for existence and modified tim
260                          syserr(progname);
261                  sprintf(vval(OCTREE), "%s.oct", radname);
262                  vdef(OCTREE)++;
263 +        } else if (vval(OCTREE)[0] == '!') {
264 +                fprintf(stderr, "%s: illegal '%s' specification\n",
265 +                                progname, vnam(OCTREE));
266 +                quit(1);
267          }
268          octreedate = fdate(vval(OCTREE));
269          if (vdef(ILLUM)) {              /* illum requires secondary octrees */
# Line 824 | Line 821 | char   *ro;
821                          syserr(vval(OPTFILE));
822                  sprintf(ro, " @%s", vval(OPTFILE));
823          }
824 < #ifdef MSDOS
824 > #ifdef _WIN32
825          else if (n > 50) {
826                  setenv("ROPT", ro+1);
827                  strcpy(ro, " $ROPT");
# Line 843 | Line 840 | register char  *po;
840          }
841          switch (vscale(QUALITY)) {
842          case MEDIUM:
843 <                po = addarg(po, "-r 1");
843 >                po = addarg(po, "-r .6");
844                  break;
845          case HIGH:
846                  po = addarg(po, "-m .25");
# Line 980 | Line 977 | register char  *vs;
977          if (cp == viewopts)             /* append any additional options */
978                  vs++;           /* skip prefixed space if unneeded */
979          strcpy(cp, vs);
980 < #ifdef MSDOS
980 > #ifdef _WIN32
981          if (strlen(viewopts) > 40) {
982                  setenv("VIEW", viewopts);
983                  return("$VIEW");
# Line 1034 | Line 1031 | char   *vn;            /* returned view name */
1031   printview(vopts)                        /* print out selected view */
1032   register char   *vopts;
1033   {
1037        extern char     *strstr(), *atos(), *getenv();
1034          VIEW    vwr;
1035          char    buf[128];
1036          register char   *cp;
1037   again:
1038          if (vopts == NULL)
1039                  return(-1);
1040 < #ifdef MSDOS
1040 > #ifdef _WIN32
1041          if (vopts[0] == '$') {
1042                  vopts = getenv(vopts+1);
1043                  goto again;
1044          }
1045   #endif
1046          copystruct(&vwr, &stdview);
1047 <        cp = vopts;                             /* get -vf files first */
1047 >        sscanview(&vwr, cp=vopts);              /* set initial options */
1048          while ((cp = strstr(cp, "-vf ")) != NULL &&
1049 <                        *atos(buf, sizeof(buf), cp += 4))
1050 <                viewfile(buf, &vwr, NULL);
1051 <        sscanview(&vwr, vopts);                 /* get the rest */
1049 >                        *atos(buf, sizeof(buf), cp += 4)) {
1050 >                viewfile(buf, &vwr, NULL);      /* load -vf file */
1051 >                sscanview(&vwr, cp);            /* reset tail */
1052 >        }
1053          fputs(VIEWSTR, stdout);
1054          fprintview(&vwr, stdout);               /* print full spec. */
1055          fputc('\n', stdout);
# Line 1248 | Line 1245 | rmfile(fn)                     /* remove a file */
1245   char    *fn;
1246   {
1247          if (!silent)
1248 < #ifdef MSDOS
1248 > #ifdef _WIN32
1249                  printf("\tdel %s\n", fn);
1250   #else
1251                  printf("\trm -f %s\n", fn);
# Line 1263 | Line 1260 | mvfile(fold, fnew)             /* move a file */
1260   char    *fold, *fnew;
1261   {
1262          if (!silent)
1263 < #ifdef MSDOS
1263 > #ifdef _WIN32
1264                  printf("\trename %s %s\n", fold, fnew);
1265   #else
1266                  printf("\tmv %s %s\n", fold, fnew);
# Line 1274 | Line 1271 | char   *fold, *fnew;
1271   }
1272  
1273  
1274 < #ifdef MSDOS
1274 > #ifdef _WIN32
1275   setenv(vname, value)            /* set an environment variable */
1276   char    *vname, *value;
1277   {
# Line 1311 | Line 1308 | char   *s;
1308   }
1309  
1310  
1311 + void
1312   quit(ec)                        /* exit program */
1313   int     ec;
1314   {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines