1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-24 17:49:52 +01:00

add option to change d3d9 adapter

This commit is contained in:
FunkyFr3sh 2022-09-24 01:12:53 +02:00
parent f912b23877
commit d54011973f
3 changed files with 5 additions and 2 deletions

View File

@ -138,6 +138,7 @@ typedef struct CNCDDRAW
BOOL novidmem; BOOL novidmem;
BOOL fpupreserve; BOOL fpupreserve;
BOOL allow_wmactivate; BOOL allow_wmactivate;
int d3d9_adapter;
BOOL accurate_timers; BOOL accurate_timers;
BOOL resizable; BOOL resizable;
BOOL nonexclusive; BOOL nonexclusive;

View File

@ -50,6 +50,7 @@ void cfg_load()
g_ddraw->resolutions = cfg_get_int("resolutions", RESLIST_NORMAL); g_ddraw->resolutions = cfg_get_int("resolutions", RESLIST_NORMAL);
g_ddraw->fpupreserve = cfg_get_bool("fpupreserve", FALSE); g_ddraw->fpupreserve = cfg_get_bool("fpupreserve", FALSE);
g_ddraw->allow_wmactivate = cfg_get_bool("allow_wmactivate", FALSE); g_ddraw->allow_wmactivate = cfg_get_bool("allow_wmactivate", FALSE);
g_ddraw->d3d9_adapter = cfg_get_int("d3d9_adapter", 0);
cfg_get_string("screenshotdir", ".\\Screenshots\\", g_ddraw->screenshot_dir, sizeof(g_ddraw->screenshot_dir)); cfg_get_string("screenshotdir", ".\\Screenshots\\", g_ddraw->screenshot_dir, sizeof(g_ddraw->screenshot_dir));
if (g_ddraw->locktopleft) if (g_ddraw->locktopleft)
@ -350,6 +351,7 @@ static void cfg_create_ini()
"\n" "\n"
"\n" "\n"
"; Undocumented settings\n" "; Undocumented settings\n"
"d3d9_adapter=0\n"
"d3d9on12=false\n" "d3d9on12=false\n"
"game_handles_close=false\n" "game_handles_close=false\n"
"accuratetimers=false\n" "accuratetimers=false\n"

View File

@ -78,7 +78,7 @@ BOOL d3d9_create()
{ {
#if _DEBUG #if _DEBUG
D3DADAPTER_IDENTIFIER9 ai = {0}; D3DADAPTER_IDENTIFIER9 ai = {0};
const HRESULT hr = IDirect3D9_GetAdapterIdentifier(g_d3d9.instance, 0, 0, &ai); const HRESULT hr = IDirect3D9_GetAdapterIdentifier(g_d3d9.instance, g_ddraw->d3d9_adapter, 0, &ai);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
{ {
@ -124,7 +124,7 @@ BOOL d3d9_create()
if (SUCCEEDED( if (SUCCEEDED(
IDirect3D9_CreateDevice( IDirect3D9_CreateDevice(
g_d3d9.instance, g_d3d9.instance,
D3DADAPTER_DEFAULT, g_ddraw->d3d9_adapter,
D3DDEVTYPE_HAL, D3DDEVTYPE_HAL,
g_ddraw->hwnd, g_ddraw->hwnd,
behavior_flags[i] | (g_ddraw->fpupreserve ? D3DCREATE_FPU_PRESERVE : 0), behavior_flags[i] | (g_ddraw->fpupreserve ? D3DCREATE_FPU_PRESERVE : 0),