#81 use different workaround for D2 alt-key-stuck bug
This commit is contained in:
parent
2561147a4a
commit
7f9a6b5925
2 changed files with 18 additions and 4 deletions
1
inc/dd.h
1
inc/dd.h
|
@ -107,6 +107,7 @@ typedef struct cnc_ddraw
|
||||||
BOOL fixchildwindows;
|
BOOL fixchildwindows;
|
||||||
BOOL d3d9linear;
|
BOOL d3d9linear;
|
||||||
int maxgameticks;
|
int maxgameticks;
|
||||||
|
BOOL alt_key_down;
|
||||||
BOOL bnet_active;
|
BOOL bnet_active;
|
||||||
BOOL bnet_was_fullscreen;
|
BOOL bnet_was_fullscreen;
|
||||||
BOOL bnet_was_upscaled;
|
BOOL bnet_was_upscaled;
|
||||||
|
|
|
@ -501,11 +501,10 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_ddraw->noactivateapp)
|
if (wParam && g_ddraw->alt_key_down)
|
||||||
return 0;
|
PostMessageA(g_ddraw->hwnd, WM_SYSKEYUP, VK_MENU, 0);
|
||||||
|
|
||||||
if (g_ddraw->windowed && !wParam)
|
return 0;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case WM_AUTORENDERER:
|
case WM_AUTORENDERER:
|
||||||
|
@ -536,6 +535,20 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (wParam == VK_MENU)
|
||||||
|
{
|
||||||
|
g_ddraw->alt_key_down = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case WM_SYSKEYUP:
|
||||||
|
{
|
||||||
|
if (wParam == VK_MENU)
|
||||||
|
{
|
||||||
|
g_ddraw->alt_key_down = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case WM_KEYDOWN:
|
case WM_KEYDOWN:
|
||||||
|
|
Loading…
Reference in a new issue