9#define TBONE_INVALID -1
10#define TSEQ_INVALID -1
228 TINT16 m_iBaseAnimationCount;
229 TINT16 m_iOverlayAnimationCount;
236 TINT m_iLastUpdateTimeFrame;
237 TINT m_iLastUpdateStateFrame;
4x4 matrix implementation for the Toshi engine
Quaternion implementation for the Toshi engine.
LoadLibrary TOSHI_NAMESPACE_START constexpr TINT TANIMATION_MAXBONES
#define TREINTERPRETCAST(TYPE, VALUE)
#define TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_END
TFORCEINLINE uint8_t GetFlags() const
TFORCEINLINE TBOOL IsOverlayAnimated() const
TFORCEINLINE uint16_t * GetKey(size_t a_iKeyIndex)
TFORCEINLINE TBOOL IsTranslateAnimated() const
TFORCEINLINE TUINT16 GetKeyCount() const
TFLOAT GetKeyPair(TINT a_iCurrentAnimProgress, TUINT16 &a_rCurrentKeyIndex, TUINT16 &a_rLerpFromIndex, TUINT16 &a_rLerpToIndex)
Returns lerp progress coefficient that should be used for animating.
TSkeletonSequenceBone * GetBones()
TFLOAT GetDuration() const
const TCHAR * GetName() const
TSkeletonSequenceBone * GetBone(TINT a_iIndex)
TUINT8 GetNameLength() const
TMatrix44 & GetTransformInv()
TINT GetParentBone() const
const TQuaternion & GetRotation() const
TUINT8 GetNameLength() const
const TCHAR * GetName() const
TMatrix44 & GetTransform()
const TMatrix44 & GetTransform() const
TQuaternion & GetRotation()
const TVector3 & GetPosition() const
TINT16 GetSequenceCount()
TSkeletonSequence * GetSequences()
TSkeletonInstance * CreateInstance(TBOOL a_bSetBasePose)
TINT GetSequenceID(const TCHAR *a_sSequenceName, TUINT32 a_iLength=0)
TSkeletonSequence * GetSequence(TINT a_iSequence)
t_fnQuatLerp GetQInterpFn() const
TSkeletonBone * GetBones()
TSkeletonSequence * m_SkeletonSequences
TINT16 m_iManualBoneCount
TSkeletonBone * GetBone(TINT a_iBone)
void(*)(TQuaternion &a_rOut, const TQuaternion &a_rStart, const TQuaternion &a_rEnd, TFLOAT a_fProgress) t_fnQuatLerp
TSkeletonBone * GetBone(const TCHAR *a_cBoneName, TUINT32 a_iLength=0)
void SetQInterpFn(QUATINTERP a_eQuatInterp)
t_fnQuatLerp m_fnQuatLerp
TINT16 m_iAnimationMaxCount
QUATINTERP m_eQuatLerpType
TKeyframeLibraryInstance m_KeyLibraryInstance
TSkeleton & operator=(const TSkeleton &a_rSkeleton)
TINT GetBoneID(const TCHAR *a_cBoneName, TUINT32 a_iLength=0)
TINT GetBoneCount() const
TSkeletonSequence * GetSequence(const TCHAR *a_sSequenceName, TUINT32 a_iLength=0)
TINT GetInstanceCount() const
TINT GetAnimationMaxCount()
TINT GetAutoBoneCount() const
TKeyframeLibraryInstance & GetKeyLibraryInstance()
TAnimation * AddAnimation(TUINT16 a_iSequenceIndex, TFLOAT a_fDestWeight, TFLOAT a_fBlendInSpeed)
void UpdateTime(TFLOAT a_fDeltaTime)
const TMatrix44 & GetBoneTransformCurrent(TINT a_iBone)
void UpdateState(TBOOL a_bForceUpdate)
void SetStateFromBasePose()
static TMatrix44 g_aForwardMatrices[TANIMATION_MAXBONES]
const TSkeletonInstanceBone & GetBone(TINT a_uiIndex)
static BoneCache g_aBonesCaches[TANIMATION_MAXBONES]
void RemoveAnimation(TAnimation *a_pAnimation, TFLOAT a_fBlendOutSpeed)
TAnimation * AddAnimationFull(TUINT16 a_iSequenceIndex, TFLOAT a_fDestWeight, TFLOAT a_fBlendInSpeed, TFLOAT a_fBlendOutSpeed, TAnimation::Flags a_eFlags)
void RemoveAllAnimations()
TAnimation * GetAnimation(TUINT16 a_iSeqId)
TSkeleton * GetSkeleton()
const TSkeletonInstanceBone * GetBones()