1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-26 02:19:24 +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; 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()) if (oglu_load_dll())
{ {
@ -161,6 +172,29 @@ void cfg_load()
g_ddraw->renderer = gdi_render_main; 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() void cfg_save()
@ -252,7 +286,7 @@ static void cfg_create_ini()
"posY=-32000\n" "posY=-32000\n"
"\n" "\n"
"; Renderer, possible values: auto, opengl, gdi, direct3d9 (auto = try direct3d9/opengl, fallback = gdi)\n" "; Renderer, possible values: auto, opengl, gdi, direct3d9 (auto = try direct3d9/opengl, fallback = gdi)\n"
"renderer=auto\n" "renderer=opengl\n"
"\n" "\n"
"; Developer mode (don't lock the cursor)\n" "; Developer mode (don't lock the cursor)\n"
"devmode=false\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 && wParam == g_ddraw->hotkeys.toggle_fullscreen &&
!g_ddraw->fullscreen && !g_ddraw->fullscreen &&
context_code && context_code &&
!key_state) !key_state &&
g_ddraw->renderer != d3d9_render_main)
{ {
util_toggle_fullscreen(); util_toggle_fullscreen();
return 0; return 0;