--- ray/src/hd/rhpict.c 2003/07/21 22:30:18 3.13 +++ ray/src/hd/rhpict.c 2004/06/08 19:48:30 3.18 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: rhpict.c,v 3.13 2003/07/21 22:30:18 schorsch Exp $"; +static const char RCSid[] = "$Id: rhpict.c,v 3.18 2004/06/08 19:48:30 greg Exp $"; #endif /* * Radiance holodeck picture generator @@ -7,8 +7,9 @@ static const char RCSid[] = "$Id: rhpict.c,v 3.13 2003 #include +#include "platform.h" +#include "rterror.h" #include "rholo.h" -#include "view.h" char *progname; /* our program name */ char *hdkfile; /* holodeck file name */ @@ -30,10 +31,21 @@ int hres, vres; /* current horizontal and vertical re extern int nowarn; /* turn warnings off? */ +static void dopicture(int fn); +static void render_frame(PACKHEAD *bl, int nb); +static void startpicture(int fn); +static int endpicture(void); +static void initialize(void); + /* from rhpict2.c */ +extern void pixFinish(double ransamp); +extern void pixBeam(BEAM *bp, HDBEAMI *hb); -main(argc, argv) -int argc; -char *argv[]; + +int +main( +int argc, +char *argv[] +) { int i, rval; @@ -56,7 +68,7 @@ char *argv[]; pixaspect = atof(argv[++i]); else if (argv[i][2] == 'e') { expval = atof(argv[++i]); - if (argv[i][0] == '-' | argv[i][0] == '+') + if ((argv[i][0] == '-') | (argv[i][0] == '+')) expval = pow(2., expval); } else goto userr; @@ -124,11 +136,14 @@ userr: "Usage: %s [-w][-r rf][-pa pa][-pe ex][-x hr][-y vr][-S stfn][-o outp][view] input.hdk\n", progname); quit(1); + return 1; /* pro forma return */ } -dopicture(fn) /* render view from holodeck */ -int fn; +static void +dopicture( /* render view from holodeck */ + int fn +) { char *err; int rval; @@ -165,11 +180,12 @@ int fn; } -render_frame(bl, nb) /* render frame from beam values */ -register PACKHEAD *bl; -int nb; +static void +render_frame( /* render frame from beam values */ + register PACKHEAD *bl, + int nb +) { - extern void pixBeam(); register HDBEAMI *bil; register int i; @@ -186,8 +202,10 @@ int nb; } -startpicture(fn) /* initialize picture for rendering & output */ -int fn; +static void +startpicture( /* initialize picture for rendering & output */ + int fn +) { extern char VersionID[]; double pa = pixaspect; @@ -212,9 +230,9 @@ int fn; fputs(VIEWSTR, stdout); fprintview(&myview, stdout); fputc('\n', stdout); - if (pa < 0.99 | pa > 1.01) + if ((pa < 0.99) | (pa > 1.01)) fputaspect(pa, stdout); - if (expval < 0.99 | expval > 1.01) + if ((expval < 0.99) | (expval > 1.01)) fputexpos(expval, stdout); fputformat(COLRFMT, stdout); fputc('\n', stdout); @@ -227,8 +245,8 @@ int fn; } -int -endpicture() /* finish and write out pixels */ +static int +endpicture(void) /* finish and write out pixels */ { int lastr = -1, nunrend = 0; int32 lastp, lastrp; @@ -261,7 +279,8 @@ endpicture() /* finish and write out pixels */ } -initialize() /* initialize holodeck and buffers */ +static void +initialize(void) /* initialize holodeck and buffers */ { int fd; FILE *fp; @@ -284,7 +303,7 @@ initialize() /* initialize holodeck and buffers */ fd = dup(fileno(fp)); /* dup file descriptor */ fclose(fp); /* done with stdio */ for (n = 0; nextloc > 0L; n++) { /* initialize each section */ - lseek(fd, (off_t)nextloc, 0); + lseek(fd, (off_t)nextloc, SEEK_SET); read(fd, (char *)&nextloc, sizeof(nextloc)); hdinit(fd, NULL); } @@ -292,7 +311,7 @@ initialize() /* initialize holodeck and buffers */ mypixel = (COLOR *)bmalloc(xres*yres*sizeof(COLOR)); myweight = (float *)bmalloc(xres*yres*sizeof(float)); mydepth = (float *)bmalloc(xres*yres*sizeof(float)); - if (mypixel == NULL | myweight == NULL | mydepth == NULL) + if ((mypixel == NULL) | (myweight == NULL) | (mydepth == NULL)) error(SYSTEM, "out of memory in initialize"); }