]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_ca.c
wwww cleanings and now the compiler header generated files are shown and so is the...
[16.git] / src / lib / 16_ca.c
old mode 100644 (file)
new mode 100755 (executable)
index c5d983f..f5893d8
@@ -30,8 +30,11 @@ loaded into the data segment
 =============================================================================\r
 */\r
 \r
-#include "src/lib/16_head.h"\r
-//#include "ID_STRS.H"\r
+#include "src/lib/16_ca.h"\r
+#pragma hdrstop\r
+\r
+#pragma warn -pro\r
+#pragma warn -use\r
 \r
 //#define THREEBYTEGRSTARTS\r
 \r
@@ -74,9 +77,7 @@ byte          _seg    *audiosegs[NUMSNDCHUNKS];
 void           _seg    *grsegs[NUMCHUNKS];\r
 \r
 byte           far     grneeded[NUMCHUNKS];\r
-byte           ca_levelbit,ca_levelnum;\r
-\r
-int                    profilehandle,debughandle;*/\r
+byte           ca_levelbit,ca_levelnum;*/\r
 \r
 void   (*drawcachebox)         (char *title, unsigned numcache);\r
 void   (*updatecachebox)       (void);\r
@@ -129,12 +130,11 @@ SDMode            oldsoundmode;
 void   CAL_DialogDraw (char *title,unsigned numcache);\r
 void   CAL_DialogUpdate (void);\r
 void   CAL_DialogFinish (void);*/\r
-void   CAL_CarmackExpand (unsigned far *source, unsigned far *dest,\r
-               unsigned length);\r
+//void CAL_CarmackExpand (unsigned far *source, unsigned far *dest,unsigned length);\r
 \r
 \r
-/*#ifdef THREEBYTEGRSTARTS\r
-#define FILEPOSSIZE    3*/\r
+/*++++#ifdef THREEBYTEGRSTARTS\r
+#define FILEPOSSIZE    3\r
 //#define      GRFILEPOS(c) (*(long far *)(((byte far *)grstarts)+(c)*3)&0xffffff)\r
 long GRFILEPOS(int c)\r
 {\r
@@ -155,7 +155,7 @@ long GRFILEPOS(int c)
 #else\r
 #define FILEPOSSIZE    4\r
 #define        GRFILEPOS(c) (grstarts[c])\r
-#endif\r
+#endif*/\r
 \r
 /*\r
 =============================================================================\r
@@ -174,16 +174,21 @@ long GRFILEPOS(int c)
 =\r
 ============================\r
 */\r
-\r
-void CA_OpenDebug (void)\r
+void CA_OpenDebug(global_game_variables_t *gvar)\r
 {\r
-       unlink ("DEBUG.TXT");\r
-       debughandle = open("DEBUG.TXT", O_CREAT | O_WRONLY | O_TEXT);\r
+#ifdef __BORLANDC__\r
+       unlink("debug.16b");\r
+       gvar->handle.debughandle = open("debug.16b", O_CREAT | O_WRONLY | O_TEXT);\r
+#endif\r
+#ifdef __WATCOMC__\r
+       unlink("debug.16w");\r
+       gvar->handle.debughandle = open("debug.16w", O_CREAT | O_WRONLY | O_TEXT);\r
+#endif\r
 }\r
 \r
-void CA_CloseDebug (void)\r
+void CA_CloseDebug(global_game_variables_t *gvar)\r
 {\r
-       close (debughandle);\r
+       close(gvar->handle.debughandle);\r
 }\r
 \r
 \r
@@ -198,13 +203,13 @@ void CA_CloseDebug (void)
 =\r
 ============================\r
 */\r
-\r
+/*++++\r
 void CAL_GetGrChunkLength (int chunk)\r
 {\r
        lseek(grhandle,GRFILEPOS(chunk),SEEK_SET);\r
        read(grhandle,&chunkexplen,sizeof(chunkexplen));\r
        chunkcomplen = GRFILEPOS(chunk+1)-GRFILEPOS(chunk)-4;\r
-}\r
+}*/\r
 \r
 \r
 /*\r
@@ -217,35 +222,65 @@ void CAL_GetGrChunkLength (int chunk)
 ==========================\r
 */\r
 \r
