diff options
| author | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
| commit | 39ed87570bdb2f86969d4be821c94b722dc71179 (patch) | |
| tree | abc53757f75f40c80278e87650ea92808274aa59 /sp/src/game/shared/animation.h | |
| download | source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip | |
First version of the SOurce SDK 2013
Diffstat (limited to 'sp/src/game/shared/animation.h')
| -rw-r--r-- | sp/src/game/shared/animation.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/sp/src/game/shared/animation.h b/sp/src/game/shared/animation.h new file mode 100644 index 00000000..968c22b2 --- /dev/null +++ b/sp/src/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
|