]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_ca.c
wwww
[16.git] / src / lib / 16_ca.c
index 27e2d7ee366c94c49a3e3187fbded08af6625ae6..8b9aab83be9c2ccb1d922938dfe50657ce47b2a9 100755 (executable)
@@ -221,12 +221,12 @@ void CAL_GetGrChunkLength (int chunk)
 ==========================\r
 */\r
 \r
-boolean CA_FarRead(int handle, byte huge *dest, dword length, global_game_variables_t *gvar)\r
+boolean CA_FarRead(int handle, byte far *dest, dword length, global_game_variables_t *gvar)\r
 {\r
-       boolean flag;\r
+       boolean flag=0;\r
        //dword fat=0;\r
        //word segm=0;\r
-       if(gvar->mm.EMSVer<0x40)\r
+       if(gvar->pm.emm.EMSVer<0x40)\r
        if(length>0xfffflu)\r
        {\r
                printf("File is a fat bakapee\n");\r
@@ -239,45 +239,45 @@ boolean CA_FarRead(int handle, byte huge *dest, dword length, global_game_variab
 \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
+       __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
+       }\r
 #endif\r
 good:\r
 #ifdef __BORLANDC__\r
-               __asm {\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
+               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
+       }\r
 #endif\r
 done:\r
 #ifdef __BORLANDC__\r
-               __asm {\r
+       __asm {\r
 #endif\r
-                       mov     flag,1\r
+               mov     flag,1\r
 #ifdef __BORLANDC__\r
-               }\r
+       }\r
 #endif\r
 End:\r
 #ifdef __WATCOMC__\r
-               }\r
+       }\r
 #endif\r
        return flag;\r
 }\r
@@ -293,12 +293,12 @@ End:
 ==========================\r
 */\r
 \r
-boolean CA_FarWrite(int handle, byte huge *source, dword length, global_game_variables_t *gvar)\r
+boolean CA_FarWrite(int handle, byte far *source, dword length, global_game_variables_t *gvar)\r
 {\r
-       boolean flag;\r
+       boolean flag=0;\r
        //dword fat=0;\r
        //word segm=0;\r
-       if(gvar->mm.EMSVer<0x40)\r
+       if(gvar->pm.emm.EMSVer<0x40)\r
        if(length>0xfffflu)\r
        {\r
                printf("File is a fat bakapee\n");\r
@@ -311,45 +311,45 @@ boolean CA_FarWrite(int handle, byte huge *source, dword length, global_game_var
 \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
+       __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
+       }\r
 #endif\r
 good:\r
 #ifdef __BORLANDC__\r
-               __asm {\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
+               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
+       }\r
 #endif\r
 done:\r
 #ifdef __BORLANDC__\r
-               __asm {\r
+       __asm {\r
 #endif\r
-                       mov     flag,1\r
+               mov     flag,1\r
 #ifdef __BORLANDC__\r
-               }\r
+       }\r
 #endif\r
 End:\r
 #ifdef __WATCOMC__\r
-               }\r
+       }\r
 #endif\r
        return flag;\r
 }\r
