mirror of
https://github.com/galaxyhaxz/devilution
synced 2025-02-22 12:34:59 +00:00
110 lines
2.5 KiB
C++
110 lines
2.5 KiB
C++
|
// ref: 0x100063B3
|
||
|
BOOL __stdcall UiBetaDisclaimer(int a1)
|
||
|
{
|
||
|
int v1; // eax
|
||
|
|
||
|
v1 = (int)SDrawGetFrameWindow(NULL);
|
||
|
SDlgDialogBoxParam(ghUiInst, "DISCLAIMER_DIALOG", v1, disclaim_WndProc, a1);
|
||
|
return 1;
|
||
|
}
|
||
|
// 10010382: using guessed type _DWORD __stdcall SDrawGetFrameWindow();
|
||
|
|
||
|
// ref: 0x100063DA
|
||
|
LRESULT __stdcall disclaim_WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||
|
{
|
||
|
HWND v5; // eax
|
||
|
|
||
|
if ( Msg > 0x111 )
|
||
|
{
|
||
|
if ( Msg != 513 && Msg != 516 )
|
||
|
{
|
||
|
if ( Msg == 528 )
|
||
|
{
|
||
|
if ( (_WORD)wParam == 513 || (_WORD)wParam == 516 )
|
||
|
disclaim_FadeFromDisclaim(hWnd);
|
||
|
}
|
||
|
else if ( Msg == 2024 )
|
||
|
{
|
||
|
if ( !Fade_CheckRange5() )
|
||
|
Fade_SetFadeTimer((int)hWnd);
|
||
|
return 0;
|
||
|
}
|
||
|
return (LRESULT)SDlgDefDialogProc(hWnd, Msg, (HDC)wParam, (HWND)lParam);
|
||
|
}
|
||
|
}
|
||
|
else if ( Msg != 273 )
|
||
|
{
|
||
|
if ( Msg != 2 )
|
||
|
{
|
||
|
if ( Msg != 256 )
|
||
|
{
|
||
|
if ( Msg > 0x103 )
|
||
|
{
|
||
|
if ( Msg <= 0x105 )
|
||
|
{
|
||
|
v5 = (HWND)SDrawGetFrameWindow(NULL);
|
||
|
SendMessageA(v5, Msg, wParam, lParam);
|
||
|
}
|
||
|
else if ( Msg == 272 )
|
||
|
{
|
||
|
disclaim_LoadDisclaimGFX(hWnd);
|
||
|
PostMessageA(hWnd, 0x7E8u, 0, 0);
|
||
|
return 1;
|
||
|
}
|
||
|
}
|
||
|
return (LRESULT)SDlgDefDialogProc(hWnd, Msg, (HDC)wParam, (HWND)lParam);
|
||
|
}
|
||
|
goto LABEL_21;
|
||
|
}
|
||
|
disclaim_DelDisclaimProcs(hWnd);
|
||
|
return (LRESULT)SDlgDefDialogProc(hWnd, Msg, (HDC)wParam, (HWND)lParam);
|
||
|
}
|
||
|
LABEL_21:
|
||
|
disclaim_FadeFromDisclaim(hWnd);
|
||
|
return 0;
|
||
|
}
|
||
|
// 10010382: using guessed type _DWORD __stdcall SDrawGetFrameWindow();
|
||
|
|
||
|
// ref: 0x100064C9
|
||
|
void __fastcall disclaim_DelDisclaimProcs(HWND hWnd)
|
||
|
{
|
||
|
void **v2; // eax
|
||
|
|
||
|
Doom_DeleteFreeProcs(hWnd, disclaim_msgtbl2);
|
||
|
Doom_DeleteFreeProcs(hWnd, disclaim_msgtbl1);
|
||
|
v2 = (void **)GetWindowLongA(hWnd, -21);
|
||
|
local_FreeMemPtr(v2);
|
||
|
}
|
||
|
|
||
|
// ref: 0x100064F3
|
||
|
void __fastcall disclaim_LoadDisclaimGFX(HWND hWnd)
|
||
|
{
|
||
|
DWORD *v2; // eax MAPDST
|
||
|
|
||
|
v2 = local_AllocWndLongData();
|
||
|
if ( v2 )
|
||
|
{
|
||
|
SetWindowLongA(hWnd, -21, (LONG)v2);
|
||
|
local_LoadArtWithPal(hWnd, 0, &nullcharacter, -1, 1, "ui_art\\disclaim.pcx", (BYTE **)v2, v2 + 1, 0);
|
||
|
Fade_NoInputAndArt(hWnd, 0);
|
||
|
}
|
||
|
Doom_ParseWndProc3(hWnd, disclaim_msgtbl1, 5);
|
||
|
Doom_ParseWndProc3(hWnd, disclaim_msgtbl2, 2);
|
||
|
}
|
||
|
|
||
|
// ref: 0x10006552
|
||
|
void __fastcall disclaim_FadeFromDisclaim(HWND hWnd)
|
||
|
{
|
||
|
Fade_Range5SetZero();
|
||
|
Fade_UpdatePaletteRange(10);
|
||
|
SDlgEndDialog(hWnd, (void *)HANDLE_FLAG_INHERIT);
|
||
|
}
|
||
|
|
||
|
// ref: 0x10006571
|
||
|
void __cdecl disclaim_cpp_init()
|
||
|
{
|
||
|
disclaim_cpp_float = disclaim_cpp_float_value;
|
||
|
}
|
||
|
// 1001F418: using guessed type int disclaim_cpp_float_value;
|
||
|
// 10029850: using guessed type int disclaim_cpp_float;
|