summaryrefslogtreecommitdiffstats
path: root/src/animation/RpAnimBlend.h
diff options
context:
space:
mode:
authorFire_Head <Fire-Head@users.noreply.github.com>2019-06-12 00:57:49 +0200
committerGitHub <noreply@github.com>2019-06-12 00:57:49 +0200
commit0f402c97ea94c3980aa7aa0305a35db1a3f59c2b (patch)
tree1d9bb0ba737fcd4ba0189c72ecd651eddbe04ac4 /src/animation/RpAnimBlend.h
parenttmp (diff)
parentadded animation system (with skin support for now) (diff)
downloadre3-0f402c97ea94c3980aa7aa0305a35db1a3f59c2b.tar
re3-0f402c97ea94c3980aa7aa0305a35db1a3f59c2b.tar.gz
re3-0f402c97ea94c3980aa7aa0305a35db1a3f59c2b.tar.bz2
re3-0f402c97ea94c3980aa7aa0305a35db1a3f59c2b.tar.lz
re3-0f402c97ea94c3980aa7aa0305a35db1a3f59c2b.tar.xz
re3-0f402c97ea94c3980aa7aa0305a35db1a3f59c2b.tar.zst
re3-0f402c97ea94c3980aa7aa0305a35db1a3f59c2b.zip
Diffstat (limited to '')
-rw-r--r--src/animation/RpAnimBlend.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/animation/RpAnimBlend.h b/src/animation/RpAnimBlend.h
new file mode 100644
index 00000000..24c3d273
--- /dev/null
+++ b/src/animation/RpAnimBlend.h
@@ -0,0 +1,39 @@
+#pragma once
+
+class CAnimBlendNode;
+class CAnimBlendAssociation;
+class CAnimBlendClumpData;
+struct AnimBlendFrameData;
+
+struct AnimBlendFrameUpdateData
+{
+ int foobar;
+ CAnimBlendNode *nodes[16];
+};
+
+extern RwInt32 &ClumpOffset;
+#define RPANIMBLENDCLUMPDATA(o) (RWPLUGINOFFSET(CAnimBlendClumpData*, o, ClumpOffset))
+
+bool RpAnimBlendPluginAttach(void);
+CAnimBlendAssociation *RpAnimBlendGetNextAssociation(CAnimBlendAssociation *assoc);
+CAnimBlendAssociation *RpAnimBlendGetNextAssociation(CAnimBlendAssociation *assoc, uint32 mask);
+void RpAnimBlendAllocateData(RpClump *clump);
+
+void RpAnimBlendClumpSetBlendDeltas(RpClump *clump, uint32 mask, float delta);
+void RpAnimBlendClumpRemoveAllAssociations(RpClump *clump);
+void RpAnimBlendClumpRemoveAssociations(RpClump *clump, uint32 mask);
+void RpAnimBlendClumpInit(RpClump *clump);
+bool RpAnimBlendClumpIsInitialized(RpClump *clump);
+AnimBlendFrameData *RpAnimBlendClumpFindFrame(RpClump *clump, const char *name);
+void FillFrameArrayCallBack(AnimBlendFrameData *frame, void *arg);
+CAnimBlendAssociation *RpAnimBlendClumpGetAssociation(RpClump *clump, uint32 id);
+CAnimBlendAssociation *RpAnimBlendClumpGetMainAssociation(RpClump *clump, CAnimBlendAssociation **assocRet, float *blendRet);
+CAnimBlendAssociation *RpAnimBlendClumpGetMainPartialAssociation(RpClump *clump);
+CAnimBlendAssociation *RpAnimBlendClumpGetMainAssociation_N(RpClump *clump, int n);
+CAnimBlendAssociation *RpAnimBlendClumpGetMainPartialAssociation_N(RpClump *clump, int n);
+CAnimBlendAssociation *RpAnimBlendClumpGetFirstAssociation(RpClump *clump, uint32 mask);
+CAnimBlendAssociation *RpAnimBlendClumpGetFirstAssociation(RpClump *clump);
+
+
+extern CAnimBlendClumpData *&gpAnimBlendClump;
+void FrameUpdateCallBack(AnimBlendFrameData *frame, void *arg);