summaryrefslogtreecommitdiff
path: root/internal_rewrite
diff options
context:
space:
mode:
authornavewindre <boneyaard@gmail.com>2018-09-14 16:38:28 +0200
committernavewindre <boneyaard@gmail.com>2018-09-14 16:38:28 +0200
commit7800db47f2cd00c4c01b002d85ec2c4c61e578e4 (patch)
tree543382dc8a0370658524589f113ea9bff8dec4ed /internal_rewrite
parent79ab971e6c7466550d3dc4a01e52fb24d2497f86 (diff)
s
Diffstat (limited to 'internal_rewrite')
-rw-r--r--internal_rewrite/c_base_player.cpp18
-rw-r--r--internal_rewrite/ragebot_antiaim.cpp5
-rw-r--r--internal_rewrite/update_clientside_animation.cpp22
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;