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

View File

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

View File

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

View File

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

View File

@ -1,29 +1,48 @@
LIBRARY "DiabloUI"
EXPORTS
UiDestroy
UiTitleDialog
UiInitialize
UiCopyProtError
UiAppActivate
UiValidPlayerName
UiSelHeroMultDialog
UiSelHeroSingDialog
UiCreditsDialog
UiMainMenuDialog
UiProgressDialog
UiProfileGetString
UiProfileCallback
UiProfileDraw
UiCategoryCallback
UiGetDataCallback
UiAuthCallback
UiSoundCallback
UiMessageBoxCallback
UiDrawDescCallback
UiCreateGameCallback
UiArtCallback
UiSelectGame
UiSelectProvider
UiCreatePlayerDescription
UiSetupPlayerInfo
UiValidPlayerName @1 NONAME
UiValidPlayerName@4 @1 NONAME
UiAppActivate @2 NONAME
UiAppActivate@4 @2 NONAME
UiArtCallback @3 NONAME
UiAuthCallback @4 NONAME
UiBetaDisclaimer @5 NONAME
UiCategoryCallback @6 NONAME
UiCopyProtError @7 NONAME
UiCreateGameCallback @8 NONAME
UiCreateGameCriteria @9 NONAME
UiCreatePlayerDescription @10 NONAME
UiCreatePlayerDescription@12 @10 NONAME
UiCreditsDialog @11 NONAME
UiCreditsDialog@4 @11 NONAME
UiDestroy @12 NONAME
UiDrawDescCallback @13 NONAME
UiGetDataCallback @14 NONAME
UiGetDefaultStats @15 NONAME
UiInitialize @16 NONAME
UiMainMenuDialog @17 NONAME
UiMainMenuDialog@16 @17 NONAME
UiMessageBoxCallback @18 NONAME
UiOnPaint @19 NONAME
UiProfileCallback @20 NONAME
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
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
- [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;
v4 = 1;
v26 = 1i64;
v26 = 1;
v23 = 1;
v22 = xp - 216;
do
@ -621,7 +621,7 @@ LABEL_66:
LABEL_68:
v20 += 56;
++v4;
v26 *= 2i64;
v26 *= 2;
v23 = v4;
}
while ( (signed int)v20 < (signed int)&spelldata[37].sTownSpell );
@ -753,7 +753,7 @@ void __fastcall ToggleSpell(int slot)
v8 = plr[v3]._pAblSpells[0];
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;
plr[v3]._pRSpell = v12;
@ -2754,7 +2754,7 @@ int __fastcall GetSBookTrans(int ii, unsigned char townok)
v7 = townok;
v6 = 1;
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;
result = plr[v3]._pAblSpells[1] & (1 << (ii - 1) >> 31) | plr[v3]._pAblSpells[0] & (1 << (ii - 1));
if ( result )
@ -2800,7 +2800,7 @@ void __cdecl DrawSpellBook()
{
v2 = *(&attribute_inc_rects[3].h + v9 + 7 * sbooktab);
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);
SetSpellTrans(v7);
@ -2929,7 +2929,7 @@ void __cdecl CheckSBook()
v3 = myplr;
LODWORD(v6) = plr[myplr]._pAblSpells[0];
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]) )
{
v5 = 3;

View File

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

View File

@ -40,7 +40,7 @@ void __cdecl init_get_file_info();
LRESULT __stdcall init_palette(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
void __fastcall init_activate_window(HWND hWnd, bool activated);
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 */
extern int init_inf; // weak

View File

@ -851,7 +851,7 @@ void __fastcall CalcPlrItemVals(int p, bool Loadgfx)
v60 = 0;
v52 = 0;
v61 = 0;
v37 = 0i64;
v37 = 0;
v49 = 0;
v48 = 0;
v47 = 0;
@ -878,7 +878,7 @@ void __fastcall CalcPlrItemVals(int p, bool Loadgfx)
v40 = v3;
v41 = v2;
if ( v7 )
v37 |= 1i64 << ((unsigned char)v7 - 1);
v37 |= 1 << ((unsigned char)v7 - 1);
if ( !*((_BYTE *)v6 - 296) || *(v6 - 75) )
{
v57 += *(v6 - 28);
@ -979,7 +979,7 @@ void __fastcall CalcPlrItemVals(int p, bool Loadgfx)
plr[v5]._pISpells[0] = v37;
plr[v5]._pISpells[1] = HIDWORD(v37);
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;
_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] )
{
v5 = 1i64 << (*((_BYTE *)v3 + 4) - 1);
v5 = 1 << (*((_BYTE *)v3 + 4) - 1);
plr[v1]._pScrlSpells[0] |= 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] )
{
v8 = 1i64 << (*((_BYTE *)v6 + 4) - 1);
v8 = 1 << (*((_BYTE *)v6 + 4) - 1);
plr[v1]._pScrlSpells[0] |= v8;
plr[v1]._pScrlSpells[1] |= HIDWORD(v8);
}
@ -1192,7 +1192,7 @@ void __fastcall CalcPlrStaff(int pnum)
plr[v1]._pISpells[1] = 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[1] = HIDWORD(v3);
}
@ -4668,7 +4668,7 @@ LABEL_71:
if ( v24 != 2 )
return;
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];
if ( *v26 < 15 )
++*v26;

