diff options
Diffstat (limited to 'cheat/internal_rewrite/netvar_proxy.hpp')
| -rw-r--r-- | cheat/internal_rewrite/netvar_proxy.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
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 |
