} kurokku_t;\r
\r
//===================================//\r
-#define PALSIZE 768\r
+#define PALSIZE 768\r
#define NUMCHUNKS 416 //keen\r
+#define MAXSCANLINES 240 // size of ylookup table\r
+\r
//video\r
+typedef struct\r
+{\r
+ word tileHeight, tileWidth; //defined by mapfile\r
+ word quadwh; //preproccessed quad size of tilewidth and tileheight\r
+} tile_dimention_t;\r
+\r
typedef struct\r
{\r
unsigned int offscreen_ofs;\r
unsigned int pattern_ofs;\r
+ unsigned bufferofs, ylookup[MAXSCANLINES], linewidth,displayofs;\r
} ofs_t; //unfinished\r
\r
typedef struct\r
\r
typedef struct\r
{\r
+ boolean VL_Started;\r
char old_mode; //old video mode before game!\r
byte palette[PALSIZE], dpal[PALSIZE]; //palette array\r
+ byte far palette1[256][3],far palette2[256][3];\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
nibble sfip; //shinku_fps_indicator_page; // we're on page 1 now, shinku(). follow along please or it will not be visible.\r
ofs_t ofs; //offset vars used for doslib\r
word vh; //video combined height\r
+ tile_dimention_t td;\r
//0000word startclk; float clk, tickclk; //timer\r
+ //wolf3d vars\r
+ boolean screenfaded;\r
+ word bordercolor;\r
+ boolean fastpalette;\r
} video_t;\r
\r
//from scroll16\r
//from 16_mm\r
//==========================================================================\r
\r
-#define MAXBLOCKS 1024\r
-#define MAXUMBS 12\r
+#define MAXBLOCKS 1024//kd=1300 wolf3d=700 cata=600\r
+//----#define MAXUMBS 12\r
\r
typedef struct mmblockstruct\r
{\r
\r
typedef struct\r
{\r
- memptr bufferseg;\r
boolean mmstarted, bombonerror, mmerror;\r
void far *farheap;\r
#ifdef __BORLANDC__\r
#ifdef __WATCOMC__\r
void __near *nearheap;\r
#endif\r
- unsigned int EMSVer;\r
- word numUMBs,UMBbase[MAXUMBS];\r
- word totalEMSpages, freeEMSpages, EMSpagesmapped, EMSHandle, EMSPageFrame;\r
- //dword numUMBs,UMBbase[MAXUMBS];\r
+//---- unsigned int EMSVer;\r
+//---- word numUMBs,UMBbase[MAXUMBS];\r
+//---- word totalEMSpages, freeEMSpages, EMSpagesmapped, EMSHandle, EMSPageFrame;\r
+//---- dword numUMBs,UMBbase[MAXUMBS];\r
mmblocktype far mmblocks[MAXBLOCKS],far *mmhead,far *mmfree,far *mmrover,far *mmnew;\r
+ memptr bufferseg; //Allocates bufferseg misc buffer\r
} mminfo_t;\r
\r
//==========================================================================\r
//==========================================================================\r
\r
//actual global game varables!\r
-/*typedef enum {\r
- ENGI_QUIT,\r
- ENGI_RUN,\r
- ENGI_MENU,\r
- ENGI_PAUSE\r
-} engi_stat_t;*/\r
-//ENGI_INPUT,\r
+/*typedef struct {\r
+ boolean clearmem;\r
+} vidsw_t;\r
\r
-typedef struct\r
+typedef struct {\r
+ vidsw_t vsw;\r
+} sw_t;*/\r
+\r
+\r
+\r
+typedef struct glob_game_vars\r
{\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
in_info_t in; // 16_in info\r
player_t player[MaxPlayers]; // player vars\r
map_view_t mv[4];\r
+// sw_t sw;\r
} global_game_variables_t;\r
\r
#ifdef __WATCOMC__\r