From 3d412a4b30a9f7c7f51ea6562e694315948bd3da Mon Sep 17 00:00:00 2001 From: boris Date: Wed, 28 Nov 2018 16:00:02 +1300 Subject: cleaned up in short, the cheat and loader are now separate solutions. unused stuff was moved into the legacy solution in case anyone wants to compile it or whatever. i can change this back if you want to. also, i configured the loader to compile in x64, and have separate build types for linux and win64 --- cheat/internal_rewrite/netvar_proxy.hpp | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 cheat/internal_rewrite/netvar_proxy.hpp (limited to 'cheat/internal_rewrite/netvar_proxy.hpp') diff --git a/cheat/internal_rewrite/netvar_proxy.hpp b/cheat/internal_rewrite/netvar_proxy.hpp new file mode 100644 index 0000000..113f212 --- /dev/null +++ b/cheat/internal_rewrite/netvar_proxy.hpp @@ -0,0 +1,36 @@ +#pragma once +#include "Valve/dt_recv.h" + +//dont leave things out of namespaces +namespace hooks +{ + class c_netvar_proxy { + public: + c_netvar_proxy( RecvProp* target_property, RecvVarProxyFn new_proxy ) { + m_target = target_property; + m_original = target_property->m_ProxyFn; + m_target->m_ProxyFn = new_proxy; + } + + c_netvar_proxy( ) = default; + + void init( RecvProp* target, RecvVarProxyFn new_proxy ) { + m_target = target; + m_original = target->m_ProxyFn; + m_target->m_ProxyFn = new_proxy; + } + + ~c_netvar_proxy( ) { + if( !m_target ) return; + m_target->m_ProxyFn = m_original; + } + + RecvVarProxyFn get_old_function( ) const { + return m_original; + } + + private: + RecvProp* m_target; + RecvVarProxyFn m_original; + }; +} \ No newline at end of file -- cgit v1.2.3