summaryrefslogtreecommitdiff
path: root/internal_rewrite/traceray.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'internal_rewrite/traceray.cpp')
-rw-r--r--internal_rewrite/traceray.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/internal_rewrite/traceray.cpp b/internal_rewrite/traceray.cpp
new file mode 100644
index 0000000..8ca6d79
--- /dev/null
+++ b/internal_rewrite/traceray.cpp
@@ -0,0 +1,33 @@
+#include "hooks.hpp"
+
+#include <intrin.h>
+#include "mem.hpp"
+
+void __fastcall hooks::trace_ray( void* ecx_, void* edx_, const Ray_t& ray, unsigned int fMask, ITraceFilter* pTraceFilter, CBaseTrace* pTrace ) {
+ static auto trace_ray_o = g_csgo.m_trace->get_old_function< decltype( &trace_ray ) >( 5 );
+
+/* if( std::this_thread::get_id( ) == g_csgo.m_d3d_thread ) {
+ void* address = _ReturnAddress( );
+ //MEMORY_BASIC_INFORMATION info;
+ //VirtualQuery( address, &info, sizeof( MEMORY_BASIC_INFORMATION ) );
+
+ char mod[ MAX_PATH ];
+ //GetModuleFileNameA( ( HMODULE )info.AllocationBase, mod, MAX_PATH );
+
+ //printf( "TRACERAY CALLED FROM D3D\n" );
+ stack_t stack( get_baseptr( ) );
+
+ int i{ };
+ for( ; stack.get( ) > 0x100; stack = stack.next( ), i++ ) {
+ MEMORY_BASIC_INFORMATION info;
+ VirtualQuery( ( void* )( stack.return_address( ) ), &info, sizeof( MEMORY_BASIC_INFORMATION ) );
+
+ GetModuleFileNameA( ( HMODULE )info.AllocationBase, mod, MAX_PATH );
+
+ if( strstr( mod, "moneybot" ) )
+ printf( "stack frame: %d retaddr: %08x %s\n", i, stack.return_address( ), mod );
+ }
+ }*/
+
+ return trace_ray_o( ecx_, edx_, ray, fMask, pTraceFilter, pTrace );
+} \ No newline at end of file