--- ray/src/hd/holo.h 1997/12/24 10:52:44 3.10 +++ ray/src/hd/holo.h 1998/01/06 15:08:50 3.13 @@ -73,9 +73,8 @@ typedef struct holo { int fd; /* file descriptor */ short dirty; /* beam index needs update to file */ double tlin; /* linear range for depth encoding */ - FVECT wn[3]; /* wall normals (derived) */ - double wg[3]; /* wall grid multipliers (derived) */ - double wo[6]; /* wall offsets (derived) */ + FVECT wg[3]; /* wall grid vectors (derived) */ + double wo[6]; /* wall grid offsets (derived) */ int wi[6]; /* wall super-indices (derived) */ char *priv; /* pointer to private client data */ BEAM **bl; /* beam pointers (memory cache) */ @@ -100,7 +99,7 @@ extern HOLO *hdinit(), *hdalloc(); extern BEAM *hdgetbeam(); extern RAYVAL *hdnewrays(); extern unsigned hdmemuse(); -extern long hdfiluse(), hdfilen(); +extern long hdfiluse(), hdfilen(), hdallocfrag(); extern double hdray(), hdinter(); extern unsigned hdcode(); @@ -110,6 +109,9 @@ extern HOLO *hdlist[HDMAX+1]; /* holodeck pointers (NU extern float hd_depthmap[]; /* depth conversion map */ +extern int hdwg0[6]; /* wall grid 0 index */ +extern int hdwg1[6]; /* wall grid 1 index */ + #define hddepth(hp,dc) ( (dc) >= DCINF ? FHUGE : \ (hp)->tlin * ( (dc) >= DCLIN ? \ hd_depthmap[(dc)-DCLIN] : \ @@ -117,7 +119,7 @@ extern float hd_depthmap[]; /* depth conversion map * #define HOLOFMT "Holodeck" /* file format identifier */ #define HOLOVERS 0 /* file format version number */ -#define HOLOMAGIC (327+HOLOVERS) /* file magic number */ +#define HOLOMAGIC (323+sizeof(long)+8*HOLOVERS) /* file magic number */ /* * A holodeck file consists of an information header terminated by a