Browse Source

Clean up mpqapi_write_header

pull/114/head
Anders Jenbo 7 years ago
parent
commit
0d36767304
  1. 21
      Source/mpqapi.cpp
  2. 2
      Source/mpqapi.h

21
Source/mpqapi.cpp

@ -650,13 +650,12 @@ void mpqapi_flush_and_close(const char *pszArchive, BOOL bFree, int dwChar)
}
// 65AB0C: using guessed type int save_archive_modified;
BOOLEAN mpqapi_write_header() // WriteMPQHeader
BOOL mpqapi_write_header() // WriteMPQHeader
{
BOOLEAN result; // al
_FILEHEADER fhdr; // [esp+8h] [ebp-6Ch]
DWORD NumberOfBytesWritten; // [esp+70h] [ebp-4h]
_FILEHEADER fhdr;
DWORD NumberOfBytesWritten;
memset(&fhdr, 0, 0x68u);
memset(&fhdr, 0, 0x68);
fhdr.signature = '\x1AQPM';
fhdr.headersize = 32;
fhdr.filesize = GetFileSize(sghArchive, 0);
@ -666,11 +665,13 @@ BOOLEAN mpqapi_write_header() // WriteMPQHeader
fhdr.blockoffset = 104;
fhdr.hashcount = 2048;
fhdr.blockcount = 2048;
if (SetFilePointer(sghArchive, 0, NULL, FILE_BEGIN) != -1 && WriteFile(sghArchive, &fhdr, 0x68u, &NumberOfBytesWritten, 0))
result = NumberOfBytesWritten == 104;
else
result = 0;
return result;
if (SetFilePointer(sghArchive, 0, NULL, FILE_BEGIN) == -1)
return 0;
if (!WriteFile(sghArchive, &fhdr, 0x68, &NumberOfBytesWritten, 0))
return 0;
return NumberOfBytesWritten == 104;
}
BOOL mpqapi_write_block_table()

2
Source/mpqapi.h

@ -30,7 +30,7 @@ BOOLEAN mpqapi_parse_archive_header(_FILEHEADER *pHdr, int *pdwNextFileStart);
void mpqapi_close_archive(const char *pszArchive, BOOL bFree, int dwChar);
void mpqapi_store_modified_time(const char *pszArchive, int dwChar);
void mpqapi_flush_and_close(const char *pszArchive, BOOL bFree, int dwChar);
BOOLEAN mpqapi_write_header();
BOOL mpqapi_write_header();
BOOL mpqapi_write_block_table();
BOOL mpqapi_write_hash_table();
BOOL mpqapi_can_seek();

Loading…
Cancel
Save