1
0
Fork 0

Merge pull request #8 from galaxyhaxz/work

Linux compiling almost there
pull/10/head
galaxyhaxz 2018-06-09 03:15:38 -05:00 committed by GitHub
commit 4d5e0cc7d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 977 additions and 375 deletions

4
.gitignore vendored Normal file
View File

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

View File

@ -60,6 +60,9 @@ typedef struct _WSIZE
#define GAMESTATE_STARTED 0x08
#define GAMESTATE_REPLAY 0x80
#ifdef __GNUC__
extern "C" {
#endif
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();
@ -1295,4 +1298,9 @@ bool __stdcall SNetSetBasePlayer(int base_player_num);
int __stdcall SFileSetFilePointer(HANDLE file1, int offset, HANDLE file2, int whence);
void __stdcall SDrawMessageBox(char *text, char *caption, int type);
#ifdef __GNUC__
}
#endif
#endif

View File

@ -60,6 +60,9 @@ typedef struct _WSIZE
#define GAMESTATE_STARTED 0x08
#define GAMESTATE_REPLAY 0x80
#ifdef __GNUC__
extern "C" {
#endif
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();
@ -1296,4 +1299,9 @@ 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);
#ifdef __GNUC__
}
#endif
#endif

494
3rdParty/Storm/Source/storm_gcc.def vendored Normal file
View File

