summaryrefslogtreecommitdiff
path: root/internal_rewrite/begin_lock.cpp
diff options
context:
space:
mode:
authorJustSomePwner <crotchyalt@gmail.com>2018-08-30 14:01:54 +0200
committerJustSomePwner <crotchyalt@gmail.com>2018-08-30 14:01:54 +0200
commit7ccb819f867493f8ec202ea3b39c94c198c64584 (patch)
tree94622e61af0ff359e3d6689cf274d74f60b2492a /internal_rewrite/begin_lock.cpp
parent564d979b79e8a5aaa5014eba0ecd36c61575934f (diff)
first
Diffstat (limited to 'internal_rewrite/begin_lock.cpp')
-rw-r--r--internal_rewrite/begin_lock.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/internal_rewrite/begin_lock.cpp b/internal_rewrite/begin_lock.cpp
new file mode 100644
index 0000000..d441395
--- /dev/null
+++ b/internal_rewrite/begin_lock.cpp
@@ -0,0 +1,32 @@
+#include <intrin.h>
+
+#include "hooks.hpp"
+#include "base_cheat.hpp"
+#include "context.hpp"
+
+void __fastcall hooks::begin_lock( void* ecx, void* edx ) { // THIS IS PROLLY NOT ENDLOCK, BUT WHATEVER
+ static auto begin_lock_o = g_csgo.m_mdl_cache->get_old_function< decltype( &hooks::begin_lock ) >( 33 );
+
+
+ // signature:
+ // search "CL_CallPostDataUpdates: missing ent %d" in engine.dll.
+ // where framestagenotify gets called
+ static auto ret_addr = pattern::first_code_match< void* >( g_csgo.m_engine.dll( ), "A1 ? ? ? ? B9 ? ? ? ? 6A 00 FF 50 18 8B 15 ? ? ? ?" );
+ if( _ReturnAddress( ) == ret_addr ) {
+ g_ctx.m_stage = FRAME_NET_UPDATE_POSTDATAUPDATE_START;
+ g_cheat.m_visuals.world_modulate( );
+
+ //g_con->game_console_print( "net postdataupdate start\n" );
+
+ // FRAME_NET_UPDATE_POSTDATAUPDATE_START
+ g_cheat.m_extra.float_ragdolls( );
+
+ g_cheat.m_player_mgr.frame_stage_notify( );
+ g_cheat.m_prediction.frame_stage_notify( );
+ g_cheat.m_ragebot.m_resolver->frame_stage_notify( );
+ g_cheat.m_ragebot.m_lagcomp->fsn_render_start( );
+ g_cheat.m_skins( );
+ }
+
+ begin_lock_o( ecx, edx );
+} \ No newline at end of file