1
0
Fork 0

Fix build on Linux

pull/7/head
mewmew 2018-06-08 11:23:30 +02:00
parent 0da84fd997
commit f5f76f8b8a
23 changed files with 866 additions and 757 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 #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); 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);
BOOL STORMAPI SNetDestroy(); extern "C" BOOL STORMAPI SNetDestroy();
BOOL STORMAPI SNetEnumProviders(int (STORMAPI *callback)(DWORD, DWORD, DWORD, DWORD), int mincaps); 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 /* 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. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetDropPlayer( SNetDropPlayer(
int playerid, int playerid,
@ -94,7 +94,7 @@ SNetDropPlayer(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetGetGameInfo( SNetGetGameInfo(
int type, int type,
@ -116,7 +116,7 @@ SNetGetGameInfo(
#define GAMEINFO_PLAYERS 6 #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 typedef struct _CAPS
@ -133,7 +133,7 @@ typedef struct _CAPS
} CAPS, *PCAPS; } CAPS, *PCAPS;
BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps); extern "C" BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
/* SNetGetPlayerName @ 113 /* SNetGetPlayerName @ 113
* *
@ -145,7 +145,7 @@ BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetGetPlayerName( SNetGetPlayerName(
int playerid, int playerid,
@ -160,7 +160,7 @@ SNetGetPlayerName(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetGetProviderCaps( SNetGetProviderCaps(
_SNETCAPS *providerCaps); _SNETCAPS *providerCaps);
@ -174,13 +174,13 @@ SNetGetProviderCaps(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetGetTurnsInTransit( SNetGetTurnsInTransit(
int *turns); 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 // Network provider structures
typedef struct _client_info typedef struct _client_info
@ -303,17 +303,17 @@ typedef struct _storm_head
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetInitializeProvider( SNetInitializeProvider(
DWORD providerName, DWORD providerName,
_SNETPROGRAMDATA *gameClientInfo, _SNETPROGRAMDATA *gameClientInfo,
_SNETPLAYERDATA *userData, _SNETPLAYERDATA *userData,
_SNETUIDATA *bnCallbacks, _SNETUIDATA *bnCallbacks,
_SNETVERSIONDATA *moduleData); _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 /* 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. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetLeaveGame( SNetLeaveGame(
int type); int type);
BOOL STORMAPI SNetPerformUpgrade(DWORD *upgradestatus); extern "C" BOOL STORMAPI SNetPerformUpgrade(DWORD *upgradestatus);
BOOL STORMAPI SNetReceiveMessage(int *senderplayerid, char **data, int *databytes); extern "C" 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 SNetReceiveTurns(int a1, int arraysize, char **arraydata, unsigned int *arraydatabytes, DWORD *arrayplayerstatus);
// Values for arrayplayerstatus // Values for arrayplayerstatus
#define SNET_PS_OK 0 #define SNET_PS_OK 0
@ -351,10 +351,10 @@ typedef struct _s_evt
// @TODO: "type" is unknown. // @TODO: "type" is unknown.
HANDLE STORMAPI SNetRegisterEventHandler(int type, void (STORMAPI *sEvent)(_SNETEVENT *)); extern "C" HANDLE STORMAPI SNetRegisterEventHandler(int type, void (STORMAPI *sEvent)(_SNETEVENT));
HANDLE STORMAPI SNetUnregisterEventHandler(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 /* 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. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetSendMessage( SNetSendMessage(
int playerID, int playerID,
@ -395,7 +395,7 @@ SNetSendMessage(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetSendTurn( SNetSendTurn(
char *data, char *data,
@ -421,7 +421,7 @@ SNetSendTurn(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetSetGameMode( SNetSetGameMode(
DWORD modeFlags, DWORD modeFlags,
@ -429,59 +429,59 @@ SNetSetGameMode(
#define SNMakeGamePublic() SNetSetGameMode( (DWORD mode, SNetGetGameInfo(GAMEINFO_MODEFLAGS, &mode, 4), mode), true) #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); extern "C" 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 SNetSendServerChatCommand(const char *command);
BOOL STORMAPI SNetDisconnectAll(DWORD flags); extern "C" 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 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_WIN 1
#define SNET_GAME_RESULT_LOSS 2 #define SNET_GAME_RESULT_LOSS 2
#define SNET_GAME_RESULT_DRAW 3 #define SNET_GAME_RESULT_DRAW 3
#define SNET_GAME_RESULT_DISCONNECT 4 #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); extern "C" int STORMAPI SNetSendLeagueCommand(char *cmd, char *callback);
int STORMAPI SNetSendReplayPath(int a1, int a2, char *replayPath); extern "C" int STORMAPI SNetSendReplayPath(int a1, int a2, char *replayPath);
int STORMAPI SNetGetLeagueName(int leagueID); extern "C" int STORMAPI SNetGetLeagueName(int leagueID);
BOOL STORMAPI SNetGetPlayerNames(char **names); extern "C" BOOL STORMAPI SNetGetPlayerNames(char **names);
int STORMAPI SNetLeagueLogout(char *bnetName); extern "C" int STORMAPI SNetLeagueLogout(char *bnetName);
int STORMAPI SNetGetLeaguePlayerName(char *curPlayerLeageName, size_t nameSize); 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 // lpCursorName can only be IDC_ARROW
BOOL STORMAPI SDlgSetSystemCursor(void *lpSrcBuffer, void *p_a2, LPSIZE lpSize, LPCSTR lpCursorName); 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); 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);
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 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); extern "C" BOOL STORMAPI SFileCloseArchive(HANDLE hArchive);
BOOL STORMAPI SFileCloseFile(HANDLE hFile); 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); extern "C" BOOL STORMAPI SFileDdaBeginEx(HANDLE directsound, DWORD flags, DWORD mask, unsigned __int32 lDistanceToMove, signed __int32 volume, signed int a6, int a7);
BOOL STORMAPI SFileDdaDestroy(); extern "C" BOOL STORMAPI SFileDdaDestroy();
BOOL STORMAPI SFileDdaEnd(HANDLE directsound); extern "C" BOOL STORMAPI SFileDdaEnd(HANDLE directsound);
BOOL STORMAPI SFileDdaGetPos(HANDLE directsound, int a2, int a3); extern "C" BOOL STORMAPI SFileDdaGetPos(HANDLE directsound, int a2, int a3);
BOOL STORMAPI SFileDdaInitialize(HANDLE directsound); extern "C" BOOL STORMAPI SFileDdaInitialize(HANDLE directsound);
BOOL STORMAPI SFileDdaSetVolume(HANDLE directsound, signed int bigvolume, signed int volume); extern "C" BOOL STORMAPI SFileDdaSetVolume(HANDLE directsound, signed int bigvolume, signed int volume);
BOOL STORMAPI SFileDestroy(); extern "C" BOOL STORMAPI SFileDestroy();
BOOL STORMAPI SFileGetFileArchive(HANDLE hFile, HANDLE archive); extern "C" BOOL STORMAPI SFileGetFileArchive(HANDLE hFile, HANDLE archive);
LONG STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh); extern "C" LONG STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
BOOL STORMAPI SFileOpenArchive(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq); extern "C" BOOL STORMAPI SFileOpenArchive(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq);
// values for dwFlags // values for dwFlags
enum MPQFlags enum MPQFlags
@ -493,8 +493,8 @@ enum MPQFlags
}; };
BOOL STORMAPI SFileOpenFile(const char *filename, HANDLE *phFile); extern "C" BOOL STORMAPI SFileOpenFile(const char *filename, HANDLE *phFile);
BOOL STORMAPI SFileOpenFileEx(HANDLE hMpq, const char *szFileName, DWORD dwSearchScope, HANDLE *phFile); extern "C" BOOL STORMAPI SFileOpenFileEx(HANDLE hMpq, const char *szFileName, DWORD dwSearchScope, HANDLE *phFile);
// values for dwSearchScope // values for dwSearchScope
enum SFileFlags enum SFileFlags
@ -505,22 +505,22 @@ enum SFileFlags
SFILE_FROM_DISK = 0x00000004 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) // mode: 0 - Silent (callback is NULL)
// 1 - Application Defined // 1 - Application Defined
// 2 - Handled by storm (callback is NULL) // 2 - Handled by storm (callback is NULL)
// BOOL STORMAPI callback(const char *pszFilename, DWORD dwErrCode, DWORD dwErrCount) // 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); extern "C" BOOL STORMAPI SFileGetArchiveName(HANDLE hArchive, char *name, int length);
BOOL STORMAPI SFileGetFileName(HANDLE hFile, char *buffer, 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); extern "C" BOOL STORMAPI SFileLoadFile(char *filename, void *buffer, int buffersize, int a4, int a5);
BOOL STORMAPI SFileUnloadFile(HANDLE hFile); extern "C" 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 SFileLoadFileEx(void *hArchive, char *filename, int a3, int a4, int a5, DWORD searchScope, struct _OVERLAPPED *lpOverlapped);
// Options are DWORD except for #6 // 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. // 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 StormGetOption(int type, void *pValue, size_t *pSize);
//BOOL STORMAPI StormSetOption(int type, void *pValue, size_t size); //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); extern "C" 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 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_DEFAULT 0
#define SBMP_BMP 1 #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. * Returns TRUE if the image was supported and decoded correctly, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SBmpDecodeImage( SBmpDecodeImage(
DWORD dwImgType, DWORD dwImgType,
@ -588,7 +588,7 @@ SBmpDecodeImage(
* *
* Returns TRUE if the image was supported and loaded correctly, FALSE otherwise. * Returns TRUE if the image was supported and loaded correctly, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SBmpLoadImage( SBmpLoadImage(
const char *pszFileName, const char *pszFileName,
@ -613,7 +613,7 @@ SBmpLoadImage(
* *
* Returns TRUE if the image was saved correctly, FALSE otherwise. * Returns TRUE if the image was saved correctly, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SBmpSaveImage( SBmpSaveImage(
const char *pszFileName, const char *pszFileName,
@ -624,14 +624,14 @@ SBmpSaveImage(
DWORD dwBpp = 8); 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); extern "C" 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 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 /* SDrawCaptureScreen @ 342
@ -643,7 +643,7 @@ BOOL STORMAPI SDrawAutoInitialize(HINSTANCE hInst, LPCSTR lpClassName, LPCSTR lp
* *
* Returns TRUE if successful and FALSE otherwise. * Returns TRUE if successful and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawCaptureScreen( SDrawCaptureScreen(
const char *pszOutput); const char *pszOutput);
@ -658,7 +658,7 @@ SDrawCaptureScreen(
* *
* Returns the handle of the window. * Returns the handle of the window.
*/ */
HWND extern "C" HWND
STORMAPI STORMAPI
SDrawGetFrameWindow( SDrawGetFrameWindow(
HWND *sdraw_framewindow = NULL); HWND *sdraw_framewindow = NULL);
@ -679,7 +679,7 @@ SDrawGetFrameWindow(
* *
* Returns FALSE if the direct draw interface has not been initialized. * Returns FALSE if the direct draw interface has not been initialized.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawGetObjects( SDrawGetObjects(
LPDIRECTDRAW *ddInterface = NULL, LPDIRECTDRAW *ddInterface = NULL,
@ -701,7 +701,7 @@ SDrawGetObjects(
* *
* Returns FALSE if no variables were specified. * Returns FALSE if no variables were specified.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawGetScreenSize( SDrawGetScreenSize(
DWORD *pdwWidth, DWORD *pdwWidth,
@ -710,7 +710,7 @@ SDrawGetScreenSize(
// undefined // 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 /* SDrawManualInitialize @ 351
@ -731,7 +731,7 @@ BOOL STORMAPI SDrawLockSurface(int surfacenumber, RECT *lpDestRect, void **lplpS
* *
* Returns FALSE if no variables were specified. * Returns FALSE if no variables were specified.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawManualInitialize( SDrawManualInitialize(
HWND hWnd = NULL, HWND hWnd = NULL,
@ -751,7 +751,7 @@ SDrawManualInitialize(
* *
* Returns TRUE if successful and FALSE otherwise. * Returns TRUE if successful and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawPostClose(); SDrawPostClose();
@ -759,20 +759,20 @@ SDrawPostClose();
// undefined // undefined
//BOOL STORMAPI SDrawRealizePalette(); //BOOL STORMAPI SDrawRealizePalette();
BOOL STORMAPI SDrawUnlockSurface(int surfacenumber, void *lpSurface, int a3, RECT *lpRect); extern "C" 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 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); 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);
BOOL STORMAPI SGdiImportFont(HGDIOBJ handle, int windowsfont); extern "C" BOOL STORMAPI SGdiImportFont(HGDIOBJ handle, int windowsfont);
BOOL STORMAPI SGdiSelectObject(int handle); extern "C" BOOL STORMAPI SGdiSelectObject(int handle);
BOOL STORMAPI SGdiSetPitch(int pitch); 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 /* 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 * Returns a pointer to the allocated memory. This pointer does NOT include
* the additional storm header. * the additional storm header.
*/ */
void* extern "C" void*
STORMAPI STORMAPI
SMemAlloc( SMemAlloc(
size_t amount, size_t amount,
@ -812,7 +812,7 @@ SMemAlloc(
* *
* Returns TRUE if the call was successful and FALSE otherwise. * Returns TRUE if the call was successful and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SMemFree( SMemFree(
void *location, void *location,
@ -838,7 +838,7 @@ SMemFree(
* Returns a pointer to the re-allocated memory. This pointer does NOT include * Returns a pointer to the re-allocated memory. This pointer does NOT include
* the additional storm header. * the additional storm header.
*/ */
void* extern "C" void*
STORMAPI STORMAPI
SMemReAlloc( SMemReAlloc(
void *location, void *location,
@ -858,14 +858,14 @@ SMemReAlloc(
#define SLOG_EXCEPTION -5 #define SLOG_EXCEPTION -5
BOOL STORMAPI SRegLoadData(const char *keyname, const char *valuename, int size, LPBYTE lpData, BYTE flags, LPDWORD lpcbData); extern "C" 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); extern "C" 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); extern "C" 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); extern "C" 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); extern "C" 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 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 // 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_EXCLUDE_CURRENT_USER 0x00000004 // excludes checking the HKEY_CURRENT_USER hive
#define SREG_ABSOLUTE 0x00000010 // specifies that the key is not a relative key #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); extern "C" 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 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); extern "C" BOOL STORMAPI STransDuplicate(HANDLE hTransSource, HANDLE hTransDest);
BOOL STORMAPI STransIntersectDirtyArray(HANDLE hTrans, char * dirtyarraymask, unsigned flags, HANDLE * phTransResult); extern "C" BOOL STORMAPI STransIntersectDirtyArray(HANDLE hTrans, char * dirtyarraymask, unsigned flags, HANDLE * phTransResult);
BOOL STORMAPI STransInvertMask(HANDLE hTrans, 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 extern "C" 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 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(); extern "C" BOOL STORMAPI SVidDestroy();
BOOL STORMAPI SVidGetSize(HANDLE video, int width, int height, int zero); extern "C" BOOL STORMAPI SVidGetSize(HANDLE video, int width, int height, int zero);
BOOL STORMAPI SVidInitialize(HANDLE video); extern "C" 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 SVidPlayBegin(char *filename, int arg4, int a3, int a4, int a5, int a6, HANDLE* video);
BOOL STORMAPI SVidPlayContinueSingle(HANDLE video, int a2, int a3); extern "C" BOOL STORMAPI SVidPlayContinueSingle(HANDLE video, int a2, int a3);
BOOL STORMAPI SVidPlayEnd(HANDLE video); extern "C" BOOL STORMAPI SVidPlayEnd(HANDLE video);
/* SErrDisplayError @ 461 /* SErrDisplayError @ 461
* *
@ -916,7 +916,7 @@ BOOL STORMAPI SVidPlayEnd(HANDLE video);
* *
* Returns TRUE if the user chose to continue execution, FALSE otherwise. * Returns TRUE if the user chose to continue execution, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SErrDisplayError( SErrDisplayError(
DWORD dwErrMsg, DWORD dwErrMsg,
@ -941,7 +941,7 @@ SErrDisplayError(
* *
* Returns TRUE if the call was successful and FALSE otherwise. * Returns TRUE if the call was successful and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SErrGetErrorStr( SErrGetErrorStr(
DWORD dwErrCode, DWORD dwErrCode,
@ -958,7 +958,7 @@ SErrGetErrorStr(
* *
* Returns the last error set within the Storm library. * Returns the last error set within the Storm library.
*/ */
DWORD extern "C" DWORD
STORMAPI STORMAPI
SErrGetLastError(); SErrGetLastError();
@ -974,7 +974,7 @@ SErrGetLastError();
* *
* dwErrCode: The error code that will be set. * dwErrCode: The error code that will be set.
*/ */
void extern "C" void
STORMAPI STORMAPI
SErrSetLastError( SErrSetLastError(
DWORD dwErrCode = NO_ERROR); DWORD dwErrCode = NO_ERROR);
@ -983,7 +983,7 @@ SErrSetLastError(
// void STORMAPI SErrReportNamedResourceLeak(const char *pszMsg, const char *pszSubMsg = nullptr) // void STORMAPI SErrReportNamedResourceLeak(const char *pszMsg, const char *pszSubMsg = nullptr)
// void STORMAPI SErrReportResourceLeak(const char *pszMsg) // void STORMAPI SErrReportResourceLeak(const char *pszMsg)
void STORMAPI SErrSuppressErrors(BOOL suppressErrors); extern "C" void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
// Values for dwErrCode // Values for dwErrCode
#define STORM_ERROR_ASSERTION 0x85100000 #define STORM_ERROR_ASSERTION 0x85100000
@ -1032,7 +1032,7 @@ void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
* source: The source buffer. * source: The source buffer.
* size: The number of bytes to copy. * size: The number of bytes to copy.
*/ */
void extern "C" void
STORMAPI STORMAPI
SMemCopy( SMemCopy(
void *dest, void *dest,
@ -1051,7 +1051,7 @@ SMemCopy(
* source: The size of the destination buffer. * source: The size of the destination buffer.
* size: The format to use. * size: The format to use.
*/ */
void extern "C" void
STORMAPI STORMAPI
SMemFill( SMemFill(
void *location, void *location,
@ -1067,7 +1067,7 @@ SMemFill(
* location: The location to write at. * location: The location to write at.
* length: The amount of bytes to write. * length: The amount of bytes to write.
*/ */
void extern "C" void
STORMAPI STORMAPI
SMemZero( SMemZero(
void *location, void *location,
@ -1076,7 +1076,7 @@ SMemZero(
#define SMZero(l) (SMemZero(l, sizeof(l))) #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)) ) #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. * Returns the number of characters copied.
*/ */
int extern "C" int
STORMAPI STORMAPI
SStrCopy( SStrCopy(
char *dest, char *dest,
@ -1117,14 +1117,14 @@ SStrCopy(
* *
* Returns the 32-bit hash of the string. * Returns the 32-bit hash of the string.
*/ */
DWORD extern "C" DWORD
STORMAPI STORMAPI
SStrHash( SStrHash(
const char *string, const char *string,
DWORD flags = 0, DWORD flags = 0,
DWORD Seed = 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 /* SStrLen @ 506
* *
@ -1135,7 +1135,7 @@ int STORMAPI SStrNCat(char *dest, const char *src, DWORD max_length);
* *
* Returns the length of the string. * Returns the length of the string.
*/ */
int extern "C" int
STORMAPI STORMAPI
SStrLen( SStrLen(
const char *string); const char *string);
@ -1150,7 +1150,7 @@ SStrLen(
* *
* Returns 0 if strings are equal. See strcmp documentation for more details. * Returns 0 if strings are equal. See strcmp documentation for more details.
*/ */
int extern "C" int
STORMAPI STORMAPI
SStrCmp( SStrCmp(
const char *string1, const char *string1,
@ -1169,7 +1169,7 @@ SStrCmp(
* *
* Returns 0 if strings are equal. See strcmpi documentation for more details. * Returns 0 if strings are equal. See strcmpi documentation for more details.
*/ */
int extern "C" int
STORMAPI STORMAPI
SStrCmpI( SStrCmpI(
const char *string1, const char *string1,
@ -1186,16 +1186,16 @@ SStrCmpI(
* *
* Returns the same pointer given in the input. * Returns the same pointer given in the input.
*/ */
char* extern "C" char*
STORMAPI STORMAPI
SStrUpper( SStrUpper(
char* string); char* string);
void STORMAPI SRgn523(HANDLE hRgn, RECT *pRect, int a3, int a4); extern "C" void STORMAPI SRgn523(HANDLE hRgn, RECT *pRect, int a3, int a4);
void STORMAPI SRgnCreateRegion(HANDLE *hRgn, int a2); extern "C" void STORMAPI SRgnCreateRegion(HANDLE *hRgn, int a2);
void STORMAPI SRgnDeleteRegion(HANDLE hRgn); 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 /* 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. * Returns TRUE if the user chose to continue execution, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
SErrDisplayErrorFmt( SErrDisplayErrorFmt(
DWORD dwErrMsg, DWORD dwErrMsg,
const char *logfilename, const char *logfilename,
@ -1230,7 +1230,7 @@ SErrDisplayErrorFmt(
* Registers a top-level exception filter managed entirely by Storm. * Registers a top-level exception filter managed entirely by Storm.
* The registered filter will display formatted exception information by calling SErrDisplayError. * The registered filter will display formatted exception information by calling SErrDisplayError.
*/ */
void extern "C" void
STORMAPI STORMAPI
SErrCatchUnhandledExceptions(); SErrCatchUnhandledExceptions();
@ -1245,14 +1245,14 @@ SErrCatchUnhandledExceptions();
* *
* Returns a pointer to the first occurance of the character. * Returns a pointer to the first occurance of the character.
*/ */
char* extern "C" char*
STORMAPI STORMAPI
SStrChr( SStrChr(
const char *string, const char *string,
char c); char c);
char *STORMAPI SStrChrR(const char *string, char c); extern "C" char *STORMAPI SStrChrR(const char *string, char c);
/* SStrVPrintf @ 578 /* SStrVPrintf @ 578
@ -1267,32 +1267,32 @@ char *STORMAPI SStrChrR(const char *string, char c);
* *
* Returns the number of characters written. * Returns the number of characters written.
*/ */
size_t extern "C" size_t
SStrVPrintf( SStrVPrintf(
char *dest, char *dest,
size_t size, size_t size,
const char *format, ...); 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(); extern "C" void __stdcall SDrawMessageBox(char *text, char *caption, int type);
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);
void __stdcall SDrawMessageBox(char *text, char *caption, int type);
#endif #endif

View File

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

View File

@ -61,11 +61,11 @@ typedef struct _WSIZE
#define GAMESTATE_REPLAY 0x80 #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); 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);
BOOL STORMAPI SNetDestroy(); extern "C" BOOL STORMAPI SNetDestroy();
BOOL STORMAPI SNetEnumProviders(int (STORMAPI *callback)(DWORD, DWORD, DWORD, DWORD), int mincaps); 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 /* 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. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetDropPlayer( SNetDropPlayer(
int playerid, int playerid,
@ -94,7 +94,7 @@ SNetDropPlayer(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetGetGameInfo( SNetGetGameInfo(
int type, int type,
@ -116,7 +116,7 @@ SNetGetGameInfo(
#define GAMEINFO_PLAYERS 6 #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 typedef struct _CAPS
@ -133,7 +133,7 @@ typedef struct _CAPS
} CAPS, *PCAPS; } CAPS, *PCAPS;
BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps); extern "C" BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
/* SNetGetPlayerName @ 113 /* SNetGetPlayerName @ 113
* *
@ -145,7 +145,7 @@ BOOL STORMAPI SNetGetPlayerCaps(char playerid, PCAPS playerCaps);
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetGetPlayerName( SNetGetPlayerName(
int playerid, int playerid,
@ -160,7 +160,7 @@ SNetGetPlayerName(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetGetProviderCaps( SNetGetProviderCaps(
PCAPS providerCaps); PCAPS providerCaps);
@ -174,13 +174,13 @@ SNetGetProviderCaps(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetGetTurnsInTransit( SNetGetTurnsInTransit(
int *turns); 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 // Network provider structures
typedef struct _client_info typedef struct _client_info
@ -303,7 +303,7 @@ typedef struct _storm_head
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetInitializeProvider( SNetInitializeProvider(
DWORD providerName, DWORD providerName,
@ -313,7 +313,7 @@ SNetInitializeProvider(
module_info *moduleData); 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 /* 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. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetLeaveGame( SNetLeaveGame(
int type); int type);
BOOL STORMAPI SNetPerformUpgrade(DWORD *upgradestatus); extern "C" BOOL STORMAPI SNetPerformUpgrade(DWORD *upgradestatus);
BOOL STORMAPI SNetReceiveMessage(int *senderplayerid, char **data, int *databytes); extern "C" 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 SNetReceiveTurns(int a1, int arraysize, char **arraydata, unsigned int *arraydatabytes, DWORD *arrayplayerstatus);
// Values for arrayplayerstatus // Values for arrayplayerstatus
#define SNET_PS_OK 0 #define SNET_PS_OK 0
@ -351,9 +351,9 @@ typedef struct _s_evt
// @TODO: "type" is unknown. // @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 /* 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. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetSendMessage( SNetSendMessage(
int playerID, int playerID,
@ -394,7 +394,7 @@ SNetSendMessage(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetSendTurn( SNetSendTurn(
char *data, char *data,
@ -420,7 +420,7 @@ SNetSendTurn(
* *
* Returns TRUE if the function was called successfully and FALSE otherwise. * Returns TRUE if the function was called successfully and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SNetSetGameMode( SNetSetGameMode(
DWORD modeFlags, DWORD modeFlags,
@ -428,59 +428,59 @@ SNetSetGameMode(
#define SNMakeGamePublic() SNetSetGameMode( (DWORD mode, SNetGetGameInfo(GAMEINFO_MODEFLAGS, &mode, 4), mode), true) #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); extern "C" 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 SNetSendServerChatCommand(const char *command);
BOOL STORMAPI SNetDisconnectAll(DWORD flags); extern "C" 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 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_WIN 1
#define SNET_GAME_RESULT_LOSS 2 #define SNET_GAME_RESULT_LOSS 2
#define SNET_GAME_RESULT_DRAW 3 #define SNET_GAME_RESULT_DRAW 3
#define SNET_GAME_RESULT_DISCONNECT 4 #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); extern "C" int STORMAPI SNetSendLeagueCommand(char *cmd, char *callback);
int STORMAPI SNetSendReplayPath(int a1, int a2, char *replayPath); extern "C" int STORMAPI SNetSendReplayPath(int a1, int a2, char *replayPath);
int STORMAPI SNetGetLeagueName(int leagueID); extern "C" int STORMAPI SNetGetLeagueName(int leagueID);
BOOL STORMAPI SNetGetPlayerNames(char **names); extern "C" BOOL STORMAPI SNetGetPlayerNames(char **names);
int STORMAPI SNetLeagueLogout(char *bnetName); extern "C" int STORMAPI SNetLeagueLogout(char *bnetName);
int STORMAPI SNetGetLeaguePlayerName(char *curPlayerLeageName, size_t nameSize); 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 // lpCursorName can only be IDC_ARROW
BOOL STORMAPI SDlgSetSystemCursor(void *lpSrcBuffer, void *p_a2, LPSIZE lpSize, LPCSTR lpCursorName); 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); 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);
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 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); extern "C" BOOL STORMAPI SFileCloseArchive(HANDLE hArchive);
BOOL STORMAPI SFileCloseFile(HANDLE hFile); 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); extern "C" BOOL STORMAPI SFileDdaBeginEx(HANDLE directsound, DWORD flags, DWORD mask, unsigned __int32 lDistanceToMove, signed __int32 volume, signed int a6, int a7);
BOOL STORMAPI SFileDdaDestroy(); extern "C" BOOL STORMAPI SFileDdaDestroy();
BOOL STORMAPI SFileDdaEnd(HANDLE directsound); extern "C" BOOL STORMAPI SFileDdaEnd(HANDLE directsound);
BOOL STORMAPI SFileDdaGetPos(HANDLE directsound, int a2, int a3); extern "C" BOOL STORMAPI SFileDdaGetPos(HANDLE directsound, int a2, int a3);
BOOL STORMAPI SFileDdaInitialize(HANDLE directsound); extern "C" BOOL STORMAPI SFileDdaInitialize(HANDLE directsound);
BOOL STORMAPI SFileDdaSetVolume(HANDLE directsound, signed int bigvolume, signed int volume); extern "C" BOOL STORMAPI SFileDdaSetVolume(HANDLE directsound, signed int bigvolume, signed int volume);
BOOL STORMAPI SFileDestroy(); extern "C" BOOL STORMAPI SFileDestroy();
BOOL STORMAPI SFileGetFileArchive(HANDLE hFile, HANDLE archive); extern "C" BOOL STORMAPI SFileGetFileArchive(HANDLE hFile, HANDLE archive);
LONG STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh); extern "C" LONG STORMAPI SFileGetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
BOOL STORMAPI SFileOpenArchive(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq); extern "C" BOOL STORMAPI SFileOpenArchive(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq);
// values for dwFlags // values for dwFlags
enum MPQFlags enum MPQFlags
@ -492,8 +492,8 @@ enum MPQFlags
}; };
BOOL STORMAPI SFileOpenFile(const char *filename, HANDLE *phFile); extern "C" BOOL STORMAPI SFileOpenFile(const char *filename, HANDLE *phFile);
BOOL STORMAPI SFileOpenFileEx(HANDLE hMpq, const char *szFileName, DWORD dwSearchScope, HANDLE *phFile); extern "C" BOOL STORMAPI SFileOpenFileEx(HANDLE hMpq, const char *szFileName, DWORD dwSearchScope, HANDLE *phFile);
// values for dwSearchScope // values for dwSearchScope
enum SFileFlags enum SFileFlags
@ -504,22 +504,22 @@ enum SFileFlags
SFILE_FROM_DISK = 0x00000004 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) // mode: 0 - Silent (callback is NULL)
// 1 - Application Defined // 1 - Application Defined
// 2 - Handled by storm (callback is NULL) // 2 - Handled by storm (callback is NULL)
// BOOL STORMAPI callback(const char *pszFilename, DWORD dwErrCode, DWORD dwErrCount) // 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); extern "C" BOOL STORMAPI SFileGetArchiveName(HANDLE hArchive, char *name, int length);
BOOL STORMAPI SFileGetFileName(HANDLE hFile, char *buffer, 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); extern "C" BOOL STORMAPI SFileLoadFile(char *filename, void *buffer, int buffersize, int a4, int a5);
BOOL STORMAPI SFileUnloadFile(HANDLE hFile); extern "C" 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 SFileLoadFileEx(void *hArchive, char *filename, int a3, int a4, int a5, DWORD searchScope, struct _OVERLAPPED *lpOverlapped);
// Options are DWORD except for #6 // 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. // 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 StormGetOption(int type, void *pValue, size_t *pSize);
//BOOL STORMAPI StormSetOption(int type, void *pValue, size_t size); //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); extern "C" 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 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_DEFAULT 0
#define SBMP_BMP 1 #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. * Returns TRUE if the image was supported and decoded correctly, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SBmpDecodeImage( SBmpDecodeImage(
DWORD dwImgType, DWORD dwImgType,
@ -587,7 +587,7 @@ SBmpDecodeImage(
* *
* Returns TRUE if the image was supported and loaded correctly, FALSE otherwise. * Returns TRUE if the image was supported and loaded correctly, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SBmpLoadImage( SBmpLoadImage(
const char *pszFileName, const char *pszFileName,
@ -612,7 +612,7 @@ SBmpLoadImage(
* *
* Returns TRUE if the image was saved correctly, FALSE otherwise. * Returns TRUE if the image was saved correctly, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SBmpSaveImage( SBmpSaveImage(
const char *pszFileName, const char *pszFileName,
@ -623,14 +623,14 @@ SBmpSaveImage(
DWORD dwBpp = 8); 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); extern "C" 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 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 /* SDrawCaptureScreen @ 342
@ -642,7 +642,7 @@ BOOL STORMAPI SDrawAutoInitialize(HINSTANCE hInst, LPCSTR lpClassName, LPCSTR lp
* *
* Returns TRUE if successful and FALSE otherwise. * Returns TRUE if successful and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawCaptureScreen( SDrawCaptureScreen(
const char *pszOutput); const char *pszOutput);
@ -657,7 +657,7 @@ SDrawCaptureScreen(
* *
* Returns the handle of the window. * Returns the handle of the window.
*/ */
HWND extern "C" HWND
STORMAPI STORMAPI
SDrawGetFrameWindow( SDrawGetFrameWindow(
HWND *sdraw_framewindow = NULL); HWND *sdraw_framewindow = NULL);
@ -678,7 +678,7 @@ SDrawGetFrameWindow(
* *
* Returns FALSE if the direct draw interface has not been initialized. * Returns FALSE if the direct draw interface has not been initialized.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawGetObjects( SDrawGetObjects(
LPDIRECTDRAW *ddInterface = NULL, LPDIRECTDRAW *ddInterface = NULL,
@ -700,7 +700,7 @@ SDrawGetObjects(
* *
* Returns FALSE if no variables were specified. * Returns FALSE if no variables were specified.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawGetScreenSize( SDrawGetScreenSize(
DWORD *pdwWidth, DWORD *pdwWidth,
@ -709,7 +709,7 @@ SDrawGetScreenSize(
// undefined // 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 /* SDrawManualInitialize @ 351
@ -730,7 +730,7 @@ BOOL STORMAPI SDrawLockSurface(int surfacenumber, RECT *lpDestRect, void **lplpS
* *
* Returns FALSE if no variables were specified. * Returns FALSE if no variables were specified.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawManualInitialize( SDrawManualInitialize(
HWND hWnd = NULL, HWND hWnd = NULL,
@ -750,7 +750,7 @@ SDrawManualInitialize(
* *
* Returns TRUE if successful and FALSE otherwise. * Returns TRUE if successful and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SDrawPostClose(); SDrawPostClose();
@ -758,20 +758,20 @@ SDrawPostClose();
// undefined // undefined
//BOOL STORMAPI SDrawRealizePalette(); //BOOL STORMAPI SDrawRealizePalette();
BOOL STORMAPI SDrawUnlockSurface(int surfacenumber, void *lpSurface, int a3, RECT *lpRect); extern "C" 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 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); 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);
BOOL STORMAPI SGdiImportFont(HGDIOBJ handle, int windowsfont); extern "C" BOOL STORMAPI SGdiImportFont(HGDIOBJ handle, int windowsfont);
BOOL STORMAPI SGdiSelectObject(int handle); extern "C" BOOL STORMAPI SGdiSelectObject(int handle);
BOOL STORMAPI SGdiSetPitch(int pitch); 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 /* 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 * Returns a pointer to the allocated memory. This pointer does NOT include
* the additional storm header. * the additional storm header.
*/ */
void* extern "C" void*
STORMAPI STORMAPI
SMemAlloc( SMemAlloc(
size_t amount, size_t amount,
@ -811,7 +811,7 @@ SMemAlloc(
* *
* Returns TRUE if the call was successful and FALSE otherwise. * Returns TRUE if the call was successful and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SMemFree( SMemFree(
void *location, void *location,
@ -837,7 +837,7 @@ SMemFree(
* Returns a pointer to the re-allocated memory. This pointer does NOT include * Returns a pointer to the re-allocated memory. This pointer does NOT include
* the additional storm header. * the additional storm header.
*/ */
void* extern "C" void*
STORMAPI STORMAPI
SMemReAlloc( SMemReAlloc(
void *location, void *location,
@ -857,14 +857,14 @@ SMemReAlloc(
#define SLOG_EXCEPTION -5 #define SLOG_EXCEPTION -5
BOOL STORMAPI SRegLoadData(const char *keyname, const char *valuename, int size, LPBYTE lpData, BYTE flags, LPDWORD lpcbData); extern "C" 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); extern "C" 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); extern "C" 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); extern "C" 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); extern "C" 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 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 // 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_EXCLUDE_CURRENT_USER 0x00000004 // excludes checking the HKEY_CURRENT_USER hive
#define SREG_ABSOLUTE 0x00000010 // specifies that the key is not a relative key #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); extern "C" 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 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); extern "C" BOOL STORMAPI STransDuplicate(HANDLE hTransSource, HANDLE hTransDest);
BOOL STORMAPI STransIntersectDirtyArray(HANDLE hTrans, char * dirtyarraymask, unsigned flags, HANDLE * phTransResult); extern "C" BOOL STORMAPI STransIntersectDirtyArray(HANDLE hTrans, char * dirtyarraymask, unsigned flags, HANDLE * phTransResult);
BOOL STORMAPI STransInvertMask(HANDLE hTrans, 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 extern "C" 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 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(); extern "C" BOOL STORMAPI SVidDestroy();
BOOL STORMAPI SVidGetSize(HANDLE video, int width, int height, int zero); extern "C" BOOL STORMAPI SVidGetSize(HANDLE video, int width, int height, int zero);
BOOL STORMAPI SVidInitialize(HANDLE video); extern "C" 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 SVidPlayBegin(char *filename, int arg4, int a3, int a4, int a5, int a6, HANDLE* video);
BOOL STORMAPI SVidPlayContinueSingle(HANDLE video, int a2, int a3); extern "C" BOOL STORMAPI SVidPlayContinueSingle(HANDLE video, int a2, int a3);
BOOL STORMAPI SVidPlayEnd(HANDLE video); extern "C" BOOL STORMAPI SVidPlayEnd(HANDLE video);
/* SErrDisplayError @ 461 /* SErrDisplayError @ 461
* *
@ -915,7 +915,7 @@ BOOL STORMAPI SVidPlayEnd(HANDLE video);
* *
* Returns TRUE if the user chose to continue execution, FALSE otherwise. * Returns TRUE if the user chose to continue execution, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SErrDisplayError( SErrDisplayError(
DWORD dwErrMsg, DWORD dwErrMsg,
@ -940,7 +940,7 @@ SErrDisplayError(
* *
* Returns TRUE if the call was successful and FALSE otherwise. * Returns TRUE if the call was successful and FALSE otherwise.
*/ */
BOOL extern "C" BOOL
STORMAPI STORMAPI
SErrGetErrorStr( SErrGetErrorStr(
DWORD dwErrCode, DWORD dwErrCode,
@ -957,7 +957,7 @@ SErrGetErrorStr(
* *
* Returns the last error set within the Storm library. * Returns the last error set within the Storm library.
*/ */
DWORD extern "C" DWORD
STORMAPI STORMAPI
SErrGetLastError(); SErrGetLastError();
@ -973,7 +973,7 @@ SErrGetLastError();
* *
* dwErrCode: The error code that will be set. * dwErrCode: The error code that will be set.
*/ */
void extern "C" void
STORMAPI STORMAPI
SErrSetLastError( SErrSetLastError(
DWORD dwErrCode = NO_ERROR); DWORD dwErrCode = NO_ERROR);
@ -982,7 +982,7 @@ SErrSetLastError(
// void STORMAPI SErrReportNamedResourceLeak(const char *pszMsg, const char *pszSubMsg = nullptr) // void STORMAPI SErrReportNamedResourceLeak(const char *pszMsg, const char *pszSubMsg = nullptr)
// void STORMAPI SErrReportResourceLeak(const char *pszMsg) // void STORMAPI SErrReportResourceLeak(const char *pszMsg)
void STORMAPI SErrSuppressErrors(BOOL suppressErrors); extern "C" void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
// Values for dwErrCode // Values for dwErrCode
#define STORM_ERROR_ASSERTION 0x85100000 #define STORM_ERROR_ASSERTION 0x85100000
@ -1031,7 +1031,7 @@ void STORMAPI SErrSuppressErrors(BOOL suppressErrors);
* source: The source buffer. * source: The source buffer.
* size: The number of bytes to copy. * size: The number of bytes to copy.
*/ */
void extern "C" void
STORMAPI STORMAPI
SMemCopy( SMemCopy(
void *dest, void *dest,
@ -1050,7 +1050,7 @@ SMemCopy(
* source: The size of the destination buffer. * source: The size of the destination buffer.
* size: The format to use. * size: The format to use.
*/ */
void extern "C" void
STORMAPI STORMAPI
SMemFill( SMemFill(
void *location, void *location,
@ -1066,7 +1066,7 @@ SMemFill(
* location: The location to write at. * location: The location to write at.
* length: The amount of bytes to write. * length: The amount of bytes to write.
*/ */
void extern "C" void
STORMAPI STORMAPI
SMemZero( SMemZero(
void *location, void *location,
@ -1075,7 +1075,7 @@ SMemZero(
#define SMZero(l) (SMemZero(l, sizeof(l))) #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)) ) #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. * Returns the number of characters copied.
*/ */
int extern "C" int
STORMAPI STORMAPI
SStrCopy( SStrCopy(
char *dest, char *dest,
@ -1116,14 +1116,14 @@ SStrCopy(
* *
* Returns the 32-bit hash of the string. * Returns the 32-bit hash of the string.
*/ */
DWORD extern "C" DWORD
STORMAPI STORMAPI
SStrHash( SStrHash(
const char *string, const char *string,
DWORD flags = 0, DWORD flags = 0,
DWORD Seed = 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 /* SStrLen @ 506
* *
@ -1134,7 +1134,7 @@ int STORMAPI SStrNCat(char *dest, const char *src, DWORD max_length);
* *
* Returns the length of the string. * Returns the length of the string.
*/ */
int extern "C" int
STORMAPI STORMAPI
SStrLen( SStrLen(
const char *string); const char *string);
@ -1149,7 +1149,7 @@ SStrLen(
* *
* Returns 0 if strings are equal. See strcmp documentation for more details. * Returns 0 if strings are equal. See strcmp documentation for more details.
*/ */
int extern "C" int
STORMAPI STORMAPI
SStrCmp( SStrCmp(
const char *string1, const char *string1,
@ -1168,7 +1168,7 @@ SStrCmp(
* *
* Returns 0 if strings are equal. See strcmpi documentation for more details. * Returns 0 if strings are equal. See strcmpi documentation for more details.
*/ */
int extern "C" int
STORMAPI STORMAPI
SStrCmpI( SStrCmpI(
const char *string1, const char *string1,
@ -1185,16 +1185,16 @@ SStrCmpI(
* *
* Returns the same pointer given in the input. * Returns the same pointer given in the input.
*/ */
char* extern "C" char*
STORMAPI STORMAPI
SStrUpper( SStrUpper(
char* string); char* string);
void STORMAPI SRgn523(HANDLE hRgn, RECT *pRect, int a3, int a4); extern "C" void STORMAPI SRgn523(HANDLE hRgn, RECT *pRect, int a3, int a4);
void STORMAPI SRgnCreateRegion(HANDLE *hRgn, int a2); extern "C" void STORMAPI SRgnCreateRegion(HANDLE *hRgn, int a2);
void STORMAPI SRgnDeleteRegion(HANDLE hRgn); 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 /* 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. * Returns TRUE if the user chose to continue execution, FALSE otherwise.
*/ */
BOOL extern "C" BOOL
SErrDisplayErrorFmt( SErrDisplayErrorFmt(
DWORD dwErrMsg, DWORD dwErrMsg,
const char *logfilename, const char *logfilename,
@ -1229,7 +1229,7 @@ SErrDisplayErrorFmt(
* Registers a top-level exception filter managed entirely by Storm. * Registers a top-level exception filter managed entirely by Storm.
* The registered filter will display formatted exception information by calling SErrDisplayError. * The registered filter will display formatted exception information by calling SErrDisplayError.
*/ */
void extern "C" void
STORMAPI STORMAPI
SErrCatchUnhandledExceptions(); SErrCatchUnhandledExceptions();
@ -1244,14 +1244,14 @@ SErrCatchUnhandledExceptions();
* *
* Returns a pointer to the first occurance of the character. * Returns a pointer to the first occurance of the character.
*/ */
char* extern "C" char*
STORMAPI STORMAPI
SStrChr( SStrChr(
const char *string, const char *string,
char c); char c);
char *STORMAPI SStrChrR(const char *string, char c); extern "C" char *STORMAPI SStrChrR(const char *string, char c);
/* SStrVPrintf @ 578 /* SStrVPrintf @ 578
@ -1266,34 +1266,35 @@ char *STORMAPI SStrChrR(const char *string, char c);
* *
* Returns the number of characters written. * Returns the number of characters written.
*/ */
size_t extern "C" size_t
SStrVPrintf( SStrVPrintf(
char *dest, char *dest,
size_t size, size_t size,
const char *format, ...); 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 #endif

View File

@ -9,29 +9,29 @@
*/ */
void __cdecl UiDestroy(); // { return; } extern "C" void UiDestroy(); // { return; }
void __stdcall UiTitleDialog(int a1); // { return; } extern "C" void __stdcall UiTitleDialog(int a1); // { return; }
void __cdecl UiInitialize(); // { return; } extern "C" void __cdecl UiInitialize(); // { return; }
void __stdcall UiCopyProtError(int a1); // { return; } extern "C" void __stdcall UiCopyProtError(int a1); // { return; }
void __stdcall UiAppActivate(int a1); // { return; } extern "C" void __stdcall UiAppActivate(int a1); // { return; }
int __stdcall UiValidPlayerName(char *a1); // { return 0; } extern "C" 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; } extern "C" 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; } extern "C" 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; } extern "C" void __stdcall UiCreditsDialog(int a1); // { return; }
int __stdcall UiMainMenuDialog(char *name, int *a2, void *fnSound, int a4); // { return 0; } extern "C" 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; } extern "C" int __stdcall UiProgressDialog(HWND window, char *msg, int a3, void *fnfunc, int a5); // { return 0; }
int __cdecl UiProfileGetString(); // { return; } extern "C" int __cdecl UiProfileGetString(); // { return; }
void __cdecl UiProfileCallback(); // { return; } extern "C" void __cdecl UiProfileCallback(); // { return; }
void __cdecl UiProfileDraw(); // { return; } extern "C" void __cdecl UiProfileDraw(); // { return; }
void __cdecl UiCategoryCallback(); // { return; } extern "C" void __cdecl UiCategoryCallback(); // { return; }
void __cdecl UiGetDataCallback(); // { return; } extern "C" void __cdecl UiGetDataCallback(); // { return; }
void __cdecl UiAuthCallback(); // { return; } extern "C" void __cdecl UiAuthCallback(); // { return; }
void __cdecl UiSoundCallback(); // { return; } extern "C" void __cdecl UiSoundCallback(); // { return; }
void __cdecl UiMessageBoxCallback(); // { return; } extern "C" void __cdecl UiMessageBoxCallback(); // { return; }
void __cdecl UiDrawDescCallback(); // { return; } extern "C" void __cdecl UiDrawDescCallback(); // { return; }
void __cdecl UiCreateGameCallback(); // { return; } extern "C" void __cdecl UiCreateGameCallback(); // { return; }
void __cdecl UiArtCallback(); // { return; } extern "C" 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; } extern "C" 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; } extern "C" 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; } extern "C" int __stdcall UiCreatePlayerDescription(_uiheroinfo *info, int mode, char *desc); // { return 0; }
int __stdcall UiSetupPlayerInfo(char *str, _uiheroinfo *info, int mode); // { return 0; } extern "C" int __stdcall UiSetupPlayerInfo(char *str, _uiheroinfo *info, int mode); // { return 0; }

View File

@ -1,29 +1,48 @@
LIBRARY "DiabloUI" LIBRARY "DiabloUI"
EXPORTS EXPORTS
UiDestroy UiValidPlayerName @1 NONAME
UiTitleDialog UiValidPlayerName@4 @1 NONAME
UiInitialize UiAppActivate @2 NONAME
UiCopyProtError UiAppActivate@4 @2 NONAME
UiAppActivate UiArtCallback @3 NONAME
UiValidPlayerName UiAuthCallback @4 NONAME
UiSelHeroMultDialog UiBetaDisclaimer @5 NONAME
UiSelHeroSingDialog UiCategoryCallback @6 NONAME
UiCreditsDialog UiCopyProtError @7 NONAME
UiMainMenuDialog UiCreateGameCallback @8 NONAME
UiProgressDialog UiCreateGameCriteria @9 NONAME
UiProfileGetString UiCreatePlayerDescription @10 NONAME
UiProfileCallback UiCreatePlayerDescription@12 @10 NONAME
UiProfileDraw UiCreditsDialog @11 NONAME
UiCategoryCallback UiCreditsDialog@4 @11 NONAME
UiGetDataCallback UiDestroy @12 NONAME
UiAuthCallback UiDrawDescCallback @13 NONAME
UiSoundCallback UiGetDataCallback @14 NONAME
UiMessageBoxCallback UiGetDefaultStats @15 NONAME
UiDrawDescCallback UiInitialize @16 NONAME
UiCreateGameCallback UiMainMenuDialog @17 NONAME
UiArtCallback UiMainMenuDialog@16 @17 NONAME
UiSelectGame UiMessageBoxCallback @18 NONAME
UiSelectProvider UiOnPaint @19 NONAME
UiCreatePlayerDescription UiProfileCallback @20 NONAME
UiSetupPlayerInfo UiProfileDraw @21 NONAME
UiProfileGetString @22 NONAME
UiProgressDialog @23 NONAME
UiProgressDialog@20 @23 NONAME
UiSelHeroMultDialog @24 NONAME
UiSelHeroMultDialog@28 @24 NONAME
UiSelHeroSingDialog @25 NONAME
UiSelHeroSingDialog@28 @25 NONAME
UiSelectGame @26 NONAME
UiSelectGame@24 @26 NONAME
UiSelectProvider @27 NONAME
UiSelectProvider@24 @27 NONAME
UiSelectRegion @28 NONAME
UiSetBackgroundBitmap @29 NONAME
UiSetSpawned @30 NONAME
UiSetupPlayerInfo @31 NONAME
UiSetupPlayerInfo@12 @31 NONAME
UiSoundCallback @32 NONAME
UiTitleDialog @33 NONAME
UiTitleDialog@4 @33 NONAME

32
Makefile Normal file
View File

@ -0,0 +1,32 @@
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) diabloui.lib storm.lib
i686-w64-mingw32-gcc -L./ -o $@ $^ -lgdi32 -lversion -ldiabloui -lstorm
%.o: %.cpp
i686-w64-mingw32-gcc -c -fpermissive -o $@ $<
diabloui.lib: diabloui.dll DiabloUI/diabloui.def
i686-w64-mingw32-dlltool -d DiabloUI/diabloui.def -D diabloui.dll -l diabloui.lib
diabloui.dll:
echo "Please copy diabloui.dll (version 1.09b) here."
exit 1
storm.lib: storm.dll 3rdParty/Storm/Source/storm.def
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."
exit 1
clean:
rm -f $(DIABLO_OBJ) $(PKWARE_OBJ)
.PHONY: clean all

View File

@ -42,9 +42,9 @@ If you are experienced with reversing, help is needed to document and decompile
# Modding # Modding
Here are some screenshots of a few things I tinkered around with, to demonstrate what can be achieved. Here are some screenshots of a few things I tinkered around with, to demonstrate what can be achieved.
![Screenshot 1: Monster life](https://s22.postimg.cc/rfou2vfv5/diabdung.png "Monster life") Screenshot 1: Monster life https://postimg.cc/image/xgmizy2h9/
![Screenshot 2: New trade screen](https://s22.postimg.cc/z8fhuutk1/diabstore.png "New trade screen") Screenshot 2: New trade screen https://postimg.cc/image/nw2wd2kv1/
# Credits # Credits
- [sanctuary](https://github.com/sanctuary) - documenting the Windows-specific Diablo code (engine, mpq, directx) - [sanctuary](https://github.com/sanctuary) - documenting the Windows-specific Diablo code (engine, mpq, directx)

View File

@ -485,7 +485,7 @@ LABEL_10:
} }
v20 = &spelldata[1].sTownSpell; v20 = &spelldata[1].sTownSpell;
v4 = 1; v4 = 1;
v26 = 1i64; v26 = 1;
v23 = 1; v23 = 1;
v22 = xp - 216; v22 = xp - 216;
do do
@ -621,7 +621,7 @@ LABEL_66:
LABEL_68: LABEL_68:
v20 += 56; v20 += 56;
++v4; ++v4;
v26 *= 2i64; v26 *= 2;
v23 = v4; v23 = v4;
} }
while ( (signed int)v20 < (signed int)&spelldata[37].sTownSpell ); while ( (signed int)v20 < (signed int)&spelldata[37].sTownSpell );
@ -753,7 +753,7 @@ void __fastcall ToggleSpell(int slot)
v8 = plr[v3]._pAblSpells[0]; v8 = plr[v3]._pAblSpells[0];
v9 = plr[v3]._pAblSpells[1]; v9 = plr[v3]._pAblSpells[1];
} }
if ( v9 & ((unsigned __int64)(1i64 << ((unsigned char)v2 - 1)) >> 32) | v8 & (unsigned int)(1i64 << ((unsigned char)v2 - 1)) ) if ( v9 & ((unsigned __int64)(1 << ((unsigned char)v2 - 1)) >> 32) | v8 & (unsigned int)(1 << ((unsigned char)v2 - 1)) )
{ {
drawpanflag = 255; drawpanflag = 255;
plr[v3]._pRSpell = v12; plr[v3]._pRSpell = v12;
@ -2754,7 +2754,7 @@ int __fastcall GetSBookTrans(int ii, unsigned char townok)
v7 = townok; v7 = townok;
v6 = 1; v6 = 1;
v3 = myplr; v3 = myplr;
if ( ((unsigned __int64)(1i64 << ((unsigned char)ii - 1)) >> 32) & plr[v3]._pISpells[1] | (unsigned int)(1i64 << ((unsigned char)ii - 1)) & plr[v3]._pISpells[0] ) if ( ((unsigned __int64)(1 << ((unsigned char)ii - 1)) >> 32) & plr[v3]._pISpells[1] | (unsigned int)(1 << ((unsigned char)ii - 1)) & plr[v3]._pISpells[0] )
v6 = 3; v6 = 3;
result = plr[v3]._pAblSpells[1] & (1 << (ii - 1) >> 31) | plr[v3]._pAblSpells[0] & (1 << (ii - 1)); result = plr[v3]._pAblSpells[1] & (1 << (ii - 1) >> 31) | plr[v3]._pAblSpells[0] & (1 << (ii - 1));
if ( result ) if ( result )
@ -2800,7 +2800,7 @@ void __cdecl DrawSpellBook()
{ {
v2 = *(&attribute_inc_rects[3].h + v9 + 7 * sbooktab); v2 = *(&attribute_inc_rects[3].h + v9 + 7 * sbooktab);
if ( v2 != -1 if ( v2 != -1
&& v1 & ((unsigned __int64)(1i64 << ((unsigned char)v2 - 1)) >> 32) | v0 & (unsigned int)(1i64 << ((unsigned char)v2 - 1)) ) && v1 & ((unsigned __int64)(1 << ((unsigned char)v2 - 1)) >> 32) | v0 & (unsigned int)(1 << ((unsigned char)v2 - 1)) )
{ {
v7 = GetSBookTrans(v2, 1u); v7 = GetSBookTrans(v2, 1u);
SetSpellTrans(v7); SetSpellTrans(v7);
@ -2929,7 +2929,7 @@ void __cdecl CheckSBook()
v3 = myplr; v3 = myplr;
LODWORD(v6) = plr[myplr]._pAblSpells[0]; LODWORD(v6) = plr[myplr]._pAblSpells[0];
HIDWORD(v6) = plr[myplr]._pAblSpells[1]; HIDWORD(v6) = plr[myplr]._pAblSpells[1];
v4 = 1i64 << ((unsigned char)v2 - 1); v4 = 1 << ((unsigned char)v2 - 1);
if ( HIDWORD(v4) & (HIDWORD(v6) | plr[myplr]._pISpells[1] | plr[myplr]._pMemSpells[1]) | (unsigned int)v4 & ((unsigned int)v6 | plr[myplr]._pISpells[0] | plr[myplr]._pMemSpells[0]) ) if ( HIDWORD(v4) & (HIDWORD(v6) | plr[myplr]._pISpells[1] | plr[myplr]._pMemSpells[1]) | (unsigned int)v4 & ((unsigned int)v6 | plr[myplr]._pISpells[0] | plr[myplr]._pMemSpells[0]) )
{ {
v5 = 3; v5 = 3;

View File

@ -13,29 +13,29 @@
TMenuItem sgSingleMenu[6] = TMenuItem sgSingleMenu[6] =
{ {
{ 0x80000000, "Save Game", &gamemenu_save_game }, { -2147483648, "Save Game", &gamemenu_save_game },
{ 0x80000000, "Options", &gamemenu_options }, { -2147483648, "Options", &gamemenu_options },
{ 0x80000000, "New Game", &gamemenu_new_game }, { -2147483648, "New Game", &gamemenu_new_game },
{ 0x80000000, "Load Game", &gamemenu_load_game }, { -2147483648, "Load Game", &gamemenu_load_game },
{ 0x80000000, "Quit Diablo", &gamemenu_quit_game }, { -2147483648, "Quit Diablo", &gamemenu_quit_game },
{ 0x80000000, NULL, NULL } { -2147483648, NULL, NULL }
}; };
TMenuItem sgMultiMenu[5] = TMenuItem sgMultiMenu[5] =
{ {
{ 0x80000000, "Options", &gamemenu_options }, { -2147483648, "Options", &gamemenu_options },
{ 0x80000000, "New Game", &gamemenu_new_game }, { -2147483648, "New Game", &gamemenu_new_game },
{ 0x80000000, "Restart In Town", &gamemenu_restart_town }, { -2147483648, "Restart In Town", &gamemenu_restart_town },
{ 0x80000000, "Quit Diablo", &gamemenu_quit_game }, { -2147483648, "Quit Diablo", &gamemenu_quit_game },
{ 0x80000000, NULL, NULL } { -2147483648, NULL, NULL }
}; };
TMenuItem sgOptionMenu[6] = TMenuItem sgOptionMenu[6] =
{ {
{ 0xC0000000, NULL, (void (__cdecl *)(void))&gamemenu_music_volume }, { -1073741824, NULL, (void (__cdecl *)(void))&gamemenu_music_volume },
{ 0xC0000000, NULL, (void (__cdecl *)(void))&gamemenu_sound_volume }, { -1073741824, NULL, (void (__cdecl *)(void))&gamemenu_sound_volume },
{ 0xC0000000, "Gamma", (void (__cdecl *)(void))&gamemenu_gamma }, { -1073741824, "Gamma", (void (__cdecl *)(void))&gamemenu_gamma },
{ 0x80000000, NULL, &gamemenu_color_cycling }, { -2147483648, NULL, &gamemenu_color_cycling },
{ 0x80000000, "Previous Menu", &gamemenu_previous }, { -2147483648, "Previous Menu", &gamemenu_previous },
{ 0x80000000, NULL, NULL } { -2147483648, NULL, NULL }
}; };
char *music_toggle_names[] = { "Music", "Music Disabled" }; char *music_toggle_names[] = { "Music", "Music Disabled" };
char *sound_toggle_names[] = { "Sound", "Sound Disabled" }; char *sound_toggle_names[] = { "Sound", "Sound Disabled" };

View File

@ -543,7 +543,7 @@ LRESULT __stdcall init_redraw_window(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM
} }
//----- (0041B184) -------------------------------------------------------- //----- (0041B184) --------------------------------------------------------
LRESULT (__stdcall *__fastcall SetWindowProc(void *func))(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) LRESULT (__stdcall *SetWindowProc(void *func))(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
LRESULT (__stdcall *result)(HWND, UINT, WPARAM, LPARAM); // eax LRESULT (__stdcall *result)(HWND, UINT, WPARAM, LPARAM); // eax

View File

@ -40,7 +40,7 @@ void __cdecl init_get_file_info();
LRESULT __stdcall init_palette(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); LRESULT __stdcall init_palette(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
void __fastcall init_activate_window(HWND hWnd, bool activated); void __fastcall init_activate_window(HWND hWnd, bool activated);
LRESULT __stdcall init_redraw_window(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); LRESULT __stdcall init_redraw_window(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
LRESULT (__stdcall *__fastcall SetWindowProc(void *func))(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); LRESULT (__stdcall *SetWindowProc(void *func))(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
/* data */ /* data */
extern int init_inf; // weak extern int init_inf; // weak

View File

@ -851,7 +851,7 @@ void __fastcall CalcPlrItemVals(int p, bool Loadgfx)
v60 = 0; v60 = 0;
v52 = 0; v52 = 0;
v61 = 0; v61 = 0;
v37 = 0i64; v37 = 0;
v49 = 0; v49 = 0;
v48 = 0; v48 = 0;
v47 = 0; v47 = 0;
@ -878,7 +878,7 @@ void __fastcall CalcPlrItemVals(int p, bool Loadgfx)
v40 = v3; v40 = v3;
v41 = v2; v41 = v2;
if ( v7 ) if ( v7 )
v37 |= 1i64 << ((unsigned char)v7 - 1); v37 |= 1 << ((unsigned char)v7 - 1);
if ( !*((_BYTE *)v6 - 296) || *(v6 - 75) ) if ( !*((_BYTE *)v6 - 296) || *(v6 - 75) )
{ {
v57 += *(v6 - 28); v57 += *(v6 - 28);
@ -979,7 +979,7 @@ void __fastcall CalcPlrItemVals(int p, bool Loadgfx)
plr[v5]._pISpells[0] = v37; plr[v5]._pISpells[0] = v37;
plr[v5]._pISpells[1] = HIDWORD(v37); plr[v5]._pISpells[1] = HIDWORD(v37);
plr[v5]._pDamageMod = v15 / v16; plr[v5]._pDamageMod = v15 / v16;
if ( v17 && !(v37 & (1i64 << (_LOBYTE(plr[v5]._pRSpell) - 1))) ) if ( v17 && !(v37 & (1 << (_LOBYTE(plr[v5]._pRSpell) - 1))) )
{ {
plr[v5]._pRSpell = -1; plr[v5]._pRSpell = -1;
_LOBYTE(plr[v5]._pRSplType) = 4; _LOBYTE(plr[v5]._pRSplType) = 4;
@ -1143,7 +1143,7 @@ void __fastcall CalcPlrScrolls(int p)
{ {
if ( *(v3 - 53) != -1 && (*v3 == IMISC_SCROLL || *v3 == IMISC_SCROLLT) && v3[34] ) if ( *(v3 - 53) != -1 && (*v3 == IMISC_SCROLL || *v3 == IMISC_SCROLLT) && v3[34] )
{ {
v5 = 1i64 << (*((_BYTE *)v3 + 4) - 1); v5 = 1 << (*((_BYTE *)v3 + 4) - 1);
plr[v1]._pScrlSpells[0] |= v5; plr[v1]._pScrlSpells[0] |= v5;
plr[v1]._pScrlSpells[1] |= HIDWORD(v5); plr[v1]._pScrlSpells[1] |= HIDWORD(v5);
} }
@ -1158,7 +1158,7 @@ void __fastcall CalcPlrScrolls(int p)
{ {
if ( *(v6 - 53) != -1 && (*v6 == IMISC_SCROLL || *v6 == IMISC_SCROLLT) && v6[34] ) if ( *(v6 - 53) != -1 && (*v6 == IMISC_SCROLL || *v6 == IMISC_SCROLLT) && v6[34] )
{ {
v8 = 1i64 << (*((_BYTE *)v6 + 4) - 1); v8 = 1 << (*((_BYTE *)v6 + 4) - 1);
plr[v1]._pScrlSpells[0] |= v8; plr[v1]._pScrlSpells[0] |= v8;
plr[v1]._pScrlSpells[1] |= HIDWORD(v8); plr[v1]._pScrlSpells[1] |= HIDWORD(v8);
} }
@ -1192,7 +1192,7 @@ void __fastcall CalcPlrStaff(int pnum)
plr[v1]._pISpells[1] = 0; plr[v1]._pISpells[1] = 0;
if ( !v2 && plr[v1].InvBody[4]._iStatFlag && plr[v1].InvBody[4]._iCharges > 0 ) if ( !v2 && plr[v1].InvBody[4]._iStatFlag && plr[v1].InvBody[4]._iCharges > 0 )
{ {
v3 = 1i64 << (_LOBYTE(plr[v1].InvBody[4]._iSpell) - 1); v3 = 1 << (_LOBYTE(plr[v1].InvBody[4]._iSpell) - 1);
plr[v1]._pISpells[0] = v3; plr[v1]._pISpells[0] = v3;
plr[v1]._pISpells[1] = HIDWORD(v3); plr[v1]._pISpells[1] = HIDWORD(v3);
} }
@ -4668,7 +4668,7 @@ LABEL_71:
if ( v24 != 2 ) if ( v24 != 2 )
return; return;
v25 = p; v25 = p;
*(_QWORD *)plr[p]._pMemSpells |= 1i64 << ((unsigned char)spl - 1); *(_QWORD *)plr[p]._pMemSpells |= 1 << ((unsigned char)spl - 1);
v26 = &plr[p]._pSplLvl[spl]; v26 = &plr[p]._pSplLvl[spl];
if ( *v26 < 15 ) if ( *v26 < 15 )
++*v26; ++*v26;

View File

@ -912,40 +912,40 @@ int __fastcall GetDirection8(int x1, int y1, int x2, int y2)
v9 = y1; v9 = y1;
v4 = x1; v4 = x1;
strcpy((char *)Dirs, "c"); strcpy((char *)Dirs, "c");
*(_QWORD *)&Dirs[0][2] = 0i64; *(_QWORD *)&Dirs[0][2] = 0;
*(_DWORD *)&Dirs[0][10] = 0; *(_DWORD *)&Dirs[0][10] = 0;
*(_WORD *)&Dirs[0][14] = 0; *(_WORD *)&Dirs[0][14] = 0;
*(_QWORD *)&Dirs[1][0] = 0x1010102i64; *(_QWORD *)&Dirs[1][0] = 0x1010102;
*(_QWORD *)&Dirs[1][8] = 0i64; *(_QWORD *)&Dirs[1][8] = 0;
*(_QWORD *)&Dirs[2][0] = 0x1010101010102i64; *(_QWORD *)&Dirs[2][0] = 0x1010101010102;
*(_QWORD *)&Dirs[2][8] = 0i64; *(_QWORD *)&Dirs[2][8] = 0;
*(_QWORD *)&Dirs[3][0] = 0x101010101010102i64; *(_QWORD *)&Dirs[3][0] = 0x101010101010102;
*(_QWORD *)&Dirs[3][8] = 1i64; *(_QWORD *)&Dirs[3][8] = 1;
*(_QWORD *)&Dirs[4][0] = 0x101010101010202i64; *(_QWORD *)&Dirs[4][0] = 0x101010101010202;
*(_QWORD *)&Dirs[4][8] = 0x1010101i64; *(_QWORD *)&Dirs[4][8] = 0x1010101;
*(_QWORD *)&Dirs[5][0] = 0x101010101010202i64; *(_QWORD *)&Dirs[5][0] = 0x101010101010202;
*(_QWORD *)&Dirs[5][8] = 0x10101010101i64; *(_QWORD *)&Dirs[5][8] = 0x10101010101;
*(_QWORD *)&Dirs[6][0] = 0x101010101010202i64; *(_QWORD *)&Dirs[6][0] = 0x101010101010202;
*(_QWORD *)&Dirs[6][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[6][8] = 0x101010101010101;
*(_QWORD *)&Dirs[7][0] = 0x101010101020202i64; *(_QWORD *)&Dirs[7][0] = 0x101010101020202;
*(_QWORD *)&Dirs[7][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[7][8] = 0x101010101010101;
*(_QWORD *)&Dirs[8][0] = 0x101010101020202i64; *(_QWORD *)&Dirs[8][0] = 0x101010101020202;
*(_QWORD *)&Dirs[8][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[8][8] = 0x101010101010101;
*(_QWORD *)&Dirs[9][0] = 0x101010102020202i64; *(_QWORD *)&Dirs[9][0] = 0x101010102020202;
*(_QWORD *)&Dirs[9][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[9][8] = 0x101010101010101;
*(_QWORD *)&Dirs[10][0] = 0x101010102020202i64; *(_QWORD *)&Dirs[10][0] = 0x101010102020202;
*(_QWORD *)&Dirs[10][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[10][8] = 0x101010101010101;
*(_QWORD *)&Dirs[11][0] = 0x101010102020202i64; *(_QWORD *)&Dirs[11][0] = 0x101010102020202;
*(_QWORD *)&Dirs[11][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[11][8] = 0x101010101010101;
*(_QWORD *)&Dirs[12][0] = 0x101010202020202i64; *(_QWORD *)&Dirs[12][0] = 0x101010202020202;
*(_QWORD *)&Dirs[12][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[12][8] = 0x101010101010101;
*(_QWORD *)&Dirs[13][0] = 0x101010202020202i64; *(_QWORD *)&Dirs[13][0] = 0x101010202020202;
*(_QWORD *)&Dirs[13][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[13][8] = 0x101010101010101;
*(_QWORD *)&Dirs[14][0] = 0x101020202020202i64; *(_QWORD *)&Dirs[14][0] = 0x101020202020202;
*(_QWORD *)&Dirs[14][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[14][8] = 0x101010101010101;
lltour[1] = 0; lltour[1] = 0;
*(_QWORD *)&Dirs[15][0] = 0x101020202020202i64; *(_QWORD *)&Dirs[15][0] = 0x101020202020202;
*(_QWORD *)&Dirs[15][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[15][8] = 0x101010101010101;
lrtoul[0] = 3; lrtoul[0] = 3;
lrtoul[1] = 4; lrtoul[1] = 4;
lrtoul[2] = 5; lrtoul[2] = 5;
@ -1000,40 +1000,40 @@ int __fastcall GetDirection16(int x1, int y1, int x2, int y2)
v9 = y1; v9 = y1;
v4 = x1; v4 = x1;
strcpy((char *)Dirs, "c"); strcpy((char *)Dirs, "c");
*(_QWORD *)&Dirs[0][2] = 0i64; *(_QWORD *)&Dirs[0][2] = 0;
*(_DWORD *)&Dirs[0][10] = 0; *(_DWORD *)&Dirs[0][10] = 0;
*(_WORD *)&Dirs[0][14] = 0; *(_WORD *)&Dirs[0][14] = 0;
*(_QWORD *)&Dirs[1][0] = 0x1010204i64; *(_QWORD *)&Dirs[1][0] = 0x1010204;
*(_QWORD *)&Dirs[1][8] = 0i64; *(_QWORD *)&Dirs[1][8] = 0;
*(_QWORD *)&Dirs[2][0] = 0x101010101020304i64; *(_QWORD *)&Dirs[2][0] = 0x101010101020304;
*(_QWORD *)&Dirs[2][8] = 0i64; *(_QWORD *)&Dirs[2][8] = 0;
*(_QWORD *)&Dirs[3][0] = 0x101010202030304i64; *(_QWORD *)&Dirs[3][0] = 0x101010202030304;
*(_QWORD *)&Dirs[3][8] = 0x1010101i64; *(_QWORD *)&Dirs[3][8] = 0x1010101;
*(_QWORD *)&Dirs[4][0] = 0x101010202030404i64; *(_QWORD *)&Dirs[4][0] = 0x101010202030404;
*(_QWORD *)&Dirs[4][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[4][8] = 0x101010101010101;
*(_QWORD *)&Dirs[5][0] = 0x102020203030404i64; *(_QWORD *)&Dirs[5][0] = 0x102020203030404;
*(_QWORD *)&Dirs[5][8] = 0x101010101010101i64; *(_QWORD *)&Dirs[5][8] = 0x101010101010101;
*(_QWORD *)&Dirs[6][0] = 0x202020203030404i64; *(_QWORD *)&Dirs[6][0] = 0x202020203030404;
*(_QWORD *)&Dirs[6][8] = 0x101010101010102i64; *(_QWORD *)&Dirs[6][8] = 0x101010101010102;
*(_QWORD *)&Dirs[7][0] = 0x202030303030404i64; *(_QWORD *)&Dirs[7][0] = 0x202030303030404;
*(_QWORD *)&Dirs[7][8] = 0x101010101010202i64; *(_QWORD *)&Dirs[7][8] = 0x101010101010202;
*(_QWORD *)&Dirs[8][0] = 0x202030303040404i64; *(_QWORD *)&Dirs[8][0] = 0x202030303040404;
*(_QWORD *)&Dirs[8][8] = 0x101010101020202i64; *(_QWORD *)&Dirs[8][8] = 0x101010101020202;
*(_QWORD *)&Dirs[9][0] = 0x203030303040404i64; *(_QWORD *)&Dirs[9][0] = 0x203030303040404;
*(_QWORD *)&Dirs[9][8] = 0x101010102020202i64; *(_QWORD *)&Dirs[9][8] = 0x101010102020202;
*(_QWORD *)&Dirs[10][0] = 0x303030303040404i64; *(_QWORD *)&Dirs[10][0] = 0x303030303040404;
*(_QWORD *)&Dirs[10][8] = 0x101020202020202i64; *(_QWORD *)&Dirs[10][8] = 0x101020202020202;
*(_QWORD *)&Dirs[11][0] = 0x303030303040404i64; *(_QWORD *)&Dirs[11][0] = 0x303030303040404;
*(_QWORD *)&Dirs[11][8] = 0x102020202020203i64; *(_QWORD *)&Dirs[11][8] = 0x102020202020203;
*(_QWORD *)&Dirs[12][0] = 0x303030304040404i64; *(_QWORD *)&Dirs[12][0] = 0x303030304040404;
*(_QWORD *)&Dirs[12][8] = 0x202020202020303i64; *(_QWORD *)&Dirs[12][8] = 0x202020202020303;
*(_QWORD *)&Dirs[13][0] = 0x303030304040404i64; *(_QWORD *)&Dirs[13][0] = 0x303030304040404;
*(_QWORD *)&Dirs[13][8] = 0x202020202020303i64; *(_QWORD *)&Dirs[13][8] = 0x202020202020303;
*(_QWORD *)&Dirs[14][0] = 0x303030304040404i64; *(_QWORD *)&Dirs[14][0] = 0x303030304040404;
*(_QWORD *)&Dirs[14][8] = 0x202020202030303i64; *(_QWORD *)&Dirs[14][8] = 0x202020202030303;
lrtoul[2] = 0; lrtoul[2] = 0;
*(_QWORD *)&Dirs[15][0] = 0x303030304040404i64; *(_QWORD *)&Dirs[15][0] = 0x303030304040404;
*(_QWORD *)&Dirs[15][8] = 0x202020203030303i64; *(_QWORD *)&Dirs[15][8] = 0x202020203030303;
urtoll[0] = 6; urtoll[0] = 6;
urtoll[1] = 7; urtoll[1] = 7;
urtoll[2] = 8; urtoll[2] = 8;

View File

@ -141,105 +141,105 @@ int ObjTypeConv[113] =
}; };
ObjDataStruct AllObjects[99] = ObjDataStruct AllObjects[99] =
{ {
{ 1, OFILE_L1BRAZ, 1, 4, 1, 255, 255, 1, 1, 26, 64, 1, 1, 0, 0, 0, 0 }, { 1, OFILE_L1BRAZ, 1, 4, 1, -1, -1, 1, 1, 26, 64, 1, 1, 0, 0, 0, 0 },
{ 1, OFILE_L1DOORS, 1, 4, 1, 255, 255, 0, 1, 0, 64, 0, 0, 1, 0, 3, 1 }, { 1, OFILE_L1DOORS, 1, 4, 1, -1, -1, 0, 1, 0, 64, 0, 0, 1, 0, 3, 1 },
{ 1, OFILE_L1DOORS, 1, 4, 1, 255, 255, 0, 2, 0, 64, 0, 0, 1, 0, 3, 1 }, { 1, OFILE_L1DOORS, 1, 4, 1, -1, -1, 0, 2, 0, 64, 0, 0, 1, 0, 3, 1 },
{ 3, OFILE_SKULFIRE, 0, 0, 0, 3, 255, 1, 2, 11, 96, 1, 1, 0, 0, 0, 0 }, { 3, OFILE_SKULFIRE, 0, 0, 0, 3, -1, 1, 2, 11, 96, 1, 1, 0, 0, 0, 0 },
{ 1, OFILE_LEVER, 1, 4, 1, 255, 255, 0, 1, 1, 96, 1, 1, 1, 0, 1, 1 }, { 1, OFILE_LEVER, 1, 4, 1, -1, -1, 0, 1, 1, 96, 1, 1, 1, 0, 1, 1 },
{ 1, OFILE_CHEST1, 1, 16, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 }, { 1, OFILE_CHEST1, 1, 16, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ 1, OFILE_CHEST2, 1, 16, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 }, { 1, OFILE_CHEST2, 1, 16, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ 1, OFILE_CHEST3, 1, 16, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 }, { 1, OFILE_CHEST3, 1, 16, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ 2, OFILE_L1BRAZ, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, OFILE_L1BRAZ, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 3, OFILE_CANDLE2, 0, 0, 0, 1, 255, 1, 2, 4, 96, 1, 1, 1, 0, 0, 0 }, { 3, OFILE_CANDLE2, 0, 0, 0, 1, -1, 1, 2, 4, 96, 1, 1, 1, 0, 0, 0 },
{ 2, OFILE_L1BRAZ, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, OFILE_L1BRAZ, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 3, OFILE_BANNER, 0, 0, 0, 3, 255, 0, 2, 0, 96, 1, 1, 1, 0, 0, 0 }, { 3, OFILE_BANNER, 0, 0, 0, 3, -1, 0, 2, 0, 96, 1, 1, 1, 0, 0, 0 },
{ 3, OFILE_BANNER, 0, 0, 0, 3, 255, 0, 1, 0, 96, 1, 1, 1, 0, 0, 0 }, { 3, OFILE_BANNER, 0, 0, 0, 3, -1, 0, 1, 0, 96, 1, 1, 1, 0, 0, 0 },
{ 3, OFILE_BANNER, 0, 0, 0, 3, 255, 0, 3, 0, 96, 1, 1, 1, 0, 0, 0 }, { 3, OFILE_BANNER, 0, 0, 0, 3, -1, 0, 3, 0, 96, 1, 1, 1, 0, 0, 0 },
{ 2, OFILE_SKULPILE, 1, 4, 0, 255, 255, 0, 0, 1, 96, 1, 1, 1, 0, 0, 0 }, { 2, OFILE_SKULPILE, 1, 4, 0, -1, -1, 0, 0, 1, 96, 1, 1, 1, 0, 0, 0 },
{ 2, OFILE_L1BRAZ, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, OFILE_L1BRAZ, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 2, OFILE_L1BRAZ, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, OFILE_L1BRAZ, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 2, OFILE_L1BRAZ, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, OFILE_L1BRAZ, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 2, OFILE_L1BRAZ, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, OFILE_L1BRAZ, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 2, OFILE_L1BRAZ, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, OFILE_L1BRAZ, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 2, OFILE_CRUXSK1, 0, 0, 0, 255, 255, 0, 1, 15, 96, 1, 0, 1, 1, 3, 0 }, { 2, OFILE_CRUXSK1, 0, 0, 0, -1, -1, 0, 1, 15, 96, 1, 0, 1, 1, 3, 0 },
{ 2, OFILE_CRUXSK2, 0, 0, 0, 255, 255, 0, 1, 15, 96, 1, 0, 1, 1, 3, 0 }, { 2, OFILE_CRUXSK2, 0, 0, 0, -1, -1, 0, 1, 15, 96, 1, 0, 1, 1, 3, 0 },
{ 2, OFILE_CRUXSK3, 0, 0, 0, 255, 255, 0, 1, 15, 96, 1, 0, 1, 1, 3, 0 }, { 2, OFILE_CRUXSK3, 0, 0, 0, -1, -1, 0, 1, 15, 96, 1, 0, 1, 1, 3, 0 },
{ 1, OFILE_ROCKSTAN, 5, 5, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 0, 0 }, { 1, OFILE_ROCKSTAN, 5, 5, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 0, 0 },
{ 2, OFILE_ANGEL, 0, 0, 0, 255, 255, 0, 1, 0, 96, 1, 0, 1, 0, 0, 0 }, { 2, OFILE_ANGEL, 0, 0, 0, -1, -1, 0, 1, 0, 96, 1, 0, 1, 0, 0, 0 },
{ 2, OFILE_BOOK2, 0, 0, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 }, { 2, OFILE_BOOK2, 0, 0, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 2, OFILE_BURNCROS, 0, 0, 0, 255, 255, 1, 0, 10, 160, 1, 0, 0, 0, 0, 0 }, { 2, OFILE_BURNCROS, 0, 0, 0, -1, -1, 1, 0, 10, 160, 1, 0, 0, 0, 0, 0 },
{ 2, OFILE_NUDE2, 0, 0, 0, 255, 255, 1, 3, 6, 128, 1, 0, 1, 0, 0, 0 }, { 2, OFILE_NUDE2, 0, 0, 0, -1, -1, 1, 3, 6, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_SWITCH4, 16, 16, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 }, { 1, OFILE_SWITCH4, 16, 16, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ 1, OFILE_TNUDEM, 13, 16, 0, 255, 6, 0, 1, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TNUDEM, 13, 16, 0, -1, 6, 0, 1, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TNUDEM, 13, 16, 0, 6, 6, 0, 2, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TNUDEM, 13, 16, 0, 6, 6, 0, 2, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TNUDEM, 13, 16, 0, 6, 6, 0, 3, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TNUDEM, 13, 16, 0, 6, 6, 0, 3, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TNUDEM, 13, 16, 0, 6, 6, 0, 4, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TNUDEM, 13, 16, 0, 6, 6, 0, 4, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TNUDEW, 13, 16, 0, 6, 6, 0, 1, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TNUDEW, 13, 16, 0, 6, 6, 0, 1, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TNUDEW, 13, 16, 0, 6, 6, 0, 2, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TNUDEW, 13, 16, 0, 6, 6, 0, 2, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TNUDEW, 13, 16, 0, 6, 6, 0, 3, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TNUDEW, 13, 16, 0, 6, 6, 0, 3, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TSOUL, 13, 16, 0, 255, 6, 0, 1, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TSOUL, 13, 16, 0, -1, 6, 0, 1, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TSOUL, 13, 16, 0, 255, 6, 0, 2, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TSOUL, 13, 16, 0, -1, 6, 0, 2, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TSOUL, 13, 16, 0, 255, 6, 0, 3, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TSOUL, 13, 16, 0, -1, 6, 0, 3, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TSOUL, 13, 16, 0, 255, 6, 0, 4, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TSOUL, 13, 16, 0, -1, 6, 0, 4, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_TSOUL, 13, 16, 0, 255, 6, 0, 5, 0, 128, 1, 0, 1, 0, 0, 0 }, { 1, OFILE_TSOUL, 13, 16, 0, -1, 6, 0, 5, 0, 128, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_BOOK2, 6, 6, 0, 255, 255, 0, 4, 0, 96, 1, 1, 1, 0, 3, 0 }, { 1, OFILE_BOOK2, 6, 6, 0, -1, -1, 0, 4, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_L2DOORS, 5, 8, 2, 255, 255, 0, 1, 0, 64, 0, 0, 1, 0, 3, 1 }, { 1, OFILE_L2DOORS, 5, 8, 2, -1, -1, 0, 1, 0, 64, 0, 0, 1, 0, 3, 1 },
{ 1, OFILE_L2DOORS, 5, 8, 2, 255, 255, 0, 2, 0, 64, 0, 0, 1, 0, 3, 1 }, { 1, OFILE_L2DOORS, 5, 8, 2, -1, -1, 0, 2, 0, 64, 0, 0, 1, 0, 3, 1 },
{ 1, OFILE_WTORCH4, 5, 8, 2, 255, 255, 1, 1, 9, 96, 0, 1, 0, 0, 0, 0 }, { 1, OFILE_WTORCH4, 5, 8, 2, -1, -1, 1, 1, 9, 96, 0, 1, 0, 0, 0, 0 },
{ 1, OFILE_WTORCH3, 5, 8, 2, 255, 255, 1, 1, 9, 96, 0, 1, 0, 0, 0, 0 }, { 1, OFILE_WTORCH3, 5, 8, 2, -1, -1, 1, 1, 9, 96, 0, 1, 0, 0, 0, 0 },
{ 1, OFILE_WTORCH1, 5, 8, 2, 255, 255, 1, 1, 9, 96, 0, 1, 0, 0, 0, 0 }, { 1, OFILE_WTORCH1, 5, 8, 2, -1, -1, 1, 1, 9, 96, 0, 1, 0, 0, 0, 0 },
{ 1, OFILE_WTORCH2, 5, 8, 2, 255, 255, 1, 1, 9, 96, 0, 1, 0, 0, 0, 0 }, { 1, OFILE_WTORCH2, 5, 8, 2, -1, -1, 1, 1, 9, 96, 0, 1, 0, 0, 0, 0 },
{ 1, OFILE_SARC, 1, 4, 1, 255, 255, 0, 1, 5, 128, 1, 1, 1, 0, 3, 1 }, { 1, OFILE_SARC, 1, 4, 1, -1, -1, 0, 1, 5, 128, 1, 1, 1, 0, 3, 1 },
{ 2, OFILE_FLAME1, 1, 4, 1, 255, 255, 0, 1, 20, 96, 0, 1, 1, 0, 0, 0 }, { 2, OFILE_FLAME1, 1, 4, 1, -1, -1, 0, 1, 20, 96, 0, 1, 1, 0, 0, 0 },
{ 2, OFILE_LEVER, 1, 4, 1, 255, 255, 0, 1, 2, 96, 1, 1, 1, 0, 1, 1 }, { 2, OFILE_LEVER, 1, 4, 1, -1, -1, 0, 1, 2, 96, 1, 1, 1, 0, 1, 1 },
{ 2, OFILE_MINIWATR, 1, 4, 1, 255, 255, 1, 1, 10, 64, 1, 0, 1, 0, 0, 0 }, { 2, OFILE_MINIWATR, 1, 4, 1, -1, -1, 1, 1, 10, 64, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_BOOK1, 3, 4, 1, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 }, { 1, OFILE_BOOK1, 3, 4, 1, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_TRAPHOLE, 1, 16, 0, 255, 255, 0, 1, 0, 64, 0, 1, 1, 0, 0, 0 }, { 1, OFILE_TRAPHOLE, 1, 16, 0, -1, -1, 0, 1, 0, 64, 0, 1, 1, 0, 0, 0 },
{ 1, OFILE_TRAPHOLE, 1, 16, 0, 255, 255, 0, 2, 0, 64, 0, 1, 1, 0, 0, 0 }, { 1, OFILE_TRAPHOLE, 1, 16, 0, -1, -1, 0, 2, 0, 64, 0, 1, 1, 0, 0, 0 },
{ 2, OFILE_BCASE, 0, 0, 0, 255, 255, 0, 1, 0, 96, 1, 0, 1, 0, 0, 0 }, { 2, OFILE_BCASE, 0, 0, 0, -1, -1, 0, 1, 0, 96, 1, 0, 1, 0, 0, 0 },
{ 2, OFILE_WEAPSTND, 0, 0, 0, 255, 255, 0, 1, 0, 96, 1, 0, 1, 0, 0, 0 }, { 2, OFILE_WEAPSTND, 0, 0, 0, -1, -1, 0, 1, 0, 96, 1, 0, 1, 0, 0, 0 },
{ 1, OFILE_BARREL, 1, 16, 0, 255, 255, 0, 1, 9, 96, 1, 1, 1, 1, 3, 0 }, { 1, OFILE_BARREL, 1, 16, 0, -1, -1, 0, 1, 9, 96, 1, 1, 1, 1, 3, 0 },
{ 1, OFILE_BARRELEX, 1, 16, 0, 255, 255, 0, 1, 10, 96, 1, 1, 1, 1, 3, 0 }, { 1, OFILE_BARRELEX, 1, 16, 0, -1, -1, 0, 1, 10, 96, 1, 1, 1, 1, 3, 0 },
{ 3, OFILE_LSHRINEG, 0, 0, 0, 1, 255, 0, 1, 11, 128, 0, 0, 1, 0, 3, 0 }, { 3, OFILE_LSHRINEG, 0, 0, 0, 1, -1, 0, 1, 11, 128, 0, 0, 1, 0, 3, 0 },
{ 3, OFILE_RSHRINEG, 0, 0, 0, 1, 255, 0, 1, 11, 128, 0, 0, 1, 0, 3, 0 }, { 3, OFILE_RSHRINEG, 0, 0, 0, 1, -1, 0, 1, 11, 128, 0, 0, 1, 0, 3, 0 },
{ 3, OFILE_BOOK2, 0, 0, 0, 3, 255, 0, 4, 0, 96, 1, 1, 1, 0, 3, 0 }, { 3, OFILE_BOOK2, 0, 0, 0, 3, -1, 0, 4, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 3, OFILE_BCASE, 0, 0, 0, 5, 255, 0, 3, 0, 96, 0, 0, 1, 0, 3, 0 }, { 3, OFILE_BCASE, 0, 0, 0, 5, -1, 0, 3, 0, 96, 0, 0, 1, 0, 3, 0 },
{ 3, OFILE_BCASE, 0, 0, 0, 5, 255, 0, 4, 0, 96, 0, 0, 1, 0, 3, 0 }, { 3, OFILE_BCASE, 0, 0, 0, 5, -1, 0, 4, 0, 96, 0, 0, 1, 0, 3, 0 },
{ 3, OFILE_BOOK2, 0, 0, 0, 5, 255, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 }, { 3, OFILE_BOOK2, 0, 0, 0, 5, -1, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 3, OFILE_CANDLE2, 0, 0, 0, 5, 255, 1, 2, 4, 96, 1, 1, 1, 0, 0, 0 }, { 3, OFILE_CANDLE2, 0, 0, 0, 5, -1, 1, 2, 4, 96, 1, 1, 1, 0, 0, 0 },
{ 3, OFILE_BLOODFNT, 0, 0, 0, 7, 255, 1, 2, 10, 96, 1, 1, 1, 0, 3, 0 }, { 3, OFILE_BLOODFNT, 0, 0, 0, 7, -1, 1, 2, 10, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_DECAP, 13, 16, 0, 8, 255, 0, 1, 0, 96, 1, 1, 1, 0, 1, 0 }, { 1, OFILE_DECAP, 13, 16, 0, 8, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 0 },
{ 1, OFILE_CHEST1, 1, 16, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 }, { 1, OFILE_CHEST1, 1, 16, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ 1, OFILE_CHEST2, 1, 16, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 }, { 1, OFILE_CHEST2, 1, 16, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ 1, OFILE_CHEST3, 1, 16, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 }, { 1, OFILE_CHEST3, 1, 16, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ 1, OFILE_BOOK1, 7, 7, 2, 255, 8, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 }, { 1, OFILE_BOOK1, 7, 7, 2, -1, 8, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_BOOK1, 5, 5, 2, 255, 9, 0, 4, 0, 96, 1, 1, 1, 0, 3, 0 }, { 1, OFILE_BOOK1, 5, 5, 2, -1, 9, 0, 4, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_PEDISTL, 5, 5, 2, 255, 9, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 }, { 1, OFILE_PEDISTL, 5, 5, 2, -1, 9, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_L3DOORS, 9, 12, 3, 255, 255, 0, 1, 0, 64, 0, 0, 1, 0, 3, 1 }, { 1, OFILE_L3DOORS, 9, 12, 3, -1, -1, 0, 1, 0, 64, 0, 0, 1, 0, 3, 1 },
{ 1, OFILE_L3DOORS, 9, 12, 3, 255, 255, 0, 2, 0, 64, 0, 0, 1, 0, 3, 1 }, { 1, OFILE_L3DOORS, 9, 12, 3, -1, -1, 0, 2, 0, 64, 0, 0, 1, 0, 3, 1 },
{ 3, OFILE_PFOUNTN, 0, 0, 0, 9, 255, 1, 2, 10, 128, 1, 1, 1, 0, 3, 0 }, { 3, OFILE_PFOUNTN, 0, 0, 0, 9, -1, 1, 2, 10, 128, 1, 1, 1, 0, 3, 0 },
{ 3, OFILE_ARMSTAND, 0, 0, 0, 10, 255, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 }, { 3, OFILE_ARMSTAND, 0, 0, 0, 10, -1, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 },
{ 3, OFILE_ARMSTAND, 0, 0, 0, 10, 255, 0, 2, 0, 96, 1, 0, 1, 0, 0, 0 }, { 3, OFILE_ARMSTAND, 0, 0, 0, 10, -1, 0, 2, 0, 96, 1, 0, 1, 0, 0, 0 },
{ 3, OFILE_GOATSHRN, 0, 0, 0, 11, 255, 1, 2, 10, 96, 1, 1, 1, 0, 3, 0 }, { 3, OFILE_GOATSHRN, 0, 0, 0, 11, -1, 1, 2, 10, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_CAULDREN, 13, 16, 0, 255, 255, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 }, { 1, OFILE_CAULDREN, 13, 16, 0, -1, -1, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 },
{ 3, OFILE_MFOUNTN, 0, 0, 0, 13, 255, 1, 2, 10, 128, 1, 1, 1, 0, 3, 0 }, { 3, OFILE_MFOUNTN, 0, 0, 0, 13, -1, 1, 2, 10, 128, 1, 1, 1, 0, 3, 0 },
{ 3, OFILE_TFOUNTN, 0, 0, 0, 14, 255, 1, 2, 4, 128, 1, 1, 1, 0, 3, 0 }, { 3, OFILE_TFOUNTN, 0, 0, 0, 14, -1, 1, 2, 4, 128, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_ALTBOY, 0, 0, 1, 255, 15, 0, 1, 0, 128, 1, 1, 1, 0, 0, 0 }, { 1, OFILE_ALTBOY, 0, 0, 1, -1, 15, 0, 1, 0, 128, 1, 1, 1, 0, 0, 0 },
{ 1, OFILE_MCIRL, 0, 0, 1, 255, 15, 0, 1, 0, 96, 0, 1, 1, 0, 0, 0 }, { 1, OFILE_MCIRL, 0, 0, 1, -1, 15, 0, 1, 0, 96, 0, 1, 1, 0, 0, 0 },
{ 1, OFILE_MCIRL, 0, 0, 1, 255, 15, 0, 1, 0, 96, 0, 1, 1, 0, 0, 0 }, { 1, OFILE_MCIRL, 0, 0, 1, -1, 15, 0, 1, 0, 96, 0, 1, 1, 0, 0, 0 },
{ 1, OFILE_BKSLBRNT, 4, 12, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 }, { 1, OFILE_BKSLBRNT, 4, 12, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_CANDLE2, 2, 12, 0, 255, 15, 1, 2, 4, 96, 1, 1, 1, 0, 0, 0 }, { 1, OFILE_CANDLE2, 2, 12, 0, -1, 15, 1, 2, 4, 96, 1, 1, 1, 0, 0, 0 },
{ 1, OFILE_BOOK1, 13, 13, 4, 255, 11, 0, 4, 0, 96, 1, 1, 1, 0, 3, 0 }, { 1, OFILE_BOOK1, 13, 13, 4, -1, 11, 0, 4, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_ARMSTAND, 13, 13, 0, 255, 11, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 }, { 1, OFILE_ARMSTAND, 13, 13, 0, -1, 11, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 },
{ 2, OFILE_WEAPSTND, 13, 13, 0, 255, 11, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 }, { 2, OFILE_WEAPSTND, 13, 13, 0, -1, 11, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 },
{ 2, OFILE_BURNCROS, 0, 0, 0, 15, 255, 1, 0, 10, 160, 1, 0, 0, 0, 0, 0 }, { 2, OFILE_BURNCROS, 0, 0, 0, 15, -1, 1, 0, 10, 160, 1, 0, 0, 0, 0, 0 },
{ 2, OFILE_WEAPSTND, 0, 0, 0, 16, 255, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 }, { 2, OFILE_WEAPSTND, 0, 0, 0, 16, -1, 0, 1, 0, 96, 1, 0, 1, 0, 3, 0 },
{ 2, OFILE_WEAPSTND, 0, 0, 0, 16, 255, 0, 2, 0, 96, 1, 0, 1, 0, 0, 0 }, { 2, OFILE_WEAPSTND, 0, 0, 0, 16, -1, 0, 2, 0, 96, 1, 0, 1, 0, 0, 0 },
{ 2, OFILE_MUSHPTCH, 0, 0, 0, 255, 1, 0, 1, 0, 96, 1, 1, 1, 0, 3, 1 }, { 2, OFILE_MUSHPTCH, 0, 0, 0, -1, 1, 0, 1, 0, 96, 1, 1, 1, 0, 3, 1 },
{ 2, OFILE_LZSTAND, 0, 0, 0, 255, 15, 0, 1, 0, 128, 1, 0, 1, 0, 3, 0 }, { 2, OFILE_LZSTAND, 0, 0, 0, -1, 15, 0, 1, 0, 128, 1, 0, 1, 0, 3, 0 },
{ 1, OFILE_DECAP, 9, 9, 3, 255, 255, 0, 2, 0, 96, 1, 1, 1, 0, 1, 0 }, { 1, OFILE_DECAP, 9, 9, 3, -1, -1, 0, 2, 0, 96, 1, 1, 1, 0, 1, 0 },
{ 2, OFILE_CHEST3, 0, 0, 0, 255, 255, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 }, { 2, OFILE_CHEST3, 0, 0, 0, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ -1, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } { -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
}; };
char *ObjMasterLoadList[56] = char *ObjMasterLoadList[56] =
{ {
@ -5456,7 +5456,7 @@ LABEL_47:
v60 = random(v7, 37); v60 = random(v7, 37);
v7 = v60; v7 = v60;
} }
while ( !(plr[v53]._pMemSpells[1] & ((unsigned __int64)(1i64 << v60) >> 32) | plr[v53]._pMemSpells[0] & (unsigned int)(1i64 << v60)) ); while ( !(plr[v53]._pMemSpells[1] & ((unsigned __int64)(1 << v60) >> 32) | plr[v53]._pMemSpells[0] & (unsigned int)(1 << v60)) );
v61 = &plr[v53]._pSplLvl[v60 + 1]; v61 = &plr[v53]._pSplLvl[v60 + 1];
if ( *v61 < 2 ) if ( *v61 < 2 )
*v61 = 0; *v61 = 0;

View File

@ -3938,14 +3938,14 @@ int __fastcall PM_DoSpell(int pnum)
if ( !plr[v2]._pSplFrom ) if ( !plr[v2]._pSplFrom )
{ {
if ( _LOBYTE(plr[v2]._pRSplType) == 2 if ( _LOBYTE(plr[v2]._pRSplType) == 2
&& !(plr[v2]._pScrlSpells[1] & ((unsigned __int64)(1i64 << (_LOBYTE(plr[v2]._pRSpell) - 1)) >> 32) | plr[v2]._pScrlSpells[0] & (unsigned int)(1i64 << (_LOBYTE(plr[v2]._pRSpell) - 1))) ) && !(plr[v2]._pScrlSpells[1] & ((unsigned __int64)(1 << (_LOBYTE(plr[v2]._pRSpell) - 1)) >> 32) | plr[v2]._pScrlSpells[0] & (unsigned int)(1 << (_LOBYTE(plr[v2]._pRSpell) - 1))) )
{ {
plr[v2]._pRSpell = -1; plr[v2]._pRSpell = -1;
_LOBYTE(plr[v2]._pRSplType) = 4; _LOBYTE(plr[v2]._pRSplType) = 4;
drawpanflag = 255; drawpanflag = 255;
} }
if ( _LOBYTE(plr[v2]._pRSplType) == 3 if ( _LOBYTE(plr[v2]._pRSplType) == 3
&& !(plr[v2]._pISpells[1] & ((unsigned __int64)(1i64 << (_LOBYTE(plr[v2]._pRSpell) - 1)) >> 32) | plr[v2]._pISpells[0] & (unsigned int)(1i64 << (_LOBYTE(plr[v2]._pRSpell) - 1))) ) && !(plr[v2]._pISpells[1] & ((unsigned __int64)(1 << (_LOBYTE(plr[v2]._pRSpell) - 1)) >> 32) | plr[v2]._pISpells[0] & (unsigned int)(1 << (_LOBYTE(plr[v2]._pRSpell) - 1))) )
{ {
plr[v2]._pRSpell = -1; plr[v2]._pRSpell = -1;
_LOBYTE(plr[v2]._pRSplType) = 4; _LOBYTE(plr[v2]._pRSplType) = 4;
@ -4663,7 +4663,7 @@ void __cdecl ValidatePlayer()
__int64 v14; // [esp+Ch] [ebp-8h] __int64 v14; // [esp+Ch] [ebp-8h]
v0 = 0; v0 = 0;
v14 = 0i64; v14 = 0;
if ( (unsigned int)myplr >= 4 ) if ( (unsigned int)myplr >= 4 )
TermMsg("ValidatePlayer: illegal player %d", myplr); TermMsg("ValidatePlayer: illegal player %d", myplr);
v1 = myplr; v1 = myplr;
@ -4711,7 +4711,7 @@ void __cdecl ValidatePlayer()
{ {
if ( *v11 != -1 ) if ( *v11 != -1 )
{ {
v14 |= 1i64 << ((unsigned char)v12 - 1); v14 |= 1 << ((unsigned char)v12 - 1);
v13 = &plr[v1]._pSplLvl[v12]; v13 = &plr[v1]._pSplLvl[v12];
if ( *v13 > 15 ) if ( *v13 > 15 )
*v13 = 15; *v13 = 15;

View File

@ -27,21 +27,21 @@ int ReturnLvl; // idb
QuestData questlist[16] = QuestData questlist[16] =
{ {
{ 5, 255, DTYPE_NONE, 0, 100, 0, 0, QUEST_INFRA5, "The Magic Rock" }, { 5, -1, DTYPE_NONE, 0, 100, 0, 0, QUEST_INFRA5, "The Magic Rock" },
{ 9, 255, DTYPE_NONE, 1, 100, 0, 0, QUEST_MUSH8, "Black Mushroom" }, { 9, -1, DTYPE_NONE, 1, 100, 0, 0, QUEST_MUSH8, "Black Mushroom" },
{ 4, 255, DTYPE_NONE, 2, 100, 0, 0, QUEST_GARBUD1, "Gharbad The Weak" }, { 4, -1, DTYPE_NONE, 2, 100, 0, 0, QUEST_GARBUD1, "Gharbad The Weak" },
{ 8, 255, DTYPE_NONE, 3, 100, 0, 0, QUEST_ZHAR1, "Zhar the Mad" }, { 8, -1, DTYPE_NONE, 3, 100, 0, 0, QUEST_ZHAR1, "Zhar the Mad" },
{ 14, 255, DTYPE_NONE, 4, 100, 0, 0, QUEST_VEIL9, "Lachdanan" }, { 14, -1, DTYPE_NONE, 4, 100, 0, 0, QUEST_VEIL9, "Lachdanan" },
{ 15, 255, DTYPE_NONE, 5, 100, 0, 1, QUEST_VILE3, "Diablo" }, { 15, -1, DTYPE_NONE, 5, 100, 0, 1, QUEST_VILE3, "Diablo" },
{ 2, 2, DTYPE_NONE, 6, 100, 0, 1, QUEST_BUTCH9, "The Butcher" }, { 2, 2, DTYPE_NONE, 6, 100, 0, 1, QUEST_BUTCH9, "The Butcher" },
{ 4, 255, DTYPE_NONE, 7, 100, 0, 0, QUEST_BANNER2, "Ogden's Sign" }, { 4, -1, DTYPE_NONE, 7, 100, 0, 0, QUEST_BANNER2, "Ogden's Sign" },
{ 7, 255, DTYPE_NONE, 8, 100, 0, 0, QUEST_BLINDING, "Halls of the Blind" }, { 7, -1, DTYPE_NONE, 8, 100, 0, 0, QUEST_BLINDING, "Halls of the Blind" },
{ 5, 255, DTYPE_NONE, 9, 100, 0, 0, QUEST_BLOODY, "Valor" }, { 5, -1, DTYPE_NONE, 9, 100, 0, 0, QUEST_BLOODY, "Valor" },
{ 10, 255, DTYPE_NONE, 10, 100, 0, 0, QUEST_ANVIL5, "Anvil of Fury" }, { 10, -1, DTYPE_NONE, 10, 100, 0, 0, QUEST_ANVIL5, "Anvil of Fury" },
{ 13, 255, DTYPE_NONE, 11, 100, 0, 0, QUEST_BLOODWAR, "Warlord of Blood" }, { 13, -1, DTYPE_NONE, 11, 100, 0, 0, QUEST_BLOODWAR, "Warlord of Blood" },
{ 3, 3, DTYPE_CATHEDRAL, 12, 100, 1, 1, QUEST_KING2, "The Curse of King Leoric" }, { 3, 3, DTYPE_CATHEDRAL, 12, 100, 1, 1, QUEST_KING2, "The Curse of King Leoric" },
{ 2, 255, DTYPE_CAVES, 13, 100, 4, 0, QUEST_POISON3, "Poisoned Water Supply" }, { 2, -1, DTYPE_CAVES, 13, 100, 4, 0, QUEST_POISON3, "Poisoned Water Supply" },
{ 6, 255, DTYPE_CATACOMBS, 14, 100, 2, 0, QUEST_BONER, "The Chamber of Bone" }, { 6, -1, DTYPE_CATACOMBS, 14, 100, 2, 0, QUEST_BONER, "The Chamber of Bone" },
{ 15, 15, DTYPE_CATHEDRAL, 15, 100, 5, 1, QUEST_VILE1, "Archbishop Lazarus" } { 15, 15, DTYPE_CATHEDRAL, 15, 100, 5, 1, QUEST_VILE1, "Archbishop Lazarus" }
}; };
char questxoff[7] = { 0, -1, 0, -1, -2, -1, -2 }; char questxoff[7] = { 0, -1, 0, -1, -2, -1, -2 };

View File

@ -38,7 +38,7 @@ char *sgszMusicTracks[6] =
"Music\\DLvlD.wav", "Music\\DLvlD.wav",
"Music\\Dintro.wav" "Music\\Dintro.wav"
}; };
RECT8 QSRect[2] = { { { 15u, 240u }, { 15u, 240u } }, { { 30u, 225u }, { 30u, 225u } } }; /* psx version? */ RECT8 QSRect[2] = { { { 15, -16 }, { 15, -16 } }, { { 30, -31 }, { 30, -31 } } }; /* psx version? */
//----- (00456CC0) -------------------------------------------------------- //----- (00456CC0) --------------------------------------------------------
struct sound_cpp_init struct sound_cpp_init

View File

@ -15,7 +15,7 @@ int world_4B325C = 0; // truncated with & 1, some kind of bool??
unsigned char world_4B3260[5] = { 0u, 0u, 0u, 0u, 0u }; // single mask, int nTileMask unsigned char world_4B3260[5] = { 0u, 0u, 0u, 0u, 0u }; // single mask, int nTileMask
int world_4B3265 = 0; // speed cel num int world_4B3265 = 0; // speed cel num
int world_4B3269[5] = { 0, 0, 0, 0, 0 }; // seems to be a single pointer, void *pTileMask int world_4B3269[5] = { 0, 0, 0, 0, 0 }; // seems to be a single pointer, void *pTileMask
int tile_draw_masks[3][32] = unsigned int tile_draw_masks[3][32] =
{ {
{ {
0xEAAAAAAA, 0xF5555555, 0xFEAAAAAA, 0xFF555555, 0xFFEAAAAA, 0xFFF55555, 0xFFFEAAAA, 0xFFFF5555, 0xEAAAAAAA, 0xF5555555, 0xFEAAAAAA, 0xFF555555, 0xFFEAAAAA, 0xFFF55555, 0xFFFEAAAA, 0xFFFF5555,

View File

@ -23,7 +23,7 @@ extern int world_4B325C;
extern unsigned char world_4B3260[5]; extern unsigned char world_4B3260[5];
extern int world_4B3265; extern int world_4B3265;
extern int world_4B3269[5]; extern int world_4B3269[5];
extern int tile_draw_masks[3][32]; extern unsigned int tile_draw_masks[3][32];
extern int world_4B33FD[48]; extern int world_4B33FD[48];
extern int world_4B34BD[17]; extern int world_4B34BD[17];
extern int world_4B3501[17]; extern int world_4B3501[17];

View File

@ -69,7 +69,7 @@ enum unique_base_item
UITYPE_GRISWOLD = 0x42, UITYPE_GRISWOLD = 0x42,
UITYPE_LGTFORGE = 0x43, UITYPE_LGTFORGE = 0x43,
UITYPE_LAZSTAFF = 0x44, UITYPE_LAZSTAFF = 0x44,
UITYPE_INVALID = 0xFF, UITYPE_INVALID = -1,
}; };
enum item_effect_type enum item_effect_type
@ -145,7 +145,7 @@ enum item_effect_type
IPL_ADDMANAAC = 0x4D, IPL_ADDMANAAC = 0x4D,
IPL_FIRERESCLVL = 0x4E, IPL_FIRERESCLVL = 0x4E,
IPL_AC_CURSE = 0x4F, IPL_AC_CURSE = 0x4F,
IPL_INVALID = 0xFF, IPL_INVALID = -1,
}; };
enum affix_item_type enum affix_item_type
@ -1031,7 +1031,7 @@ enum item_equip_type
ILOC_AMULET = 0x6, ILOC_AMULET = 0x6,
ILOC_UNEQUIPABLE = 0x7, ILOC_UNEQUIPABLE = 0x7,
ILOC_BELT = 0x8, ILOC_BELT = 0x8,
ILOC_INVALID = 0xFF, ILOC_INVALID = -1,
}; };
enum missile_id enum missile_id

View File

@ -248,8 +248,8 @@ struct SpellData
struct Coord struct Coord
{ {
unsigned char x; char x;
unsigned char y; char y;
}; };
struct RECT8 struct RECT8

View File

@ -32,7 +32,7 @@
#include "enums.h" #include "enums.h"
#include "structs.h" #include "structs.h"
#include "DiabloUI/_diabloui.h" #include "DiabloUI/_DiabloUI.h"
#include "3rdParty/Storm/Source/_storm.h" #include "3rdParty/Storm/Source/_storm.h"
#include "3rdParty/PKWare/pkware.h" #include "3rdParty/PKWare/pkware.h"