Browse Source

filesystem: zip: codestyle

pull/2/head
Mr0maks 5 years ago
parent
commit
5cf4e34607
  1. 1
      engine/common/common.h
  2. 18
      engine/common/filesystem.c
  3. 80
      engine/common/filesystem.h

1
engine/common/common.h

@ -540,7 +540,6 @@ void FS_AddGameDirectory( const char *dir, uint flags );
void FS_AddGameHierarchy( const char *dir, uint flags ); void FS_AddGameHierarchy( const char *dir, uint flags );
void FS_LoadGameInfo( const char *rootfolder ); void FS_LoadGameInfo( const char *rootfolder );
const char *FS_GetDiskPath( const char *name, qboolean gamedironly ); const char *FS_GetDiskPath( const char *name, qboolean gamedironly );
void Zip_Close( zip_t *zip );
byte *W_LoadLump( wfile_t *wad, const char *lumpname, size_t *lumpsizeptr, const char type ); byte *W_LoadLump( wfile_t *wad, const char *lumpname, size_t *lumpsizeptr, const char type );
void W_Close( wfile_t *wad ); void W_Close( wfile_t *wad );
byte *FS_LoadFile( const char *path, fs_offset_t *filesizeptr, qboolean gamedironly ); byte *FS_LoadFile( const char *path, fs_offset_t *filesizeptr, qboolean gamedironly );

18
engine/common/filesystem.c

