diff --git a/include/SpecialK/DLL_VERSION.H b/include/SpecialK/DLL_VERSION.H index ba928fd00..f43f5b762 100644 --- a/include/SpecialK/DLL_VERSION.H +++ b/include/SpecialK/DLL_VERSION.H @@ -3,8 +3,8 @@ #define SK_YEAR 24 #define SK_MONTH 12 #define SK_DATE 1 -#define SK_REV_N 3 -#define SK_REV 3 +#define SK_REV_N 4 +#define SK_REV 4 #ifndef _A2 #define _A2(a) #a diff --git a/include/SpecialK/config.h b/include/SpecialK/config.h index b67a75776..9f8c3c696 100644 --- a/include/SpecialK/config.h +++ b/include/SpecialK/config.h @@ -1148,6 +1148,20 @@ struct sk_config_t bool calc_latency = false; } hid; + struct dualsense_s { + enum effect : int + { + Off = 0, + Feedback = 1, + Weapon = 2, + Vibration = 3 + }; + float trigger_strength_r = 1.0f; + float trigger_strength_l = 1.0f; + effect trigger_effect_r = Weapon; + effect trigger_effect_l = Weapon; + } dualsense; + bool blocks_screensaver = true; } gamepad; diff --git a/src/config.cpp b/src/config.cpp index acbc09593..bac1f9add 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -3522,6 +3522,8 @@ auto DeclKeybind = case SK_GAME_ID::ForzaHorizon5: { + config.input.gamepad.dualsense.trigger_effect_l = config.input.gamepad.dualsense.Vibration; + config.input.gamepad.dualsense.trigger_effect_r = config.input.gamepad.dualsense.Vibration; if (SK_IsInjected () && ((! PathFileExists (L"dxgi.dll")) && (! PathFileExists (L"d3d12.dll")))) { diff --git a/src/input/game_input.cpp b/src/input/game_input.cpp index bb7284910..f6b263e89 100644 --- a/src/input/game_input.cpp +++ b/src/input/game_input.cpp @@ -793,7 +793,7 @@ GameInputCreate_Detour (IGameInput** gameInput) { SK_LOG_FIRST_CALL - IGameInput* pReal = nullptr; + IGameInput* pReal ; HRESULT hr = GameInputCreate_Original (&pReal); diff --git a/src/input/hid_reports/playstation.cpp b/src/input/hid_reports/playstation.cpp index 003b79705..749227978 100644 --- a/src/input/hid_reports/playstation.cpp +++ b/src/input/hid_reports/playstation.cpp @@ -1105,7 +1105,7 @@ SK_HID_PlayStationDevice::request_input_report (void) SK_Thread_CreateEx ([](LPVOID pUser)->DWORD { - SK_Thread_SetCurrentPriority (THREAD_PRIORITY_HIGHEST); + SK_Thread_SetCurrentPriority (THREAD_PRIORITY_TIME_CRITICAL); SK_HID_PlayStationDevice* pDevice = (SK_HID_PlayStationDevice *)pUser;