--- ray/src/rt/srcsupp.c 2003/02/25 02:47:23 2.10 +++ ray/src/rt/srcsupp.c 2003/12/31 02:03:08 2.13 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: srcsupp.c,v 2.10 2003/02/25 02:47:23 greg Exp $"; +static const char RCSid[] = "$Id: srcsupp.c,v 2.13 2003/12/31 02:03:08 greg Exp $"; #endif /* * Support routines for source objects and materials @@ -19,7 +19,7 @@ static const char RCSid[] = "$Id: srcsupp.c,v 2.10 200 #include "face.h" -#define SRCINC 4 /* realloc increment for array */ +#define SRCINC 8 /* realloc increment for array */ SRCREC *source = NULL; /* our list of sources */ int nsources = 0; /* the number of sources */ @@ -54,13 +54,16 @@ newsource() /* allocate new source in our array */ if (nsources == 0) source = (SRCREC *)malloc(SRCINC*sizeof(SRCREC)); else if (nsources%SRCINC == 0) - source = (SRCREC *)realloc((char *)source, + source = (SRCREC *)realloc((void *)source, (unsigned)(nsources+SRCINC)*sizeof(SRCREC)); if (source == NULL) return(-1); source[nsources].sflags = 0; - source[nsources].nhits = 1; - source[nsources].ntests = 2; /* initial hit probability = 1/2 */ + source[nsources].nhits = 0; + source[nsources].ntests = 1; /* initial hit probability = 0 */ +#if SHADCACHE + source[nsources].obscache = NULL; +#endif return(nsources++); }