mirror of
https://github.com/halpz/re3.git
synced 2025-03-06 03:59:39 +00:00
46 lines
835 B
C++
46 lines
835 B
C++
#pragma once
|
|
|
|
#include "AnimBlendList.h"
|
|
|
|
|
|
struct AnimBlendFrameData
|
|
{
|
|
enum {
|
|
IGNORE_ROTATION = 2,
|
|
IGNORE_TRANSLATION = 4,
|
|
VELOCITY_EXTRACTION = 8,
|
|
VELOCITY_EXTRACTION_3D = 0x10,
|
|
UPDATE_KEYFRAMES = 0x20,
|
|
COMPRESSED = 0x40
|
|
};
|
|
|
|
uint8 flag;
|
|
RwV3d resetPos;
|
|
union {
|
|
RwFrame *frame;
|
|
RpHAnimStdInterpFrame *hanimFrame;
|
|
};
|
|
int32 nodeID;
|
|
};
|
|
VALIDATE_SIZE(AnimBlendFrameData, 0x18);
|
|
|
|
|
|
class CAnimBlendClumpData
|
|
{
|
|
public:
|
|
CAnimBlendLink link;
|
|
int32 numFrames;
|
|
union {
|
|
CVector2D *velocity2d;
|
|
CVector *velocity3d;
|
|
};
|
|
// order of frames is determined by RW hierarchy
|
|
AnimBlendFrameData *frames;
|
|
|
|
CAnimBlendClumpData(void);
|
|
~CAnimBlendClumpData(void);
|
|
void SetNumberOfFrames(int n);
|
|
void SetNumberOfBones(int n) { SetNumberOfFrames(n); }
|
|
void ForAllFrames(void (*cb)(AnimBlendFrameData*, void*), void *arg);
|
|
};
|