From 4ee34d1c77941122b98e90e16fdf4e2adefc4be8 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Wed, 11 Aug 2021 14:07:47 +0200 Subject: [PATCH] add setting for dinput detours hooks --- inc/dd.h | 1 + src/config.c | 5 +++-- src/hook.c | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/inc/dd.h b/inc/dd.h index 8949cb5..9f6573f 100644 --- a/inc/dd.h +++ b/inc/dd.h @@ -127,6 +127,7 @@ typedef struct CNCDDRAW BOOL d3d9linear; BOOL gdilinear; int resolutions; + BOOL dinputhook; BOOL armadahack; BOOL tshack; BOOL cnchack; diff --git a/src/config.c b/src/config.c index a19920a..f29700b 100644 --- a/src/config.c +++ b/src/config.c @@ -54,6 +54,7 @@ void cfg_load() g_ddraw->d3d9linear = cfg_get_bool("d3d9linear", TRUE); g_ddraw->gdilinear = cfg_get_bool("gdilinear", FALSE); g_ddraw->resolutions = cfg_get_int("resolutions", RESLIST_NORMAL); + g_ddraw->dinputhook = cfg_get_bool("dinputhook", FALSE); g_ddraw->armadahack = cfg_get_bool("armadahack", FALSE); g_ddraw->tshack = cfg_get_bool("tshack", FALSE); @@ -754,11 +755,11 @@ static void cfg_create_ini() "; Moorhuhn\n" "[Moorhuhn]\n" "renderer=opengl\n" - "hook=3\n" + "dinputhook=true\n" "\n" "; Moorhuhn 2\n" "[Moorhuhn2]\n" - "hook=3\n" + "dinputhook=true\n" "\n" "; Outlaws\n" "[olwin]\n" diff --git a/src/hook.c b/src/hook.c index 1c1a711..b9c0f9c 100644 --- a/src/hook.c +++ b/src/hook.c @@ -381,7 +381,7 @@ void hook_init() BOOL initial_hook = !g_hook_active; #ifdef _MSC_VER - if (initial_hook && g_hook_method == 3) + if (initial_hook && g_ddraw->dinputhook) { real_DirectInputCreateA = (DIRECTINPUTCREATEAPROC)GetProcAddress(LoadLibraryA("dinput.dll"), "DirectInputCreateA"); @@ -459,7 +459,7 @@ void hook_exit() g_hook_active = FALSE; #ifdef _MSC_VER - if (g_hook_method == 3) + if (g_ddraw->dinputhook) { if (real_DirectInputCreateA) {