diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2021-05-23 03:09:59 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-23 12:09:59 +0200 |
| commit | e915df66c806bdff65aa243649f7abfe6cc19227 (patch) | |
| tree | 226e708c0546c45f65420446382ba597ad773651 /include/JSystem/J3DGraphAnimator | |
| parent | 462d71cbef02ef119fc2aa480b98cfeedde46441 (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.h | 4 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DModel.h | 87 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DModelData.h | 12 |
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 */ |