-boolean CA_FarRead (int handle, byte far *dest, long length)\r
-{
-       union REGS CPURegs;\r
-       if (length>0xffffl)\r
-               printf("CA_FarRead doesn't support 64K reads yet!\n");\r
-
-       __asm
+boolean CA_FarRead(int handle, byte huge *dest, dword length, mminfo_t *mm)\r
+{\r
+       boolean flag;\r
+       //dword fat=0;\r
+       //word segm=0;\r
+       if(mm->EMSVer<0x40)\r
+       if(length>0xfffflu)\r
        {\r
-               push    ds\r
-               mov     bx,[handle]\r
-               mov     cx,[WORD PTR length]\r
-               mov     dx,[WORD PTR dest]\r
-               mov     ds,[WORD PTR dest+2]\r
-               mov     ah,0x3f                         // READ w/handle\r
-               int     21h\r
-               pop     ds\r
-               jnc     good
+               printf("File is a fat bakapee\n");\r
+               //segm=(length%0xfffflu)-1;\r
+               //fat=segm*0xfffflu;\r
+               //length-=fat;\r
+               printf("CA_FarRead doesn't support 64K reads yet!\n");\r
+               return 0;//TODO: EXPAND!!!\r
        }\r
-       errno = CPURegs.x.ax;\r
-       return  false;
-       __asm
-       {\r
+\r
+       //if(!fat&&!segm)\r
+       //{\r
+               __asm {\r
+                       push    ds\r
+                       mov     bx,[handle]\r
+                       mov     cx,[WORD PTR length]\r
+                       mov     dx,[WORD PTR dest]\r
+                       mov     ds,[WORD PTR dest+2]\r
+                       mov     ah,0x3f                         // READ w/handle\r
+                       int     21h\r
+                       pop     ds\r
+                       jnc     good\r
+                       mov     errno,ax\r
+                       mov     flag,0\r
+                       jmp End\r
+#ifdef __BORLANDC__\r
+               }\r
+#endif\r
 good:\r
-               cmp     ax,[WORD PTR length]\r
-               je      done\r
-               errno = EINVFMT;                        // user manager knows this is bad read\r
-       return  false;\r
+#ifdef __BORLANDC__\r
+               __asm {\r
+#endif\r
+                       cmp     ax,[WORD PTR length]\r
+                       je      done\r
+//                     errno = EINVFMT;                        // user manager knows this is bad read\r
+                       mov     flag,0\r
+                       jmp End\r
+#ifdef __BORLANDC__\r
+               }\r
+#endif\r
 done:\r
-       return  true;\r
+#ifdef __BORLANDC__\r
+               __asm {\r
+#endif\r
+                       mov     flag,1\r
+#ifdef __BORLANDC__\r
+               }\r
+#endif\r
+End:\r
+#ifdef __WATCOMC__\r
+               }\r
+#endif\r
+       return flag;\r
 }\r
 \r
 \r
@@ -259,30 +294,65 @@ done:
 ==========================\r
 */\r
 \r
-boolean CA_FarWrite (int handle, byte far *source, long length)\r
+boolean CA_FarWrite(int handle, byte huge *source, dword length, mminfo_t *mm)\r
 {\r
-       if (length>0xffffl)\r
-               Quit ("CA_FarWrite doesn't support 64K reads yet!");\r
-\r
-asm            push    ds\r
-asm            mov     bx,[handle]\r
-asm            mov     cx,[WORD PTR length]\r
-asm            mov     dx,[WORD PTR source]\r
-asm            mov     ds,[WORD PTR source+2]\r
-asm            mov     ah,0x40                 // WRITE w/handle\r
-asm            int     21h\r
-asm            pop     ds\r
-asm            jnc     good\r
-       errno = _AX;\r
-       return  false;\r
-good:\r
-asm            cmp     ax,[WORD PTR length]\r
-asm            je      done\r
-       errno = ENOMEM;                         // user manager knows this is bad write\r
-       return  false;\r
+       boolean flag;\r
+       //dword fat=0;\r
+       //word segm=0;\r
+       if(mm->EMSVer<0x40)\r
+       if(length>0xfffflu)\r
+       {\r
+               printf("File is a fat bakapee\n");\r
+               //segm=(length%0xfffflu)-1;\r
+               //fat=segm*0xfffflu;\r
+               //length-=fat;\r
+               printf("CA_FarRead doesn't support 64K reads yet!\n");\r
+               return 0;\r
+       }\r
 \r
+       //if(!fat&&!segm)\r
+       //{\r
+               __asm {\r
+                       push    ds\r
+                       mov     bx,[handle]\r
+                       mov     cx,[WORD PTR length]\r
+                       mov     dx,[WORD PTR source]\r
+                       mov     ds,[WORD PTR source+2]\r
+                       mov     ah,0x40                 // WRITE w/handle\r
+                       int     21h\r
+                       pop     ds\r
+                       jnc     good\r
+                       mov     errno,ax\r
+                       mov flag,0\r
+                       jmp End\r
+#ifdef __BORLANDC__\r
+               }\r
+#endif\r
+good:\r
+#ifdef __BORLANDC__\r
+               __asm {\r
+#endif\r
+                       cmp     ax,[WORD PTR length]\r
+                       je      done\r
+                       //errno = ENOMEM;                               // user manager knows this is bad write\r
+                       mov     flag,0\r
+                       jmp End\r
+#ifdef __BORLANDC__\r
+               }\r
+#endif\r
 done:\r
-       return  true;\r
+#ifdef __BORLANDC__\r
+               __asm {\r
+#endif\r
+                       mov     flag,1\r
+#ifdef __BORLANDC__\r
+               }\r
+#endif\r
+End:\r
+#ifdef __WATCOMC__\r
+               }\r
+#endif\r
+       return flag;\r
 }\r
 \r
 \r
