shithub: duke3d

Download patch

ref: caf9454f256543aab7fc151a1380ead3f7be0f57
parent: 5becfc25034414f61b3c625f728c61f694b8d4e4
author: Rohit Nirmal <rohitnirmal9@gmail.com>
date: Tue Mar 31 11:24:53 EDT 2015

64-bit: Save games read and write without crashing.

--- a/Engine/src/filesystem.c
+++ b/Engine/src/filesystem.c
@@ -473,8 +473,8 @@
 	short *shortptr;
     
 	for(i=255;i>=0;i--) { lzwbuf1[i] = (uint8_t ) i; lzwbuf3[i] = (short) ((i+1)&255); }
-	clearbuf((void *) FP_OFF(lzwbuf2),256>>1,0xffffffff);
-	clearbuf((void *) FP_OFF(lzwoutbuf),((uncompleng+15)+3)>>2,0L);
+	clearbuf((void *) (lzwbuf2),256>>1,0xffffffff);
+	clearbuf((void *) (lzwoutbuf),((uncompleng+15)+3)>>2,0L);
     
 	addrcnt = 256; bytecnt1 = 0; bitcnt = (4<<3);
 	numbits = 8; oneupnumbits = (1<<8);
@@ -538,7 +538,7 @@
 	strtot = (int32_t )shortptr[1];
 	if (strtot == 0)
 	{
-		copybuf((void *)(FP_OFF(lzwinbuf)+4),(void *)(FP_OFF(lzwoutbuf)),((compleng-4)+3)>>2);
+		copybuf((void *)((lzwinbuf)+4),(void *)((lzwoutbuf)),((compleng-4)+3)>>2);
 		return((int32_t )shortptr[0]); /* uncompleng */
 	}
 	for(i=255;i>=0;i--) { lzwbuf2[i] = (short) i; lzwbuf3[i] = (short) i; }