From 67a26483540fee72f8c2750b38472d14ee9f31f9 Mon Sep 17 00:00:00 2001 From: Ambr0se Date: Sat, 27 Dec 2025 11:53:56 +0800 Subject: [PATCH 1/2] fix: Ensure compatibility with CS2Fixes --- src/core/managers/entity_manager.cpp | 4 ++-- src/mm_plugin.cpp | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/core/managers/entity_manager.cpp b/src/core/managers/entity_manager.cpp index 501d003ab..6b87f07b9 100644 --- a/src/core/managers/entity_manager.cpp +++ b/src/core/managers/entity_manager.cpp @@ -15,7 +15,7 @@ */ #include "core/managers/entity_manager.h" -#include "core/detours.h" +// #include "core/detours.h" #include "core/function.h" #include "core/gameconfig.h" #include "core/globals.h" @@ -129,7 +129,7 @@ void EntityManager::OnAllInitialized() new ValveFunction((void*)CBaseEntity_TakeDamageOld, CALL_CONV, std::vector{ DATA_TYPE_POINTER, DATA_TYPE_POINTER, DATA_TYPE_POINTER }, DATA_TYPE_LONG_LONG); - Func_OnTakeDamage->AddHook(&OnTakeDamageProxy); + // Func_OnTakeDamage->AddHook(&OnTakeDamageProxy); auto m_hook = funchook_create(); funchook_prepare(m_hook, (void**)&m_pFireOutputInternal, (void*)&DetourFireOutputInternal); diff --git a/src/mm_plugin.cpp b/src/mm_plugin.cpp index b1005159c..46f381e08 100644 --- a/src/mm_plugin.cpp +++ b/src/mm_plugin.cpp @@ -16,6 +16,7 @@ #include +#include "core/detours.h" #include "core/coreconfig.h" #include "core/game_system.h" #include "core/gameconfig.h" @@ -244,6 +245,11 @@ void CounterStrikeSharpMMPlugin::AllPluginsLoaded() */ on_metamod_all_plugins_loaded_callback->ScriptContext().Reset(); on_metamod_all_plugins_loaded_callback->Execute(); + + if (globals::entityManager.Func_OnTakeDamage) + { + globals::entityManager.Func_OnTakeDamage->AddHook(&OnTakeDamageProxy); + } } void CounterStrikeSharpMMPlugin::Hook_GameFrame(bool simulating, bool bFirstTick, bool bLastTick) From 3a2f2241bbedbc1a7a82ba77a5a70efa9eeb3aa8 Mon Sep 17 00:00:00 2001 From: Ambr0se Date: Sat, 27 Dec 2025 12:05:39 +0800 Subject: [PATCH 2/2] chore: Clean up code --- src/core/managers/entity_manager.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/core/managers/entity_manager.cpp b/src/core/managers/entity_manager.cpp index 6b87f07b9..c5377aa09 100644 --- a/src/core/managers/entity_manager.cpp +++ b/src/core/managers/entity_manager.cpp @@ -15,7 +15,6 @@ */ #include "core/managers/entity_manager.h" -// #include "core/detours.h" #include "core/function.h" #include "core/gameconfig.h" #include "core/globals.h" @@ -129,8 +128,6 @@ void EntityManager::OnAllInitialized() new ValveFunction((void*)CBaseEntity_TakeDamageOld, CALL_CONV, std::vector{ DATA_TYPE_POINTER, DATA_TYPE_POINTER, DATA_TYPE_POINTER }, DATA_TYPE_LONG_LONG); - // Func_OnTakeDamage->AddHook(&OnTakeDamageProxy); - auto m_hook = funchook_create(); funchook_prepare(m_hook, (void**)&m_pFireOutputInternal, (void*)&DetourFireOutputInternal); funchook_install(m_hook, 0);