@@ -296,16 +366,17 @@ done:
 ==========================\r
 */\r
 \r
-boolean CA_ReadFile (char *filename, memptr *ptr)\r
+boolean CA_ReadFile(char *filename, memptr *ptr, mminfo_t *mm)\r
 {\r
        int handle;\r
-       long size;\r
+       sdword size;\r
+       //long size;\r
 \r
-       if ((handle = open(filename,O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
+       if((handle = open(filename,O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
                return false;\r
 \r
-       size = filelength (handle);\r
-       if (!CA_FarRead (handle,*ptr,size))\r
+       size = filelength(handle);\r
+       if(!CA_FarRead(handle,*ptr,size, mm))\r
        {\r
                close (handle);\r
                return false;\r
@@ -315,6 +386,38 @@ boolean CA_ReadFile (char *filename, memptr *ptr)
 }\r
 \r
 \r
+/*\r
+==========================\r
+=\r
+= CA_WriteFile\r
+=\r
+= Writes a file from a memory buffer\r
+=\r
+==========================\r
+*/\r
+\r
+boolean CA_WriteFile (char *filename, void far *ptr, long length, mminfo_t *mm)\r
+{\r
+       int handle;\r
+       sdword size;\r
+       //long size;\r
+\r
+       handle = open(filename,O_CREAT | O_BINARY | O_WRONLY,\r
+                               S_IREAD | S_IWRITE | S_IFREG);\r
+\r
+       if (handle == -1)\r
+               return false;\r
+\r
+       if (!CA_FarWrite (handle,ptr,length, mm))\r
+       {\r
+               close(handle);\r
+               return false;\r
+       }\r
+       close(handle);\r
+       return true;\r
+}\r
+\r
+\r
 \r
 /*\r
 ==========================\r
@@ -326,22 +429,23 @@ boolean CA_ReadFile (char *filename, memptr *ptr)
 ==========================\r
 */\r
 \r
-boolean CA_LoadFile (char *filename, memptr *ptr)\r
+boolean CA_LoadFile(char *filename, memptr *ptr, mminfo_t *mm, mminfotype *mmi)\r
 {\r
        int handle;\r
-       long size;\r
+       sdword size;\r
+       //long size;\r
 \r
-       if ((handle = open(filename,O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
+       if((handle = open(filename,O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
                return false;\r
 \r
        size = filelength (handle);\r
-       MM_GetPtr (ptr,size);\r
-       if (!CA_FarRead (handle,*ptr,size))\r
+       MM_GetPtr(ptr,size, mm, mmi);\r
+       if(!CA_FarRead(handle,*ptr,size, mm))\r
        {\r
-               close (handle);\r
+               close(handle);\r
                return false;\r
        }\r
-       close (handle);\r
+       close(handle);\r
        return true;\r
 }\r
 \r
@@ -395,7 +499,7 @@ void CAL_OptimizeNodes(huffnode *table)
 ======================\r
 */\r
 \r
-void CAL_HuffExpand (byte huge *source, byte huge *dest,\r
+/*++++void CAL_HuffExpand (byte huge *source, byte huge *dest,\r
   long length,huffnode *hufftable)\r
 {\r
 //  unsigned bit,byte,node,code;\r
@@ -429,25 +533,27 @@ void CAL_HuffExpand (byte huge *source, byte huge *dest,
 // expand less than 64k of data\r
 //--------------------------\r
 \r
-asm mov        bx,[headptr]\r
+       __asm\r
+       {\r
+               mov     bx,[headptr]\r
 \r
-asm    mov     si,[sourceoff]\r
-asm    mov     di,[destoff]\r
-asm    mov     es,[destseg]\r
-asm    mov     ds,[sourceseg]\r
-asm    mov     ax,[endoff]\r
+               mov     si,[sourceoff]\r
+               mov     di,[destoff]\r
+               mov     es,[destseg]\r
+               mov     ds,[sourceseg]\r
+               mov     ax,[endoff]\r
 \r
-asm    mov     ch,[si]                         // load first byte\r
-asm    inc     si\r
-asm    mov     cl,1\r
+               mov     ch,[si]                         // load first byte\r
+               inc     si\r
+               mov     cl,1\r
 \r
 expandshort:\r
-asm    test    ch,cl                   // bit set?\r
-asm    jnz     bit1short\r
-asm    mov     dx,[ss:bx]                      // take bit0 path from node\r
-asm    shl     cl,1                            // advance to next bit position\r
-asm    jc      newbyteshort\r
-asm    jnc     sourceupshort\r
+               test    ch,cl                   // bit set?\r
+               jnz     bit1short\r
+               mov     dx,[ss:bx]                      // take bit0 path from node\r
+               shl     cl,1                            // advance to next bit position\r
+               jc      newbyteshort\r
+               jnc     sourceupshort\r
 \r
 bit1short:\r
 asm    mov     dx,[ss:bx+2]            // take bit1 path\r
@@ -472,6 +578,7 @@ asm mov     bx,[headptr]            // back to the head node for next bit
 \r
 asm    cmp     di,ax                           // done?\r
 asm    jne     expandshort\r
+       }\r
        }\r
        else\r
        {\r
@@ -482,6 +589,8 @@ asm jne     expandshort
 \r
   length--;\r
 \r
+       __asm\r
+       {\r
 asm mov        bx,[headptr]\r
 asm    mov     cl,1\r
 \r
@@ -536,13 +645,16 @@ asm       sub     [WORD PTR ss:length],1
 asm    jnc     expand\r
 asm    dec     [WORD PTR ss:length+2]\r
 asm    jns     expand          // when length = ffff ffff, done\r
-\r
+       }\r
        }\r
 \r
-asm    mov     ax,ss\r
-asm    mov     ds,ax\r
+       __asm\r
+       {\r
+               mov     ax,ss\r
+               mov     ds,ax\r
+       }\r
 \r
-}\r
+}*/\r
 \r
 \r
 /*\r
@@ -554,7 +666,7 @@ asm mov     ds,ax
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 #define NEARTAG        0xa7\r
 #define FARTAG 0xa8\r
 \r
@@ -615,7 +727,7 @@ void CAL_CarmackExpand (unsigned far *source, unsigned far *dest, unsigned lengt
                }\r
        }\r
 }\r
-\r
+*/\r
 \r
 \r
 /*\r
@@ -625,7 +737,7 @@ void CAL_CarmackExpand (unsigned far *source, unsigned far *dest, unsigned lengt
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,\r
   unsigned rlewtag)\r
 {\r
@@ -672,7 +784,7 @@ long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,
   complength = 2*(dest-start);\r
   return complength;\r
 }\r
-\r
+*/\r
 \r
 /*\r
 ======================\r
@@ -682,7 +794,7 @@ long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 void CA_RLEWexpand (unsigned huge *source, unsigned huge *dest,long length,\r
   unsigned rlewtag)\r
 {\r
@@ -790,7 +902,7 @@ asm mov     ax,ss
 asm    mov     ds,ax\r
 \r
 }\r
-\r
+*/\r
 \r
 \r
 /*\r
@@ -808,8 +920,8 @@ asm mov     ds,ax
 =\r
 ======================\r
 */\r
-\r
-void CAL_SetupGrFile (void)\r
+////++++ enable!\r
+/*void CAL_SetupGrFile (void)\r
 {\r
        int handle;\r
        memptr compseg;\r
@@ -894,7 +1006,7 @@ void CAL_SetupGrFile (void)
        MM_FreePtr(&compseg);\r
 #endif\r
 \r
-}\r
+}*/\r
 \r
 //==========================================================================\r
 \r
@@ -907,7 +1019,7 @@ void CAL_SetupGrFile (void)
 ======================\r
 */\r
 \r
-void CAL_SetupMapFile (void)\r
+/*void CAL_SetupMapFile (void)\r
 {\r
        int handle;\r
        long length;\r
@@ -941,7 +1053,7 @@ void CAL_SetupMapFile (void)
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
                Quit ("Can't open MAPTEMP."EXT"!");\r
 #endif\r
-}\r
+}*/\r
 \r
 //==========================================================================\r
 \r
@@ -954,7 +1066,7 @@ void CAL_SetupMapFile (void)
 ======================\r
 */\r
 \r
-void CAL_SetupAudioFile (void)\r
+/*void CAL_SetupAudioFile (void)\r
 {\r
        int handle;\r
        long length;\r
@@ -988,7 +1100,7 @@ void CAL_SetupAudioFile (void)
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
                Quit ("Can't open AUDIO."EXT"!");\r
 #endif\r
-}\r
+}*/\r
 \r
 //==========================================================================\r
 \r
@@ -1003,22 +1115,30 @@ void CAL_SetupAudioFile (void)
 ======================\r
 */\r
 \r
-void CA_Startup (void)\r
+void CA_Startup(global_game_variables_t *gvar)\r
 {\r
 #ifdef PROFILE\r
-       unlink ("PROFILE.TXT");\r
-       profilehandle = open("PROFILE.TXT", O_CREAT | O_WRONLY | O_TEXT);\r
+#ifdef __BORLANDC__\r
+       unlink("profile.16b");\r
+       gvar->handle.profilehandle = open("profile.16b", O_CREAT | O_WRONLY | O_TEXT);\r
 #endif\r
-\r
+#ifdef __WATCOMC__\r
+       unlink("profile.16w");\r
+       gvar->handle.profilehandle = open("profile.16w", O_CREAT | O_WRONLY | O_TEXT);\r
+#endif\r
+#endif\r
+//     unlink("debug0.16");\r
+//     gvar->handle.showmemhandle = open("debug0.16", O_CREAT | O_WRONLY | O_TEXT);\r
+/*++++\r
 // MDM begin - (GAMERS EDGE)\r
 //\r
-       if (!FindFile("AUDIO."EXT,NULL,2))\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
+       CAL_SetupAudioFile();\r
 #endif\r
 \r
 // MDM begin - (GAMERS EDGE)\r
@@ -1049,7 +1169,7 @@ void CA_Startup (void)
 \r
        drawcachebox    = CAL_DialogDraw;\r
        updatecachebox  = CAL_DialogUpdate;\r
-       finishcachebox  = CAL_DialogFinish;\r
+       finishcachebox  = CAL_DialogFinish;*/\r
 }\r
 \r
 //==========================================================================\r
@@ -1065,15 +1185,16 @@ void CA_Startup (void)
 ======================\r
 */\r
 \r
-void CA_Shutdown (void)\r
+void CA_Shutdown(global_game_variables_t *gvar)\r
 {\r
 #ifdef PROFILE\r
-       close (profilehandle);\r
+       close(gvar->handle.profilehandle);\r
 #endif\r
-\r
-       close (maphandle);\r
-       close (grhandle);\r
-       close (audiohandle);\r
+//     close(gvar->handle.showmemhandle);\r
+/*++++\r
+       close(maphandle);\r
+       close(grhandle);\r
+       close(audiohandle);*/\r
 }\r
 \r
 //===========================================================================\r
@@ -1085,7 +1206,7 @@ void CA_Shutdown (void)
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 void CA_CacheAudioChunk (int chunk)\r
 {\r
        long    pos,compressed;\r
@@ -1153,7 +1274,7 @@ done:
        if (compressed>BUFFERSIZE)\r
                MM_FreePtr(&bigbufferseg);\r
 #endif\r
-}\r
+}*/\r
 \r
 //===========================================================================\r
 \r
@@ -1166,7 +1287,7 @@ done:
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 void CA_LoadAllSounds (void)\r
 {\r
        unsigned        start,i;\r
@@ -1205,11 +1326,11 @@ cachein:
                CA_CacheAudioChunk (start);\r
 \r
        oldsoundmode = SoundMode;\r
-}\r
+}*/\r
 \r
 //===========================================================================\r
 \r
-#if GRMODE == EGAGR\r
+//++++#if GRMODE == EGAGR\r
 \r
 /*\r
 ======================\r
@@ -1220,7 +1341,7 @@ cachein:
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 unsigned       static  sheight,swidth;\r
 boolean static dothemask;\r
 \r
@@ -1317,7 +1438,7 @@ asm       mov     ds,ax
 }\r
 \r
 #endif\r
-\r
+*/\r
 //===========================================================================\r
 \r
 /*\r
@@ -1329,7 +1450,7 @@ asm       mov     ds,ax
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 void CAL_CacheSprite (int chunk, byte far *compressed)\r
 {\r
        int i;\r
@@ -1447,7 +1568,7 @@ void CAL_CacheSprite (int chunk, byte far *compressed)
        }\r
 \r
 #endif\r
-}\r
+}*/\r
 \r
 //===========================================================================\r
 \r
@@ -1461,7 +1582,7 @@ void CAL_CacheSprite (int chunk, byte far *compressed)
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 void CAL_ExpandGrChunk (int chunk, byte far *source)\r
 {\r
        long    expanded;\r
@@ -1519,7 +1640,7 @@ void CAL_ExpandGrChunk (int chunk, byte far *source)
                CAL_HuffExpand (source,grsegs[chunk],expanded,grhuffman);\r
        }\r
 }\r
-\r
+*/\r
 \r
 /*\r
 ======================\r
@@ -1530,7 +1651,7 @@ void CAL_ExpandGrChunk (int chunk, byte far *source)
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 void CAL_ReadGrChunk (int chunk)\r
 {\r
        long    pos,compressed;\r
@@ -1574,7 +1695,7 @@ void CAL_ReadGrChunk (int chunk)
        if (compressed>BUFFERSIZE)\r
                MM_FreePtr(&bigbufferseg);\r
 }\r
-\r
+*/\r
 /*\r
 ======================\r
 =\r
@@ -1584,7 +1705,7 @@ void CAL_ReadGrChunk (int chunk)
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 void CA_CacheGrChunk (int chunk)\r
 {\r
        long    pos,compressed;\r
@@ -1640,7 +1761,7 @@ void CA_CacheGrChunk (int chunk)
        if (compressed>BUFFERSIZE)\r
                MM_FreePtr(&bigbufferseg);\r
 }\r
-\r
+*/\r
 \r
 \r
 //==========================================================================\r
@@ -1652,7 +1773,7 @@ void CA_CacheGrChunk (int chunk)
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 void CA_CacheMap (int mapnum)\r
 {\r
        long    pos,compressed;\r
@@ -1759,7 +1880,7 @@ void CA_CacheMap (int mapnum)
                if (compressed>BUFFERSIZE)\r
                        MM_FreePtr(&bigbufferseg);\r
        }\r
-}\r
+}*/\r
 \r
 //===========================================================================\r
 \r
@@ -1773,7 +1894,7 @@ void CA_CacheMap (int mapnum)
 =\r
 ======================\r
 */\r
-\r
+/*++++\r
 void CA_UpLevel (void)\r
 {\r
        if (ca_levelnum==7)\r
@@ -1781,7 +1902,7 @@ void CA_UpLevel (void)
 \r
        ca_levelbit<<=1;\r
        ca_levelnum++;\r
-}\r
+}*/\r
 \r
 //===========================================================================\r
 \r
@@ -1795,7 +1916,7 @@ void CA_UpLevel (void)
 =\r
 ======================\r
 */\r
-\r
+/*++\r
 void CA_DownLevel (void)\r
 {\r
        if (!ca_levelnum)\r
@@ -1803,7 +1924,7 @@ void CA_DownLevel (void)
        ca_levelbit>>=1;\r
        ca_levelnum--;\r
        CA_CacheMarks(NULL);\r
-}\r
+}*/\r
 \r
 //===========================================================================\r
 \r
@@ -1816,7 +1937,7 @@ void CA_DownLevel (void)
 =\r
 ======================\r
 */\r
-\r
+/*\r
 void CA_ClearMarks (void)\r
 {\r
        int i;\r
@@ -1824,7 +1945,7 @@ void CA_ClearMarks (void)
        for (i=0;i<NUMCHUNKS;i++)\r
                grneeded[i]&=~ca_levelbit;\r
 }\r
-\r
+*/\r
 \r
 //===========================================================================\r
 \r
@@ -1837,14 +1958,14 @@ void CA_ClearMarks (void)
 =\r
 ======================\r
 */\r
-\r
+/*\r
 void CA_ClearAllMarks (void)\r
 {\r
        _fmemset (grneeded,0,sizeof(grneeded));\r
        ca_levelbit = 1;\r
        ca_levelnum = 0;\r
 }\r
-\r
+*/\r
 \r
 //===========================================================================\r
 \r
@@ -1855,16 +1976,21 @@ void CA_ClearAllMarks (void)
 =\r
 ======================\r
 */\r
-\r
-void CA_FreeGraphics (void)\r
+/*++++\r
+void CA_SetGrPurge (void)\r
 {\r
-       int     i;\r
+       int i;\r
+\r
+//\r
+// free graphics\r
+//\r
+       CA_ClearMarks ();\r
 \r
        for (i=0;i<NUMCHUNKS;i++)\r
                if (grsegs[i])\r
                        MM_SetPurge (&(memptr)grsegs[i],3);\r
 }\r
-\r
+*/\r
 \r
 /*\r
 ======================\r
@@ -1875,7 +2001,7 @@ void CA_FreeGraphics (void)
 =\r
 ======================\r
 */\r
-\r
+/*++++++++\r
 void CA_SetAllPurge (void)\r
 {\r
        int i;\r
@@ -1922,7 +2048,7 @@ void CA_SetGrPurge (void)
        for (i=0;i<NUMCHUNKS;i++)\r
                if (grsegs[i])\r
                        MM_SetPurge (&(memptr)grsegs[i],3);\r
-}\r
+}*/\r
 \r
 \r
 //===========================================================================\r
@@ -1935,7 +2061,7 @@ void CA_SetGrPurge (void)
 =\r
 ======================\r
 */\r
-\r
+/*\r
 #define NUMBARS        (17l*8)\r
 #define BARSTEP        8\r
 \r
@@ -1985,7 +2111,7 @@ void      CAL_DialogDraw (char *title,unsigned numcache)
 \r
        VW_UpdateScreen();\r
 }\r
-\r
+*/\r
 \r
 /*\r
 ======================\r
@@ -1994,7 +2120,7 @@ void      CAL_DialogDraw (char *title,unsigned numcache)
 =\r
 ======================\r
 */\r
-\r
+/*\r
 void   CAL_DialogUpdate (void)\r
 {\r
        unsigned        x,xh;\r
@@ -2013,7 +2139,7 @@ void      CAL_DialogUpdate (void)
                lastx = xh;\r
                VW_UpdateScreen();\r
        }\r
-}\r
+}*/\r
 \r
 /*\r
 ======================\r
@@ -2022,7 +2148,7 @@ void      CAL_DialogUpdate (void)
 =\r
 ======================\r
 */\r
-\r
+/*\r
 void   CAL_DialogFinish (void)\r
 {\r
        unsigned        x,xh;\r
@@ -2037,7 +2163,7 @@ void      CAL_DialogFinish (void)
 #endif\r
        VW_UpdateScreen();\r
 \r
-}\r
+}*/\r
 \r
 //===========================================================================\r
 \r
@@ -2047,7 +2173,7 @@ void      CAL_DialogFinish (void)
 = CA_CacheMarks\r
 =\r
 ======================\r
-*/\r
+*//*\r
 #define MAXEMPTYREAD   1024\r
 \r
 void CA_CacheMarks (char *title)\r
@@ -2188,4 +2314,4 @@ void CA_CacheMarks (char *title)
 //\r
                if (dialog && finishcachebox)\r
                        finishcachebox();\r
-}\r
+}*/\r