mirror of
https://github.com/djhackersdev/bemanitools.git
synced 2025-02-17 19:19:16 +01:00
iidxhook: allow forcing adapter and refresh rate in d3d9 based IIDX games
This commit is contained in:
parent
3b8f6ac1d9
commit
3450686cf5
6
dist/iidx/iidxhook-09.conf
vendored
6
dist/iidx/iidxhook-09.conf
vendored
@ -40,6 +40,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-10.conf
vendored
6
dist/iidx/iidxhook-10.conf
vendored
@ -40,6 +40,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-11.conf
vendored
6
dist/iidx/iidxhook-11.conf
vendored
@ -40,6 +40,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-12.conf
vendored
6
dist/iidx/iidxhook-12.conf
vendored
@ -40,6 +40,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Fix broken 3D background on Happy Sky's music select (if appearing completely white)
|
||||
misc.happy_sky_ms_bg_fix=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-13.conf
vendored
6
dist/iidx/iidxhook-13.conf
vendored
@ -40,6 +40,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Fix broken 3D background on DistorteD's music select (if appearing completely black)
|
||||
misc.distorted_ms_bg_fix=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-14.conf
vendored
6
dist/iidx/iidxhook-14.conf
vendored
@ -37,6 +37,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-15.conf
vendored
6
dist/iidx/iidxhook-15.conf
vendored
@ -37,6 +37,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-16.conf
vendored
6
dist/iidx/iidxhook-16.conf
vendored
@ -40,6 +40,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-17.conf
vendored
6
dist/iidx/iidxhook-17.conf
vendored
@ -40,6 +40,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-18.conf
vendored
6
dist/iidx/iidxhook-18.conf
vendored
@ -30,3 +30,9 @@ gfx.scale_back_buffer_height=0
|
||||
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
6
dist/iidx/iidxhook-19.conf
vendored
6
dist/iidx/iidxhook-19.conf
vendored
@ -27,3 +27,9 @@ gfx.scale_back_buffer_height=0
|
||||
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
6
dist/iidx/iidxhook-20.conf
vendored
6
dist/iidx/iidxhook-20.conf
vendored
@ -27,3 +27,9 @@ gfx.scale_back_buffer_height=0
|
||||
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
6
dist/iidx/iidxhook-21.conf
vendored
6
dist/iidx/iidxhook-21.conf
vendored
@ -27,3 +27,9 @@ gfx.scale_back_buffer_height=0
|
||||
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
6
dist/iidx/iidxhook-22.conf
vendored
6
dist/iidx/iidxhook-22.conf
vendored
@ -27,3 +27,9 @@ gfx.scale_back_buffer_height=0
|
||||
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
6
dist/iidx/iidxhook-23.conf
vendored
6
dist/iidx/iidxhook-23.conf
vendored
@ -27,3 +27,9 @@ gfx.scale_back_buffer_height=0
|
||||
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
6
dist/iidx/iidxhook-24.conf
vendored
6
dist/iidx/iidxhook-24.conf
vendored
@ -27,3 +27,9 @@ gfx.scale_back_buffer_height=0
|
||||
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
6
dist/iidx/iidxhook-25.conf
vendored
6
dist/iidx/iidxhook-25.conf
vendored
@ -28,6 +28,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Disables the camera emulation
|
||||
cam.disable_emu=false
|
||||
|
||||
|
6
dist/iidx/iidxhook-26.conf
vendored
6
dist/iidx/iidxhook-26.conf
vendored
@ -28,6 +28,12 @@ gfx.scale_back_buffer_height=0
|
||||
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||
gfx.scale_back_buffer_filter=none
|
||||
|
||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
gfx.forced_refresh_rate=-1
|
||||
|
||||
# D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter
|
||||
gfx.device_adapter=0
|
||||
|
||||
# Disables the camera emulation
|
||||
cam.disable_emu=false
|
||||
|
||||
|
@ -200,7 +200,7 @@ static HRESULT STDCALL my_CreateDeviceEx(
|
||||
pp->Windowed = TRUE;
|
||||
pp->FullScreen_RefreshRateInHz = 0;
|
||||
} else {
|
||||
if (d3d9ex_force_refresh_rate != -1) {
|
||||
if (d3d9ex_force_refresh_rate > 0) {
|
||||
log_info("Forcing refresh rate %d -> %d", pp->FullScreen_RefreshRateInHz, d3d9ex_force_refresh_rate);
|
||||
pp->FullScreen_RefreshRateInHz = d3d9ex_force_refresh_rate;
|
||||
if (fdm) {
|
||||
|
@ -20,6 +20,8 @@
|
||||
"gfx.scale_back_buffer_height"
|
||||
#define IIDXHOOK_CONFIG_GFX_SCALE_BACK_BUFFER_FILTER_KEY \
|
||||
"gfx.scale_back_buffer_filter"
|
||||
#define IIDXHOOK_CONFIG_GFX_FORCED_RR_KEY "gfx.forced_refresh_rate"
|
||||
#define IIDXHOOK_CONFIG_GFX_DEVICE_ADAPTER_KEY "gfx.device_adapter"
|
||||
|
||||
#define IIDXHOOK_CONFIG_GFX_DEFAULT_BGVIDEO_UV_FIX_VALUE false
|
||||
#define IIDXHOOK_CONFIG_GFX_DEFAULT_FRAMED_VALUE false
|
||||
@ -32,6 +34,8 @@
|
||||
#define IIDXHOOK_CONFIG_GFX_DEFAULT_SCALE_BACK_BUFFER_WIDTH_VALUE 0
|
||||
#define IIDXHOOK_CONFIG_GFX_DEFAULT_SCALE_BACK_BUFFER_HEIGHT_VALUE 0
|
||||
#define IIDXHOOK_CONFIG_GFX_DEFAULT_SCALE_BACK_BUFFER_FILTER_VALUE "none"
|
||||
#define IIDXHOOK_CONFIG_GFX_DEFAULT_FORCED_RR_VALUE -1
|
||||
#define IIDXHOOK_CONFIG_GFX_DEFAULT_DEVICE_ADAPTER_VALUE D3DADAPTER_DEFAULT
|
||||
|
||||
void iidxhook_config_gfx_init(struct cconfig *config)
|
||||
{
|
||||
@ -141,6 +145,18 @@ void iidxhook_config_gfx_init(struct cconfig *config)
|
||||
"linear, point (refer to "
|
||||
"D3DTEXTUREFILTERTYPE "
|
||||
" for explanation).");
|
||||
|
||||
cconfig_util_set_int(
|
||||
config,
|
||||
IIDXHOOK_CONFIG_GFX_FORCED_RR_KEY,
|
||||
IIDXHOOK_CONFIG_GFX_DEFAULT_FORCED_RR_VALUE,
|
||||
"Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)");
|
||||
|
||||
cconfig_util_set_int(
|
||||
config,
|
||||
IIDXHOOK_CONFIG_GFX_DEVICE_ADAPTER_KEY,
|
||||
IIDXHOOK_CONFIG_GFX_DEFAULT_DEVICE_ADAPTER_VALUE,
|
||||
"D3D9 device adapter (monitor), 0 (D3DADAPTER_DEFAULT) to use default, 1, 2 etc. to use specified adapter");
|
||||
}
|
||||
|
||||
void iidxhook_config_gfx_get(
|
||||
@ -325,4 +341,37 @@ void iidxhook_config_gfx_get(
|
||||
IIDXHOOK_CONFIG_GFX_SCALE_BACK_BUFFER_FILTER_KEY,
|
||||
IIDXHOOK_CONFIG_GFX_DEFAULT_SCALE_BACK_BUFFER_FILTER_VALUE);
|
||||
}
|
||||
|
||||
if (!cconfig_util_get_int(
|
||||
config,
|
||||
IIDXHOOK_CONFIG_GFX_FORCED_RR_KEY,
|
||||
&config_gfx->forced_refresh_rate,
|
||||
IIDXHOOK_CONFIG_GFX_DEFAULT_FORCED_RR_VALUE)) {
|
||||
log_warning(
|
||||
"Invalid value for key '%s' specified, fallback "
|
||||
"to default '%d'",
|
||||
IIDXHOOK_CONFIG_GFX_FORCED_RR_KEY,
|
||||
IIDXHOOK_CONFIG_GFX_DEFAULT_FORCED_RR_VALUE);
|
||||
}
|
||||
|
||||
if (!cconfig_util_get_int(
|
||||
config,
|
||||
IIDXHOOK_CONFIG_GFX_DEVICE_ADAPTER_KEY,
|
||||
&config_gfx->device_adapter,
|
||||
IIDXHOOK_CONFIG_GFX_DEFAULT_DEVICE_ADAPTER_VALUE)) {
|
||||
log_warning(
|
||||
"Invalid value for key '%s' specified, fallback "
|
||||
"to default '%d'",
|
||||
IIDXHOOK_CONFIG_GFX_DEVICE_ADAPTER_KEY,
|
||||
IIDXHOOK_CONFIG_GFX_DEFAULT_DEVICE_ADAPTER_VALUE);
|
||||
}
|
||||
|
||||
if (config_gfx->device_adapter < 0) {
|
||||
log_warning(
|
||||
"Invalid value for key '%s' specified, fallback "
|
||||
"to default '%d'",
|
||||
IIDXHOOK_CONFIG_GFX_DEVICE_ADAPTER_KEY,
|
||||
IIDXHOOK_CONFIG_GFX_DEFAULT_DEVICE_ADAPTER_VALUE);
|
||||
config_gfx->device_adapter = IIDXHOOK_CONFIG_GFX_DEFAULT_DEVICE_ADAPTER_VALUE;
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
#include "iidxhook-util/d3d9.h"
|
||||
|
||||
// see struct iidxhook_util_d3d9_config for more info
|
||||
struct iidxhook_config_gfx {
|
||||
bool bgvideo_uv_fix;
|
||||
bool framed;
|
||||
@ -18,6 +19,8 @@ struct iidxhook_config_gfx {
|
||||
uint16_t scale_back_buffer_width;
|
||||
uint16_t scale_back_buffer_height;
|
||||
enum iidxhook_util_d3d9_back_buffer_scale_filter scale_back_buffer_filter;
|
||||
int32_t forced_refresh_rate;
|
||||
int32_t device_adapter;
|
||||
};
|
||||
|
||||
void iidxhook_config_gfx_init(struct cconfig *config);
|
||||
|
@ -262,10 +262,21 @@ static void iidxhook_util_d3d9_fix_create_device_apply_window_mode(
|
||||
{
|
||||
log_assert(irp);
|
||||
log_assert(irp->op == HOOK_D3D9_IRP_OP_CTX_CREATE_DEVICE);
|
||||
D3DPRESENT_PARAMETERS *pp = irp->args.ctx_create_device.pp;
|
||||
|
||||
if (iidxhook_util_d3d9_config.windowed) {
|
||||
irp->args.ctx_create_device.pp->Windowed = TRUE;
|
||||
irp->args.ctx_create_device.pp->FullScreen_RefreshRateInHz = 0;
|
||||
pp->Windowed = TRUE;
|
||||
pp->FullScreen_RefreshRateInHz = 0;
|
||||
} else {
|
||||
if (iidxhook_util_d3d9_config.forced_refresh_rate > 0) {
|
||||
log_info("Forcing refresh rate %d -> %d", pp->FullScreen_RefreshRateInHz, iidxhook_util_d3d9_config.forced_refresh_rate);
|
||||
pp->FullScreen_RefreshRateInHz = iidxhook_util_d3d9_config.forced_refresh_rate;
|
||||
}
|
||||
}
|
||||
|
||||
if (iidxhook_util_d3d9_config.device_adapter != D3DADAPTER_DEFAULT) {
|
||||
log_info("Forcing adapter %d -> %d", irp->args.ctx_create_device.adapter, iidxhook_util_d3d9_config.device_adapter);
|
||||
irp->args.ctx_create_device.adapter = iidxhook_util_d3d9_config.device_adapter;
|
||||
}
|
||||
}
|
||||
|
||||
@ -904,7 +915,9 @@ iidxhook_util_d3d9_log_config(const struct iidxhook_util_d3d9_config *config)
|
||||
"iidx14_to_19_nvidia_fix: %d\n"
|
||||
"scale_back_buffer_width: %d\n"
|
||||
"scale_back_buffer_height: %d\n"
|
||||
"scale_back_buffer_filter: %d",
|
||||
"scale_back_buffer_filter: %d\n"
|
||||
"forced_refresh_rate: %d\n"
|
||||
"device_adapter: %d",
|
||||
config->windowed,
|
||||
config->framed,
|
||||
config->override_window_width,
|
||||
@ -919,7 +932,9 @@ iidxhook_util_d3d9_log_config(const struct iidxhook_util_d3d9_config *config)
|
||||
config->iidx14_to_19_nvidia_fix,
|
||||
config->scale_back_buffer_width,
|
||||
config->scale_back_buffer_height,
|
||||
config->scale_back_buffer_filter);
|
||||
config->scale_back_buffer_filter,
|
||||
config->forced_refresh_rate,
|
||||
config->device_adapter);
|
||||
}
|
||||
|
||||
static void iidxhook_util_d3d9_validate_config(
|
||||
@ -983,6 +998,8 @@ void iidxhook_util_d3d9_init_config(struct iidxhook_util_d3d9_config *config)
|
||||
config->scale_back_buffer_height = 0;
|
||||
config->scale_back_buffer_filter =
|
||||
IIDXHOOK_UTIL_D3D9_BACK_BUFFER_SCALE_FILTER_NONE;
|
||||
config->forced_refresh_rate = -1;
|
||||
config->device_adapter = D3DADAPTER_DEFAULT;
|
||||
}
|
||||
|
||||
void iidxhook_util_d3d9_configure(
|
||||
@ -1046,9 +1063,10 @@ iidxhook_util_d3d9_irp_handler(struct hook_d3d9_irp *irp)
|
||||
hr = hook_d3d9_irp_invoke_next(irp);
|
||||
|
||||
if (hr == S_OK) {
|
||||
iidxhook_util_d3d9_log_result_create_device(hr);
|
||||
iidxhook_util_d3d9_setup_back_buffer_scaling_post(irp);
|
||||
iidxhook_util_d3d9_execute_monitor_check(irp);
|
||||
} else {
|
||||
iidxhook_util_d3d9_log_result_create_device(hr);
|
||||
}
|
||||
|
||||
return hr;
|
||||
|
@ -159,6 +159,18 @@ struct iidxhook_util_d3d9_config {
|
||||
* for full doc.
|
||||
*/
|
||||
enum iidxhook_util_d3d9_back_buffer_scale_filter scale_back_buffer_filter;
|
||||
|
||||
/**
|
||||
* Forced refresh rate
|
||||
* -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||
*/
|
||||
int32_t forced_refresh_rate;
|
||||
|
||||
/**
|
||||
* override device adapter (monitor)
|
||||
* 0 (D3DADAPTER_DEFAULT) to use default (whatever the game sends), 1, 2 etc. to use specified adapter
|
||||
*/
|
||||
int32_t device_adapter;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -95,6 +95,8 @@ static void iidxhook1_setup_d3d9_hooks(
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
d3d9_config.forced_refresh_rate = config_gfx->forced_refresh_rate;
|
||||
d3d9_config.device_adapter = config_gfx->device_adapter;
|
||||
|
||||
if (config_gfx->monitor_check == 0) {
|
||||
log_info("Auto monitor check enabled");
|
||||
|
@ -94,6 +94,8 @@ static void iidxhook2_setup_d3d9_hooks(
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
d3d9_config.forced_refresh_rate = config_gfx->forced_refresh_rate;
|
||||
d3d9_config.device_adapter = config_gfx->device_adapter;
|
||||
|
||||
if (config_gfx->monitor_check == 0) {
|
||||
log_info("Auto monitor check enabled");
|
||||
|
@ -91,6 +91,8 @@ iidxhook3_setup_d3d9_hooks(const struct iidxhook_config_gfx *config_gfx)
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
d3d9_config.forced_refresh_rate = config_gfx->forced_refresh_rate;
|
||||
d3d9_config.device_adapter = config_gfx->device_adapter;
|
||||
|
||||
if (config_gfx->monitor_check == 0) {
|
||||
log_info("Auto monitor check enabled");
|
||||
|
@ -72,6 +72,8 @@ iidxhook4_setup_d3d9_hooks(const struct iidxhook_config_gfx *config_gfx)
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
d3d9_config.forced_refresh_rate = config_gfx->forced_refresh_rate;
|
||||
d3d9_config.device_adapter = config_gfx->device_adapter;
|
||||
|
||||
if (config_gfx->monitor_check == 0) {
|
||||
log_info("Auto monitor check enabled");
|
||||
|
@ -70,6 +70,8 @@ iidxhook5_setup_d3d9_hooks(const struct iidxhook_config_gfx *config_gfx)
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
d3d9_config.forced_refresh_rate = config_gfx->forced_refresh_rate;
|
||||
d3d9_config.device_adapter = config_gfx->device_adapter;
|
||||
|
||||
iidxhook_util_d3d9_configure(&d3d9_config);
|
||||
|
||||
|
@ -68,6 +68,8 @@ iidxhook6_setup_d3d9_hooks(const struct iidxhook_config_gfx *config_gfx)
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
d3d9_config.forced_refresh_rate = config_gfx->forced_refresh_rate;
|
||||
d3d9_config.device_adapter = config_gfx->device_adapter;
|
||||
|
||||
iidxhook_util_d3d9_configure(&d3d9_config);
|
||||
|
||||
|
@ -68,6 +68,8 @@ iidxhook7_setup_d3d9_hooks(const struct iidxhook_config_gfx *config_gfx)
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
d3d9_config.forced_refresh_rate = config_gfx->forced_refresh_rate;
|
||||
d3d9_config.device_adapter = config_gfx->device_adapter;
|
||||
|
||||
iidxhook_util_d3d9_configure(&d3d9_config);
|
||||
|
||||
|
@ -68,6 +68,8 @@ iidxhook8_setup_d3d9_hooks(const struct iidxhook_config_gfx *config_gfx)
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
d3d9_config.forced_refresh_rate = config_gfx->forced_refresh_rate;
|
||||
d3d9_config.device_adapter = config_gfx->device_adapter;
|
||||
|
||||
iidxhook_util_d3d9_configure(&d3d9_config);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user