mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
always switch to borderless on failure
This commit is contained in:
parent
fb2b6092d7
commit
a13cdc159e
42
src/dd.c
42
src/dd.c
@ -729,48 +729,26 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
|
|||||||
|
|
||||||
if (ChangeDisplaySettings(&g_ddraw->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
if (ChangeDisplaySettings(&g_ddraw->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
||||||
{
|
{
|
||||||
/* everything failed, use windowed/borderless mode instead */
|
/* everything failed, use borderless mode instead */
|
||||||
ChangeDisplaySettings(NULL, 0);
|
ChangeDisplaySettings(NULL, 0);
|
||||||
|
|
||||||
g_ddraw->render.width = g_ddraw->width;
|
|
||||||
g_ddraw->render.height = g_ddraw->height;
|
|
||||||
|
|
||||||
g_ddraw->render.mode.dmPelsWidth = g_ddraw->render.width;
|
|
||||||
g_ddraw->render.mode.dmPelsHeight = g_ddraw->render.height;
|
|
||||||
|
|
||||||
g_ddraw->windowed = TRUE;
|
g_ddraw->windowed = TRUE;
|
||||||
|
g_ddraw->fullscreen = TRUE;
|
||||||
|
border = FALSE;
|
||||||
|
|
||||||
if (g_ddraw->render.width <= g_ddraw->mode.dmPelsWidth &&
|
/* prevent OpenGL from going automatically into fullscreen exclusive mode */
|
||||||
g_ddraw->render.height <= g_ddraw->mode.dmPelsHeight)
|
if (g_ddraw->renderer == ogl_render_main)
|
||||||
{
|
nonexclusive = TRUE;
|
||||||
/* Switch to borderless mode if window fits into screen */
|
|
||||||
g_ddraw->fullscreen = TRUE;
|
|
||||||
border = FALSE;
|
|
||||||
|
|
||||||
g_ddraw->render.width = g_ddraw->mode.dmPelsWidth;
|
|
||||||
g_ddraw->render.height = g_ddraw->mode.dmPelsHeight;
|
|
||||||
|
|
||||||
g_ddraw->render.mode.dmPelsWidth = g_ddraw->render.width;
|
|
||||||
g_ddraw->render.mode.dmPelsHeight = g_ddraw->render.height;
|
|
||||||
|
|
||||||
/* prevent OpenGL from going automatically into fullscreen exclusive mode */
|
|
||||||
if (g_ddraw->renderer == ogl_render_main)
|
|
||||||
nonexclusive = TRUE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Make window titlebar visible if window does not fit into screen */
|
|
||||||
g_config.window_rect.left = -32000;
|
|
||||||
g_config.window_rect.top =
|
|
||||||
real_GetSystemMetrics(SM_CYCAPTION) + real_GetSystemMetrics(SM_CYSIZEFRAME);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (g_ddraw->fullscreen) /* Support downscaling in borderless mode */
|
|
||||||
|
/* Support downscaling in borderless mode */
|
||||||
|
if (g_ddraw->windowed && g_ddraw->fullscreen)
|
||||||
{
|
{
|
||||||
if (g_ddraw->width > g_ddraw->mode.dmPelsWidth ||
|
if (g_ddraw->width > g_ddraw->mode.dmPelsWidth ||
|
||||||
g_ddraw->height > g_ddraw->mode.dmPelsHeight)
|
g_ddraw->height > g_ddraw->mode.dmPelsHeight)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user