diff options
| author | navewindre <boneyaard@gmail.com> | 2018-09-04 19:10:21 +0200 |
|---|---|---|
| committer | navewindre <boneyaard@gmail.com> | 2018-09-04 19:10:21 +0200 |
| commit | cf4d2ec1a220d70bcfb6490a1a4e23dc8d90886b (patch) | |
| tree | 1912481d1e12f45c50105484f3bbc1f69b285557 /internal_rewrite/c_base_player.cpp | |
| parent | 39f70b7b843d926eeb534ac1de25cc38b13c493d (diff) | |
gay
Diffstat (limited to 'internal_rewrite/c_base_player.cpp')
| -rw-r--r-- | internal_rewrite/c_base_player.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
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;
|
