summaryrefslogtreecommitdiff
path: root/src/animation/AnimBlendClumpData.h
diff options
context:
space:
mode:
authorclaude-bot <[email protected]>2026-07-13 12:27:07 +0000
committerclaude-bot <[email protected]>2026-07-13 12:27:07 +0000
commit9f61c9e6ac6b1ac5692cf6352d2ebbd47a31a686 (patch)
treea84756b82513739a2672db3a1f0ec579db6d18ff /src/animation/AnimBlendClumpData.h
downloadre3-9f61c9e6ac6b1ac5692cf6352d2ebbd47a31a686.tar.gz
re3-9f61c9e6ac6b1ac5692cf6352d2ebbd47a31a686.zip
Import Cai1Hsu/re3 @ miami (reVC / GTA:VC decompilation)HEADmiami
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.h45
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);
+};