Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
J3DSkinDeform.h
Go to the documentation of this file.
1#ifndef J3DSKINDEFORM_H
2#define J3DSKINDEFORM_H
3
6#include "dolphin/types.h"
7
8class J3DModel;
9class J3DAnmCluster;
11class JUTNameTab;
12
18 /* 8032C6E4 */ J3DSkinNList();
19 /* 8032C85C */ void calcSkin_VtxPosF32(f32 (*)[4], void*, void*);
20 /* 8032C8E4 */ void calcSkin_VtxNrmF32(f32 (*)[4], void*, void*);
21
22 /* 0x00 */ u16* field_0x0;
23 /* 0x04 */ u16* field_0x4;
24 /* 0x08 */ f32* field_0x8;
25 /* 0x0C */ f32* field_0xc;
26 /* 0x10 */ u16 field_0x10;
27 /* 0x12 */ u16 field_0x12;
28}; // Size: 0x14
29
35public:
36 /* 8032C96C */ J3DSkinDeform();
37 /* 8032C9B0 */ void initSkinInfo(J3DModelData*);
38 /* 8032CF44 */ int initMtxIndexArray(J3DModelData*);
39 /* 8032D378 */ void changeFastSkinDL(J3DModelData*);
40 /* 8032D5C4 */ void calcNrmMtx(J3DMtxBuffer*);
41 /* 8032D738 */ void transformVtxPosNrm(J3DModelData*);
42 /* 8032D87C */ void calcAnmInvJointMtx(J3DMtxBuffer*);
43 /* 8032D8F4 */ void deformFastVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const;
44 /* 8032DA1C */ void deformFastVtxNrm_F32(J3DVertexBuffer*, J3DMtxBuffer*) const;
45 /* 8032DB50 */ void deformVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const;
46 /* 8032DC74 */ void deformVtxPos_S16(J3DVertexBuffer*, J3DMtxBuffer*) const;
47 /* 8032DDB8 */ void deformVtxNrm_F32(J3DVertexBuffer*) const;
48 /* 8032DEBC */ void deformVtxNrm_S16(J3DVertexBuffer*) const;
49 /* 8032DFDC */ void deform(J3DModel*);
53 Mtx3P getNrmMtx(int i) { return mNrmMtx[i]; }
54 void onFlag(u32 flag) { mFlags |= flag; }
55 void offFlag(u32 flag) { mFlags &= ~flag; }
56 bool checkFlag(u32 flag) { return mFlags & flag; }
57
58 /* 8032E064 */ virtual void deform(J3DVertexBuffer*, J3DMtxBuffer*);
59 /* 8032E1B0 */ virtual ~J3DSkinDeform();
60
63 static u16 sWorkArea_MtxReg[1024 + 4 /* padding */];
64
65private:
66 /* 0x04 */ u16* mPosData;
67 /* 0x08 */ u16* mNrmData;
68 /* 0x0C */ Mtx* mPosMtx;
69 /* 0x10 */ Mtx33* mNrmMtx;
70 /* 0x14 */ u32 mFlags;
71 /* 0x18 */ u8 field_0x18;
72 /* 0x19 */ u8 field_0x19;
73 /* 0x1C */ int field_0x1c;
74 /* 0x20 */ int field_0x20;
76};
77
83public:
84 /* 8032E39C */ J3DDeformer(J3DDeformData*);
85 /* 8032EAB4 */ void deform(J3DVertexBuffer*, u16, f32*);
86 /* 8032E3BC */ void deform(J3DVertexBuffer*, u16);
89 /* 8032EBCC */ void normalizeWeight(int, f32*);
90
92 bool checkFlag(u32 i_flag) { return mFlags & i_flag; }
95
98 /* 0x08 */ f32* field_0x8;
99 /* 0x0C */ f32* field_0xc;
100 /* 0x10 */ u32 mFlags;
101}; // Size: 0x14
102
103inline void J3DFillZero32B(register void* param_0, register u32 param_1) {
104 asm {
108 dcbz 0, param_0
109 addi param_0, param_0, 0x20
111 }
112}
113
114#endif /* J3DSKINDEFORM_H */
void J3DFillZero32B(register void *param_0, register u32 param_1)
Definition J3DSkinDeform.h:103
void J3DPSMtx33CopyFrom34(register MtxP src, register Mtx3P dst)
Definition J3DTransform.h:93
static Mtx mtx[10]
Definition c_lib.cpp:347
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition J3DAnimation.h:811
Definition J3DCluster.h:55
Definition J3DCluster.h:107
Definition J3DCluster.h:18
Definition J3DCluster.h:74
Definition J3DSkinDeform.h:82
J3DDeformData * mDeformData
Definition J3DSkinDeform.h:96
bool checkFlag(u32 i_flag)
Definition J3DSkinDeform.h:92
void deform_VtxNrmF32(J3DVertexBuffer *, J3DCluster *, J3DClusterKey *, f32 *)
Definition J3DCluster.cpp:153
void normalize(f32 *i_vec)
Definition J3DSkinDeform.h:94
void setAnmCluster(J3DAnmCluster *anm)
Definition J3DSkinDeform.h:93
void offFlag(u32 i_flag)
Definition J3DSkinDeform.h:91
f32 * field_0x8
Definition J3DSkinDeform.h:98
u32 mFlags
Definition J3DSkinDeform.h:100
void normalizeWeight(int, f32 *)
Definition J3DCluster.cpp:269
J3DAnmCluster * mAnmCluster
Definition J3DSkinDeform.h:97
void deform_VtxPosF32(J3DVertexBuffer *, J3DCluster *, J3DClusterKey *, f32 *)
Definition J3DCluster.cpp:115
void deform(J3DVertexBuffer *, u16, f32 *)
Definition J3DCluster.cpp:249
f32 * field_0xc
Definition J3DSkinDeform.h:99
Definition J3DMtxBuffer.h:12
Definition J3DSkinDeform.h:34
int field_0x1c
Definition J3DSkinDeform.h:73
static u16 sWorkArea_MtxReg[1024+4]
Definition J3DSkinDeform.h:63
u16 * mNrmData
Definition J3DSkinDeform.h:67
void calcAnmInvJointMtx(J3DMtxBuffer *)
Definition J3DSkinDeform.cpp:451
Mtx3P getNrmMtx(int i)
Definition J3DSkinDeform.h:53
void onFlag(u32 flag)
Definition J3DSkinDeform.h:54
int initMtxIndexArray(J3DModelData *)
Definition J3DSkinDeform.cpp:212
void deformVtxNrm_S16(J3DVertexBuffer *) const
Definition J3DSkinDeform.cpp:579
void initSkinInfo(J3DModelData *)
Definition J3DSkinDeform.cpp:102
Mtx33 * mNrmMtx
Definition J3DSkinDeform.h:69
void changeFastSkinDL(J3DModelData *)
Definition J3DSkinDeform.cpp:338
void deformVtxPos_F32(J3DVertexBuffer *, J3DMtxBuffer *) const
Definition J3DSkinDeform.cpp:522
Mtx * mPosMtx
Definition J3DSkinDeform.h:68
bool checkFlag(u32 flag)
Definition J3DSkinDeform.h:56
static u16 * sWorkArea_WEvlpMixMtx[1024]
Definition J3DSkinDeform.h:61
void deform(J3DModel *)
Definition J3DSkinDeform.cpp:595
u8 field_0x19
Definition J3DSkinDeform.h:72
J3DSkinDeform()
Definition J3DSkinDeform.cpp:80
void deformVtxPos_S16(J3DVertexBuffer *, J3DMtxBuffer *) const
Definition J3DSkinDeform.cpp:542
void offFlag(u32 flag)
Definition J3DSkinDeform.h:55
static f32 * sWorkArea_WEvlpMixWeight[1024]
Definition J3DSkinDeform.h:62
void calcNrmMtx(J3DMtxBuffer *)
Definition J3DSkinDeform.cpp:399
u32 mFlags
Definition J3DSkinDeform.h:70
void deformVtxNrm_F32(J3DVertexBuffer *) const
Definition J3DSkinDeform.cpp:564
void setNrmMtx(int i, MtxP mtx)
Definition J3DSkinDeform.h:50
void transformVtxPosNrm(J3DModelData *)
Definition J3DSkinDeform.cpp:421
virtual ~J3DSkinDeform()
Definition J3DSkinDeform.cpp:648
u16 * mPosData
Definition J3DSkinDeform.h:66
J3DSkinNList * mSkinNList
Definition J3DSkinDeform.h:75
void deformFastVtxPos_F32(J3DVertexBuffer *, J3DMtxBuffer *) const
Definition J3DSkinDeform.cpp:465
int field_0x20
Definition J3DSkinDeform.h:74
void deformFastVtxNrm_F32(J3DVertexBuffer *, J3DMtxBuffer *) const
Definition J3DSkinDeform.cpp:492
u8 field_0x18
Definition J3DSkinDeform.h:71
Definition J3DVertex.h:75
Definition JUTNameTab.h:27
static volatile BOOL flag
Definition dspproc.cpp:20
int i
Definition e_pow.c:165
f32 Mtx33[3][3]
Definition mtx.h:16
f32(* MtxP)[4]
Definition mtx.h:18
f32(* Mtx3P)[3]
Definition mtx.h:19
f32 Mtx[3][4]
Definition mtx.h:15
Definition d_a_ep.cpp:51
Definition d_a_ep.cpp:155
Definition J3DSkinDeform.h:17
f32 * field_0xc
Definition J3DSkinDeform.h:25
J3DSkinNList()
Definition J3DSkinDeform.cpp:14
f32 * field_0x8
Definition J3DSkinDeform.h:24
u16 * field_0x4
Definition J3DSkinDeform.h:23
void calcSkin_VtxPosF32(f32(*)[4], void *, void *)
Definition J3DSkinDeform.cpp:59
u16 field_0x12
Definition J3DSkinDeform.h:27
u16 field_0x10
Definition J3DSkinDeform.h:26
u16 * field_0x0
Definition J3DSkinDeform.h:22
void calcSkin_VtxNrmF32(f32(*)[4], void *, void *)
Definition J3DSkinDeform.cpp:69
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
unsigned char u8
Definition types.h:8