| 5 |  | * Radiance holodeck picture generator | 
| 6 |  | */ | 
| 7 |  |  | 
| 8 | + | #include <string.h> | 
| 9 | + |  | 
| 10 |  | #include "rholo.h" | 
| 11 |  | #include "view.h" | 
| 12 |  |  | 
| 56 |  | pixaspect = atof(argv[++i]); | 
| 57 |  | else if (argv[i][2] == 'e') { | 
| 58 |  | expval = atof(argv[++i]); | 
| 59 | < | if (argv[i][0] == '-' | argv[i][0] == '+') | 
| 59 | > | if ((argv[i][0] == '-') | (argv[i][0] == '+')) | 
| 60 |  | expval = pow(2., expval); | 
| 61 |  | } else | 
| 62 |  | goto userr; | 
| 169 |  | register PACKHEAD       *bl; | 
| 170 |  | int     nb; | 
| 171 |  | { | 
| 172 | < | extern int      pixBeam(); | 
| 172 | > | extern void     pixBeam(); | 
| 173 |  | register HDBEAMI        *bil; | 
| 174 |  | register int    i; | 
| 175 |  |  | 
| 212 |  | fputs(VIEWSTR, stdout); | 
| 213 |  | fprintview(&myview, stdout); | 
| 214 |  | fputc('\n', stdout); | 
| 215 | < | if (pa < 0.99 | pa > 1.01) | 
| 215 | > | if ((pa < 0.99) | (pa > 1.01)) | 
| 216 |  | fputaspect(pa, stdout); | 
| 217 | < | if (expval < 0.99 | expval > 1.01) | 
| 217 | > | if ((expval < 0.99) | (expval > 1.01)) | 
| 218 |  | fputexpos(expval, stdout); | 
| 219 |  | fputformat(COLRFMT, stdout); | 
| 220 |  | fputc('\n', stdout); | 
| 221 |  | /* write resolution (standard order) */ | 
| 222 |  | fprtresolu(hres, vres, stdout); | 
| 223 |  | /* prepare image buffers */ | 
| 224 | < | bzero((char *)mypixel, hres*vres*sizeof(COLOR)); | 
| 225 | < | bzero((char *)myweight, hres*vres*sizeof(float)); | 
| 226 | < | bzero((char *)mydepth, hres*vres*sizeof(float)); | 
| 224 | > | memset((char *)mypixel, '\0', hres*vres*sizeof(COLOR)); | 
| 225 | > | memset((char *)myweight, '\0', hres*vres*sizeof(float)); | 
| 226 | > | memset((char *)mydepth, '\0', hres*vres*sizeof(float)); | 
| 227 |  | } | 
| 228 |  |  | 
| 229 |  |  | 
| 231 |  | endpicture()                    /* finish and write out pixels */ | 
| 232 |  | { | 
| 233 |  | int     lastr = -1, nunrend = 0; | 
| 234 | < | int4    lastp, lastrp; | 
| 235 | < | register int4   p; | 
| 234 | > | int32   lastp, lastrp; | 
| 235 | > | register int32  p; | 
| 236 |  | register double d; | 
| 237 |  | /* compute final pixel values */ | 
| 238 |  | for (p = hres*vres; p--; ) { | 
| 239 |  | if (myweight[p] <= FTINY) { | 
| 240 | < | if (lastr >= 0) | 
| 240 | > | if (lastr >= 0) { | 
| 241 |  | if (p/hres == lastp/hres) | 
| 242 |  | copycolor(mypixel[p], mypixel[lastp]); | 
| 243 |  | else | 
| 244 |  | copycolor(mypixel[p], mypixel[lastrp]); | 
| 245 | + | } | 
| 246 |  | nunrend++; | 
| 247 |  | continue; | 
| 248 |  | } | 
| 266 |  | int     fd; | 
| 267 |  | FILE    *fp; | 
| 268 |  | int     n; | 
| 269 | < | int4    nextloc; | 
| 269 | > | int32   nextloc; | 
| 270 |  | /* open holodeck file */ | 
| 271 |  | if ((fp = fopen(hdkfile, "r")) == NULL) { | 
| 272 |  | sprintf(errmsg, "cannot open \"%s\" for reading", hdkfile); | 
| 292 |  | mypixel = (COLOR *)bmalloc(xres*yres*sizeof(COLOR)); | 
| 293 |  | myweight = (float *)bmalloc(xres*yres*sizeof(float)); | 
| 294 |  | mydepth = (float *)bmalloc(xres*yres*sizeof(float)); | 
| 295 | < | if (mypixel == NULL | myweight == NULL | mydepth == NULL) | 
| 295 | > | if ((mypixel == NULL) | (myweight == NULL) | (mydepth == NULL)) | 
| 296 |  | error(SYSTEM, "out of memory in initialize"); | 
| 297 |  | } | 
| 298 |  |  |