View File

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

View File

@ -141,105 +141,105 @@ int ObjTypeConv[113] =
};
ObjDataStruct AllObjects[99] =
{
{ 1, OFILE_L1BRAZ, 1, 4, 1, 255, 255, 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, 255, 255, 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 },
{ 1, OFILE_LEVER, 1, 4, 1, 255, 255, 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_CHEST2, 1, 16, 0, 255, 255, 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 },
{ 2, OFILE_L1BRAZ, 0, 0, 0, 255, 255, 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 },
{ 2, OFILE_L1BRAZ, 0, 0, 0, 255, 255, 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, 255, 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 },
{ 2, OFILE_SKULPILE, 1, 4, 0, 255, 255, 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, 255, 255, 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, 255, 255, 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_CRUXSK1, 0, 0, 0, 255, 255, 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_CRUXSK3, 0, 0, 0, 255, 255, 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 },
{ 2, OFILE_ANGEL, 0, 0, 0, 255, 255, 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_BURNCROS, 0, 0, 0, 255, 255, 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 },
{ 1, OFILE_SWITCH4, 16, 16, 0, 255, 255, 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_L1BRAZ, 1, 4, 1, -1, -1, 1, 1, 26, 64, 1, 1, 0, 0, 0, 0 },
{ 1, OFILE_L1DOORS, 1, 4, 1, -1, -1, 0, 1, 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, -1, 1, 2, 11, 96, 1, 1, 0, 0, 0, 0 },
{ 1, OFILE_LEVER, 1, 4, 1, -1, -1, 0, 1, 1, 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, -1, -1, 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, -1, -1, 0, 0, 0, 0, 0, 0, 0, 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, -1, -1, 0, 0, 0, 0, 0, 0, 0, 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, -1, 0, 1, 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, -1, -1, 0, 0, 1, 96, 1, 1, 1, 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, -1, -1, 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, -1, -1, 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, -1, -1, 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, -1, -1, 0, 1, 15, 96, 1, 0, 1, 1, 3, 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, -1, -1, 0, 1, 0, 96, 1, 0, 1, 0, 0, 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, -1, -1, 1, 0, 10, 160, 1, 0, 0, 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, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ 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, 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_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, 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, 255, 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, 255, 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_BOOK2, 6, 6, 0, 255, 255, 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, 255, 255, 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_WTORCH3, 5, 8, 2, 255, 255, 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_WTORCH2, 5, 8, 2, 255, 255, 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 },
{ 2, OFILE_FLAME1, 1, 4, 1, 255, 255, 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_MINIWATR, 1, 4, 1, 255, 255, 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_TRAPHOLE, 1, 16, 0, 255, 255, 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 },
{ 2, OFILE_BCASE, 0, 0, 0, 255, 255, 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 },
{ 1, OFILE_BARREL, 1, 16, 0, 255, 255, 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 },
{ 3, OFILE_LSHRINEG, 0, 0, 0, 1, 255, 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_BOOK2, 0, 0, 0, 3, 255, 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, 255, 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_CANDLE2, 0, 0, 0, 5, 255, 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 },
{ 1, OFILE_DECAP, 13, 16, 0, 8, 255, 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_CHEST2, 1, 16, 0, 255, 255, 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_BOOK1, 7, 7, 2, 255, 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_PEDISTL, 5, 5, 2, 255, 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, 255, 255, 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_ARMSTAND, 0, 0, 0, 10, 255, 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_GOATSHRN, 0, 0, 0, 11, 255, 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 },
{ 3, OFILE_MFOUNTN, 0, 0, 0, 13, 255, 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 },
{ 1, OFILE_ALTBOY, 0, 0, 1, 255, 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, 255, 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_CANDLE2, 2, 12, 0, 255, 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_ARMSTAND, 13, 13, 0, 255, 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_BURNCROS, 0, 0, 0, 15, 255, 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, 255, 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_LZSTAND, 0, 0, 0, 255, 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 },
{ 2, OFILE_CHEST3, 0, 0, 0, 255, 255, 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, OFILE_TSOUL, 13, 16, 0, -1, 6, 0, 1, 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, -1, 6, 0, 3, 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, -1, 6, 0, 5, 0, 128, 1, 0, 1, 0, 0, 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, -1, -1, 0, 1, 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, -1, -1, 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, -1, -1, 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, -1, -1, 0, 1, 5, 128, 1, 1, 1, 0, 3, 1 },
{ 2, OFILE_FLAME1, 1, 4, 1, -1, -1, 0, 1, 20, 96, 0, 1, 1, 0, 0, 0 },
{ 2, OFILE_LEVER, 1, 4, 1, -1, -1, 0, 1, 2, 96, 1, 1, 1, 0, 1, 1 },
{ 2, OFILE_MINIWATR, 1, 4, 1, -1, -1, 1, 1, 10, 64, 1, 0, 1, 0, 0, 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, -1, -1, 0, 1, 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, -1, -1, 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, -1, -1, 0, 1, 9, 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, -1, 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, -1, 0, 4, 0, 96, 1, 1, 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, -1, 0, 4, 0, 96, 0, 0, 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, -1, 1, 2, 4, 96, 1, 1, 1, 0, 0, 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, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 0 },
{ 1, OFILE_CHEST1, 1, 16, 0, -1, -1, 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, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ 1, OFILE_BOOK1, 7, 7, 2, -1, 8, 0, 1, 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, -1, 9, 0, 1, 0, 96, 1, 1, 1, 0, 3, 0 },
{ 1, OFILE_L3DOORS, 9, 12, 3, -1, -1, 0, 1, 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, -1, 1, 2, 10, 128, 1, 1, 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, -1, 0, 2, 0, 96, 1, 0, 1, 0, 0, 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, -1, -1, 0, 1, 0, 96, 1, 0, 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, -1, 1, 2, 4, 128, 1, 1, 1, 0, 3, 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, -1, 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, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 3, 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, -1, 11, 0, 4, 0, 96, 1, 1, 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, -1, 11, 0, 1, 0, 96, 1, 0, 1, 0, 3, 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, -1, 0, 1, 0, 96, 1, 0, 1, 0, 3, 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, -1, 1, 0, 1, 0, 96, 1, 1, 1, 0, 3, 1 },
{ 2, OFILE_LZSTAND, 0, 0, 0, -1, 15, 0, 1, 0, 128, 1, 0, 1, 0, 3, 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, -1, -1, 0, 1, 0, 96, 1, 1, 1, 0, 1, 1 },
{ -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
char *ObjMasterLoadList[56] =
{
@ -5456,7 +5456,7 @@ LABEL_47:
v60 = random(v7, 37);
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];
if ( *v61 < 2 )
*v61 = 0;

View File

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

View File

@ -27,21 +27,21 @@ int ReturnLvl; // idb
QuestData questlist[16] =
{
{ 5, 255, DTYPE_NONE, 0, 100, 0, 0, QUEST_INFRA5, "The Magic Rock" },
{ 9, 255, DTYPE_NONE, 1, 100, 0, 0, QUEST_MUSH8, "Black Mushroom" },
{ 4, 255, DTYPE_NONE, 2, 100, 0, 0, QUEST_GARBUD1, "Gharbad The Weak" },
{ 8, 255, DTYPE_NONE, 3, 100, 0, 0, QUEST_ZHAR1, "Zhar the Mad" },
{ 14, 255, DTYPE_NONE, 4, 100, 0, 0, QUEST_VEIL9, "Lachdanan" },
{ 15, 255, DTYPE_NONE, 5, 100, 0, 1, QUEST_VILE3, "Diablo" },
{ 5, -1, DTYPE_NONE, 0, 100, 0, 0, QUEST_INFRA5, "The Magic Rock" },
{ 9, -1, DTYPE_NONE, 1, 100, 0, 0, QUEST_MUSH8, "Black Mushroom" },
{ 4, -1, DTYPE_NONE, 2, 100, 0, 0, QUEST_GARBUD1, "Gharbad The Weak" },
{ 8, -1, DTYPE_NONE, 3, 100, 0, 0, QUEST_ZHAR1, "Zhar the Mad" },
{ 14, -1, DTYPE_NONE, 4, 100, 0, 0, QUEST_VEIL9, "Lachdanan" },
{ 15, -1, DTYPE_NONE, 5, 100, 0, 1, QUEST_VILE3, "Diablo" },
{ 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" },
{ 7, 255, DTYPE_NONE, 8, 100, 0, 0, QUEST_BLINDING, "Halls of the Blind" },
{ 5, 255, DTYPE_NONE, 9, 100, 0, 0, QUEST_BLOODY, "Valor" },
{ 10, 255, DTYPE_NONE, 10, 100, 0, 0, QUEST_ANVIL5, "Anvil of Fury" },
{ 13, 255, DTYPE_NONE, 11, 100, 0, 0, QUEST_BLOODWAR, "Warlord of Blood" },
{ 4, -1, DTYPE_NONE, 7, 100, 0, 0, QUEST_BANNER2, "Ogden's Sign" },
{ 7, -1, DTYPE_NONE, 8, 100, 0, 0, QUEST_BLINDING, "Halls of the Blind" },
{ 5, -1, DTYPE_NONE, 9, 100, 0, 0, QUEST_BLOODY, "Valor" },
{ 10, -1, DTYPE_NONE, 10, 100, 0, 0, QUEST_ANVIL5, "Anvil of Fury" },
{ 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" },
{ 2, 255, 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" },
{ 2, -1, DTYPE_CAVES, 13, 100, 4, 0, QUEST_POISON3, "Poisoned Water Supply" },
{ 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" }
};
char questxoff[7] = { 0, -1, 0, -1, -2, -1, -2 };

View File

@ -38,7 +38,7 @@ char *sgszMusicTracks[6] =
"Music\\DLvlD.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) --------------------------------------------------------
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
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 tile_draw_masks[3][32] =
unsigned int tile_draw_masks[3][32] =
{
{
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 int world_4B3265;
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_4B34BD[17];
extern int world_4B3501[17];

View File

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

View File

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

View File

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