+typedef struct mmblockstruct\r
+{\r
+ word start,length;\r
+ //word start; dword length;\r
+ word blob; //for data larger than 64k\r
+ unsigned attributes;\r
+ memptr *useptr; // pointer to the segment start\r
+ //huge struct mmblockstruct huge *next;\r
+ struct mmblockstruct far *next;\r
+} mmblocktype;\r
+\r
+//from 16_mm\r
+//==========================================================================\r
+\r
+#define MAXBLOCKS 1024\r
+#define MAXUMBS 12\r
+\r
+typedef struct\r
+{\r
+ dword nearheap,farheap,EMSmem,XMSmem,mainmem;\r
+} mminfotype;\r
+\r
+typedef struct\r
+{\r
+ memptr bufferseg;\r
+ boolean mmstarted, bombonerror, mmerror;\r
+ //huge void huge *farheap;\r
+ void far *farheap;\r
+#ifdef __BORLANDC__\r
+ void *nearheap;\r
+#endif\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
+ word numUMBs,UMBbase[MAXUMBS];\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
+} mminfo_t;\r
+\r
+//==========================================================================\r
+\r
+//from 16_ca\r
+//==========================================================================\r
+\r
+#define NUMMAPS 4//39\r
+#define MAPPLANES 3\r
+\r
+typedef struct\r
+{\r
+ word bit0,bit1; // 0-255 is a character, > is a pointer to a node\r
+} huffnode;\r
+\r
+typedef struct\r
+{\r
+ int mapon, mapnum;\r
+ __SEGA *mapsegs[4];\r
+ __SEGA *mapheaderseg[NUMMAPS];\r
+ __SEGA *tinf;\r
+} ca_mapinfo_t;\r
+\r
+typedef struct\r
+{\r
+ int maphandle[4]; // handle to MAPTEMP / GAMEMAPS\r
+} ca_handle_t;\r
+\r
+typedef struct\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
+} ca_t;\r
+\r
+//==========================================================================\r
+\r
+//actual global game varables!\r