summaryrefslogtreecommitdiff
path: root/game/shared/tf/tf_playeranimstate.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/shared/tf/tf_playeranimstate.h')
-rw-r--r--game/shared/tf/tf_playeranimstate.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/game/shared/tf/tf_playeranimstate.h b/game/shared/tf/tf_playeranimstate.h
new file mode 100644
index 0000000..d5af0c1
--- /dev/null
+++ b/game/shared/tf/tf_playeranimstate.h
@@ -0,0 +1,87 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================
+#ifndef TF_PLAYERANIMSTATE_H
+#define TF_PLAYERANIMSTATE_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "convar.h"
+#include "../Multiplayer/multiplayer_animstate.h"
+
+#if defined( CLIENT_DLL )
+class C_TFPlayer;
+#define CTFPlayer C_TFPlayer
+#else
+class CTFPlayer;
+#endif
+
+// ------------------------------------------------------------------------------------------------ //
+// CPlayerAnimState declaration.
+// ------------------------------------------------------------------------------------------------ //
+class CTFPlayerAnimState : public CMultiPlayerAnimState
+{
+public:
+
+ DECLARE_CLASS( CTFPlayerAnimState, CMultiPlayerAnimState );
+
+ CTFPlayerAnimState();
+ CTFPlayerAnimState( CBasePlayer *pPlayer, MultiPlayerMovementData_t &movementData );
+ ~CTFPlayerAnimState();
+
+ void InitTF( CTFPlayer *pPlayer );
+ CTFPlayer *GetTFPlayer( void ) { return m_pTFPlayer; }
+
+ virtual void ClearAnimationState();
+ virtual Activity TranslateActivity( Activity actDesired );
+ Activity ActivityOverride( Activity baseAct, bool *pRequired );
+ virtual void Update( float eyeYaw, float eyePitch );
+
+ void DoAnimationEvent( PlayerAnimEvent_t event, int nData = 0 );
+ virtual void CheckStunAnimation();
+ virtual Activity CalcMainActivity();
+ virtual void ComputePoseParam_AimYaw( CStudioHdr *pStudioHdr );
+
+ void CheckPasstimeThrowAnimation();
+
+ virtual float GetCurrentMaxGroundSpeed();
+ virtual float GetGesturePlaybackRate( void );
+
+ bool HandleMoving( Activity &idealActivity );
+ bool HandleJumping( Activity &idealActivity );
+ bool HandleDucking( Activity &idealActivity );
+ bool HandleSwimming( Activity &idealActivity );
+
+ virtual bool ShouldUpdateAnimState();
+
+ virtual void GetOuterAbsVelocity( Vector& vel );
+
+ bool IsItemTestingBot( void );
+
+ virtual void RestartGesture( int iGestureSlot, Activity iGestureActivity, bool bAutoKill = true );
+
+ void SetRenderangles( const QAngle& angles ) { m_angRender = angles; }
+
+ void Vehicle_LeanAccel( float flInAccel );
+private:
+ void Taunt_ComputePoseParam_MoveX( CStudioHdr *pStudioHdr );
+ void Taunt_ComputePoseParam_MoveY( CStudioHdr *pStudioHdr );
+ void Vehicle_ComputePoseParam_MoveYaw( CStudioHdr *pStudioHdr );
+ void Vehicle_ComputePoseParam_AccelLean( CStudioHdr *pStudioHdr );
+
+ CTFPlayer *m_pTFPlayer;
+ bool m_bInAirWalk;
+ float m_flHoldDeployedPoseUntilTime;
+ float m_flTauntMoveX;
+ float m_flTauntMoveY;
+ float m_flVehicleLeanVel;
+ float m_flVehicleLeanPos;
+ Vector m_vecSmoothedUp;
+};
+
+CTFPlayerAnimState *CreateTFPlayerAnimState( CTFPlayer *pPlayer );
+
+#endif // TF_PLAYERANIMSTATE_H