aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/shared/Multiplayer
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/shared/Multiplayer')
-rw-r--r--mp/src/game/shared/Multiplayer/multiplayer_animstate.cpp12
-rw-r--r--mp/src/game/shared/Multiplayer/multiplayer_animstate.h8
2 files changed, 20 insertions, 0 deletions
diff --git a/mp/src/game/shared/Multiplayer/multiplayer_animstate.cpp b/mp/src/game/shared/Multiplayer/multiplayer_animstate.cpp
index 4d1ad4fe..2734eba0 100644
--- a/mp/src/game/shared/Multiplayer/multiplayer_animstate.cpp
+++ b/mp/src/game/shared/Multiplayer/multiplayer_animstate.cpp
@@ -91,6 +91,10 @@ CMultiPlayerAnimState::CMultiPlayerAnimState( CBasePlayer *pPlayer, MultiPlayerM
m_flMaxGroundSpeed = 0.0f;
+ // If you are forcing aim yaw, your code is almost definitely broken if you don't include a delay between
+ // teleporting and forcing yaw. This is due to an unfortunate interaction between the command lookback window,
+ // and the fact that m_flEyeYaw is never propogated from the server to the client.
+ // TODO: Fix this after Halloween 2014.
m_bForceAimYaw = false;
Init( pPlayer, movementData );
@@ -1655,6 +1659,10 @@ void CMultiPlayerAnimState::ComputePoseParam_AimYaw( CStudioHdr *pStudioHdr )
bool bMoving = ( vecVelocity.Length() > 1.0f ) ? true : false;
// If we are moving or are prone and undeployed.
+ // If you are forcing aim yaw, your code is almost definitely broken if you don't include a delay between
+ // teleporting and forcing yaw. This is due to an unfortunate interaction between the command lookback window,
+ // and the fact that m_flEyeYaw is never propogated from the server to the client.
+ // TODO: Fix this after Halloween 2014.
if ( bMoving || m_bForceAimYaw )
{
// The feet match the eye direction when moving - the move yaw takes care of the rest.
@@ -1688,6 +1696,10 @@ void CMultiPlayerAnimState::ComputePoseParam_AimYaw( CStudioHdr *pStudioHdr )
m_flGoalFeetYaw = AngleNormalize( m_flGoalFeetYaw );
if ( m_flGoalFeetYaw != m_flCurrentFeetYaw )
{
+ // If you are forcing aim yaw, your code is almost definitely broken if you don't include a delay between
+ // teleporting and forcing yaw. This is due to an unfortunate interaction between the command lookback window,
+ // and the fact that m_flEyeYaw is never propogated from the server to the client.
+ // TODO: Fix this after Halloween 2014.
if ( m_bForceAimYaw )
{
m_flCurrentFeetYaw = m_flGoalFeetYaw;
diff --git a/mp/src/game/shared/Multiplayer/multiplayer_animstate.h b/mp/src/game/shared/Multiplayer/multiplayer_animstate.h
index 007533a1..a3c7937a 100644
--- a/mp/src/game/shared/Multiplayer/multiplayer_animstate.h
+++ b/mp/src/game/shared/Multiplayer/multiplayer_animstate.h
@@ -63,6 +63,10 @@ enum PlayerAnimEvent_t
PLAYERANIMEVENT_STUN_BEGIN,
PLAYERANIMEVENT_STUN_MIDDLE,
PLAYERANIMEVENT_STUN_END,
+ PLAYERANIMEVENT_PASSTIME_THROW_BEGIN,
+ PLAYERANIMEVENT_PASSTIME_THROW_MIDDLE,
+ PLAYERANIMEVENT_PASSTIME_THROW_END,
+ PLAYERANIMEVENT_PASSTIME_THROW_CANCEL,
PLAYERANIMEVENT_ATTACK_PRIMARY_SUPER,
@@ -203,6 +207,10 @@ public:
bool VerifyAnimLayerInSlot( int iGestureSlot );
// Feet.
+ // If you are forcing aim yaw, your code is almost definitely broken if you don't include a delay between
+ // teleporting and forcing yaw. This is due to an unfortunate interaction between the command lookback window,
+ // and the fact that m_flEyeYaw is never propogated from the server to the client.
+ // TODO: Fix this after Halloween 2014.
bool m_bForceAimYaw;
protected: