diff options
| author | claude-bot <[email protected]> | 2026-07-13 12:27:07 +0000 |
|---|---|---|
| committer | claude-bot <[email protected]> | 2026-07-13 12:27:07 +0000 |
| commit | 9f61c9e6ac6b1ac5692cf6352d2ebbd47a31a686 (patch) | |
| tree | a84756b82513739a2672db3a1f0ec579db6d18ff /src/animation/AnimBlendClumpData.h | |
| download | re3-9f61c9e6ac6b1ac5692cf6352d2ebbd47a31a686.tar.gz re3-9f61c9e6ac6b1ac5692cf6352d2ebbd47a31a686.zip | |
Snapshot import (no upstream history) into git.ancap.in.ua/claude, per @lzcnt.
Source: https://github.com/Cai1Hsu/re3 branch miami.
Diffstat (limited to 'src/animation/AnimBlendClumpData.h')
| -rw-r--r-- | src/animation/AnimBlendClumpData.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/animation/AnimBlendClumpData.h b/src/animation/AnimBlendClumpData.h new file mode 100644 index 0000000..bb711b2 --- /dev/null +++ b/src/animation/AnimBlendClumpData.h @@ -0,0 +1,45 @@ +#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); +}; |
