You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.8 KiB
65 lines
2.8 KiB
//========= 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
|
|
|