void CBasePlayerAnimState::ComputeMainSequence()
{
	VPROF( "CBasePlayerAnimState::ComputeMainSequence" );

	CBaseAnimatingOverlay *pPlayer = GetOuter();

	// Have our class or the mod-specific class determine what the current activity is.
	Activity idealActivity = CalcMainActivity();

#ifdef CLIENT_DLL
	Activity oldActivity = m_eCurrentMainSequenceActivity;
#endif
	
	// Store our current activity so the aim and fire layers know what to do.
	m_eCurrentMainSequenceActivity = idealActivity;

	// Export to our outer class..
	int animDesired = SelectWeightedSequence( TranslateActivity(idealActivity) );

	if ( !ShouldResetMainSequence( pPlayer->GetSequence(), animDesired ) )
		return;

	if ( animDesired < 0 )
		 animDesired = 0;

	pPlayer->ResetSequence( animDesired );

#ifdef CLIENT_DLL
	if ( ShouldResetGroundSpeed( oldActivity, idealActivity ) )
	{
		ResetGroundSpeed();
	}
#endif
}
void CBasePlayerAnimState::ComputeMainSequence()
{
    VPROF( "CBasePlayerAnimState::ComputeMainSequence" );

    CBaseAnimatingOverlay *pPlayer = GetOuter();

    // Have our class or the mod-specific class determine what the current activity is.
    Activity idealActivity = CalcMainActivity();

#ifdef CLIENT_DLL
    Activity oldActivity = m_eCurrentMainSequenceActivity;
#endif

    // Store our current activity so the aim and fire layers know what to do.
    m_eCurrentMainSequenceActivity = idealActivity;

    // Export to our outer class..
    int animDesired = SelectWeightedSequence( TranslateActivity(idealActivity) );

#if !defined( HL1_CLIENT_DLL ) && !defined ( HL1_DLL )
    if ( pPlayer->GetSequenceActivity( pPlayer->GetSequence() ) == pPlayer->GetSequenceActivity( animDesired ) )
        return;
#endif

    if ( animDesired < 0 )
        animDesired = 0;

    pPlayer->ResetSequence( animDesired );

#ifdef CLIENT_DLL
    // If we went from idle to walk, reset the interpolation history.
    // Kind of hacky putting this here.. it might belong outside the base class.
    if ( (oldActivity == ACT_CROUCHIDLE || oldActivity == ACT_IDLE) &&
            (idealActivity == ACT_WALK || idealActivity == ACT_RUN_CROUCH) )
    {
        ResetGroundSpeed();
    }
#endif
}