From 09d7243ddc3a56be20a6c51383c75a54033c6380 Mon Sep 17 00:00:00 2001 From: Federico Cecchetto Date: Thu, 19 May 2022 21:04:57 +0200 Subject: [PATCH] Fix name dvar --- src/client/component/patches.cpp | 21 ++++++++++++++++++++- src/client/game/symbols.hpp | 4 ++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/client/component/patches.cpp b/src/client/component/patches.cpp index b5ef6e43..ddf8190d 100644 --- a/src/client/component/patches.cpp +++ b/src/client/component/patches.cpp @@ -46,7 +46,23 @@ namespace patches return "Unknown Soldier"; } - return std::string{ username, username_len - 1 }; + return std::string{username, username_len - 1}; + } + + utils::hook::detour com_register_dvars_hook; + + void com_register_dvars_stub() + { + if (game::environment::is_mp()) + { + // Make name save + dvars::register_string("name", get_login_username().data(), game::DVAR_FLAG_SAVED, "Player name."); + + // Disable data validation error popup + dvars::register_int("data_validation_allow_drop", 0, 0, 0, game::DVAR_FLAG_NONE, ""); + } + + return com_register_dvars_hook.invoke(); } utils::hook::detour set_client_dvar_from_server_hook; @@ -151,6 +167,9 @@ namespace patches public: void post_unpack() override { + // Register dvars + com_register_dvars_hook.create(SELECT_VALUE(0, 0x15BB60_b), &com_register_dvars_stub); + // Unlock fps in main menu utils::hook::set(SELECT_VALUE(0, 0x34396B_b), 0xEB); diff --git a/src/client/game/symbols.hpp b/src/client/game/symbols.hpp index b9d0d716..ef5f6802 100644 --- a/src/client/game/symbols.hpp +++ b/src/client/game/symbols.hpp @@ -65,9 +65,9 @@ namespace game WEAK symbol Dvar_RegisterInt{0x0, 0x182A10}; WEAK symbol Dvar_RegisterFloat{0x0, 0x182900}; + float max, unsigned int flags)> Dvar_RegisterFloat{0x0, 0x1827F0}; WEAK symbol Dvar_RegisterString{0x0, 0x182AF0}; + unsigned int flags)> Dvar_RegisterString{0x0, 0x182BD0}; WEAK symbol Dvar_RegisterVec4{0x0, 0x183010};