@ -0,0 +1,494 @@
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
;SNetSendDatagram @135 NONAME
;SNetReceiveDatagram @136 NONAME
SNetDisconnectAll @137 NONAME
SNetCreateLadderGame @138 NONAME
SNetReportGameResult @139 NONAME
;SNetCheckDataFile @140 NONAME
SNetSendLeagueCommand @141 NONAME
SNetSendReplayPath @142 NONAME
SNetGetLeagueName @143 NONAME
SNetGetPlayerNames @144 NONAME
SNetLeagueLogout @145 NONAME
SNetGetLeaguePlayerName @146 NONAME
;Ordinal150 @150 NONAME
;Ordinal151 @151 NONAME
;SDlgBeginPaint @201 NONAME
;SDlgBltToWindowI @202 NONAME
;SDlgCheckTimers @203 NONAME
;SDlgCreateDialogIndirectParam @204 NONAME
;SDlgCreateDialogParam @205 NONAME
SDlgDefDialogProc @206 NONAME
SDlgDialogBoxIndirectParam @208 NONAME
;SDlgDialogBoxParam @209 NONAME
;SDlgDrawBitmap @210 NONAME
SDlgEndDialog @211 NONAME
;SDlgEndPaint @212 NONAME
;SDlgKillTimer @213 NONAME
;SDlgSetBaseFont @214 NONAME
;SDlgSetBitmapI @215 NONAME
SDlgSetControlBitmaps @216 NONAME
;SDlgSetCursor @217 NONAME
;SDlgSetSystemCursor @218 NONAME
;SDlgSetTimer @219 NONAME
;SDlgUpdateCursor @220 NONAME
SDlgBltToWindowE @221 NONAME
SDlgSetBitmapE @222 NONAME
;SDlgSetLocale @223 NONAME
Ordinal224 @224 NONAME
;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
SFileGetArchiveName @275 NONAME
SFileGetFileName @276 NONAME
;SFileGetArchiveInfo @277 NONAME
;SFileSetPlatform @278 NONAME
SFileLoadFile @279 NONAME
SFileUnloadFile @280 NONAME
SFileLoadFileEx @281 NONAME
;SFilePrioritizeRequest @282 NONAME
;SFileCancelRequest @283 NONAME
;SFileSetAsyncBudget @284 NONAME
;SFileSetDataChunkSize @285 NONAME
;SFileEnableSeekOptimization @286 NONAME
;SFileReadFileEx @287 NONAME
;SFileFileExists @288 NONAME
;SFileFileExistsEx @289 NONAME
;SFileReadFileEx2 @290 NONAME
;SFileReadFile2 @291 NONAME
;SFileLoadFile2 @292 NONAME
;SFileOpenFileAsArchive @293 NONAME
;SFileGetLocale @294 NONAME
;SFileRegisterLoadNotifyProc @295 NONAME
;SFileGetFileCompressedSize @296 NONAME
;Ordinal297 @297 NONAME
;Ordinal298 @298 NONAME
;SFileAuthenticateArchiveEx @299 NONAME
;SFileOpenPathAsArchive @300 NONAME
StormDestroy @301 NONAME
;StormGetInstance @302 NONAME
;StormGetOption @303 NONAME
;StormSetOption @304 NONAME
;SBltGetSCode @312 NONAME
SBltROP3 @313 NONAME
SBltROP3Clipped @314 NONAME
;SBltROP3Tiled @315 NONAME
SBmpDecodeImage @321 NONAME
SBmpLoadImage @323 NONAME
SBmpSaveImage @324 NONAME
SBmpAllocLoadImage @325 NONAME
;SBmpSaveImageEx @326 NONAME
SCodeCompile @331 NONAME
SCodeDelete @332 NONAME
SCodeExecute @334 NONAME
;SCodeGetPseudocode @335 NONAME
SDrawAutoInitialize @341 NONAME
SDrawCaptureScreen @342 NONAME
;SDrawClearSurface @343 NONAME
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
SEvtDispatch @372 NONAME
;SEvtRegisterHandler @373 NONAME
;SEvtUnregisterHandler @374 NONAME
;SEvtUnregisterType @375 NONAME
;SEvtPopState @376 NONAME
;SEvtPushState @377 NONAME
;SEvtBreakHandlerChain @378 NONAME
;SGdiBitBlt @381 NONAME
;SGdiCreateFont @382 NONAME
SGdiDeleteObject @383 NONAME
;SGdiDestroy @384 NONAME
SGdiExtTextOut @385 NONAME
SGdiImportFont @386 NONAME
;SGdiLoadFont @387 NONAME
;SGdiRectangle @388 NONAME
SGdiSelectObject @389 NONAME
SGdiSetPitch @390 NONAME
;SGdiTextOut @391 NONAME
;SGdi392 @392 NONAME
Ordinal393 @393 NONAME
;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
;SMsgDispatchMessage @412 NONAME
;SMsgDoMessageLoop @413 NONAME
;SMsgRegisterCommand @414 NONAME
;SMsgRegisterKeyDown @415 NONAME
;SMsgRegisterKeyUp @416 NONAME
;SMsgRegisterMessage @417 NONAME
;SMsgPopRegisterState @418 NONAME
;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
;SReg430 @430 NONAME
STransBlt @431 NONAME
STransBltUsingMask @432 NONAME
;STransCreateI @433 NONAME
STransDelete @434 NONAME
STransDuplicate @436 NONAME
STransIntersectDirtyArray @437 NONAME
STransInvertMask @438 NONAME
;STransLoadI @439 NONAME
STransSetDirtyArrayInfo @440 NONAME
;STransUpdateDirtyArray @441 NONAME
STransPointInMask @442 NONAME
STransCombineMasks @443 NONAME
;STransCreateI @444 NONAME
STransCreateE @445 NONAME
;STrans446 @446 NONAME
;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
;SErrRegisterHandler @469 NONAME
;SErrUnregisterHandler @470 NONAME
;Storm471 @471 NONAME
;SCmdGetBool @472 NONAME
;SCmdGetNum @473 NONAME
;SCmdGetString @474 NONAME
;SCmdProcess @475 NONAME
;SCmdRegisterArgList @476 NONAME
;SCmdRegisterArgument @477 NONAME
;SCmdStringExists @478 NONAME
;SCmdProcessCommandLine @479 NONAME
;Ordinal480 @480 NONAME
;SMemFindNextBlock @481 NONAME
;SMemFindNextHeap @482 NONAME
;SMemGetHeapByCaller @483 NONAME
;SMemGetHeapByPtr @484 NONAME
;SMemHeapAlloc @485 NONAME
;SMemHeapCreate @486 NONAME
;SMemHeapDestroy @487 NONAME
;SMemHeapFree @488 NONAME
;SMemHeapRealloc @489 NONAME
;SMemHeapSize @490 NONAME
SMemCopy @491 NONAME
SMemFill @492 NONAME
;SMemMove @493 NONAME
SMemZero @494 NONAME
SMemCmp @495 NONAME
;SMem496 @496 NONAME
;SMemDumpState @497 NONAME
;Ordinal498 @498 NONAME
SStrCopy @501 NONAME
SStrCopy@12 @501 NONAME
SStrHash @502 NONAME
SStrNCat @503 NONAME
;SStrTokenize @504 NONAME
;SStrPack @505 NONAME
SStrLen @506 NONAME
;SStrDup @507 NONAME
SStrCmp @508 NONAME
SStrCmpI @509 NONAME
SStrUpper @510 NONAME
;SMsgBreakHandlerChain @511 NONAME
;SMsgUnregisterCommand @512 NONAME
;SMsgUnregisterKeyDown @513 NONAME
;SMsgUnregisterKeyUp @514 NONAME
;SMsgUnregisterMessage @515 NONAME
;SMsgGetDispatcher @516 NONAME
;SMsgSetDefaultWindow @517 NONAME
;SMsgGetDefaultWindow @518 NONAME
;SMsg519 @519 NONAME
;SRgn521 @521 NONAME
SRgn523 @523 NONAME
SRgnCreateRegion @524 NONAME
SRgnDeleteRegion @525 NONAME
;SRgn527 @527 NONAME
;SRgn528i @528 NONAME
SRgn529i @529 NONAME
;SRgn530i @530 NONAME
;SRgn531i @531 NONAME
;SRgn532i @532 NONAME
;SRgn533i @533 NONAME
;SRgn534 @534 NONAME
;SRgn535f @535 NONAME
;SRgn536f @536 NONAME
;SRgn537f @537 NONAME
;SRgn538f @538 NONAME
;SRgn539f @539 NONAME
;SRgn540f @540 NONAME
;SLogClose @541 NONAME
;SLogCreate @542 NONAME
;SLog543 @543 NONAME
;SLogDump @544 NONAME
;SLogFlush @545 NONAME
;SLogFlushAll @546 NONAME
;SLogPend @547 NONAME
;SLogWrite @548 NONAME
;SLog549 @549 NONAME
;SLogCriticalLog @550 NONAME
;SCompCompress @551 NONAME
;SCompDecompress @552 NONAME
;SLogVWrite @553 NONAME
;Ordinal554 @554 NONAME
;Ordinal555 @555 NONAME
;Ordinal556 @556 NONAME
;Ordinal557 @557 NONAME
;Ordinal558 @558 NONAME
;Ordinal559 @559 NONAME
;Ordinal560 @560 NONAME
;SErrCheckDebugSymbolLibrary @561 NONAME
SErrDisplayErrorFmt @562 NONAME
;SErrIsDisplayingError @563 NONAME
;SErrPrepareAppFatal @564 NONAME
;SErrSetLogTitleString @565 NONAME
;SErrDisplayAppFatal @566 NONAME
SErrCatchUnhandledExceptions @567 NONAME
;Storm568 @568 NONAME
;SStrChr @569 NONAME
;SStrChrR @570 NONAME
SStrChr @571 NONAME
SStrChrR @572 NONAME
;SStrToDouble @573 NONAME
;SStrToFloat @574 NONAME
;SStrToInt @575 NONAME
;SStrToUnsigned @576 NONAME
;SStrToInt64 @577 NONAME
SStrVPrintf @578 NONAME
;SStrLower @579 NONAME
;SStrHash64 @580 NONAME
;SStrPrintf @581 NONAME
;SDrawSetClientRect @582 NONAME
;SDrawGetClientRect @583 NONAME
;SStrStrI @584 NONAME
;SStrStrI @585 NONAME
;SStrStr @586 NONAME
;SStrStr @587 NONAME
;SNet588 @588 NONAME
;SBigAdd @601 NONAME
;SBigAnd @602 NONAME
;SBigCompare @603 NONAME
;SBigCopy @604 NONAME
;SBigDec @605 NONAME
SBigDel @606 NONAME
;SBigDiv @607 NONAME
;SBigFindPrime @608 NONAME
SBigFromBinary @609 NONAME
;SBigFromStr @610 NONAME
;SBigFromStream @611 NONAME
;SBigFromUnsigned @612 NONAME
;SBigGcd @613 NONAME
;SBigInc @614 NONAME
;SBigInvMod @615 NONAME
;SBigIsEven @616 NONAME
;SBigIsOdd @617 NONAME
;SBigIsOne @618 NONAME
;SBigIsPrime @619 NONAME
;SBigIsZero @620 NONAME
;SBigMod @621 NONAME
;SBigMul @622 NONAME
;SBigMulMod @623 NONAME
SBigNew @624 NONAME
;SBigNot @625 NONAME
;SBigOr @626 NONAME
;SBigPow @627 NONAME
SBigPowMod @628 NONAME
;SBigRand @629 NONAME
;SBigSet2Exp @630 NONAME
;SBigSetOne @631 NONAME
;SBigSetZero @632 NONAME
;SBigShl @633 NONAME
;SBigShr @634 NONAME
;SBigSquare @635 NONAME
;SBigSub @636 NONAME
;SBigToBinaryArray @637 NONAME
SBigToBinaryBuffer @638 NONAME
;SBigToBinaryPtr @639 NONAME
;SBigToStrArray @640 NONAME
;SBigToStrBuffer @641 NONAME
;SBigToStrPtr @642 NONAME
;SBigToStreamArray @643 NONAME
;SBigToStreamBuffer @644 NONAME
;SBigToStreamPtr @645 NONAME
;SBigToUnsigned @646 NONAME
;SBigXor @647 NONAME
;SUniConvertUTF16to8Len @901 NONAME
;SUniConvertUTF16to8 @902 NONAME
;SUniConvertUTF8to16Len @903 NONAME
;SUniConvertUTF8to16 @904 NONAME
;SUniS905 @905 NONAME
;SUniS906 @906 NONAME
;SUniFindAfterUTF8Chr @907 NONAME
;SUniFindUTF8ChrStart @908 NONAME
;SUniConvertUTF16To909 @909 NONAME
;SUniConvertUTF16To910 @910 NONAME
;SUniConvertUTF16To911 @911 NONAME
;SUniConvert912 @912 NONAME
;SUniConvert913 @913 NONAME
;SUniConvert914 @914 NONAME
;SUniConvertUTF8ToWin @915 NONAME
; END

