You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 lines
2.6 KiB

// 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, AF_BIGGRAY);
Doom_ParseWndProc3(hWnd, disclaim_msgtbl2, AF_MED);
}
// 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;