mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 06:04:49 +01:00
#219 add new "refresh_rate" setting
This commit is contained in:
parent
84ad3995d4
commit
b25223bf3a
1
inc/dd.h
1
inc/dd.h
@ -157,6 +157,7 @@ typedef struct CNCDDRAW
|
||||
int guard_lines;
|
||||
int resolutions;
|
||||
int max_resolutions;
|
||||
int refresh_rate;
|
||||
BOOL limit_bltfast;
|
||||
BOOL armadahack;
|
||||
BOOL tshack;
|
||||
|
@ -45,6 +45,7 @@ void cfg_load()
|
||||
g_ddraw->allow_wmactivate = cfg_get_bool("allow_wmactivate", FALSE);
|
||||
g_ddraw->guard_lines = cfg_get_int("guard_lines", 200);
|
||||
g_ddraw->max_resolutions = cfg_get_int("max_resolutions", 0);
|
||||
g_ddraw->refresh_rate = cfg_get_int("refresh_rate", 0);
|
||||
g_ddraw->limit_bltfast = cfg_get_bool("limit_bltfast", FALSE);
|
||||
g_ddraw->rgb555 = cfg_get_bool("rgb555", FALSE);
|
||||
g_ddraw->hook_peekmessage = cfg_get_bool("hook_peekmessage", FALSE);
|
||||
@ -362,6 +363,7 @@ static void cfg_create_ini()
|
||||
"fixmousehook=false\n"
|
||||
"rgb555=false\n"
|
||||
"no_dinput_hook=false\n"
|
||||
"refresh_rate=0\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
|
6
src/dd.c
6
src/dd.c
@ -637,6 +637,12 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
|
||||
g_ddraw->render.mode.dmPelsWidth = g_ddraw->render.width;
|
||||
g_ddraw->render.mode.dmPelsHeight = g_ddraw->render.height;
|
||||
|
||||
if (g_ddraw->refresh_rate)
|
||||
{
|
||||
g_ddraw->render.mode.dmFields |= DM_DISPLAYFREQUENCY;
|
||||
g_ddraw->render.mode.dmDisplayFrequency = g_ddraw->refresh_rate;
|
||||
}
|
||||
|
||||
if (!g_ddraw->windowed)
|
||||
{
|
||||
/* Making sure the chosen resolution is valid */
|
||||
|
@ -115,6 +115,7 @@ BOOL d3d9_create()
|
||||
g_d3d9.params.PresentationInterval = g_ddraw->vsync ? D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE;
|
||||
g_d3d9.params.BackBufferWidth = g_d3d9.params.Windowed ? 0 : g_ddraw->render.width;
|
||||
g_d3d9.params.BackBufferHeight = g_d3d9.params.Windowed ? 0 : g_ddraw->render.height;
|
||||
g_d3d9.params.FullScreen_RefreshRateInHz = g_d3d9.params.Windowed ? 0 : g_ddraw->refresh_rate;
|
||||
g_d3d9.params.BackBufferFormat = g_ddraw->mode.dmBitsPerPel == 16 ? D3DFMT_R5G6B5 : D3DFMT_X8R8G8B8;
|
||||
g_d3d9.params.BackBufferCount = 1;
|
||||
|
||||
@ -160,6 +161,7 @@ BOOL d3d9_reset(BOOL windowed)
|
||||
g_d3d9.params.Windowed = windowed || g_ddraw->nonexclusive;
|
||||
g_d3d9.params.BackBufferWidth = g_d3d9.params.Windowed ? 0 : g_ddraw->render.width;
|
||||
g_d3d9.params.BackBufferHeight = g_d3d9.params.Windowed ? 0 : g_ddraw->render.height;
|
||||
g_d3d9.params.FullScreen_RefreshRateInHz = g_d3d9.params.Windowed ? 0 : g_ddraw->refresh_rate;
|
||||
g_d3d9.params.BackBufferFormat = g_ddraw->mode.dmBitsPerPel == 16 ? D3DFMT_R5G6B5 : D3DFMT_X8R8G8B8;
|
||||
|
||||
if (g_d3d9.device && SUCCEEDED(IDirect3DDevice9_Reset(g_d3d9.device, &g_d3d9.params)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user