Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
J3DCluster.h
Go to the documentation of this file.
1#ifndef J3DCLUSTER_H
2#define J3DCLUSTER_H
3
4#include "JSystem/J3DAssert.h"
5
6class J3DDeformer;
7class J3DClusterKey;
10class J3DModel;
11class J3DAnmCluster;
12class JUTNameTab;
13
19public:
20 void operator=(const J3DCluster& other) {
21 mMaxAngle = other.mMaxAngle;
22 mMinAngle = other.mMinAngle;
24 mFlags = other.mFlags;
25 mKeyNum = other.mKeyNum;
26 mPosNum = other.mPosNum;
27 field_0x14 = other.field_0x14;
28 field_0x16 = other.field_0x16;
29 field_0x18 = other.field_0x18;
31 mDeformer = other.mDeformer;
32 }
33
35 void setDeformer(J3DDeformer* deformer) {
36 J3D_ASSERT_NULLPTR(111, deformer);
37 mDeformer = deformer;
38 }
39
40 /* 0x00 */ f32 mMaxAngle;
41 /* 0x04 */ f32 mMinAngle;
43 /* 0x0C */ u8 mFlags;
44 /* 0x0E */ u8 field_0xe[0x10 - 0xD];
45 /* 0x10 */ u16 mKeyNum;
46 /* 0x12 */ u16 mPosNum;
47 /* 0x14 */ u16 field_0x14;
48 /* 0x16 */ u16 field_0x16;
49 /* 0x18 */ u16* field_0x18;
52};
53
59public:
60 void operator=(const J3DClusterKey& other) {
61 mPosNum = other.mPosNum;
62 mNrmNum = other.mNrmNum;
63 field_0x4 = other.field_0x4;
64 field_0x8 = other.field_0x8;
65 }
66
67 /* 0x00 */ u16 mPosNum;
68 /* 0x02 */ u16 mNrmNum;
69 /* 0x04 */ void* field_0x4;
70 /* 0x08 */ void* field_0x8;
71}; // Size: 0x0C
72
78public:
80 void offAllFlag(u32);
82 void deform(J3DModel*);
83 void setAnm(J3DAnmCluster*);
84
86 J3D_ASSERT_RANGE(186, (index < mClusterNum));
87 return &mClusterPointer[index];
88 }
89 u16 getClusterNum() const { return mClusterNum; }
92 J3D_ASSERT_RANGE(199, (i < mClusterKeyNum));
93 return &mClusterKeyPointer[i];
94 }
95 f32* getVtxPos() { return mVtxPos; }
96 f32* getVtxNrm() { return mVtxNrm; }
97
98 /* 0x00 */ u16 mClusterNum;
99 /* 0x02 */ u16 mClusterKeyNum;
104 /* 0x14 */ u16 mVtxPosNum;
105 /* 0x16 */ u16 mVtxNrmNum;
106 /* 0x18 */ f32* mVtxPos;
107 /* 0x1C */ f32* mVtxNrm;
110}; // Size: 0x28
111
117public:
118 void operator=(const J3DClusterVertex& other) {
119 mNum = other.mNum;
120 field_0x4 = other.field_0x4;
121 field_0x8 = other.field_0x8;
122 }
123
124 /* 0x00 */ u16 mNum;
125 /* 0x04 */ u16* field_0x4;
126 /* 0x08 */ u16* field_0x8;
127}; // Size: 0x0C
128
129#endif /* J3DCLUSTER_H */
Definition J3DAnimation.h:644
Definition J3DCluster.h:58
u16 mNrmNum
Definition J3DCluster.h:68
u16 mPosNum
Definition J3DCluster.h:67
void * field_0x8
Definition J3DCluster.h:70
void * field_0x4
Definition J3DCluster.h:69
void operator=(const J3DClusterKey &other)
Definition J3DCluster.h:60
Definition J3DCluster.h:116
u16 mNum
Definition J3DCluster.h:124
u16 * field_0x8
Definition J3DCluster.h:126
void operator=(const J3DClusterVertex &other)
Definition J3DCluster.h:118
u16 * field_0x4
Definition J3DCluster.h:125
Definition J3DCluster.h:18
void setDeformer(J3DDeformer *deformer)
Definition J3DCluster.h:35
J3DClusterVertex * mClusterVertex
Definition J3DCluster.h:50
u16 field_0x14
Definition J3DCluster.h:47
f32 mMinAngle
Definition J3DCluster.h:41
u16 field_0x16
Definition J3DCluster.h:48
J3DDeformer * getDeformer()
Definition J3DCluster.h:34
J3DDeformer * mDeformer
Definition J3DCluster.h:51
u8 mFlags
Definition J3DCluster.h:43
void operator=(const J3DCluster &other)
Definition J3DCluster.h:20
u16 mPosNum
Definition J3DCluster.h:46
f32 mMaxAngle
Definition J3DCluster.h:40
u8 field_0xe[0x10 - 0xD]
Definition J3DCluster.h:44
J3DClusterKey * mClusterKey
Definition J3DCluster.h:42
u16 mKeyNum
Definition J3DCluster.h:45
u16 * field_0x18
Definition J3DCluster.h:49
Definition J3DCluster.h:77
u16 getClusterNum() const
Definition J3DCluster.h:89
u16 mVtxPosNum
Definition J3DCluster.h:104
J3DClusterKey * getClusterKeyPointer(u16 i)
Definition J3DCluster.h:91
f32 * mVtxPos
Definition J3DCluster.h:106
J3DClusterKey * mClusterKeyPointer
Definition J3DCluster.h:102
J3DCluster * getClusterPointer(u16 index)
Definition J3DCluster.h:85
u16 mClusterNum
Definition J3DCluster.h:98
J3DClusterVertex * mClusterVertex
Definition J3DCluster.h:103
JUTNameTab * mClusterName
Definition J3DCluster.h:108
void deform(J3DVertexBuffer *)
Definition J3DCluster.cpp:36
u16 mClusterKeyNum
Definition J3DCluster.h:99
JUTNameTab * mClusterKeyName
Definition J3DCluster.h:109
void offAllFlag(u32)
Definition J3DCluster.cpp:24
f32 * getVtxPos()
Definition J3DCluster.h:95
void setAnm(J3DAnmCluster *)
Definition J3DCluster.cpp:56
J3DDeformData()
Definition J3DCluster.cpp:9
f32 * getVtxNrm()
Definition J3DCluster.h:96
u16 mVtxNrmNum
Definition J3DCluster.h:105
J3DCluster * mClusterPointer
Definition J3DCluster.h:101
f32 * mVtxNrm
Definition J3DCluster.h:107
u16 mClusterVertexNum
Definition J3DCluster.h:100
u16 getClusterKeyNum() const
Definition J3DCluster.h:90
Definition J3DSkinDeform.h:82
Definition J3DModel.h:43
Definition J3DVertex.h:79
Definition JUTNameTab.h:27
static u8 index[20][3]
Definition GXDraw.c:434
int i
Definition e_log.c:92
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8