X-Git-Url: http://4ch.mooo.com/gitweb/?p=16.git;a=blobdiff_plain;f=src%2Flib%2F16_tdef.h;h=08b9699624d2e35b85c6abcaa82bc49d6794ae71;hp=e059fedfd607b8eaf10967ab957712c6692823ec;hb=c8d0f894b450f6dc3b80fbe28fedff4d424ce294;hpb=f6d0f26f669392f2970eb91d744fb88651583cf3 diff --git a/src/lib/16_tdef.h b/src/lib/16_tdef.h index e059fedf..08b96996 100755 --- a/src/lib/16_tdef.h +++ b/src/lib/16_tdef.h @@ -66,12 +66,38 @@ typedef struct { //from 16_sprit.h #ifdef __WATCOMC__ +#include + +typedef struct vrs_container{ + // Size of a .vrs blob in memory + // minus header + dword data_size; + union{ + byte far *buffer; + struct vrs_header far *vrs_hdr; + }; + // Array of corresponding vrl line offsets + vrl1_vgax_offset_t **vrl_line_offsets; +} vrs_container_t; + +typedef struct vrl_container{ + // Size of a .vrl blob in memory + // minus header + dword data_size; + union{ + byte far *buffer; + struct vrl1_vgax_header far *vrl_header; + }; + // Pointer to a corresponding vrl line offsets struct + vrl1_vgax_offset_t *line_offsets; +} vrl_container_t; + typedef struct sprite { // VRS container from which we will extract animation and image data - struct vrs_container *spritesheet; + vrs_container_t spritesheet; // Container for a vrl sprite - struct vrl_container *sprite_vrl_cont; + vrl_container_t sprite_vrl_cont; // Current sprite id int curr_spri_id; // Index of a current sprite in an animation sequence @@ -261,27 +287,32 @@ typedef struct { joyMultXH,joyMultYH; } JoystickDef; -/*typedef struct// inconfig -{ - boolean IN_Started; +typedef struct instat { boolean CapsLock; ScanCode CurCode,LastCode; + + boolean Keyboard[NumCodes]; + boolean Paused; + char LastASCII; + ScanCode LastScan; +} inst_t; + +typedef struct// inconfig +{ + boolean IN_Started; // // configuration variables // - boolean Keyboard[NumCodes], - JoysPresent[MaxJoys], + boolean JoysPresent[MaxJoys], MousePresent, JoyPadPresent; // Global variables - boolean Paused; - char LastASCII; - ScanCode LastScan; - KeyboardDef KbdDefs[MaxKbds]; JoystickDef JoyDefs[MaxJoys]; -} in_info_t;*/ + //struct instat *inst; + inst_t *inst; +} in_info_t; //========================================================================== @@ -402,7 +433,7 @@ typedef struct mmblockstruct { word start,length; //word start; dword length; - word blob; //for data larger than 64k +//++++ word blob; //for data larger than 64k unsigned attributes; memptr *useptr; // pointer to the segment start struct mmblockstruct far *next; @@ -536,8 +567,8 @@ typedef struct MainPagesUsed, PMNumBlocks; long PMFrameCount; - PageListStruct far *PMPages; - memptr/*__SEGA*/ *PMSegPages; + PageListStruct far *PMPages, + _seg *PMSegPages; pm_mmi_t mm; pm_emmi_t emm; pm_xmmi_t xmm; @@ -561,7 +592,7 @@ typedef struct typedef struct { int mapon, mapnum; - //__SEGA *mapheaderseg[NUMMAPS]; + //maptype _seg *mapheaderseg[NUMMAPS]; } ca_mapinfo_t; typedef struct @@ -570,23 +601,37 @@ typedef struct int grhandle[4]; // handle to EGAGRAPH int audiohandle[4]; // handle to AUDIOT / AUDIO } ca_handle_t; - +/* + 16/wf3d8086/id_ca.c:byte _seg *tinf; +16/wf3d8086/id_ca.c:unsigned _seg *mapsegs[MAPPLANES]; +16/wf3d8086/id_ca.c:maptype _seg *mapheaderseg[NUMMAPS]; +16/wf3d8086/id_ca.c:byte _seg *audiosegs[NUMSNDCHUNKS]; +16/wf3d8086/id_ca.c:void _seg *grsegs[NUMCHUNKS]; +16/wf3d8086/id_ca.c:long _seg *grstarts; // array of offsets in egagraph, -1 for sparse +16/wf3d8086/id_ca.c:long _seg *audiostarts; // array of offsets in audio / audiot +16/wf3d8086/id_ca.c: grstarts = (long _seg *)FP_SEG(&EGAhead); +16/wf3d8086/id_ca.c: tinf = (byte _seg *)FP_SEG(&maphead); +16/wf3d8086/id_ca.c: pos = ((mapfiletype _seg *)tinf)->headeroffsets[i]; +16/wf3d8086/id_ca.c: audiostarts = (long _seg *)FP_SEG(&audiohead); +16/wf3d8086/id_ca.c: ((mapfiletype _seg *)tinf)->RLEWtag); +16/wf3d8086/id_ca.c: ((mapfiletype _seg *)tinf)->RLEWtag); +16/wf3d8086/id_ca.c: source = (byte _seg *)bufferseg+(pos-bufferstart);*/ typedef struct //TODO: USE THIS!!!! { byte ca_levelbit,ca_levelnum; ca_handle_t file; //files to open ca_mapinfo_t camap; - memptr/*__SEGA*/ mapsegs[MAP_LAYERS]; - memptr/*__SEGA*/ *grsegs[NUMCHUNKS]; + unsigned _seg *mapsegs[MAP_LAYERS]; + void _seg *grsegs[NUMCHUNKS]; byte far grneeded[NUMCHUNKS]; - memptr/*byte _seg*/ *audiosegs[NUMSNDCHUNKS]; + word _seg *audiosegs[NUMSNDCHUNKS];//long - long _seg *grstarts; // array of offsets in egagraph, -1 for sparse - long _seg *audiostarts; // array of offsets in audio / audiot + word _seg *grstarts; // array of offsets in egagraph, -1 for sparse//long + word _seg *audiostarts; // array of offsets in audio / audiot//long //misc memptr - memptr tinf[4]; + byte _seg *tinf[4]; huffnode huffnode; @@ -614,7 +659,7 @@ typedef struct loghandle_t handle; //handles for file logging kurokku_t kurokku; //clock struct mminfo_t mm; mminfotype mmi; // mm stuff -//++++ in_info_t in; // 16_in info + in_info_t in; // 16_in info player_t player[MaxPlayers]; // player vars map_view_t mv[4]; } global_game_variables_t;