#pragma once // clang-format off extern "C" { extern char __start_text, __end_text; extern char __start_rdata, __end_rdata; extern char __start_data, __end_data; extern char __start_bss, __end_bss; extern void* imp_RegSetValueExA; extern void* imp_RegQueryValueExA; extern void* imp_RegCloseKey; extern void* imp_GetUserNameA; extern void* imp_RegOpenKeyExA; extern void* imp_UiValidPlayerName; extern void* imp_UiSelHeroSingDialog; extern void* imp_UiCreditsDialog; extern void* imp_UiMainMenuDialog; extern void* imp_UiProgressDialog; extern void* imp_UiProfileGetString; extern void* imp_UiProfileCallback; extern void* imp_UiProfileDraw; extern void* imp_UiCategoryCallback; extern void* imp_UiAppActivate; extern void* imp_UiSelHeroMultDialog; extern void* imp_UiSoundCallback; extern void* imp_UiMessageBoxCallback; extern void* imp_UiDestroy; extern void* imp_UiCreateGameCallback; extern void* imp_UiArtCallback; extern void* imp_UiSelectGame; extern void* imp_UiSelectProvider; extern void* imp_UiCreatePlayerDescription; extern void* imp_UiSetupPlayerInfo; extern void* imp_UiTitleDialog; extern void* imp_UiCopyProtError; extern void* imp_UiInitialize; extern void* imp_UiGetDataCallback; extern void* imp_UiAuthCallback; extern void* imp_UiDrawDescCallback; extern void* imp_GetSystemPaletteEntries; extern void* imp_GetStockObject; extern void* imp_GdiSetBatchLimit; extern void* imp_GetDeviceCaps; extern void* imp_SetEndOfFile; extern void* imp_TlsSetValue; extern void* imp_lstrcpynA; extern void* imp_IsBadWritePtr; extern void* imp_SetLastError; extern void* imp_SetEnvironmentVariableA; extern void* imp_CompareStringW; extern void* imp_CompareStringA; extern void* imp_GetLocaleInfoW; extern void* imp_RaiseException; extern void* imp_FlushFileBuffers; extern void* imp_SetStdHandle; extern void* imp_GetLocaleInfoA; extern void* imp_GetStringTypeW; extern void* imp_GetStringTypeA; extern void* imp_HeapCreate; extern void* imp_HeapDestroy; extern void* imp_GetFileType; extern void* imp_GetStdHandle; extern void* imp_SetHandleCount; extern void* imp_GetOEMCP; extern void* imp_GetACP; extern void* imp_GetCPInfo; extern void* imp_GetEnvironmentStringsW; extern void* imp_GetEnvironmentStrings; extern void* imp_FreeEnvironmentStringsW; extern void* imp_FreeEnvironmentStringsA; extern void* imp_RtlUnwind; extern void* imp_UnhandledExceptionFilter; extern void* imp_HeapFree; extern void* imp_HeapSize; extern void* imp_HeapAlloc; extern void* imp_HeapReAlloc; extern void* imp_LCMapStringW; extern void* imp_LCMapStringA; extern void* imp_WideCharToMultiByte; extern void* imp_MultiByteToWideChar; extern void* imp_TlsGetValue; extern void* imp_TlsAlloc; extern void* imp_GetVersion; extern void* imp_FormatMessageA; extern void* imp_GetLastError; extern void* imp_ExitProcess; extern void* imp_Sleep; extern void* imp_GetCurrentThreadId; extern void* imp_DeleteFileA; extern void* imp_CloseHandle; extern void* imp_WriteFile; extern void* imp_CreateFileA; extern void* imp_GetCurrentThread; extern void* imp_SetThreadPriority; extern void* imp_CreateEventA; extern void* imp_GetSystemTime; extern void* imp_GetTickCount; extern void* imp_GetModuleFileNameA; extern void* imp_GetCurrentProcessId; extern void* imp_InterlockedIncrement; extern void* imp_UnmapViewOfFile; extern void* imp_CreateProcessA; extern void* imp_MapViewOfFile; extern void* imp_CreateFileMappingA; extern void* imp_GetSystemInfo; extern void* imp_GetPrivateProfileStringA; extern void* imp_InitializeCriticalSection; extern void* imp_DeleteCriticalSection; extern void* imp_LeaveCriticalSection; extern void* imp_EnterCriticalSection; extern void* imp_SetEvent; extern void* imp_ResetEvent; extern void* imp_WaitForSingleObject; extern void* imp_GetProcAddress; extern void* imp_LoadLibraryA; extern void* imp_IsBadReadPtr; extern void* imp_GetModuleHandleA; extern void* imp_VirtualQuery; extern void* imp_GetFileAttributesA; extern void* imp_ReadFile; extern void* imp_SetUnhandledExceptionFilter; extern void* imp_FindClose; extern void* imp_FindNextFileA; extern void* imp_FindFirstFileA; extern void* imp_GetCurrentDirectoryA; extern void* imp_GetDriveTypeA; extern void* imp_GetLogicalDriveStringsA; extern void* imp_SetFilePointer; extern void* imp_GetCommandLineA; extern void* imp_GetFileSize; extern void* imp_VirtualFree; extern void* imp_VirtualAlloc; extern void* imp_GetLocalTime; extern void* imp_SetFileAttributesA; extern void* imp_TerminateProcess; extern void* imp_GetCurrentProcess; extern void* imp_GetWindowsDirectoryA; extern void* imp_GetDiskFreeSpaceA; extern void* imp_CopyFileA; extern void* imp_OpenFile; extern void* imp_GetComputerNameA; extern void* imp_GetVersionExA; extern void* imp_InterlockedDecrement; extern void* imp_FileTimeToSystemTime; extern void* imp_FileTimeToLocalFileTime; extern void* imp_ExitThread; extern void* imp_CreateThread; extern void* imp_GetStartupInfoA; extern void* imp_GetTimeZoneInformation; extern void* imp_ShellExecuteA; extern void* imp_SHGetSpecialFolderLocation; extern void* imp_SHGetPathFromIDListA; extern void* imp_SFileGetFileArchive; extern void* imp_SFileDdaSetVolume; extern void* imp_SFileDdaEnd; extern void* imp_SVidDestroy; extern void* imp_SFileDdaDestroy; extern void* imp_SVidInitialize; extern void* imp_SFileDdaInitialize; extern void* imp_SFileOpenFileEx; extern void* imp_SFileGetFileSize; extern void* imp_SFileReadFile; extern void* imp_SFileSetFilePointer; extern void* imp_SRegSaveString; extern void* imp_SDrawUpdatePalette; extern void* imp_SNetGetProviderCaps; extern void* imp_SNetReceiveTurns; extern void* imp_SNetGetTurnsInTransit; extern void* imp_SNetSendTurn; extern void* imp_SNetPerformUpgrade; extern void* imp_SNetInitializeProvider; extern void* imp_SNetCreateGame; extern void* imp_SDrawGetFrameWindow; extern void* imp_SFileOpenFile; extern void* imp_SNetGetGameInfo; extern void* imp_SNetRegisterEventHandler; extern void* imp_SNetUnregisterEventHandler; extern void* imp_SNetReceiveMessage; extern void* imp_SNetSendMessage; extern void* imp_SNetSendServerChatCommand; extern void* imp_SNetDropPlayer; extern void* imp_SNetGetOwnerTurnsWaiting; extern void* imp_SErrGetLastError; extern void* imp_SRegSaveData; extern void* imp_SRegLoadData; extern void* imp_SVidPlayBegin; extern void* imp_SVidPlayContinue; extern void* imp_SVidPlayEnd; extern void* imp_SErrSetLastError; extern void* imp_SStrCopy; extern void* imp_SDrawRealizePalette; extern void* imp_SFileSetBasePath; extern void* imp_SFileOpenArchive; extern void* imp_SRegLoadString; extern void* imp_SFileCloseArchive; extern void* imp_SNetSetBasePlayer; extern void* imp_StormDestroy; extern void* imp_SFileDdaGetPos; extern void* imp_SFileDdaBeginEx; extern void* imp_SMemAlloc; extern void* imp_SErrGetErrorStr; extern void* imp_SMemFree; extern void* imp_SNetLeaveGame; extern void* imp_SDrawMessageBox; extern void* imp_SNetDestroy; extern void* imp_SRegLoadValue; extern void* imp_SDrawManualInitialize; extern void* imp_SRegSaveValue; extern void* imp_SFileCloseFile; extern void* imp_SDrawDestroy; extern void* imp_DestroyWindow; extern void* imp_SetFocus; extern void* imp_SetForegroundWindow; extern void* imp_GetTopWindow; extern void* imp_TranslateMessage; extern void* imp_DispatchMessageA; extern void* imp_GetLastActivePopup; extern void* imp_GetWindowThreadProcessId; extern void* imp_GetWindow; extern void* imp_GetForegroundWindow; extern void* imp_WaitForInputIdle; extern void* imp_SetCapture; extern void* imp_GetSystemMetrics; extern void* imp_FindWindowA; extern void* imp_SetCursorPos; extern void* imp_UpdateWindow; extern void* imp_CreateWindowExA; extern void* imp_RegisterClassExA; extern void* imp_ShowCursor; extern void* imp_LoadCursorA; extern void* imp_LoadIconA; extern void* imp_PostMessageA; extern void* imp_GetClassNameA; extern void* imp_DefWindowProcA; extern void* imp_PostQuitMessage; extern void* imp_SetWindowLongA; extern void* imp_GetWindowLongA; extern void* imp_InvalidateRect; extern void* imp_ReleaseCapture; extern void* imp_PeekMessageA; extern void* imp_DialogBoxParamA; extern void* imp_SetDlgItemTextA; extern void* imp_EndDialog; extern void* imp_ReleaseDC; extern void* imp_GetWindowRect; extern void* imp_GetDC; extern void* imp_ShowWindow; extern void* imp_GetDesktopWindow; extern void* imp_LoadImageA; extern void* imp_wvsprintfA; extern void* imp_SetWindowPos; extern void* imp_MessageBoxA; extern void* imp_wsprintfA; extern void* imp_GetFileVersionInfoA; extern void* imp_GetFileVersionInfoSizeA; extern void* imp_VerQueryValueA; void d_j_appfat_cpp_init(...); // Unknown signature void d_appfat_cpp_init(...); // Unknown signature void d_appfat_cpp_free(...); // Unknown signature char * __fastcall d_GetErrorStr(int error_code); void __fastcall d_TraceErrorDD(int error_code,char * error_buf,int error_buf_len); void __fastcall d_TraceErrorDS(int error_code,char * error_buf,int error_buf_len); char * __cdecl d_TraceLastError(); void d_TermMsg(char * pszFmt,...); void __fastcall d_MsgBox(char * pszFmt,va_list va); void __cdecl d_FreeDlg(); void d_DrawDlg(char * pszFmt,...); void __fastcall d_DDErrMsg(int error_code,int log_line_nr,char * log_file_path); void __fastcall d_DSErrMsg(int error_code,int log_line_nr,char * log_file_path); void __fastcall d_center_window(HWND hDlg); void __fastcall d_ErrDlg(int template_id,int error_code,char * log_file_path,int log_line_nr); BOOL __stdcall d_FuncDlg(HWND hDlg,UINT uMsg,WPARAM wParam,char * text); void __fastcall d_TextDlg(HWND hDlg,char * text); void __fastcall d_ErrOkDlg(int template_id,int error_code,char * log_file_path,int log_line_nr); void __fastcall d_FileErrDlg(char * error); void __fastcall d_DiskFreeDlg(char * error); bool __cdecl d_InsertCDDlg(); void __fastcall d_DirErrorDlg(char * error); void __cdecl d_InitAutomapOnce(); void __cdecl d_InitAutomap(); void __cdecl d_StartAutomap(); void __cdecl d_AutomapUp(); void __cdecl d_AutomapDown(); void __cdecl d_AutomapLeft(); void __cdecl d_AutomapRight(); void __cdecl d_AutomapZoomIn(); void __cdecl d_AutomapZoomOut(); void __cdecl d_DrawAutomap(); void __fastcall d_DrawAutomapType(int screen_x,int screen_y,USHORT automap_type); void __cdecl d_DrawAutomapPlr(); USHORT __fastcall d_GetAutomapType(int x,int y,BOOL view); void __cdecl d_DrawAutomapGame(); void __fastcall d_SetAutomapView(int x,int y); void __cdecl d_AutomapZoomReset(); void __cdecl d_CaptureScreen(); bool __fastcall d_CaptureHdr(HANDLE hFile,short width,short height); bool __fastcall d_CapturePal(HANDLE hFile,PALETTEENTRY * palette); bool __fastcall d_CapturePix(HANDLE hFile,WORD width,WORD height,WORD stride,BYTE * pixels); BYTE * __fastcall d_CaptureEnc(BYTE * src,BYTE * dst,int width); HANDLE __fastcall d_CaptureFile(char * dst_path); void __fastcall d_RedPalette(PALETTEENTRY * pal); int __fastcall d_codec_decode(void * pbSrcDst,int size,char * pszPassword); void d_j_sha1_reset(...); // Unknown signature void __fastcall d_codec_init_key(int unused,char * pszPassword); int __fastcall d_codec_get_encoded_len(int dwSrcBytes); void __fastcall d_codec_encode(void * pbSrcDst,int size,int size_64,char * pszPassword); void __fastcall d_DrawSpellCel(int xp,int yp,char * Trans,int nCel,int w); void __fastcall d_SetSpellTrans(char t); void __cdecl d_DrawSpell(); void __cdecl d_DrawSpellList(); void __cdecl d_SetSpell(); void __fastcall d_SetSpeedSpell(int slot); void __fastcall d_ToggleSpell(int slot); void __fastcall d_CPrintString(int No,unsigned char pszStr,int Just); void __fastcall d_AddPanelString(char * str,int just); void __cdecl d_ClearPanel(); void __fastcall d_DrawPanelBox(int x,int y,int w,int h,int sx,int sy); void __cdecl d_InitPanelStr(); void __fastcall d_SetFlaskHeight(char * buf,int min,int max,int c,int r); void __fastcall d_DrawFlask(void * a1,int a2,int a3,void * a4,int a5,int a6); void __cdecl d_DrawLifeFlask(); void __cdecl d_UpdateLifeFlask(); void __cdecl d_DrawManaFlask(); void __cdecl d_control_update_life_mana(); void __cdecl d_UpdateManaFlask(); void __cdecl d_InitControlPan(); void __cdecl d_ClearCtrlPan(); void __cdecl d_DrawCtrlPan(); void __cdecl d_DoSpeedBook(); void __cdecl d_DoPanBtn(); void __fastcall d_control_set_button_down(int btn_id); void __cdecl d_control_check_btn_press(); void __cdecl d_DoAutoMap(); void __cdecl d_CheckPanelInfo(); void __cdecl d_CheckBtnUp(); void __cdecl d_FreeControlPan(); int __fastcall d_control_WriteStringToBuffer(char * str); void __cdecl d_DrawInfoBox(); void __fastcall d_control_print_info_str(int y,char * str,bool center,int lines); void __fastcall d_PrintGameStr(int x,int y,char * str,int color); void __cdecl d_DrawChr(); void __fastcall d_ADD_PlrStringXY(int x,int y,int width,char * pszStr,char col); void __fastcall d_MY_PlrStringXY(int x,int y,int width,char * pszStr,char col,int base); void __cdecl d_CheckLvlBtn(); void __cdecl d_ReleaseLvlBtn(); void __cdecl d_DrawLevelUpIcon(); void __cdecl d_CheckChrBtns(); void __cdecl d_ReleaseChrBtns(); void __cdecl d_DrawDurIcon(); int __fastcall d_DrawDurIcon4Item(ItemStruct * pItem,int x,int c); void __cdecl d_RedBack(); int __fastcall d_GetSBookTrans(int ii,unsigned char townok); void __cdecl d_DrawSpellBook(); void __fastcall d_PrintSBookStr(int x,int y,bool cjustflag,char * pszStr,int bright); void __cdecl d_CheckSBook(); char * __fastcall d_get_pieces_str(int nGold); void __fastcall d_DrawGoldSplit(int amount); void __fastcall d_control_drop_gold(int vkey); void __fastcall d_control_remove_gold(int pnum,int gold_index); void __fastcall d_control_set_gold_curs(int pnum); void __cdecl d_DrawTalkPan(); char * __fastcall d_control_print_talk_msg(char * msg,int x,int y,int * a4,int just); int __cdecl d_control_check_talk_btn(); void __cdecl d_control_release_talk_btn(); void __cdecl d_control_reset_talk_msg(); void __cdecl d_control_type_message(); void __cdecl d_control_reset_talk(); int __fastcall d_control_talk_last_key(int a1); int __fastcall d_control_presskeys(int a1); void __cdecl d_control_press_enter(); void __fastcall d_control_up_down(char a1); void __cdecl d_InitCursor(); void __cdecl d_FreeCursor(); void __fastcall d_SetICursor(int i); void __fastcall d_SetCursor(int i); void __fastcall d_NewCursor(int i); void __cdecl d_InitLevelCursor(); void __cdecl d_CheckTown(); void __cdecl d_CheckRportal(); void __cdecl d_CheckCursMove(); void __cdecl d_InitDead(); void __fastcall d_AddDead(int dx,int dy,char dv,int ddir); void __cdecl d_SetDead(); void __cdecl d_LoadDebugGFX(); void __cdecl d_FreeDebugGFX(); void __cdecl d_CheckDungeonClear(); void d_j_diablo_cpp_init(...); // Unknown signature void __cdecl d_diablo_cpp_init(); void __cdecl d_FreeGameMem(); int __fastcall d_diablo_init_menu(int a1,int bSinglePlayer); void __fastcall d_run_game_loop(int uMsg); void __fastcall d_start_game(int uMsg); void __cdecl d_free_game(); bool __cdecl d_diablo_get_not_running(); int __stdcall d_WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd); void __fastcall d_diablo_parse_flags(char * args); void __cdecl d_diablo_init_screen(); BOOL __fastcall d_diablo_find_window(LPCSTR lpClassName); void __fastcall d_diablo_reload_process(HMODULE hModule); int __cdecl d_PressEscKey(); LRESULT __stdcall d_DisableInputWndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam); LRESULT __stdcall d_GM_Game(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam); bool __fastcall d_LeftMouseDown(int a1); bool __cdecl d_TryIconCurs(); void __cdecl d_LeftMouseUp(); void __cdecl d_RightMouseDown(); void d_j_gmenu_run_item(...); // Unknown signature bool __fastcall d_PressSysKey(int wParam); void __fastcall d_diablo_hotkey_msg(int dwMsg); void __fastcall d_ReleaseKey(int vkey); void __fastcall d_PressKey(int vkey); void __cdecl d_diablo_pause_game(); void __fastcall d_PressChar(int vkey); void __cdecl d_LoadLvlGFX(); void __cdecl d_LoadAllGFX(); void __fastcall d_CreateLevel(int lvldir); void __fastcall d_LoadGameLevel(BOOL firstflag,int lvldir); void __fastcall d_game_loop(bool bStartup); void __cdecl d_game_logic(); void __fastcall d_timeout_cursor(bool bTimeout); void __cdecl d_diablo_color_cyc_logic(); int __cdecl d_doom_get_frame_from_time(); void __cdecl d_doom_alloc_cel(); void __cdecl d_doom_cleanup(); void __cdecl d_doom_load_graphics(); void __cdecl d_doom_init(); void __cdecl d_doom_close(); void __cdecl d_doom_draw(); void __cdecl d_DRLG_Init_Globals(); void __fastcall d_LoadL1Dungeon(char * sFileName,int vx,int vy); void __cdecl d_DRLG_L1Floor(); void __cdecl d_DRLG_L1Pass3(); void __cdecl d_DRLG_InitL1Vals(); void __fastcall d_LoadPreL1Dungeon(char * sFileName,int vx,int vy); void __fastcall d_CreateL5Dungeon(int rseed,int entry); void __cdecl d_DRLG_LoadL1SP(); void __cdecl d_DRLG_FreeL1SP(); void __fastcall d_DRLG_L5(int entry); void __fastcall d_DRLG_PlaceDoor(int x,int y); void __cdecl d_DRLG_L1Shadows(); int __fastcall d_DRLG_PlaceMiniSet(const unsigned char * miniset,int tmin,int tmax,int cx,int cy,BOOL setview,int noquad,int ldir); void __cdecl d_InitL5Dungeon(); void __cdecl d_L5ClearFlags(); void __cdecl d_L5firstRoom(); void __fastcall d_L5drawRoom(int x,int y,int w,int h); void __fastcall d_L5roomGen(int x,int y,int w,int h,int dir); BOOL __fastcall d_L5checkRoom(int x,int y,int width,int height); int __cdecl d_L5GetArea(); void __cdecl d_L5makeDungeon(); void __cdecl d_L5makeDmt(); void __cdecl d_L5AddWall(); int __fastcall d_L5HWallOk(int i,int j); int __fastcall d_L5VWallOk(int i,int j); void __fastcall d_L5HorizWall(int i,int j,char p,int dx); void __fastcall d_L5VertWall(int i,int j,char p,int dy); void __cdecl d_L5tileFix(); void __cdecl d_DRLG_L5Subs(); void __cdecl d_L5FillChambers(); void __fastcall d_DRLG_L5GChamber(int sx,int sy,bool topflag,bool bottomflag,bool leftflag,bool rightflag); void __fastcall d_DRLG_L5GHall(int x1,int y1,int x2,int y2); void __fastcall d_DRLG_L5SetRoom(int rx1,int ry1); void __cdecl d_DRLG_L5FloodTVal(); void __fastcall d_DRLG_L5FTVR(int i,int j,int x,int y,int d); void __cdecl d_DRLG_L5TransFix(); void __cdecl d_DRLG_L5DirtFix(); void __cdecl d_DRLG_L5CornerFix(); void __cdecl d_InitDungeon(); void __cdecl d_L2LockoutFix(); void __cdecl d_L2DoorFix(); void __fastcall d_LoadL2Dungeon(char * sFileName,int vx,int vy); void __cdecl d_DRLG_L2Pass3(); void __fastcall d_LoadPreL2Dungeon(char * sFileName,int vx,int vy); void __fastcall d_CreateL2Dungeon(int rseed,int entry); void __cdecl d_DRLG_LoadL2SP(); void __cdecl d_DRLG_FreeL2SP(); void __fastcall d_DRLG_L2(int entry); bool __fastcall d_DRLG_L2PlaceMiniSet(unsigned char * miniset,int tmin,int tmax,int cx,int cy,bool setview,int ldir); void __fastcall d_DRLG_L2PlaceRndSet(unsigned char * miniset,int rndper); void __cdecl d_DRLG_L2Subs(); void __cdecl d_DRLG_L2Shadows(); void __fastcall d_DRLG_L2SetRoom(int rx1,int ry1); void __cdecl d_L2TileFix(); bool __cdecl d_CreateDungeon(); void __fastcall d_CreateRoom(int nX1,int nY1,int nX2,int nY2,int nRDest,int nHDir,int ForceHW,int nH,int nW); void __fastcall d_DefineRoom(int nX1,int nY1,int nX2,int nY2,int ForceHW); void __fastcall d_AddHall(int nX1,int nY1,int nX2,int nY2,int nHd); void __fastcall d_GetHall(int * nX1,int * nY1,int * nX2,int * nY2,int * nHd); void __fastcall d_ConnectHall(int nX1,int nY1,int nX2,int nY2,int nHd); void __fastcall d_CreateDoorType(int nX,int nY); void __fastcall d_PlaceHallExt(int nX,int nY); void __fastcall d_DoPatternCheck(int i,int j); bool __cdecl d_DL2_FillVoids(); bool __fastcall d_DL2_Cont(bool x1f,bool y1f,bool x2f,bool y2f); int __cdecl d_DL2_NumNoChar(); void __fastcall d_DL2_DrawRoom(int x1,int y1,int x2,int y2); void __fastcall d_DL2_KnockWalls(int x1,int y1,int x2,int y2); void __cdecl d_DRLG_L2FloodTVal(); void __fastcall d_DRLG_L2FTVR(int i,int j,int x,int y,int d); void __cdecl d_DRLG_L2TransFix(); void __cdecl d_L2DirtFix(); void __cdecl d_DRLG_InitL2Vals(); void __cdecl d_AddFenceDoors(); void __cdecl d_FenceDoorFix(); int __cdecl d_DRLG_L3Anvil(); void __cdecl d_FixL3Warp(); void __cdecl d_FixL3HallofHeroes(); void __fastcall d_DRLG_L3LockRec(int x,int y); bool __cdecl d_DRLG_L3Lockout(); void __fastcall d_CreateL3Dungeon(int rseed,int entry); void __fastcall d_DRLG_L3(int entry); void __cdecl d_InitL3Dungeon(); int __fastcall d_DRLG_L3FillRoom(int x1,int y1,int x2,int y2); void __fastcall d_DRLG_L3CreateBlock(int x,int y,int obs,int dir); void __fastcall d_DRLG_L3FloorArea(int x1,int y1,int x2,int y2); void __cdecl d_DRLG_L3FillDiags(); void __cdecl d_DRLG_L3FillSingles(); void __cdecl d_DRLG_L3FillStraights(); void __cdecl d_DRLG_L3Edges(); int __cdecl d_DRLG_L3GetFloorArea(); void __cdecl d_DRLG_L3MakeMegas(); void __cdecl d_DRLG_L3River(); void __cdecl d_DRLG_L3Pool(); int __fastcall d_DRLG_L3SpawnEdge(int x,int y,int * totarea); int __fastcall d_DRLG_L3Spawn(int x,int y,int * totarea); void __cdecl d_DRLG_L3PoolFix(); int __fastcall d_DRLG_L3PlaceMiniSet(const unsigned char * miniset,int tmin,int tmax,int cx,int cy,bool setview,int ldir); void __fastcall d_DRLG_L3PlaceRndSet(const unsigned char * miniset,int rndper); void __cdecl d_DRLG_L3Wood(); bool __fastcall d_WoodVertU(int i,int y); bool __fastcall d_WoodVertD(int i,int y); bool __fastcall d_WoodHorizL(int x,int j); bool __fastcall d_WoodHorizR(int x,int j); void __cdecl d_DRLG_L3Pass3(); void __fastcall d_LoadL3Dungeon(char * sFileName,int vx,int vy); void __fastcall d_LoadPreL3Dungeon(char * sFileName,int vx,int vy); void __cdecl d_DRLG_LoadL4SP(); void __cdecl d_DRLG_FreeL4SP(); void __fastcall d_DRLG_L4SetSPRoom(int rx1,int ry1); void __cdecl d_L4SaveQuads(); void __fastcall d_DRLG_L4SetRoom(unsigned char * pSetPiece,int rx1,int ry1); void __fastcall d_DRLG_LoadDiabQuads(bool preflag); bool __fastcall d_IsDURWall(char d); bool __fastcall d_IsDLLWall(char dd); void __cdecl d_L4FixRim(); void __cdecl d_DRLG_L4GeneralFix(); void __fastcall d_CreateL4Dungeon(int rseed,int entry); void __fastcall d_DRLG_L4(int entry); void __cdecl d_DRLG_L4Shadows(); void __cdecl d_InitL4Dungeon(); void __cdecl d_L4makeDmt(); void __cdecl d_L4AddWall(); int __fastcall d_L4HWallOk(int i,int j); int __fastcall d_L4VWallOk(int i,int j); void __fastcall d_L4HorizWall(int i,int j,int dx); void __fastcall d_L4VertWall(int i,int j,int dy); void __cdecl d_L4tileFix(); void __cdecl d_DRLG_L4Subs(); void __cdecl d_L4makeDungeon(); void __cdecl d_uShape(); int __cdecl d_GetArea(); void __cdecl d_L4firstRoom(); void __fastcall d_L4drawRoom(int x,int y,int width,int height); void __fastcall d_L4roomGen(int x,int y,int w,int h,int dir); bool __fastcall d_L4checkRoom(int x,int y,int width,int height); bool __fastcall d_DRLG_L4PlaceMiniSet(const unsigned char * miniset,int tmin,int tmax,int cx,int cy,int setview,int ldir); void __cdecl d_DRLG_L4FloodTVal(); void __fastcall d_DRLG_L4FTVR(int i,int j,int x,int y,int d); void __cdecl d_DRLG_L4TransFix(); void __cdecl d_DRLG_L4Corners(); void __cdecl d_DRLG_L4Pass3(); void d_j_dthread_cpp_init_1(...); // Unknown signature void __cdecl d_dthread_cpp_init_1(); void __cdecl d_dthread_cpp_init_2(); void __cdecl d_dthread_init_mutex(); void __cdecl d_dthread_cleanup_mutex_atexit(); void __cdecl d_dthread_cleanup_mutex(); void __fastcall d_dthread_remove_player(int pnum); void __fastcall d_dthread_send_delta(int pnum,char cmd,void * pbSrc,int dwLen); void __cdecl d_dthread_start(); unsigned int __stdcall d_dthread_handler(void * a1); void __cdecl d_dthread_cleanup(); void d_j_dx_cpp_init_1(...); // Unknown signature void __cdecl d_dx_cpp_init_1(); void __cdecl d_dx_cpp_init_2(); void __cdecl d_dx_init_mutex(); void __cdecl d_dx_cleanup_mutex_atexit(); void __cdecl d_dx_cleanup_mutex(); void __fastcall d_dx_init(HWND hWnd); void __cdecl d_dx_create_back_buffer(); void __cdecl d_dx_create_primary_surface(); HRESULT __fastcall d_dx_DirectDrawCreate(GUID * guid,IDirectDraw ** DD,void * unknown); void __cdecl d_j_lock_buf_priv(); void __cdecl d_lock_buf_priv(); void __cdecl d_j_unlock_buf_priv(); void __cdecl d_unlock_buf_priv(); void __cdecl d_dx_cleanup(); void __cdecl d_dx_reinit(); void __cdecl d_j_dx_reinit(); void d_j_effects_cpp_init(...); // Unknown signature void __cdecl d_effects_cpp_init(); BOOL __fastcall d_effect_is_playing(int nSFX); void __cdecl d_sfx_stop(); void __fastcall d_InitMonsterSND(int monst); void __cdecl d_FreeEffects(); void __fastcall d_PlayEffect(int i,int mode); BOOL __fastcall d_calc_snd_position(int x,int y,int * plVolume,int * plPan); void __fastcall d_PlaySFX(int psfx); void __fastcall d_PlaySFX_priv(TSFX * pSFX,BOOL loc,int x,int y); void __fastcall d_stream_play(TSFX * pSFX,int lVolume,int lPan); int __fastcall d_RndSFX(int psfx); void __fastcall d_PlaySfxLoc(int psfx,int x,int y); void __cdecl d_FreeMonsterSnd(); void __cdecl d_sound_stop(); void __cdecl d_sound_update(); void __cdecl d_effects_cleanup_sfx(); void __cdecl d_stream_update(); void __fastcall d_priv_sound_init(int bLoadMask); void __cdecl d_sound_init(); void __stdcall d_effects_play_sound(char * snd_file); void __fastcall d_Decrypt(void * block,int size,int key); void __fastcall d_Encrypt(void * block,int size,int key); int __fastcall d_Hash(const char * s,int type); void __cdecl d_InitHash(); int __fastcall d_PkwareCompress(void * buf,int size); unsigned int __cdecl d_PkwareBufferRead(char * buf,unsigned int * size,void * param); void __cdecl d_PkwareBufferWrite(char * buf,unsigned int * size,void * param); void __fastcall d_PkwareDecompress(void * param,int recv_size,int dwMaxBytes); void d_j_engine_cpp_init_1(...); // Unknown signature void __cdecl d_engine_cpp_init_1(); void __fastcall d_CelDrawDatOnly(char * pDecodeTo,char * pRLEBytes,int dwRLESize,int dwRLEWdt); void __fastcall d_CelDecodeOnly(int screen_x,int screen_y,void * pCelBuff,int frame,int frame_width); void __fastcall d_CelDecDatOnly(char * pBuff,char * pCelBuff,int frame,int frame_width); void __fastcall d_CelDrawHdrOnly(int screen_x,int screen_y,char * pCelBuff,int frame,int frame_width,int always_0,int direction); void __fastcall d_CelDecodeHdrOnly(char * pBuff,char * pCelBuff,int frame,int frame_width,int always_0,int direction); void __fastcall d_CelDecDatLightOnly(char * pDecodeTo,char * pRLEBytes,int frame_content_size,int frame_width); void __fastcall d_CelDecDatLightEntry(unsigned char shift,char * LightIndex,char * & pDecodeTo,char * & pRLEBytes); void __fastcall d_CelDecDatLightTrans(char * pDecodeTo,char * pRLEBytes,int frame_content_size,int frame_width); void __fastcall d_CelDecodeLightOnly(int screen_x,int screen_y,char * pCelBuff,int frame,int frame_width); void __fastcall d_CelDecodeHdrLightOnly(int screen_x,int screen_y,char * pCelBuff,int frame,int frame_width,int always_0,int direction); void __fastcall d_CelDecodeHdrLightTrans(char * pBuff,char * pCelBuff,int frame,int frame_width,int always_0,int direction); void __fastcall d_CelDrawHdrLightRed(int screen_x,int screen_y,char * pCelBuff,int frame,int frame_width,int always_0,int direction,char always_1); void __fastcall d_Cel2DecDatOnly(char * pDecodeTo,char * pRLEBytes,int frame_content_size,int frame_width); void __fastcall d_Cel2DrawHdrOnly(int screen_x,int screen_y,char * pCelBuff,int frame,int frame_width,int a6,int direction); void __fastcall d_Cel2DecodeHdrOnly(char * pBuff,char * pCelBuff,int frame,int frame_width,int a5,int direction); void __fastcall d_Cel2DecDatLightOnly(char * pDecodeTo,char * pRLEBytes,int frame_content_size,int frame_width); void __fastcall d_Cel2DecDatLightEntry(unsigned char shift,char * LightIndex,char * & pDecodeTo,char * & pRLEBytes); void __fastcall d_Cel2DecDatLightTrans(char * pDecodeTo,char * pRLEBytes,int frame_content_size,int frame_width); void __fastcall d_Cel2DecodeHdrLight(int screen_x,int screen_y,char * pCelBuff,int frame,int frame_width,int a6,int direction); void __fastcall d_Cel2DecodeLightTrans(char * dst_buf,char * pCelBuff,int frame,int frame_width,int a5,int direction); void __fastcall d_Cel2DrawHdrLightRed(int screen_x,int screen_y,char * pCelBuff,int frame,int frame_width,int always_0,int direction,char always_1); void __fastcall d_CelDecodeRect(char * pBuff,int always_0,int dst_height,int dst_width,char * pCelBuff,int frame,int frame_width); void __fastcall d_CelDecodeClr(BYTE colour,int screen_x,int screen_y,char * pCelBuff,int frame,int frame_width,int a7,int direction); void __fastcall d_CelDrawHdrClrHL(char colour,int screen_x,int screen_y,char * pCelBuff,int frame,int frame_width,int a7,int direction); void __fastcall d_ENG_set_pixel(int screen_x,int screen_y,UCHAR pixel); void __fastcall d_engine_draw_pixel(int x,int y); void __fastcall d_DrawLine(int x0,int y0,int x1,int y1,UCHAR col); int __fastcall d_GetDirection(int x1,int y1,int x2,int y2); void __fastcall d_SetRndSeed(int s); int __cdecl d_GetRndSeed(); int __fastcall d_random(BYTE idx,int v); void __cdecl d_engine_cpp_init_2(); void __cdecl d_mem_init_mutex(); void __cdecl d_mem_atexit_mutex(); void __cdecl d_mem_free_mutex(); unsigned char * __fastcall d_DiabloAllocPtr(int dwBytes); void __fastcall d_mem_free_dbg(void * p); unsigned char * __fastcall d_LoadFileInMem(char * pszName,int * pdwFileLen); void __fastcall d_LoadFileWithMem(char * pszName,void * buf); void __fastcall d_Cl2ApplyTrans(unsigned char * p,unsigned char * ttbl,int last_frame); void __fastcall d_Cl2DecodeFrm1(int x,int y,char * pCelBuff,int nCel,int width,int dir1,int dir2); void __fastcall d_Cl2DecDatFrm1(char * buffer,char * frame_content,int a3,int width); void __fastcall d_Cl2DecodeFrm2(char colour,int screen_x,int screen_y,char * pCelBuff,int nCel,int frame_width,int a7,int a8); void __fastcall d_Cl2DecDatFrm2(char * buffer,char * a2,int a3,int a4,char a5); void __fastcall d_Cl2DecodeFrm3(int screen_x,int screen_y,char * pCelBuff,int nCel,int frame_width,int a6,int a7,char a8); void __fastcall d_Cl2DecDatLightTbl1(char * a1,char * a2,int a3,int a4,char * unused_lindex); void __fastcall d_Cl2DecodeLightTbl(int screen_x,int screen_y,char * pCelBuff,int nCel,int frame_width,int a6,int a7); void __fastcall d_Cl2DecodeFrm4(int screen_x,int screen_y,char * pCelBuff,int nCel,int frame_width,int a6,int a7); void __fastcall d_Cl2DecDatFrm4(char * buffer,char * a2,int a3,int frame_width); void __fastcall d_Cl2DecodeClrHL(char colour,int screen_x,int screen_y,char * pCelBuff,int nCel,int frame_width,int a7,int a8); void __fastcall d_Cl2DecDatClrHL(char * dst_buf,char * frame_content,int a3,int frame_width,char colour); void __fastcall d_Cl2DecodeFrm5(int screen_x,int screen_y,char * pCelBuff,int nCel,int frame_width,int a6,int a7,char a8); void __fastcall d_Cl2DecDatLightTbl2(char * dst_buf,char * a2,int a3,int frame_width,char * a5); void __fastcall d_Cl2DecodeFrm6(int screen_x,int screen_y,char * pCelBuff,int nCel,int frame_width,int a6,int a7); void __fastcall d_PlayInGameMovie(char * pszMovie); void __fastcall d_InitDiabloMsg(char e); void __cdecl d_ClrDiabloMsg(); void __cdecl d_DrawDiabloMsg(); void __cdecl d_exception_cpp_init(); void __cdecl d_exception_install_filter(); void __cdecl d_j_exception_init_filter(); void __cdecl d_exception_init_filter(); LONG __stdcall d_TopLevelExceptionFilter(PEXCEPTION_POINTERS ExceptionInfo); void __fastcall d_exception_hex_format(BYTE * ptr,unsigned int numBytes); void __fastcall d_exception_unknown_module(LPCVOID lpAddress,LPSTR lpModuleName,int iMaxLength,int * sectionNum,int * sectionOffset); void __fastcall d_exception_call_stack(void * instr,STACK_FRAME * stackAddr); char * __fastcall d_exception_get_error_type(DWORD dwMessageId,LPSTR lpString1,DWORD nSize); void __fastcall d_exception_set_filter(); LPTOP_LEVEL_EXCEPTION_FILTER __cdecl d_exception_set_filter_ptr(); LPTOP_LEVEL_EXCEPTION_FILTER __cdecl d_exception_get_filter(); void __cdecl d_gamemenu_previous(); void __cdecl d_gamemenu_enable_single(); void __cdecl d_gamemenu_enable_multi(); void __cdecl d_gamemenu_off(); void __cdecl d_gamemenu_handle_previous(); void d_j_gamemenu_previous(...); // Unknown signature void __cdecl d_gamemenu_new_game(); void __cdecl d_gamemenu_quit_game(); void __cdecl d_gamemenu_load_game(); void __cdecl d_gamemenu_save_game(); void __cdecl d_gamemenu_restart_town(); void __cdecl d_gamemenu_options(); void __cdecl d_gamemenu_get_music(); void __fastcall d_gamemenu_sound_music_toggle(char ** names,TMenuItem * menu_item,int gamma); void __cdecl d_gamemenu_get_sound(); void __cdecl d_gamemenu_get_color_cycling(); void __cdecl d_gamemenu_get_gamma(); void __fastcall d_gamemenu_music_volume(int a1); int __fastcall d_gamemenu_slider_music_sound(TMenuItem * menu_item); void __fastcall d_gamemenu_sound_volume(int a1); void __fastcall d_gamemenu_gamma(int a1); int __cdecl d_gamemenu_slider_gamma(); void __cdecl d_gamemenu_color_cycling(); void __cdecl d_FillSolidBlockTbls(); void __cdecl d_gendung_418D91(); void __fastcall d_gendung_4191BF(int frames); void __fastcall d_gendung_4191FB(int a1,int a2); int __fastcall d_gendung_get_dpiece_num_from_coord(int x,int y); void __cdecl d_gendung_4192C2(); void __cdecl d_SetDungeonMicros(); void __cdecl d_DRLG_InitTrans(); void __fastcall d_DRLG_MRectTrans(int x1,int y1,int x2,int y2); void __fastcall d_DRLG_RectTrans(int x1,int y1,int x2,int y2); void __fastcall d_DRLG_CopyTrans(int sx,int sy,int dx,int dy); void __fastcall d_DRLG_ListTrans(int num,unsigned char * List); void __fastcall d_DRLG_AreaTrans(int num,unsigned char * List); void __cdecl d_DRLG_InitSetPC(); void __cdecl d_DRLG_SetPC(); void __fastcall d_Make_SetPC(int x,int y,int w,int h); bool __fastcall d_DRLG_WillThemeRoomFit(int floor,int x,int y,int minSize,int maxSize,int * width,int * height); void __fastcall d_DRLG_CreateThemeRoom(int themeIndex); void __fastcall d_DRLG_PlaceThemeRooms(int minSize,int maxSize,int floor,int freq,int rndSize); void __cdecl d_DRLG_HoldThemeRooms(); bool __fastcall d_SkipThemeRoom(int x,int y); void __cdecl d_InitLevels(); void __cdecl d_gmenu_draw_pause(); void __fastcall d_gmenu_print_text(int x,int y,char * pszStr); void __cdecl d_FreeGMenu(); void __cdecl d_gmenu_init_menu(); bool __cdecl d_gmenu_exception(); void __fastcall d_gmenu_call_proc(TMenuItem * pItem,void (__cdecl * gmFunc)()); void __fastcall d_gmenu_up_down(int a1); void __cdecl d_gmenu_draw(); void __fastcall d_gmenu_draw_menu_item(TMenuItem * pItem,int a2); void __fastcall d_gmenu_clear_buffer(int x,int y,int width,int height); int __fastcall d_gmenu_get_lfont(TMenuItem * pItem); int __fastcall d_gmenu_presskeys(int a1); void __fastcall d_gmenu_left_right(int a1); int __fastcall d_gmenu_on_mouse_move(LPARAM lParam); bool __fastcall d_gmenu_valid_mouse_pos(int * plOffset); int __fastcall d_gmenu_left_mouse(int a1); void __fastcall d_gmenu_enable(TMenuItem * pMenuItem,BOOL enable); void __fastcall d_gmenu_slider_1(TMenuItem * pItem,int min,int max,int gamma); int __fastcall d_gmenu_slider_get(TMenuItem * pItem,int min,int max); void __fastcall d_gmenu_slider_3(TMenuItem * pItem,int dwTicks); void __cdecl d_InitHelp(); void __cdecl d_DrawHelp(); void __fastcall d_DrawHelpLine(int always_0,int help_line_nr,char * text,text_color color); void __cdecl d_DisplayHelp(); void __cdecl d_HelpScrollUp(); void __cdecl d_HelpScrollDown(); void d_j_init_cpp_init(...); // Unknown signature void __cdecl d_init_cpp_init(); void __fastcall d_init_cleanup(bool show_cursor); void __cdecl d_init_run_office_from_start_menu(); void __fastcall d_init_run_office(char * dir); void __fastcall d_init_disable_screensaver(bool disable); void __fastcall d_init_create_window(int nCmdShow); void __cdecl d_init_kill_mom_parent(); HWND __cdecl d_init_find_mom_parent(); void __cdecl d_init_await_mom_parent_exit(); void __cdecl d_init_archives(); void * __fastcall d_init_test_access(char * mpq_path,char * mpq_name,char * reg_loc,int flags,bool on_cd); char * __fastcall d_init_strip_trailing_slash(char * path); int __fastcall d_init_read_test_file(char * mpq_path,char * mpq_name,int flags,void ** archive); void __cdecl d_init_get_file_info(); LRESULT __stdcall d_MainWndProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); void __fastcall d_init_activate_window(HWND hWnd,bool bActive); LRESULT __stdcall d_WindowProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); WNDPROC __fastcall d_SetWindowProc(WNDPROC NewProc); void d_j_interfac_cpp_init(...); // Unknown signature void __cdecl d_interfac_cpp_init(); void __cdecl d_interface_msg_pump(); bool __cdecl d_IncProgress(); void __cdecl d_DrawCutscene(); void __fastcall d_DrawProgress(int screen_x,int screen_y,int progress_id); void __fastcall d_ShowProgress(int uMsg); void __cdecl d_FreeInterface(); void __fastcall d_InitCutscene(int uMsg); void __cdecl d_FreeInvGFX(); void __cdecl d_InitInv(); void __fastcall d_InvDrawSlotBack(int X,int Y,int W,int H); void __cdecl d_DrawInv(); void __cdecl d_DrawInvBelt(); int __fastcall d_AutoPlace(int pnum,int ii,int sx,int sy,int saveflag); int __fastcall d_SpecialAutoPlace(int pnum,int ii,int sx,int sy,int saveflag); int __fastcall d_GoldAutoPlace(int pnum); int __fastcall d_WeaponAutoPlace(int pnum); int __fastcall d_SwapItem(ItemStruct * a,ItemStruct * b); void __fastcall d_CheckInvPaste(int pnum,int mx,int my); void __fastcall d_CheckInvSwap(int pnum,BYTE bLoc,int idx,WORD wCI,int seed,BOOL bId); void __fastcall d_CheckInvCut(int pnum,int mx,int my); void __fastcall d_inv_update_rem_item(int pnum,BYTE iv); void __fastcall d_RemoveInvItem(int pnum,int iv); void __fastcall d_RemoveSpdBarItem(int pnum,int iv); void __cdecl d_CheckInvItem(); void __cdecl d_CheckInvScrn(); void __fastcall d_CheckItemStats(int pnum); void __fastcall d_CheckBookLevel(int pnum); void __fastcall d_CheckQuestItem(int pnum); void __fastcall d_InvGetItem(int pnum,int ii); void __fastcall d_AutoGetItem(int pnum,int ii); int __fastcall d_FindGetItem(int indx,unsigned short ci,int iseed); void __fastcall d_SyncGetItem(int x,int y,int idx,unsigned short ci,int iseed); int __fastcall d_CanPut(int i,int j); int __cdecl d_TryInvPut(); void __fastcall d_DrawInvMsg(char * msg); int __fastcall d_InvPutItem(int pnum,int x,int y); int __fastcall d_SyncPutItem(int pnum,int x,int y,int idx,int icreateinfo,int iseed,int Id,int dur,int mdur,int ch,int mch,int ivalue,unsigned int ibuff); int __cdecl d_CheckInvHLight(); void __fastcall d_RemoveScroll(int pnum); BOOL __cdecl d_UseScroll(); void __fastcall d_UseStaffCharge(int pnum); BOOL __cdecl d_UseStaff(); void __cdecl d_StartGoldDrop(); int __fastcall d_UseInvItem(int pnum,int cii); void __cdecl d_DoTelekinesis(); int __fastcall d_CalculateGold(int pnum); int __cdecl d_DropItemBeforeTrig(); void __cdecl d_InitItemGFX(); bool __fastcall d_ItemPlace(int xp,int yp); void __cdecl d_AddInitItems(); void __cdecl d_InitItems(); void __fastcall d_CalcPlrItemVals(int p,BOOL Loadgfx); void __fastcall d_CalcPlrScrolls(int p); void __fastcall d_CalcPlrStaff(int pnum); void __fastcall d_CalcSelfItems(int pnum); void __fastcall d_CalcPlrItemMin(int pnum); bool __fastcall d_ItemMinStats(PlayerStruct * p,ItemStruct * x); void __fastcall d_CalcPlrBookVals(int p); void __fastcall d_CalcPlrInv(int p,BOOL Loadgfx); void __fastcall d_SetPlrHandItem(ItemStruct * h,int idata); void __fastcall d_GetPlrHandSeed(ItemStruct * h); void __fastcall d_GetGoldSeed(int pnum,ItemStruct * h); void __fastcall d_SetPlrHandSeed(ItemStruct * h,int iseed); void __fastcall d_SetPlrHandGoldCurs(ItemStruct * h); void __fastcall d_CreatePlrItems(int p); BOOL __fastcall d_ItemSpaceOk(int i,int j); bool __fastcall d_GetItemSpace(int x,int y,char inum); void __fastcall d_GetSuperItemSpace(int x,int y,char inum); void __fastcall d_GetSuperItemLoc(int x,int y,int * xx,int * yy); void __fastcall d_CalcItemValue(int i); void __fastcall d_GetBookSpell(int i,int lvl); void __fastcall d_GetStaffPower(int i,int lvl,int bs,unsigned char onlygood); void __fastcall d_GetStaffSpell(int i,int lvl,unsigned char onlygood); void __fastcall d_GetItemAttrs(int i,int idata,int lvl); int __fastcall d_RndPL(int param1,int param2); int __fastcall d_PLVal(int pv,int p1,int p2,int minv,int maxv); void __fastcall d_SaveItemPower(int i,int power,int param1,int param2,int minval,int maxval,int multval); void __fastcall d_GetItemPower(int i,int minlvl,int maxlvl,int flgs,int onlygood); void __fastcall d_GetItemBonus(int i,int idata,int minlvl,int maxlvl,int onlygood); void __fastcall d_SetupItem(int i); int __fastcall d_RndItem(int m); int __fastcall d_RndUItem(int m); int __cdecl d_RndAllItems(); int __fastcall d_RndTypeItems(int itype,int imid); int __fastcall d_CheckUnique(int i,int lvl,int uper,bool recreate); void __fastcall d_GetUniqueItem(int i,int uid); void __fastcall d_SpawnUnique(int uid,int x,int y); void __fastcall d_ItemRndDur(int ii); void __fastcall d_SetupAllItems(int ii,int idx,int iseed,int lvl,int uper,int onlygood,int recreate,int pregen); void __fastcall d_SpawnItem(int m,int x,int y,unsigned char sendmsg); void __fastcall d_CreateItem(int uid,int x,int y); void __fastcall d_CreateRndItem(int x,int y,unsigned char onlygood,unsigned char sendmsg,int delta); void __fastcall d_SetupAllUseful(int ii,int iseed,int lvl); void __fastcall d_CreateRndUseful(int pnum,int x,int y,unsigned char sendmsg); void __fastcall d_CreateTypeItem(int x,int y,unsigned char onlygood,int itype,int imisc,int sendmsg,int delta); void __fastcall d_RecreateItem(int ii,int idx,unsigned short ic,int iseed,int ivalue); void __fastcall d_RecreateEar(int ii,unsigned short ic,int iseed,unsigned char Id,int dur,int mdur,int ch,int mch,int ivalue,int ibuff); void __fastcall d_SpawnQuestItem(int itemid,int x,int y,int randarea,int selflag); void __cdecl d_SpawnRock(); void __fastcall d_RespawnItem(int i,bool FlipFlag); void __fastcall d_DeleteItem(int ii,int i); void __cdecl d_ItemDoppel(); void __cdecl d_ProcessItems(); void __cdecl d_FreeItemGFX(); void __fastcall d_GetItemFrm(int i); void __fastcall d_GetItemStr(int i); void __fastcall d_CheckIdentify(int pnum,int cii); void __fastcall d_DoRepair(int pnum,int cii); void __fastcall d_RepairItem(ItemStruct * i,int lvl); void __fastcall d_DoRecharge(int pnum,int cii); void __fastcall d_RechargeItem(ItemStruct * i,int r); void __fastcall d_PrintItemOil(char IDidx); void __fastcall d_PrintItemPower(char plidx,ItemStruct * x); void __cdecl d_DrawUBack(); void __fastcall d_PrintUString(int x,int y,int cjustflag,char * str,int col); void __fastcall d_DrawULine(int y); void __cdecl d_DrawUniqueInfo(); void __fastcall d_PrintItemMisc(ItemStruct * x); void __fastcall d_PrintItemDetails(ItemStruct * x); void __fastcall d_PrintItemDur(ItemStruct * x); void __fastcall d_UseItem(int p,int Mid,int spl); bool __fastcall d_StoreStatOk(ItemStruct * h); bool __fastcall d_SmithItemOk(int i); int __fastcall d_RndSmithItem(int lvl); void __fastcall d_BubbleSwapItem(ItemStruct * a,ItemStruct * b); void __cdecl d_SortSmith(); void __fastcall d_SpawnSmith(int lvl); bool __fastcall d_PremiumItemOk(int i); int __fastcall d_RndPremiumItem(int minlvl,int maxlvl); void __fastcall d_SpawnOnePremium(int i,int plvl); void __fastcall d_SpawnPremium(int lvl); bool __fastcall d_WitchItemOk(int i); int __fastcall d_RndWitchItem(int lvl); void __cdecl d_SortWitch(); void __fastcall d_WitchBookLevel(int ii); void __fastcall d_SpawnWitch(int lvl); int __fastcall d_RndBoyItem(int lvl); void __fastcall d_SpawnBoy(int lvl); bool __fastcall d_HealerItemOk(int i); int __fastcall d_RndHealerItem(int lvl); void __cdecl d_SortHealer(); void __fastcall d_SpawnHealer(int lvl); void __cdecl d_SpawnStoreGold(); void __fastcall d_RecreateSmithItem(int ii,int idx,int plvl,int iseed); void __fastcall d_RecreatePremiumItem(int ii,int idx,int lvl,int iseed); void __fastcall d_RecreateBoyItem(int ii,int idx,int lvl,int iseed); void __fastcall d_RecreateWitchItem(int ii,int idx,int lvl,int iseed); void __fastcall d_RecreateHealerItem(int ii,int idx,int lvl,int iseed); void __fastcall d_RecreateTownItem(int ii,int idx,unsigned short icreateinfo,int iseed,int ivalue); void __cdecl d_RecalcStoreStats(); int __cdecl d_ItemNoFlippy(); void __fastcall d_CreateSpellBook(int x,int y,int ispell,bool sendmsg,int delta); void __fastcall d_CreateMagicItem(int x,int y,int imisc,int icurs,int sendmsg,int delta); bool __fastcall d_GetItemRecord(int dwSeed,int CI,int indx); void __fastcall d_NextItemRecord(int i); void __fastcall d_SetItemRecord(int dwSeed,int CI,int indx); void __fastcall d_PutItemRecord(int seed,int ci,int index); void __fastcall d_SetLightFX(int * x,int * y,short * s_r,short * s_g,int * s_b,int * d_r,int * d_g,int * d_b); void __fastcall d_DoLighting(int nXPos,int nYPos,int nRadius,int Lnum); void __fastcall d_DoUnLight(int nXPos,int nYPos,int nRadius); void __fastcall d_DoUnVision(int nXPos,int nYPos,int nRadius); void __fastcall d_DoVision(int nXPos,int nYPos,int nRadius,unsigned char doautomap,int visible); void __cdecl d_FreeLightTable(); void __cdecl d_InitLightTable(); void __cdecl d_MakeLightTable(); void __cdecl d_InitLightMax(); void __cdecl d_InitLighting(); int __fastcall d_AddLight(int x,int y,int r); void __fastcall d_AddUnLight(int i); void __fastcall d_ChangeLightRadius(int i,int r); void __fastcall d_ChangeLightXY(int i,int x,int y); void __fastcall d_ChangeLightOff(int i,int x,int y); void __fastcall d_ChangeLight(int i,int x,int y,int r); void __cdecl d_ProcessLightList(); void __cdecl d_SavePreLighting(); void __cdecl d_InitVision(); int __fastcall d_AddVision(int x,int y,int r,BOOL mine); void __fastcall d_ChangeVisionRadius(int id,int r); void __fastcall d_ChangeVisionXY(int id,int x,int y); void __cdecl d_ProcessVisionList(); void __cdecl d_lighting_color_cycling(); void __fastcall d_LoadGame(BOOL firstflag); char __cdecl d_BLoad(); int __cdecl d_ILoad(); int __cdecl d_ILoad_2(); bool __cdecl d_OLoad(); void __fastcall d_LoadPlayer(int i); void __fastcall d_LoadMonster(int i); void __fastcall d_LoadMissile(int i); void __fastcall d_LoadObject(int i); void __fastcall d_LoadItem(int i); void __fastcall d_LoadPremium(int i); void __fastcall d_LoadQuest(int i); void __fastcall d_LoadLighting(int i); void __fastcall d_LoadVision(int i); void __fastcall d_LoadPortal(int i); void __cdecl d_SaveGame(); void __fastcall d_BSave(char v); void __fastcall d_ISave(int v); void __fastcall d_ISave_2(int v); void __fastcall d_OSave(unsigned char v); void __fastcall d_SavePlayer(int i); void __fastcall d_SaveMonster(int i); void __fastcall d_SaveMissile(int i); void __fastcall d_SaveObject(int i); void __fastcall d_SaveItem(int i); void __fastcall d_SavePremium(int i); void __fastcall d_SaveQuest(int i); void __fastcall d_SaveLighting(int i); void __fastcall d_SaveVision(int i); void __fastcall d_SavePortal(int i); void __cdecl d_SaveLevel(); void __cdecl d_LoadLevel(); void d_j_log_cpp_init_1(...); // Unknown signature void __cdecl d_log_cpp_init_1(); void __cdecl d_log_cpp_init_2(); void __cdecl d_log_init_mutex(); void __cdecl d_j_log_cleanup_mutex(); void __cdecl d_log_cleanup_mutex(); void __cdecl d_log_flush(bool force_close); void * __cdecl d_log_create(); void __fastcall d_log_get_version(VS_FIXEDFILEINFO * file_info); void d_log_printf(const char * pszFmt,...); void __cdecl d_log_dump_computer_info(); void d_j_mainmenu_cpp_init(...); // Unknown signature void __cdecl d_mainmenu_cpp_init(); void __cdecl d_mainmenu_refresh_music(); void __stdcall d_mainmenu_create_hero(char *,char *); int __stdcall d_mainmenu_select_hero_dialog(int u1,int u2,int u3,int u4,int mode,char * cname,int clen,char * cdesc,int cdlen,int * multi); void __cdecl d_mainmenu_loop(); int __cdecl d_mainmenu_single_player(); int __fastcall d_mainmenu_init_menu(int a1); int __cdecl d_mainmenu_multi_player(); void __cdecl d_mainmenu_play_intro(); void __cdecl d_FreeQuestText(); void __cdecl d_InitQuestText(); void __fastcall d_InitQTextMsg(int m); void __cdecl d_DrawQTextBack(); void __fastcall d_PrintQTextChr(int screen_x,int screen_y,char * cel_buf,int frame); void __cdecl d_DrawQText(); void __fastcall d_GetDamageAmt(int i,int * mind,int * maxd); int __fastcall d_CheckBlock(int fx,int fy,int tx,int ty); int __fastcall d_FindClosest(int sx,int sy,int rad); int __fastcall d_GetSpellLevel(int id,int sn); int __fastcall d_GetDirection8(int x1,int y1,int x2,int y2); int __fastcall d_GetDirection16(int x1,int y1,int x2,int y2); void __fastcall d_DeleteMissile(int mi,int i); void __fastcall d_GetMissileVel(int i,int sx,int sy,int dx,int dy,int v); void __fastcall d_PutMissile(int i); void __fastcall d_GetMissilePos(int i); void __fastcall d_MoveMissilePos(int i); BOOL __fastcall d_MonsterTrapHit(int m,int mindam,int maxdam,int dist,int t,int shift); bool __fastcall d_MonsterMHit(int pnum,int m,int mindam,int maxdam,int dist,int t,int shift); bool __fastcall d_PlayerMHit(int pnum,int m,int dist,int mind,int maxd,int mtype,int shift,int earflag); bool __fastcall d_Plr2PlrMHit(int pnum,int p,int mindam,int maxdam,int dist,int mtype,int shift); void __fastcall d_CheckMissileCol(int i,int mindam,int maxdam,bool shift,int mx,int my,int nodel); void __fastcall d_SetMissAnim(int mi,int animtype); void __fastcall d_SetMissDir(int mi,int dir); void __fastcall d_LoadMissileGFX(BYTE mi); void __cdecl d_InitMissileGFX(); void __fastcall d_FreeMissileGFX(int mi); void __cdecl d_FreeMissiles(); void __cdecl d_FreeMissiles2(); void __cdecl d_InitMissiles(); void __fastcall d_AddLArrow(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddArrow(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_GetVileMissPos(int mi,int dx,int dy); void __fastcall d_AddRndTeleport(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFirebolt(int mi,int sx,int sy,int dx,int dy,int midir,int micaster,int id,int dam); void __fastcall d_AddMagmaball(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_miss_null_33(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddTeleport(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddLightball(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFirewall(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFireball(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddLightctrl(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddLightning(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddMisexp(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddWeapexp(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); bool __fastcall d_CheckIfTrig(int x,int y); void __fastcall d_AddTown(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFlash(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFlash2(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddManashield(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFiremove(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddGuardian(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddChain(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_miss_null_11(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_miss_null_12(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_miss_null_13(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddRhino(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_miss_null_32(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFlare(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddAcid(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_miss_null_1D(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddAcidpud(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddStone(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddGolem(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddEtherealize(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_miss_null_1F(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_miss_null_23(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddBoom(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddHeal(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddHealOther(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddElement(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddIdentify(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFirewallC(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddInfra(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddWave(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddNova(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddRepair(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddRecharge(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddDisarm(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddApoca(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFlame(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddFlamec(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddCbolt(int mi,int sx,int sy,int dx,int dy,int midir,int micaster,int id,int dam); void __fastcall d_AddHbolt(int mi,int sx,int sy,int dx,int dy,int midir,int micaster,int id,int dam); void __fastcall d_AddResurrect(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddResurrectBeam(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddTelekinesis(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddBoneSpirit(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddRportal(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); void __fastcall d_AddDiabApoca(int mi,int sx,int sy,int dx,int dy,int midir,int mienemy,int id,int dam); int __fastcall d_AddMissile(int sx,int sy,int v1,int v2,int midir,int mitype,int micaster,int id,int v3,int spllvl); int __fastcall d_Sentfire(int i,int sx,int sy); void __fastcall d_MI_Dummy(int i); void __fastcall d_MI_Golem(int i); void __fastcall d_MI_SetManashield(int i); void __fastcall d_MI_LArrow(int i); void __fastcall d_MI_Arrow(int i); void __fastcall d_MI_Firebolt(int i); void __fastcall d_MI_Lightball(int i); void __fastcall d_mi_null_33(int i); void __fastcall d_MI_Acidpud(int i); void __fastcall d_MI_Firewall(int i); void __fastcall d_MI_Fireball(int i); void __fastcall d_MI_Lightctrl(int i); void __fastcall d_MI_Lightning(int i); void __fastcall d_MI_Town(int i); void __fastcall d_MI_Flash(int i); void __fastcall d_MI_Flash2(int i); void __fastcall d_MI_Manashield(int i); void __fastcall d_MI_Etherealize(int i); void __fastcall d_MI_Firemove(int i); void __fastcall d_MI_Guardian(int i); void __fastcall d_MI_Chain(int i); void __fastcall d_mi_null_11(int i); void __fastcall d_MI_Weapexp(int i); void __fastcall d_MI_Misexp(int i); void __fastcall d_MI_Acidsplat(int i); void __fastcall d_MI_Teleport(int i); void __fastcall d_MI_Stone(int i); void __fastcall d_MI_Boom(int i); void __fastcall d_MI_Rhino(int i); void __fastcall d_mi_null_32(int i); void __fastcall d_MI_FirewallC(int i); void __fastcall d_MI_Infra(int i); void __fastcall d_MI_Apoca(int i); void __fastcall d_MI_Wave(int i); void __fastcall d_MI_Nova(int i); void __fastcall d_MI_Blodboil(int i); void __fastcall d_MI_Flame(int i); void __fastcall d_MI_Flamec(int i); void __fastcall d_MI_Cbolt(int i); void __fastcall d_MI_Hbolt(int i); void __fastcall d_MI_Element(int i); void __fastcall d_MI_Bonespirit(int i); void __fastcall d_MI_ResurrectBeam(int i); void __fastcall d_MI_Rportal(int i); void __cdecl d_ProcessMissiles(); void __cdecl d_missiles_process_charge(); void __fastcall d_ClearMissileSpot(int mi); void d_j_monster_cpp_init(...); // Unknown signature void __cdecl d_monster_cpp_init(); void __fastcall d_InitMonsterTRN(int monst,BOOL special); void __cdecl d_InitLevelMonsters(); int __fastcall d_AddMonsterType(int type,int placeflag); void __cdecl d_GetLevelMTypes(); void __fastcall d_InitMonsterGFX(int monst); void __fastcall d_ClearMVars(int i); void __fastcall d_InitMonster(int i,int rd,int mtype,int x,int y); void __cdecl d_ClrAllMonsters(); BOOL __fastcall d_MonstPlace(int xp,int yp); void __fastcall d_PlaceMonster(int i,int mtype,int x,int y); void __fastcall d_PlaceUniqueMonst(int uniqindex,int miniontype,int unpackfilesize); void __cdecl d_PlaceQuestMonsters(); void __fastcall d_PlaceGroup(int mtype,int num,int leaderf,int leader); void __cdecl d_LoadDiabMonsts(); void __cdecl d_InitMonsters(); void __cdecl d_PlaceUniques(); void __fastcall d_SetMapMonsters(unsigned char * pMap,int startx,int starty); void __fastcall d_DeleteMonster(int i); int __fastcall d_AddMonster(int x,int y,int dir,int mtype,int InMap); void __fastcall d_NewMonsterAnim(int i,AnimStruct * anim,int md); bool __fastcall d_M_Ranged(int i); bool __fastcall d_M_Talker(int i); void __fastcall d_M_Enemy(int i); int __fastcall d_M_GetDir(int i); void __fastcall d_M_CheckEFlag(int i); void __fastcall d_M_StartStand(int i,int md); void __fastcall d_M_StartDelay(int i,int len); void __fastcall d_M_StartSpStand(int i,int md); void __fastcall d_M_StartWalk(int i,int xvel,int yvel,int xadd,int yadd,int EndDir); void __fastcall d_M_StartWalk2(int i,int xvel,int yvel,int xoff,int yoff,int xadd,int yadd,int EndDir); void __fastcall d_M_StartWalk3(int i,int xvel,int yvel,int xoff,int yoff,int xadd,int yadd,int mapx,int mapy,int EndDir); void __fastcall d_M_StartAttack(int i); void __fastcall d_M_StartRAttack(int i,int missile_type,int dam); void __fastcall d_M_StartRSpAttack(int i,int missile_type,int dam); void __fastcall d_M_StartSpAttack(int i); void __fastcall d_M_StartEat(int i); void __fastcall d_M_ClearSquares(int i); void __fastcall d_M_GetKnockback(int i); void __fastcall d_M_StartHit(int i,int pnum,int dam); void __fastcall d_M_DiabloDeath(int i,unsigned char sendmsg); void __fastcall d_M2MStartHit(int mid,int i,int dam); void __fastcall d_MonstStartKill(int i,int pnum,unsigned char sendmsg); void __fastcall d_M2MStartKill(int i,int mid); void __fastcall d_M_StartKill(int i,int pnum); void __fastcall d_M_SyncStartKill(int i,int x,int y,int pnum); void __fastcall d_M_StartFadein(int i,int md,unsigned char backwards); void __fastcall d_M_StartFadeout(int i,int md,unsigned char backwards); void __fastcall d_M_StartHeal(int i); void __fastcall d_M_ChangeLightOffset(int monst); int __fastcall d_M_DoStand(int i); int __fastcall d_M_DoWalk(int i); int __fastcall d_M_DoWalk2(int i); int __fastcall d_M_DoWalk3(int i); void __fastcall d_M_TryM2MHit(int i,int mid,int hper,int mind,int maxd); void __fastcall d_M_TryH2HHit(int i,int pnum,int Hit,int MinDam,int MaxDam); int __fastcall d_M_DoAttack(int i); int __fastcall d_M_DoRAttack(int i); int __fastcall d_M_DoRSpAttack(int i); int __fastcall d_M_DoSAttack(int i); int __fastcall d_M_DoFadein(int i); int __fastcall d_M_DoFadeout(int i); int __fastcall d_M_DoHeal(int i); int __fastcall d_M_DoTalk(int i); void __fastcall d_M_Teleport(int i); int __fastcall d_M_DoGotHit(int i); void __fastcall d_M_UpdateLeader(int i); void __cdecl d_DoEnding(); void __cdecl d_PrepDoEnding(); int __fastcall d_M_DoDeath(int i); int __fastcall d_M_DoSpStand(int i); int __fastcall d_M_DoDelay(int i); int __fastcall d_M_DoStone(int i); void __fastcall d_M_WalkDir(int i,int md); void __fastcall d_GroupUnity(int i); bool __fastcall d_M_CallWalk(int i,int md); bool __fastcall d_M_PathWalk(int i); bool __fastcall d_M_CallWalk2(int i,int md); bool __fastcall d_M_DumbWalk(int i,int md); bool __fastcall d_M_RoundWalk(int i,int md,int * dir); void __fastcall d_MAI_Zombie(int i); void __fastcall d_MAI_SkelSd(int i); bool __fastcall d_MAI_Path(int i); void __fastcall d_MAI_Snake(int i); void __fastcall d_MAI_Bat(int i); void __fastcall d_MAI_SkelBow(int i); void __fastcall d_MAI_Fat(int i); void __fastcall d_MAI_Sneak(int i); void __fastcall d_MAI_Fireman(int i); void __fastcall d_MAI_Fallen(int i); void __fastcall d_MAI_Cleaver(int i); void __fastcall d_MAI_Round(int i,unsigned char special); void __fastcall d_MAI_GoatMc(int i); void __fastcall d_MAI_Ranged(int i,int missile_type,unsigned char special); void __fastcall d_MAI_GoatBow(int i); void __fastcall d_MAI_Succ(int i); void __fastcall d_MAI_AcidUniq(int i); void __fastcall d_MAI_Scav(int i); void __fastcall d_MAI_Garg(int i); void __fastcall d_MAI_RoundRanged(int i,int missile_type,unsigned char checkdoors,int dam,int lessmissiles); void __fastcall d_MAI_Magma(int i); void __fastcall d_MAI_Storm(int i); void __fastcall d_MAI_Acid(int i); void __fastcall d_MAI_Diablo(int i); void __fastcall d_MAI_RR2(int i,int mistype,int dam); void __fastcall d_MAI_Mega(int i); void __fastcall d_MAI_Golum(int i); void __fastcall d_MAI_SkelKing(int i); void __fastcall d_MAI_Rhino(int i); void __fastcall d_MAI_Counselor(int i); void __fastcall d_MAI_Garbud(int i); void __fastcall d_MAI_Zhar(int i); void __fastcall d_MAI_SnotSpil(int i); void __fastcall d_MAI_Lazurus(int i); void __fastcall d_MAI_Lazhelp(int i); void __fastcall d_MAI_Lachdanan(int i); void __fastcall d_MAI_Warlord(int i); void __cdecl d_DeleteMonsterList(); void __cdecl d_ProcessMonsters(); void __cdecl d_FreeMonsters(); bool __fastcall d_DirOK(int i,int mdir); BOOL __fastcall d_PosOkMissile(int x,int y); BOOL __fastcall d_CheckNoSolid(int x,int y); BOOL __fastcall d_LineClearF(BOOL (__fastcall * Clear)(int,int),int x1,int y1,int x2,int y2); BOOL __fastcall d_LineClear(int x1,int y1,int x2,int y2); BOOL __fastcall d_LineClearF1(BOOL (__fastcall * Clear)(int,int,int),int monst,int x1,int y1,int x2,int y2); void __fastcall d_SyncMonsterAnim(int i); void __fastcall d_M_FallenFear(int x,int y); void __fastcall d_PrintMonstHistory(int mt); void __cdecl d_PrintUniqueHistory(); void __fastcall d_MissToMonst(int i,int x,int y); BOOL __fastcall d_PosOkMonst(int i,int x,int y); BOOL __fastcall d_PosOkMonst2(int i,int x,int y); BOOL __fastcall d_PosOkMonst3(int i,int x,int y); BOOL __fastcall d_IsSkel(int mt); bool __fastcall d_IsGoat(int mt); int __fastcall d_M_SpawnSkel(int x,int y,int dir); void __fastcall d_ActivateSpawn(int i,int x,int y,int dir); bool __fastcall d_SpawnSkeleton(int ii,int x,int y); int __cdecl d_PreSpawnSkeleton(); void __fastcall d_TalktoMonster(int i); void __fastcall d_SpawnGolum(int i,int x,int y,int mi); BOOL __fastcall d_CanTalkToMonst(int m); BOOL __fastcall d_CheckMonsterHit(int m,BOOL * ret); int __fastcall d_encode_enemy(int m); void __fastcall d_decode_enemy(int m,int enemy); void d_j_movie_cpp_init(...); // Unknown signature void __cdecl d_movie_cpp_init(); void __fastcall d_play_movie(char * pszMovie,BOOL user_can_close); LRESULT __stdcall d_MovieWndProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); void d_j_mpqapi_cpp_init(...); // Unknown signature void __cdecl d_mpqapi_cpp_init(); bool __fastcall d_mpqapi_set_hidden(char * pszArchive,bool hidden); void __fastcall d_mpqapi_store_creation_time(const char * pszArchive,int dwChar); bool __fastcall d_mpqapi_reg_load_modification_time(char * dst,int size); void __fastcall d_mpqapi_xor_buf(char * pbData); bool __fastcall d_mpqapi_reg_store_modification_time(char * pbData,int dwLen); _BLOCKENTRY * __fastcall d_j_mpqapi_remove_hash_entry(char * pszName); void __fastcall d_mpqapi_remove_hash_entry(const char * pszName); void __fastcall d_mpqapi_free_block(int block_offset,int block_size); _BLOCKENTRY * __fastcall d_mpqapi_new_block(int * block_index); int __fastcall d_mpqapi_get_hash_index_of_path(const char * pszName); int __fastcall d_mpqapi_get_hash_index(short index,int hash_a,int hash_b,int locale); void __fastcall d_mpqapi_remove_hash_entries(BOOL (__stdcall * fnGetName)(DWORD,char *)); BOOL __fastcall d_mpqapi_write_file(const char * pszName,const char * pbData,DWORD dwLen); _BLOCKENTRY * __fastcall d_mpqapi_add_file(const char * pszName,_BLOCKENTRY * pBlk,int block_index); bool __fastcall d_mpqapi_write_file_contents(const char * pszName,const char * pbData,int dwLen,_BLOCKENTRY * pBlk); int __fastcall d_mpqapi_find_free_block(int size,int * block_size); void __fastcall d_mpqapi_rename(char * pszOld,char * pszNew); BOOL __fastcall d_mpqapi_has_file(const char * pszName); BOOL __fastcall d_mpqapi_open_archive(const char * pszArchive,BOOL hidden,int dwChar); bool __fastcall d_mpqapi_parse_archive_header(_FILEHEADER * pHdr,int * pdwNextFileStart); void __fastcall d_mpqapi_close_archive(const char * pszArchive,BOOL bFree,int dwChar); void __fastcall d_mpqapi_store_modified_time(const char * pszArchive,int dwChar); void __fastcall d_mpqapi_flush_and_close(const char * pszArchive,BOOL bFree,int dwChar); bool __cdecl d_mpqapi_write_header(); bool __cdecl d_mpqapi_write_block_table(); bool __cdecl d_mpqapi_write_hash_table(); bool __cdecl d_mpqapi_can_seek(); void d_j_msg_cpp_init(...); // Unknown signature void __cdecl d_msg_cpp_init(); void __fastcall d_msg_send_drop_pkt(int pnum,int reason); void __fastcall d_msg_send_packet(int pnum,void * packet,int dwSize); TMegaPkt * __cdecl d_msg_get_next_packet(); int __cdecl d_msg_wait_resync(); void __cdecl d_msg_free_packets(); int __cdecl d_msg_wait_for_turns(); void __cdecl d_msg_process_net_packets(); void __cdecl d_msg_pre_packet(); void __fastcall d_DeltaExportData(int pnum); void * __fastcall d_DeltaExportItem(void * dst,void * src); void * __fastcall d_DeltaExportObject(void * dst,void * src); void * __fastcall d_DeltaExportMonster(void * dst,void * src); char * __fastcall d_DeltaExportJunk(char * a1); int __fastcall d_msg_comp_level(char * buffer,int size); void __cdecl d_delta_init(); void __fastcall d_delta_kill_monster(int mi,unsigned char x,unsigned char y,unsigned char bLevel); void __fastcall d_delta_monster_hp(int mi,int hp,unsigned char bLevel); void __fastcall d_delta_sync_monster(TCmdLocParam1 * packet,char level); void __fastcall d_delta_sync_golem(TCmdGolem * pG,int pnum,int bLevel); void __fastcall d_delta_leave_sync(unsigned char bLevel); bool __fastcall d_delta_portal_inited(int i); bool __fastcall d_delta_quest_inited(int i); void __fastcall d_DeltaAddItem(int ii); void __cdecl d_DeltaSaveLevel(); void __cdecl d_DeltaLoadLevel(); void __fastcall d_NetSendCmd(BOOL bHiPri,unsigned char bCmd); void __fastcall d_NetSendCmdGolem(unsigned char mx,unsigned char my,unsigned char dir,unsigned char menemy,int hp,int cl); void __fastcall d_NetSendCmdLoc(BOOL bHiPri,unsigned char bCmd,unsigned char x,unsigned char y); void __fastcall d_NetSendCmdLocParam1(BOOL bHiPri,unsigned char bCmd,unsigned char x,unsigned char y,unsigned short wParam1); void __fastcall d_NetSendCmdLocParam2(BOOL bHiPri,unsigned char bCmd,unsigned char x,unsigned char y,unsigned short wParam1,unsigned short wParam2); void __fastcall d_NetSendCmdLocParam3(BOOL bHiPri,unsigned char bCmd,unsigned char x,unsigned char y,unsigned short wParam1,unsigned short wParam2,unsigned short wParam3); void __fastcall d_NetSendCmdParam1(BOOL bHiPri,unsigned char bCmd,unsigned short wParam1); void __fastcall d_NetSendCmdParam2(BOOL bHiPri,unsigned char bCmd,unsigned short wParam1,unsigned short wParam2); void __fastcall d_NetSendCmdParam3(BOOL bHiPri,unsigned char bCmd,unsigned short wParam1,unsigned short wParam2,unsigned short wParam3); void __fastcall d_NetSendCmdQuest(BOOL bHiPri,unsigned char q); void __fastcall d_NetSendCmdGItem(BOOL bHiPri,unsigned char bCmd,unsigned char mast,unsigned char pnum,int ii); void __fastcall d_NetSendCmdGItem2(unsigned char usonly,unsigned char bCmd,unsigned char mast,unsigned char pnum,struct TCmdGItem * p); bool __fastcall d_NetSendCmdReq2(unsigned char bCmd,unsigned char mast,unsigned char pnum,struct TCmdGItem * p); void __fastcall d_NetSendCmdExtra(struct TCmdGItem * p); void __fastcall d_NetSendCmdPItem(BOOL bHiPri,unsigned char bCmd,unsigned char x,unsigned char y); void __fastcall d_NetSendCmdChItem(BOOL bHiPri,unsigned char bLoc); void __fastcall d_NetSendCmdDelItem(BOOL bHiPri,unsigned char bLoc); void __fastcall d_NetSendCmdDItem(BOOL bHiPri,int ii); void __fastcall d_NetSendCmdDamage(BOOL bHiPri,unsigned char bPlr,unsigned int dwDam); void __fastcall d_NetSendCmdString(int a1,const char * pszStr); void __fastcall d_RemovePlrPortal(int pnum); int __fastcall d_ParseCmd(int pnum,TCmd * pCmd); void __fastcall d_DeltaImportData(unsigned char cmd,int recv_offset); void * __fastcall d_DeltaImportItem(void * src,void * dst); void * __fastcall d_DeltaImportObject(void * src,void * dst); void * __fastcall d_DeltaImportMonster(void * src,void * dst); char __fastcall d_DeltaImportJunk(int a1); int __fastcall d_On_SYNCDATA(void * packet,int pnum); int __fastcall d_On_WALKXY(struct TCmdLoc * pCmd,int pnum); int __fastcall d_On_ADDSTR(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_ADDMAG(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_ADDDEX(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_ADDVIT(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_SBSPELL(struct TCmdParam1 * pCmd,int pnum); void d_msg_errorf(char * pszFmt,...); int __fastcall d_On_GOTOGETITEM(struct TCmdLocParam1 * pCmd,int pnum); int __fastcall d_On_REQUESTGITEM(struct TCmdGItem * pCmd,int pnum); bool __fastcall d_i_own_level(int nReqLevel); int __fastcall d_On_GETITEM(struct TCmdGItem * pCmd,int pnum); bool __fastcall d_delta_get_item(struct TCmdGItem * pI,unsigned char bLevel); int __fastcall d_On_GOTOAGETITEM(struct TCmdLocParam1 * pCmd,int pnum); int __fastcall d_On_REQUESTAGITEM(struct TCmdGItem * pCmd,int pnum); int __fastcall d_On_AGETITEM(struct TCmdGItem * pCmd,int pnum); int __fastcall d_On_ITEMEXTRA(struct TCmdGItem * pCmd,int pnum); int __fastcall d_On_PUTITEM(struct TCmdPItem * pCmd,int pnum); void __fastcall d_delta_put_item(struct TCmdPItem * pI,int x,int y,unsigned char bLevel); void __fastcall d_check_update_plr(int pnum); int __fastcall d_On_SYNCPUTITEM(struct TCmdPItem * pCmd,int pnum); int __fastcall d_On_RESPAWNITEM(struct TCmdPItem * pCmd,int pnum); int __fastcall d_On_ATTACKXY(struct TCmdLoc * pCmd,int pnum); int __fastcall d_On_SATTACKXY(struct TCmdLoc * pCmd,int pnum); int __fastcall d_On_RATTACKXY(struct TCmdLoc * pCmd,int pnum); int __fastcall d_On_SPELLXYD(struct TCmdLocParam3 * pCmd,int pnum); int __fastcall d_On_SPELLXY(struct TCmdLocParam2 * pCmd,int pnum); int __fastcall d_On_TSPELLXY(struct TCmdLocParam2 * pCmd,int pnum); int __fastcall d_On_OPOBJXY(struct TCmdLocParam1 * pCmd,int pnum); int __fastcall d_On_DISARMXY(struct TCmdLocParam1 * pCmd,int pnum); int __fastcall d_On_OPOBJT(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_ATTACKID(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_ATTACKPID(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_RATTACKID(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_RATTACKPID(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_SPELLID(struct TCmdLocParam2 * pCmd,int pnum); int __fastcall d_On_SPELLPID(struct TCmdLocParam2 * pCmd,int pnum); int __fastcall d_On_TSPELLID(struct TCmdLocParam2 * pCmd,int pnum); int __fastcall d_On_TSPELLPID(struct TCmdLocParam2 * pCmd,int pnum); int __fastcall d_On_KNOCKBACK(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_RESURRECT(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_HEALOTHER(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_TALKXY(struct TCmdLocParam1 * pCmd,int pnum); int __fastcall d_On_NEWLVL(struct TCmdParam2 * pCmd,int pnum); int __fastcall d_On_WARP(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_MONSTDEATH(struct TCmdLocParam1 * pCmd,int pnum); int __fastcall d_On_KILLGOLEM(struct TCmdLocParam1 * pCmd,int pnum); int __fastcall d_On_AWAKEGOLEM(struct TCmdGolem * pCmd,int pnum); int __fastcall d_On_MONSTDAMAGE(struct TCmdLocParam1 * pCmd,int pnum); int __fastcall d_On_PLRDEAD(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_PLRDAMAGE(struct TCmdDamage * pCmd,int pnum); int __fastcall d_On_OPENDOOR(struct TCmdParam1 * pCmd,int pnum); void __fastcall d_delta_sync_object(int oi,unsigned char bCmd,unsigned char bLevel); int __fastcall d_On_CLOSEDOOR(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_OPERATEOBJ(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_PLROPOBJ(struct TCmdParam2 * pCmd,int pnum); int __fastcall d_On_BREAKOBJ(struct TCmdParam2 * pCmd,int pnum); int __fastcall d_On_CHANGEPLRITEMS(struct TCmdChItem * pCmd,int pnum); int __fastcall d_On_DELPLRITEMS(struct TCmdDelItem * pCmd,int pnum); int __fastcall d_On_PLRLEVEL(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_DROPITEM(struct TCmdPItem * pCmd,int pnum); int __fastcall d_On_SEND_PLRINFO(struct TCmdPlrInfoHdr * pCmd,int pnum); int __fastcall d_On_ACK_PLRINFO(struct TCmdPlrInfoHdr * pCmd,int pnum); int __fastcall d_On_PLAYER_JOINLEVEL(struct TCmdLocParam1 * pCmd,int pnum); int __fastcall d_On_ACTIVATEPORTAL(DJunk * pCmd,int pnum); void __fastcall d_delta_open_portal(int pnum,int x,int y,int bLevel,int bLType,int bSetLvl); int __fastcall d_On_DEACTIVATEPORTAL(struct TCmd * pCmd,int pnum); int __fastcall d_On_RETOWN(struct TCmd * pCmd,int pnum); int __fastcall d_On_SETSTR(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_SETDEX(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_SETMAG(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_SETVIT(struct TCmdParam1 * pCmd,int pnum); int __fastcall d_On_STRING(struct TCmdString * pCmd,int pnum); int __fastcall d_On_SYNCQUEST(struct TCmdQuest * pCmd,int pnum); int __fastcall d_On_ENDSHIELD(int a1,int pnum); int __cdecl d_On_DEBUG(); int __fastcall d_On_NOVA(struct TCmdLoc * pCmd,int pnum); int __fastcall d_On_SETSHIELD(int unused,int pnum); int __fastcall d_On_REMSHIELD(int unused,int pnum); void d_j_msgcmd_cpp_init_1(...); // Unknown signature void __cdecl d_msgcmd_cpp_init_1(); void __cdecl d_msgcmd_cpp_init_2(); void __cdecl d_msgcmd_init_event(); void __cdecl d_msgcmd_cleanup_chatcmd_atexit(); void __cdecl d_msgcmd_cleanup_chatcmd(); void __cdecl d_msgcmd_cmd_cleanup(); void __cdecl d_msgcmd_send_chat(); bool __fastcall d_msgcmd_add_server_cmd_W(char * chat_message); void __fastcall d_msgcmd_add_server_cmd(char * command); void __fastcall d_msgcmd_init_chatcmd(ChatCmd * chat_cmd); void __fastcall d_msgcmd_free_event(ChatCmd * a1); bool __fastcall d_msgcmd_delete_server_cmd_W(ChatCmd * cmd,ServerCommand * extern_msg); ChatCmd * __fastcall d_msgcmd_alloc_event(ChatCmd * a1,int a2,int a3,int a4,int a5); void __fastcall d_msgcmd_remove_event(ChatCmd * a1,int a2); void __fastcall d_msgcmd_event_type(ChatCmd * a1,int a2,int * a3,int a4,int a5); void __fastcall d_msgcmd_cleanup_chatcmd_1(ChatCmd * a1); void __fastcall d_msgcmd_cleanup_extern_msg(ServerCommand ** extern_msgs); void d_j_multi_cpp_init(...); // Unknown signature void __cdecl d_multi_cpp_init(); void __fastcall d_multi_msg_add(unsigned char * a1,unsigned char a2); void __fastcall d_NetSendLoPri(unsigned char * pbMsg,unsigned char bLen); void __fastcall d_multi_copy_packet(void * a1,void * packet,int size); void __fastcall d_multi_send_packet(void * packet,int dwSize); void __fastcall d_NetRecvPlrData(TPkt * pkt); void __fastcall d_NetSendHiPri(unsigned char * pbMsg,unsigned char bLen); unsigned char * __fastcall d_multi_recv_packet(void * packet,unsigned char * a2,int * a3); void __fastcall d_multi_send_msg_packet(int a1,unsigned char * a2,unsigned char len); void __cdecl d_multi_msg_countdown(); void __fastcall d_multi_parse_turn(int pnum,int turn); void __fastcall d_multi_handle_turn_upper_bit(int pnum); void __fastcall d_multi_player_left(int pnum,int reason); void __cdecl d_multi_clear_left_tbl(); void __fastcall d_multi_player_left_msg(int pnum,int left); void __cdecl d_multi_net_ping(); int __cdecl d_multi_handle_delta(); int __fastcall d_multi_check_pkt_valid(char * a1); void __cdecl d_multi_mon_seeds(); void __cdecl d_multi_begin_timeout(); void __cdecl d_multi_check_drop_player(); void __cdecl d_multi_process_network_packets(); void __fastcall d_multi_handle_all_packets(int players,TPkt * packet,int a3); void __cdecl d_multi_process_tmsgs(); void __fastcall d_multi_send_zero_packet(int pnum,char a2,void * pbSrc,int dwLen); void __cdecl d_NetClose(); char __fastcall d_multi_event_handler(int a1); void __stdcall d_multi_handle_events(_SNETEVENT * pEvt); int __fastcall d_NetInit(int bSinglePlayer,int * pfExitProgram); void __fastcall d_multi_clear_pkt(char * a1); void __fastcall d_multi_send_pinfo(int pnum,char cmd); int __fastcall d_InitNewSeed(int newseed); void __cdecl d_SetupLocalCoords(); int __fastcall d_multi_init_single(_SNETPROGRAMDATA * client_info,_SNETPLAYERDATA * user_info,_SNETUIDATA * ui_info); int __fastcall d_multi_init_multi(_SNETPROGRAMDATA * client_info,_SNETPLAYERDATA * user_info,_SNETUIDATA * ui_info,int * a4); int __fastcall d_multi_upgrade(int * a1); void __fastcall d_multi_player_joins(int pnum,TCmdPlrInfoHdr * cmd,int a3); void d_j_nthread_cpp_init_1(...); // Unknown signature void d_nthread_cpp_init_1(...); // Unknown signature void d_nthread_cpp_init_2(...); // Unknown signature void __cdecl d_nthread_init_mutex(); void __cdecl d_nthread_cleanup_mutex_atexit(); void __cdecl d_nthread_cleanup_mutex(); void __fastcall d_nthread_terminate_game(const char * pszFcn); int __fastcall d_nthread_send_and_recv_turn(int cur_turn,int turn_delta); int __fastcall d_nthread_recv_turns(int * pfSendAsync); void __cdecl d_nthread_set_turn_upper_bit(); void __fastcall d_nthread_start(bool set_turn_upper_bit); unsigned int __stdcall d_nthread_handler(void * a1); void __cdecl d_nthread_cleanup(); void __fastcall d_nthread_ignore_mutex(bool bStart); bool __cdecl d_nthread_has_500ms_passed(); void __cdecl d_InitObjectGFX(); void __cdecl d_FreeObjectGFX(); bool __fastcall d_RndLocOk(int xp,int yp); void __fastcall d_InitRndLocObj(int min,int max,int objtype); void __fastcall d_InitRndLocBigObj(int min,int max,int objtype); void __fastcall d_InitRndLocObj5x5(int min,int max,int objtype); void __cdecl d_ClrAllObjects(); void __cdecl d_AddTortures(); void __cdecl d_AddCandles(); void __fastcall d_AddBookLever(int lx1,int ly1,int lx2,int ly2,int x1,int y1,int x2,int y2,int msg); void __cdecl d_InitRndBarrels(); void __fastcall d_AddL1Objs(int x1,int y1,int x2,int y2); void __fastcall d_AddL2Objs(int x1,int y1,int x2,int y2); void __fastcall d_AddL3Objs(int x1,int y1,int x2,int y2); bool __fastcall d_WallTrapLocOk(int xp,int yp); void __cdecl d_AddL2Torches(); bool __fastcall d_TorchLocOK(int xp,int yp); void __cdecl d_AddObjTraps(); void __cdecl d_AddChestTraps(); void __fastcall d_LoadMapObjects(unsigned char * pMap,int startx,int starty,int x1,int y1,int w,int h,int leveridx); void __fastcall d_LoadMapObjs(unsigned char * pMap,int startx,int starty); void __cdecl d_AddDiabObjs(); void __cdecl d_AddStoryBooks(); void __fastcall d_AddHookedBodies(int freq); void __cdecl d_AddL4Goodies(); void __cdecl d_AddLazStand(); void __cdecl d_InitObjects(); void __fastcall d_SetMapObjects(unsigned char * pMap,int startx,int starty); void __fastcall d_DeleteObject(int oi,int i); void __fastcall d_SetupObject(int i,int x,int y,int ot); void __fastcall d_SetObjMapRange(int i,int x1,int y1,int x2,int y2,int v); void __fastcall d_SetBookMsg(int i,int msg); void __fastcall d_AddL1Door(int i,int x,int y,int ot); void __fastcall d_AddSCambBook(int i); void __fastcall d_AddChest(int i,int t); void __fastcall d_AddL2Door(int i,int x,int y,int ot); void __fastcall d_AddL3Door(int i,int x,int y,int ot); void __fastcall d_AddSarc(int i); void __fastcall d_AddFlameTrap(int i); void __fastcall d_AddFlameLvr(int i); void __fastcall d_AddTrap(int i); void __fastcall d_AddObjLight(int i,int r); void __fastcall d_AddBarrel(int i); void __fastcall d_AddShrine(int i); void __fastcall d_AddBookcase(int i); void __fastcall d_AddPurifyingFountain(int i); void __fastcall d_AddArmorStand(int i); void __fastcall d_AddDecap(int i); void __fastcall d_AddVilebook(int i); void __fastcall d_AddMagicCircle(int i); void __fastcall d_AddBookstand(int i); void __fastcall d_AddPedistal(int i); void __fastcall d_AddStoryBook(int i); void __fastcall d_AddWeaponRack(int i); void __fastcall d_AddTorturedBody(int i); void __fastcall d_GetRndObjLoc(int randarea,int * xx,int * yy); void __cdecl d_AddMushPatch(); void __cdecl d_AddSlainHero(); void __fastcall d_AddObject(int ot,int ox,int oy); void __fastcall d_Obj_Light(int i,int lr); void __fastcall d_Obj_Circle(int i); void __fastcall d_Obj_StopAnim(int i); void __fastcall d_Obj_Door(int i); void __fastcall d_Obj_Sarc(int i); void __fastcall d_ActivateTrapLine(int ttype,int tid); void __fastcall d_Obj_FlameTrap(int i); void __fastcall d_Obj_Trap(int i); void __fastcall d_Obj_BCrossDamage(int i); void __cdecl d_ProcessObjects(); void __fastcall d_ObjSetMicro(int dx,int dy,int pn); void __fastcall d_objects_set_door_piece(int x,int y); void __fastcall d_ObjSetMini(int x,int y,int v); void __fastcall d_ObjL1Special(int x1,int y1,int x2,int y2); void __fastcall d_ObjL2Special(int x1,int y1,int x2,int y2); void __fastcall d_DoorSet(int oi,int dx,int dy); void __cdecl d_RedoPlayerVision(); void __fastcall d_OperateL1RDoor(int pnum,int oi,unsigned char sendflag); void __fastcall d_OperateL1LDoor(int pnum,int oi,unsigned char sendflag); void __fastcall d_OperateL2RDoor(int pnum,int oi,unsigned char sendflag); void __fastcall d_OperateL2LDoor(int pnum,int oi,unsigned char sendflag); void __fastcall d_OperateL3RDoor(int pnum,int oi,unsigned char sendflag); void __fastcall d_OperateL3LDoor(int pnum,int oi,unsigned char sendflag); void __fastcall d_MonstCheckDoors(int m); void __fastcall d_ObjChangeMap(int x1,int y1,int x2,int y2); void __fastcall d_ObjChangeMapResync(int x1,int y1,int x2,int y2); void __fastcall d_OperateL1Door(int pnum,int i,unsigned char sendflag); void __fastcall d_OperateLever(int pnum,int i); void __fastcall d_OperateBook(int pnum,int i); void __fastcall d_OperateBookLever(int pnum,int i); void __fastcall d_OperateSChambBk(int pnum,int i); void __fastcall d_OperateChest(int pnum,int i,unsigned char sendmsg); void __fastcall d_OperateMushPatch(int pnum,int i); void __fastcall d_OperateInnSignChest(int pnum,int i); void __fastcall d_OperateSlainHero(int pnum,int i,unsigned char sendmsg); void __fastcall d_OperateTrapLvr(int i); void __fastcall d_OperateSarc(int pnum,int i,unsigned char sendmsg); void __fastcall d_OperateL2Door(int pnum,int i,unsigned char sendflag); void __fastcall d_OperateL3Door(int pnum,int i,unsigned char sendflag); void __fastcall d_OperatePedistal(int pnum,int i); void __fastcall d_TryDisarm(int pnum,int i); int __fastcall d_ItemMiscIdIdx(int imiscid); void __fastcall d_OperateShrine(int pnum,int i,int sType); void __fastcall d_OperateSkelBook(int pnum,int i,unsigned char sendmsg); void __fastcall d_OperateBookCase(int pnum,int i,unsigned char sendmsg); void __fastcall d_OperateDecap(int pnum,int i,unsigned char sendmsg); void __fastcall d_OperateArmorStand(int pnum,int i,unsigned char sendmsg); int __fastcall d_FindValidShrine(int i); void __fastcall d_OperateGoatShrine(int pnum,int i,int sType); void __fastcall d_OperateCauldron(int pnum,int i,int sType); bool __fastcall d_OperateFountains(int pnum,int i); void __fastcall d_OperateWeaponRack(int pnum,int i,unsigned char sendmsg); void __fastcall d_OperateStoryBook(int pnum,int i); void __fastcall d_OperateLazStand(int pnum,int i); void __fastcall d_OperateObject(int pnum,int i,BOOL TeleFlag); void __fastcall d_SyncOpL1Door(int pnum,int cmd,int i); void __fastcall d_SyncOpL2Door(int pnum,int cmd,int i); void __fastcall d_SyncOpL3Door(int pnum,int cmd,int i); void __fastcall d_SyncOpObject(int pnum,int cmd,int i); void __fastcall d_BreakCrux(int i); void __fastcall d_BreakBarrel(int pnum,int i,int dam,unsigned char forcebreak,int sendmsg); void __fastcall d_BreakObject(int pnum,int oi); void __fastcall d_SyncBreakObj(int pnum,int oi); void __fastcall d_SyncL1Doors(int i); void __fastcall d_SyncCrux(int i); void __fastcall d_SyncLever(int i); void __fastcall d_SyncQSTLever(int i); void __fastcall d_SyncPedistal(int i); void __fastcall d_SyncL2Doors(int i); void __fastcall d_SyncL3Doors(int i); void __fastcall d_SyncObjectAnim(int o); void __fastcall d_GetObjectStr(int i); void d_j_pack_cpp_init(...); // Unknown signature void __cdecl d_pack_cpp_init(); void __fastcall d_PackPlayer(PkPlayerStruct * pPack,int pnum,BOOL manashield); void __fastcall d_PackItem(PkItemStruct * id,ItemStruct * is); void __fastcall d_VerifyGoldSeeds(PlayerStruct * pPlayer); void __fastcall d_UnPackPlayer(PkPlayerStruct * pPack,int pnum,bool killok); void __fastcall d_UnPackItem(PkItemStruct * is,ItemStruct * id); void d_j_palette_cpp_init(...); // Unknown signature void __cdecl d_palette_cpp_init(); void __cdecl d_SaveGamma(); void __cdecl d_palette_init(); void __cdecl d_LoadGamma(); void __cdecl d_LoadSysPal(); void __fastcall d_LoadPalette(char * pszFileName); void __fastcall d_LoadRndLvlPal(int l); void __cdecl d_ResetPal(); void __cdecl d_IncreaseGamma(); void __cdecl d_palette_update(); void __fastcall d_ApplyGamma(PALETTEENTRY * dst,PALETTEENTRY * src,int n); void __cdecl d_DecreaseGamma(); int __fastcall d_UpdateGamma(int gamma); void __cdecl d_BlackPalette(); void __fastcall d_SetFadeLevel(int fadeval); void __fastcall d_PaletteFadeIn(int fr); void __fastcall d_PaletteFadeOut(int fr); void __cdecl d_palette_update_caves(); void __fastcall d_palette_update_quest_palette(int n); bool __cdecl d_palette_get_colour_cycling(); void __fastcall d_palette_set_color_cycling(bool enabled); int __fastcall d_FindPath(BOOL (__fastcall * PosOk)(int,int,int),int PosOkArg,int sx,int sy,int dx,int dy,char * path); int __fastcall d_path_get_h_cost(int sx,int sy,int dx,int dy); int __fastcall d_path_check_equal(PATHNODE * pPath,int dx,int dy); PATHNODE * __cdecl d_GetNextPath(); bool __fastcall d_path_solid_pieces(PATHNODE * pPath,int dx,int dy); int __fastcall d_path_get_path(BOOL (__fastcall * PosOk)(int,int,int),int PosOkArg,PATHNODE * pPath,int x,int y); int __fastcall d_path_parent_path(PATHNODE * pPath,int dx,int dy,int sx,int sy); PATHNODE * __fastcall d_path_get_node1(int dx,int dy); PATHNODE * __fastcall d_path_get_node2(int dx,int dy); void __fastcall d_path_next_node(PATHNODE * pPath); void __fastcall d_path_set_coords(PATHNODE * pPath); void __fastcall d_path_push_active_step(PATHNODE * pPath); PATHNODE * __cdecl d_path_pop_active_step(); PATHNODE * __cdecl d_path_new_step(); void d_j_pfile_cpp_init(...); // Unknown signature void __cdecl d_pfile_cpp_init(); void __cdecl d_pfile_init_save_directory(); void __fastcall d_pfile_check_available_space(char * pszDir); void __cdecl d_pfile_write_hero(); unsigned int __fastcall d_pfile_get_save_num_from_name(const char * name); void __fastcall d_pfile_encode_hero(const PkPlayerStruct * pPack); BOOL __fastcall d_pfile_open_archive(BOOL a1,unsigned int save_num); void __fastcall d_pfile_get_save_path(char * pszBuf,DWORD dwBufSize,unsigned int save_num); void __fastcall d_pfile_flush(BOOL is_single_player,unsigned int save_num); bool __fastcall d_pfile_create_player_description(char * dst,int len); int __fastcall d_pfile_create_save_file(char * name_1,char * name_2); void __cdecl d_pfile_flush_W(); void __fastcall d_game_2_ui_player(const PlayerStruct * p,_uiheroinfo * heroinfo,BOOL bHasSaveFile); unsigned char __fastcall d_game_2_ui_class(const PlayerStruct * p); BOOL __stdcall d_pfile_ui_set_hero_infos(BOOL (__stdcall * ui_add_hero_info)(_uiheroinfo *)); char * __fastcall d_GetSaveDirectory(char * dst,int dst_size,unsigned int save_num); BOOL __fastcall d_pfile_read_hero(void * archive,PkPlayerStruct * pPack); HANDLE __fastcall d_pfile_open_save_archive(int * unused,unsigned int save_num); void __fastcall d_pfile_SFileCloseArchive(HANDLE hsArchive); BOOL __fastcall d_pfile_archive_contains_game(HANDLE hsArchive); BOOL __stdcall d_pfile_ui_set_class_stats(int player_class_nr,_uidefaultstats * class_stats); char __fastcall d_pfile_get_player_class(unsigned int player_class_nr); BOOL __stdcall d_pfile_ui_save_create(_uiheroinfo * heroinfo); BOOL __stdcall d_pfile_get_file_name(DWORD lvl,char * dst); BOOL __stdcall d_pfile_delete_save(_uiheroinfo * hero_info); void __cdecl d_pfile_read_player_from_save(); void __fastcall d_GetTempLevelNames(char * szTemp); void __fastcall d_GetPermLevelNames(char * szPerm); void __fastcall d_pfile_get_game_name(char * dst); void __cdecl d_pfile_remove_temp_files(); BOOL __stdcall d_GetTempSaveNames(DWORD dwIndex,char * szTemp); void __cdecl d_pfile_rename_temp_to_perm(); BOOL __stdcall d_GetPermSaveNames(DWORD dwIndex,char * szPerm); void __fastcall d_pfile_write_save_file(char * pszName,void * pbData,int dwLen,int qwLen); void __fastcall d_pfile_strcpy(char * dst,const char * src); char * __fastcall d_pfile_read(char * pszName,int * pdwLen); void __fastcall d_pfile_update(BOOL force_save); void d_j_player_cpp_init(...); // Unknown signature void __cdecl d_player_cpp_init(); void __fastcall d_SetPlayerGPtrs(UCHAR * pData,UCHAR ** pAnim); void __fastcall d_LoadPlrGFX(int pnum,player_graphic gfxflag); void __fastcall d_InitPlayerGFX(int pnum); void __fastcall d_InitPlrGFXMem(int pnum); DWORD __fastcall d_GetPlrGFXSize(char * szCel); void __fastcall d_FreePlayerGFX(int pnum); void __fastcall d_NewPlrAnim(int pnum,unsigned char * Peq,int numFrames,int Delay,int width); void __fastcall d_ClearPlrPVars(int pnum); void __fastcall d_SetPlrAnims(int pnum); void __fastcall d_ClearPlrRVars(PlayerStruct * p); void __fastcall d_CreatePlayer(int pnum,char c); int __fastcall d_CalcStatDiff(int pnum); void __fastcall d_NextPlrLevel(int pnum); void __fastcall d_AddPlrExperience(int pnum,int lvl,int exp); void __fastcall d_AddPlrMonstExper(int lvl,int exp,char pmask); void __fastcall d_InitPlayer(int pnum,BOOL FirstTime); void __cdecl d_InitMultiView(); void __fastcall d_InitPlayerLoc(int pnum,BOOL flag); BOOL __fastcall d_SolidLoc(int x,int y); BOOL __fastcall d_PlrDirOK(int pnum,int dir); void __fastcall d_PlrClrTrans(int x,int y); void __fastcall d_PlrDoTrans(int x,int y); void __fastcall d_SetPlayerOld(int pnum); void __fastcall d_FixPlayerLocation(int pnum,int dir); void __fastcall d_StartStand(int pnum,int dir); void __fastcall d_StartWalkStand(int pnum); void __fastcall d_PM_ChangeLightOff(int pnum); void __fastcall d_PM_ChangeOffset(int pnum); void __fastcall d_StartWalk(int pnum,int xvel,int yvel,int xadd,int yadd,int EndDir,int sdir); void __fastcall d_StartWalk2(int pnum,int xvel,int yvel,int xoff,int yoff,int xadd,int yadd,int EndDir,int sdir); void __fastcall d_StartWalk3(int pnum,int xvel,int yvel,int xoff,int yoff,int xadd,int yadd,int mapx,int mapy,int EndDir,int sdir); void __fastcall d_StartAttack(int pnum,int d); void __fastcall d_StartRangeAttack(int pnum,int d,int cx,int cy); void __fastcall d_StartPlrBlock(int pnum,int dir); void __fastcall d_StartSpell(int pnum,int d,int cx,int cy); void __fastcall d_FixPlrWalkTags(int pnum); void __fastcall d_RemovePlrFromMap(int pnum); void __fastcall d_StartPlrHit(int pnum,int dam,BOOL forcehit); void __fastcall d_RespawnDeadItem(ItemStruct * itm,int x,int y); void __fastcall d_StartPlayerKill(int pnum,int earflag); void __fastcall d_PlrDeadItem(int pnum,struct ItemStruct * itm,int xx,int yy); void __fastcall d_DropHalfPlayersGold(int pnum); void __fastcall d_SyncPlrKill(int pnum,int earflag); void __fastcall d_j_StartPlayerKill(int pnum,int earflag); void __fastcall d_RemovePlrMissiles(int pnum); void __fastcall d_InitLevelChange(int pnum); void __fastcall d_StartNewLvl(int pnum,int fom,int lvl); void __fastcall d_RestartTownLvl(int pnum); void __fastcall d_StartWarpLvl(int pnum,int pidx); BOOL __fastcall d_PM_DoStand(int pnum); BOOL __fastcall d_PM_DoWalk(int pnum); BOOL __fastcall d_PM_DoWalk2(int pnum); BOOL __fastcall d_PM_DoWalk3(int pnum); BOOL __fastcall d_WeaponDur(int pnum,int durrnd); BOOL __fastcall d_PlrHitMonst(int pnum,int m); BOOL __fastcall d_PlrHitPlr(int pnum,char p); BOOL __fastcall d_PlrHitObj(int pnum,int mx,int my); BOOL __fastcall d_PM_DoAttack(int pnum); BOOL __fastcall d_PM_DoRangeAttack(int pnum); void __fastcall d_ShieldDur(int pnum); BOOL __fastcall d_PM_DoBlock(int pnum); BOOL __fastcall d_PM_DoSpell(int pnum); BOOL __fastcall d_PM_DoGotHit(int pnum); void __fastcall d_ArmorDur(int pnum); BOOL __fastcall d_PM_DoDeath(int pnum); void __fastcall d_CheckNewPath(int pnum); BOOL __fastcall d_PlrDeathModeOK(int pnum); void __cdecl d_ValidatePlayer(); void __cdecl d_ProcessPlayers(); void __fastcall d_CheckCheatStats(int pnum); void __fastcall d_ClrPlrPath(int pnum); BOOL __fastcall d_PosOkPlayer(int pnum,int px,int py); void __fastcall d_MakePlrPath(int pnum,int xx,int yy,BOOL endspace); void __fastcall d_CheckPlrSpell(); void __fastcall d_SyncPlrAnim(int pnum); void __fastcall d_SyncInitPlrPos(int pnum); void __fastcall d_SyncInitPlr(int pnum); void __fastcall d_CheckStats(int pnum); void __fastcall d_ModifyPlrStr(int pnum,int l); void __fastcall d_ModifyPlrMag(int pnum,int l); void __fastcall d_ModifyPlrDex(int pnum,int l); void __fastcall d_ModifyPlrVit(int pnum,int l); void __fastcall d_SetPlayerHitPoints(int pnum,int newhp); void __fastcall d_SetPlrStr(int pnum,int v); void __fastcall d_SetPlrMag(int pnum,int v); void __fastcall d_SetPlrDex(int pnum,int v); void __fastcall d_SetPlrVit(int pnum,int v); void __fastcall d_InitDungMsgs(int pnum); void __cdecl d_PlayDungMsgs(); void __fastcall d_plrmsg_delay(int a1); char * __fastcall d_ErrorPlrMsg(char * pszMsg); size_t d_EventPlrMsg(char * pszFmt,...); void __fastcall d_SendPlrMsg(int pnum,const char * pszStr); void __cdecl d_ClearPlrMsg(); void __cdecl d_InitPlrMsg(); void __cdecl d_DrawPlrMsg(); void __fastcall d_PrintPlrMsg(int no,int x,int y,char * str,int just); void __cdecl d_InitPortals(); void __fastcall d_SetPortalStats(int i,int o,int x,int y,int lvl,int lvltype); void __fastcall d_AddWarpMissile(int i,int x,int y); void __cdecl d_SyncPortals(); void __fastcall d_AddInTownPortal(int i); void __fastcall d_ActivatePortal(int i,int x,int y,int lvl,int lvltype,int sp); void __fastcall d_DeactivatePortal(int i); bool __fastcall d_PortalOnLevel(int i); void __fastcall d_RemovePortalMissile(int id); void __fastcall d_SetCurrentPortal(int p); void __cdecl d_GetPortalLevel(); void __cdecl d_GetPortalLvlPos(); BOOL __fastcall d_PosOkPortal(int lvl,int x,int y); void __cdecl d_InitQuests(); void __cdecl d_CheckQuests(); bool __cdecl d_ForceQuests(); BOOL __fastcall d_QuestStatus(int i); void __fastcall d_CheckQuestKill(int m,unsigned char sendmsg); void __cdecl d_DrawButcher(); void __fastcall d_DrawSkelKing(int q,int x,int y); void __fastcall d_DrawWarLord(int x,int y); void __fastcall d_DrawSChamber(int q,int x,int y); void __fastcall d_DrawLTBanner(int x,int y); void __fastcall d_DrawBlind(int x,int y); void __fastcall d_DrawBlood(int x,int y); void __fastcall d_DRLG_CheckQuests(int x,int y); void __cdecl d_SetReturnLvlPos(); void __cdecl d_GetReturnLvlPos(); void __cdecl d_ResyncMPQuests(); void __cdecl d_ResyncQuests(); void __fastcall d_PrintQLString(int x,int y,unsigned char cjustflag,char * str,int col); void __cdecl d_DrawQuestLog(); void __cdecl d_StartQuestlog(); void __cdecl d_QuestlogUp(); void __cdecl d_QuestlogDown(); void __cdecl d_QuestlogEnter(); void __cdecl d_QuestlogESC(); void __fastcall d_SetMultiQuest(int q,int s,unsigned char l,int v1); bool __cdecl d_SystemSupported(); bool __cdecl d_RestrictedTest(); bool __cdecl d_ReadOnlyTest(); void d_j_scrollrt_cpp_init(...); // Unknown signature void __cdecl d_scrollrt_cpp_init(); void __cdecl d_ClearCursor(); void __fastcall d_DrawMissile(int x,int y,int sx,int sy,int a5,int a6,int del_flag); void __fastcall d_DrawClippedMissile(int x,int y,int sx,int sy,int a5,int a6,int a7); void __fastcall d_DrawDeadPlayer(int x,int y,int sx,int sy,int a5,int a6,bool clipped); void __fastcall d_DrawPlayer(int pnum,int x,int y,int px,int py,unsigned char * animdata,int animframe,int animwidth,int a9,int a10); void __fastcall d_DrawClippedPlayer(int pnum,int x,int y,int px,int py,unsigned char * animdata,int animframe,int animwidth,int a9,int a10); void __fastcall d_DrawView(int StartX,int StartY); void __fastcall d_DrawGame(int x,int y); void __fastcall d_scrollrt_draw_lower(int x,int y,int sx,int sy,int a5,int some_flag); void __fastcall d_scrollrt_draw_clipped_dungeon(char * a1,int sx,int sy,int a4,int a5,int a6); void __fastcall d_DrawClippedMonster(int x,int y,int a3,int a4,int mon_id,int a6,int a7); void __fastcall d_DrawClippedObject(int x,int y,int a3,int a4,int pre_flag,int a6,int dir); void __fastcall d_scrollrt_draw_clipped_e_flag(char * buffer,int x,int y,int a4,int a5); void __fastcall d_scrollrt_draw_lower_2(int x,int y,int sx,int sy,int a5,int a6,int some_flag); void __fastcall d_scrollrt_draw_clipped_dungeon_2(char * buffer,int x,int y,int a4,int a5,int sx,int sy,int me_flag); void __fastcall d_scrollrt_draw_clipped_e_flag_2(char * buffer,int x,int y,int a4,signed int a5,int sx,int sy); void __fastcall d_scrollrt_draw_upper(int x,int y,int sx,int sy,int a5,int a6,int some_flag); void __fastcall d_scrollrt_draw_dungeon(char * buffer,int x,int y,int a4,int a5,int sx,int sy,int me_flag); void __fastcall d_DrawMonster(int x,int y,int a3,int a4,int mon_id,int a6,int a7); void __fastcall d_DrawObject(int x,int y,int a3,int a4,int pre_flag,int a6,int dir); void __fastcall d_scrollrt_draw_e_flag(char * buffer,int x,int y,int a4,int a5,int sx,int sy); void __fastcall d_DrawZoom(int x,int y); void __cdecl d_ClearScreenBuffer(); void __fastcall d_scrollrt_draw_game_screen(bool draw_cursor); void __cdecl d_scrollrt_draw_cursor_back_buffer(); void __cdecl d_scrollrt_draw_cursor_item(); void __fastcall d_DrawMain(int dwHgt,int draw_desc,int draw_hp,int draw_mana,int draw_sbar,int draw_btn); void __fastcall d_DoBlitScreen(int dwX,int dwY,int dwWdt,int dwHgt); void __cdecl d_DrawAndBlit(); int __fastcall d_ObjIndex(int x,int y); void __cdecl d_AddSKingObjs(); void __cdecl d_AddSChamObjs(); void __cdecl d_AddVileObjs(); void __fastcall d_DRLG_SetMapTrans(char * sFileName); void __cdecl d_LoadSetMap(); void __cdecl d_SHA1Clear(); void __fastcall d_SHA1Result(int n,char Message_Digest[SHA1HashSize]); void __fastcall d_SHA1Calculate(int n,const char * data,char Message_Digest[SHA1HashSize]); void __fastcall d_SHA1Input(SHA1Context * context,const char * message_array,int len); void __fastcall d_SHA1ProcessMessageBlock(SHA1Context * context); void __fastcall d_SHA1Reset(int n); void d_j_sound_cpp_init(...); // Unknown signature void __cdecl d_sound_cpp_init(); void __fastcall d_snd_update(BOOL bStopAll); void __fastcall d_snd_stop_snd(TSnd * pSnd); BOOL __fastcall d_snd_playing(TSnd * pSnd); void __fastcall d_snd_play_snd(TSnd * pSnd,int lVolume,int lPan); IDirectSoundBuffer * __fastcall d_sound_dup_channel(IDirectSoundBuffer * DSB); BOOL __fastcall d_sound_file_reload(TSnd * sound_file,IDirectSoundBuffer * DSB); TSnd * __fastcall d_sound_file_load(char * path); void __fastcall d_sound_CreateSoundBuffer(TSnd * sound_file); void __fastcall d_sound_file_cleanup(TSnd * sound_file); void __fastcall d_snd_init(HWND hWnd); void __fastcall d_sound_load_volume(char * value_name,int * value); void __fastcall d_sound_create_primary_buffer(HANDLE music_track); HRESULT __fastcall d_sound_DirectSoundCreate(LPGUID lpGuid,LPDIRECTSOUND * ppDS,LPUNKNOWN pUnkOuter); void __cdecl d_sound_cleanup(); void __fastcall d_sound_store_volume(char * key,int value); void __cdecl d_music_stop(); void __fastcall d_music_start(int nTrack); void __fastcall d_sound_disable_music(BOOL disable); int __fastcall d_sound_get_or_set_music_volume(int volume); int __fastcall d_sound_get_or_set_sound_volume(int volume); int __fastcall d_GetManaAmount(int id,int sn); void __fastcall d_UseMana(int id,int sn); BOOL __fastcall d_CheckSpell(int id,int sn,BYTE st,BOOL manaonly); void __fastcall d_CastSpell(int id,int spl,int sx,int sy,int dx,int dy,BOOL caster,int spllvl); void __fastcall d_DoResurrect(int pnum,int rid); void __fastcall d_PlacePlayer(int pnum); void __fastcall d_DoHealOther(int pnum,int rid); void __cdecl d_InitStores(); void __cdecl d_SetupTownStores(); void __cdecl d_FreeStoreMem(); void __cdecl d_DrawSTextBack(); void __fastcall d_PrintSString(int x,int y,unsigned char cjustflag,char * str,int col,int val); void __fastcall d_DrawSLine(int y); void __fastcall d_DrawSArrows(int y1,int y2); void __cdecl d_DrawSTextHelp(); void __fastcall d_ClearSText(int s,int e); void __fastcall d_AddSLine(int y); void __fastcall d_AddSTextVal(int y,int val); void __fastcall d_OffsetSTextY(int y,int yo); void __fastcall d_AddSText(int x,int y,unsigned char j,char * str,int clr,int sel); void __cdecl d_StoreAutoPlace(); void __cdecl d_S_StartSmith(); void __fastcall d_S_ScrollSBuy(int idx); void __fastcall d_PrintStoreItem(ItemStruct * x,int l,char iclr); void __cdecl d_S_StartSBuy(); void __fastcall d_S_ScrollSPBuy(int idx); bool __cdecl d_S_StartSPBuy(); bool __fastcall d_SmithSellOk(int i); void __fastcall d_S_ScrollSSell(int idx); void __cdecl d_S_StartSSell(); bool __fastcall d_SmithRepairOk(int i); void __cdecl d_S_StartSRepair(); void __fastcall d_AddStoreHoldRepair(ItemStruct * itm,int i); void __cdecl d_S_StartWitch(); void __fastcall d_S_ScrollWBuy(int idx); void __cdecl d_S_StartWBuy(); bool __fastcall d_WitchSellOk(int i); void __cdecl d_S_StartWSell(); bool __fastcall d_WitchRechargeOk(int i); void __fastcall d_AddStoreHoldRecharge(ItemStruct itm,int i); void __cdecl d_S_StartWRecharge(); void __cdecl d_S_StartNoMoney(); void __cdecl d_S_StartNoRoom(); void __cdecl d_S_StartConfirm(); void __cdecl d_S_StartBoy(); void __cdecl d_S_StartBBoy(); void __cdecl d_S_StartHealer(); void __fastcall d_S_ScrollHBuy(int idx); void __cdecl d_S_StartHBuy(); void __cdecl d_S_StartStory(); bool __fastcall d_IdItemOk(ItemStruct * i); void __fastcall d_AddStoreHoldId(ItemStruct itm,int i); void __cdecl d_S_StartSIdentify(); void __cdecl d_S_StartIdShow(); void __cdecl d_S_StartTalk(); void __cdecl d_S_StartTavern(); void __cdecl d_S_StartBarMaid(); void __cdecl d_S_StartDrunk(); void __fastcall d_StartStore(char s); void __cdecl d_DrawSText(); void __cdecl d_STextESC(); void __cdecl d_STextUp(); void __cdecl d_STextDown(); void __cdecl d_STextPrior(); void __cdecl d_STextNext(); void __cdecl d_S_SmithEnter(); void __fastcall d_SetGoldCurs(int pnum,int i); void __fastcall d_SetSpdbarGoldCurs(int pnum,int i); void __fastcall d_TakePlrsMoney(int cost); void __cdecl d_SmithBuyItem(); void __cdecl d_S_SBuyEnter(); void __cdecl d_SmithBuyPItem(); void __cdecl d_S_SPBuyEnter(); bool __fastcall d_StoreGoldFit(int idx); void __fastcall d_PlaceStoreGold(int v); void __cdecl d_StoreSellItem(); void __cdecl d_S_SSellEnter(); void __cdecl d_SmithRepairItem(); void __cdecl d_S_SRepairEnter(); void __cdecl d_S_WitchEnter(); void __cdecl d_WitchBuyItem(); void __cdecl d_S_WBuyEnter(); void __cdecl d_S_WSellEnter(); void __cdecl d_WitchRechargeItem(); void __cdecl d_S_WRechargeEnter(); void __cdecl d_S_BoyEnter(); void __cdecl d_BoyBuyItem(); void __cdecl d_HealerBuyItem(); void __cdecl d_S_BBuyEnter(); void __cdecl d_StoryIdItem(); void __cdecl d_S_ConfirmEnter(); void __cdecl d_S_HealerEnter(); void __cdecl d_S_HBuyEnter(); void __cdecl d_S_StoryEnter(); void __cdecl d_S_SIDEnter(); void __cdecl d_S_TalkEnter(); void __cdecl d_S_TavernEnter(); void __cdecl d_S_BarmaidEnter(); void __cdecl d_S_DrunkEnter(); void __cdecl d_STextEnter(); void __cdecl d_CheckStoreBtn(); void __cdecl d_ReleaseStoreBtn(); int __fastcall d_sync_all_monsters(TSyncHeader * packet,int size); void __cdecl d_sync_one_monster(); int __fastcall d_sync_monster_active(TSyncMonster * packet); void __fastcall d_sync_monster_pos(TSyncMonster * packet,int mon_id); int __fastcall d_sync_monster_active2(TSyncMonster * packet); void __fastcall d_SyncPlrInv(TSyncHeader * pSync); int __fastcall d_SyncData(int pnum,TSyncHeader * packet); void __fastcall d_sync_monster_data(int pnum,TSyncMonster * packet); void __cdecl d_sync_clear_pkt(); bool __fastcall d_TFit_Shrine(int i); bool __fastcall d_TFit_Obj5(int t); bool __fastcall d_TFit_SkelRoom(int t); bool __fastcall d_TFit_GoatShrine(int t); bool __fastcall d_CheckThemeObj3(int xp,int yp,int t,int f); bool __fastcall d_TFit_Obj3(int t); bool __fastcall d_CheckThemeReqs(int t); bool __fastcall d_SpecialThemeFit(int i,int t); bool __fastcall d_CheckThemeRoom(int tv); void __cdecl d_InitThemes(); void __cdecl d_HoldThemeRooms(); void __fastcall d_PlaceThemeMonsts(int t,int f); void __fastcall d_Theme_Barrel(int t); void __fastcall d_Theme_Shrine(int t); void __fastcall d_Theme_MonstPit(int t); void __fastcall d_Theme_SkelRoom(int t); void __fastcall d_Theme_Treasure(int t); void __fastcall d_Theme_Library(int t); void __fastcall d_Theme_Torture(int t); void __fastcall d_Theme_BloodFountain(int t); void __fastcall d_Theme_Decap(int t); void __fastcall d_Theme_PurifyingFountain(int t); void __fastcall d_Theme_ArmorStand(int t); void __fastcall d_Theme_GoatShrine(int t); void __fastcall d_Theme_Cauldron(int t); void __fastcall d_Theme_MurkyFountain(int t); void __fastcall d_Theme_TearFountain(int t); void __fastcall d_Theme_BrnCross(int t); void __fastcall d_Theme_WeaponRack(int t); void __cdecl d_UpdateL4Trans(); void __cdecl d_CreateThemeRooms(); int __fastcall d_tmsg_get(unsigned char * pbMsg,unsigned int dwMaxLen); void __fastcall d_tmsg_add(unsigned char * pbMsg,unsigned char bLen); void __cdecl d_tmsg_cleanup(); void __fastcall d_town_clear_upper_buf(unsigned char * a1); void __fastcall d_town_clear_low_buf(unsigned char * y_related); void __fastcall d_town_draw_clipped_e_flag(void * buffer,int x,int y,int sx,int sy); void __fastcall d_town_draw_clipped_town(void * unused,int x,int y,int sx,int sy,int some_flag); void __fastcall d_town_draw_lower(int x,int y,int sx,int sy,int a5,int some_flag); void __fastcall d_town_draw_clipped_e_flag_2(void * buffer,int x,int y,int a4,int a5,int sx,int sy); void __fastcall d_town_draw_clipped_town_2(int x,int y,int a3,int a4,int a5,int sx,int sy,int some_flag); void __fastcall d_town_draw_lower_2(int x,int y,int sx,int sy,int a5,int a6,int some_flag); void __fastcall d_town_draw_e_flag(void * buffer,int x,int y,int a4,int dir,int sx,int sy); void __fastcall d_town_draw_town_all(void * buffer,int x,int y,int a4,int dir,int sx,int sy,int some_flag); void __fastcall d_town_draw_upper(int x,int y,int sx,int sy,int a5,int a6,int some_flag); void __fastcall d_T_DrawGame(int x,int y); void __fastcall d_T_DrawZoom(int x,int y); void __fastcall d_T_DrawView(int StartX,int StartY); void __cdecl d_town_init_dpiece_defs_map(); void __fastcall d_T_FillSector(unsigned char * P3Tiles,unsigned char * pSector,int xi,int yi,int w,int h); void __fastcall d_T_FillTile(unsigned char * P3Tiles,int xx,int yy,int t); void __cdecl d_T_Pass3(); void __fastcall d_CreateTown(int entry); int __fastcall d_GetActiveTowner(int t); void __fastcall d_SetTownerGPtrs(void * pData,void ** pAnim); void __fastcall d_NewTownerAnim(int tnum,unsigned char * pAnim,int numFrames,int Delay); void __fastcall d_InitTownerInfo(int i,int w,bool sel,int t,int x,int y,int ao,int tp); void __fastcall d_InitQstSnds(int i); void __cdecl d_InitSmith(); void __cdecl d_InitBarOwner(); void __cdecl d_InitTownDead(); void __cdecl d_InitWitch(); void __cdecl d_InitBarmaid(); void __cdecl d_InitBoy(); void __cdecl d_InitHealer(); void __cdecl d_InitTeller(); void __cdecl d_InitDrunk(); void __cdecl d_InitCows(); void __cdecl d_InitTowners(); void __cdecl d_FreeTownerGFX(); void __fastcall d_TownCtrlMsg(int i); void __cdecl d_TownBlackSmith(); void __cdecl d_TownBarOwner(); void __cdecl d_TownDead(); void __cdecl d_TownHealer(); void __cdecl d_TownStory(); void __cdecl d_TownDrunk(); void __cdecl d_TownBoy(); void __cdecl d_TownWitch(); void __cdecl d_TownBarMaid(); void __cdecl d_TownCow(); void __cdecl d_ProcessTowners(); ItemStruct * __fastcall d_PlrHasItem(int pnum,int item,int * i); void __fastcall d_TownerTalk(int t); void __fastcall d_TalkToTowner(int p,int t); void __fastcall d_CowSFX(int pnum); void d_j_track_cpp_init(...); // Unknown signature void __cdecl d_track_cpp_init(); void __fastcall d_track_repeat_walk(bool rep); void __cdecl d_track_process(); bool __cdecl d_track_isscrolling(); void __cdecl d_InitNoTriggers(); void __cdecl d_InitTownTriggers(); void __cdecl d_InitL1Triggers(); void __cdecl d_InitL2Triggers(); void __cdecl d_InitL3Triggers(); void __cdecl d_InitL4Triggers(); void __cdecl d_InitSKingTriggers(); void __cdecl d_InitSChambTriggers(); void __cdecl d_InitPWaterTriggers(); void __cdecl d_InitVPTriggers(); unsigned char __cdecl d_ForceTownTrig(); unsigned char __cdecl d_ForceL1Trig(); unsigned char __cdecl d_ForceL2Trig(); unsigned char __cdecl d_ForceL3Trig(); unsigned char __cdecl d_ForceL4Trig(); void __cdecl d_Freeupstairs(); unsigned char __cdecl d_ForceSKingTrig(); unsigned char __cdecl d_ForceSChambTrig(); unsigned char __cdecl d_ForcePWaterTrig(); void __cdecl d_CheckTrigForce(); void __cdecl d_CheckTriggers(); void d_j_wave_cpp_init(...); // Unknown signature void __cdecl d_wave_cpp_init(); bool __fastcall d_WCloseFile(void * file); int __fastcall d_WGetFileSize(HANDLE hsFile,unsigned long * a2); void __fastcall d_WGetFileArchive(HANDLE hsFile,int * a2,char * dwInitParam); int __fastcall d_WOpenFile(char * dwInitParam,HANDLE * phsFile,int a3); void __fastcall d_WReadFile(HANDLE hsFile,LPVOID buf,int a3); int __fastcall d_WSetFilePointer(HANDLE file1,int offset,HANDLE file2,int whence); int __fastcall d_LoadWaveFormat(HANDLE hsFile,WAVEFORMATEX * pwfx); void * __fastcall d_AllocateMemFile(HANDLE hsFile,MEMFILE * pMemFile,unsigned int dwPos); void __fastcall d_FreeMemFile(MEMFILE * pMemFile); int __fastcall d_ReadWaveFile(MEMFILE * pMemFile,WAVEFORMATEX * pwfx,int * a3); int __fastcall d_ReadMemFile(MEMFILE * pMemFile,void * lpBuf,size_t a3); void __fastcall d_FillMemFile(MEMFILE * pMemFile); int __fastcall d_SeekMemFile(MEMFILE * pMemFile,unsigned int lDist,int dwMethod); int __fastcall d_ReadWaveSection(MEMFILE * pMemFile,int a2,int * a3); void * __fastcall d_LoadWaveFile(HANDLE hsFile,WAVEFORMATEX * pwfx,int * a3); void __fastcall d_j_engine_mem_free(void * ptr); void __fastcall d_drawTopArchesUpperScreen(unsigned char * pbDst); void __fastcall d_drawBottomArchesUpperScreen(unsigned char * pbDst,unsigned int * pMask); void __fastcall d_drawUpperScreen(unsigned char * pbDst); void __fastcall d_drawTopArchesLowerScreen(unsigned char * pbDst); void __fastcall d_drawBottomArchesLowerScreen(unsigned char * pbDst,unsigned int * pMask); void __fastcall d_drawLowerScreen(unsigned char * pbDst); void __fastcall d_world_draw_black_tile(unsigned char * pbDst); void d_strlen(...); // Unknown signature void d_sprintf(...); // Unknown signature void d_strcpy(...); // Unknown signature void d_strcat(...); // Unknown signature void d_srand(...); // Unknown signature void d_rand(...); // Unknown signature void d_strchr(...); // Unknown signature void d_time(...); // Unknown signature }