@ -112,7 +112,7 @@ typedef struct zipfile_s
char name[MAX_SYSPATH]; char name[MAX_SYSPATH];
fs_offset_t offset; // offset of local file header fs_offset_t offset; // offset of local file header
fs_offset_t size; //original file size fs_offset_t size; //original file size
fs_offset_t compressed_size; // compressed file size fs_offset_t compressed_size; // compressed file size
} zipfile_t; } zipfile_t;
typedef struct zip_s typedef struct zip_s
@ -672,11 +672,11 @@ static zip_t *FS_LoadZip( const char *zipfile, int *error )
if( FS_FileLength( zip->handle ) > UINT_MAX ) if( FS_FileLength( zip->handle ) > UINT_MAX )
{ {
Con_Reportf( "%s bigger than 4GB.\n", zipfile ); Con_Reportf( "%s bigger than 4GB.\n", zipfile );
if( error ) if( error )
*error = ZIP_LOAD_COULDNT_OPEN; *error = ZIP_LOAD_COULDNT_OPEN;
Zip_Close( zip ); Zip_Close( zip );
return NULL; return NULL;
} }
FS_Read( zip->handle, (void *)&signature, sizeof( uint ) ); FS_Read( zip->handle, (void *)&signature, sizeof( uint ) );
@ -824,7 +824,7 @@ static byte *Zip_LoadFile( const char *path, fs_offset_t *sizeptr, qboolean game
FS_Read( search->zip->handle, (void*)&header, sizeof( header ) ); FS_Read( search->zip->handle, (void*)&header, sizeof( header ) );
if(header.signature != ZIP_HEADER_LF) if( header.signature != ZIP_HEADER_LF )
{ {
Con_Reportf( S_ERROR "Zip_LoadFile: %s signature error\n", file->name ); Con_Reportf( S_ERROR "Zip_LoadFile: %s signature error\n", file->name );
return NULL; return NULL;
@ -848,7 +848,7 @@ static byte *Zip_LoadFile( const char *path, fs_offset_t *sizeptr, qboolean game
CRC32_Init( &test_crc ); CRC32_Init( &test_crc );
CRC32_ProcessBuffer( &test_crc, decompressed_buffer, file->size ); CRC32_ProcessBuffer( &test_crc, decompressed_buffer, file->size );
final_crc = CRC32_Final(test_crc); final_crc = CRC32_Final( test_crc );
if( final_crc != header.crc32 ) if( final_crc != header.crc32 )
{ {
@ -950,7 +950,7 @@ static qboolean FS_AddWad_Fullpath( const char *wadfile, qboolean *already_loade
return true; // already loaded return true; // already loaded
} }
} }
if( already_loaded ) if( already_loaded )
*already_loaded = false; *already_loaded = false;

80
engine/common/filesystem.h

@ -131,24 +131,24 @@ typedef struct
#define ZIP_HEADER_CDF ((0x02<<24)+(0x01<<16)+('K'<<8)+'P') #define ZIP_HEADER_CDF ((0x02<<24)+(0x01<<16)+('K'<<8)+'P')
#define ZIP_HEADER_EOCD ((0x06<<24)+(0x05<<16)+('K'<<8)+'P') #define ZIP_HEADER_EOCD ((0x06<<24)+(0x05<<16)+('K'<<8)+'P')
#define ZIP_COMPRESSION_NO_COMPRESSION 0 #define ZIP_COMPRESSION_NO_COMPRESSION 0
#define ZIP_COMPRESSION_DEFLATED 8 #define ZIP_COMPRESSION_DEFLATED 8
#define ZIP_ZIP64 0xffffffff #define ZIP_ZIP64 0xffffffff
#pragma pack( 1 ) #pragma pack( 1 )
typedef struct zip_header_s typedef struct zip_header_s
{ {
unsigned int signature; // little endian ZIP_HEADER unsigned int signature; // little endian ZIP_HEADER
unsigned short version; // version of pkzip need to unpack unsigned short version; // version of pkzip need to unpack
unsigned short flags; // flags (16 bits == 16 flags) unsigned short flags; // flags (16 bits == 16 flags)
unsigned short compression_flags; // compression flags (bits) unsigned short compression_flags; // compression flags (bits)
unsigned int dos_date; // file modification time and file modification date unsigned int dos_date; // file modification time and file modification date
unsigned int crc32; //crc32 unsigned int crc32; //crc32
unsigned int compressed_size; unsigned int compressed_size;
unsigned int uncompressed_size; unsigned int uncompressed_size;
unsigned short filename_len; unsigned short filename_len;
unsigned short extrafield_len; unsigned short extrafield_len;
} zip_header_t; } zip_header_t;
/* /*
@ -158,42 +158,42 @@ typedef struct zip_header_s
typedef struct zip_header_extra_s typedef struct zip_header_extra_s
{ {
unsigned int signature; // ZIP_HEADER_SPANNED unsigned int signature; // ZIP_HEADER_SPANNED
unsigned int crc32; unsigned int crc32;
unsigned int compressed_size; unsigned int compressed_size;
unsigned int uncompressed_size; unsigned int uncompressed_size;
} zip_header_extra_t; } zip_header_extra_t;
typedef struct zip_cdf_header_s typedef struct zip_cdf_header_s
{ {
unsigned int signature; unsigned int signature;
unsigned short version; unsigned short version;
unsigned short version_need; unsigned short version_need;
unsigned short generalPurposeBitFlag; unsigned short generalPurposeBitFlag;
unsigned short flags; unsigned short flags;
unsigned short modification_time; unsigned short modification_time;
unsigned short modification_date; unsigned short modification_date;
unsigned int crc32; unsigned int crc32;
unsigned int compressed_size; unsigned int compressed_size;
unsigned int uncompressed_size; unsigned int uncompressed_size;
unsigned short filename_len; unsigned short filename_len;
unsigned short extrafield_len; unsigned short extrafield_len;
unsigned short file_commentary_len; unsigned short file_commentary_len;
unsigned short disk_start; unsigned short disk_start;
unsigned short internal_attr; unsigned short internal_attr;
unsigned int external_attr; unsigned int external_attr;
unsigned int local_header_offset; unsigned int local_header_offset;
} zip_cdf_header_t; } zip_cdf_header_t;
typedef struct zip_header_eocd_s typedef struct zip_header_eocd_s
{ {
unsigned short disk_number; unsigned short disk_number;
unsigned short start_disk_number; unsigned short start_disk_number;
unsigned short number_central_directory_record; unsigned short number_central_directory_record;
unsigned short total_central_directory_record; unsigned short total_central_directory_record;
unsigned int size_of_central_directory; unsigned int size_of_central_directory;
unsigned int central_directory_offset; unsigned int central_directory_offset;
unsigned short commentary_len; unsigned short commentary_len;
} zip_header_eocd_t; } zip_header_eocd_t;
#pragma pack( ) #pragma pack( )

Loading…
Cancel
Save