summaryrefslogtreecommitdiff
path: root/internal_rewrite/is_paused.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'internal_rewrite/is_paused.cpp')
-rw-r--r--internal_rewrite/is_paused.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/internal_rewrite/is_paused.cpp b/internal_rewrite/is_paused.cpp
new file mode 100644
index 0000000..9cb0ef8
--- /dev/null
+++ b/internal_rewrite/is_paused.cpp
@@ -0,0 +1,16 @@
+#include "mem.hpp"
+#include "hooks.hpp"
+
+bool __fastcall hooks::is_paused( void* ecx_, void* edx_ ) {
+ static auto interpolation_addr = pattern::first_code_match( g_csgo.m_chl.dll( ), xors( "84 C0 74 07 C6 05 ? ? ? ? ? 8B 0D" ) );
+ static auto is_paused_o = g_csgo.m_engine->get_old_function< decltype( &is_paused ) >( 90 );
+
+ stack_t stack( get_baseptr( ) );
+ uintptr_t return_address = stack.return_address( );
+
+ if( g_settings.rage.enabled && return_address == interpolation_addr ) {
+ return true;
+ }
+
+ return is_paused_o( ecx_, 0 );
+} \ No newline at end of file