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

#107 fix adjmouse with borderless opengl (scrolling bug in Casino Empire)

This commit is contained in:
FunkyFr3sh 2021-07-30 13:14:12 +02:00
parent 747f49d35f
commit 2508643fe8

View File

@ -463,6 +463,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
InterlockedExchange((LONG*)&g_ddraw->cursor.y, dwHeight / 2);
BOOL border = g_ddraw->border;
BOOL nonexclusive = FALSE;
if (g_ddraw->fullscreen)
{
@ -478,7 +479,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
/* prevent OpenGL from going automatically into fullscreen exclusive mode */
if (g_ddraw->renderer == ogl_render_main)
g_ddraw->render.height++;
nonexclusive = TRUE;
}
}
@ -594,11 +595,6 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
}
}
if (g_ddraw->nonexclusive && !g_ddraw->windowed && g_ddraw->renderer == ogl_render_main)
{
g_ddraw->render.height++;
}
g_ddraw->render.viewport.width = g_ddraw->render.width;
g_ddraw->render.viewport.height = g_ddraw->render.height;
g_ddraw->render.viewport.x = 0;
@ -645,6 +641,11 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
g_ddraw->render.unscale_w = ((float)g_ddraw->width / g_ddraw->render.viewport.width);
g_ddraw->render.unscale_h = ((float)g_ddraw->height / g_ddraw->render.viewport.height);
if (nonexclusive || (g_ddraw->nonexclusive && !g_ddraw->windowed && g_ddraw->renderer == ogl_render_main))
{
g_ddraw->render.height++;
}
if (g_ddraw->windowed)
{
MSG msg; /* workaround for "Not Responding" window problem in cnc games */