X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_ca.c;h=25463ac732dff8703683b1d0f659af0aac7345ac;hb=c48c2f1e1f84ca6eaa064e6e88884c7e9c8d303b;hp=b384845ae7314f22ecf2721d42ccd37941500916;hpb=210b95b508016e3cdeed5c1e0ce047beeec6c18e;p=16.git diff --git a/src/lib/16_ca.c b/src/lib/16_ca.c index b384845a..25463ac7 100755 --- a/src/lib/16_ca.c +++ b/src/lib/16_ca.c @@ -235,7 +235,7 @@ boolean CA_FarRead(int handle, byte huge *dest, dword length, mminfo_t *mm) //fat=segm*0xfffflu; //length-=fat; // printf("CA_FarRead doesn't support 64K reads yet!\n"); - //return 0; + return 0;//TODO: EXPAND!!! } //if(!fat&&!segm) @@ -281,7 +281,6 @@ End: } #endif return flag; - //}else return 0;//todo: EXPAND!!! } @@ -308,7 +307,7 @@ boolean CA_FarWrite(int handle, byte huge *source, dword length, mminfo_t *mm) //fat=segm*0xfffflu; //length-=fat; // printf("CA_FarRead doesn't support 64K reads yet!\n"); - //return 0; + return 0; } //if(!fat&&!segm) @@ -354,7 +353,6 @@ End: } #endif return flag; - //}else return 0; } @@ -379,6 +377,38 @@ boolean CA_ReadFile(char *filename, memptr *ptr, mminfo_t *mm) size = filelength(handle); if(!CA_FarRead(handle,*ptr,size, mm)) + { + close (handle); + return false; + } + close (handle); + return true; +} + + +/* +========================== += += CA_WriteFile += += Writes a file from a memory buffer += +========================== +*/ + +boolean CA_WriteFile (char *filename, void far *ptr, long length, mminfo_t *mm) +{ + int handle; + sdword size; + //long size; + + handle = open(filename,O_CREAT | O_BINARY | O_WRONLY, + S_IREAD | S_IWRITE | S_IFREG); + + if (handle == -1) + return false; + + if (!CA_FarWrite (handle,ptr,length, mm)) { close(handle); return false; @@ -890,7 +920,7 @@ asm mov ds,ax = ====================== */ - +////++++ enable! /*void CAL_SetupGrFile (void) { int handle; @@ -1947,9 +1977,14 @@ void CA_ClearAllMarks (void) ====================== */ /*++++ -void CA_FreeGraphics (void) +void CA_SetGrPurge (void) { - int i; + int i; + +// +// free graphics +// + CA_ClearMarks (); for (i=0;i