ref: 94bc3d7be7da4acb5434f5db522f92e186377761
dir: /ca.h/
// ID_CA.H //=========================================================================== #define NUMMAPS 60 #define MAPPLANES 2 #define UNCACHEGRCHUNK(chunk) {MM_FreePtr(&grsegs[chunk]);grneeded[chunk]&=~ca_levelbit;} //=========================================================================== typedef struct { s32int planestart[3]; u16int planelength[3]; u16int width,height; char name[16]; } maptype; //=========================================================================== extern char audioname[13]; extern u8int _seg *tinf; extern s16int mapon; extern u16int _seg *mapsegs[MAPPLANES]; extern maptype _seg *mapheaderseg[NUMMAPS]; extern u8int _seg *audiosegs[NUMSNDCHUNKS]; extern void _seg *grsegs[NUMCHUNKS]; extern u8int far grneeded[NUMCHUNKS]; extern u8int ca_levelbit,ca_levelnum; extern char *titleptr[8]; extern s16int profilehandle,debughandle; extern char extension[5], gheadname[10], gfilename[10], gdictname[10], mheadname[10], mfilename[10], aheadname[10], afilename[10]; extern s32int _seg *grstarts; // array of offsets in egagraph, -1 for sparse extern s32int _seg *audiostarts; // array of offsets in audio / audiot // // hooks for custom cache dialogs // extern void (*drawcachebox) (char *title, u16int numcache); extern void (*updatecachebox) (void); extern void (*finishcachebox) (void); //=========================================================================== // just for the score box reshifting void CAL_ShiftSprite (u16int segment,u16int source,u16int dest, u16int width, u16int height, u16int pixshift); //=========================================================================== void CA_OpenDebug (void); void CA_CloseDebug (void); int CA_FarRead (s16int handle, u8int far *dest, s32int length); int CA_FarWrite (s16int handle, u8int far *source, s32int length); int CA_ReadFile (char *filename, uchar **ptr); int CA_LoadFile (char *filename, uchar **ptr); int CA_WriteFile (char *filename, void far *ptr, s32int length); s32int CA_RLEWCompress (u16int huge *source, s32int length, u16int huge *dest, u16int rlewtag); void CA_RLEWexpand (u16int huge *source, u16int huge *dest,s32int length, u16int rlewtag); void CA_Startup (void); void CA_Shutdown (void); void CA_SetGrPurge (void); void CA_CacheAudioChunk (s16int chunk); void CA_LoadAllSounds (void); void CA_UpLevel (void); void CA_DownLevel (void); void CA_SetAllPurge (void); void CA_ClearMarks (void); void CA_ClearAllMarks (void); #define CA_MarkGrChunk(chunk) grneeded[chunk]|=ca_levelbit void CA_CacheGrChunk (s16int chunk); void CA_CacheMap (s16int mapnum); void CA_CacheMarks (void); void CA_CacheScreen (s16int chunk);