#pragma warn -use\r
\r
//#define THREEBYTEGRSTARTS\r
-\r
+//https://github.com/open-watcom/open-watcom-v2/issues/279#issuecomment-244587566 for _seg\r
/*\r
=============================================================================\r
\r
======================\r
*/\r
\r
-/*void CAL_SetupMapFile (void)\r
+void CAL_SetupMapFile (global_game_variables_t *gvar)\r
{\r
int handle;\r
long length;\r
//\r
// load maphead.ext (offsets and tileinfo for map file)\r
//\r
-#ifndef MAPHEADERLINKED\r
- if ((handle = open("MAPHEAD."EXT,\r
- O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
- Quit ("Can't open MAPHEAD."EXT"!");\r
- length = filelength(handle);\r
- MM_GetPtr (&(memptr)tinf,length);\r
- CA_FarRead(handle, tinf, length);\r
- close(handle);\r
-#else\r
-\r
- tinf = (byte _seg *)FP_SEG(&maphead);\r
-\r
-#endif\r
+// #ifndef MAPHEADERLINKED\r
+// if ((handle = open("MAPHEAD."EXT,\r
+// O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
+// Quit ("Can't open MAPHEAD."EXT"!");\r
+// length = filelength(handle);\r
+// MM_GetPtr (&(memptr)tinf,length);\r
+// CA_FarRead(handle, tinf, length);\r
+// close(handle);\r
+// //#else\r
+//\r
+// tinf = (byte _seg *)FP_SEG(&maphead);\r
+//\r
+// #endif\r
\r
//\r
// open the data file\r
//\r
-#ifdef MAPHEADERLINKED\r
- if ((maphandle = open("GAMEMAPS."EXT,\r
- O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
- Quit ("Can't open GAMEMAPS."EXT"!");\r
-#else\r
- if ((maphandle = open("MAPTEMP."EXT,\r
+//TODO: multiple files\r
+ if ((gvar->ca.file.maphandle[0] = open("data/test.map",\r
O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
- Quit ("Can't open MAPTEMP."EXT"!");\r
-#endif\r
-}*/\r
+ {\r
+ printf("Can't open data/test.map!");\r
+ }\r
+// #ifdef MAPHEADERLINKED\r
+// if ((maphandle = open("GAMEMAPS."EXT,\r
+// O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
+// Quit ("Can't open GAMEMAPS."EXT"!");\r
+// //#else\r
+// if ((maphandle = open("MAPTEMP."EXT,\r
+// O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
+// Quit ("Can't open MAPTEMP."EXT"!");\r
+// #endif\r
+}\r
\r
//==========================================================================\r
\r
unlink("meminfo.16w");\r
gvar->handle.showmemhandle = open("meminfo.16w", O_CREAT | O_WRONLY | O_TEXT);\r
#endif\r
-/* CAL_SetupMapFile ();\r
+/*\r
CAL_SetupGrFile ();\r
CAL_SetupAudioFile ();*/\r
-/*++++\r
-// MDM begin - (GAMERS EDGE)\r
-//\r
- if(!FindFile("AUDIO."EXT,NULL,2))\r
- Quit("CA_Startup(): Can't find audio files.");\r
-//\r
-// MDM end\r
\r
-#ifndef NOAUDIO\r
- CAL_SetupAudioFile();\r
-#endif\r
-\r
-// MDM begin - (GAMERS EDGE)\r
-//\r
- if (!FindFile("GAMEMAPS."EXT,NULL,1))\r
- Quit("CA_Startup(): Can't find level files.");\r
-//\r
-// MDM end\r
-\r
-#ifndef NOMAPS\r
- CAL_SetupMapFile ();\r
-#endif\r
-\r
-// MDM begin - (GAMERS EDGE)\r
-//\r
- if (!FindFile("EGAGRAPH."EXT,NULL,2))\r
- Quit("CA_Startup(): Can't find graphics files.");\r
-//\r
-// MDM end\r
-\r
-#ifndef NOGRAPHICS\r
- CAL_SetupGrFile ();\r
-#endif*/\r
+ CAL_SetupMapFile (gvar);\r
\r
gvar->ca.mapon = -1;\r
gvar->ca.ca_levelbit = 1;\r
close(gvar->handle.profilehandle);\r
#endif\r
close(gvar->handle.showmemhandle);\r
+\r
+ close(*(gvar->ca.file.maphandle));\r
/*++++\r
- close(maphandle);\r
close(grhandle);\r
close(audiohandle);*/\r
}\r
=\r
======================\r
*/\r
-/*++++\r
-void CA_CacheMap (int mapnum)\r
+/*++++ fuckin segments!\r
+void CA_CacheMap (global_game_variables_t *gvar)\r
{\r
long pos,compressed;\r
int plane;\r
#endif\r
\r
\r
-// MDM begin - (GAMERS EDGE)\r
-//\r
- if (!FindFile("GAMEMAPS."EXT,NULL,1))\r
- Quit("CA_CacheMap(): Can't find level files.");\r
-//\r
-// MDM end\r
-\r
-\r
//\r
// free up memory from last map\r
//\r
- if (mapon>-1 && mapheaderseg[mapon])\r
- MM_SetPurge (&(memptr)mapheaderseg[mapon],3);\r
+// if (gvar->ca.map.mapon>-1 && gvar->ca.map.mapheaderseg[gvar->ca.map.mapon])\r
+// MM_SetPurge (&(memptr)gvar->ca.map.mapheaderseg[gvar-ca.map.mapon],3);\r
for (plane=0;plane<MAPPLANES;plane++)\r
- if (mapsegs[plane])\r
- MM_FreePtr (&(memptr)mapsegs[plane]);\r
+ if (gvar->ca.map.mapsegs[plane])\r
+ MM_FreePtr (&(memptr)gvar->ca.map.mapsegs[plane]);\r
\r
- mapon = mapnum;\r
+ gvar->ca.map.mapon = gvar->ca.map.mapnum;\r
\r
\r
//\r
// load map header\r
// The header will be cached if it is still around\r
//\r
- if (!mapheaderseg[mapnum])\r
+ if (!gvar->ca.map.mapheaderseg[gvar->ca.map.mapnum])\r
{\r
- pos = ((mapfiletype _seg *)tinf)->headeroffsets[mapnum];\r
+ pos = ((__segmement *)tinf)->headeroffsets[gvar->ca.mapnum];\r
if (pos<0) // $FFFFFFFF start is a sparse map\r
- Quit ("CA_CacheMap: Tried to load a non existent map!");\r
+ printf("CA_CacheMap: Tried to load a non existent map!");\r
\r
- MM_GetPtr(&(memptr)mapheaderseg[mapnum],sizeof(maptype));\r
+ MM_GetPtr(&(memptr)gvar->ca.mapheaderseg[mapnum],sizeof(maptype));\r
lseek(maphandle,pos,SEEK_SET);\r
CA_FarRead (maphandle,(memptr)mapheaderseg[mapnum],sizeof(maptype));\r
}\r