]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_tdef.h
[16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / src / lib / 16_tdef.h
index 08b9699624d2e35b85c6abcaa82bc49d6794ae71..2c2d0f723a115ad5f02e64862c907b770a0e1603 100755 (executable)
@@ -171,11 +171,11 @@ typedef struct {
        byte    *data;                  //TODO: 16_mm and 16_ca must handle this\r
 } mapl_t;      //map layer array type def\r
 \r
-#define MAP_LAYERS 3\r
+#define MAPPLANES              3\r
 typedef struct {\r
        //long          planestart[3];\r
        //unsigned      planelength[3];\r
-       mapl_t layerdata[MAP_LAYERS];   // mapdata for multilayer (map index values for rendering which image on the tile)\r
+       mapl_t layerdata[MAPPLANES];    // mapdata for multilayer (map index values for rendering which image on the tile)\r
        tiles_t *tiles;         //TODO: 16_mm and 16_ca must handle this        // tilesets for layers (currently ony 4 can be loaded wwww)\r
        int width, height;              //this has to be signed!\r
        byte name[16];\r
@@ -310,7 +310,6 @@ typedef struct// inconfig
 //     Global variables\r
        KeyboardDef     KbdDefs[MaxKbds];\r
        JoystickDef     JoyDefs[MaxJoys];\r
-       //struct        instat  *inst;\r
        inst_t  *inst;\r
 } in_info_t;\r
 \r
@@ -366,18 +365,23 @@ typedef struct
 \r
 typedef struct\r
 {\r
-       char old_mode;          //old video mode before game!\r
-       byte palette[PALSIZE], dpal[PALSIZE];   //palette array\r
-       page_t page[MAXPAGE];   //can be used as a pointer to root page[0]\r
-       word vmem_remain;       //remaining video memory\r
-       byte num_of_pages;      //number of actual pages\r
-       //doslib origi vars\r
+//doslib origi vars\r
        byte far * omemptr;\r
        byte vga_draw_stride;\r
        byte vga_draw_stride_limit;             // further X clipping\r
-       //end of doslib origi vars\r
+//end of doslib origi vars\r
        boolean __near rss;             //render sprite switch\r
        boolean __near bgps;            //bg preservation render switch between old and new\r
+} vga_state_t;\r
+\r
+typedef struct\r
+{\r
+       char old_mode;          //old video mode before game!\r
+       byte palette[PALSIZE], dpal[PALSIZE];   //palette array\r
+       page_t page[MAXPAGE];   //can be used as a pointer to root page[0]\r
+       word vmem_remain;       //remaining video memory\r
+       byte num_of_pages;      //number of actual pages\r
+       vga_state_t     vga_state;\r
        sword __near sprifilei;         //player file's i\r
        nibble __near p;                        //render page number\r
        nibble __near sp;                       //show page number(for showpage)\r
@@ -388,9 +392,6 @@ typedef struct
        ofs_t   ofs;            //offset vars used for doslib\r
        word    vh;             //video combined height\r
        //0000word startclk; float clk, tickclk;        //timer\r
-//newer vars\r
-//TODO: find out how they are used\r
-       byte grneeded[NUMCHUNKS];\r
 } video_t;\r
 \r
 //from scroll16\r
@@ -581,7 +582,6 @@ typedef struct
 //==========================================================================\r
 \r
 #define NUMMAPS                4//39\r
-#define MAPPLANES              3\r
 #define NUMSNDCHUNKS           84\r
 \r
 typedef struct\r
@@ -589,10 +589,18 @@ typedef struct
   word bit0,bit1;      // 0-255 is a character, > is a pointer to a node\r
 } huffnode;\r
 \r
+typedef        struct\r
+{\r
+       long            planestart[3];\r
+       unsigned        planelength[3];\r
+       unsigned        width,height;\r
+       char            name[16];\r
+} maptype;\r
+\r
 typedef struct\r
 {\r
        int             mapon, mapnum;\r
-       //maptype               _seg    *mapheaderseg[NUMMAPS];\r
+       maptype         _seg    *mapheaderseg[NUMMAPS];\r
 } ca_mapinfo_t;\r
 \r
 typedef struct\r
