--- ray/src/hd/rhd_qtree.c 2003/03/04 05:49:21 3.20 +++ ray/src/hd/rhd_qtree.c 2003/07/21 22:30:18 3.24 @@ -1,10 +1,12 @@ #ifndef lint -static const char RCSid[] = "$Id: rhd_qtree.c,v 3.20 2003/03/04 05:49:21 greg Exp $"; +static const char RCSid[] = "$Id: rhd_qtree.c,v 3.24 2003/07/21 22:30:18 schorsch Exp $"; #endif /* * Quadtree driver support routines. */ +#include + #include "standard.h" #include "rhd_qtree.h" /* quantity of leaves to free at a time */ @@ -28,7 +30,7 @@ struct rleaves qtL; /* our pile of leaves */ int rayqleft = 0; /* rays left to queue before flush */ -static int4 falleaves; /* our list of fallen leaves */ +static int32 falleaves; /* our list of fallen leaves */ #define composted(li) (qtL.bl <= qtL.tl ? \ ((li) < qtL.bl || (li) >= qtL.tl) : \ @@ -53,7 +55,7 @@ newtwig() /* allocate a twig */ } bi = nexttwig / TBUNDLESIZ; if (twigbundle[bi] == NULL) { /* new block */ - twigbundle = (RTREE **)realloc((char *)twigbundle, + twigbundle = (RTREE **)realloc((void *)twigbundle, (bi+2)*sizeof(RTREE *)); if (twigbundle == NULL) goto memerr; @@ -81,7 +83,7 @@ int really; nexttwig = 0; if (!really) { /* just clear allocated blocks */ while (i--) - bzero((char *)twigbundle[i], TBUNDLESIZ*sizeof(RTREE)); + memset((char *)twigbundle[i], '\0', TBUNDLESIZ*sizeof(RTREE)); return; } /* else "really" means free up memory */ @@ -92,7 +94,7 @@ int really; } -#define LEAFSIZ (3*sizeof(float)+sizeof(int4)+\ +#define LEAFSIZ (3*sizeof(float)+sizeof(int32)+\ sizeof(TMbright)+6*sizeof(BYTE)) int @@ -119,7 +121,7 @@ register int n; return(0); /* assign larger alignment types earlier */ qtL.wp = (float (*)[3])qtL.base; - qtL.wd = (int4 *)(qtL.wp + n); + qtL.wd = (int32 *)(qtL.wp + n); qtL.brt = (TMbright *)(qtL.wd + n); qtL.chr = (BYTE (*)[3])(qtL.brt + n); qtL.rgb = (BYTE (*)[3])(qtL.chr + n); @@ -166,7 +168,7 @@ int qtCompost(pct) /* free up some leaves */ int pct; { - register int4 *fl; + register int32 *fl; int nused, nclear, nmapped; /* figure out how many leaves to clear */ nclear = qtL.nl * pct / 100; @@ -317,7 +319,7 @@ int drop; tp->k[q].li = lo; } dropit: - if (drop) + if (drop) { if (li+1 == (qtL.tl ? qtL.tl : qtL.nl)) qtL.tl = li; /* special case */ else { @@ -325,6 +327,7 @@ dropit: qtL.wd[li] = falleaves; falleaves = li; } + } return(li == lo); }