diff --git a/3rdParty/StormLib/README b/3rdParty/StormLib/README index f4a808dc3..9493cfcaf 100644 --- a/3rdParty/StormLib/README +++ b/3rdParty/StormLib/README @@ -6,7 +6,7 @@ Cosmetic changes: Implementation changes: * Redefine `bool` to `BOOL`. -* Use `stdcall` calling convention. +* Use STORMAPI instead of WINAPI for calling convention (and define it as nothing). * Use external Storm error handling (`SErrGetLastError()` etc.) * Convert pathnames to Unix-style slashes. * Bugfixes, with comment: // BUGFIX (devilutionX) diff --git a/3rdParty/StormLib/src/SCompression.cpp b/3rdParty/StormLib/src/SCompression.cpp index f488b4d59..8f15b9314 100644 --- a/3rdParty/StormLib/src/SCompression.cpp +++ b/3rdParty/StormLib/src/SCompression.cpp @@ -678,7 +678,7 @@ static int Decompress_ADPCM_stereo(void * pvOutBuffer, int * pcbOutBuffer, void /* */ /*****************************************************************************/ -int WINAPI SCompImplode(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer) +int STORMAPI SCompImplode(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer) { int cbOutBuffer; @@ -710,7 +710,7 @@ int WINAPI SCompImplode(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffe /* */ /*****************************************************************************/ -int WINAPI SCompExplode(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer) +int STORMAPI SCompExplode(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer) { int cbOutBuffer; @@ -774,7 +774,7 @@ static TCompressTable cmp_table[] = #endif }; -int WINAPI SCompCompress(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer, unsigned uCompressionMask, int nCmpType, int nCmpLevel) +int STORMAPI SCompCompress(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer, unsigned uCompressionMask, int nCmpType, int nCmpLevel) { COMPRESS CompressFuncArray[0x10]; // Array of compression functions, applied sequentially unsigned char CompressByte[0x10]; // CompressByte for each method in the CompressFuncArray array @@ -928,7 +928,7 @@ static TDecompressTable dcmp_table[] = #endif }; -int WINAPI SCompDecompress(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer) +int STORMAPI SCompDecompress(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer) { unsigned char * pbWorkBuffer = NULL; unsigned char * pbOutBuffer = (unsigned char *)pvOutBuffer; @@ -1034,7 +1034,7 @@ int WINAPI SCompDecompress(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBu return nResult; } -int WINAPI SCompDecompress2(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer) +int STORMAPI SCompDecompress2(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer) { DECOMPRESS pfnDecompress1 = NULL; DECOMPRESS pfnDecompress2 = NULL; diff --git a/3rdParty/StormLib/src/SFileExtractFile.cpp b/3rdParty/StormLib/src/SFileExtractFile.cpp index cabde4927..c7e3c63bd 100644 --- a/3rdParty/StormLib/src/SFileExtractFile.cpp +++ b/3rdParty/StormLib/src/SFileExtractFile.cpp @@ -12,7 +12,7 @@ #include "StormLib.h" #include "StormCommon.h" -bool WINAPI SFileExtractFile(HANDLE hMpq, const char * szToExtract, const TCHAR * szExtracted, DWORD dwSearchScope) +bool STORMAPI SFileExtractFile(HANDLE hMpq, const char * szToExtract, const TCHAR * szExtracted, DWORD dwSearchScope) { TFileStream * pLocalFile = NULL; HANDLE hMpqFile = NULL; diff --git a/3rdParty/StormLib/src/SFileFindFile.cpp b/3rdParty/StormLib/src/SFileFindFile.cpp index 6b8b87ad6..8ae75683e 100644 --- a/3rdParty/StormLib/src/SFileFindFile.cpp +++ b/3rdParty/StormLib/src/SFileFindFile.cpp @@ -378,7 +378,7 @@ static void FreeMPQSearch(TMPQSearch *& hs) //----------------------------------------------------------------------------- // Public functions -HANDLE WINAPI SFileFindFirstFile(HANDLE hMpq, const char * szMask, SFILE_FIND_DATA * lpFindFileData, const TCHAR * szListFile) +HANDLE STORMAPI SFileFindFirstFile(HANDLE hMpq, const char * szMask, SFILE_FIND_DATA * lpFindFileData, const TCHAR * szListFile) { TMPQArchive * ha = (TMPQArchive *)hMpq; TMPQSearch * hs = NULL; @@ -446,7 +446,7 @@ HANDLE WINAPI SFileFindFirstFile(HANDLE hMpq, const char * szMask, SFILE_FIND_DA return (HANDLE)hs; } -bool WINAPI SFileFindNextFile(HANDLE hFind, SFILE_FIND_DATA * lpFindFileData) +bool STORMAPI SFileFindNextFile(HANDLE hFind, SFILE_FIND_DATA * lpFindFileData) { TMPQSearch * hs = IsValidSearchHandle(hFind); int nError = ERROR_SUCCESS; @@ -465,7 +465,7 @@ bool WINAPI SFileFindNextFile(HANDLE hFind, SFILE_FIND_DATA * lpFindFileData) return (nError == ERROR_SUCCESS); } -bool WINAPI SFileFindClose(HANDLE hFind) +bool STORMAPI SFileFindClose(HANDLE hFind) { TMPQSearch * hs = IsValidSearchHandle(hFind); diff --git a/3rdParty/StormLib/src/SFileGetFileInfo.cpp b/3rdParty/StormLib/src/SFileGetFileInfo.cpp index ebe2119de..8fe98066d 100644 --- a/3rdParty/StormLib/src/SFileGetFileInfo.cpp +++ b/3rdParty/StormLib/src/SFileGetFileInfo.cpp @@ -131,7 +131,7 @@ static bool GetFilePatchChain(TMPQFile * hf, void * pvFileInfo, DWORD cbFileInfo // cbFileInfo - Size of the buffer pointed by pvFileInfo // pcbLengthNeeded - Receives number of bytes necessary to store the information -bool WINAPI SFileGetFileInfo( +bool STORMAPI SFileGetFileInfo( HANDLE hMpqOrFile, SFileInfoClass InfoClass, void * pvFileInfo, @@ -860,7 +860,7 @@ bool WINAPI SFileGetFileInfo( } #ifdef FULL -bool WINAPI SFileFreeFileInfo(void * pvFileInfo, SFileInfoClass InfoClass) +bool STORMAPI SFileFreeFileInfo(void * pvFileInfo, SFileInfoClass InfoClass) { switch(InfoClass) { @@ -963,7 +963,7 @@ static int CreatePseudoFileName(HANDLE hFile, TFileEntry * pFileEntry, char * sz return ERROR_CAN_NOT_COMPLETE; } -bool WINAPI SFileGetFileName(HANDLE hFile, char * szFileName) +bool STORMAPI SFileGetFileName(HANDLE hFile, char * szFileName) { TMPQFile * hf = (TMPQFile *)hFile; // MPQ File handle int nError = ERROR_INVALID_HANDLE; diff --git a/3rdParty/StormLib/src/SFileOpenArchive.cpp b/3rdParty/StormLib/src/SFileOpenArchive.cpp index 1afaf5d4a..7dd2ce63e 100644 --- a/3rdParty/StormLib/src/SFileOpenArchive.cpp +++ b/3rdParty/StormLib/src/SFileOpenArchive.cpp @@ -127,12 +127,12 @@ static int VerifyMpqTablePositions(TMPQArchive * ha, ULONGLONG FileSize) // SFileGetLocale and SFileSetLocale // Set the locale for all newly opened files -LCID WINAPI SFileGetLocale() +LCID STORMAPI SFileGetLocale() { return lcFileLocale; } -LCID WINAPI SFileSetLocale(LCID lcNewLocale) +LCID STORMAPI SFileSetLocale(LCID lcNewLocale) { lcFileLocale = lcNewLocale; return lcFileLocale; @@ -146,7 +146,7 @@ LCID WINAPI SFileSetLocale(LCID lcNewLocale) // dwFlags - See MPQ_OPEN_XXX in StormLib.h // phMpq - Pointer to store open archive handle -bool WINAPI SFileOpenArchive( +bool STORMAPI SFileOpenArchive( const TCHAR * szMpqName, DWORD dwPriority, DWORD dwFlags, @@ -470,12 +470,12 @@ bool WINAPI SFileOpenArchive( #ifdef FULL //----------------------------------------------------------------------------- -// bool WINAPI SFileSetDownloadCallback(HANDLE, SFILE_DOWNLOAD_CALLBACK, void *); +// bool STORMAPI SFileSetDownloadCallback(HANDLE, SFILE_DOWNLOAD_CALLBACK, void *); // // Sets a callback that is called when content is downloaded from the master MPQ // -bool WINAPI SFileSetDownloadCallback(HANDLE hMpq, SFILE_DOWNLOAD_CALLBACK DownloadCB, void * pvUserData) +bool STORMAPI SFileSetDownloadCallback(HANDLE hMpq, SFILE_DOWNLOAD_CALLBACK DownloadCB, void * pvUserData) { TMPQArchive * ha = (TMPQArchive *)hMpq; @@ -498,7 +498,7 @@ bool WINAPI SFileSetDownloadCallback(HANDLE hMpq, SFILE_DOWNLOAD_CALLBACK Downlo // and terminating without calling SFileCloseArchive might corrupt the archive. // -bool WINAPI SFileFlushArchive(HANDLE hMpq) +bool STORMAPI SFileFlushArchive(HANDLE hMpq) { TMPQArchive * ha; int nResultError = ERROR_SUCCESS; @@ -590,7 +590,7 @@ bool WINAPI SFileFlushArchive(HANDLE hMpq) // bool SFileCloseArchive(HANDLE hMpq); // -bool WINAPI SFileCloseArchive(HANDLE hMpq) +bool STORMAPI SFileCloseArchive(HANDLE hMpq) { TMPQArchive * ha = IsValidMpqHandle(hMpq); bool bResult = true; diff --git a/3rdParty/StormLib/src/SFileOpenFileEx.cpp b/3rdParty/StormLib/src/SFileOpenFileEx.cpp index a25cc7214..f5d5ba105 100644 --- a/3rdParty/StormLib/src/SFileOpenFileEx.cpp +++ b/3rdParty/StormLib/src/SFileOpenFileEx.cpp @@ -172,7 +172,7 @@ bool OpenPatchedFile(HANDLE hMpq, const char * szFileName, HANDLE * PtrFile) // pointed by plcLocales. There must be enough entries to copy the localed, // otherwise the function returns ERROR_INSUFFICIENT_BUFFER. -int WINAPI SFileEnumLocales( +int STORMAPI SFileEnumLocales( HANDLE hMpq, const char * szFileName, LCID * PtrLocales, @@ -228,7 +228,7 @@ int WINAPI SFileEnumLocales( // dwSearchScope - Where to search // PtrFile - Pointer to store opened file handle -bool WINAPI SFileOpenFileEx(HANDLE hMpq, const char * szFileName, DWORD dwSearchScope, HANDLE * PtrFile) +bool STORMAPI SFileOpenFileEx(HANDLE hMpq, const char * szFileName, DWORD dwSearchScope, HANDLE * PtrFile) { TMPQArchive * ha = IsValidMpqHandle(hMpq); TFileEntry * pFileEntry = NULL; @@ -372,15 +372,15 @@ bool WINAPI SFileOpenFileEx(HANDLE hMpq, const char * szFileName, DWORD dwSearch // hMpq - Handle of opened MPQ archive // szFileName - Name of file to look for -bool WINAPI SFileHasFile(HANDLE hMpq, const char * szFileName) +bool STORMAPI SFileHasFile(HANDLE hMpq, const char * szFileName) { return SFileOpenFileEx(hMpq, szFileName, SFILE_OPEN_CHECK_EXISTS, NULL); } //----------------------------------------------------------------------------- -// bool WINAPI SFileCloseFile(HANDLE hFile); +// bool STORMAPI SFileCloseFile(HANDLE hFile); -bool WINAPI SFileCloseFile(HANDLE hFile) +bool STORMAPI SFileCloseFile(HANDLE hFile) { TMPQFile * hf = (TMPQFile *)hFile; diff --git a/3rdParty/StormLib/src/SFileReadFile.cpp b/3rdParty/StormLib/src/SFileReadFile.cpp index 08761cdda..bd7eafb30 100644 --- a/3rdParty/StormLib/src/SFileReadFile.cpp +++ b/3rdParty/StormLib/src/SFileReadFile.cpp @@ -670,7 +670,7 @@ static int ReadMpqFileLocalFile(TMPQFile * hf, void * pvBuffer, DWORD dwFilePos, //----------------------------------------------------------------------------- // SFileReadFile -bool WINAPI SFileReadFile(HANDLE hFile, void * pvBuffer, DWORD dwToRead, LPDWORD pdwRead, LPOVERLAPPED lpOverlapped) +bool STORMAPI SFileReadFile(HANDLE hFile, void * pvBuffer, DWORD dwToRead, LPDWORD pdwRead, LPOVERLAPPED lpOverlapped) { TMPQFile * hf = (TMPQFile *)hFile; DWORD dwBytesRead = 0; // Number of bytes read @@ -759,7 +759,7 @@ bool WINAPI SFileReadFile(HANDLE hFile, void * pvBuffer, DWORD dwToRead, LPDWORD //----------------------------------------------------------------------------- // SFileGetFileSize -DWORD WINAPI SFileGetFileSize(HANDLE hFile, LPDWORD pdwFileSizeHigh) +DWORD STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD pdwFileSizeHigh) { ULONGLONG FileSize; TMPQFile * hf = (TMPQFile *)hFile; @@ -806,7 +806,7 @@ DWORD WINAPI SFileGetFileSize(HANDLE hFile, LPDWORD pdwFileSizeHigh) return SFILE_INVALID_SIZE; } -DWORD WINAPI SFileSetFilePointer(HANDLE hFile, LONG lFilePos, LONG * plFilePosHigh, DWORD dwMoveMethod) +DWORD STORMAPI SFileSetFilePointer(HANDLE hFile, LONG lFilePos, LONG * plFilePosHigh, DWORD dwMoveMethod) { TMPQFile * hf = (TMPQFile *)hFile; ULONGLONG OldPosition; diff --git a/3rdParty/StormLib/src/StormLib.h b/3rdParty/StormLib/src/StormLib.h index ff58d3539..86cd8e2c4 100644 --- a/3rdParty/StormLib/src/StormLib.h +++ b/3rdParty/StormLib/src/StormLib.h @@ -470,9 +470,9 @@ typedef enum _SFileInfoClass #define CCB_COMPACTING_FILES 4 // Compacting archive (dwParam1 = current, dwParam2 = total) #define CCB_CLOSING_ARCHIVE 5 // Closing archive: No params used -typedef void (WINAPI * SFILE_DOWNLOAD_CALLBACK)(void * pvUserData, ULONGLONG ByteOffset, DWORD dwTotalBytes); -typedef void (WINAPI * SFILE_ADDFILE_CALLBACK)(void * pvUserData, DWORD dwBytesWritten, DWORD dwTotalBytes, bool bFinalCall); -typedef void (WINAPI * SFILE_COMPACT_CALLBACK)(void * pvUserData, DWORD dwWorkType, ULONGLONG BytesProcessed, ULONGLONG TotalBytes); +typedef void (STORMAPI * SFILE_DOWNLOAD_CALLBACK)(void * pvUserData, ULONGLONG ByteOffset, DWORD dwTotalBytes); +typedef void (STORMAPI * SFILE_ADDFILE_CALLBACK)(void * pvUserData, DWORD dwBytesWritten, DWORD dwTotalBytes, bool bFinalCall); +typedef void (STORMAPI * SFILE_COMPACT_CALLBACK)(void * pvUserData, DWORD dwWorkType, ULONGLONG BytesProcessed, ULONGLONG TotalBytes); typedef struct TFileStream TFileStream; @@ -970,131 +970,131 @@ void FileStream_Close(TFileStream * pStream); // Functions prototypes for Storm.dll // Typedefs for functions exported by Storm.dll -typedef LCID (WINAPI * SFILESETLOCALE)(LCID); -typedef bool (WINAPI * SFILEOPENARCHIVE)(const char *, DWORD, DWORD, HANDLE *); -typedef bool (WINAPI * SFILECLOSEARCHIVE)(HANDLE); -typedef bool (WINAPI * SFILEOPENFILEEX)(HANDLE, const char *, DWORD, HANDLE *); -typedef bool (WINAPI * SFILECLOSEFILE)(HANDLE); -typedef DWORD (WINAPI * SFILEGETFILESIZE)(HANDLE, LPDWORD); -typedef DWORD (WINAPI * SFILESETFILEPOINTER)(HANDLE, LONG, LONG *, DWORD); -typedef bool (WINAPI * SFILEREADFILE)(HANDLE, void *, DWORD, LPDWORD, LPOVERLAPPED); +typedef LCID (STORMAPI * SFILESETLOCALE)(LCID); +typedef bool (STORMAPI * SFILEOPENARCHIVE)(const char *, DWORD, DWORD, HANDLE *); +typedef bool (STORMAPI * SFILECLOSEARCHIVE)(HANDLE); +typedef bool (STORMAPI * SFILEOPENFILEEX)(HANDLE, const char *, DWORD, HANDLE *); +typedef bool (STORMAPI * SFILECLOSEFILE)(HANDLE); +typedef DWORD (STORMAPI * SFILEGETFILESIZE)(HANDLE, LPDWORD); +typedef DWORD (STORMAPI * SFILESETFILEPOINTER)(HANDLE, LONG, LONG *, DWORD); +typedef bool (STORMAPI * SFILEREADFILE)(HANDLE, void *, DWORD, LPDWORD, LPOVERLAPPED); //----------------------------------------------------------------------------- // Functions for manipulation with StormLib global flags -LCID WINAPI SFileGetLocale(); -LCID WINAPI SFileSetLocale(LCID lcNewLocale); +LCID STORMAPI SFileGetLocale(); +LCID STORMAPI SFileSetLocale(LCID lcNewLocale); //----------------------------------------------------------------------------- // Functions for archive manipulation -bool WINAPI SFileOpenArchive(const TCHAR * szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE * phMpq); -bool WINAPI SFileCreateArchive(const TCHAR * szMpqName, DWORD dwCreateFlags, DWORD dwMaxFileCount, HANDLE * phMpq); -bool WINAPI SFileCreateArchive2(const TCHAR * szMpqName, PSFILE_CREATE_MPQ pCreateInfo, HANDLE * phMpq); +bool STORMAPI SFileOpenArchive(const TCHAR * szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE * phMpq); +bool STORMAPI SFileCreateArchive(const TCHAR * szMpqName, DWORD dwCreateFlags, DWORD dwMaxFileCount, HANDLE * phMpq); +bool STORMAPI SFileCreateArchive2(const TCHAR * szMpqName, PSFILE_CREATE_MPQ pCreateInfo, HANDLE * phMpq); -bool WINAPI SFileSetDownloadCallback(HANDLE hMpq, SFILE_DOWNLOAD_CALLBACK DownloadCB, void * pvUserData); -bool WINAPI SFileFlushArchive(HANDLE hMpq); -bool WINAPI SFileCloseArchive(HANDLE hMpq); +bool STORMAPI SFileSetDownloadCallback(HANDLE hMpq, SFILE_DOWNLOAD_CALLBACK DownloadCB, void * pvUserData); +bool STORMAPI SFileFlushArchive(HANDLE hMpq); +bool STORMAPI SFileCloseArchive(HANDLE hMpq); // Adds another listfile into MPQ. The currently added listfile(s) remain, // so you can use this API to combining more listfiles. // Note that this function is internally called by SFileFindFirstFile -int WINAPI SFileAddListFile(HANDLE hMpq, const TCHAR * szListFile); +int STORMAPI SFileAddListFile(HANDLE hMpq, const TCHAR * szListFile); // Archive compacting -bool WINAPI SFileSetCompactCallback(HANDLE hMpq, SFILE_COMPACT_CALLBACK CompactCB, void * pvUserData); -bool WINAPI SFileCompactArchive(HANDLE hMpq, const TCHAR * szListFile, bool bReserved); +bool STORMAPI SFileSetCompactCallback(HANDLE hMpq, SFILE_COMPACT_CALLBACK CompactCB, void * pvUserData); +bool STORMAPI SFileCompactArchive(HANDLE hMpq, const TCHAR * szListFile, bool bReserved); // Changing the maximum file count -DWORD WINAPI SFileGetMaxFileCount(HANDLE hMpq); -bool WINAPI SFileSetMaxFileCount(HANDLE hMpq, DWORD dwMaxFileCount); +DWORD STORMAPI SFileGetMaxFileCount(HANDLE hMpq); +bool STORMAPI SFileSetMaxFileCount(HANDLE hMpq, DWORD dwMaxFileCount); // Changing (attributes) file -DWORD WINAPI SFileGetAttributes(HANDLE hMpq); -bool WINAPI SFileSetAttributes(HANDLE hMpq, DWORD dwFlags); -bool WINAPI SFileUpdateFileAttributes(HANDLE hMpq, const char * szFileName); +DWORD STORMAPI SFileGetAttributes(HANDLE hMpq); +bool STORMAPI SFileSetAttributes(HANDLE hMpq, DWORD dwFlags); +bool STORMAPI SFileUpdateFileAttributes(HANDLE hMpq, const char * szFileName); //----------------------------------------------------------------------------- // Functions for manipulation with patch archives -bool WINAPI SFileOpenPatchArchive(HANDLE hMpq, const TCHAR * szPatchMpqName, const char * szPatchPathPrefix, DWORD dwFlags); -bool WINAPI SFileIsPatchedArchive(HANDLE hMpq); +bool STORMAPI SFileOpenPatchArchive(HANDLE hMpq, const TCHAR * szPatchMpqName, const char * szPatchPathPrefix, DWORD dwFlags); +bool STORMAPI SFileIsPatchedArchive(HANDLE hMpq); //----------------------------------------------------------------------------- // Functions for file manipulation // Reading from MPQ file -bool WINAPI SFileHasFile(HANDLE hMpq, const char * szFileName); -bool WINAPI SFileOpenFileEx(HANDLE hMpq, const char * szFileName, DWORD dwSearchScope, HANDLE * phFile); -DWORD WINAPI SFileGetFileSize(HANDLE hFile, LPDWORD pdwFileSizeHigh); -DWORD WINAPI SFileSetFilePointer(HANDLE hFile, LONG lFilePos, LONG * plFilePosHigh, DWORD dwMoveMethod); -bool WINAPI SFileReadFile(HANDLE hFile, void * lpBuffer, DWORD dwToRead, LPDWORD pdwRead, LPOVERLAPPED lpOverlapped); -bool WINAPI SFileCloseFile(HANDLE hFile); +bool STORMAPI SFileHasFile(HANDLE hMpq, const char * szFileName); +bool STORMAPI SFileOpenFileEx(HANDLE hMpq, const char * szFileName, DWORD dwSearchScope, HANDLE * phFile); +DWORD STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD pdwFileSizeHigh); +DWORD STORMAPI SFileSetFilePointer(HANDLE hFile, LONG lFilePos, LONG * plFilePosHigh, DWORD dwMoveMethod); +bool STORMAPI SFileReadFile(HANDLE hFile, void * lpBuffer, DWORD dwToRead, LPDWORD pdwRead, LPOVERLAPPED lpOverlapped); +bool STORMAPI SFileCloseFile(HANDLE hFile); // Retrieving info about a file in the archive -bool WINAPI SFileGetFileInfo(HANDLE hMpqOrFile, SFileInfoClass InfoClass, void * pvFileInfo, DWORD cbFileInfo, LPDWORD pcbLengthNeeded); -bool WINAPI SFileGetFileName(HANDLE hFile, char * szFileName); -bool WINAPI SFileFreeFileInfo(void * pvFileInfo, SFileInfoClass InfoClass); +bool STORMAPI SFileGetFileInfo(HANDLE hMpqOrFile, SFileInfoClass InfoClass, void * pvFileInfo, DWORD cbFileInfo, LPDWORD pcbLengthNeeded); +bool STORMAPI SFileGetFileName(HANDLE hFile, char * szFileName); +bool STORMAPI SFileFreeFileInfo(void * pvFileInfo, SFileInfoClass InfoClass); // High-level extract function -bool WINAPI SFileExtractFile(HANDLE hMpq, const char * szToExtract, const TCHAR * szExtracted, DWORD dwSearchScope); +bool STORMAPI SFileExtractFile(HANDLE hMpq, const char * szToExtract, const TCHAR * szExtracted, DWORD dwSearchScope); //----------------------------------------------------------------------------- // Functions for file and archive verification // Generates file CRC32 -bool WINAPI SFileGetFileChecksums(HANDLE hMpq, const char * szFileName, LPDWORD pdwCrc32, char * pMD5); +bool STORMAPI SFileGetFileChecksums(HANDLE hMpq, const char * szFileName, LPDWORD pdwCrc32, char * pMD5); // Verifies file against its checksums stored in (attributes) attributes (depending on dwFlags). // For dwFlags, use one or more of MPQ_ATTRIBUTE_MD5 -DWORD WINAPI SFileVerifyFile(HANDLE hMpq, const char * szFileName, DWORD dwFlags); +DWORD STORMAPI SFileVerifyFile(HANDLE hMpq, const char * szFileName, DWORD dwFlags); // Verifies raw data of the archive. Only works for MPQs version 4 or newer -int WINAPI SFileVerifyRawData(HANDLE hMpq, DWORD dwWhatToVerify, const char * szFileName); +int STORMAPI SFileVerifyRawData(HANDLE hMpq, DWORD dwWhatToVerify, const char * szFileName); // Verifies the signature, if present -bool WINAPI SFileSignArchive(HANDLE hMpq, DWORD dwSignatureType); -DWORD WINAPI SFileVerifyArchive(HANDLE hMpq); +bool STORMAPI SFileSignArchive(HANDLE hMpq, DWORD dwSignatureType); +DWORD STORMAPI SFileVerifyArchive(HANDLE hMpq); //----------------------------------------------------------------------------- // Functions for file searching -HANDLE WINAPI SFileFindFirstFile(HANDLE hMpq, const char * szMask, SFILE_FIND_DATA * lpFindFileData, const TCHAR * szListFile); -bool WINAPI SFileFindNextFile(HANDLE hFind, SFILE_FIND_DATA * lpFindFileData); -bool WINAPI SFileFindClose(HANDLE hFind); +HANDLE STORMAPI SFileFindFirstFile(HANDLE hMpq, const char * szMask, SFILE_FIND_DATA * lpFindFileData, const TCHAR * szListFile); +bool STORMAPI SFileFindNextFile(HANDLE hFind, SFILE_FIND_DATA * lpFindFileData); +bool STORMAPI SFileFindClose(HANDLE hFind); -HANDLE WINAPI SListFileFindFirstFile(HANDLE hMpq, const TCHAR * szListFile, const char * szMask, SFILE_FIND_DATA * lpFindFileData); -bool WINAPI SListFileFindNextFile(HANDLE hFind, SFILE_FIND_DATA * lpFindFileData); -bool WINAPI SListFileFindClose(HANDLE hFind); +HANDLE STORMAPI SListFileFindFirstFile(HANDLE hMpq, const TCHAR * szListFile, const char * szMask, SFILE_FIND_DATA * lpFindFileData); +bool STORMAPI SListFileFindNextFile(HANDLE hFind, SFILE_FIND_DATA * lpFindFileData); +bool STORMAPI SListFileFindClose(HANDLE hFind); // Locale support -int WINAPI SFileEnumLocales(HANDLE hMpq, const char * szFileName, LCID * plcLocales, LPDWORD pdwMaxLocales, DWORD dwSearchScope); +int STORMAPI SFileEnumLocales(HANDLE hMpq, const char * szFileName, LCID * plcLocales, LPDWORD pdwMaxLocales, DWORD dwSearchScope); //----------------------------------------------------------------------------- // Support for adding files to the MPQ -bool WINAPI SFileCreateFile(HANDLE hMpq, const char * szArchivedName, ULONGLONG FileTime, DWORD dwFileSize, LCID lcLocale, DWORD dwFlags, HANDLE * phFile); -bool WINAPI SFileWriteFile(HANDLE hFile, const void * pvData, DWORD dwSize, DWORD dwCompression); -bool WINAPI SFileFinishFile(HANDLE hFile); +bool STORMAPI SFileCreateFile(HANDLE hMpq, const char * szArchivedName, ULONGLONG FileTime, DWORD dwFileSize, LCID lcLocale, DWORD dwFlags, HANDLE * phFile); +bool STORMAPI SFileWriteFile(HANDLE hFile, const void * pvData, DWORD dwSize, DWORD dwCompression); +bool STORMAPI SFileFinishFile(HANDLE hFile); -bool WINAPI SFileAddFileEx(HANDLE hMpq, const TCHAR * szFileName, const char * szArchivedName, DWORD dwFlags, DWORD dwCompression, DWORD dwCompressionNext = MPQ_COMPRESSION_NEXT_SAME); -bool WINAPI SFileAddFile(HANDLE hMpq, const TCHAR * szFileName, const char * szArchivedName, DWORD dwFlags); -bool WINAPI SFileAddWave(HANDLE hMpq, const TCHAR * szFileName, const char * szArchivedName, DWORD dwFlags, DWORD dwQuality); -bool WINAPI SFileRemoveFile(HANDLE hMpq, const char * szFileName, DWORD dwSearchScope); -bool WINAPI SFileRenameFile(HANDLE hMpq, const char * szOldFileName, const char * szNewFileName); -bool WINAPI SFileSetFileLocale(HANDLE hFile, LCID lcNewLocale); -bool WINAPI SFileSetDataCompression(DWORD DataCompression); +bool STORMAPI SFileAddFileEx(HANDLE hMpq, const TCHAR * szFileName, const char * szArchivedName, DWORD dwFlags, DWORD dwCompression, DWORD dwCompressionNext = MPQ_COMPRESSION_NEXT_SAME); +bool STORMAPI SFileAddFile(HANDLE hMpq, const TCHAR * szFileName, const char * szArchivedName, DWORD dwFlags); +bool STORMAPI SFileAddWave(HANDLE hMpq, const TCHAR * szFileName, const char * szArchivedName, DWORD dwFlags, DWORD dwQuality); +bool STORMAPI SFileRemoveFile(HANDLE hMpq, const char * szFileName, DWORD dwSearchScope); +bool STORMAPI SFileRenameFile(HANDLE hMpq, const char * szOldFileName, const char * szNewFileName); +bool STORMAPI SFileSetFileLocale(HANDLE hFile, LCID lcNewLocale); +bool STORMAPI SFileSetDataCompression(DWORD DataCompression); -bool WINAPI SFileSetAddFileCallback(HANDLE hMpq, SFILE_ADDFILE_CALLBACK AddFileCB, void * pvUserData); +bool STORMAPI SFileSetAddFileCallback(HANDLE hMpq, SFILE_ADDFILE_CALLBACK AddFileCB, void * pvUserData); //----------------------------------------------------------------------------- // Compression and decompression -int WINAPI SCompImplode (void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); -int WINAPI SCompExplode (void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); -int WINAPI SCompCompress (void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer, unsigned uCompressionMask, int nCmpType, int nCmpLevel); -int WINAPI SCompDecompress (void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); -int WINAPI SCompDecompress2(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); +int STORMAPI SCompImplode (void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); +int STORMAPI SCompExplode (void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); +int STORMAPI SCompCompress (void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer, unsigned uCompressionMask, int nCmpType, int nCmpLevel); +int STORMAPI SCompDecompress (void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); +int STORMAPI SCompDecompress2(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); //----------------------------------------------------------------------------- // Non-Windows support for SetLastError/GetLastError @@ -1110,8 +1110,8 @@ DWORD GetLastError(); extern DWORD nLastError; -DWORD WINAPI SErrGetLastError(); -void WINAPI SErrSetLastError(DWORD dwErrCode); +DWORD STORMAPI SErrGetLastError(); +void STORMAPI SErrSetLastError(DWORD dwErrCode); #define SetLastError SErrSetLastError #define GetLastError SErrGetLastError diff --git a/3rdParty/StormLib/src/StormPort.h b/3rdParty/StormLib/src/StormPort.h index c35ff549d..9e1fba0fe 100644 --- a/3rdParty/StormLib/src/StormPort.h +++ b/3rdParty/StormLib/src/StormPort.h @@ -27,6 +27,8 @@ #ifndef __STORMPORT_H__ #define __STORMPORT_H__ +#define STORMAPI + #ifndef __cplusplus #define bool char #define true 1 @@ -170,13 +172,7 @@ #define _countof(x) (sizeof(x) / sizeof(x[0])) #endif - // MINIWIN change - // (original calling conventions confuse address-sanitizer) - #if 0 #define WINAPI __attribute__((stdcall)) - #else - #define WINAPI - #endif #define FILE_BEGIN SEEK_SET #define FILE_CURRENT SEEK_CUR diff --git a/SourceS/miniwin.h b/SourceS/miniwin.h index 664b28e54..fa0157138 100644 --- a/SourceS/miniwin.h +++ b/SourceS/miniwin.h @@ -30,7 +30,7 @@ #define __int8 char #define __int16 short #define __int32 int -#define __int64 long long +#define __int64 long long __attribute__((aligned(8))) #endif #include "miniwin_misc.h" diff --git a/SourceS/miniwin_pushdecl.h b/SourceS/miniwin_pushdecl.h index 6408146b2..d0537caba 100644 --- a/SourceS/miniwin_pushdecl.h +++ b/SourceS/miniwin_pushdecl.h @@ -9,6 +9,14 @@ #pragma push_macro("WINUSERAPI") #endif +#undef __cdecl +#undef __fastcall +#undef __stdcall +#undef CALLBACK +#undef APIENTRY +#undef WINAPI +#undef WINAPIV +#undef WINUSERAPI #define __cdecl #define __fastcall #define __stdcall