@@ -602,27 +610,22 @@ typedef struct
        int                     audiohandle[4]; // handle to AUDIOT / AUDIO\r
 } ca_handle_t;\r
 /*\r
- 16/wf3d8086/id_ca.c:byte              _seg    *tinf;\r
-16/wf3d8086/id_ca.c:unsigned   _seg    *mapsegs[MAPPLANES];\r
-16/wf3d8086/id_ca.c:maptype            _seg    *mapheaderseg[NUMMAPS];\r
-16/wf3d8086/id_ca.c:byte               _seg    *audiosegs[NUMSNDCHUNKS];\r
-16/wf3d8086/id_ca.c:void               _seg    *grsegs[NUMCHUNKS];\r
-16/wf3d8086/id_ca.c:long               _seg *grstarts; // array of offsets in egagraph, -1 for sparse\r
-16/wf3d8086/id_ca.c:long               _seg *audiostarts;      // array of offsets in audio / audiot\r
 16/wf3d8086/id_ca.c:   grstarts = (long _seg *)FP_SEG(&EGAhead);\r
 16/wf3d8086/id_ca.c:   tinf = (byte _seg *)FP_SEG(&maphead);\r
 16/wf3d8086/id_ca.c:           pos = ((mapfiletype     _seg *)tinf)->headeroffsets[i];\r
 16/wf3d8086/id_ca.c:   audiostarts = (long _seg *)FP_SEG(&audiohead);\r
 16/wf3d8086/id_ca.c:           ((mapfiletype _seg *)tinf)->RLEWtag);\r
 16/wf3d8086/id_ca.c:           ((mapfiletype _seg *)tinf)->RLEWtag);\r
-16/wf3d8086/id_ca.c:                                   source = (byte _seg *)bufferseg+(pos-bufferstart);*/\r
+16/wf3d8086/id_ca.c:                                   source = (byte _seg *)bufferseg+(pos-bufferstart);\r
+*/\r
 typedef struct //TODO: USE THIS!!!!\r
 {\r
        byte    ca_levelbit,ca_levelnum;\r
        ca_handle_t             file;           //files to open\r
        ca_mapinfo_t    camap;\r
 \r
-       unsigned        _seg    *mapsegs[MAP_LAYERS];\r
+       byte            _seg    *tinf;//?? where in the id engine is this used and what is it? --sparky4\r
+       unsigned        _seg    *mapsegs[MAPPLANES];\r
        void            _seg    *grsegs[NUMCHUNKS];\r
        byte            far             grneeded[NUMCHUNKS];\r
        word            _seg *audiosegs[NUMSNDCHUNKS];//long\r
@@ -630,9 +633,6 @@ typedef struct      //TODO: USE THIS!!!!
        word            _seg    *grstarts;      // array of offsets in egagraph, -1 for sparse//long\r
        word            _seg    *audiostarts;   // array of offsets in audio / audiot//long\r
 \r
-       //misc memptr\r
-       byte            _seg    *tinf[4];\r
-\r
        huffnode huffnode;\r
 \r
        //TODO: extend! and learn from keen/wolf/catacomb's code wwww\r
@@ -642,17 +642,17 @@ typedef struct    //TODO: USE THIS!!!!
 //==========================================================================\r
 \r
 //actual global game varables!\r
-typedef enum {\r
+/*typedef enum {\r
        ENGI_QUIT,\r
        ENGI_RUN,\r
        ENGI_MENU,\r
        ENGI_PAUSE\r
-} engi_stat_t;\r
+} engi_stat_t;*/\r
 //ENGI_INPUT,\r
 \r
 typedef struct\r
 {\r
-       engi_stat_t     engi_stat;\r
+//---- engi_stat_t     engi_stat;\r
        video_t video;  // video settings variable\r
        ca_t            ca;     // ca stuff\r
        pm_t            pm;     // pm stuff\r