From 36db68dcd7bfc22a1774bf884628de4b480b2833 Mon Sep 17 00:00:00 2001 From: Skull Merlin <86374920+skkuull@users.noreply.github.com> Date: Mon, 28 Feb 2022 22:49:10 +0200 Subject: [PATCH] client aim assist --- src/client/component/patches.cpp | 16 ++++++++++++---- src/client/game/dvars.cpp | 2 ++ src/client/game/dvars.hpp | 2 ++ src/client/game/symbols.hpp | 2 ++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/client/component/patches.cpp b/src/client/component/patches.cpp index 908f2a5d..73807417 100644 --- a/src/client/component/patches.cpp +++ b/src/client/component/patches.cpp @@ -146,6 +146,14 @@ namespace patches reinterpret_cast(0x140481A00)(client, msg); } + + void aim_assist_add_to_target_list(void* a1, void* a2) + { + if (!dvars::aimassist_enabled->current.enabled) + return; + + game::AimAssist_AddToTargetList(a1, a2); + } } class component final : public component_interface @@ -194,10 +202,10 @@ namespace patches utils::hook::call(0x1402BA26B, bsp_sys_error_stub); // H1(1.4) // client side aim assist dvar - //dvars::aimassist_enabled = game::Dvar_RegisterBool("aimassist_enabled", true, - // game::DvarFlags::DVAR_FLAG_SAVED, - // "Enables aim assist for controllers"); - //utils::hook::call(0x140003609, aim_assist_add_to_target_list); + dvars::aimassist_enabled = dvars::register_bool("aimassist_enabled", true, + game::DvarFlags::DVAR_FLAG_SAVED, + true); + utils::hook::call(0x14009EE9E, aim_assist_add_to_target_list); // unlock all items utils::hook::jump(0x140413E60, is_item_unlocked); // LiveStorage_IsItemUnlockedFromTable_LocalClient H1(1.4) diff --git a/src/client/game/dvars.cpp b/src/client/game/dvars.cpp index fa0835a0..df5ac33e 100644 --- a/src/client/game/dvars.cpp +++ b/src/client/game/dvars.cpp @@ -6,6 +6,8 @@ namespace dvars { + game::dvar_t* aimassist_enabled = nullptr; + game::dvar_t* con_inputBoxColor = nullptr; game::dvar_t* con_inputHintBoxColor = nullptr; game::dvar_t* con_outputBarColor = nullptr; diff --git a/src/client/game/dvars.hpp b/src/client/game/dvars.hpp index f803aaa9..1a48de7c 100644 --- a/src/client/game/dvars.hpp +++ b/src/client/game/dvars.hpp @@ -6,6 +6,8 @@ namespace dvars { + extern game::dvar_t* aimassist_enabled; + extern game::dvar_t* con_inputBoxColor; extern game::dvar_t* con_inputHintBoxColor; extern game::dvar_t* con_outputBarColor; diff --git a/src/client/game/symbols.hpp b/src/client/game/symbols.hpp index 730c3c34..d3856845 100644 --- a/src/client/game/symbols.hpp +++ b/src/client/game/symbols.hpp @@ -15,6 +15,8 @@ namespace game WEAK symbol Cmd_TokenizeString{0x140344110, 0x1404046F0}; WEAK symbol Cmd_EndTokenizeString{0x140343630, 0x140403C20}; + WEAK symbol AimAssist_AddToTargetList{ 0, 0x14009D0F0 }; + WEAK symbol Com_Frame_Try_Block_Function{0, 0x1400D8310}; WEAK symbol Com_GetCurrentCoDPlayMode{0, 0x1405039A0}; WEAK symbol Com_SetSlowMotion{0, 0x1400DB790};