--- ray/src/hd/holo.h 1997/12/11 11:47:57 3.6 +++ ray/src/hd/holo.h 1997/12/24 10:52:44 3.10 @@ -18,7 +18,7 @@ #define int2 short #endif #ifndef int4 -#define int4 long +#define int4 int #endif #define DCINF (unsigned)((1L<<16)-1) /* special value for infinity */ @@ -82,23 +82,29 @@ typedef struct holo { BEAMI bi[1]; /* beam index (extends struct) */ } HOLO; /* holodeck section */ +typedef struct { + HOLO *h; /* pointer to holodeck */ + int b; /* beam index */ +} HDBEAMI; /* holodeck beam index */ + #define nbeams(hp) (2*((hp)->wi[5]-1)) #define biglob(hp) ((hp)->bi) #define blglob(hp) (*(hp)->bl) #define bnrays(hp,i) ((hp)->bl[i]!=NULL ? (hp)->bl[i]->nrm : (hp)->bi[i].nrd) -#define hdflush(hp) (hdfreebeam(hp,0) && hdsync(hp)) -#define hdclobber(hp) (hdkillbeam(hp,0) && hdsync(hp)) +#define hdflush(hp) (hdfreebeam(hp,0) && hdsync(hp,0)) +#define hdclobber(hp) (hdkillbeam(hp,0) && hdsync(hp,0)) extern HOLO *hdinit(), *hdalloc(); extern BEAM *hdgetbeam(); extern RAYVAL *hdnewrays(); -extern long hdmemuse(), hdfiluse(); +extern unsigned hdmemuse(); +extern long hdfiluse(), hdfilen(); extern double hdray(), hdinter(); extern unsigned hdcode(); -extern int hdcachesize; /* target cache size (bytes) */ +extern unsigned hdcachesize; /* target cache size (bytes) */ extern unsigned long hdclock; /* holodeck system clock */ extern HOLO *hdlist[HDMAX+1]; /* holodeck pointers (NULL term.) */