@@ -398,7 +398,7 @@ boolean CA_ReadFile(char *filename, memptr *ptr, global_game_variables_t *gvar)
 boolean CA_WriteFile (char *filename, void far *ptr, long length, global_game_variables_t *gvar)\r
 {\r
        int handle;\r
-       sdword size;\r
+       //sdword size;\r
        //long size;\r
 \r
        handle = open(filename,O_CREAT | O_BINARY | O_WRONLY,\r
@@ -438,7 +438,7 @@ boolean CA_LoadFile(char *filename, memptr *ptr, global_game_variables_t *gvar)
                return false;\r
 \r
        size = filelength(handle);\r
-       MM_GetPtr(ptr,size, &(gvar->mm), &(gvar->mmi)); //TODO: gvar parameters\r
+       MM_GetPtr(ptr,size, gvar);\r
        if(!CA_FarRead(handle,*ptr,size, gvar))\r
        {\r
                close(handle);\r
@@ -498,15 +498,15 @@ void CAL_OptimizeNodes(huffnode *table)
 ======================\r
 */\r
 \r
-void CAL_HuffExpand (byte huge *source, byte huge *dest,\r
+void CAL_HuffExpand (byte far *source, byte far *dest,\r
   long length,huffnode *hufftable)\r
 {\r
 //  unsigned bit,byte,node,code;\r
   unsigned sourceseg,sourceoff,destseg,destoff,endoff;\r
-  huffnode *headptr;\r
+       huffnode *headptr;\r
 //  huffnode *nodeon;\r
 \r
-  headptr = hufftable+254;     // head node is allways node 254\r
+       headptr = hufftable+254;        // head node is allways node 254\r
 \r
   source++;    // normalize\r
   source--;\r
@@ -533,7 +533,7 @@ void CAL_HuffExpand (byte huge *source, byte huge *dest,
 //--------------------------\r
 \r
        __asm {\r
-////           mov     bx,[headptr]\r
+               mov     bx,[word ptr headptr]\r
 \r
                mov     si,[sourceoff]\r
                mov     di,[destoff]\r
@@ -597,7 +597,7 @@ storebyteshort:
 #endif\r
                mov     [es:di],dl\r
                inc     di                                      // write a decopmpressed byte out\r
-////           mov     bx,[headptr]            // back to the head node for next bit\r
+               mov     bx,[word ptr headptr]           // back to the head node for next bit\r
 \r
                cmp     di,ax                           // done?\r
                jne     expandshort\r
@@ -613,7 +613,7 @@ storebyteshort:
   length--;\r
 \r
        __asm {\r
-////           mov     bx,[headptr]\r
+               mov     bx,[word ptr headptr]\r
                mov     cl,1\r
 \r
                mov     si,[sourceoff]\r
@@ -685,7 +685,7 @@ storebyte:
 #endif\r
                mov     [es:di],dl\r
                inc     di              // write a decopmpressed byte out\r
-////           mov     bx,[headptr]    // back to the head node for next bit\r
+               mov     bx,[word ptr headptr]   // back to the head node for next bit\r
 \r
                cmp     di,0x10         // normalize es:di\r
                jb      dinorm\r
@@ -795,12 +795,12 @@ void CAL_CarmackExpand (unsigned far *source, unsigned far *dest, unsigned lengt
 ======================\r
 */\r
 \r
-long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,\r
+long CA_RLEWCompress (unsigned far *source, long length, unsigned far *dest,\r
   unsigned rlewtag)\r
 {\r
   long complength;\r
   unsigned value,count,i;\r
-  unsigned huge *start,huge *end;\r
+  unsigned far *start,far *end;\r
 \r
   start = dest;\r
 \r
@@ -852,11 +852,11 @@ long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,
 ======================\r
 */\r
 \r
-void CA_RLEWexpand (unsigned huge *source, unsigned huge *dest,long length,\r
+void CA_RLEWexpand (unsigned far *source, unsigned far *dest,long length,\r
   unsigned rlewtag)\r
 {\r
 //  unsigned value,count,i;\r
-  unsigned huge *end;\r
+  unsigned far *end;\r
   unsigned sourceseg,sourceoff,destseg,destoff,endseg,endoff;\r
 \r
 \r
@@ -902,7 +902,7 @@ void CA_RLEWexpand (unsigned huge *source, unsigned huge *dest,long length,
 //\r
 // NOTE: A repeat count that produces 0xfff0 bytes can blow this!\r
 //\r
-       __asm{\r
+       __asm {\r
                mov     bx,rlewtag\r
                mov     si,sourceoff\r
                mov     di,destoff\r
@@ -1028,7 +1028,7 @@ dinorm:
 \r
        if ((handle = open(GREXT"DICT."EXT,\r
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
-               Quit ("Can't open "GREXT"DICT."EXT"!");\r
+               Quit (gvar, "Can't open "GREXT"DICT."EXT"!");\r
 \r
        read(handle, &grhuffman, sizeof(grhuffman));\r
        close(handle);\r
@@ -1040,7 +1040,7 @@ dinorm:
 \r
        if ((handle = open(GREXT"HEAD."EXT,\r
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
-               Quit ("Can't open "GREXT"HEAD."EXT"!");\r
+               Quit (gvar, "Can't open "GREXT"HEAD."EXT"!");\r
 \r
        CA_FarRead(handle, (memptr)grstarts, (NUMCHUNKS+1)*FILEPOSSIZE);\r
 \r
@@ -1054,7 +1054,7 @@ dinorm:
 //\r
        grhandle = open(GREXT"GRAPH."EXT, O_RDONLY | O_BINARY);\r
        if (grhandle == -1)\r
-               Quit ("Cannot open "GREXT"GRAPH."EXT"!");\r
+               Quit (gvar, "Cannot open "GREXT"GRAPH."EXT"!");\r
 \r
 \r
 //\r
@@ -1065,7 +1065,7 @@ dinorm:
        CAL_GetGrChunkLength(STRUCTPIC);                // position file pointer\r
        MM_GetPtr(&compseg,chunkcomplen);\r
        CA_FarRead (grhandle,compseg,chunkcomplen);\r
-       CAL_HuffExpand (compseg, (byte huge *)pictable,NUMPICS*sizeof(pictabletype),grhuffman);\r
+       CAL_HuffExpand (compseg, (byte far *)pictable,NUMPICS*sizeof(pictabletype),grhuffman);\r
        MM_FreePtr(&compseg);\r
 #endif\r
 \r
@@ -1074,7 +1074,7 @@ dinorm:
        CAL_GetGrChunkLength(STRUCTPICM);               // position file pointer\r
        MM_GetPtr(&compseg,chunkcomplen);\r
        CA_FarRead (grhandle,compseg,chunkcomplen);\r
-       CAL_HuffExpand (compseg, (byte huge *)picmtable,NUMPICS*sizeof(pictabletype),grhuffman);\r
+       CAL_HuffExpand (compseg, (byte far *)picmtable,NUMPICS*sizeof(pictabletype),grhuffman);\r
        MM_FreePtr(&compseg);\r
 #endif\r
 \r
@@ -1083,7 +1083,7 @@ dinorm:
        CAL_GetGrChunkLength(STRUCTSPRITE);     // position file pointer\r
        MM_GetPtr(&compseg,chunkcomplen);\r
        CA_FarRead (grhandle,compseg,chunkcomplen);\r
-       CAL_HuffExpand (compseg, (byte huge *)spritetable,NUMSPRITES*sizeof(spritetabletype),grhuffman);\r
+       CAL_HuffExpand (compseg, (byte far *)spritetable,NUMSPRITES*sizeof(spritetabletype),grhuffman);\r
        MM_FreePtr(&compseg);\r
 #endif\r
 \r
@@ -1102,8 +1102,8 @@ dinorm:
 \r
 void CAL_SetupMapFile (global_game_variables_t *gvar)\r
 {\r
-       int handle;\r
-       long length;\r
+//     int handle;\r
+//     long length;\r
 \r
 //\r
 // load maphead.ext (offsets and tileinfo for map file)\r
@@ -1134,11 +1134,11 @@ void CAL_SetupMapFile (global_game_variables_t *gvar)
 // #ifdef MAPHEADERLINKED\r
 //     if ((maphandle = open("GAMEMAPS."EXT,\r
 //              O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
-//             Quit ("Can't open GAMEMAPS."EXT"!");\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 ("Can't open MAPTEMP."EXT"!");\r
+//             Quit (gvar, "Can't open MAPTEMP."EXT"!");\r
 // #endif\r
 }\r
 \r
@@ -1164,7 +1164,7 @@ void CAL_SetupMapFile (global_game_variables_t *gvar)
 #ifndef AUDIOHEADERLINKED\r
        if ((handle = open("AUDIOHED."EXT,\r
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
-               Quit ("Can't open AUDIOHED."EXT"!");\r
+               Quit (gvar, "Can't open AUDIOHED."EXT"!");\r
        length = filelength(handle);\r
        MM_GetPtr (&(memptr)audiostarts,length);\r
        CA_FarRead(handle, (byte far *)audiostarts, length);\r
@@ -1181,11 +1181,11 @@ void CAL_SetupMapFile (global_game_variables_t *gvar)
 #ifndef AUDIOHEADERLINKED\r
        if ((audiohandle = open("AUDIOT."EXT,\r
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
-               Quit ("Can't open AUDIOT."EXT"!");\r
+               Quit (gvar, "Can't open AUDIOT."EXT"!");\r
 #else\r
        if ((audiohandle = open("AUDIO."EXT,\r
                 O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
-               Quit ("Can't open AUDIO."EXT"!");\r
+               Quit (gvar, "Can't open AUDIO."EXT"!");\r
 #endif\r
 }*/\r
 \r
@@ -1291,7 +1291,7 @@ void CA_CacheAudioChunk (int chunk)
 // MDM begin - (GAMERS EDGE)\r
 //\r
        if (!FindFile("AUDIO."EXT,NULL,2))\r
-               Quit("CA_CacheAudioChunk(): Can't find audio files.");\r
+               Quit (gvar, "CA_CacheAudioChunk(): Can't find audio files.");\r
 //\r
 // MDM end\r
 \r
@@ -1630,7 +1630,7 @@ void CAL_CacheSprite (int chunk, byte far *compressed)
                break;\r
 \r
        default:\r
-               Quit ("CAL_CacheSprite: Bad shifts number!");\r
+               Quit (gvar, "CAL_CacheSprite: Bad shifts number!");\r
        }\r
 \r
 #endif\r
@@ -1789,7 +1789,7 @@ void CA_CacheGrChunk (int chunk)
 // MDM begin - (GAMERS EDGE)\r
 //\r
        if (!FindFile("EGAGRAPH."EXT,NULL,2))\r
-               Quit("CA_CacheGrChunk(): Can't find graphics files.");\r
+               Quit (gvar, "CA_CacheGrChunk(): Can't find graphics files.");\r
 //\r
 // MDM end\r
 \r
@@ -2255,7 +2255,7 @@ void CA_CacheMarks (char *title)
 // MDM begin - (GAMERS EDGE)\r
 //\r
        if (!FindFile("EGAGRAPH."EXT,NULL,2))\r
-               Quit("CA_CacheMarks(): Can't find graphics files.");\r
+               Quit (gvar, "CA_CacheMarks(): Can't find graphics files.");\r
 //\r
 // MDM end\r
 \r