byte *palette;\r
} planar_buf_t;\r
\r
+\r
+enum direction {STOP, UP, DOWN, LEFT, RIGHT};\r
typedef struct {\r
+ int dx, dy; //backwards compait\r
word id; /* the Identification number of the page~ For layering~ */\r
byte far* data; /* the data for the page */\r
- word dx; /* col we are viewing on the virtual screen */\r
- word dy; /* row we are viewing on the virtual screen */\r
word sw; /* screen width */\r
word sh; /* screen heigth */\r
word tw; /* screen width in tiles */\r
word stridew; /*width/4*/\r
word pagesize; /* page size */\r
word pi; /* incremention page by this much to preserve location */\r
+ word delta; // How much should we shift the page for smooth scrolling\r
+ enum direction d; // Direction we should shift the page\r
} page_t;\r
-\r
typedef struct\r
{\r
//sprite ....\r
} pan_t;\r
\r
//video\r
-#define NUMCHUNKS 3016 //keen\r
+#define NUMCHUNKS 416 //keen\r
\r
typedef struct\r
{\r
typedef struct\r
{\r
dword nearheap,farheap,EMSmem,XMSmem,mainmem;\r
+// boolean PMStarted, MainPresent, EMSPresent, XMSPresent;\r
} mminfotype;\r
\r
typedef struct\r
#ifdef __WATCOMC__\r
void __near *nearheap;\r
#endif\r
- //byte EMS_status;\r
- unsigned totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle;\r
- unsigned int EMSVer;\r
+ unsigned int EMSVer;\r
word numUMBs,UMBbase[MAXUMBS];\r
+ word totalEMSpages, freeEMSpages, EMSpagesmapped, EMSHandle, EMSPageFrame;\r
//dword numUMBs,UMBbase[MAXUMBS];\r
//huge mmblocktype huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew;\r
mmblocktype far mmblocks[MAXBLOCKS],far *mmhead,far *mmfree,far *mmrover,far *mmnew;\r
typedef struct\r
{\r
boolean EMSPresent;\r
+ unsigned int EMSVer;\r
word EMSAvail,EMSPagesAvail,EMSHandle,\r
EMSPageFrame,EMSPhysicalPage;\r
+ word totalEMSpages, freeEMSpages, EMSpagesmapped;\r
EMSListStruct EMSList[EMSFrameCount];\r
} pm_emmi_t;\r
\r
typedef struct\r
{\r
boolean XMSPresent;\r
- word XMSAvail,XMSPagesAvail,XMSHandle;\r
- dword XMSDriver;\r
+ word XMSAvail,XMSPagesAvail,XMSHandle;//,XMSVer;\r
+ dword XMSDriver;\r
int XMSProtectPage;// = -1;\r
} pm_xmmi_t;\r
\r
byte ca_levelbit,ca_levelnum;\r
ca_handle_t file; //files to open\r
ca_mapinfo_t camap;\r
- //_seg *grsegs[NUMCHUNKS];\r
- //byte far grneeded[NUMCHUNKS];\r
- //huffnode huffnode;\r
+ __SEGA *grsegs[NUMCHUNKS];\r
+ byte far grneeded[NUMCHUNKS];\r
+ huffnode huffnode;\r
} ca_t;\r
\r
//==========================================================================\r
video_t video; // video settings variable\r
ca_t ca; // ca stuff\r
pm_t pm; // pm stuff\r
- byte *pee; // message for fps\r
loghandle_t handle; //handles for file logging\r
kurokku_t kurokku; //clock struct\r
mminfo_t mm; mminfotype mmi;\r
} global_game_variables_t;\r
\r
+extern char global_temp_status_text[512];\r
+\r
+#define EINVFMT EMFILE\r
+\r
#endif /* _TYPEDEFSTRUCT_H_ */\r