diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/shared/animation.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/shared/animation.h')
| -rw-r--r-- | game/shared/animation.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/game/shared/animation.h b/game/shared/animation.h new file mode 100644 index 0000000..eb6ae87 --- /dev/null +++ b/game/shared/animation.h @@ -0,0 +1,65 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +#ifndef ANIMATION_H +#define ANIMATION_H + +#define ACTIVITY_NOT_AVAILABLE -1 + +struct animevent_t; +struct studiohdr_t; +class CStudioHdr; +struct mstudioseqdesc_t; + +int ExtractBbox( CStudioHdr *pstudiohdr, int sequence, Vector& mins, Vector& maxs ); + +void IndexModelSequences( CStudioHdr *pstudiohdr ); +void ResetActivityIndexes( CStudioHdr *pstudiohdr ); +void VerifySequenceIndex( CStudioHdr *pstudiohdr ); +int SelectWeightedSequence( CStudioHdr *pstudiohdr, int activity, int curSequence = -1 ); +int SelectHeaviestSequence( CStudioHdr *pstudiohdr, int activity ); +void SetEventIndexForSequence( mstudioseqdesc_t &seqdesc ); +void BuildAllAnimationEventIndexes( CStudioHdr *pstudiohdr ); +void ResetEventIndexes( CStudioHdr *pstudiohdr ); + +void GetEyePosition( CStudioHdr *pstudiohdr, Vector &vecEyePosition ); + +int LookupActivity( CStudioHdr *pstudiohdr, const char *label ); +int LookupSequence( CStudioHdr *pstudiohdr, const char *label ); + +#define NOMOTION 99999 +void GetSequenceLinearMotion( CStudioHdr *pstudiohdr, int iSequence, const float poseParameter[], Vector *pVec ); + +const char *GetSequenceName( CStudioHdr *pstudiohdr, int sequence ); +const char *GetSequenceActivityName( CStudioHdr *pstudiohdr, int iSequence ); + +int GetSequenceFlags( CStudioHdr *pstudiohdr, int sequence ); +int GetAnimationEvent( CStudioHdr *pstudiohdr, int sequence, animevent_t *pNPCEvent, float flStart, float flEnd, int index ); +bool HasAnimationEventOfType( CStudioHdr *pstudiohdr, int sequence, int type ); + +int FindTransitionSequence( CStudioHdr *pstudiohdr, int iCurrentSequence, int iGoalSequence, int *piDir ); +bool GotoSequence( CStudioHdr *pstudiohdr, int iCurrentSequence, float flCurrentCycle, float flCurrentRate, int iGoalSequence, int &nNextSequence, float &flNextCycle, int &iNextDir ); + +void SetBodygroup( CStudioHdr *pstudiohdr, int& body, int iGroup, int iValue ); +int GetBodygroup( CStudioHdr *pstudiohdr, int body, int iGroup ); + +const char *GetBodygroupName( CStudioHdr *pstudiohdr, int iGroup ); +int FindBodygroupByName( CStudioHdr *pstudiohdr, const char *name ); +int GetBodygroupCount( CStudioHdr *pstudiohdr, int iGroup ); +int GetNumBodyGroups( CStudioHdr *pstudiohdr ); + +int GetSequenceActivity( CStudioHdr *pstudiohdr, int sequence, int *pweight = NULL ); + +void GetAttachmentLocalSpace( CStudioHdr *pstudiohdr, int attachIndex, matrix3x4_t &pLocalToWorld ); + +float SetBlending( CStudioHdr *pstudiohdr, int sequence, int *pblendings, int iBlender, float flValue ); + +int FindHitboxSetByName( CStudioHdr *pstudiohdr, const char *name ); +const char *GetHitboxSetName( CStudioHdr *pstudiohdr, int setnumber ); +int GetHitboxSetCount( CStudioHdr *pstudiohdr ); + +#endif //ANIMATION_H |