]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_ca.c
[16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / src / lib / 16_ca.c
index 6ef9806c0d37446c800cbdfb7bbf2c3f233529d6..0358a50559361b1ef53e48fe0cf389abe1349c73 100755 (executable)
@@ -1057,7 +1057,7 @@ dinorm:
 //\r
 // load the data offsets from ???head.ext\r
 //\r
-       MM_GetPtr (&(memptr)grstarts,(NUMCHUNKS+1)*FILEPOSSIZE);\r
+       MM_GetPtr (MEMPTR grstarts,(NUMCHUNKS+1)*FILEPOSSIZE);\r
 \r
        if ((handle = open(GREXT"HEAD."EXT,\r
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
@@ -1082,7 +1082,7 @@ dinorm:
 // load the pic and sprite headers into the arrays in the data segment\r
 //\r
 #if NUMPICS>0\r
-       MM_GetPtr(&(memptr)pictable,NUMPICS*sizeof(pictabletype));\r
+       MM_GetPtr(MEMPTR pictable,NUMPICS*sizeof(pictabletype));\r
        CAL_GetGrChunkLength(STRUCTPIC);                // position file pointer\r
        MM_GetPtr(&compseg,chunkcomplen);\r
        CA_FarRead (grhandle,compseg,chunkcomplen);\r
@@ -1091,7 +1091,7 @@ dinorm:
 #endif\r
 \r
 #if NUMPICM>0\r
-       MM_GetPtr(&(memptr)picmtable,NUMPICM*sizeof(pictabletype));\r
+       MM_GetPtr(MEMPTR picmtable,NUMPICM*sizeof(pictabletype));\r
        CAL_GetGrChunkLength(STRUCTPICM);               // position file pointer\r
        MM_GetPtr(&compseg,chunkcomplen);\r
        CA_FarRead (grhandle,compseg,chunkcomplen);\r
@@ -1100,7 +1100,7 @@ dinorm:
 #endif\r
 \r
 #if NUMSPRITES>0\r
-       MM_GetPtr(&(memptr)spritetable,NUMSPRITES*sizeof(spritetabletype));\r
+       MM_GetPtr(MEMPTR spritetable,NUMSPRITES*sizeof(spritetabletype));\r
        CAL_GetGrChunkLength(STRUCTSPRITE);     // position file pointer\r
        MM_GetPtr(&compseg,chunkcomplen);\r
        CA_FarRead (grhandle,compseg,chunkcomplen);\r
@@ -1123,25 +1123,25 @@ dinorm:
 \r
 void CAL_SetupMapFile (global_game_variables_t *gvar)\r
 {\r
-/*     int handle;\r
+       int handle;\r
        long length;\r
 \r
 //\r
 // load maphead.ext (offsets and tileinfo for map file)\r
 //\r
 #ifndef MAPHEADERLINKED\r
-       if ((handle = open("MAPHEAD."EXT,\r
+       if ((handle = open("maphead.mph",\r
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
-               printf("Can't open MAPHEAD."EXT"!");\r
+               Quit (gvar, "Can't open maphead.mph");\r
        length = filelength(handle);\r
-       MM_GetPtr (&(memptr)tinf,length);\r
-       CA_FarRead(handle, tinf, length);\r
+       MM_GetPtr (MEMPTR gvar->ca.tinf,length,gvar);\r
+       CA_FarRead(handle, gvar->ca.tinf, length,gvar);\r
        close(handle);\r
-//#else\r
+#else\r
 \r
        tinf = (byte _seg *)FP_SEG(&maphead);\r
 \r
-#endif*/\r
+#endif\r
 \r
 //\r
 // open the data file\r
@@ -1149,18 +1149,16 @@ void CAL_SetupMapFile (global_game_variables_t *gvar)
 //TODO: multiple files\r
        if ((gvar->ca.file.maphandle[0] = open("data/test.map",\r
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\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 (gvar, "Can't open GAMEMAPS."EXT"!");\r
-// //#else\r
-//     if ((maphandle = open("MAPTEMP."EXT,\r
-//              O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
-//             Quit (gvar, "Can't open MAPTEMP."EXT"!");\r
-// #endif\r
+               Quit (gvar, "Can't open data/test.map!");\r
+/*#ifdef MAPHEADERLINKED\r
+       if ((maphandle = open("GAMEMAPS."EXTENSION,\r
+                O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
+               Quit ("Can't open GAMEMAPS."EXTENSION"!");\r
+#else\r
+       if ((maphandle = open("MAPTEMP."EXTENSION,\r
+                O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
+               Quit ("Can't open MAPTEMP."EXTENSION"!");\r
+#endif*/\r
 }\r
 \r
 //==========================================================================\r
@@ -1187,7 +1185,7 @@ void CAL_SetupMapFile (global_game_variables_t *gvar)
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
                Quit (gvar, "Can't open AUDIOHED."EXT"!");\r
        length = filelength(handle);\r
-       MM_GetPtr (&(memptr)audiostarts,length);\r
+       MM_GetPtr (MEMPTR audiostarts,length);\r
        CA_FarRead(handle, (byte far *)audiostarts, length);\r
        close(handle);\r
 #else\r
@@ -1244,10 +1242,17 @@ void CA_Startup(global_game_variables_t *gvar)
        unlink("meminfo.16w");\r
        gvar->handle.showmemhandle = open("meminfo.16w", O_CREAT | O_WRONLY | O_TEXT);\r
 #endif\r
-/*\r
-       CAL_SetupGrFile ();\r
-       CAL_SetupAudioFile ();*/\r
+\r
+\r
+#ifndef NOMAPS\r
        CAL_SetupMapFile (gvar);\r
+#endif\r
+#ifndef NOGRAPHICS\r
+       CAL_SetupGrFile (gvar);\r
+#endif\r
+#ifndef NOAUDIO\r
+       CAL_SetupMapFile (gvar);\r
+#endif\r
 \r
        gvar->ca.camap.mapon = -1;\r
        gvar->ca.ca_levelbit = 1;\r
@@ -1305,7 +1310,7 @@ void CA_CacheAudioChunk (int chunk)
 \r
        if (audiosegs[chunk])\r
        {\r
-               MM_SetPurge (&(memptr)audiosegs[chunk],0);\r
+               MM_SetPurge (MEMPTR audiosegs[chunk],0);\r
                return;                                                 // allready in memory\r
        }\r
 \r
@@ -1327,7 +1332,7 @@ void CA_CacheAudioChunk (int chunk)
 \r
 #ifndef AUDIOHEADERLINKED\r
 \r
-       MM_GetPtr (&(memptr)audiosegs[chunk],compressed);\r
+       MM_GetPtr (MEMPTR audiosegs[chunk],compressed);\r
        if (mmerror)\r
                return;\r
 \r
@@ -1352,7 +1357,7 @@ void CA_CacheAudioChunk (int chunk)
 \r
        expanded = *(long far *)source;\r
        source += 4;                    // skip over length\r
-       MM_GetPtr (&(memptr)audiosegs[chunk],expanded);\r
+       MM_GetPtr (MEMPTR audiosegs[chunk],expanded);\r
        if (mmerror)\r
                goto done;\r
        CAL_HuffExpand (source,audiosegs[chunk],expanded,audiohuffman);\r
@@ -1393,7 +1398,7 @@ void CA_LoadAllSounds (void)
 \r
        for (i=0;i<NUMSOUNDS;i++,start++)\r
                if (audiosegs[start])\r
-                       MM_SetPurge (&(memptr)audiosegs[start],3);              // make purgable\r
+                       MM_SetPurge (MEMPTR audiosegs[start],3);                // make purgable\r
 \r
 cachein:\r
 \r
@@ -1898,12 +1903,12 @@ void CA_CacheMap (global_game_variables_t *gvar)
 //             if (pos<0)                                              // $FFFFFFFF start is a sparse map\r
 //               printf("CA_CacheMap: Tried to load a non existent map!");\r
 \r
-//             MM_GetPtr(&(memptr)gvar->ca.camapheaderseg[mapnum],sizeof(maptype));\r
+//             MM_GetPtr(MEMPTR gvar->ca.camapheaderseg[mapnum],sizeof(maptype));\r
 //             lseek(maphandle,pos,SEEK_SET);\r
 //             CA_FarRead (maphandle,(memptr)mapheaderseg[mapnum],sizeof(maptype));\r
 //     }\r
 //     else\r
-//             MM_SetPurge (&(memptr)mapheaderseg[mapnum], 0, &(gvar->mm));\r
+//             MM_SetPurge (MEMPTR mapheaderseg[mapnum], 0, &(gvar->mm));\r
 \r
 //\r
 // load the planes in\r
@@ -1921,7 +1926,7 @@ void CA_CacheMap (global_game_variables_t *gvar)
                if (!compressed)\r
                        continue;               // the plane is not used in this game\r
 \r
-               dest = &(memptr)mapsegs[plane];\r
+               dest = MEMPTR mapsegs[plane];\r
                MM_GetPtr(dest,size);\r
 \r
                lseek(maphandle,pos,SEEK_SET);\r
@@ -2024,7 +2029,7 @@ void CA_ClearMarks (global_game_variables_t *gvar)
        int i;\r
 \r
        for (i=0;i<NUMCHUNKS;i++)\r
-               gvar->video.grneeded[i]&=~gvar->ca.ca_levelbit;\r
+               gvar->ca.grneeded[i]&=~gvar->ca.ca_levelbit;\r
 }\r
 \r
 //===========================================================================\r
@@ -2041,7 +2046,7 @@ void CA_ClearMarks (global_game_variables_t *gvar)
 \r
 void CA_ClearAllMarks (global_game_variables_t *gvar)\r
 {\r
-       _fmemset (gvar->video.grneeded,0,sizeof(gvar->video.grneeded));\r
+       _fmemset (gvar->ca.grneeded,0,sizeof(gvar->ca.grneeded));\r
        gvar->ca.ca_levelbit = 1;\r
        gvar->ca.ca_levelnum = 0;\r
 }\r
@@ -2090,7 +2095,7 @@ void CA_SetAllPurge (global_game_variables_t *gvar)
 //\r
 // free cursor sprite and background save\r
 //\r
-       //VW_FreeCursor ();\r
+       //____VW_FreeCursor ();\r
 \r
 //\r
 // free map headers and map planes\r
@@ -2101,14 +2106,14 @@ void CA_SetAllPurge (global_game_variables_t *gvar)
 \r
        for (i=0;i<3;i++)\r
                if (gvar->ca.mapsegs[i])\r
-                       MM_FreePtr (gvar->ca.mapsegs[i], gvar);\r
+                       MM_FreePtr ((memptr *)&gvar->ca.mapsegs[i], gvar);\r
 \r
 //\r
 // free sounds\r
 //\r
        for (i=0;i<NUMSNDCHUNKS;i++)\r
                if (gvar->ca.audiosegs[i])\r
-                       MM_SetPurge (gvar->ca.audiosegs[i],3, gvar);\r
+                       MM_SetPurge ((memptr *)&gvar->ca.audiosegs[i],3, gvar);\r
 \r
 //\r
 // free graphics\r