X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_tdef.h;h=6fe2c646bb754b1be7970b235f8b194676a7433b;hb=ded380e7aab3ba7460e1f756b576722e996d939a;hp=c57753875ecfbcb88264be8f60fef0fb41948aa6;hpb=60484e959995accd95933e7f119fafe3a42897c5;p=16.git diff --git a/src/lib/16_tdef.h b/src/lib/16_tdef.h index c5775387..6fe2c646 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! */ @@ -365,11 +369,24 @@ typedef struct word quadwh; //preproccessed quad size of tilewidth and tileheight } tile_dimention_t; +#define MAXSCROLLEDGES 6 +typedef struct +{ + unsigned panx,pany; // panning adjustments inside port in pixels + unsigned pansx,pansy; + unsigned panadjust; // panx/pany adjusted by screen resolution + int hscrollblocks,vscrollblocks; + int hscrolledge[MAXSCROLLEDGES],vscrolledge[MAXSCROLLEDGES]; +} pan_t; + 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 @@ -387,6 +404,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 +437,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 @@ -456,6 +475,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; @@ -594,11 +619,51 @@ typedef struct //========================================================================== +//for 16_sd +//========================================================================== +#pragma pack(push,1) +typedef struct imf_entry +{ + byte reg,data; + word delay; +} imf_entry_t; +#pragma pack(pop) + +typedef struct +{ + volatile unsigned long irq0_ticks;//=0; + volatile unsigned int irq0_cnt,irq0_add,irq0_max;//=0; + imf_entry_t* imf_music;//=NULL; + imf_entry_t* imf_play_ptr;//=NULL; + imf_entry_t* imf_music_end;//=NULL; + word imf_delay_countdown;//=0; +} sd_t; + +//========================================================================== + //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 132//wolf3d wl6 + +#define STRUCTPIC 0 + + +#define GDICTNAME "vgadict." +#define GHEADNAME "vgahead." +#define GFILENAME "vgagraph." +#define EXTENSION "hb1" + typedef struct { @@ -621,9 +686,9 @@ typedef struct typedef struct { - int maphandle[4]; // handle to MAPTEMP / GAMEMAPS - int grhandle[4]; // handle to EGAGRAPH - int audiohandle[4]; // handle to AUDIOT / AUDIO + int maphandle; // handle to MAPTEMP / GAMEMAPS + int grhandle; // handle to EGAGRAPH + int audiohandle; // handle to AUDIOT / AUDIO } ca_handle_t; /* 16/wf3d8086/id_ca.c: grstarts = (long _seg *)FP_SEG(&EGAhead); @@ -649,8 +714,21 @@ typedef struct //TODO: USE THIS!!!! word _seg *grstarts; // array of offsets in egagraph, -1 for sparse//long word _seg *audiostarts; // array of offsets in audio / audiot//long - huffnode huffnode; +#ifdef GRHEADERLINKED + huffnode *grhuffman; +#else + huffnode grhuffman[255]; +#endif + +#ifdef AUDIOHEADERLINKED + huffnode *audiohuffman; +#else + huffnode audiohuffman[255]; +#endif + + long chunkcomplen,chunkexplen; + sd_t sd; //TODO: extend! and learn from keen/wolf/catacomb's code wwww memptr spribuff; } ca_t; @@ -680,6 +758,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__