diff --git a/3rdParty/Storm/Source/storm.cpp b/3rdParty/Storm/Source/storm.cpp index cfb7c17e5..37c37c10d 100644 --- a/3rdParty/Storm/Source/storm.cpp +++ b/3rdParty/Storm/Source/storm.cpp @@ -247,3 +247,4 @@ BOOL __stdcall SDlgSetTimer(int a1, int a2, int a3, void (__stdcall *a4)(int, in BOOL __stdcall SDlgKillTimer(int a1, int a2) rBool; BOOL __stdcall SDlgDrawBitmap(HWND hWnd, int a2, int a3, int a4, int a5, int a6, int a7) rBool; BOOL __stdcall SDlgDialogBoxParam(HINSTANCE hInst, char *szDialog, int a3, WNDPROC func, int a5) rBool; +BOOL __stdcall SGdiTextOut(void *pBuffer, int x, int y, int mask, char *str, int len) rBool; diff --git a/3rdParty/Storm/Source/storm.def b/3rdParty/Storm/Source/storm.def index da801e1e6..7e496a979 100644 --- a/3rdParty/Storm/Source/storm.def +++ b/3rdParty/Storm/Source/storm.def @@ -187,7 +187,7 @@ EXPORTS ;SGdiRectangle @388 NONAME SGdiSelectObject @389 NONAME SGdiSetPitch @390 NONAME - ;SGdiTextOut @391 NONAME + SGdiTextOut @391 NONAME ;SGdi392 @392 NONAME Ordinal393 @393 NONAME diff --git a/3rdParty/Storm/Source/storm.h b/3rdParty/Storm/Source/storm.h index b2fc9a868..d0f384fa8 100644 --- a/3rdParty/Storm/Source/storm.h +++ b/3rdParty/Storm/Source/storm.h @@ -1310,6 +1310,7 @@ BOOL __stdcall SDlgSetTimer(int a1, int a2, int a3, void (__stdcall *a4)(int, in BOOL __stdcall SDlgKillTimer(int a1, int a2); BOOL __stdcall SDlgDrawBitmap(HWND hWnd, int a2, int a3, int a4, int a5, int a6, int a7); BOOL __stdcall SDlgDialogBoxParam(HINSTANCE hInst, char *szDialog, int a3, WNDPROC func, int a5); +BOOL __stdcall SGdiTextOut(void *pBuffer, int x, int y, int mask, char *str, int len); #ifdef __GNUC__ } diff --git a/3rdParty/Storm/Source/storm_gcc.def b/3rdParty/Storm/Source/storm_gcc.def index 2df6ba6e4..89c30ed4f 100644 --- a/3rdParty/Storm/Source/storm_gcc.def +++ b/3rdParty/Storm/Source/storm_gcc.def @@ -235,7 +235,8 @@ EXPORTS ;SGdiRectangle @388 NONAME SGdiSelectObject @389 NONAME SGdiSetPitch @390 NONAME - ;SGdiTextOut @391 NONAME + SGdiTextOut @391 NONAME + SGdiTextOut@24 @391 NONAME ;SGdi392 @392 NONAME Ordinal393 @393 NONAME diff --git a/DiabloUI/_temp_data.cpp b/DiabloUI/_temp_data.cpp index 812604a66..79867a0d1 100644 --- a/DiabloUI/_temp_data.cpp +++ b/DiabloUI/_temp_data.cpp @@ -8,6 +8,7 @@ ProfileStruct bnprofiles[4] = }; int profilemsg1[6] = { 1125, 1127, 1129, 1131, 1133, 0 }; int profilemsg2[6] = { 1126, 1128, 1130, 1132, 1134, 0 }; +int credits_cpp_float_value = 2139095040; // weak int DiabEdit_cpp_float_value = 2139095040; // weak int DiabloUI_cpp_float_value = 2139095040; // weak int doom_cpp_float_value = 2139095040; // weak @@ -185,18 +186,18 @@ int dword_100296D4; // weak int dword_100296D8; // weak int dword_100296DC; // weak int dword_100296E0; // weak -int dword_100296E8; // weak -int dword_100296EC; // weak -HGLOBAL dword_100296F0; // idb -int dword_100296F4; // weak -int dword_100296F8; // weak -int dword_100296FC; // weak -int dword_10029700; // weak -void *dword_10029704; // idb -int dword_10029708; // weak +int credittext_size; // weak +int credits_cpp_float; // weak +HGLOBAL credittext_rsrc; // idb +int credit_vertical_pos2; // idb +int credit_horz_pos; // idb +int credit_vertical_pos1; // weak +int credit_line_count; // weak +void *credit_back_img; // idb +HANDLE creditsobj; // idb int DiabEdit_cpp_float; // weak int DiabloUI_cpp_float; // weak -int dword_10029714; // weak +int sgbUiIsInitialized; // weak HINSTANCE ghUiInst; // idb int backbmp_flag1; // weak int backbmp_flag2; // weak diff --git a/DiabloUI/_temp_funcs.h b/DiabloUI/_temp_funcs.h index 2f559a4c3..dfe2df914 100644 --- a/DiabloUI/_temp_funcs.h +++ b/DiabloUI/_temp_funcs.h @@ -132,15 +132,16 @@ int __fastcall CreaDung_100051D8(int a1, int a2, int a3, int a4, int a5, int a6, signed int CreaStat_10005287(); -signed int credits_10005297(); -//signed int __stdcall UiCreditsDialog(int a1); -int __fastcall credits_100052C7(int a1, int a2, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); -HGLOBAL __fastcall credits_100053D9(HWND hWnd, int a2); -int __fastcall credits_1000543A(HWND a1, int a2); -BOOL UNKCALL credits_100055C0(HWND hWnd); -signed int UNKCALL credits_10005660(void *arg); -signed int __fastcall credits_10005736(_BYTE *a1); -int __fastcall credits_10005755(int a1, int a2); +void __cdecl j_credits_cpp_init(); +void __cdecl credits_cpp_init(); +BOOL __stdcall UiCreditsDialog(int a1); +LRESULT __stdcall credits_WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); +void __fastcall credits_FreeCreditResrc(HWND hWnd); +void __fastcall credits_LoadImgCreditTxt(HWND hWnd, LPARAM lParam); +void __fastcall credits_CalcPosROP3(HWND hWnd); +void __fastcall credits_PrintCredLines(HWND hWnd); +int __fastcall credits_GetCredLineBreak(char *str); +char *__fastcall credits_GetAdjustText(char *str, int len); void __fastcall DiabEdit_DoPaintBMP(HWND hWnd); diff --git a/DiabloUI/credits.cpp b/DiabloUI/credits.cpp index ba4b55501..5ffdabcba 100644 --- a/DiabloUI/credits.cpp +++ b/DiabloUI/credits.cpp @@ -1,38 +1,33 @@ // ref: 0x10005297 -signed int credits_10005297() { return 0; } -/* { - signed int result; // eax - - result = 2139095040; - dword_100296EC = 2139095040; - return result; -} */ -// 100296EC: using guessed type int dword_100296EC; +void __cdecl credits_cpp_init() +{ + credits_cpp_float = credits_cpp_float_value; +} +// 1001F408: using guessed type int credits_cpp_float_value; +// 100296EC: using guessed type int credits_cpp_float; // ref: 0x100052A2 -void __stdcall UiCreditsDialog(int a1) { return; } -/* { +BOOL __stdcall UiCreditsDialog(int a1) +{ int v1; // eax - v1 = SDrawGetFrameWindow(); - SDlgDialogBoxParam(hInstance, "CREDITS_DIALOG", v1, credits_100052C7, 25); + v1 = (int)SDrawGetFrameWindow(); + SDlgDialogBoxParam(ghUiInst, "CREDITS_DIALOG", v1, credits_WndProc, 25); return 1; -} */ -// 10010370: using guessed type int __stdcall SDlgDialogBoxParam(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD); +} // 10010382: using guessed type _DWORD __stdcall SDrawGetFrameWindow(); // ref: 0x100052C7 -int __fastcall credits_100052C7(int a1, int a2, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { return 0; } -/* { - HWND v7; // eax - int v8; // [esp+0h] [ebp-Ch] +LRESULT __stdcall credits_WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) +{ + HWND v5; // eax if ( Msg > 0x111 ) { if ( Msg == 275 ) { - credits_100055C0(hWnd); - return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); + credits_CalcPosROP3(hWnd); + return (LRESULT)SDlgDefDialogProc(hWnd, Msg, (HDC)wParam, (HWND)lParam); } if ( Msg == 513 || Msg == 516 ) goto LABEL_12; @@ -40,17 +35,17 @@ int __fastcall credits_100052C7(int a1, int a2, HWND hWnd, UINT Msg, WPARAM wPar { if ( Msg == 2024 ) { - if ( !Fade_1000739F() ) - Fade_100073FD(hWnd, v8); + if ( !Fade_CheckRange5() ) + Fade_SetFadeTimer((int)hWnd); return 0; } - return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); + return (LRESULT)SDlgDefDialogProc(hWnd, Msg, (HDC)wParam, (HWND)lParam); } if ( (_WORD)wParam != 513 && (_WORD)wParam != 516 ) - return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); + return (LRESULT)SDlgDefDialogProc(hWnd, Msg, (HDC)wParam, (HWND)lParam); LABEL_25: - Title_100102D7(hWnd); - return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); + Title_KillAndFadeDlg(hWnd); + return (LRESULT)SDlgDefDialogProc(hWnd, Msg, (HDC)wParam, (HWND)lParam); } if ( Msg == 273 ) goto LABEL_25; @@ -64,238 +59,196 @@ LABEL_25: { if ( Msg <= 0x105 ) { - v7 = (HWND)SDrawGetFrameWindow(); - SendMessageA(v7, Msg, wParam, lParam); + v5 = (HWND)SDrawGetFrameWindow(); + SendMessageA(v5, Msg, wParam, lParam); } else if ( Msg == 272 ) { - credits_1000543A(hWnd, lParam); + credits_LoadImgCreditTxt(hWnd, lParam); PostMessageA(hWnd, 0x7E8u, 0, 0); return 1; } } - return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); + return (LRESULT)SDlgDefDialogProc(hWnd, Msg, (HDC)wParam, (HWND)lParam); } if ( wParam != 32 ) return 0; LABEL_12: - Title_100102D7(hWnd); + Title_KillAndFadeDlg(hWnd); return 0; } - credits_100053D9(hWnd, a2); - return SDlgDefDialogProc(hWnd, Msg, wParam, lParam); -} */ -// 1001037C: using guessed type int __stdcall SDlgDefDialogProc(_DWORD, _DWORD, _DWORD, _DWORD); + credits_FreeCreditResrc(hWnd); + return (LRESULT)SDlgDefDialogProc(hWnd, Msg, (HDC)wParam, (HWND)lParam); +} // 10010382: using guessed type _DWORD __stdcall SDrawGetFrameWindow(); // ref: 0x100053D9 -HGLOBAL __fastcall credits_100053D9(HWND hWnd, int a2) { return 0; } -/* { - HWND v2; // edi - _DWORD *v3; // eax - HGLOBAL result; // eax +void __fastcall credits_FreeCreditResrc(HWND hWnd) +{ + void **v2; // eax - v2 = hWnd; - if ( dword_10029708 ) + if ( creditsobj ) { - SGdiDeleteObject(hWnd, a2, dword_10029708); - dword_10029708 = 0; + SGdiDeleteObject(creditsobj); + creditsobj = 0; } - if ( dword_10029704 ) + if ( credit_back_img ) { - SMemFree(dword_10029704, "C:\\Src\\Diablo\\DiabloUI\\credits.cpp", 46, 0); - dword_10029704 = 0; + SMemFree(credit_back_img, "C:\\Src\\Diablo\\DiabloUI\\credits.cpp", 46, 0); + credit_back_img = 0; } - v3 = (_DWORD *)GetWindowLongA(v2, -21); - local_10007F72(v3); - result = dword_100296F0; - if ( dword_100296F0 ) + v2 = (void **)GetWindowLongA(hWnd, -21); + local_FreeMemPtr(v2); + if ( credittext_rsrc ) { - result = (HGLOBAL)FreeResource(dword_100296F0); - dword_100296F0 = 0; + FreeResource(credittext_rsrc); + credittext_rsrc = 0; } - return result; -} */ -// 10010340: using guessed type int __stdcall SMemFree(_DWORD, _DWORD, _DWORD, _DWORD); -// 1001038E: using guessed type int __fastcall SGdiDeleteObject(_DWORD, _DWORD, _DWORD); -// 10029704: using guessed type int dword_10029704; -// 10029708: using guessed type int dword_10029708; +} // ref: 0x1000543A -int __fastcall credits_1000543A(HWND a1, int a2) { return 0; } -/* { - int v2; // eax +void __fastcall credits_LoadImgCreditTxt(HWND hWnd, LPARAM lParam) +{ + signed int v2; // eax HRSRC v3; // eax HRSRC v4; // eax - int v5; // eax - int *v6; // esi + DWORD *v5; // eax + DWORD *v6; // esi int v7; // ebx int v8; // esi - HFONT v9; // eax - HFONT v10; // esi - int v11; // ebx - int result; // eax + HFONT v9; // eax MAPDST + BOOL v11; // ebx struct tagRECT Rect; // [esp+Ch] [ebp-18h] - HWND v14; // [esp+1Ch] [ebp-8h] - HWND hWnd; // [esp+20h] [ebp-4h] + HWND v13; // [esp+1Ch] [ebp-8h] - hWnd = a1; - if ( a2 ) - v2 = 1000 / a2; + if ( lParam ) + v2 = 1000 / lParam; else v2 = 50; - SDlgSetTimer(a1, 1, v2, 0); - v3 = FindResourceA(hInstance, "IDR_CREDITS", "TEXT_FILES"); - dword_100296F0 = LoadResource(hInstance, v3); - v4 = FindResourceA(hInstance, "IDR_CREDITS", "TEXT_FILES"); - dword_100296E8 = SizeofResource(hInstance, v4); - v5 = local_10007F46(); - v6 = (int *)v5; + SDlgSetTimer((int)hWnd, 1, v2, 0); + v3 = FindResourceA(ghUiInst, "IDR_CREDITS", "TEXT_FILES"); + credittext_rsrc = LoadResource(ghUiInst, v3); + v4 = FindResourceA(ghUiInst, "IDR_CREDITS", "TEXT_FILES"); + credittext_size = SizeofResource(ghUiInst, v4); + v5 = local_AllocWndLongData(); + v6 = v5; if ( v5 ) { - SetWindowLongA(hWnd, -21, v5); - local_10007944((int)hWnd, 0, &byte_10029448, -1, 1, (int)"ui_art\\credits.pcx", v6, v6 + 1, 0); - Fade_100073C5(hWnd, 0); + SetWindowLongA(hWnd, -21, (LONG)v5); + local_LoadArtWithPal(hWnd, 0, &nullcharacter, -1, 1, "ui_art\\credits.pcx", (BYTE **)v6, v6 + 1, 0); + Fade_NoInputAndArt(hWnd, 0); } - v14 = GetDlgItem(hWnd, 1000); - GetWindowRect(v14, &Rect); + v13 = GetDlgItem(hWnd, 1000); + GetWindowRect(v13, &Rect); v7 = Rect.right - Rect.left; v8 = Rect.bottom - Rect.top + 60; - dword_10029704 = SMemAlloc((Rect.right - Rect.left) * v8, "C:\\Src\\Diablo\\DiabloUI\\credits.cpp", 122, 0); - dword_100296F8 = v7; - dword_100296FC = v8; - local_10007A68(&Rect, 0, 30); - SDlgSetBitmapI(v14, 0, 0, -1, 1, dword_10029704, &Rect, v7, v8, -1); - dword_100296F4 = v8 - 30; - credits_100055C0(hWnd); + credit_back_img = SMemAlloc((Rect.right - Rect.left) * v8, "C:\\Src\\Diablo\\DiabloUI\\credits.cpp", 122, 0); + credit_horz_pos = v7; + credit_vertical_pos1 = v8; + local_AdjustRectSize(&Rect, 0, 30); + SDlgSetBitmapI(v13, 0, 0, -1, 1, credit_back_img, (int)&Rect, v7, v8, -1); + credit_vertical_pos2 = v8 - 30; + credits_CalcPosROP3(hWnd); v9 = CreateFontA(-17, 0, 0, 0, 700, 0, 0, 0, 0, 0, 0, 0, 0x12u, "Times New Roman"); - v10 = v9; - if ( !v9 || (v11 = SGdiImportFont(v9, &dword_10029708), result = DeleteObject(v10), !v11) ) - result = Title_100102D7(hWnd); - return result; -} */ -// 10010364: using guessed type int __stdcall SMemAlloc(_DWORD, _DWORD, _DWORD, _DWORD); -// 100103B2: using guessed type int __stdcall SGdiImportFont(_DWORD, _DWORD); -// 10010400: using guessed type int __stdcall SDlgSetBitmapI(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD); -// 10010412: using guessed type int __stdcall SDlgSetTimer(_DWORD, _DWORD, _DWORD, _DWORD); -// 100296E8: using guessed type int dword_100296E8; -// 100296F4: using guessed type int dword_100296F4; -// 100296F8: using guessed type int dword_100296F8; -// 100296FC: using guessed type int dword_100296FC; -// 10029704: using guessed type int dword_10029704; -// 10029708: using guessed type int dword_10029708; + if ( !v9 || (v11 = SGdiImportFont(v9, (int)&creditsobj), DeleteObject(v9), !v11) ) + Title_KillAndFadeDlg(hWnd); +} +// 100296E8: using guessed type int credittext_size; +// 100296FC: using guessed type int credit_vertical_pos1; // ref: 0x100055C0 -BOOL UNKCALL credits_100055C0(HWND hWnd) { return 0; } -/* { - HWND v1; // ebx +void __fastcall credits_CalcPosROP3(HWND hWnd) +{ _DWORD *v2; // edi struct tagRECT Rect; // [esp+Ch] [ebp-14h] HWND hWnda; // [esp+1Ch] [ebp-4h] - v1 = hWnd; hWnda = GetDlgItem(hWnd, 1000); - v2 = (_DWORD *)GetWindowLongA(v1, -21); + v2 = (_DWORD *)GetWindowLongA(hWnd, -21); GetWindowRect(hWnda, &Rect); - ScreenToClient(v1, (LPPOINT)&Rect); - ScreenToClient(v1, (LPPOINT)&Rect.right); + ScreenToClient(hWnd, (LPPOINT)&Rect); + ScreenToClient(hWnd, (LPPOINT)&Rect.right); SBltROP3( - dword_10029704 + 30 * dword_100296F8, - Rect.left + *v2 + Rect.top * v2[1], - dword_100296F8, + (char *)credit_back_img + 30 * credit_horz_pos, + (void *)(Rect.left + *v2 + Rect.top * v2[1]), + credit_horz_pos, Rect.bottom - Rect.top, - dword_100296F8, + credit_horz_pos, v2[1], 0, - 13369376); - --dword_100296F4; - credits_10005660(v1); + 0xCC0020u); + --credit_vertical_pos2; + credits_PrintCredLines(hWnd); InvalidateRect(hWnda, 0, 0); - return UpdateWindow(hWnda); -} */ -// 100103F4: using guessed type int __stdcall SBltROP3(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD); -// 100296F4: using guessed type int dword_100296F4; -// 100296F8: using guessed type int dword_100296F8; -// 10029704: using guessed type int dword_10029704; + UpdateWindow(hWnda); +} // ref: 0x10005660 -signed int UNKCALL credits_10005660(void *arg) { return 0; } -/* { - _BYTE *v1; // esi - signed int result; // eax +void __fastcall credits_PrintCredLines(HWND hWnd) +{ + char *v1; // esi int i; // edi - int v4; // ebp - int v5; // ebx - void *v6; // [esp+38h] [ebp-4h] - - v6 = arg; - v1 = LockResource(dword_100296F0); - dword_10029700 = dword_100296E8; - SGdiSelectObject(dword_10029708); - result = SGdiSetPitch(dword_100296F8); - for ( i = dword_100296F4; dword_10029700 > 0; v1 = (_BYTE *)result ) + int v3; // ebp + int v4; // ebx + + v1 = (char *)LockResource(credittext_rsrc); + credit_line_count = credittext_size; + SGdiSelectObject((int)creditsobj); + SGdiSetPitch(credit_horz_pos); + for ( i = credit_vertical_pos2; credit_line_count > 0; v1 = credits_GetAdjustText(v1, v4) ) { - v4 = 0; + v3 = 0; while ( *v1 == 9 ) { - v4 += 40; + v3 += 40; ++v1; - --dword_10029700; + --credit_line_count; } - result = credits_10005736(v1); - v5 = result; - if ( result == -1 ) + v4 = credits_GetCredLineBreak(v1); + if ( v4 == -1 ) break; if ( i >= 0 ) { - result = dword_100296FC - 30; - if ( i > dword_100296FC - 30 ) + if ( i > credit_vertical_pos1 - 30 ) break; - if ( v5 ) + if ( v4 ) { - SGdiTextOut(dword_10029704, v4 + 2, i + 2, 0x1000000, v1, v5); - SGdiTextOut(dword_10029704, v4, i, 16777440, v1, v5); + SGdiTextOut(credit_back_img, v3 + 2, i + 2, 0x1000000, v1, v4); + SGdiTextOut(credit_back_img, v3, i, 16777440, v1, v4); } } i += 22; - result = credits_10005755((int)v1, v5); } if ( i < 0 ) - result = Title_100102D7(v6); - return result; -} */ + Title_KillAndFadeDlg(hWnd); +} // 100103A6: using guessed type int __stdcall SGdiSetPitch(_DWORD); // 100103AC: using guessed type int __stdcall SGdiSelectObject(_DWORD); -// 10010424: using guessed type int __stdcall SGdiTextOut(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD); -// 100296E8: using guessed type int dword_100296E8; -// 100296F4: using guessed type int dword_100296F4; -// 100296F8: using guessed type int dword_100296F8; -// 100296FC: using guessed type int dword_100296FC; -// 10029700: using guessed type int dword_10029700; -// 10029704: using guessed type int dword_10029704; -// 10029708: using guessed type int dword_10029708; +// 100296E8: using guessed type int credittext_size; +// 100296FC: using guessed type int credit_vertical_pos1; +// 10029700: using guessed type int credit_line_count; // ref: 0x10005736 -signed int __fastcall credits_10005736(_BYTE *a1) { return 0; } -/* { - signed int result; // eax +int __fastcall credits_GetCredLineBreak(char *str) +{ + int result; // eax result = 0; - while ( *a1 != 13 && *a1 != 10 ) + while ( *str != 13 && *str != 10 ) { ++result; - ++a1; - if ( result > dword_10029700 ) + ++str; + if ( result > credit_line_count ) return -1; } return result; -} */ -// 10029700: using guessed type int dword_10029700; +} +// 10029700: using guessed type int credit_line_count; // ref: 0x10005755 -int __fastcall credits_10005755(int a1, int a2) { return 0; } -/* { - dword_10029700 += -2 - a2; - return a1 + a2 + 2; -} */ -// 10029700: using guessed type int dword_10029700; +char *__fastcall credits_GetAdjustText(char *str, int len) +{ + credit_line_count += -2 - len; + return &str[len + 2]; +} +// 10029700: using guessed type int credit_line_count; diff --git a/DiabloUI/diabloui.cpp b/DiabloUI/diabloui.cpp index 7b8ebd6dc..9c7323331 100644 --- a/DiabloUI/diabloui.cpp +++ b/DiabloUI/diabloui.cpp @@ -100,14 +100,14 @@ void __stdcall UiSetSpawned(BOOL bSpawned) // ref: 0x10005C73 void __cdecl UiInitialize() { - dword_10029714 = 1; + sgbUiIsInitialized = 1; TitleSnd_InitSoundFunc(); artfont_InitAllFonts(); Connect_10002EC4(); local_LoadArtCursor(); bn_prof_100021C4(); } -// 10029714: using guessed type int dword_10029714; +// 10029714: using guessed type int sgbUiIsInitialized; // ref: 0x10005C96 void __cdecl UiDestroy() @@ -115,9 +115,9 @@ void __cdecl UiDestroy() bn_prof_10002247(); local_FreeArtCursor(); Connect_10002E2B(); - dword_10029714 = 0; + sgbUiIsInitialized = 0; } -// 10029714: using guessed type int dword_10029714; +// 10029714: using guessed type int sgbUiIsInitialized; // ref: 0x10005CAD void __stdcall UiAppActivate(BOOL bActive) diff --git a/DiabloUI/diabloui.h b/DiabloUI/diabloui.h index 85b35e862..c950941ad 100644 --- a/DiabloUI/diabloui.h +++ b/DiabloUI/diabloui.h @@ -36,7 +36,7 @@ void __stdcall UiAppActivate(BOOL bActive); int __stdcall UiValidPlayerName(char *a1); int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); -void __stdcall UiCreditsDialog(int a1); +BOOL __stdcall UiCreditsDialog(int a1); BOOL __stdcall UiMainMenuDialog(char *name, int *pdwResult, void (__stdcall *fnSound)(char *file), int a4); int __stdcall UiProgressDialog(HWND window, char *msg, int a3, void *fnfunc, int a5); int __cdecl UiProfileGetString();