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

Comparing ray/src/rt/renderopts.c (file contents):
Revision 2.24 by greg, Sat Nov 18 18:14:26 2023 UTC vs.
Revision 2.28 by greg, Tue Apr 22 18:08:48 2025 UTC

# Line 10 | Line 10 | static const char      RCSid[] = "$Id$";
10   #include "copyright.h"
11  
12   #include  "ray.h"
13 + #include  "func.h"
14   #include  "paths.h"
15   #include  "pmapopt.h"
16  
# Line 75 | Line 76 | match_subfeatures(     /* check if subfeatures are support
76                  while (*reqs && (*cp = *reqs++) != ',')
77                          cp++;
78                  *cp = '\0';
79 <                n = cp - subfeat;
80 <                if (!(cp = strstr(mysublist, subfeat)) ||
81 <                                (cp[-1] != ',') & (cp[-1] != '=') ||
82 <                                (cp[n] != ',') & (cp[n] != '\n'))
79 >                if (!(n = cp - subfeat))
80 >                        continue;       /* empty subfeature */
81 >                for (cp = mysublist; (cp = strstr(cp, subfeat)) != NULL; cp++)
82 >                        if ((cp[-1] == ',') | (cp[-1] == '=') &&
83 >                                        (cp[n] == ',') | (cp[n] == '\n'))
84 >                                break;  /* match */
85 >                if (!cp)
86                          return(0);      /* missing this one! */
87          }
88          return(1);                      /* matched them all */
# Line 310 | Line 314 | getrenderopt(          /* get next render option */
314                          return(1);
315                  }
316                  break;
317 +        case 'f':                               /* .cal file */
318 +                check(2,"s");
319 +                loadfunc(av[1]);
320 +                return(1);
321 +        case 'e':                               /* .cal expression */
322 +                check(2,"s");
323 +                if (!strchr(av[1], '=') && !strchr(av[1], ':'))
324 +                        break;
325 +                scompile(av[1], NULL, 0);
326 +                return(1);
327   #if MAXCSAMP>3
328          case 'c':                               /* spectral sampling */
329                  switch (av[0][2]) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines