1
0
Fork 0

Fix linking against storm.dll and diabloui.dll

* add aliases for storm exports to handle __stdcall calling convention on Linux
* mark external functions as extern "C"
pull/2/head
mewmew 2018-06-08 01:28:20 +02:00
parent bd12b61831
commit 1836399875
6 changed files with 594 additions and 512 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*.o
*.lib
*.dll
*.exe

View File

@ -61,11 +61,11 @@ typedef struct _WSIZE
#define GAMESTATE_REPLAY 0x80
BOOL STORMAPI SNetCreateGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, DWORD dwGameType, char *GameTemplateData, int GameTemplateSize, int playerCount, char *creatorName, char *a11, int *playerID);
BOOL STORMAPI SNetDestroy();
BOOL STORMAPI SNetEnumProviders(int (STORMAPI *callback)(DWORD, DWORD, DWORD, DWORD), int mincaps);
extern "C" BOOL STORMAPI SNetCreateGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, DWORD dwGameType, char *GameTemplateData, int GameTemplateSize, int playerCount, char *creatorName, char *a11, int *playerID);
extern "C" BOOL STORMAPI SNetDestroy();
extern "C" BOOL STORMAPI SNetEnumProviders(int (STORMAPI *callback)(DWORD, DWORD, DWORD, DWORD), int mincaps);
BOOL STORMAPI SNetEnumGames(int (STORMAPI *callback)(DWORD, DWORD, DWORD), int *hintnextcall);
extern "C" BOOL STORMAPI SNetEnumGames(int (STORMAPI *callback)(DWORD, DWORD, DWORD), int *hintnextcall);
/* SNetDropPlayer @ 106
*
@ -76,7 +76,7 @@ BOOL STORMAPI SNetEnumGames(int (STORMAPI *callback)(DWORD, DWORD, DWORD), int *
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetDropPlayer(
int playerid,
@ -94,7 +94,7 @@ SNetDropPlayer(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetGetGameInfo(
int type,
@ -116,7 +116,7 @@ SNetGetGameInfo(
#define GAMEINFO_PLAYERS 6
BOOL STORMAPI SNetGetNumPlayers(int *firstplayerid, int *lastplayerid, int *activeplayers);
extern "C" BOOL STORMAPI SNetGetNumPlayers(int *firstplayerid, int *lastplayerid, int *activeplayers);
typedef struct _CAPS
@ -133,7 +133,7 @@ typedef struct _CAPS
} CAPS, *PCAPS;
BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
extern "C" BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
/* SNetGetPlayerName @ 113
*
@ -145,7 +145,7 @@ BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetGetPlayerName(
int playerid,
@ -160,7 +160,7 @@ SNetGetPlayerName(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetGetProviderCaps(
_SNETCAPS *providerCaps);
@ -174,13 +174,13 @@ SNetGetProviderCaps(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetGetTurnsInTransit(
int *turns);
BOOL STORMAPI SNetInitializeDevice(int a1, int a2, int a3, int a4, int *a5);
extern "C" BOOL STORMAPI SNetInitializeDevice(int a1, int a2, int a3, int a4, int *a5);
// Network provider structures
typedef struct _client_info
@ -303,17 +303,17 @@ typedef struct _storm_head
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetInitializeProvider(
DWORD providerName,
_SNETPROGRAMDATA *gameClientInfo,
_SNETPLAYERDATA *userData,
_SNETUIDATA *bnCallbacks,
_SNETUIDATA *bnCallbacks,
_SNETVERSIONDATA *moduleData);
BOOL STORMAPI SNetJoinGame(int id, char *gameName, char *gamePassword, char *playerName, char *userStats, int *playerid);
extern "C" BOOL STORMAPI SNetJoinGame(int id, char *gameName, char *gamePassword, char *playerName, char *userStats, int *playerid);
/* SNetLeaveGame @ 119
*
@ -324,14 +324,14 @@ BOOL STORMAPI SNetJoinGame(int id, char *gameName, char *gamePassword, char *pla
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetLeaveGame(
int type);
BOOL STORMAPI SNetPerformUpgrade(DWORD *upgradestatus);
BOOL STORMAPI SNetReceiveMessage(int *senderplayerid, char **data, int *databytes);
BOOL STORMAPI SNetReceiveTurns(int a1, int arraysize, char **arraydata, unsigned int *arraydatabytes, DWORD *arrayplayerstatus);
extern "C" BOOL STORMAPI SNetPerformUpgrade(DWORD *upgradestatus);
extern "C" BOOL STORMAPI SNetReceiveMessage(int *senderplayerid, char **data, int *databytes);
extern "C" BOOL STORMAPI SNetReceiveTurns(int a1, int arraysize, char **arraydata, unsigned int *arraydatabytes, DWORD *arrayplayerstatus);
// Values for arrayplayerstatus
#define SNET_PS_OK 0
@ -351,10 +351,10 @@ typedef struct _s_evt
// @TODO: "type" is unknown.
HANDLE STORMAPI SNetRegisterEventHandler(int type, void (STORMAPI *sEvent)(_SNETEVENT *));
HANDLE STORMAPI SNetUnregisterEventHandler(int type, void (STORMAPI *sEvent)(_SNETEVENT *));
extern "C" HANDLE STORMAPI SNetRegisterEventHandler(int type, void (STORMAPI *sEvent)(_SNETEVENT));
extern "C" HANDLE STORMAPI SNetUnregisterEventHandler(int type, void (STORMAPI *sEvent)(_SNETEVENT *));
int STORMAPI SNetSelectGame(int a1, int a2, int a3, int a4, int a5, int *playerid);
extern "C" int STORMAPI SNetSelectGame(int a1, int a2, int a3, int a4, int a5, int *playerid);
/* SNetSendMessage @ 127
*
@ -371,7 +371,7 @@ int STORMAPI SNetSelectGame(int a1, int a2, int a3, int a4, int a5, int *player
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetSendMessage(
int playerID,
@ -395,7 +395,7 @@ SNetSendMessage(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetSendTurn(
char *data,
@ -421,7 +421,7 @@ SNetSendTurn(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetSetGameMode(
DWORD modeFlags,
@ -429,59 +429,59 @@ SNetSetGameMode(
#define SNMakeGamePublic() SNetSetGameMode( (DWORD mode, SNetGetGameInfo(GAMEINFO_MODEFLAGS, &mode, 4), mode), true)
BOOL STORMAPI SNetEnumGamesEx(int a1, int a2, int (__fastcall *callback)(DWORD, DWORD, DWORD), int *hintnextcall);
BOOL STORMAPI SNetSendServerChatCommand(const char *command);
extern "C" BOOL STORMAPI SNetEnumGamesEx(int a1, int a2, int (__fastcall *callback)(DWORD, DWORD, DWORD), int *hintnextcall);
extern "C" BOOL STORMAPI SNetSendServerChatCommand(const char *command);
BOOL STORMAPI SNetDisconnectAll(DWORD flags);
BOOL STORMAPI SNetCreateLadderGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, DWORD dwGameType, DWORD dwGameLadderType, DWORD dwGameModeFlags, char *GameTemplateData, int GameTemplateSize, int playerCount, char *creatorName, char *a11, int *playerID);
extern "C" BOOL STORMAPI SNetDisconnectAll(DWORD flags);
extern "C" BOOL STORMAPI SNetCreateLadderGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, DWORD dwGameType, DWORD dwGameLadderType, DWORD dwGameModeFlags, char *GameTemplateData, int GameTemplateSize, int playerCount, char *creatorName, char *a11, int *playerID);
#define SNET_GAME_RESULT_WIN 1
#define SNET_GAME_RESULT_LOSS 2
#define SNET_GAME_RESULT_DRAW 3
#define SNET_GAME_RESULT_DISCONNECT 4
BOOL STORMAPI SNetReportGameResult(unsigned a1, int size, int *results, const char* headerInfo, const char* detailInfo);
extern "C" BOOL STORMAPI SNetReportGameResult(unsigned a1, int size, int *results, const char* headerInfo, const char* detailInfo);
int STORMAPI SNetSendLeagueCommand(char *cmd, char *callback);
int STORMAPI SNetSendReplayPath(int a1, int a2, char *replayPath);
int STORMAPI SNetGetLeagueName(int leagueID);
BOOL STORMAPI SNetGetPlayerNames(char **names);
int STORMAPI SNetLeagueLogout(char *bnetName);
int STORMAPI SNetGetLeaguePlayerName(char *curPlayerLeageName, size_t nameSize);
extern "C" int STORMAPI SNetSendLeagueCommand(char *cmd, char *callback);
extern "C" int STORMAPI SNetSendReplayPath(int a1, int a2, char *replayPath);
extern "C" int STORMAPI SNetGetLeagueName(int leagueID);
extern "C" BOOL STORMAPI SNetGetPlayerNames(char **names);
extern "C" int STORMAPI SNetLeagueLogout(char *bnetName);
extern "C" int STORMAPI SNetGetLeaguePlayerName(char *curPlayerLeageName, size_t nameSize);
HGDIOBJ STORMAPI SDlgDefDialogProc(HWND hDlg, signed int DlgType, HDC textLabel, HWND hWnd);
extern "C" HGDIOBJ STORMAPI SDlgDefDialogProc(HWND hDlg, signed int DlgType, HDC textLabel, HWND hWnd);
HANDLE STORMAPI SDlgDialogBoxIndirectParam(HMODULE hModule, LPCSTR lpName, HWND hWndParent, LPVOID lpParam, LPARAM lParam);
extern "C" HANDLE STORMAPI SDlgDialogBoxIndirectParam(HMODULE hModule, LPCSTR lpName, HWND hWndParent, LPVOID lpParam, LPARAM lParam);
BOOL STORMAPI SDlgEndDialog(HWND hDlg, HANDLE nResult);
extern "C" BOOL STORMAPI SDlgEndDialog(HWND hDlg, HANDLE nResult);
BOOL STORMAPI SDlgSetControlBitmaps(HWND parentwindow, int *id, int a3, char *buffer2, char *buffer, int flags, int mask);
extern "C" BOOL STORMAPI SDlgSetControlBitmaps(HWND parentwindow, int *id, int a3, char *buffer2, char *buffer, int flags, int mask);
/*
// lpCursorName can only be IDC_ARROW
BOOL STORMAPI SDlgSetSystemCursor(void *lpSrcBuffer, void *p_a2, LPSIZE lpSize, LPCSTR lpCursorName);
*/
BOOL STORMAPI SDlgBltToWindowE(HWND hWnd, HRGN a2, char *a3, int a4, void *buffer, RECT *rct, SIZE *size, int a8, int a9, DWORD rop);
BOOL STORMAPI SDlgSetBitmapE(HWND hWnd, int a2, char *src, int mask1, int flags, int a6, int a7, int width, int a9, int mask2);
extern "C" BOOL STORMAPI SDlgBltToWindowE(HWND hWnd, HRGN a2, char *a3, int a4, void *buffer, RECT *rct, SIZE *size, int a8, int a9, DWORD rop);
extern "C" BOOL STORMAPI SDlgSetBitmapE(HWND hWnd, int a2, char *src, int mask1, int flags, int a6, int a7, int width, int a9, int mask2);
int STORMAPI Ordinal224(int a1);
extern "C" int STORMAPI Ordinal224(int a1);
BOOL STORMAPI SFileCloseArchive(HANDLE hArchive);
BOOL STORMAPI SFileCloseFile(HANDLE hFile);
extern "C" BOOL STORMAPI SFileCloseArchive(HANDLE hArchive);
extern "C" BOOL STORMAPI SFileCloseFile(HANDLE hFile);
BOOL STORMAPI SFileDdaBeginEx(HANDLE directsound, DWORD flags, DWORD mask, unsigned __int32 lDistanceToMove, signed __int32 volume, signed int a6, int a7);
BOOL STORMAPI SFileDdaDestroy();
BOOL STORMAPI SFileDdaEnd(HANDLE directsound);
BOOL STORMAPI SFileDdaGetPos(HANDLE directsound, int a2, int a3);
extern "C" BOOL STORMAPI SFileDdaBeginEx(HANDLE directsound, DWORD flags, DWORD mask, unsigned __int32 lDistanceToMove, signed __int32 volume, signed int a6, int a7);
extern "C" BOOL STORMAPI SFileDdaDestroy();
extern "C" BOOL STORMAPI SFileDdaEnd(HANDLE directsound);
extern "C" BOOL STORMAPI SFileDdaGetPos(HANDLE directsound, int a2, int a3);
BOOL STORMAPI SFileDdaInitialize(HANDLE directsound);
BOOL STORMAPI SFileDdaSetVolume(HANDLE directsound, signed int bigvolume, signed int volume);
BOOL STORMAPI SFileDestroy();
extern "C" BOOL STORMAPI SFileDdaInitialize(HANDLE directsound);
extern "C" BOOL STORMAPI SFileDdaSetVolume(HANDLE directsound, signed int bigvolume, signed int volume);
extern "C" BOOL STORMAPI SFileDestroy();
BOOL STORMAPI SFileGetFileArchive(HANDLE hFile, HANDLE archive);
LONG STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
BOOL STORMAPI SFileOpenArchive(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq);
extern "C" BOOL STORMAPI SFileGetFileArchive(HANDLE hFile, HANDLE archive);
extern "C" LONG STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
extern "C" BOOL STORMAPI SFileOpenArchive(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq);
// values for dwFlags
enum MPQFlags
@ -493,8 +493,8 @@ enum MPQFlags
};
BOOL STORMAPI SFileOpenFile(const char *filename, HANDLE *phFile);
BOOL STORMAPI SFileOpenFileEx(HANDLE hMpq, const char *szFileName, DWORD dwSearchScope, HANDLE *phFile);
extern "C" BOOL STORMAPI SFileOpenFile(const char *filename, HANDLE *phFile);
extern "C" BOOL STORMAPI SFileOpenFileEx(HANDLE hMpq, const char *szFileName, DWORD dwSearchScope, HANDLE *phFile);
// values for dwSearchScope
enum SFileFlags
@ -505,22 +505,22 @@ enum SFileFlags
SFILE_FROM_DISK = 0x00000004
};
BOOL STORMAPI SFileReadFile(HANDLE hFile, void *buffer, DWORD nNumberOfBytesToRead, DWORD *read, LONG lpDistanceToMoveHigh);
extern "C" BOOL STORMAPI SFileReadFile(HANDLE hFile, void *buffer, DWORD nNumberOfBytesToRead, DWORD *read, LONG lpDistanceToMoveHigh);
void STORMAPI SFileSetLocale(LCID lcLocale);
extern "C" void STORMAPI SFileSetLocale(LCID lcLocale);
// mode: 0 - Silent (callback is NULL)
// 1 - Application Defined
// 2 - Handled by storm (callback is NULL)
// BOOL STORMAPI callback(const char *pszFilename, DWORD dwErrCode, DWORD dwErrCount)
BOOL STORMAPI SFileSetIoErrorMode(DWORD mode, BOOL (STORMAPI *callback)(const char*,DWORD,DWORD) );
extern "C" BOOL STORMAPI SFileSetIoErrorMode(DWORD mode, BOOL (STORMAPI *callback)(const char*,DWORD,DWORD) );
BOOL STORMAPI SFileGetArchiveName(HANDLE hArchive, char *name, int length);
BOOL STORMAPI SFileGetFileName(HANDLE hFile, char *buffer, int length);
extern "C" BOOL STORMAPI SFileGetArchiveName(HANDLE hArchive, char *name, int length);
extern "C" BOOL STORMAPI SFileGetFileName(HANDLE hFile, char *buffer, int length);
BOOL STORMAPI SFileLoadFile(char *filename, void *buffer, int buffersize, int a4, int a5);
BOOL STORMAPI SFileUnloadFile(HANDLE hFile);
BOOL STORMAPI SFileLoadFileEx(void *hArchive, char *filename, int a3, int a4, int a5, DWORD searchScope, struct _OVERLAPPED *lpOverlapped);
extern "C" BOOL STORMAPI SFileLoadFile(char *filename, void *buffer, int buffersize, int a4, int a5);
extern "C" BOOL STORMAPI SFileUnloadFile(HANDLE hFile);
extern "C" BOOL STORMAPI SFileLoadFileEx(void *hArchive, char *filename, int a3, int a4, int a5, DWORD searchScope, struct _OVERLAPPED *lpOverlapped);
// Options are DWORD except for #6
// 1: [TRUE|FALSE] - If true, reports resource leaks (SErrReportResourceLeak/SErrReportNamedResourceLeak) to the attached debugger instead of a message box.
@ -534,8 +534,8 @@ BOOL STORMAPI SFileLoadFileEx(void *hArchive, char *filename, int a3, int a4, in
//BOOL STORMAPI StormGetOption(int type, void *pValue, size_t *pSize);
//BOOL STORMAPI StormSetOption(int type, void *pValue, size_t size);
BOOL STORMAPI SBltROP3(void *lpDstBuffer, void *lpSrcBuffer, int srcDrawWidth, int srcDrawHeight, int dstWidth, int srcWidth, int a7, DWORD rop);
BOOL STORMAPI SBltROP3Clipped(void *lpDstBuffer, RECT *lpDstRect, POINT *lpDstPt, int a4, void *lpSrcBuffer, RECT *lpSrcRect, POINT *lpSrcPt, int a8, int a9, DWORD rop);
extern "C" BOOL STORMAPI SBltROP3(void *lpDstBuffer, void *lpSrcBuffer, int srcDrawWidth, int srcDrawHeight, int dstWidth, int srcWidth, int a7, DWORD rop);
extern "C" BOOL STORMAPI SBltROP3Clipped(void *lpDstBuffer, RECT *lpDstRect, POINT *lpDstPt, int a4, void *lpSrcBuffer, RECT *lpSrcRect, POINT *lpSrcPt, int a8, int a9, DWORD rop);
#define SBMP_DEFAULT 0
#define SBMP_BMP 1
@ -560,7 +560,7 @@ BOOL STORMAPI SBltROP3Clipped(void *lpDstBuffer, RECT *lpDstRect, POINT *lpDstPt
*
* Returns TRUE if the image was supported and decoded correctly, FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SBmpDecodeImage(
DWORD dwImgType,
@ -588,7 +588,7 @@ SBmpDecodeImage(
*
* Returns TRUE if the image was supported and loaded correctly, FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SBmpLoadImage(
const char *pszFileName,
@ -613,7 +613,7 @@ SBmpLoadImage(
*
* Returns TRUE if the image was saved correctly, FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SBmpSaveImage(
const char *pszFileName,
@ -624,14 +624,14 @@ SBmpSaveImage(
DWORD dwBpp = 8);
HANDLE STORMAPI SBmpAllocLoadImage(const char *fileName, PALETTEENTRY *palette, void **buffer, int *width, int *height, int unused6, int unused7, void *(STORMAPI *allocFunction)(DWORD));
extern "C" HANDLE STORMAPI SBmpAllocLoadImage(const char *fileName, PALETTEENTRY *palette, void **buffer, int *width, int *height, int unused6, int unused7, void *(STORMAPI *allocFunction)(DWORD));
BOOL STORMAPI SCodeCompile(char *directives1, char *directives2, char *loopstring, unsigned int maxiterations, unsigned int flags, HANDLE handle);
BOOL STORMAPI SCodeDelete(HANDLE handle);
extern "C" BOOL STORMAPI SCodeCompile(char *directives1, char *directives2, char *loopstring, unsigned int maxiterations, unsigned int flags, HANDLE handle);
extern "C" BOOL STORMAPI SCodeDelete(HANDLE handle);
int STORMAPI SCodeExecute(HANDLE handle, int a2);
extern "C" int STORMAPI SCodeExecute(HANDLE handle, int a2);
BOOL STORMAPI SDrawAutoInitialize(HINSTANCE hInst, LPCSTR lpClassName, LPCSTR lpWindowName, WNDPROC pfnWndProc, int nMode, int nWidth, int nHeight, int nBits);
extern "C" BOOL STORMAPI SDrawAutoInitialize(HINSTANCE hInst, LPCSTR lpClassName, LPCSTR lpWindowName, WNDPROC pfnWndProc, int nMode, int nWidth, int nHeight, int nBits);
/* SDrawCaptureScreen @ 342
@ -643,7 +643,7 @@ BOOL STORMAPI SDrawAutoInitialize(HINSTANCE hInst, LPCSTR lpClassName, LPCSTR lp
*
* Returns TRUE if successful and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawCaptureScreen(
const char *pszOutput);
@ -658,7 +658,7 @@ SDrawCaptureScreen(
*
* Returns the handle of the window.
*/
HWND
extern "C" HWND
STORMAPI
SDrawGetFrameWindow(
HWND *sdraw_framewindow = NULL);
@ -679,7 +679,7 @@ SDrawGetFrameWindow(
*
* Returns FALSE if the direct draw interface has not been initialized.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawGetObjects(
LPDIRECTDRAW *ddInterface = NULL,
@ -701,7 +701,7 @@ SDrawGetObjects(
*
* Returns FALSE if no variables were specified.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawGetScreenSize(
DWORD *pdwWidth,
@ -710,7 +710,7 @@ SDrawGetScreenSize(
// undefined
BOOL STORMAPI SDrawLockSurface(int surfacenumber, RECT *lpDestRect, void **lplpSurface, int *lpPitch, int arg_unused);
extern "C" BOOL STORMAPI SDrawLockSurface(int surfacenumber, RECT *lpDestRect, void **lplpSurface, int *lpPitch, int arg_unused);
/* SDrawManualInitialize @ 351
@ -731,7 +731,7 @@ BOOL STORMAPI SDrawLockSurface(int surfacenumber, RECT *lpDestRect, void **lplpS
*
* Returns FALSE if no variables were specified.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawManualInitialize(
HWND hWnd = NULL,
@ -751,7 +751,7 @@ SDrawManualInitialize(
*
* Returns TRUE if successful and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawPostClose();
@ -759,20 +759,20 @@ SDrawPostClose();
// undefined
//BOOL STORMAPI SDrawRealizePalette();
BOOL STORMAPI SDrawUnlockSurface(int surfacenumber, void *lpSurface, int a3, RECT *lpRect);
BOOL STORMAPI SDrawUpdatePalette(unsigned int firstentry, unsigned int numentries, PALETTEENTRY *pPalEntries, int a4);
extern "C" BOOL STORMAPI SDrawUnlockSurface(int surfacenumber, void *lpSurface, int a3, RECT *lpRect);
extern "C" BOOL STORMAPI SDrawUpdatePalette(unsigned int firstentry, unsigned int numentries, PALETTEENTRY *pPalEntries, int a4);
BOOL STORMAPI SEvtDispatch(DWORD dwMessageID, DWORD dwFlags, int type, PS_EVT pEvent);
extern "C" BOOL STORMAPI SEvtDispatch(DWORD dwMessageID, DWORD dwFlags, int type, PS_EVT pEvent);
BOOL STORMAPI SGdiDeleteObject(HANDLE handle);
extern "C" BOOL STORMAPI SGdiDeleteObject(HANDLE handle);
BOOL STORMAPI SGdiExtTextOut(int a1, int a2, int a3, int a4, unsigned int a8, signed int a6, signed int a7, const char *pszString, unsigned int arg20);
BOOL STORMAPI SGdiImportFont(HGDIOBJ handle, int windowsfont);
extern "C" BOOL STORMAPI SGdiExtTextOut(int a1, int a2, int a3, int a4, unsigned int a8, signed int a6, signed int a7, const char *pszString, unsigned int arg20);
extern "C" BOOL STORMAPI SGdiImportFont(HGDIOBJ handle, int windowsfont);
BOOL STORMAPI SGdiSelectObject(int handle);
BOOL STORMAPI SGdiSetPitch(int pitch);
extern "C" BOOL STORMAPI SGdiSelectObject(int handle);
extern "C" BOOL STORMAPI SGdiSetPitch(int pitch);
BOOL STORMAPI Ordinal393(char *pszString, int, int);
extern "C" BOOL STORMAPI Ordinal393(char *pszString, int, int);
/* SMemAlloc @ 401
@ -789,7 +789,7 @@ BOOL STORMAPI Ordinal393(char *pszString, int, int);
* Returns a pointer to the allocated memory. This pointer does NOT include
* the additional storm header.
*/
void*
extern "C" void*
STORMAPI
SMemAlloc(
size_t amount,
@ -812,7 +812,7 @@ SMemAlloc(
*
* Returns TRUE if the call was successful and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SMemFree(
void *location,
@ -838,7 +838,7 @@ SMemFree(
* Returns a pointer to the re-allocated memory. This pointer does NOT include
* the additional storm header.
*/
void*
extern "C" void*
STORMAPI
SMemReAlloc(
void *location,
@ -858,14 +858,14 @@ SMemReAlloc(
#define SLOG_EXCEPTION -5
BOOL STORMAPI SRegLoadData(const char *keyname, const char *valuename, int size, LPBYTE lpData, BYTE flags, LPDWORD lpcbData);
BOOL STORMAPI SRegLoadString(const char *keyname, const char *valuename, BYTE flags, char *buffer, size_t buffersize);
BOOL STORMAPI SRegLoadValue(const char *keyname, const char *valuename, BYTE flags, int *value);
BOOL STORMAPI SRegSaveData(const char *keyname, const char *valuename, int size, BYTE *lpData, DWORD cbData);
BOOL STORMAPI SRegSaveString(const char *keyname, const char *valuename, BYTE flags, char *string);
BOOL STORMAPI SRegSaveValue(const char *keyname, const char *valuename, BYTE flags, DWORD result);
extern "C" BOOL STORMAPI SRegLoadData(const char *keyname, const char *valuename, int size, LPBYTE lpData, BYTE flags, LPDWORD lpcbData);
extern "C" BOOL STORMAPI SRegLoadString(const char *keyname, const char *valuename, BYTE flags, char *buffer, size_t buffersize);
extern "C" BOOL STORMAPI SRegLoadValue(const char *keyname, const char *valuename, BYTE flags, int *value);
extern "C" BOOL STORMAPI SRegSaveData(const char *keyname, const char *valuename, int size, BYTE *lpData, DWORD cbData);
extern "C" BOOL STORMAPI SRegSaveString(const char *keyname, const char *valuename, BYTE flags, char *string);
extern "C" BOOL STORMAPI SRegSaveValue(const char *keyname, const char *valuename, BYTE flags, DWORD result);
BOOL STORMAPI SRegDeleteValue(const char *keyname, const char *valuename, BYTE flags);
extern "C" BOOL STORMAPI SRegDeleteValue(const char *keyname, const char *valuename, BYTE flags);
// Flags for SReg functions
@ -877,29 +877,29 @@ BOOL STORMAPI SRegDeleteValue(const char *keyname, const char *valuename, BYTE f
#define SREG_EXCLUDE_CURRENT_USER 0x00000004 // excludes checking the HKEY_CURRENT_USER hive
#define SREG_ABSOLUTE 0x00000010 // specifies that the key is not a relative key
BOOL STORMAPI STransBlt(void *lpSurface, int x, int y, int width, HANDLE hTrans);
BOOL STORMAPI STransBltUsingMask(void *lpDest, void *lpSource, int pitch, int width, HANDLE hTrans);
extern "C" BOOL STORMAPI STransBlt(void *lpSurface, int x, int y, int width, HANDLE hTrans);
extern "C" BOOL STORMAPI STransBltUsingMask(void *lpDest, void *lpSource, int pitch, int width, HANDLE hTrans);
BOOL STORMAPI STransDelete(HANDLE hTrans);
extern "C" BOOL STORMAPI STransDelete(HANDLE hTrans);
BOOL STORMAPI STransDuplicate(HANDLE hTransSource, HANDLE hTransDest);
BOOL STORMAPI STransIntersectDirtyArray(HANDLE hTrans, char * dirtyarraymask, unsigned flags, HANDLE * phTransResult);
BOOL STORMAPI STransInvertMask(HANDLE hTrans, HANDLE * phTransResult);
extern "C" BOOL STORMAPI STransDuplicate(HANDLE hTransSource, HANDLE hTransDest);
extern "C" BOOL STORMAPI STransIntersectDirtyArray(HANDLE hTrans, char * dirtyarraymask, unsigned flags, HANDLE * phTransResult);
extern "C" BOOL STORMAPI STransInvertMask(HANDLE hTrans, HANDLE * phTransResult);
BOOL STORMAPI STransSetDirtyArrayInfo(int width, int height, int depth, int bits);
extern "C" BOOL STORMAPI STransSetDirtyArrayInfo(int width, int height, int depth, int bits);
BOOL STORMAPI STransPointInMask(HANDLE hTrans, int x, int y); // Name is a pure guess
BOOL STORMAPI STransCombineMasks(HANDLE hTransA, HANDLE hTransB, int left, int top, int flags, HANDLE * phTransResult);
extern "C" BOOL STORMAPI STransPointInMask(HANDLE hTrans, int x, int y); // Name is a pure guess
extern "C" BOOL STORMAPI STransCombineMasks(HANDLE hTransA, HANDLE hTransB, int left, int top, int flags, HANDLE * phTransResult);
BOOL STORMAPI STransCreateE(void *pBuffer, int width, int height, int bpp, int a5, int bufferSize, HANDLE *phTransOut);
extern "C" BOOL STORMAPI STransCreateE(void *pBuffer, int width, int height, int bpp, int a5, int bufferSize, HANDLE *phTransOut);
BOOL STORMAPI SVidDestroy();
BOOL STORMAPI SVidGetSize(HANDLE video, int width, int height, int zero);
BOOL STORMAPI SVidInitialize(HANDLE video);
BOOL STORMAPI SVidPlayBegin(char *filename, int arg4, int a3, int a4, int a5, int a6, HANDLE* video);
extern "C" BOOL STORMAPI SVidDestroy();
extern "C" BOOL STORMAPI SVidGetSize(HANDLE video, int width, int height, int zero);
extern "C" BOOL STORMAPI SVidInitialize(HANDLE video);
extern "C" BOOL STORMAPI SVidPlayBegin(char *filename, int arg4, int a3, int a4, int a5, int a6, HANDLE* video);
BOOL STORMAPI SVidPlayContinueSingle(HANDLE video, int a2, int a3);
BOOL STORMAPI SVidPlayEnd(HANDLE video);
extern "C" BOOL STORMAPI SVidPlayContinueSingle(HANDLE video, int a2, int a3);
extern "C" BOOL STORMAPI SVidPlayEnd(HANDLE video);
/* SErrDisplayError @ 461
*
@ -916,7 +916,7 @@ BOOL STORMAPI SVidPlayEnd(HANDLE video);
*
* Returns TRUE if the user chose to continue execution, FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SErrDisplayError(
DWORD dwErrMsg,
@ -941,7 +941,7 @@ SErrDisplayError(
*
* Returns TRUE if the call was successful and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SErrGetErrorStr(
DWORD dwErrCode,
@ -958,7 +958,7 @@ SErrGetErrorStr(
*
* Returns the last error set within the Storm library.
*/
DWORD
extern "C" DWORD
STORMAPI
SErrGetLastError();
@ -974,7 +974,7 @@ SErrGetLastError();
*
* dwErrCode: The error code that will be set.
*/
void
extern "C" void
STORMAPI
SErrSetLastError(
DWORD dwErrCode = NO_ERROR);
@ -983,7 +983,7 @@ SErrSetLastError(
// void STORMAPI SErrReportNamedResourceLeak(const char *pszMsg, const char *pszSubMsg = nullptr)
// void STORMAPI SErrReportResourceLeak(const char *pszMsg)
void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
extern "C" void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
// Values for dwErrCode
#define STORM_ERROR_ASSERTION 0x85100000
@ -1032,7 +1032,7 @@ void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
* source: The source buffer.
* size: The number of bytes to copy.
*/
void
extern "C" void
STORMAPI
SMemCopy(
void *dest,
@ -1051,7 +1051,7 @@ SMemCopy(
* source: The size of the destination buffer.
* size: The format to use.
*/
void
extern "C" void
STORMAPI
SMemFill(
void *location,
@ -1067,7 +1067,7 @@ SMemFill(
* location: The location to write at.
* length: The amount of bytes to write.
*/
void
extern "C" void
STORMAPI
SMemZero(
void *location,
@ -1076,7 +1076,7 @@ SMemZero(
#define SMZero(l) (SMemZero(l, sizeof(l)))
int STORMAPI SMemCmp(void *location1, void *location2, DWORD size);
extern "C" int STORMAPI SMemCmp(void *location1, void *location2, DWORD size);
#define SMCmp(l,x) ( SMemCmp(l, x, __STORM_SSIZEMIN(x,l)) )
@ -1091,7 +1091,7 @@ int STORMAPI SMemCmp(void *location1, void *location2, DWORD size);
*
* Returns the number of characters copied.
*/
int
extern "C" int
STORMAPI
SStrCopy(
char *dest,
@ -1117,14 +1117,14 @@ SStrCopy(
*
* Returns the 32-bit hash of the string.
*/
DWORD
extern "C" DWORD
STORMAPI
SStrHash(
const char *string,
DWORD flags = 0,
DWORD Seed = 0);
int STORMAPI SStrNCat(char *dest, const char *src, DWORD max_length);
extern "C" int STORMAPI SStrNCat(char *dest, const char *src, DWORD max_length);
/* SStrLen @ 506
*
@ -1135,7 +1135,7 @@ int STORMAPI SStrNCat(char *dest, const char *src, DWORD max_length);
*
* Returns the length of the string.
*/
int
extern "C" int
STORMAPI
SStrLen(
const char *string);
@ -1150,7 +1150,7 @@ SStrLen(
*
* Returns 0 if strings are equal. See strcmp documentation for more details.
*/
int
extern "C" int
STORMAPI
SStrCmp(
const char *string1,
@ -1169,7 +1169,7 @@ SStrCmp(
*
* Returns 0 if strings are equal. See strcmpi documentation for more details.
*/
int
extern "C" int
STORMAPI
SStrCmpI(
const char *string1,
@ -1186,16 +1186,16 @@ SStrCmpI(
*
* Returns the same pointer given in the input.
*/
char*
extern "C" char*
STORMAPI
SStrUpper(
char* string);
void STORMAPI SRgn523(HANDLE hRgn, RECT *pRect, int a3, int a4);
void STORMAPI SRgnCreateRegion(HANDLE *hRgn, int a2);
void STORMAPI SRgnDeleteRegion(HANDLE hRgn);
extern "C" void STORMAPI SRgn523(HANDLE hRgn, RECT *pRect, int a3, int a4);
extern "C" void STORMAPI SRgnCreateRegion(HANDLE *hRgn, int a2);
extern "C" void STORMAPI SRgnDeleteRegion(HANDLE hRgn);
void STORMAPI SRgn529i(int handle, int a2, int a3);
extern "C" void STORMAPI SRgn529i(int handle, int a2, int a3);
/* SErrDisplayErrorFmt @ 562
@ -1213,7 +1213,7 @@ void STORMAPI SRgn529i(int handle, int a2, int a3);
*
* Returns TRUE if the user chose to continue execution, FALSE otherwise.
*/
BOOL
extern "C" BOOL
SErrDisplayErrorFmt(
DWORD dwErrMsg,
const char *logfilename,
@ -1230,7 +1230,7 @@ SErrDisplayErrorFmt(
* Registers a top-level exception filter managed entirely by Storm.
* The registered filter will display formatted exception information by calling SErrDisplayError.
*/
void
extern "C" void
STORMAPI
SErrCatchUnhandledExceptions();
@ -1245,14 +1245,14 @@ SErrCatchUnhandledExceptions();
*
* Returns a pointer to the first occurance of the character.
*/
char*
extern "C" char*
STORMAPI
SStrChr(
const char *string,
char c);
char *STORMAPI SStrChrR(const char *string, char c);
extern "C" char *STORMAPI SStrChrR(const char *string, char c);
/* SStrVPrintf @ 578
@ -1267,32 +1267,32 @@ char *STORMAPI SStrChrR(const char *string, char c);
*
* Returns the number of characters written.
*/
size_t
extern "C" size_t
SStrVPrintf(
char *dest,
size_t size,
const char *format, ...);
int STORMAPI SBigDel(void *buffer);
extern "C" int STORMAPI SBigDel(void *buffer);
int STORMAPI SBigFromBinary(void *buffer, const void *str, size_t size);
extern "C" int STORMAPI SBigFromBinary(void *buffer, const void *str, size_t size);
int STORMAPI SBigNew(void **buffer);
extern "C" int STORMAPI SBigNew(void **buffer);
int STORMAPI SBigPowMod(void *buffer1, void *buffer2, int a3, int a4);
extern "C" int STORMAPI SBigPowMod(void *buffer1, void *buffer2, int a3, int a4);
int STORMAPI SBigToBinaryBuffer(void *buffer, int length, int a3, int a4);
extern "C" int STORMAPI SBigToBinaryBuffer(void *buffer, int length, int a3, int a4);
extern "C" bool StormDestroy();
extern "C" void SDrawDestroy();
extern "C" bool __stdcall SFileSetBasePath(char *base_dir);
extern "C" void SDrawRealizePalette();
extern "C" bool SVidPlayContinue();
extern "C" bool __stdcall SNetGetOwnerTurnsWaiting(int *turns);
extern "C" bool __stdcall SNetSetBasePlayer(int base_player_num);
extern "C" int __stdcall SFileSetFilePointer(HANDLE file1, int offset, HANDLE file2, int whence);
bool StormDestroy();
void SDrawDestroy();
bool __stdcall SFileSetBasePath(char *base_dir);
void SDrawRealizePalette();
bool SVidPlayContinue();
bool __stdcall SNetGetOwnerTurnsWaiting(int *turns);
bool __stdcall SNetSetBasePlayer(int base_player_num);
int __stdcall SFileSetFilePointer(HANDLE file1, int offset, HANDLE file2, int whence);
extern "C" void __stdcall SDrawMessageBox(char *text, char *caption, int type);
void __stdcall SDrawMessageBox(char *text, char *caption, int type);
#endif

View File

@ -2,36 +2,53 @@ LIBRARY "Storm"
EXPORTS
SNetCreateGame @101 NONAME
SNetCreateGame@40 @101 NONAME
SNetDestroy @102 NONAME
SNetDestroy@0 @102 NONAME
SNetEnumProviders @103 NONAME
;SNetEnumDevices @104 NONAME
SNetEnumGames @105 NONAME
SNetDropPlayer @106 NONAME
SNetDropPlayer@8 @106 NONAME
SNetGetGameInfo @107 NONAME
SNetGetGameInfo@16 @107 NONAME
;SNetGetNetworkLatency @108 NONAME
SNetGetNumPlayers @109 NONAME
SNetGetOwnerTurnsWaiting @110 NONAME
SNetGetOwnerTurnsWaiting@4 @110 NONAME
;SNetGetPerformanceData @111 NONAME
SNetGetPlayerCaps @112 NONAME
SNetGetPlayerName @113 NONAME
SNetGetProviderCaps @114 NONAME
SNetGetProviderCaps@4 @114 NONAME
SNetGetTurnsInTransit @115 NONAME
SNetGetTurnsInTransit@4 @115 NONAME
SNetInitializeDevice @116 NONAME
SNetInitializeProvider @117 NONAME
SNetInitializeProvider@20 @117 NONAME
SNetJoinGame @118 NONAME
SNetLeaveGame @119 NONAME
SNetLeaveGame@4 @119 NONAME
SNetPerformUpgrade @120 NONAME
SNetPerformUpgrade@4 @120 NONAME
SNetReceiveMessage @121 NONAME
SNetReceiveMessage@12 @121 NONAME
SNetReceiveTurns @122 NONAME
SNetReceiveTurns@20 @122 NONAME
SNetRegisterEventHandler @123 NONAME
SNetRegisterEventHandler@8 @123 NONAME
;SNetResetLatencyMeasurements @124 NONAME
SNetSelectGame @125 NONAME
;SNetSelectProvider @126 NONAME
SNetSendMessage @127 NONAME
SNetSendMessage@12 @127 NONAME
SNetSendTurn @128 NONAME
SNetSendTurn@8 @128 NONAME
SNetSetBasePlayer @129 NONAME
SNetSetBasePlayer@4 @129 NONAME
SNetSetGameMode @130 NONAME
SNetUnregisterEventHandler @131 NONAME
SNetUnregisterEventHandler@8 @131 NONAME
SNetEnumGamesEx @133 NONAME
SNetSendServerChatCommand @134 NONAME
@ -78,25 +95,41 @@ EXPORTS
;SFileAuthenticateArchive @251 NONAME
SFileCloseArchive @252 NONAME
SFileCloseArchive@4 @252 NONAME
SFileCloseFile @253 NONAME
SFileCloseFile@4 @253 NONAME
;SFileDdaBegin @254 NONAME
SFileDdaBeginEx @255 NONAME
SFileDdaBeginEx@28 @255 NONAME
SFileDdaDestroy @256 NONAME
SFileDdaDestroy@0 @256 NONAME
SFileDdaEnd @257 NONAME
SFileDdaEnd@4 @257 NONAME
SFileDdaGetPos @258 NONAME
SFileDdaGetPos@12 @258 NONAME
;SFileDdaGetVolume @259 NONAME
SFileDdaInitialize @260 NONAME
SFileDdaInitialize@4 @260 NONAME
SFileDdaSetVolume @261 NONAME
SFileDdaSetVolume@12 @261 NONAME
SFileDestroy @262 NONAME
;SFileEnableDirectAccess @263 NONAME
SFileGetFileArchive @264 NONAME
SFileGetFileArchive@8 @264 NONAME
SFileGetFileSize @265 NONAME
SFileGetFileSize@8 @265 NONAME
SFileOpenArchive @266 NONAME
SFileOpenArchive@16 @266 NONAME
SFileOpenFile @267 NONAME
SFileOpenFile@8 @267 NONAME
SFileOpenFileEx @268 NONAME
SFileOpenFileEx@16 @268 NONAME
SFileReadFile @269 NONAME
SFileReadFile@20 @269 NONAME
SFileSetBasePath @270 NONAME
SFileSetBasePath@4 @270 NONAME
SFileSetFilePointer @271 NONAME
SFileSetFilePointer@16 @271 NONAME
SFileSetLocale @272 NONAME
;SFileGetBasePath @273 NONAME
SFileSetIoErrorMode @274 NONAME
@ -155,17 +188,21 @@ EXPORTS
SDrawDestroy @344 NONAME
;SDrawFlipPage @345 NONAME
SDrawGetFrameWindow @346 NONAME
SDrawGetFrameWindow@4 @346 NONAME
SDrawGetObjects @347 NONAME
SDrawGetScreenSize @348 NONAME
;SDrawGetServiceLevel @349 NONAME
SDrawLockSurface @350 NONAME
SDrawManualInitialize @351 NONAME
SDrawManualInitialize@32 @351 NONAME
SDrawMessageBox @352 NONAME
SDrawMessageBox@12 @352 NONAME
SDrawPostClose @353 NONAME
SDrawRealizePalette @354 NONAME
;SDrawSelectGdiSurface @355 NONAME
SDrawUnlockSurface @356 NONAME
SDrawUpdatePalette @357 NONAME
SDrawUpdatePalette@16 @357 NONAME
;SDrawUpdateScreen @358 NONAME
;SDrawWaitForVerticalBlank @359 NONAME
@ -194,8 +231,10 @@ EXPORTS
;SMem399 @399 NONAME
SMemAlloc @401 NONAME
SMemAlloc@16 @401 NONAME
;SMemDestroy @402 NONAME
SMemFree @403 NONAME
SMemFree@16 @403 NONAME
;SMemGetSize @404 NONAME
SMemReAlloc @405 NONAME
;Storm406 @406 NONAME
@ -210,11 +249,17 @@ EXPORTS
;SMsgPushRegisterState @419 NONAME
;SMsg420 @420 NONAME
SRegLoadData @421 NONAME
SRegLoadData@24 @421 NONAME
SRegLoadString @422 NONAME
SRegLoadString@20 @422 NONAME
SRegLoadValue @423 NONAME
SRegLoadValue@16 @423 NONAME
SRegSaveData @424 NONAME
SRegSaveData@20 @424 NONAME
SRegSaveString @425 NONAME
SRegSaveString@16 @425 NONAME
SRegSaveValue @426 NONAME
SRegSaveValue@16 @426 NONAME
;SRegGetBaseKey @427 NONAME
SRegDeleteValue @428 NONAME
;SReg429 @429 NONAME
@ -238,20 +283,27 @@ EXPORTS
;STransLoadE @447 NONAME
SVidDestroy @451 NONAME
SVidDestroy@0 @451 NONAME
SVidGetSize @452 NONAME
SVidInitialize @453 NONAME
SVidInitialize@4 @453 NONAME
SVidPlayBegin @454 NONAME
SVidPlayBegin@28 @454 NONAME
;SVidPlayBeginFromMemory @455 NONAME
SVidPlayContinue @456 NONAME
SVidPlayContinueSingle @457 NONAME
SVidPlayEnd @458 NONAME
SVidPlayEnd@4 @458 NONAME
;SVidSetVolume @459 NONAME
;Storm460 @460 NONAME
SErrDisplayError @461 NONAME
SErrGetErrorStr @462 NONAME
SErrGetErrorStr@12 @462 NONAME
SErrGetLastError @463 NONAME
SErrGetLastError@0 @463 NONAME
;SErrRegisterMessageSource @464 NONAME
SErrSetLastError @465 NONAME
SErrSetLastError@4 @465 NONAME
;SErrReportNamedResourceLeak @466 NONAME
;SErrReportResourceLeak @467 NONAME
SErrSuppressErrors @468 NONAME
@ -287,6 +339,7 @@ EXPORTS
;Ordinal498 @498 NONAME
SStrCopy @501 NONAME
SStrCopy@12 @501 NONAME
SStrHash @502 NONAME
SStrNCat @503 NONAME
;SStrTokenize @504 NONAME

View File

@ -61,11 +61,11 @@ typedef struct _WSIZE
#define GAMESTATE_REPLAY 0x80
BOOL STORMAPI SNetCreateGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, DWORD dwGameType, char *GameTemplateData, int GameTemplateSize, int playerCount, char *creatorName, char *a11, int *playerID);
BOOL STORMAPI SNetDestroy();
BOOL STORMAPI SNetEnumProviders(int (STORMAPI *callback)(DWORD, DWORD, DWORD, DWORD), int mincaps);
extern "C" BOOL STORMAPI SNetCreateGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, DWORD dwGameType, char *GameTemplateData, int GameTemplateSize, int playerCount, char *creatorName, char *a11, int *playerID);
extern "C" BOOL STORMAPI SNetDestroy();
extern "C" BOOL STORMAPI SNetEnumProviders(int (STORMAPI *callback)(DWORD, DWORD, DWORD, DWORD), int mincaps);
BOOL STORMAPI SNetEnumGames(int (STORMAPI *callback)(DWORD, DWORD, DWORD), int *hintnextcall);
extern "C" BOOL STORMAPI SNetEnumGames(int (STORMAPI *callback)(DWORD, DWORD, DWORD), int *hintnextcall);
/* SNetDropPlayer @ 106
*
@ -76,7 +76,7 @@ BOOL STORMAPI SNetEnumGames(int (STORMAPI *callback)(DWORD, DWORD, DWORD), int *
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetDropPlayer(
int playerid,
@ -94,7 +94,7 @@ SNetDropPlayer(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetGetGameInfo(
int type,
@ -116,7 +116,7 @@ SNetGetGameInfo(
#define GAMEINFO_PLAYERS 6
BOOL STORMAPI SNetGetNumPlayers(int *firstplayerid, int *lastplayerid, int *activeplayers);
extern "C" BOOL STORMAPI SNetGetNumPlayers(int *firstplayerid, int *lastplayerid, int *activeplayers);
typedef struct _CAPS
@ -133,7 +133,7 @@ typedef struct _CAPS
} CAPS, *PCAPS;
BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
extern "C" BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
/* SNetGetPlayerName @ 113
*
@ -145,7 +145,7 @@ BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetGetPlayerName(
int playerid,
@ -160,7 +160,7 @@ SNetGetPlayerName(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetGetProviderCaps(
PCAPS providerCaps);
@ -174,13 +174,13 @@ SNetGetProviderCaps(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetGetTurnsInTransit(
int *turns);
BOOL STORMAPI SNetInitializeDevice(int a1, int a2, int a3, int a4, int *a5);
extern "C" BOOL STORMAPI SNetInitializeDevice(int a1, int a2, int a3, int a4, int *a5);
// Network provider structures
typedef struct _client_info
@ -303,7 +303,7 @@ typedef struct _storm_head
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetInitializeProvider(
DWORD providerName,
@ -313,7 +313,7 @@ SNetInitializeProvider(
module_info *moduleData);
BOOL STORMAPI SNetJoinGame(int id, char *gameName, char *gamePassword, char *playerName, char *userStats, int *playerid);
extern "C" BOOL STORMAPI SNetJoinGame(int id, char *gameName, char *gamePassword, char *playerName, char *userStats, int *playerid);
/* SNetLeaveGame @ 119
*
@ -324,14 +324,14 @@ BOOL STORMAPI SNetJoinGame(int id, char *gameName, char *gamePassword, char *pla
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetLeaveGame(
int type);
BOOL STORMAPI SNetPerformUpgrade(DWORD *upgradestatus);
BOOL STORMAPI SNetReceiveMessage(int *senderplayerid, char **data, int *databytes);
BOOL STORMAPI SNetReceiveTurns(int a1, int arraysize, char **arraydata, unsigned int *arraydatabytes, DWORD *arrayplayerstatus);
extern "C" BOOL STORMAPI SNetPerformUpgrade(DWORD *upgradestatus);
extern "C" BOOL STORMAPI SNetReceiveMessage(int *senderplayerid, char **data, int *databytes);
extern "C" BOOL STORMAPI SNetReceiveTurns(int a1, int arraysize, char **arraydata, unsigned int *arraydatabytes, DWORD *arrayplayerstatus);
// Values for arrayplayerstatus
#define SNET_PS_OK 0
@ -351,9 +351,9 @@ typedef struct _s_evt
// @TODO: "type" is unknown.
HANDLE STORMAPI SNetRegisterEventHandler(int type, void (STORMAPI *sEvent)(PS_EVT));
extern "C" HANDLE STORMAPI SNetRegisterEventHandler(int type, void (STORMAPI *sEvent)(PS_EVT));
int STORMAPI SNetSelectGame(int a1, int a2, int a3, int a4, int a5, int *playerid);
extern "C" int STORMAPI SNetSelectGame(int a1, int a2, int a3, int a4, int a5, int *playerid);
/* SNetSendMessage @ 127
*
@ -370,7 +370,7 @@ int STORMAPI SNetSelectGame(int a1, int a2, int a3, int a4, int a5, int *player
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetSendMessage(
int playerID,
@ -394,7 +394,7 @@ SNetSendMessage(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetSendTurn(
char *data,
@ -420,7 +420,7 @@ SNetSendTurn(
*
* Returns TRUE if the function was called successfully and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SNetSetGameMode(
DWORD modeFlags,
@ -428,59 +428,59 @@ SNetSetGameMode(
#define SNMakeGamePublic() SNetSetGameMode( (DWORD mode, SNetGetGameInfo(GAMEINFO_MODEFLAGS, &mode, 4), mode), true)
BOOL STORMAPI SNetEnumGamesEx(int a1, int a2, int (__fastcall *callback)(DWORD, DWORD, DWORD), int *hintnextcall);
BOOL STORMAPI SNetSendServerChatCommand(const char *command);
extern "C" BOOL STORMAPI SNetEnumGamesEx(int a1, int a2, int (__fastcall *callback)(DWORD, DWORD, DWORD), int *hintnextcall);
extern "C" BOOL STORMAPI SNetSendServerChatCommand(const char *command);
BOOL STORMAPI SNetDisconnectAll(DWORD flags);
BOOL STORMAPI SNetCreateLadderGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, DWORD dwGameType, DWORD dwGameLadderType, DWORD dwGameModeFlags, char *GameTemplateData, int GameTemplateSize, int playerCount, char *creatorName, char *a11, int *playerID);
extern "C" BOOL STORMAPI SNetDisconnectAll(DWORD flags);
extern "C" BOOL STORMAPI SNetCreateLadderGame(const char *pszGameName, const char *pszGamePassword, const char *pszGameStatString, DWORD dwGameType, DWORD dwGameLadderType, DWORD dwGameModeFlags, char *GameTemplateData, int GameTemplateSize, int playerCount, char *creatorName, char *a11, int *playerID);
#define SNET_GAME_RESULT_WIN 1
#define SNET_GAME_RESULT_LOSS 2
#define SNET_GAME_RESULT_DRAW 3
#define SNET_GAME_RESULT_DISCONNECT 4
BOOL STORMAPI SNetReportGameResult(unsigned a1, int size, int *results, const char* headerInfo, const char* detailInfo);
extern "C" BOOL STORMAPI SNetReportGameResult(unsigned a1, int size, int *results, const char* headerInfo, const char* detailInfo);
int STORMAPI SNetSendLeagueCommand(char *cmd, char *callback);
int STORMAPI SNetSendReplayPath(int a1, int a2, char *replayPath);
int STORMAPI SNetGetLeagueName(int leagueID);
BOOL STORMAPI SNetGetPlayerNames(char **names);
int STORMAPI SNetLeagueLogout(char *bnetName);
int STORMAPI SNetGetLeaguePlayerName(char *curPlayerLeageName, size_t nameSize);
extern "C" int STORMAPI SNetSendLeagueCommand(char *cmd, char *callback);
extern "C" int STORMAPI SNetSendReplayPath(int a1, int a2, char *replayPath);
extern "C" int STORMAPI SNetGetLeagueName(int leagueID);
extern "C" BOOL STORMAPI SNetGetPlayerNames(char **names);
extern "C" int STORMAPI SNetLeagueLogout(char *bnetName);
extern "C" int STORMAPI SNetGetLeaguePlayerName(char *curPlayerLeageName, size_t nameSize);
HGDIOBJ STORMAPI SDlgDefDialogProc(HWND hDlg, signed int DlgType, HDC textLabel, HWND hWnd);
extern "C" HGDIOBJ STORMAPI SDlgDefDialogProc(HWND hDlg, signed int DlgType, HDC textLabel, HWND hWnd);
HANDLE STORMAPI SDlgDialogBoxIndirectParam(HMODULE hModule, LPCSTR lpName, HWND hWndParent, LPVOID lpParam, LPARAM lParam);
extern "C" HANDLE STORMAPI SDlgDialogBoxIndirectParam(HMODULE hModule, LPCSTR lpName, HWND hWndParent, LPVOID lpParam, LPARAM lParam);
BOOL STORMAPI SDlgEndDialog(HWND hDlg, HANDLE nResult);
extern "C" BOOL STORMAPI SDlgEndDialog(HWND hDlg, HANDLE nResult);
BOOL STORMAPI SDlgSetControlBitmaps(HWND parentwindow, int *id, int a3, char *buffer2, char *buffer, int flags, int mask);
extern "C" BOOL STORMAPI SDlgSetControlBitmaps(HWND parentwindow, int *id, int a3, char *buffer2, char *buffer, int flags, int mask);
/*
// lpCursorName can only be IDC_ARROW
BOOL STORMAPI SDlgSetSystemCursor(void *lpSrcBuffer, void *p_a2, LPSIZE lpSize, LPCSTR lpCursorName);
*/
BOOL STORMAPI SDlgBltToWindowE(HWND hWnd, HRGN a2, char *a3, int a4, void *buffer, RECT *rct, SIZE *size, int a8, int a9, DWORD rop);
BOOL STORMAPI SDlgSetBitmapE(HWND hWnd, int a2, char *src, int mask1, int flags, int a6, int a7, int width, int a9, int mask2);
extern "C" BOOL STORMAPI SDlgBltToWindowE(HWND hWnd, HRGN a2, char *a3, int a4, void *buffer, RECT *rct, SIZE *size, int a8, int a9, DWORD rop);
extern "C" BOOL STORMAPI SDlgSetBitmapE(HWND hWnd, int a2, char *src, int mask1, int flags, int a6, int a7, int width, int a9, int mask2);
int STORMAPI Ordinal224(int a1);
extern "C" int STORMAPI Ordinal224(int a1);
BOOL STORMAPI SFileCloseArchive(HANDLE hArchive);
BOOL STORMAPI SFileCloseFile(HANDLE hFile);
extern "C" BOOL STORMAPI SFileCloseArchive(HANDLE hArchive);
extern "C" BOOL STORMAPI SFileCloseFile(HANDLE hFile);
BOOL STORMAPI SFileDdaBeginEx(HANDLE directsound, DWORD flags, DWORD mask, unsigned __int32 lDistanceToMove, signed __int32 volume, signed int a6, int a7);
BOOL STORMAPI SFileDdaDestroy();
BOOL STORMAPI SFileDdaEnd(HANDLE directsound);
BOOL STORMAPI SFileDdaGetPos(HANDLE directsound, int a2, int a3);
extern "C" BOOL STORMAPI SFileDdaBeginEx(HANDLE directsound, DWORD flags, DWORD mask, unsigned __int32 lDistanceToMove, signed __int32 volume, signed int a6, int a7);
extern "C" BOOL STORMAPI SFileDdaDestroy();
extern "C" BOOL STORMAPI SFileDdaEnd(HANDLE directsound);
extern "C" BOOL STORMAPI SFileDdaGetPos(HANDLE directsound, int a2, int a3);
BOOL STORMAPI SFileDdaInitialize(HANDLE directsound);
BOOL STORMAPI SFileDdaSetVolume(HANDLE directsound, signed int bigvolume, signed int volume);
BOOL STORMAPI SFileDestroy();
extern "C" BOOL STORMAPI SFileDdaInitialize(HANDLE directsound);
extern "C" BOOL STORMAPI SFileDdaSetVolume(HANDLE directsound, signed int bigvolume, signed int volume);
extern "C" BOOL STORMAPI SFileDestroy();
BOOL STORMAPI SFileGetFileArchive(HANDLE hFile, HANDLE archive);
LONG STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
BOOL STORMAPI SFileOpenArchive(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq);
extern "C" BOOL STORMAPI SFileGetFileArchive(HANDLE hFile, HANDLE archive);
extern "C" LONG STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
extern "C" BOOL STORMAPI SFileOpenArchive(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq);
// values for dwFlags
enum MPQFlags
@ -492,8 +492,8 @@ enum MPQFlags
};
BOOL STORMAPI SFileOpenFile(const char *filename, HANDLE *phFile);
BOOL STORMAPI SFileOpenFileEx(HANDLE hMpq, const char *szFileName, DWORD dwSearchScope, HANDLE *phFile);
extern "C" BOOL STORMAPI SFileOpenFile(const char *filename, HANDLE *phFile);
extern "C" BOOL STORMAPI SFileOpenFileEx(HANDLE hMpq, const char *szFileName, DWORD dwSearchScope, HANDLE *phFile);
// values for dwSearchScope
enum SFileFlags
@ -504,22 +504,22 @@ enum SFileFlags
SFILE_FROM_DISK = 0x00000004
};
BOOL STORMAPI SFileReadFile(HANDLE hFile, void *buffer, DWORD nNumberOfBytesToRead, DWORD *read, LONG lpDistanceToMoveHigh);
extern "C" BOOL STORMAPI SFileReadFile(HANDLE hFile, void *buffer, DWORD nNumberOfBytesToRead, DWORD *read, LONG lpDistanceToMoveHigh);
void STORMAPI SFileSetLocale(LCID lcLocale);
extern "C" void STORMAPI SFileSetLocale(LCID lcLocale);
// mode: 0 - Silent (callback is NULL)
// 1 - Application Defined
// 2 - Handled by storm (callback is NULL)
// BOOL STORMAPI callback(const char *pszFilename, DWORD dwErrCode, DWORD dwErrCount)
BOOL STORMAPI SFileSetIoErrorMode(DWORD mode, BOOL (STORMAPI *callback)(const char*,DWORD,DWORD) );
extern "C" BOOL STORMAPI SFileSetIoErrorMode(DWORD mode, BOOL (STORMAPI *callback)(const char*,DWORD,DWORD) );
BOOL STORMAPI SFileGetArchiveName(HANDLE hArchive, char *name, int length);
BOOL STORMAPI SFileGetFileName(HANDLE hFile, char *buffer, int length);
extern "C" BOOL STORMAPI SFileGetArchiveName(HANDLE hArchive, char *name, int length);
extern "C" BOOL STORMAPI SFileGetFileName(HANDLE hFile, char *buffer, int length);
BOOL STORMAPI SFileLoadFile(char *filename, void *buffer, int buffersize, int a4, int a5);
BOOL STORMAPI SFileUnloadFile(HANDLE hFile);
BOOL STORMAPI SFileLoadFileEx(void *hArchive, char *filename, int a3, int a4, int a5, DWORD searchScope, struct _OVERLAPPED *lpOverlapped);
extern "C" BOOL STORMAPI SFileLoadFile(char *filename, void *buffer, int buffersize, int a4, int a5);
extern "C" BOOL STORMAPI SFileUnloadFile(HANDLE hFile);
extern "C" BOOL STORMAPI SFileLoadFileEx(void *hArchive, char *filename, int a3, int a4, int a5, DWORD searchScope, struct _OVERLAPPED *lpOverlapped);
// Options are DWORD except for #6
// 1: [TRUE|FALSE] - If true, reports resource leaks (SErrReportResourceLeak/SErrReportNamedResourceLeak) to the attached debugger instead of a message box.
@ -533,8 +533,8 @@ BOOL STORMAPI SFileLoadFileEx(void *hArchive, char *filename, int a3, int a4, in
//BOOL STORMAPI StormGetOption(int type, void *pValue, size_t *pSize);
//BOOL STORMAPI StormSetOption(int type, void *pValue, size_t size);
BOOL STORMAPI SBltROP3(void *lpDstBuffer, void *lpSrcBuffer, int srcDrawWidth, int srcDrawHeight, int dstWidth, int srcWidth, int a7, DWORD rop);
BOOL STORMAPI SBltROP3Clipped(void *lpDstBuffer, RECT *lpDstRect, POINT *lpDstPt, int a4, void *lpSrcBuffer, RECT *lpSrcRect, POINT *lpSrcPt, int a8, int a9, DWORD rop);
extern "C" BOOL STORMAPI SBltROP3(void *lpDstBuffer, void *lpSrcBuffer, int srcDrawWidth, int srcDrawHeight, int dstWidth, int srcWidth, int a7, DWORD rop);
extern "C" BOOL STORMAPI SBltROP3Clipped(void *lpDstBuffer, RECT *lpDstRect, POINT *lpDstPt, int a4, void *lpSrcBuffer, RECT *lpSrcRect, POINT *lpSrcPt, int a8, int a9, DWORD rop);
#define SBMP_DEFAULT 0
#define SBMP_BMP 1
@ -559,7 +559,7 @@ BOOL STORMAPI SBltROP3Clipped(void *lpDstBuffer, RECT *lpDstRect, POINT *lpDstPt
*
* Returns TRUE if the image was supported and decoded correctly, FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SBmpDecodeImage(
DWORD dwImgType,
@ -587,7 +587,7 @@ SBmpDecodeImage(
*
* Returns TRUE if the image was supported and loaded correctly, FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SBmpLoadImage(
const char *pszFileName,
@ -612,7 +612,7 @@ SBmpLoadImage(
*
* Returns TRUE if the image was saved correctly, FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SBmpSaveImage(
const char *pszFileName,
@ -623,14 +623,14 @@ SBmpSaveImage(
DWORD dwBpp = 8);
HANDLE STORMAPI SBmpAllocLoadImage(const char *fileName, PALETTEENTRY *palette, void **buffer, int *width, int *height, int unused6, int unused7, void *(STORMAPI *allocFunction)(DWORD));
extern "C" HANDLE STORMAPI SBmpAllocLoadImage(const char *fileName, PALETTEENTRY *palette, void **buffer, int *width, int *height, int unused6, int unused7, void *(STORMAPI *allocFunction)(DWORD));
BOOL STORMAPI SCodeCompile(char *directives1, char *directives2, char *loopstring, unsigned int maxiterations, unsigned int flags, HANDLE handle);
BOOL STORMAPI SCodeDelete(HANDLE handle);
extern "C" BOOL STORMAPI SCodeCompile(char *directives1, char *directives2, char *loopstring, unsigned int maxiterations, unsigned int flags, HANDLE handle);
extern "C" BOOL STORMAPI SCodeDelete(HANDLE handle);
int STORMAPI SCodeExecute(HANDLE handle, int a2);
extern "C" int STORMAPI SCodeExecute(HANDLE handle, int a2);
BOOL STORMAPI SDrawAutoInitialize(HINSTANCE hInst, LPCSTR lpClassName, LPCSTR lpWindowName, WNDPROC pfnWndProc, int nMode, int nWidth, int nHeight, int nBits);
extern "C" BOOL STORMAPI SDrawAutoInitialize(HINSTANCE hInst, LPCSTR lpClassName, LPCSTR lpWindowName, WNDPROC pfnWndProc, int nMode, int nWidth, int nHeight, int nBits);
/* SDrawCaptureScreen @ 342
@ -642,7 +642,7 @@ BOOL STORMAPI SDrawAutoInitialize(HINSTANCE hInst, LPCSTR lpClassName, LPCSTR lp
*
* Returns TRUE if successful and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawCaptureScreen(
const char *pszOutput);
@ -657,7 +657,7 @@ SDrawCaptureScreen(
*
* Returns the handle of the window.
*/
HWND
extern "C" HWND
STORMAPI
SDrawGetFrameWindow(
HWND *sdraw_framewindow = NULL);
@ -678,7 +678,7 @@ SDrawGetFrameWindow(
*
* Returns FALSE if the direct draw interface has not been initialized.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawGetObjects(
LPDIRECTDRAW *ddInterface = NULL,
@ -700,7 +700,7 @@ SDrawGetObjects(
*
* Returns FALSE if no variables were specified.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawGetScreenSize(
DWORD *pdwWidth,
@ -709,7 +709,7 @@ SDrawGetScreenSize(
// undefined
BOOL STORMAPI SDrawLockSurface(int surfacenumber, RECT *lpDestRect, void **lplpSurface, int *lpPitch, int arg_unused);
extern "C" BOOL STORMAPI SDrawLockSurface(int surfacenumber, RECT *lpDestRect, void **lplpSurface, int *lpPitch, int arg_unused);
/* SDrawManualInitialize @ 351
@ -730,7 +730,7 @@ BOOL STORMAPI SDrawLockSurface(int surfacenumber, RECT *lpDestRect, void **lplpS
*
* Returns FALSE if no variables were specified.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawManualInitialize(
HWND hWnd = NULL,
@ -750,7 +750,7 @@ SDrawManualInitialize(
*
* Returns TRUE if successful and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SDrawPostClose();
@ -758,20 +758,20 @@ SDrawPostClose();
// undefined
//BOOL STORMAPI SDrawRealizePalette();
BOOL STORMAPI SDrawUnlockSurface(int surfacenumber, void *lpSurface, int a3, RECT *lpRect);
BOOL STORMAPI SDrawUpdatePalette(unsigned int firstentry, unsigned int numentries, PALETTEENTRY *pPalEntries, int a4);
extern "C" BOOL STORMAPI SDrawUnlockSurface(int surfacenumber, void *lpSurface, int a3, RECT *lpRect);
extern "C" BOOL STORMAPI SDrawUpdatePalette(unsigned int firstentry, unsigned int numentries, PALETTEENTRY *pPalEntries, int a4);
BOOL STORMAPI SEvtDispatch(DWORD dwMessageID, DWORD dwFlags, int type, PS_EVT pEvent);
extern "C" BOOL STORMAPI SEvtDispatch(DWORD dwMessageID, DWORD dwFlags, int type, PS_EVT pEvent);
BOOL STORMAPI SGdiDeleteObject(HANDLE handle);
extern "C" BOOL STORMAPI SGdiDeleteObject(HANDLE handle);
BOOL STORMAPI SGdiExtTextOut(int a1, int a2, int a3, int a4, unsigned int a8, signed int a6, signed int a7, const char *pszString, unsigned int arg20);
BOOL STORMAPI SGdiImportFont(HGDIOBJ handle, int windowsfont);
extern "C" BOOL STORMAPI SGdiExtTextOut(int a1, int a2, int a3, int a4, unsigned int a8, signed int a6, signed int a7, const char *pszString, unsigned int arg20);
extern "C" BOOL STORMAPI SGdiImportFont(HGDIOBJ handle, int windowsfont);
BOOL STORMAPI SGdiSelectObject(int handle);
BOOL STORMAPI SGdiSetPitch(int pitch);
extern "C" BOOL STORMAPI SGdiSelectObject(int handle);
extern "C" BOOL STORMAPI SGdiSetPitch(int pitch);
BOOL STORMAPI Ordinal393(char *pszString, int, int);
extern "C" BOOL STORMAPI Ordinal393(char *pszString, int, int);
/* SMemAlloc @ 401
@ -788,7 +788,7 @@ BOOL STORMAPI Ordinal393(char *pszString, int, int);
* Returns a pointer to the allocated memory. This pointer does NOT include
* the additional storm header.
*/
void*
extern "C" void*
STORMAPI
SMemAlloc(
size_t amount,
@ -811,7 +811,7 @@ SMemAlloc(
*
* Returns TRUE if the call was successful and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SMemFree(
void *location,
@ -837,7 +837,7 @@ SMemFree(
* Returns a pointer to the re-allocated memory. This pointer does NOT include
* the additional storm header.
*/
void*
extern "C" void*
STORMAPI
SMemReAlloc(
void *location,
@ -857,14 +857,14 @@ SMemReAlloc(
#define SLOG_EXCEPTION -5
BOOL STORMAPI SRegLoadData(const char *keyname, const char *valuename, int size, LPBYTE lpData, BYTE flags, LPDWORD lpcbData);
BOOL STORMAPI SRegLoadString(const char *keyname, const char *valuename, BYTE flags, char *buffer, size_t buffersize);
BOOL STORMAPI SRegLoadValue(const char *keyname, const char *valuename, BYTE flags, int *value);
BOOL STORMAPI SRegSaveData(const char *keyname, const char *valuename, int size, BYTE *lpData, DWORD cbData);
BOOL STORMAPI SRegSaveString(const char *keyname, const char *valuename, BYTE flags, char *string);
BOOL STORMAPI SRegSaveValue(const char *keyname, const char *valuename, BYTE flags, DWORD result);
extern "C" BOOL STORMAPI SRegLoadData(const char *keyname, const char *valuename, int size, LPBYTE lpData, BYTE flags, LPDWORD lpcbData);
extern "C" BOOL STORMAPI SRegLoadString(const char *keyname, const char *valuename, BYTE flags, char *buffer, size_t buffersize);
extern "C" BOOL STORMAPI SRegLoadValue(const char *keyname, const char *valuename, BYTE flags, int *value);
extern "C" BOOL STORMAPI SRegSaveData(const char *keyname, const char *valuename, int size, BYTE *lpData, DWORD cbData);
extern "C" BOOL STORMAPI SRegSaveString(const char *keyname, const char *valuename, BYTE flags, char *string);
extern "C" BOOL STORMAPI SRegSaveValue(const char *keyname, const char *valuename, BYTE flags, DWORD result);
BOOL STORMAPI SRegDeleteValue(const char *keyname, const char *valuename, BYTE flags);
extern "C" BOOL STORMAPI SRegDeleteValue(const char *keyname, const char *valuename, BYTE flags);
// Flags for SReg functions
@ -876,29 +876,29 @@ BOOL STORMAPI SRegDeleteValue(const char *keyname, const char *valuename, BYTE f
#define SREG_EXCLUDE_CURRENT_USER 0x00000004 // excludes checking the HKEY_CURRENT_USER hive
#define SREG_ABSOLUTE 0x00000010 // specifies that the key is not a relative key
BOOL STORMAPI STransBlt(void *lpSurface, int x, int y, int width, HANDLE hTrans);
BOOL STORMAPI STransBltUsingMask(void *lpDest, void *lpSource, int pitch, int width, HANDLE hTrans);
extern "C" BOOL STORMAPI STransBlt(void *lpSurface, int x, int y, int width, HANDLE hTrans);
extern "C" BOOL STORMAPI STransBltUsingMask(void *lpDest, void *lpSource, int pitch, int width, HANDLE hTrans);
BOOL STORMAPI STransDelete(HANDLE hTrans);
extern "C" BOOL STORMAPI STransDelete(HANDLE hTrans);
BOOL STORMAPI STransDuplicate(HANDLE hTransSource, HANDLE hTransDest);
BOOL STORMAPI STransIntersectDirtyArray(HANDLE hTrans, char * dirtyarraymask, unsigned flags, HANDLE * phTransResult);
BOOL STORMAPI STransInvertMask(HANDLE hTrans, HANDLE * phTransResult);
extern "C" BOOL STORMAPI STransDuplicate(HANDLE hTransSource, HANDLE hTransDest);
extern "C" BOOL STORMAPI STransIntersectDirtyArray(HANDLE hTrans, char * dirtyarraymask, unsigned flags, HANDLE * phTransResult);
extern "C" BOOL STORMAPI STransInvertMask(HANDLE hTrans, HANDLE * phTransResult);
BOOL STORMAPI STransSetDirtyArrayInfo(int width, int height, int depth, int bits);
extern "C" BOOL STORMAPI STransSetDirtyArrayInfo(int width, int height, int depth, int bits);
BOOL STORMAPI STransPointInMask(HANDLE hTrans, int x, int y); // Name is a pure guess
BOOL STORMAPI STransCombineMasks(HANDLE hTransA, HANDLE hTransB, int left, int top, int flags, HANDLE * phTransResult);
extern "C" BOOL STORMAPI STransPointInMask(HANDLE hTrans, int x, int y); // Name is a pure guess
extern "C" BOOL STORMAPI STransCombineMasks(HANDLE hTransA, HANDLE hTransB, int left, int top, int flags, HANDLE * phTransResult);
BOOL STORMAPI STransCreateE(void *pBuffer, int width, int height, int bpp, int a5, int bufferSize, HANDLE *phTransOut);
extern "C" BOOL STORMAPI STransCreateE(void *pBuffer, int width, int height, int bpp, int a5, int bufferSize, HANDLE *phTransOut);
BOOL STORMAPI SVidDestroy();
BOOL STORMAPI SVidGetSize(HANDLE video, int width, int height, int zero);
BOOL STORMAPI SVidInitialize(HANDLE video);
BOOL STORMAPI SVidPlayBegin(char *filename, int arg4, int a3, int a4, int a5, int a6, HANDLE* video);
extern "C" BOOL STORMAPI SVidDestroy();
extern "C" BOOL STORMAPI SVidGetSize(HANDLE video, int width, int height, int zero);
extern "C" BOOL STORMAPI SVidInitialize(HANDLE video);
extern "C" BOOL STORMAPI SVidPlayBegin(char *filename, int arg4, int a3, int a4, int a5, int a6, HANDLE* video);
BOOL STORMAPI SVidPlayContinueSingle(HANDLE video, int a2, int a3);
BOOL STORMAPI SVidPlayEnd(HANDLE video);
extern "C" BOOL STORMAPI SVidPlayContinueSingle(HANDLE video, int a2, int a3);
extern "C" BOOL STORMAPI SVidPlayEnd(HANDLE video);
/* SErrDisplayError @ 461
*
@ -915,7 +915,7 @@ BOOL STORMAPI SVidPlayEnd(HANDLE video);
*
* Returns TRUE if the user chose to continue execution, FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SErrDisplayError(
DWORD dwErrMsg,
@ -940,7 +940,7 @@ SErrDisplayError(
*
* Returns TRUE if the call was successful and FALSE otherwise.
*/
BOOL
extern "C" BOOL
STORMAPI
SErrGetErrorStr(
DWORD dwErrCode,
@ -957,7 +957,7 @@ SErrGetErrorStr(
*
* Returns the last error set within the Storm library.
*/
DWORD
extern "C" DWORD
STORMAPI
SErrGetLastError();
@ -973,7 +973,7 @@ SErrGetLastError();
*
* dwErrCode: The error code that will be set.
*/
void
extern "C" void
STORMAPI
SErrSetLastError(
DWORD dwErrCode = NO_ERROR);
@ -982,7 +982,7 @@ SErrSetLastError(
// void STORMAPI SErrReportNamedResourceLeak(const char *pszMsg, const char *pszSubMsg = nullptr)
// void STORMAPI SErrReportResourceLeak(const char *pszMsg)
void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
extern "C" void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
// Values for dwErrCode
#define STORM_ERROR_ASSERTION 0x85100000
@ -1031,7 +1031,7 @@ void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
* source: The source buffer.
* size: The number of bytes to copy.
*/
void
extern "C" void
STORMAPI
SMemCopy(
void *dest,
@ -1050,7 +1050,7 @@ SMemCopy(
* source: The size of the destination buffer.
* size: The format to use.
*/
void
extern "C" void
STORMAPI
SMemFill(
void *location,
@ -1066,7 +1066,7 @@ SMemFill(
* location: The location to write at.
* length: The amount of bytes to write.
*/
void
extern "C" void
STORMAPI
SMemZero(
void *location,
@ -1075,7 +1075,7 @@ SMemZero(
#define SMZero(l) (SMemZero(l, sizeof(l)))
int STORMAPI SMemCmp(void *location1, void *location2, DWORD size);
extern "C" int STORMAPI SMemCmp(void *location1, void *location2, DWORD size);
#define SMCmp(l,x) ( SMemCmp(l, x, __STORM_SSIZEMIN(x,l)) )
@ -1090,7 +1090,7 @@ int STORMAPI SMemCmp(void *location1, void *location2, DWORD size);
*
* Returns the number of characters copied.
*/
int
extern "C" int
STORMAPI
SStrCopy(
char *dest,
@ -1116,14 +1116,14 @@ SStrCopy(
*
* Returns the 32-bit hash of the string.
*/
DWORD
extern "C" DWORD
STORMAPI
SStrHash(
const char *string,
DWORD flags = 0,
DWORD Seed = 0);
int STORMAPI SStrNCat(char *dest, const char *src, DWORD max_length);
extern "C" int STORMAPI SStrNCat(char *dest, const char *src, DWORD max_length);
/* SStrLen @ 506
*
@ -1134,7 +1134,7 @@ int STORMAPI SStrNCat(char *dest, const char *src, DWORD max_length);
*
* Returns the length of the string.
*/
int
extern "C" int
STORMAPI
SStrLen(
const char *string);
@ -1149,7 +1149,7 @@ SStrLen(
*
* Returns 0 if strings are equal. See strcmp documentation for more details.
*/
int
extern "C" int
STORMAPI
SStrCmp(
const char *string1,
@ -1168,7 +1168,7 @@ SStrCmp(
*
* Returns 0 if strings are equal. See strcmpi documentation for more details.
*/
int
extern "C" int
STORMAPI
SStrCmpI(
const char *string1,
@ -1185,16 +1185,16 @@ SStrCmpI(
*
* Returns the same pointer given in the input.
*/
char*
extern "C" char*
STORMAPI
SStrUpper(
char* string);
void STORMAPI SRgn523(HANDLE hRgn, RECT *pRect, int a3, int a4);
void STORMAPI SRgnCreateRegion(HANDLE *hRgn, int a2);
void STORMAPI SRgnDeleteRegion(HANDLE hRgn);
extern "C" void STORMAPI SRgn523(HANDLE hRgn, RECT *pRect, int a3, int a4);
extern "C" void STORMAPI SRgnCreateRegion(HANDLE *hRgn, int a2);
extern "C" void STORMAPI SRgnDeleteRegion(HANDLE hRgn);
void STORMAPI SRgn529i(int handle, int a2, int a3);
extern "C" void STORMAPI SRgn529i(int handle, int a2, int a3);
/* SErrDisplayErrorFmt @ 562
@ -1212,7 +1212,7 @@ void STORMAPI SRgn529i(int handle, int a2, int a3);
*
* Returns TRUE if the user chose to continue execution, FALSE otherwise.
*/
BOOL
extern "C" BOOL
SErrDisplayErrorFmt(
DWORD dwErrMsg,
const char *logfilename,
@ -1229,7 +1229,7 @@ SErrDisplayErrorFmt(
* Registers a top-level exception filter managed entirely by Storm.
* The registered filter will display formatted exception information by calling SErrDisplayError.
*/
void
extern "C" void
STORMAPI
SErrCatchUnhandledExceptions();
@ -1244,14 +1244,14 @@ SErrCatchUnhandledExceptions();
*
* Returns a pointer to the first occurance of the character.
*/
char*
extern "C" char*
STORMAPI
SStrChr(
const char *string,
char c);
char *STORMAPI SStrChrR(const char *string, char c);
extern "C" char *STORMAPI SStrChrR(const char *string, char c);
/* SStrVPrintf @ 578
@ -1266,34 +1266,35 @@ char *STORMAPI SStrChrR(const char *string, char c);
*
* Returns the number of characters written.
*/
size_t
extern "C" size_t
SStrVPrintf(
char *dest,
size_t size,
const char *format, ...);
int STORMAPI SBigDel(void *buffer);
extern "C" int STORMAPI SBigDel(void *buffer);
int STORMAPI SBigFromBinary(void *buffer, const void *str, size_t size);
extern "C" int STORMAPI SBigFromBinary(void *buffer, const void *str, size_t size);
int STORMAPI SBigNew(void **buffer);
extern "C" int STORMAPI SBigNew(void **buffer);
int STORMAPI SBigPowMod(void *buffer1, void *buffer2, int a3, int a4);
extern "C" int STORMAPI SBigPowMod(void *buffer1, void *buffer2, int a3, int a4);
int STORMAPI SBigToBinaryBuffer(void *buffer, int length, int a3, int a4);
extern "C" int STORMAPI SBigToBinaryBuffer(void *buffer, int length, int a3, int a4);
extern "C" void __stdcall SDrawMessageBox(char *,char *,int);
extern "C" void __cdecl SDrawDestroy(void);
extern "C" bool __cdecl StormDestroy(void);
extern "C" bool __stdcall SFileSetBasePath(char *);
extern "C" void __cdecl SDrawRealizePalette(void);
extern "C" bool __cdecl SVidPlayContinue(void);
extern "C" bool __stdcall SNetGetOwnerTurnsWaiting(int *);
extern "C" void * __stdcall SNetUnregisterEventHandler(int,void (__stdcall*)(struct _SNETEVENT *));
extern "C" void * __stdcall SNetRegisterEventHandler(int,void (__stdcall*)(struct _SNETEVENT *));
extern "C" bool __stdcall SNetSetBasePlayer(int);
extern "C" int __stdcall SNetInitializeProvider(unsigned long,struct _SNETPROGRAMDATA *,struct _SNETPLAYERDATA *,struct _SNETUIDATA *,struct _SNETVERSIONDATA *);
extern "C" int __stdcall SNetGetProviderCaps(struct _SNETCAPS *);
extern "C" int __stdcall SFileSetFilePointer(HANDLE,int,HANDLE,int);
void __stdcall SDrawMessageBox(char *,char *,int);
void __cdecl SDrawDestroy(void);
bool __cdecl StormDestroy(void);
bool __stdcall SFileSetBasePath(char *);
void __cdecl SDrawRealizePalette(void);
bool __cdecl SVidPlayContinue(void);
bool __stdcall SNetGetOwnerTurnsWaiting(int *);
void * __stdcall SNetUnregisterEventHandler(int,void (__stdcall*)(struct _SNETEVENT *));
void * __stdcall SNetRegisterEventHandler(int,void (__stdcall*)(struct _SNETEVENT *));
bool __stdcall SNetSetBasePlayer(int);
int __stdcall SNetInitializeProvider(unsigned long,struct _SNETPROGRAMDATA *,struct _SNETPLAYERDATA *,struct _SNETUIDATA *,struct _SNETVERSIONDATA *);
int __stdcall SNetGetProviderCaps(struct _SNETCAPS *);
int __stdcall SFileSetFilePointer(HANDLE,int,HANDLE,int);
#endif

View File

@ -9,29 +9,29 @@
*/
void __cdecl UiDestroy(); // { return; }
void __stdcall UiTitleDialog(int a1); // { return; }
void __cdecl UiInitialize(); // { return; }
void __stdcall UiCopyProtError(int a1); // { return; }
void __stdcall UiAppActivate(int a1); // { return; }
int __stdcall UiValidPlayerName(char *a1); // { return 0; }
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
void __stdcall UiCreditsDialog(int a1); // { return; }
int __stdcall UiMainMenuDialog(char *name, int *a2, void *fnSound, int a4); // { return 0; }
int __stdcall UiProgressDialog(HWND window, char *msg, int a3, void *fnfunc, int a5); // { return 0; }
int __cdecl UiProfileGetString(); // { return; }
void __cdecl UiProfileCallback(); // { return; }
void __cdecl UiProfileDraw(); // { return; }
void __cdecl UiCategoryCallback(); // { return; }
void __cdecl UiGetDataCallback(); // { return; }
void __cdecl UiAuthCallback(); // { return; }
void __cdecl UiSoundCallback(); // { return; }
void __cdecl UiMessageBoxCallback(); // { return; }
void __cdecl UiDrawDescCallback(); // { return; }
void __cdecl UiCreateGameCallback(); // { return; }
void __cdecl UiArtCallback(); // { return; }
int __stdcall UiSelectGame(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYERDATA *user_info, _SNETUIDATA *ui_info, _SNETVERSIONDATA *file_info, int *a6); // { return 0; }
int __stdcall UiSelectProvider(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYERDATA *user_info, _SNETUIDATA *ui_info, _SNETVERSIONDATA *file_info, int *type); // { return 0; }
int __stdcall UiCreatePlayerDescription(_uiheroinfo *info, int mode, char *desc); // { return 0; }
int __stdcall UiSetupPlayerInfo(char *str, _uiheroinfo *info, int mode); // { return 0; }
extern "C" void UiDestroy(); // { return; }
extern "C" void __stdcall UiTitleDialog(int a1); // { return; }
extern "C" void __cdecl UiInitialize(); // { return; }
extern "C" void __stdcall UiCopyProtError(int a1); // { return; }
extern "C" void __stdcall UiAppActivate(int a1); // { return; }
extern "C" int __stdcall UiValidPlayerName(char *a1); // { return 0; }
extern "C" int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
extern "C" int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
extern "C" void __stdcall UiCreditsDialog(int a1); // { return; }
extern "C" int __stdcall UiMainMenuDialog(char *name, int *a2, void *fnSound, int a4); // { return 0; }
extern "C" int __stdcall UiProgressDialog(HWND window, char *msg, int a3, void *fnfunc, int a5); // { return 0; }
extern "C" int __cdecl UiProfileGetString(); // { return; }
extern "C" void __cdecl UiProfileCallback(); // { return; }
extern "C" void __cdecl UiProfileDraw(); // { return; }
extern "C" void __cdecl UiCategoryCallback(); // { return; }
extern "C" void __cdecl UiGetDataCallback(); // { return; }
extern "C" void __cdecl UiAuthCallback(); // { return; }
extern "C" void __cdecl UiSoundCallback(); // { return; }
extern "C" void __cdecl UiMessageBoxCallback(); // { return; }
extern "C" void __cdecl UiDrawDescCallback(); // { return; }
extern "C" void __cdecl UiCreateGameCallback(); // { return; }
extern "C" void __cdecl UiArtCallback(); // { return; }
extern "C" int __stdcall UiSelectGame(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYERDATA *user_info, _SNETUIDATA *ui_info, _SNETVERSIONDATA *file_info, int *a6); // { return 0; }
extern "C" int __stdcall UiSelectProvider(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYERDATA *user_info, _SNETUIDATA *ui_info, _SNETVERSIONDATA *file_info, int *type); // { return 0; }
extern "C" int __stdcall UiCreatePlayerDescription(_uiheroinfo *info, int mode, char *desc); // { return 0; }
extern "C" int __stdcall UiSetupPlayerInfo(char *str, _uiheroinfo *info, int mode); // { return 0; }

24
Makefile Normal file
View File

@ -0,0 +1,24 @@
DIABLO_SRC=$(wildcard Source/*.cpp)
DIABLO_OBJ=$(DIABLO_SRC:.cpp=.o)
PKWARE_SRC=$(wildcard 3rdParty/PKWare/*.cpp)
PKWARE_OBJ=$(PKWARE_SRC:.cpp=.o)
all: diablo.exe
diablo.exe: $(DIABLO_OBJ) $(PKWARE_OBJ) storm.lib
i686-w64-mingw32-gcc -L./ -o $@ $^ -lgdi32 -lversion -ldiabloui -lstorm
%.o: %.cpp
i686-w64-mingw32-gcc -c -fpermissive -o $@ $<
storm.lib: storm.dll
i686-w64-mingw32-dlltool -d 3rdParty/Storm/Source/storm.def -D storm.dll -l storm.lib
storm.dll:
echo "Please copy storm.dll (version 1.09b) here."
clean:
rm -f $(DIABLO_OBJ) $(PKWARE_OBJ)
.PHONY: clean all