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

re-enable d3d9 but only for windowed/borderless - default to opengl

This commit is contained in:
FunkyFr3sh 2021-11-08 03:18:28 +01:00
parent 87d3fb169a
commit fce6319137
2 changed files with 38 additions and 3 deletions

View File

@ -149,7 +149,18 @@ void cfg_load()
{
g_ddraw->renderer = gdi_render_main;
}
else /* opengl */
else if (tolower(tmp[0]) == 'd') /* direct3d9 */
{
g_ddraw->renderer = d3d9_render_main;
if (!g_ddraw->windowed)
{
g_ddraw->fullscreen = TRUE;
g_ddraw->windowed = TRUE;
g_config.window_rect.left = g_config.window_rect.top = -32000;
}
}
else if (tolower(tmp[0]) == 'o') /* opengl */
{
if (oglu_load_dll())
{
@ -161,6 +172,29 @@ void cfg_load()
g_ddraw->renderer = gdi_render_main;
}
}
else /* auto */
{
if (!g_ddraw->wine && d3d9_is_available())
{
g_ddraw->renderer = d3d9_render_main;
if (!g_ddraw->windowed)
{
g_ddraw->fullscreen = TRUE;
g_ddraw->windowed = TRUE;
g_config.window_rect.left = g_config.window_rect.top = -32000;
}
}
else if (oglu_load_dll())
{
g_ddraw->renderer = ogl_render_main;
}
else
{
g_ddraw->show_driver_warning = TRUE;
g_ddraw->renderer = gdi_render_main;
}
}
}
void cfg_save()
@ -252,7 +286,7 @@ static void cfg_create_ini()
"posY=-32000\n"
"\n"
"; Renderer, possible values: auto, opengl, gdi, direct3d9 (auto = try direct3d9/opengl, fallback = gdi)\n"
"renderer=auto\n"
"renderer=opengl\n"
"\n"
"; Developer mode (don't lock the cursor)\n"
"devmode=false\n"

View File

@ -587,7 +587,8 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
wParam == g_ddraw->hotkeys.toggle_fullscreen &&
!g_ddraw->fullscreen &&
context_code &&
!key_state)
!key_state &&
g_ddraw->renderer != d3d9_render_main)
{
util_toggle_fullscreen();
return 0;