From a13cdc159e773950c3610a55019a5c6dfb0ac241 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Wed, 13 Sep 2023 21:21:18 +0200 Subject: [PATCH] always switch to borderless on failure --- src/dd.c | 42 ++++++++++-------------------------------- 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/src/dd.c b/src/dd.c index 2f22561..9ad7e68 100644 --- a/src/dd.c +++ b/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) { - /* everything failed, use windowed/borderless mode instead */ + /* everything failed, use borderless mode instead */ 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->fullscreen = TRUE; + border = FALSE; - if (g_ddraw->render.width <= g_ddraw->mode.dmPelsWidth && - g_ddraw->render.height <= g_ddraw->mode.dmPelsHeight) - { - /* 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); - } + /* prevent OpenGL from going automatically into fullscreen exclusive mode */ + if (g_ddraw->renderer == ogl_render_main) + nonexclusive = TRUE; + } } } } } } - 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 || g_ddraw->height > g_ddraw->mode.dmPelsHeight)