Added gzip support to windows and linux version

Renamed linux/winintrf.asm to linux/sdlintrf.asm
This commit is contained in:
teuf
2001-04-24 19:59:35 +00:00
parent 49816e69ee
commit e6896ec9f4
7 changed files with 164 additions and 111 deletions

View File

@@ -1307,7 +1307,7 @@ db '256X224 R WIN ',0 ;2
db '256x224 R FULL',0 ;3
db '512X448 R WIN ',0 ;4
db '512X448 DR WIN ',0 ;5
db '640x480 S WIN ',0 ;6
;db '640x480 S WIN ',0 ;6
db '640x480 DR FULL',0 ;7
db '640X480 DS FULL',0 ;8
db '640X480 S FULL',0 ;9
@@ -1323,22 +1323,22 @@ db '1024x768 DS FULL',0 ;17
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
; Left side starts with Video Mode 0
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
NEWSYM GUINGVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; New Graphics Mode Available
NEWSYM GUISLVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Scanlines
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
NEWSYM GUII2VID, db 0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1 ; Interpolation(w)
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Eagle
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Interp | Eagle)
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Full Screen
NEWSYM GUISSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Small Screen
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering
NEWSYM GUIHSVID, db 0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0 ; Half/Quarter Scanlines
NEWSYM GUI2xVID, db 0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1 ; 2xSaI/Super Eagle Engines
NEWSYM GUIM7VID, db 0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1 ; ?Mode 7 video thing?
NEWSYM GUIWFVID, db 0,0,0,1,0,0,0,1,1,1,0,0,1,1,0,0,1,1 ; If Windows Full Screen
NEWSYM GUIDSIZE, db 0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1
NEWSYM GUIRATIO, db 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
NEWSYM GUINGVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; New Graphics Mode Available
NEWSYM GUISLVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Scanlines
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
NEWSYM GUII2VID, db 0,0,0,0,0,1,1,1,0,0,1,0,1,0,1,0,1 ; Interpolation(w)
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Eagle
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Interp | Eagle)
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Full Screen
NEWSYM GUISSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Small Screen
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering
NEWSYM GUIHSVID, db 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0 ; Half/Quarter Scanlines
NEWSYM GUI2xVID, db 0,0,0,0,0,1,1,1,0,0,1,0,1,0,1,0,1 ; 2xSaI/Super Eagle Engines
NEWSYM GUIM7VID, db 0,0,0,0,0,1,1,1,0,0,1,0,1,0,1,0,1 ; ?Mode 7 video thing?
NEWSYM GUIWFVID, db 0,0,0,1,0,0,1,1,1,0,0,1,1,0,0,1,1 ; If Windows Full Screen
NEWSYM GUIDSIZE, db 0,0,0,0,0,1,1,1,0,0,1,0,1,0,1,0,1
NEWSYM GUIRATIO, db 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
SECTION .text

View File

@@ -653,58 +653,54 @@ void initwinvideo(void)
case 6:
WindowWidth=640;
WindowHeight=480;
SurfaceX=640;
SurfaceY=480;
break;
case 7:
WindowWidth=640;
WindowHeight=480;
SurfaceX=640;
SurfaceY=480;
SurfaceX=512;
SurfaceY=448;
break;
case 8:
WindowWidth=640;
WindowHeight=480;
SurfaceX=512;
SurfaceY=448;
break;
case 9:
WindowWidth=640;
WindowHeight=480;
WindowWidth=800;
WindowHeight=600;
break;
case 10:
WindowWidth=800;
WindowHeight=600;
SurfaceX=512;
SurfaceY=448;
break;
case 11:
WindowWidth=800;
WindowHeight=600;
SurfaceX=512;
SurfaceY=448;
break;
case 12:
WindowWidth=800;
WindowHeight=600;
break;
case 13:
WindowWidth=800;
WindowHeight=600;
SurfaceX=512;
SurfaceY=448;
break;
case 13:
WindowWidth=1024;
WindowHeight=768;
break;
case 14:
WindowWidth=1024;
WindowHeight=768;
SurfaceX=512;
SurfaceY=448;
break;
case 15:
WindowWidth=1024;
WindowHeight=768;
SurfaceX=512;
SurfaceY=448;
break;
case 16:
WindowWidth=1024;
WindowHeight=768;
break;
case 17:
WindowWidth=1024;
WindowHeight=768;
SurfaceX=512;
@@ -1770,3 +1766,4 @@ void GetLocalTime(void *pointer)
STUB_FUNCTION;
}
#endif

View File

@@ -18,9 +18,7 @@
#include <stdio.h>
#ifdef __GZIP__
#include <zlib.h>
#endif
#ifdef __LINUX__
#include <sys/types.h>
@@ -43,11 +41,7 @@
#endif
#include <errno.h>
#ifdef __GZIP__
gzFile *FILEHANDLE[16];
#else
FILE *FILEHANDLE[16];
#endif
DWORD CurrentHandle=0;
@@ -97,7 +91,11 @@ DWORD ZFTime;
BYTE * MKPath;
BYTE * CHPath;
BYTE * RMPath;
//Indicate whether the file must be opened using
//zlib or not (used for gzip support)
BYTE TextFile;
// GetDir
BYTE * DirName;
DWORD DriveNumber;
@@ -124,7 +122,7 @@ DWORD ZOpenFile()
if (TextFile)
FILEHANDLE[CurrentHandle]=fopen(ZOpenFileName,"rb");
else
FILEHANDLE[CurrentHandle]=gzopen(ZOpenFileName,"rb");
FILEHANDLE[CurrentHandle]=(FILE *)gzopen(ZOpenFileName,"rb");
if(FILEHANDLE[CurrentHandle]!=NULL)
{
CurrentHandle+=1;
@@ -137,7 +135,7 @@ DWORD ZOpenFile()
if (TextFile)
FILEHANDLE[CurrentHandle]=fopen(ZOpenFileName,"wb");
else
FILEHANDLE[CurrentHandle]=gzopen(ZOpenFileName,"wb");
FILEHANDLE[CurrentHandle]=(FILE *)gzopen(ZOpenFileName,"wb");
if(FILEHANDLE[CurrentHandle]!=NULL)
{
CurrentHandle+=1;