X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_tdef.h;h=1aa8b53fc3b0252aae008fb0267824a41c16f340;hb=3e67fca24b59811ced65929a140f6c242b161d90;hp=6321841d39281a7348e64cd5f7bf314b19b9cb4a;hpb=8731cf1c0bf1d59455d278bec3de3ae1ac725468;p=16.git diff --git a/src/lib/16_tdef.h b/src/lib/16_tdef.h index 6321841d..1aa8b53f 100755 --- a/src/lib/16_tdef.h +++ b/src/lib/16_tdef.h @@ -37,6 +37,10 @@ #define MAXPAGE 4 +#define BDOFSCONV (unsigned __near) +#define BOFS page[1].data +#define DOFS page[0].data + /* * typedefs of the game variables! */ @@ -358,6 +362,11 @@ typedef struct #define NUMCHUNKS 416 //keen #define MAXSCANLINES 240 // size of ylookup table +typedef struct +{ + int width,height; +} pictabletype; + //video typedef struct { @@ -377,10 +386,12 @@ typedef struct typedef struct { + //ylookup[MAXSCANLINES], unsigned int offscreen_ofs; unsigned int pattern_ofs; - unsigned bufferofs, ylookup[MAXSCANLINES], linewidth,displayofs; +// unsigned bufferofs,linewidth,displayofs; pan_t pan; + } ofs_t; //unfinished typedef struct @@ -398,6 +409,7 @@ typedef struct { boolean VL_Started,VL_Initiated; char old_mode; //old video mode before game! + sword curr_mode; //modex curent mode byte palette[PALSIZE], dpal[PALSIZE]; //palette array page_t page[MAXPAGE]; //can be used as a pointer to root page[0] word vmem_remain; //remaining video memory @@ -419,6 +431,7 @@ typedef struct word bordercolor; boolean fastpalette; byte far palette1[256][3],far palette2[256][3]; + pictabletype _seg *pictable; } video_t; //from scroll16 @@ -430,6 +443,7 @@ typedef struct int tx,ty; //appears to be the top left tile position on the viewable screen map word dxThresh,dyThresh; //Threshold for physical tile switch video_t *video; //pointer to game variables of the video + kurokku_t *kurokku; //pointer to game variables of the kurokku nibble __near *p; // pointer to video's render page num nibble __near *sp; // pointer to video's show page num int dx, dy; // draw row and col var @@ -467,6 +481,12 @@ typedef struct mmblockstruct struct mmblockstruct far *next; } mmblocktype; +typedef struct mmshowmemoryinfo +{ + word x,y; + mmblocktype far *scan; +} mmshowmemoryinfo_t; + typedef struct { dword nearheap,farheap,EMSmem,XMSmem,mainmem; @@ -630,8 +650,28 @@ typedef struct //from 16_ca //========================================================================== +#define NOMAPS +//#define NOGRAPHICS +#define NOAUDIO + +#define MAPHEADERLINKED +//#define GRHEADERLINKED +#define AUDIOHEADERLINKED + #define NUMMAPS 4//39 -#define NUMSNDCHUNKS 84 +#define NUMSNDCHUNKS 4//3 +//#define NUMPICS 4//132//wolf3d wl6 + +#define STRUCTPIC 0 +#define CASVT dword //*start var type + + +#define DATADIR "data/" +#define GDICTNAME DATADIR"vgadict." +#define GHEADNAME DATADIR"vgahead." +#define GFILENAME DATADIR"vgagraph." +#define EXTENSION "hb1" + typedef struct { @@ -679,10 +719,22 @@ typedef struct //TODO: USE THIS!!!! byte far grneeded[NUMCHUNKS]; word _seg *audiosegs[NUMSNDCHUNKS];//long - word _seg *grstarts; // array of offsets in egagraph, -1 for sparse//long - word _seg *audiostarts; // array of offsets in audio / audiot//long + CASVT _seg *grstarts; // array of offsets in egagraph, -1 for sparse//long + CASVT _seg *audiostarts; // array of offsets in audio / audiot//long + +#ifdef GRHEADERLINKED + huffnode *grhuffman; +#else + huffnode grhuffman[255]; +#endif + +#ifdef AUDIOHEADERLINKED + huffnode *audiohuffman; +#else + huffnode audiohuffman[255]; +#endif - huffnode huffnode; + CASVT chunkcomplen,chunkexplen;//long sd_t sd; //TODO: extend! and learn from keen/wolf/catacomb's code wwww @@ -714,6 +766,7 @@ typedef struct glob_game_vars player_t player[MaxPlayers]; // player vars map_view_t mv[4]; // sw_t sw; + boolean DLStarted; } global_game_variables_t; #ifdef __WATCOMC__