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
19 void calcSkin_VtxPosF32(f32 (*)[4], void*, void*);
20 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:
49 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 ? true : false; }
57
58 virtual void deform(J3DVertexBuffer*, J3DMtxBuffer*);
59 virtual ~J3DSkinDeform();
60
63 static u16 sWorkArea_MtxReg[1024];
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:
85 void deform(J3DVertexBuffer*, u16, f32*);
89 void normalizeWeight(int, f32*);
90
91 void offFlag(u32 i_flag) { mFlags &= ~i_flag; }
92 bool checkFlag(u32 i_flag) { return mFlags & i_flag ? true : false; }
94 void normalize(f32* i_vec) { VECNormalize((Vec*)i_vec, (Vec*)i_vec); }
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#ifdef __MWERKS__
105 asm {
106 srwi param_1, param_1, 5
107 mtctr param_1
108 lbl_8032D948:
109 dcbz 0, param_0
110 addi param_0, param_0, 0x20
111 bdnz lbl_8032D948
112 }
113#endif
114}
115
116#endif /* J3DSKINDEFORM_H */
static BOOL flag
Definition DEMOAVX.c:20
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:90
static Mtx mtx[10]
Definition c_lib.cpp:486
Definition J3DAnimation.h:852
Definition J3DCluster.h:55
Definition J3DCluster.h:113
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:129
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:255
J3DAnmCluster * mAnmCluster
Definition J3DSkinDeform.h:97
void deform_VtxPosF32(J3DVertexBuffer *, J3DCluster *, J3DClusterKey *, f32 *)
Definition J3DCluster.cpp:88
J3DDeformer(J3DDeformData *)
Definition J3DCluster.cpp:62
void deform(J3DVertexBuffer *, u16, f32 *)
Definition J3DCluster.cpp:227
f32 * field_0xc
Definition J3DSkinDeform.h:99
Definition J3DModelData.h:17
Definition J3DModel.h:43
Definition J3DMtxBuffer.h:12
Definition J3DSkinDeform.h:34
int field_0x1c
Definition J3DSkinDeform.h:73
u16 * mNrmData
Definition J3DSkinDeform.h:67
void calcAnmInvJointMtx(J3DMtxBuffer *)
Definition J3DSkinDeform.cpp:470
Mtx3P getNrmMtx(int i)
Definition J3DSkinDeform.h:53
void onFlag(u32 flag)
Definition J3DSkinDeform.h:54
int initMtxIndexArray(J3DModelData *)
Definition J3DSkinDeform.cpp:198
void deformVtxNrm_S16(J3DVertexBuffer *) const
Definition J3DSkinDeform.cpp:604
void initSkinInfo(J3DModelData *)
Definition J3DSkinDeform.cpp:85
static u16 sWorkArea_MtxReg[1024]
Definition J3DSkinDeform.h:63
Mtx33 * mNrmMtx
Definition J3DSkinDeform.h:69
void changeFastSkinDL(J3DModelData *)
Definition J3DSkinDeform.cpp:350
void deformVtxPos_F32(J3DVertexBuffer *, J3DMtxBuffer *) const
Definition J3DSkinDeform.cpp:544
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:621
u8 field_0x19
Definition J3DSkinDeform.h:72
J3DSkinDeform()
Definition J3DSkinDeform.cpp:68
void deformVtxPos_S16(J3DVertexBuffer *, J3DMtxBuffer *) const
Definition J3DSkinDeform.cpp:566
void offFlag(u32 flag)
Definition J3DSkinDeform.h:55
static f32 * sWorkArea_WEvlpMixWeight[1024]
Definition J3DSkinDeform.h:62
void calcNrmMtx(J3DMtxBuffer *)
Definition J3DSkinDeform.cpp:419
u32 mFlags
Definition J3DSkinDeform.h:70
void deformVtxNrm_F32(J3DVertexBuffer *) const
Definition J3DSkinDeform.cpp:590
void setNrmMtx(int i, MtxP mtx)
Definition J3DSkinDeform.h:50
void transformVtxPosNrm(J3DModelData *)
Definition J3DSkinDeform.cpp:439
virtual ~J3DSkinDeform()
Definition J3DSkinDeform.cpp:678
u16 * mPosData
Definition J3DSkinDeform.h:66
J3DSkinNList * mSkinNList
Definition J3DSkinDeform.h:75
void deformFastVtxPos_F32(J3DVertexBuffer *, J3DMtxBuffer *) const
Definition J3DSkinDeform.cpp:484
int field_0x20
Definition J3DSkinDeform.h:74
void deformFastVtxNrm_F32(J3DVertexBuffer *, J3DMtxBuffer *) const
Definition J3DSkinDeform.cpp:512
u8 field_0x18
Definition J3DSkinDeform.h:71
Definition J3DVertex.h:76
Definition JUTNameTab.h:27
f32 Mtx33[3][3]
Definition mtx.h:35
f32 Mtx[3][4]
Definition mtx.h:25
f32(* Mtx3P)[3]
Definition mtx.h:37
f32(* MtxP)[4]
Definition mtx.h:38
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
int i
Definition e_pow.c:165
Definition J3DSkinDeform.h:17
f32 * field_0xc
Definition J3DSkinDeform.h:25
J3DSkinNList()
Definition J3DSkinDeform.cpp:8
f32 * field_0x8
Definition J3DSkinDeform.h:24
u16 * field_0x4
Definition J3DSkinDeform.h:23
void calcSkin_VtxPosF32(f32(*)[4], void *, void *)
Definition J3DSkinDeform.cpp:48
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:58
Definition mtx.h:13