1
0
Fork 0
mirror of https://git.rip/DMCA_FUCKER/re3.git synced 2024-06-26 09:17:37 +00:00
re3/src/animation/AnimBlendNode.h

38 lines
1.1 KiB
C
Raw Normal View History

#pragma once
#include "AnimBlendSequence.h"
class CAnimBlendAssociation;
// The interpolated state between two key frames in a sequence
class CAnimBlendNode
{
public:
// for slerp
float theta; // angle between quaternions
float invSin; // 1/Sin(theta)
// indices into array in sequence
int32 frameA; // next key frame
int32 frameB; // previous key frame
float remainingTime; // time until frames have to advance
CAnimBlendSequence *sequence;
CAnimBlendAssociation *association;
void Init(void);
bool Update(CVector &trans, CQuaternion &rot, float weight);
2020-12-18 22:46:51 +00:00
bool UpdateCompressed(CVector &trans, CQuaternion &rot, float weight);
bool NextKeyFrame(void);
2020-12-18 22:46:51 +00:00
bool NextKeyFrameCompressed(void);
bool FindKeyFrame(float t);
bool SetupKeyFrameCompressed(void);
void CalcDeltas(void);
void CalcDeltasCompressed(void);
void GetCurrentTranslation(CVector &trans, float weight);
2020-12-18 22:46:51 +00:00
void GetCurrentTranslationCompressed(CVector &trans, float weight);
void GetEndTranslation(CVector &trans, float weight);
2020-12-18 22:46:51 +00:00
void GetEndTranslationCompressed(CVector &trans, float weight);
};
2020-05-10 13:54:37 +00:00
VALIDATE_SIZE(CAnimBlendNode, 0x1C);