From fccbfbed0e066a2456d6443405d599b5bc93affa Mon Sep 17 00:00:00 2001 From: navewindre Date: Wed, 19 Dec 2018 12:10:18 +0100 Subject: x --- cheat/internal_rewrite/c_base_player.cpp | 92 +++++++++++----------- cheat/internal_rewrite/create_move.cpp | 2 +- cheat/internal_rewrite/lag_mgr.cpp | 4 +- cheat/internal_rewrite/ragebot_antiaim.cpp | 14 ++-- .../update_clientside_animation.cpp | 2 +- 5 files changed, 57 insertions(+), 57 deletions(-) diff --git a/cheat/internal_rewrite/c_base_player.cpp b/cheat/internal_rewrite/c_base_player.cpp index 865f809..30044db 100644 --- a/cheat/internal_rewrite/c_base_player.cpp +++ b/cheat/internal_rewrite/c_base_player.cpp @@ -211,16 +211,16 @@ void c_base_player::invalidate_physics_recursive( int flags ) { fn( this, flags ); } } - -void c_base_player::update_clientside_animation( ) { - bool backup = m_bClientSideAnimation( ); - m_bClientSideAnimation( ) = true; - - using fn = void( __fastcall* )( void* ); - pattern::first_code_match( g_csgo.m_chl.dll( ), xors( "55 8B EC 51 56 8B F1 80 BE ? ? ? ? ? 74 36" ) )( this ); - - m_bClientSideAnimation( ) = backup; -} + +void c_base_player::update_clientside_animation( ) { + bool backup = m_bClientSideAnimation( ); + m_bClientSideAnimation( ) = true; + + using fn = void( __fastcall* )( void* ); + pattern::first_code_match( g_csgo.m_chl.dll( ), xors( "55 8B EC 51 56 8B F1 80 BE ? ? ? ? ? 74 36" ) )( this ); + + m_bClientSideAnimation( ) = backup; +} uintptr_t c_base_player::get_player_resource( ) { @@ -710,7 +710,7 @@ void c_base_player::calc_anim_velocity( bool reset ) { return velocity; }; - if( reset ) { + if( true ) { vec3_t velocity = m_vecVelocity( ); sm_animdata[ idx ].m_last_origin = m_vecOrigin( ); sm_animdata[ idx ].m_last_velocity = velocity; @@ -844,7 +844,7 @@ void c_base_player::fix_animations( bool reset, bool resolver_change ) { set_needs_interpolate( false ); //we need the player data at THIS EXACT moment, somehow - float anim_time = m_flOldSimulationTime( ) + TICK_INTERVAL( ); + float anim_time = m_flSimulationTime( ); auto backup_curtime = g_csgo.m_globals->m_curtime; auto backup_frametime = g_csgo.m_globals->m_frametime; @@ -852,7 +852,7 @@ void c_base_player::fix_animations( bool reset, bool resolver_change ) { g_csgo.m_globals->m_curtime = anim_time; g_csgo.m_globals->m_frametime = TICK_INTERVAL( ); - if( resolver_change && m_fFlags( ) & FL_ONGROUND && !reset ) { + /*if( resolver_change && m_fFlags( ) & FL_ONGROUND && !reset ) { float lby_delta = m_flLowerBodyYawTarget( ) - eye_angles.y; lby_delta = std::remainderf( lby_delta, 360.f ); lby_delta = std::clamp( lby_delta, -60.f, 60.f ); @@ -862,7 +862,7 @@ void c_base_player::fix_animations( bool reset, bool resolver_change ) { feet_yaw += 360.f; get_animstate( )->m_flGoalFeetYaw = get_animstate( )->m_flCurrentFeetYaw = feet_yaw; - } + }*/ get_animstate( )->m_flFeetYawRate = 0.f; @@ -878,24 +878,24 @@ void c_base_player::fix_animations( bool reset, bool resolver_change ) { set_abs_origin( m_vecOrigin( ) ); //networked duck amount comes from the last simulation tick instead of the current one - calculate_duckamount( reset ); - fix_jump_fall( reset ); + //calculate_duckamount( reset ); + //fix_jump_fall( reset ); validate_animation_layers( ); float old_cycle = m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle; get_animstate( )->m_iLastClientSideAnimationUpdateFramecount -= 1; vec3_t velocity = m_vecVelocity( ); - int backup_eflags = get< int >( 0xe4 ); - int backup_byte = get< byte >( 0x35f8 ); + //int backup_eflags = get< int >( 0xe4 ); + //int backup_byte = get< byte >( 0x35f8 ); if( !reset ) { - m_vecVelocity( ) = sm_animdata[ idx ].m_anim_velocity; - get< vec3_t >( 0x94 ) = sm_animdata[ idx ].m_anim_velocity; - get< byte >( 0x35f8 ) = 1; - get< int >( 0xe4 ) &= ~0x1000; + //m_vecVelocity( ) = sm_animdata[ idx ].m_anim_velocity; + //get< vec3_t >( 0x94 ) = sm_animdata[ idx ].m_anim_velocity; + //get< byte >( 0x35f8 ) = 1; + //get< int >( 0xe4 ) &= ~0x1000; - get_animstate( )->m_flUnknownFraction = sm_animdata[ idx ].m_fraction; + //get_animstate( )->m_flUnknownFraction = sm_animdata[ idx ].m_fraction; } sm_animdata[ idx ].m_last_duck = m_flDuckAmount( ); @@ -903,7 +903,7 @@ void c_base_player::fix_animations( bool reset, bool resolver_change ) { float prev_cycle = m_AnimOverlay( ).GetElements( )[ 6 ].m_flPrevCycle; float prev_rate = m_AnimOverlay( ).GetElements( )[ 6 ].m_flPlaybackRate; - if( !reset ) { + /*if( !reset ) { auto fraction = get_animstate( )->m_flStopToFullRunningFraction; bool stopping = sm_animdata[ idx ].m_is_stopping; @@ -930,10 +930,10 @@ void c_base_player::fix_animations( bool reset, bool resolver_change ) { } get_animstate( )->m_flStopToFullRunningFraction = fraction; - } + }*/ sm_animdata[ idx ].m_last_animtime = get_animstate( )->m_flLastClientSideAnimationUpdateTime; - m_AnimOverlay( ).GetElements( )[ 6 ].m_flPrevCycle = m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle; + //m_AnimOverlay( ).GetElements( )[ 6 ].m_flPrevCycle = m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle; get_animstate( )->update( eye_angles.y, eye_angles.x ); if( was_valid && !reset ) { @@ -942,7 +942,7 @@ void c_base_player::fix_animations( bool reset, bool resolver_change ) { m_AnimOverlay( ).GetElements( )[ 6 ].m_flPlaybackRate, TICK_INTERVAL( ) / ( m_flSimulationTime( ) - m_flOldSimulationTime( ) ) ); - m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle = prev_cycle + lerp_rate; + //m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle = prev_cycle + lerp_rate; } else if( !reset ) { float cycle = m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle; @@ -950,10 +950,10 @@ void c_base_player::fix_animations( bool reset, bool resolver_change ) { float est_cycle = cycle - rate + ( rate * TICK_INTERVAL( ) / ( m_flSimulationTime( ) - m_flOldSimulationTime( ) ) ); - m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle = est_cycle; + //m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle = est_cycle; } - m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle = std::fmod( m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle, 1.0f ); + //m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle = std::fmod( m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle, 1.0f ); get_animdata( ).m_prev_flags = flags; memcpy( @@ -964,35 +964,35 @@ void c_base_player::fix_animations( bool reset, bool resolver_change ) { sm_animdata[ idx ].m_fraction = get_animstate( )->m_flUnknownFraction; - m_vecVelocity( ) = velocity; - get< vec3_t >( 0x94 ) = velocity; - get< int >( 0xe4 ) = backup_eflags; - get< byte >( 0x35f8 ) = backup_byte; + //m_vecVelocity( ) = velocity; + //get< vec3_t >( 0x94 ) = velocity; + //get< int >( 0xe4 ) = backup_eflags; + //get< byte >( 0x35f8 ) = backup_byte; - m_AnimOverlay( ).GetElements( )[ 6 ].m_flPrevCycle = old_cycle; + //m_AnimOverlay( ).GetElements( )[ 6 ].m_flPrevCycle = old_cycle; //check for any possible mistakes validate_animation_layers( ); - sm_animdata[ idx ].m_adjust_rate = m_AnimOverlay( ).GetElements( )[ 3 ].m_flPlaybackRate; - sm_animdata[ idx ].m_adjust_cycle = m_AnimOverlay( ).GetElements( )[ 3 ].m_flCycle; + //sm_animdata[ idx ].m_adjust_rate = m_AnimOverlay( ).GetElements( )[ 3 ].m_flPlaybackRate; + //sm_animdata[ idx ].m_adjust_cycle = m_AnimOverlay( ).GetElements( )[ 3 ].m_flCycle; - if( m_flSimulationTime( ) - m_flOldSimulationTime( ) > TICK_INTERVAL( ) ) { - auto activity = get_seq_activity( m_AnimOverlay( ).GetElements( )[ 3 ].m_nSequence ); + //if( m_flSimulationTime( ) - m_flOldSimulationTime( ) > TICK_INTERVAL( ) ) { + //auto activity = get_seq_activity( m_AnimOverlay( ).GetElements( )[ 3 ].m_nSequence ); - if( activity == 979 ) { - m_AnimOverlay( ).GetElements( )[ 3 ].m_flWeight = 0.f; - m_AnimOverlay( ).GetElements( )[ 3 ].m_flCycle = 0.f; - } - } + //if( activity == 979 ) { + // m_AnimOverlay( ).GetElements( )[ 3 ].m_flWeight = 0.f; + // m_AnimOverlay( ).GetElements( )[ 3 ].m_flCycle = 0.f; + //} + //} - bool moving = sm_animdata[ idx ].m_anim_velocity.length( ) > 0.1f; + //bool moving = sm_animdata[ idx ].m_anim_velocity.length( ) > 0.1f; //compute_move_cycle( reset, moving ); get_animdata( ).m_anim_flags = m_fFlags( ); - if( !moving ) - m_AnimOverlay( ).GetElements( )[ 6 ].m_flWeight = 0.f; + //if( !moving ) + // m_AnimOverlay( ).GetElements( )[ 6 ].m_flWeight = 0.f; ce( )->GetRenderAngles( ).y = std::remainderf( ce( )->GetRenderAngles( ).y, 360.f ); diff --git a/cheat/internal_rewrite/create_move.cpp b/cheat/internal_rewrite/create_move.cpp index 04fd0c6..1e46137 100644 --- a/cheat/internal_rewrite/create_move.cpp +++ b/cheat/internal_rewrite/create_move.cpp @@ -115,7 +115,7 @@ bool __fastcall hooks::create_move( void* ecx_, void* edx_, float input_sample_f g_cheat.m_extra.add_latency( cl->m_netchannel ); send_datagram_o( cl->m_netchannel, 0, 0 ); // - //cl->m_netchannel->m_nInSequenceNr = in_seq; + cl->m_netchannel->m_nInSequenceNr = in_seq; // cl->m_netchannel->m_nInReliableState = reliable; cl->m_netchannel->m_nOutSequenceNr--; diff --git a/cheat/internal_rewrite/lag_mgr.cpp b/cheat/internal_rewrite/lag_mgr.cpp index 610a0af..8f293e7 100644 --- a/cheat/internal_rewrite/lag_mgr.cpp +++ b/cheat/internal_rewrite/lag_mgr.cpp @@ -88,6 +88,8 @@ namespace features max_ticks = math::min( max_ticks, 16 ); + + bool force_send = m_held_ticks >= max_ticks; if( settings.mode == 1 ) { if( delta.length2dsqr( ) > 4096.f ) { @@ -204,7 +206,7 @@ namespace features } } - *m_sendpacket = ( send || force_send ) && !get_sent( ); + *m_sendpacket = !( get_choked( ) < 10 ); if( *m_sendpacket ) { m_breaking_lc = delta.length2d( ) > 64.f; last_rand = ( 1.f + math::random_number( -settings.fluctuate, settings.fluctuate( ) ) * 0.01f ); diff --git a/cheat/internal_rewrite/ragebot_antiaim.cpp b/cheat/internal_rewrite/ragebot_antiaim.cpp index 8cba797..b109328 100644 --- a/cheat/internal_rewrite/ragebot_antiaim.cpp +++ b/cheat/internal_rewrite/ragebot_antiaim.cpp @@ -93,13 +93,6 @@ namespace features if( !g_ctx.m_local->get_animstate( ) ) return; - auto cl = g_csgo.m_global_state->get_client_state( ); - if( !cl ) - return; - - if( g_cheat.m_lagmgr.get_choked( ) != 1 ) - return; - float backup_curtime = g_csgo.m_globals->m_curtime; float backup_frametime = g_csgo.m_globals->m_frametime; @@ -126,7 +119,7 @@ namespace features g_ctx.m_local->get_animstate( )->m_iLastClientSideAnimationUpdateFramecount -= 1; g_ctx.m_local->get_animstate( )->update( real_angle.y, real_angle.x ); - g_ctx.m_local->cache_anim_data( false ); + g_ctx.m_local->cache_anim_data( ); g_csgo.m_globals->m_curtime = backup_curtime; g_csgo.m_globals->m_frametime = backup_frametime; @@ -914,6 +907,11 @@ namespace features //since we're going to have fake pitches most likely //make sure to clamp yaw anyway just in case some retard //decides to enable untrusted shit in an mm server or w/e + //if( !g_cheat.m_lagmgr.get_state( ) ) + // m_cmd->m_viewangles.y = ( g_csgo.m_engine( )->GetViewAngles( ).y - 125.f ); + //else + // m_cmd->m_viewangles.y = g_csgo.m_engine( )->GetViewAngles( ).y - 180.f; + m_cmd->m_viewangles.y = std::remainderf( m_cmd->m_viewangles.y, 360.f ); } } \ No newline at end of file diff --git a/cheat/internal_rewrite/update_clientside_animation.cpp b/cheat/internal_rewrite/update_clientside_animation.cpp index 622fc46..9a0dd2b 100644 --- a/cheat/internal_rewrite/update_clientside_animation.cpp +++ b/cheat/internal_rewrite/update_clientside_animation.cpp @@ -34,7 +34,7 @@ void __fastcall hooks::update_clientside_animation( void* ecx_, void* edx_ ) { if( !first_update ) { g_ctx.m_local->restore_anim_data( true ); - ent->set_abs_angles( vec3_t( 0, g_ctx.m_absyaw, 0 ) ); + ent->set_abs_angles( vec3_t( 0, ent->get_animstate( )->m_flGoalFeetYaw, 0 ) ); bool backup = ent->get_animstate( )->m_bOnGround; ent->get_animstate( )->m_bOnGround = false; -- cgit v1.2.3