aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/c_baseanimating.h
diff options
context:
space:
mode:
authorJohn Schoenick <[email protected]>2015-09-09 18:35:41 -0700
committerJohn Schoenick <[email protected]>2015-09-09 18:35:41 -0700
commit0d8dceea4310fde5706b3ce1c70609d72a38efdf (patch)
treec831ef32c2c801a5c5a80401736b52c7b5a528ec /mp/src/game/client/c_baseanimating.h
parentUpdated the SDK with the latest code from the TF and HL2 branches. (diff)
downloadsource-sdk-2013-master.tar.xz
source-sdk-2013-master.zip
Updated the SDK with the latest code from the TF and HL2 branches.HEADmaster
Diffstat (limited to 'mp/src/game/client/c_baseanimating.h')
-rw-r--r--mp/src/game/client/c_baseanimating.h23
1 files changed, 9 insertions, 14 deletions
diff --git a/mp/src/game/client/c_baseanimating.h b/mp/src/game/client/c_baseanimating.h
index f91745ef..f1b0467c 100644
--- a/mp/src/game/client/c_baseanimating.h
+++ b/mp/src/game/client/c_baseanimating.h
@@ -247,7 +247,7 @@ public:
void ForceClientSideAnimationOn();
void AddToClientSideAnimationList();
- void RemoveFromClientSideAnimationList();
+ void RemoveFromClientSideAnimationList( bool bBeingDestroyed = false );
virtual bool IsSelfAnimating();
virtual void ResetLatched();
@@ -298,8 +298,8 @@ public:
virtual void Clear( void );
void ClearRagdoll();
void CreateUnragdollInfo( C_BaseAnimating *pRagdoll );
- void ForceSetupBonesAtTime( matrix3x4_t *pBonesOut, float flTime );
- virtual void GetRagdollInitBoneArrays( matrix3x4_t *pDeltaBones0, matrix3x4_t *pDeltaBones1, matrix3x4_t *pCurrentBones, float boneDt );
+ bool ForceSetupBonesAtTime( matrix3x4_t *pBonesOut, float flTime );
+ virtual bool GetRagdollInitBoneArrays( matrix3x4_t *pDeltaBones0, matrix3x4_t *pDeltaBones1, matrix3x4_t *pCurrentBones, float boneDt );
// For shadows rendering the correct body + sequence...
virtual int GetBody() { return m_nBody; }
@@ -429,6 +429,7 @@ public:
// For prediction
int SelectWeightedSequence ( int activity );
+ int SelectWeightedSequenceFromModifiers( Activity activity, CUtlSymbol *pActivityModifiers, int iModifierCount );
void ResetSequenceInfo( void );
float SequenceDuration( void );
float SequenceDuration( CStudioHdr *pStudioHdr, int iSequence );
@@ -444,6 +445,7 @@ public:
virtual bool ShouldResetSequenceOnNewModel( void );
virtual bool IsViewModel() const;
+ virtual void UpdateOnRemove( void );
protected:
// View models scale their attachment positions to account for FOV. To get the unmodified
@@ -605,7 +607,7 @@ private:
// Calculated attachment points
CUtlVector<CAttachmentData> m_Attachments;
- void SetupBones_AttachmentHelper( CStudioHdr *pStudioHdr );
+ bool SetupBones_AttachmentHelper( CStudioHdr *pStudioHdr );
EHANDLE m_hLightingOrigin;
EHANDLE m_hLightingOriginRelative;
@@ -758,19 +760,12 @@ inline CStudioHdr *C_BaseAnimating::GetModelPtr() const
inline void C_BaseAnimating::InvalidateMdlCache()
{
- if ( m_pStudioHdr )
- {
- UnlockStudioHdr();
- delete m_pStudioHdr;
- m_pStudioHdr = NULL;
- }
+ UnlockStudioHdr();
}
-
-inline bool C_BaseAnimating::IsModelScaleFractional() const /// very fast way to ask if the model scale is < 1.0f
+inline bool C_BaseAnimating::IsModelScaleFractional() const
{
- COMPILE_TIME_ASSERT( sizeof( m_flModelScale ) == sizeof( int ) );
- return *((const int *) &m_flModelScale) < 0x3f800000;
+ return ( m_flModelScale < 1.0f );
}
inline bool C_BaseAnimating::IsModelScaled() const