1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

unlock cursor on dialog boxes in windowed mode

This commit is contained in:
FunkyFr3sh 2023-11-05 02:17:39 +01:00
parent 5d6d0915b0
commit 1443b13432
2 changed files with 38 additions and 1 deletions

View File

@ -549,7 +549,7 @@ BOOL CALLBACK util_enum_child_proc(HWND hwnd, LPARAM lparam)
char class_name[MAX_PATH] = { 0 };
GetClassNameA(hwnd, class_name, sizeof(class_name) - 1);
//TRACE_EXT(" AVIWINDOW class=%s\n", class_name);
//TRACE(" AVIWINDOW class=%s\n", class_name);
if (g_config.fixchilds == FIX_CHILDS_DETECT_HIDE ||
strcmp(class_name, "VideoRenderer") == 0 ||

View File

@ -560,6 +560,43 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN);
}
if (wParam == WA_INACTIVE)
{
if (g_config.windowed && !g_config.fullscreen && lParam && GetParent((HWND)lParam) == hWnd)
{
char class_name[MAX_PATH] = { 0 };
GetClassNameA((HWND)lParam, class_name, sizeof(class_name) - 1);
if (strcmp(class_name, "#32770") == 0) // dialog box
{
mouse_unlock();
/*
// Center to main window
RECT rc_main = { 0 };
RECT rc_dialog = { 0 };
RECT rc = { 0 };
real_GetWindowRect(hWnd, &rc_main);
real_GetWindowRect((HWND)lParam, &rc_dialog);
CopyRect(&rc, &rc_main);
OffsetRect(&rc_dialog, -rc_dialog.left, -rc_dialog.top);
OffsetRect(&rc, -rc.left, -rc.top);
OffsetRect(&rc, -rc_dialog.right, -rc_dialog.bottom);
real_SetWindowPos(
(HWND)lParam,
HWND_TOP,
rc_main.left + (rc.right / 2),
rc_main.top + (rc.bottom / 2),
0, 0,
SWP_NOSIZE);
*/
}
}
}
//if (g_ddraw->windowed || g_ddraw->noactivateapp)
if (!g_config.allow_wmactivate)