summaryrefslogtreecommitdiff
path: root/include/JSystem/J3DGraphAnimator
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2021-05-23 03:09:59 -0700
committerGitHub <noreply@github.com>2021-05-23 12:09:59 +0200
commite915df66c806bdff65aa243649f7abfe6cc19227 (patch)
tree226e708c0546c45f65420446382ba597ad773651 /include/JSystem/J3DGraphAnimator
parent462d71cbef02ef119fc2aa480b98cfeedde46441 (diff)
move d_a_alink and some related stuff (#130)
* clean up d_a_player * move some of daalink * more daalink / daplayer * setup some daalink members * rest of daalink members setup * remove comment * few more matches * remove asm * more matches * more matches + move e_wb_class * fix some d_save classes Co-authored-by: lepelog <lepelog@users.noreply.github.com>
Diffstat (limited to 'include/JSystem/J3DGraphAnimator')
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DAnimation.h4
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DModel.h87
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DModelData.h12
3 files changed, 101 insertions, 2 deletions
diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h
index 184cd1a2d7..183b45b14a 100644
--- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h
+++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h
@@ -7,11 +7,11 @@
class J3DFrameCtrl {
public:
void init(s16);
- void checkPass(f32);
+ BOOL checkPass(f32);
void update();
~J3DFrameCtrl();
- float getRate() { return mRate; }
+ float getRate() const { return mRate; }
void setAttribute(u8 pAttr) { mAttribute = pAttr; }
void setEnd(s16 pEnd) { mEnd = pEnd; }
void setRate(float pRate) { mRate = pRate; }
diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h
index d4828ac555..af644741c0 100644
--- a/include/JSystem/J3DGraphAnimator/J3DModel.h
+++ b/include/JSystem/J3DGraphAnimator/J3DModel.h
@@ -1,6 +1,93 @@
#ifndef J3DMODEL_H
#define J3DMODEL_H
+#include "JSystem/J3DGraphAnimator/J3DModelData.h"
+#include "dolphin/mtx/mtxvec.h"
#include "dolphin/types.h"
+class J3DModel;
+struct J3DSkinDeform {
+ /* 8032C9B0 */ void initSkinInfo(J3DModelData*);
+ /* 8032CF44 */ void initMtxIndexArray(J3DModelData*);
+ /* 8032D378 */ void changeFastSkinDL(J3DModelData*);
+ /* 8032D738 */ void transformVtxPosNrm(J3DModelData*);
+ /* 8032DFDC */ void deform(J3DModel*);
+};
+
+struct J3DDeformData {
+ /* 8032E230 */ void offAllFlag(u32);
+ /* 8032E274 */ void deform(J3DModel*);
+};
+
+class J3DMtxBuffer {
+public:
+ /* 80326214 */ void initialize();
+ /* 80326258 */ void create(J3DModelData*, u32);
+ /* 803268D4 */ void calcWeightEnvelopeMtx();
+ /* 80326ACC */ void calcDrawMtx(u32, Vec const&, f32 const (&)[3][4]);
+ /* 80326D3C */ void calcNrmMtx();
+ /* 80326EF0 */ void calcBBoardMtx();
+ /* 803283B4 */ ~J3DMtxBuffer();
+
+ Mtx* getAnmMtx(int p1) {
+ Mtx* tmp = mMatrices[0];
+ return tmp + (p1);
+ }
+
+ /* 0x00 */ void* mJointTree;
+ /* 0x04 */ u32 field_0x4;
+ /* 0x08 */ u32 field_0x8;
+ /* 0x0C */ Mtx* mMatrices[5];
+};
+
+class J3DModel {
+public:
+ /* 800CFFF4 */ void setBaseTRMtx(f32 (*)[4]);
+ /* 80327100 */ void initialize();
+ /* 80327184 */ void entryModelData(J3DModelData*, u32, u32);
+ /* 80327300 */ void createShapePacket(J3DModelData*);
+ /* 803273CC */ void createMatPacket(J3DModelData*, u32);
+ /* 803275FC */ void newDifferedDisplayList(u32);
+ /* 8032767C */ void lock();
+ /* 803276B4 */ void unlock();
+ /* 803276EC */ void calcMaterial();
+ /* 80327858 */ void calcDiffTexMtx();
+ /* 803279A0 */ void diff();
+ /* 80327A2C */ void setDeformData(J3DDeformData*, u32);
+ /* 80327AA0 */ void setSkinDeform(J3DSkinDeform*, u32);
+ /* 80327BD4 */ void calcAnmMtx();
+ /* 80327C58 */ void calcWeightEnvelopeMtx();
+ /* 80327CA4 */ void update();
+ /* 80327CF0 */ void calc();
+ /* 80327E4C */ void entry();
+ /* 80327F40 */ void viewCalc();
+ /* 80328190 */ void calcNrmMtx();
+ /* 803281B4 */ void calcBumpMtx();
+ /* 803282B8 */ void calcBBoardMtx();
+ /* 803282EC */ void prepareShapePackets();
+ /* 80328350 */ ~J3DModel();
+ Mtx* getAnmMtx(int p1);
+
+ // better way to handle inlines with same name as non-inlines?
+ Mtx* i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); }
+
+ /* 0x00 */ void* vtable;
+ /* 0x04 */ J3DModelData* mModelData;
+ /* 0x08 */ u32 mFlags;
+ /* 0x0C */ u32 field_0x0c;
+ /* 0x10 */ int field_0x10;
+ /* 0x14 */ int mUserData;
+ /* 0x18 */ Vec mPosition;
+ /* 0x24 */ Mtx mBaseTransformMtx;
+ /* 0x54 */ Mtx mInternalView;
+ /* 0x84 */ J3DMtxBuffer* mMtxBuffer;
+ /* 0x88 */ void* mVertexBuffer;
+ /* 0xC0 */ void* mMaterialPacket;
+ /* 0xC4 */ void* mShapePacket;
+ /* 0xC8 */ void* mDeformData;
+ /* 0xCC */ void* mSkinDeform;
+ /* 0xD0 */ void* mVtxColorCalc;
+ /* 0xD4 */ u8 field_0xd4[8];
+};
+
#endif /* J3DMODEL_H */
diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h
index 84e10af0fb..76d4b40ab7 100644
--- a/include/JSystem/J3DGraphAnimator/J3DModelData.h
+++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h
@@ -3,4 +3,16 @@
#include "dolphin/types.h"
+class J3DModelData {
+ /* 80325D88 */ void clear();
+ /* 80325DA0 */ J3DModelData();
+ /* 80325E14 */ void newSharedDisplayList(u32);
+ /* 80325EC8 */ void indexToPtr();
+ /* 80325F94 */ void makeSharedDL();
+ /* 8032600C */ void simpleCalcMaterial(u16, f32 (*)[4]);
+ /* 803260CC */ void syncJ3DSysPointers() const;
+ /* 803260F8 */ void syncJ3DSysFlags() const;
+ /* 8032617C */ ~J3DModelData();
+};
+
#endif /* J3DMODELDATA_H */