diff options
| author | John Schoenick <[email protected]> | 2015-09-09 18:35:41 -0700 |
|---|---|---|
| committer | John Schoenick <[email protected]> | 2015-09-09 18:35:41 -0700 |
| commit | 0d8dceea4310fde5706b3ce1c70609d72a38efdf (patch) | |
| tree | c831ef32c2c801a5c5a80401736b52c7b5a528ec /mp/src/game/client/c_baseanimating.h | |
| parent | Updated the SDK with the latest code from the TF and HL2 branches. (diff) | |
| download | source-sdk-2013-master.tar.xz source-sdk-2013-master.zip | |
Diffstat (limited to 'mp/src/game/client/c_baseanimating.h')
| -rw-r--r-- | mp/src/game/client/c_baseanimating.h | 23 |
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 |