==========================\r
*/\r
\r
-boolean CA_FarRead(int handle, byte huge *dest, dword length, mminfo_t *mm)\r
+boolean CA_FarRead(int handle, byte huge *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(mm->EMSVer<0x40)\r
+ if(gvar->pm.emm.EMSVer<0x40)\r
if(length>0xfffflu)\r
{\r
printf("File is a fat bakapee\n");\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
+ __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
==========================\r
*/\r
\r
-boolean CA_FarWrite(int handle, byte huge *source, dword length, mminfo_t *mm)\r
+boolean CA_FarWrite(int handle, byte huge *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(mm->EMSVer<0x40)\r
+ if(gvar->pm.emm.EMSVer<0x40)\r
if(length>0xfffflu)\r
{\r
printf("File is a fat bakapee\n");\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
+ __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
==========================\r
*/\r
\r
-boolean CA_ReadFile(char *filename, memptr *ptr, mminfo_t *mm)\r
+boolean CA_ReadFile(char *filename, memptr *ptr, global_game_variables_t *gvar)\r
{\r
int handle;\r
sdword size;\r
return false;\r
\r
size = filelength(handle);\r
- if(!CA_FarRead(handle,*ptr,size, mm))\r
+ if(!CA_FarRead(handle,*ptr,size, gvar))\r
{\r
close (handle);\r
return false;\r
==========================\r
*/\r
\r
-boolean CA_WriteFile (char *filename, void far *ptr, long length, mminfo_t *mm)\r
+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
if (handle == -1)\r
return false;\r
\r
- if (!CA_FarWrite (handle,ptr,length, mm))\r
+ if (!CA_FarWrite (handle,ptr,length, gvar))\r
{\r
close(handle);\r
return false;\r
==========================\r
*/\r
\r
-boolean CA_LoadFile(char *filename, memptr *ptr, mminfo_t *mm, mminfotype *mmi)\r
+boolean CA_LoadFile(char *filename, memptr *ptr, global_game_variables_t *gvar)\r
{\r
int handle;\r
sdword size;\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, mm, mmi);\r
- if(!CA_FarRead(handle,*ptr,size, mm))\r
+ size = filelength(handle);\r
+ MM_GetPtr(ptr,size, gvar);\r
+ if(!CA_FarRead(handle,*ptr,size, gvar))\r
{\r
close(handle);\r
return false;\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
//--------------------------\r
\r
__asm {\r
-//// mov bx,[headptr]\r
+ mov bx,[word ptr headptr]\r
\r
mov si,[sourceoff]\r
mov di,[destoff]\r
#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
length--;\r
\r
__asm {\r
-//// mov bx,[headptr]\r
+ mov bx,[word ptr headptr]\r
mov cl,1\r
\r
mov si,[sourceoff]\r
#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
//\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
\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
// #ifndef MAPHEADERLINKED\r
// if ((handle = open("MAPHEAD."EXT,\r
// O_RDONLY | O_BINARY, S_IREAD)) == -1)\r
-// Quit ("Can't open MAPHEAD."EXT"!");\r
+// printf("Can't open MAPHEAD."EXT"!");\r
// length = filelength(handle);\r
// MM_GetPtr (&(memptr)tinf,length);\r
// CA_FarRead(handle, tinf, length);\r
=\r
======================\r
*/\r
-/*++++ fuckin segments!\r
+/*++++ segments!\r
void CA_CacheMap (global_game_variables_t *gvar)\r
{\r
long pos,compressed;\r
// free up memory from last map\r
//\r
if (gvar->ca.map.mapon>-1 && gvar->ca.map.mapheaderseg[gvar->ca.map.mapon])\r
- MM_SetPurge (&((memptr)gvar->ca.map.mapheaderseg\r
- [(gvar->ca.map.mapon)]),\r
-\r
- 3, &(gvar->mm));\r
+ MM_SetPurge (&((memptr)gvar->ca.map.mapheaderseg[(gvar->ca.map.mapon)]), 3, &(gvar->mm));\r
for (plane=0;plane<MAPPLANES;plane++)\r
if (gvar->ca.map.mapsegs[plane])\r
MM_FreePtr (&(memptr)gvar->ca.map.mapsegs[plane], &(gvar->mm));\r