--- ray/src/rt/colortab.c 2003/05/13 17:58:33 2.7 +++ ray/src/rt/colortab.c 2014/07/08 18:24:59 2.11 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: colortab.c,v 2.7 2003/05/13 17:58:33 greg Exp $"; +static const char RCSid[] = "$Id: colortab.c,v 2.11 2014/07/08 18:24:59 greg Exp $"; #endif /* * colortab.c - allocate and control dynamic color table. @@ -17,9 +17,12 @@ static const char RCSid[] = "$Id: colortab.c,v 2.7 200 #include "copyright.h" -#include "standard.h" +#include +#include "standard.h" #include "color.h" +#include "driver.h" + /* histogram resolution */ #define NRED 24 #define NGRN 32 @@ -45,12 +48,12 @@ static const char RCSid[] = "$Id: colortab.c,v 2.7 200 static struct tabent { long sum[3]; /* sum of colors using this entry */ int n; /* number of colors */ - BYTE ent[3]; /* current table value */ + uby8 ent[3]; /* current table value */ } *clrtab = NULL; /* color cube partition */ static CNODE *ctree = NULL; /* our color correction map */ -static BYTE clrmap[3][256]; +static uby8 clrmap[3][256]; /* histogram of colors used */ static unsigned short histo[NRED][NGRN][NBLU]; /* initial color cube boundary */ @@ -84,21 +87,22 @@ int ncolors; /* partition color space */ cut(ctree, 0, CLRCUBE, 0, ncolors); /* clear histogram */ - bzero((void *)histo, sizeof(histo)); + memset((void *)histo, '\0', sizeof(histo)); /* return number of colors used */ return(ncolors); } int -get_pixel(col, set_pixel) /* get pixel for color */ -COLOR col; -void (*set_pixel)(); +get_pixel( /* get pixel for color */ + COLOR col, + dr_newcolrf_t *newcolr +) { int r, g, b; int cv[3]; - register CNODE *tp; - register int h; + CNODE *tp; + int h; /* map color */ r = map_col(col,RED); g = map_col(col,GRN); @@ -138,7 +142,7 @@ void (*set_pixel)(); h, r, g, b, clrtab[h].n); eputs(errmsg); #endif - (*set_pixel)(h, r, g, b); + (*newcolr)(h, r, g, b); } return(h); /* return pixel value */ } @@ -148,7 +152,7 @@ void make_gmap(gam) /* make gamma correction map */ double gam; { - register int i; + int i; for (i = 0; i < 256; i++) clrmap[RED][i] = @@ -159,17 +163,17 @@ double gam; void set_cmap(rmap, gmap, bmap) /* set custom color correction map */ -BYTE *rmap, *gmap, *bmap; +uby8 *rmap, *gmap, *bmap; { - bcopy((void *)rmap, (void *)clrmap[RED], 256); - bcopy((void *)gmap, (void *)clrmap[GRN], 256); - bcopy((void *)bmap, (void *)clrmap[BLU], 256); + memcpy((void *)clrmap[RED], (void *)rmap, 256); + memcpy((void *)clrmap[GRN], (void *)gmap, 256); + memcpy((void *)clrmap[BLU], (void *)bmap, 256); } void map_color(rgb, col) /* map a color to a byte triplet */ -BYTE rgb[3]; +uby8 rgb[3]; COLOR col; { rgb[RED] = map_col(col,RED); @@ -180,9 +184,9 @@ COLOR col; static void cut(tree, level, box, c0, c1) /* partition color space */ -register CNODE *tree; +CNODE *tree; int level; -register int box[3][2]; +int box[3][2]; int c0, c1; { int kb[3][2]; @@ -193,7 +197,7 @@ int c0, c1; } /* split box */ *tree = split(box); - bcopy((void *)box, (void *)kb, sizeof(kb)); + memcpy((void *)kb, (void *)box, sizeof(kb)); /* do left (lesser) branch */ kb[prim(*tree)][1] = part(*tree); cut(tree+(1<>1); @@ -206,10 +210,10 @@ int c0, c1; static int split(box) /* find median cut for box */ -register int box[3][2]; +int box[3][2]; { #define c0 r - register int r, g, b; + int r, g, b; int pri; long t[HMAX], med; /* find dominant axis */