From cf4d2ec1a220d70bcfb6490a1a4e23dc8d90886b Mon Sep 17 00:00:00 2001 From: navewindre Date: Tue, 4 Sep 2018 19:10:21 +0200 Subject: gay --- internal_rewrite/c_base_player.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'internal_rewrite/c_base_player.cpp') diff --git a/internal_rewrite/c_base_player.cpp b/internal_rewrite/c_base_player.cpp index 24f75cd..a96a4b4 100644 --- a/internal_rewrite/c_base_player.cpp +++ b/internal_rewrite/c_base_player.cpp @@ -874,9 +874,16 @@ 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; + get_animstate( )->update( eye_angles.y, eye_angles.x ); m_AnimOverlay( ).GetElements( )[ 6 ].m_flPrevCycle = m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle; - m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle = prev_cycle + prev_rate; + + float lerp_rate = math::lerp( + prev_rate, + m_AnimOverlay( ).GetElements( )[ 6 ].m_flPlaybackRate, + TICK_INTERVAL( ) / ( m_flSimulationTime( ) - m_flOldSimulationTime( ) ) ); + + m_AnimOverlay( ).GetElements( )[ 6 ].m_flCycle = prev_cycle + lerp_rate; get_animdata( ).m_prev_flags = flags; -- cgit v1.2.3