diff options
Diffstat (limited to 'internal_rewrite')
| -rw-r--r-- | internal_rewrite/c_base_player.cpp | 18 | ||||
| -rw-r--r-- | internal_rewrite/ragebot_antiaim.cpp | 5 | ||||
| -rw-r--r-- | internal_rewrite/update_clientside_animation.cpp | 22 |
3 files changed, 18 insertions, 27 deletions
diff --git a/internal_rewrite/c_base_player.cpp b/internal_rewrite/c_base_player.cpp index 68e2cf2..904fe32 100644 --- a/internal_rewrite/c_base_player.cpp +++ b/internal_rewrite/c_base_player.cpp @@ -508,15 +508,15 @@ void c_base_player::cache_anim_data( ) { int idx = ce( )->GetIndex( );
auto& animdata = sm_animdata[ idx ];
- util::memcpy( animdata.m_poseparams.data( ),
+ memcpy( &animdata.m_poseparams,
m_flPoseParameter( ),
sizeof( float ) * 24 );
- util::memcpy( animdata.m_animlayers.data( ),
+ memcpy( &animdata.m_animlayers,
m_AnimOverlay( ).GetElements( ),
sizeof( C_AnimationLayer ) * 13 );
- util::memcpy( animdata.m_bones,
+ memcpy( animdata.m_bones,
m_CachedBoneData( ).GetElements( ),
sizeof( matrix3x4 ) * m_CachedBoneData( ).GetSize( ) );
}
@@ -525,17 +525,17 @@ void c_base_player::restore_anim_data( bool layers ) { int idx = ce( )->GetIndex( );
auto& animdata = sm_animdata[ idx ];
- util::memcpy( m_flPoseParameter( ),
- animdata.m_poseparams.data( ),
+ memcpy( m_flPoseParameter( ),
+ &animdata.m_poseparams,
sizeof( float ) * 24 );
if( layers ) {
- util::memcpy( m_AnimOverlay( ).GetElements( ),
- animdata.m_animlayers.data( ),
+ memcpy( m_AnimOverlay( ).GetElements( ),
+ &animdata.m_animlayers,
sizeof( C_AnimationLayer ) * 13 );
}
- util::memcpy( animdata.m_bones,
+ memcpy( animdata.m_bones,
m_CachedBoneData( ).GetElements( ),
sizeof( matrix3x4 ) * m_CachedBoneData( ).GetSize( ) );
}
@@ -581,7 +581,7 @@ void c_base_player::do_ent_interpolation( bool reset ) { float update_delta = anim_data->m_simtime - anim_data->m_last_simtime;
float update_lerp = std::clamp( update_delta - lerp, 0.f, 1.f );
- if( !update_delta )
+ if( update_delta < TICK_INTERVAL( ) )
return;
lerp = std::clamp( lerp, 0.f, update_delta );
diff --git a/internal_rewrite/ragebot_antiaim.cpp b/internal_rewrite/ragebot_antiaim.cpp index c9edafa..a80ecda 100644 --- a/internal_rewrite/ragebot_antiaim.cpp +++ b/internal_rewrite/ragebot_antiaim.cpp @@ -123,11 +123,8 @@ namespace features real_angle.x = pitch;
}
-
- 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( );
g_csgo.m_globals->m_curtime = backup_curtime;
g_csgo.m_globals->m_frametime = backup_frametime;
diff --git a/internal_rewrite/update_clientside_animation.cpp b/internal_rewrite/update_clientside_animation.cpp index e7889c1..5dc14e6 100644 --- a/internal_rewrite/update_clientside_animation.cpp +++ b/internal_rewrite/update_clientside_animation.cpp @@ -24,26 +24,20 @@ void __fastcall hooks::update_clientside_animation( void* ecx_, void* edx_ ) { if( last_spawntime != ent->m_flSpawnTime( ) )
last_spawntime = ent->m_flSpawnTime( );
- return old_func( ecx_, edx_ );
+ old_func( ecx_, edx_ );
+ ent->cache_anim_data( );
+
+ return;
}
last_update = g_csgo.m_globals->m_curtime;
- float backup_curtime = g_csgo.m_globals->m_curtime;
- float backup_frametime = g_csgo.m_globals->m_frametime;
-
- g_csgo.m_globals->m_curtime = g_ctx.pred_time( );
- g_csgo.m_globals->m_frametime = TICK_INTERVAL( );
-
- ent->get_animstate( )->m_iLastClientSideAnimationUpdateFramecount = g_csgo.m_globals->m_framecount;
- //ent->get_animstate( )->m_flLastClientSideAnimationUpdateTime = g_csgo.m_globals->m_curtime;
- old_func( ecx_, edx_ );
-
- g_csgo.m_globals->m_curtime = backup_curtime;
- g_csgo.m_globals->m_frametime = backup_frametime;
+ if( g_cheat.m_lagmgr.get_choked( ) == 1 )
+ ent->cache_anim_data( );
if( !first_update ) {
- //*( byte* )( uintptr_t( ent ) + 0x270 ) = 0;
+ ent->restore_anim_data( true );
+
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;
|