View File

@ -9,6 +9,10 @@
*/
#ifdef __GNUC__
extern "C" {
#endif
void __cdecl UiDestroy(); // { return; }
void __stdcall UiTitleDialog(int a1); // { return; }
void __cdecl UiInitialize(); // { return; }
@ -35,3 +39,7 @@ int __stdcall UiSelectGame(int a1, _SNETPROGRAMDATA *client_info, _SNETPLAYERDAT
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; }
#ifdef __GNUC__
}
#endif

48
DiabloUI/diabloui_gcc.def Normal file
View File

@ -0,0 +1,48 @@
LIBRARY "DiabloUI"
EXPORTS
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: devilution.exe
devilution.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_gcc.def
i686-w64-mingw32-dlltool -d DiabloUI/diabloui_gcc.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_gcc.def
i686-w64-mingw32-dlltool -d 3rdParty/Storm/Source/storm_gcc.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

@ -485,7 +485,7 @@ LABEL_10:
}
v20 = &spelldata[1].sTownSpell;
v4 = 1;
v26 = 1i64;
v26 = (__int64)1;
v23 = 1;
v22 = xp - 216;
do
@ -621,7 +621,7 @@ LABEL_66:
LABEL_68:
v20 += 56;
++v4;
v26 *= 2i64;
v26 *= (__int64)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)((__int64)1 << ((unsigned char)v2 - 1)) >> 32) | v8 & (unsigned int)((__int64)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)((__int64)1 << ((unsigned char)ii - 1)) >> 32) & plr[v3]._pISpells[1] | (unsigned int)((__int64)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)((__int64)1 << ((unsigned char)v2 - 1)) >> 32) | v0 & (unsigned int)((__int64)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 = (__int64)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

@ -121,7 +121,7 @@ void __cdecl MaxSpellsCheat()
{
if ( spelldata[i].sBookLvl != -1 )
{
*(_QWORD *)plr[myplr]._pMemSpells |= 1i64 << (i - 1);
*(_QWORD *)plr[myplr]._pMemSpells |= (__int64)1 << (i - 1);
plr[myplr]._pSplLvl[i] = 10;
}
}

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 = (__int64)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 |= (__int64)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 & ((__int64)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 = (__int64)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 = (__int64)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 = (__int64)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 |= (__int64)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] = (__int64)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] = (__int64)0x1010102;
*(_QWORD *)&Dirs[1][8] = (__int64)0;
*(_QWORD *)&Dirs[2][0] = (__int64)0x1010101010102;
*(_QWORD *)&Dirs[2][8] = (__int64)0;
*(_QWORD *)&Dirs[3][0] = (__int64)0x101010101010102;
*(_QWORD *)&Dirs[3][8] = (__int64)1;
*(_QWORD *)&Dirs[4][0] = (__int64)0x101010101010202;
*(_QWORD *)&Dirs[4][8] = (__int64)0x1010101;
*(_QWORD *)&Dirs[5][0] = (__int64)0x101010101010202;
*(_QWORD *)&Dirs[5][8] = (__int64)0x10101010101;
*(_QWORD *)&Dirs[6][0] = (__int64)0x101010101010202;
*(_QWORD *)&Dirs[6][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[7][0] = (__int64)0x101010101020202;
*(_QWORD *)&Dirs[7][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[8][0] = (__int64)0x101010101020202;
*(_QWORD *)&Dirs[8][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[9][0] = (__int64)0x101010102020202;
*(_QWORD *)&Dirs[9][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[10][0] = (__int64)0x101010102020202;
*(_QWORD *)&Dirs[10][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[11][0] = (__int64)0x101010102020202;
*(_QWORD *)&Dirs[11][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[12][0] = (__int64)0x101010202020202;
*(_QWORD *)&Dirs[12][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[13][0] = (__int64)0x101010202020202;
*(_QWORD *)&Dirs[13][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[14][0] = (__int64)0x101020202020202;
*(_QWORD *)&Dirs[14][8] = (__int64)0x101010101010101;
lltour[1] = 0;
*(_QWORD *)&Dirs[15][0] = 0x101020202020202i64;
*(_QWORD *)&Dirs[15][8] = 0x101010101010101i64;
*(_QWORD *)&Dirs[15][0] = (__int64)0x101020202020202;
*(_QWORD *)&Dirs[15][8] = (__int64)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] = (__int64)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] = (__int64)0x1010204;
*(_QWORD *)&Dirs[1][8] = (__int64)0;
*(_QWORD *)&Dirs[2][0] = (__int64)0x101010101020304;
*(_QWORD *)&Dirs[2][8] = (__int64)0;
*(_QWORD *)&Dirs[3][0] = (__int64)0x101010202030304;
*(_QWORD *)&Dirs[3][8] = (__int64)0x1010101;
*(_QWORD *)&Dirs[4][0] = (__int64)0x101010202030404;
*(_QWORD *)&Dirs[4][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[5][0] = (__int64)0x102020203030404;
*(_QWORD *)&Dirs[5][8] = (__int64)0x101010101010101;
*(_QWORD *)&Dirs[6][0] = (__int64)0x202020203030404;
*(_QWORD *)&Dirs[6][8] = (__int64)0x101010101010102;
*(_QWORD *)&Dirs[7][0] = (__int64)0x202030303030404;
*(_QWORD *)&Dirs[7][8] = (__int64)0x101010101010202;
*(_QWORD *)&Dirs[8][0] = (__int64)0x202030303040404;
*(_QWORD *)&Dirs[8][8] = (__int64)0x101010101020202;
*(_QWORD *)&Dirs[9][0] = (__int64)0x203030303040404;
*(_QWORD *)&Dirs[9][8] = (__int64)0x101010102020202;
*(_QWORD *)&Dirs[10][0] = (__int64)0x303030303040404;
*(_QWORD *)&Dirs[10][8] = (__int64)0x101020202020202;
*(_QWORD *)&Dirs[11][0] = (__int64)0x303030303040404;
*(_QWORD *)&Dirs[11][8] = (__int64)0x102020202020203;
*(_QWORD *)&Dirs[12][0] = (__int64)0x303030304040404;
*(_QWORD *)&Dirs[12][8] = (__int64)0x202020202020303;
*(_QWORD *)&Dirs[13][0] = (__int64)0x303030304040404;
*(_QWORD *)&Dirs[13][8] = (__int64)0x202020202020303;
*(_QWORD *)&Dirs[14][0] = (__int64)0x303030304040404;
*(_QWORD *)&Dirs[14][8] = (__int64)0x202020202030303;
lrtoul[2] = 0;
*(_QWORD *)&Dirs[15][0] = 0x303030304040404i64;
*(_QWORD *)&Dirs[15][8] = 0x202020203030303i64;
*(_QWORD *)&Dirs[15][0] = (__int64)0x303030304040404;
*(_QWORD *)&Dirs[15][8] = (__int64)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)((__int64)1 << v60) >> 32) | plr[v53]._pMemSpells[0] & (unsigned int)((__int64)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)((__int64)1 << (_LOBYTE(plr[v2]._pRSpell) - 1)) >> 32) | plr[v2]._pScrlSpells[0] & (unsigned int)((__int64)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)((__int64)1 << (_LOBYTE(plr[v2]._pRSpell) - 1)) >> 32) | plr[v2]._pISpells[0] & (unsigned int)((__int64)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 = (__int64)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 |= (__int64)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

@ -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"