//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CSinglePlayerAnimState::Update() { m_angRender = GetBasePlayer()->GetLocalAngles(); ComputePoseParam_BodyYaw(); ComputePoseParam_BodyPitch(GetBasePlayer()->GetModelPtr()); ComputePoseParam_BodyLookYaw(); ComputePoseParam_HeadPitch(GetBasePlayer()->GetModelPtr()); ComputePlaybackRate(); }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CPlayerAnimState::Update() { m_angRender = GetOuter()->GetLocalAngles(); ComputePoseParam_BodyYaw(); ComputePoseParam_BodyPitch(GetOuter()->GetModelPtr()); ComputePoseParam_BodyLookYaw(); ComputePlaybackRate(); #ifdef CLIENT_DLL GetOuter()->UpdateLookAt(); #endif }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CPlayerAnimState::Update( float eyeYaw, float eyePitch ) { // Store these. All the calculations are based on them. m_flEyeYaw = eyeYaw; m_flEyePitch = eyePitch; // Start out facing the entity towards the eye direction. m_angRender[YAW] = m_flEyeYaw; m_angRender[PITCH] = m_angRender[ROLL] = 0; ComputePoseParam_MoveYaw(); ComputePoseParam_BodyPitch(); ComputePoseParam_BodyYaw(); ComputePlaybackRate(); }
void CBasePlayerAnimState::Update( float eyeYaw, float eyePitch ) { VPROF( "CBasePlayerAnimState::Update" ); // Clear animation overlays because we're about to completely reconstruct them. ClearAnimationLayers(); // Some mods don't want to update the player's animation state if they're dead and ragdolled. if ( !ShouldUpdateAnimState() ) { ClearAnimationState(); return; } CStudioHdr *pStudioHdr = GetOuter()->GetModelPtr(); // Store these. All the calculations are based on them. m_flEyeYaw = AngleNormalize( eyeYaw ); m_flEyePitch = AngleNormalize( eyePitch ); // Compute sequences for all the layers. ComputeSequences( pStudioHdr ); // Compute all the pose params. ComputePoseParam_BodyPitch( pStudioHdr ); // Look up/down. ComputePoseParam_BodyYaw(); // Torso rotation. ComputePoseParam_MoveYaw( pStudioHdr ); // What direction his legs are running in. ComputePlaybackRate(); #ifdef CLIENT_DLL if ( cl_showanimstate.GetInt() == m_pOuter->entindex() ) { DebugShowAnimStateFull( 5 ); } else if ( cl_showanimstate.GetInt() == -2 ) { C_BasePlayer *targetPlayer = C_BasePlayer::GetLocalPlayer(); if( targetPlayer && ( targetPlayer->GetObserverMode() == OBS_MODE_IN_EYE || targetPlayer->GetObserverMode() == OBS_MODE_CHASE ) ) { C_BaseEntity *target = targetPlayer->GetObserverTarget(); if( target && target->IsPlayer() ) { targetPlayer = ToBasePlayer( target ); } } if ( m_pOuter == targetPlayer ) { DebugShowAnimStateFull( 6 ); } } #else if ( sv_showanimstate.GetInt() == m_pOuter->entindex() ) { DebugShowAnimState( 20 ); } #endif }