Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
J3DJointTree.h
Go to the documentation of this file.
1#ifndef J3DJOINTTREE_H
2#define J3DJOINTTREE_H
3
5
6class JUTNameTab;
7
13 /* 0x0 */ u16 mType;
14 /* 0x2 */ u16 mValue;
15};
16
18
24 /* 803115E0 */ J3DDrawMtxData();
25 /* 803115F4 */ ~J3DDrawMtxData();
26
27 /* 0x0 */ u16 mEntryNum;
29 /* 0x4 */ u8* mDrawMtxFlag;
30 /* 0x8 */ u16* mDrawMtxIndex;
31}; // Size: 0xC
32
33class J3DShapeTable;
34
40public:
41 /* 80325A18 */ J3DJointTree();
42 /* 80325A9C */ void makeHierarchy(J3DJoint*, J3DModelHierarchy const**, J3DMaterialTable*,
44 /* 80325C00 */ void findImportantMtxIndex();
45
46 /* 80325CAC */ virtual void calc(J3DMtxBuffer*, Vec const&, f32 const (&)[3][4]);
47 /* 80325D24 */ virtual ~J3DJointTree() {}
48
52 u16 getWEvlpMtxNum() const { return mWEvlpMtxNum; }
54 u8 getWEvlpMixMtxNum(u16 idx) const { return mWEvlpMixMtxNum[idx]; }
59 u16 getJointNum() const { return mJointNum; }
61 u8 getDrawMtxFlag(u16 idx) const { return mDrawMtxData.mDrawMtxFlag[idx]; }
62 u16 getDrawMtxIndex(u16 idx) const { return mDrawMtxData.mDrawMtxIndex[idx]; }
64 JUTNameTab* getJointName() const { return mJointName; }
68 Mtx& getInvJointMtx(s32 idx) const { return mInvJointMtx[idx]; }
70 void setModelDataType(u32 type) { mModelDataType = type; }
71 bool checkFlag(u32 flag) { return mFlags & flag; }
72 void setFlag(u32 flag) { mFlags = flag; }
73
74private:
75 friend class J3DModelLoader;
76
78 /* 0x08 */ u32 mFlags;
79 /* 0x0C */ u32 mModelDataType;
80 /* 0x10 */ J3DJoint* mRootNode;
83 /* 0x1C */ u16 mJointNum;
84 /* 0x1E */ u16 mWEvlpMtxNum;
85 /* 0x20 */ u8* mWEvlpMixMtxNum;
87 /* 0x28 */ f32* mWEvlpMixWeight;
88 /* 0x2C */ Mtx* mInvJointMtx;
91 /* 0x40 */ u32 field_0x40;
93}; // Size: 0x48
94
95#endif /* J3DJOINTTREE_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition J3DJointTree.h:39
void setHierarchy(J3DModelHierarchy *hierarchy)
Definition J3DJointTree.h:50
J3DMtxCalc * mBasicMtxCalc
Definition J3DJointTree.h:81
u16 mWEvlpMtxNum
Definition J3DJointTree.h:84
u16 * getWEvlpMixIndex() const
Definition J3DJointTree.h:53
JUTNameTab * mJointName
Definition J3DJointTree.h:92
J3DJointTree()
Definition J3DJointTree.cpp:7
u16 * getWEvlpImportantMtxIndex() const
Definition J3DJointTree.h:57
JUTNameTab * getJointName() const
Definition J3DJointTree.h:64
u16 getDrawMtxNum() const
Definition J3DJointTree.h:60
u16 getWEvlpMtxNum() const
Definition J3DJointTree.h:52
J3DDrawMtxData mDrawMtxData
Definition J3DJointTree.h:90
Mtx * mInvJointMtx
Definition J3DJointTree.h:88
u32 field_0x40
Definition J3DJointTree.h:91
void findImportantMtxIndex()
Definition J3DJointTree.cpp:85
J3DMtxCalc * getBasicMtxCalc() const
Definition J3DJointTree.h:67
u16 getDrawMtxIndex(u16 idx) const
Definition J3DJointTree.h:62
J3DModelHierarchy const * getHierarchy()
Definition J3DJointTree.h:49
J3DDrawMtxData * getDrawMtxData()
Definition J3DJointTree.h:63
u32 getModelDataType() const
Definition J3DJointTree.h:69
J3DJoint ** mJointNodePointer
Definition J3DJointTree.h:82
J3DModelHierarchy * mHierarchy
Definition J3DJointTree.h:77
void setFlag(u32 flag)
Definition J3DJointTree.h:72
u8 getWEvlpMixMtxNum(u16 idx) const
Definition J3DJointTree.h:54
f32 * getWEvlpMixWeight() const
Definition J3DJointTree.h:56
virtual void calc(J3DMtxBuffer *, Vec const &, f32 const (&)[3][4])
Definition J3DJointTree.cpp:118
u8 * mWEvlpMixMtxNum
Definition J3DJointTree.h:85
u16 mJointNum
Definition J3DJointTree.h:83
u16 * mWEvlpImportantMtxIdx
Definition J3DJointTree.h:89
u32 mModelDataType
Definition J3DJointTree.h:79
u32 mFlags
Definition J3DJointTree.h:78
bool checkFlag(u32 flag)
Definition J3DJointTree.h:71
u16 * mWEvlpMixMtxIndex
Definition J3DJointTree.h:86
f32 * mWEvlpMixWeight
Definition J3DJointTree.h:87
J3DJoint * getJointNodePointer(u16 idx) const
Definition J3DJointTree.h:66
u16 getJointNum() const
Definition J3DJointTree.h:59
u16 getDrawFullWgtMtxNum() const
Definition J3DJointTree.h:58
void setModelDataType(u32 type)
Definition J3DJointTree.h:70
void makeHierarchy(J3DJoint *, J3DModelHierarchy const **, J3DMaterialTable *, J3DShapeTable *)
Definition J3DJointTree.cpp:16
void setBasicMtxCalc(J3DMtxCalc *calc)
Definition J3DJointTree.h:51
u8 getDrawMtxFlag(u16 idx) const
Definition J3DJointTree.h:61
Mtx & getInvJointMtx(s32 idx) const
Definition J3DJointTree.h:68
virtual ~J3DJointTree()
Definition J3DJointTree.h:47
u16 * getWEvlpMixMtxIndex() const
Definition J3DJointTree.h:55
J3DJoint * mRootNode
Definition J3DJointTree.h:80
J3DJoint * getRootNode()
Definition J3DJointTree.h:65
Definition J3DModelLoader.h:246
Definition J3DMtxBuffer.h:12
Definition J3DShapeTable.h:12
Definition JUTNameTab.h:27
static volatile BOOL flag
Definition dspproc.cpp:20
f32 Mtx[3][4]
Definition mtx.h:15
Definition J3DJointTree.h:23
u16 mDrawFullWgtMtxNum
Definition J3DJointTree.h:28
~J3DDrawMtxData()
Definition J3DVertex.cpp:244
u8 * mDrawMtxFlag
Definition J3DJointTree.h:29
J3DDrawMtxData()
Definition J3DVertex.cpp:237
u16 mEntryNum
Definition J3DJointTree.h:27
u16 * mDrawMtxIndex
Definition J3DJointTree.h:30
Definition d_a_hozelda.cpp:239
Definition d_a_hozelda.cpp:34
Definition J3DJointTree.h:12
u16 mValue
Definition J3DJointTree.h:14
u16 mType
Definition J3DJointTree.h:13
Definition d_a_hozelda.cpp:217
Definition d_a_hozelda.cpp:18
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
unsigned short u16
Definition types.h:9
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8