View difference between Paste ID: 3M8KV5uf and EKM2ztve
SHOW: | | - or go back to the newest paste.
1
if ( LagRecord.m_SimulationTime - ( LagRecord.m_AnimationLayers.at( ANIMATION_LAYER_MOVEMENT_JUMP_OR_FALL ).m_flCycle / LagRecord.m_AnimationLayers.at( ANIMATION_LAYER_MOVEMENT_JUMP_OR_FALL ).m_flPlaybackRate )
2
		>= pPlayer->m_flOldSimulationTime( ) )
3
		LagRecord.m_Flags |= FL_ONGROUND;
4
	
5
	float_t flWeight = ( 1.0f - LagRecord.m_AnimationLayers.at( 11 ).m_flWeight ) / 2.8571432;
6
	if ( flWeight > 0.0f )
7
	{
8
		float_t flSpeed = ( flWeight + 0.55f ) * pPlayer->GetMaxPlayerSpeed( );
9
		if ( flSpeed > 0.0f && LagRecord.m_Velocity.Length( ) > 0.0f )
10
			LagRecord.m_Velocity /= LagRecord.m_Velocity.Length( ) / flSpeed;
11
	}
12
	else if ( !( LagRecord.m_Flags & FL_ONGROUND ) )
13
	{
14
		float_t flCurrentVelocityDirection = Math::NormalizeAngle( RAD2DEG( atan2( LagRecord.m_Velocity.x, LagRecord.m_Velocity.y ) ) );
15
		float_t flPreviousVelocityDirection = Math::NormalizeAngle( RAD2DEG( atan2( g_PlayerData[ pPlayer->EntIndex( ) ].m_PreviousRecord.m_Velocity.x, g_PlayerData[ pPlayer->EntIndex( ) ].m_PreviousRecord.m_Velocity.y ) ) );
16
		float_t flAverageVelocityDirection = DEG2RAD( Math::NormalizeAngle( flCurrentVelocityDirection + ( ( flCurrentVelocityDirection - flPreviousVelocityDirection ) * 0.5f ) ) );
17
18
		float_t flDirectionCos = cos( flAverageVelocityDirection );
19
		float_t flDirectionSin = sin( flAverageVelocityDirection );
20
21
		if ( LagRecord.m_Velocity.Length2D( ) > 0.0f )
22
		{
23
			LagRecord.m_Velocity.x /= LagRecord.m_Velocity.Length2D( );
24
			LagRecord.m_Velocity.y /= LagRecord.m_Velocity.Length2D( );
25
		}
26
27
		if ( flDirectionCos > 0.0f )
28
			LagRecord.m_Velocity.x *= flDirectionCos;
29
30
		if ( flDirectionSin > 0.0f )
31
			LagRecord.m_Velocity.y *= flDirectionSin;
32
33
		LagRecord.m_Velocity.z -= g_Globals.m_ConVars.m_SvGravity->GetFloat( ) * TICKS_TO_TIME( LagRecord.m_ChokedTicks ) * 0.5f;
34
	}
35
36
	LagRecord.m_DuckAmount = pPlayer->m_flDuckAmount( );
37
	if ( g_PlayerData[ pPlayer->EntIndex( ) ].m_bHasPreviousRecord )
38
		LagRecord.m_DuckPerTick = ( LagRecord.m_DuckAmount - g_PlayerData[ pPlayer->EntIndex( ) ].m_PreviousRecord.m_DuckAmount ) / LagRecord.m_ChokedTicks;