mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-16 13:01:16 +00:00
fix WM_DISPLAYCHANGE branching
This commit is contained in:
parent
e1044a2f95
commit
1cfb66527e
@ -144,7 +144,7 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||||||
NotificationId type;
|
NotificationId type;
|
||||||
unsigned char keyCode = 0;
|
unsigned char keyCode = 0;
|
||||||
|
|
||||||
MINMAXINFO *mmi = (MINMAXINFO *) lParam;
|
MINMAXINFO *mmi = (MINMAXINFO*) lParam;
|
||||||
|
|
||||||
if (!g_isle) {
|
if (!g_isle) {
|
||||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||||
@ -176,14 +176,11 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||||||
}
|
}
|
||||||
return DefWindowProcA(hWnd,uMsg,wParam,lParam);
|
return DefWindowProcA(hWnd,uMsg,wParam,lParam);
|
||||||
case WM_GETMINMAXINFO:
|
case WM_GETMINMAXINFO:
|
||||||
{
|
|
||||||
mmi->ptMaxTrackSize.x = (g_windowRect.right - g_windowRect.left) + 1;
|
mmi->ptMaxTrackSize.x = (g_windowRect.right - g_windowRect.left) + 1;
|
||||||
mmi->ptMaxTrackSize.y = (g_windowRect.bottom - g_windowRect.top) + 1;
|
mmi->ptMaxTrackSize.y = (g_windowRect.bottom - g_windowRect.top) + 1;
|
||||||
mmi->ptMinTrackSize.x = (g_windowRect.right - g_windowRect.left) + 1;
|
mmi->ptMinTrackSize.x = (g_windowRect.right - g_windowRect.left) + 1;
|
||||||
mmi->ptMinTrackSize.y = (g_windowRect.bottom - g_windowRect.top) + 1;
|
mmi->ptMinTrackSize.y = (g_windowRect.bottom - g_windowRect.top) + 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
|
||||||
case WM_ENTERMENULOOP:
|
case WM_ENTERMENULOOP:
|
||||||
return DefWindowProcA(hWnd,uMsg,wParam,lParam);
|
return DefWindowProcA(hWnd,uMsg,wParam,lParam);
|
||||||
case WM_SYSCOMMAND:
|
case WM_SYSCOMMAND:
|
||||||
@ -217,24 +214,30 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||||
case WM_DISPLAYCHANGE:
|
case WM_DISPLAYCHANGE:
|
||||||
if (g_isle && VideoManager() && g_isle->m_fullScreen && VideoManager()->m_unk74 && VideoManager()->m_unk74[0x220]) {
|
if (g_isle && VideoManager() && g_isle->m_fullScreen && VideoManager()->m_unk74 && VideoManager()->m_unk74[0x220]) {
|
||||||
if (!g_waitingForTargetDepth) {
|
int targetWidth = LOWORD(lParam);
|
||||||
unsigned char valid = FALSE;
|
int targetHeight = HIWORD(lParam);
|
||||||
if (LOWORD(lParam) == g_targetWidth && HIWORD(lParam) == g_targetHeight && g_targetDepth == wParam) {
|
|
||||||
valid = TRUE;
|
if (g_waitingForTargetDepth) {
|
||||||
}
|
|
||||||
if (!g_rmDisabled) {
|
|
||||||
if (!valid) {
|
|
||||||
g_rmDisabled = 1;
|
|
||||||
Lego()->vtable38();
|
|
||||||
VideoManager()->DisableRMDevice();
|
|
||||||
}
|
|
||||||
} else if (valid) {
|
|
||||||
g_reqEnableRMDevice = 1;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
g_waitingForTargetDepth = 0;
|
g_waitingForTargetDepth = 0;
|
||||||
g_targetDepth = wParam;
|
g_targetDepth = wParam;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
unsigned char valid = FALSE;
|
||||||
|
if (targetWidth == g_targetWidth && targetHeight == g_targetHeight && g_targetDepth == wParam) {
|
||||||
|
valid = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_rmDisabled) {
|
||||||
|
if (valid) {
|
||||||
|
g_reqEnableRMDevice = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (!valid) {
|
||||||
|
g_rmDisabled = 1;
|
||||||
|
Lego()->vtable38();
|
||||||
|
VideoManager()->DisableRMDevice();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
return DefWindowProcA(hWnd, uMsg, wParam, lParam);
|
||||||
case WM_SETCURSOR:
|
case WM_SETCURSOR:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user