Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
J3DStruct.h
Go to the documentation of this file.
1#ifndef J3DSTRUCT_H
2#define J3DSTRUCT_H
3
4#include <dolphin/gx.h>
5#include <dolphin/mtx.h>
6#include <dolphin/mtx.h>
7#include "global.h"
8
14 bool operator==(J3DLightInfo& other) const;
16
17 /* 0x00 */ Vec mLightPosition;
18 /* 0x0C */ Vec mLightDirection;
19 /* 0x18 */ GXColor mColor;
20 /* 0x1C */ Vec mCosAtten;
21 /* 0x28 */ Vec mDistAtten;
22}; // Size = 0x34
23
29 /* 0x00 */ f32 mScaleX;
30 /* 0x04 */ f32 mScaleY;
31 /* 0x08 */ s16 mRotation;
32 /* 0x0C */ f32 mTranslationX;
33 /* 0x10 */ f32 mTranslationY;
34
35 bool operator==(J3DTextureSRTInfo&) const;
36 inline void operator=(J3DTextureSRTInfo const& other) {
37#ifdef __MWERKS__
38 __REGISTER const f32* src = &other.mScaleX;
39 __REGISTER f32* dst = &mScaleX;
40 __REGISTER f32 xy;
41 asm {
42 psq_l xy, 0(src), 0, 0
43 psq_st xy, 0(dst), 0, 0
44 };
45
46 // Unclear why there's a 4 byte copy here.
47 *(u32*)&mRotation = *(u32*)&other.mRotation;
48 src = &other.mTranslationX;
49 dst = &mTranslationX;
50
51 asm {
52 psq_l xy, 0(src), 0, 0
53 psq_st xy, 0(dst), 0, 0
54 };
55#endif
56 }
57}; // Size: 0x14
58
73
79 bool operator==(J3DTexMtxInfo& other) const;
81 void setEffectMtx(Mtx);
82
83 /* 0x00 */ u8 mProjection;
84 /* 0x01 */ u8 mInfo;
85 /* 0x02 */ u8 field_0x2;
86 /* 0x03 */ u8 field_0x3;
87 /* 0x04 */ Vec mCenter;
89 /* 0x24 */ Mtx44 mEffectMtx;
90}; // Size: 0x64
91
98 /* 0x00 */ Mtx23 field_0x0;
99 /* 0x18 */ s8 field_0x18;
100}; // Size: 0x1C
101
107 bool operator==(J3DFogInfo&) const;
109
110 /* 0x00 */ u8 mType;
111 /* 0x01 */ u8 mAdjEnable;
112 /* 0x02 */ u16 mCenter;
113 /* 0x04 */ f32 mStartZ;
114 /* 0x08 */ f32 mEndZ;
115 /* 0x0C */ f32 mNearZ;
116 /* 0x10 */ f32 mFarZ;
117 /* 0x14 */ GXColor mColor;
119}; // Size: 0x2C
120
126 bool operator==(const J3DNBTScaleInfo& other) const;
128
129 /* 0x0 */ u8 mbHasScale;
130 /* 0x4 */ Vec mScale;
131}; // Size: 0x10
132
138 /* 0x0 */ u8 mCoord;
139 /* 0x1 */ u8 mMap;
140 /* 0x2 */ u8 field_0x2;
141 /* 0x3 */ u8 field_0x3;
142
143 void operator=(J3DIndTexOrderInfo const& other) {
144 __memcpy(this, &other, sizeof(J3DIndTexOrderInfo));
145 }
146}; // Size: 0x04
147
153 /* 0x0 */ u8 mRasSel;
154 /* 0x1 */ u8 mTexSel;
155 /* 0x2 */ u8 field_0x2;
156 /* 0x3 */ u8 field_0x3;
157}; // Size: 0x4
158
164 /* 0x0 */ u8 field_0x0;
165 /* 0x1 */ u8 field_0x1;
166 /* 0x2 */ u8 field_0x2;
167 /* 0x3 */ u8 field_0x3;
168}; // Size: 0x4
169
175 /* 0x0 */ u8 field_0x0;
176 /* 0x1 */ u8 mTevColorOp;
177 /* 0x2 */ u8 mTevColorAB;
178 /* 0x3 */ u8 mTevColorCD;
179 /* 0x4 */ u8 field_0x4;
180 /* 0x5 */ u8 mTevAlphaOp;
181 /* 0x6 */ u8 mTevAlphaAB;
183 /* 0x8 */ u8 field_0x8;
184 /* 0x8 */ u8 field_0x9;
185 /* 0x8 */ u8 field_0xa;
186 /* 0x8 */ u8 field_0xb;
187 /* 0x8 */ u8 field_0xc;
188 /* 0x8 */ u8 field_0xd;
189 /* 0x8 */ u8 field_0xe;
190 /* 0x8 */ u8 field_0xf;
191 /* 0x8 */ u8 field_0x10;
192 /* 0x8 */ u8 field_0x11;
193 /* 0x8 */ u8 field_0x12;
194 /* 0x8 */ u8 field_0x13;
195};
196
202 /* 0x0 */ u8 mIndStage;
203 /* 0x1 */ u8 mIndFormat;
204 /* 0x2 */ u8 mBiasSel;
205 /* 0x3 */ u8 mMtxSel;
206 /* 0x4 */ u8 mWrapS;
207 /* 0x5 */ u8 mWrapT;
208 /* 0x6 */ u8 mPrev;
209 /* 0x7 */ u8 mLod;
210 /* 0x8 */ u8 mAlphaSel;
211 /* 0x9 */ u8 pad[3];
212};
213
219 /* 0x0 */ u8 mTexGenType;
220 /* 0x1 */ u8 mTexGenSrc;
221 /* 0x2 */ u8 mTexGenMtx;
222 /* 0x3 */ u8 pad;
223
225 __memcpy(this, &other, sizeof(J3DTexCoordInfo));
226 return *this;
227 }
228};
229
235 /* 0x0 */ u8 mScaleS;
236 /* 0x1 */ u8 mScaleT;
237 /* 0x2 */ u8 field_0x2;
238 /* 0x3 */ u8 field_0x3;
239
241 __memcpy(this, &other, sizeof(J3DIndTexCoordScaleInfo));
242 return *this;
243 }
244}; // Size: 0x4
245
251 void operator=(J3DBlendInfo const& other) {
252 __memcpy(this, &other, sizeof(J3DBlendInfo));
253 }
254 /* 0x0 */ u8 mType;
255 /* 0x1 */ u8 mSrcFactor;
256 /* 0x2 */ u8 mDstFactor;
257 /* 0x3 */ u8 mOp;
258};
259
265 void operator=(const J3DTevOrderInfo& other) {
266 *(u32*) this = *(u32*)&other;
267 }
268
269 /* 0x0 */ u8 mTexCoord;
270 /* 0x1 */ u8 mTexMap;
271 /* 0x2 */ u8 mColorChan;
272 /* 0x3 */ u8 field_0x3; // Maybe padding
273};
274
280 /* 0x0 */ u8 mEnable;
281 /* 0x1 */ u8 mMatSrc;
282 /* 0x2 */ u8 mLightMask;
283 /* 0x3 */ u8 mDiffuseFn;
284 /* 0x4 */ u8 mAttnFn;
285 /* 0x5 */ u8 mAmbSrc;
286 /* 0x6 */ u8 pad[2];
287};
288
294 /* 0x0 */ u8 field_0x0;
295 /* 0x1 */ u8 field_0x1;
296 /* 0x2 */ u8 field_0x2;
297 /* 0x3 */ u8 pad;
298};
299
305 /* 0x0 */ u8 mComp0;
306 /* 0x1 */ u8 mRef0;
307 /* 0x2 */ u8 mOp;
308 /* 0x3 */ u8 mComp1;
309 /* 0x4 */ u8 mRef1;
310 /* 0x5 */ u8 field_0x5;
311 /* 0x6 */ u8 field_0x6;
312 /* 0x7 */ u8 field_0x7;
313
315 mComp0 = other.mComp0;
316 mRef0 = other.mRef0;
317 mOp = other.mOp;
318 mComp1 = other.mComp1;
319 mRef1 = other.mRef1;
320 return *this;
321 }
322};
323
324#endif /* J3DSTRUCT_H */
J3DTexMtxMode
Definition J3DStruct.h:59
@ J3DTexMtxMode_ProjmapBasic
Definition J3DStruct.h:62
@ J3DTexMtxMode_EnvmapEffectMtx
Definition J3DStruct.h:71
@ J3DTexMtxMode_EnvmapBasic
Definition J3DStruct.h:61
@ J3DTexMtxMode_EnvmapOldEffectMtx
Definition J3DStruct.h:70
@ J3DTexMtxMode_Unknown5
Definition J3DStruct.h:65
@ J3DTexMtxMode_None
Definition J3DStruct.h:60
@ J3DTexMtxMode_ViewProjmap
Definition J3DStruct.h:69
@ J3DTexMtxMode_Projmap
Definition J3DStruct.h:68
@ J3DTexMtxMode_Envmap
Definition J3DStruct.h:67
@ J3DTexMtxMode_ViewProjmapBasic
Definition J3DStruct.h:63
@ J3DTexMtxMode_EnvmapOld
Definition J3DStruct.h:66
@ J3DTexMtxMode_Unknown4
Definition J3DStruct.h:64
f32 Mtx44[4][4]
Definition mtx.h:28
f32 Mtx[3][4]
Definition mtx.h:25
f32 Mtx23[2][3]
Definition mtx.h:36
const void * src
Definition __os.h:116
void * __memcpy(void *, const void *, int)
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition J3DStruct.h:304
J3DAlphaCompInfo & operator=(const J3DAlphaCompInfo &other)
Definition J3DStruct.h:314
u8 mOp
Definition J3DStruct.h:307
u8 mRef1
Definition J3DStruct.h:309
u8 field_0x5
Definition J3DStruct.h:310
u8 field_0x6
Definition J3DStruct.h:311
u8 field_0x7
Definition J3DStruct.h:312
u8 mComp1
Definition J3DStruct.h:308
u8 mComp0
Definition J3DStruct.h:305
u8 mRef0
Definition J3DStruct.h:306
Definition J3DStruct.h:250
u8 mOp
Definition J3DStruct.h:257
void operator=(J3DBlendInfo const &other)
Definition J3DStruct.h:251
u8 mDstFactor
Definition J3DStruct.h:256
u8 mType
Definition J3DStruct.h:254
u8 mSrcFactor
Definition J3DStruct.h:255
Definition J3DStruct.h:279
u8 mLightMask
Definition J3DStruct.h:282
u8 pad[2]
Definition J3DStruct.h:286
u8 mAmbSrc
Definition J3DStruct.h:285
u8 mDiffuseFn
Definition J3DStruct.h:283
u8 mAttnFn
Definition J3DStruct.h:284
u8 mEnable
Definition J3DStruct.h:280
u8 mMatSrc
Definition J3DStruct.h:281
Definition J3DStruct.h:106
u8 mAdjEnable
Definition J3DStruct.h:111
f32 mEndZ
Definition J3DStruct.h:114
GXFogAdjTable mFogAdjTable
Definition J3DStruct.h:118
J3DFogInfo & operator=(const J3DFogInfo &)
Definition J3DStruct.cpp:144
u16 mCenter
Definition J3DStruct.h:112
f32 mStartZ
Definition J3DStruct.h:113
GXColor mColor
Definition J3DStruct.h:117
bool operator==(J3DFogInfo &) const
Definition J3DStruct.cpp:121
f32 mNearZ
Definition J3DStruct.h:115
u8 mType
Definition J3DStruct.h:110
f32 mFarZ
Definition J3DStruct.h:116
Definition J3DStruct.h:201
u8 pad[3]
Definition J3DStruct.h:211
u8 mAlphaSel
Definition J3DStruct.h:210
u8 mBiasSel
Definition J3DStruct.h:204
u8 mPrev
Definition J3DStruct.h:208
u8 mWrapS
Definition J3DStruct.h:206
u8 mWrapT
Definition J3DStruct.h:207
u8 mLod
Definition J3DStruct.h:209
u8 mMtxSel
Definition J3DStruct.h:205
u8 mIndFormat
Definition J3DStruct.h:203
u8 mIndStage
Definition J3DStruct.h:202
Definition J3DStruct.h:234
u8 mScaleS
Definition J3DStruct.h:235
u8 field_0x2
Definition J3DStruct.h:237
u8 field_0x3
Definition J3DStruct.h:238
u8 mScaleT
Definition J3DStruct.h:236
J3DIndTexCoordScaleInfo & operator=(const J3DIndTexCoordScaleInfo &other)
Definition J3DStruct.h:240
Definition J3DStruct.h:96
Mtx23 field_0x0
Definition J3DStruct.h:98
J3DIndTexMtxInfo & operator=(J3DIndTexMtxInfo const &)
Definition J3DStruct.cpp:115
s8 field_0x18
Definition J3DStruct.h:99
Definition J3DStruct.h:137
u8 field_0x3
Definition J3DStruct.h:141
u8 mCoord
Definition J3DStruct.h:138
u8 field_0x2
Definition J3DStruct.h:140
u8 mMap
Definition J3DStruct.h:139
void operator=(J3DIndTexOrderInfo const &other)
Definition J3DStruct.h:143
Definition J3DStruct.h:13
bool operator==(J3DLightInfo &other) const
Definition J3DStruct.cpp:22
GXColor mColor
Definition J3DStruct.h:19
Vec mDistAtten
Definition J3DStruct.h:21
Vec mLightDirection
Definition J3DStruct.h:18
J3DLightInfo & operator=(J3DLightInfo const &)
Definition J3DStruct.cpp:45
Vec mCosAtten
Definition J3DStruct.h:20
Vec mLightPosition
Definition J3DStruct.h:17
Definition J3DStruct.h:125
u8 mbHasScale
Definition J3DStruct.h:129
bool operator==(const J3DNBTScaleInfo &other) const
Definition J3DStruct.cpp:162
J3DNBTScaleInfo & operator=(const J3DNBTScaleInfo &)
Definition J3DStruct.cpp:173
Vec mScale
Definition J3DStruct.h:130
Definition J3DStruct.h:264
u8 mColorChan
Definition J3DStruct.h:271
u8 mTexMap
Definition J3DStruct.h:270
void operator=(const J3DTevOrderInfo &other)
Definition J3DStruct.h:265
u8 field_0x3
Definition J3DStruct.h:272
u8 mTexCoord
Definition J3DStruct.h:269
Definition J3DStruct.h:174
u8 mTevColorAB
Definition J3DStruct.h:177
u8 field_0x0
Definition J3DStruct.h:175
u8 field_0xd
Definition J3DStruct.h:188
u8 field_0x13
Definition J3DStruct.h:194
u8 field_0x10
Definition J3DStruct.h:191
u8 field_0x8
Definition J3DStruct.h:183
u8 mTevColorCD
Definition J3DStruct.h:178
u8 field_0x9
Definition J3DStruct.h:184
u8 mTevSwapModeInfo
Definition J3DStruct.h:182
u8 mTevColorOp
Definition J3DStruct.h:176
u8 field_0xb
Definition J3DStruct.h:186
u8 field_0xe
Definition J3DStruct.h:189
u8 field_0x4
Definition J3DStruct.h:179
u8 mTevAlphaOp
Definition J3DStruct.h:180
u8 mTevAlphaAB
Definition J3DStruct.h:181
u8 field_0xa
Definition J3DStruct.h:185
u8 field_0x11
Definition J3DStruct.h:192
u8 field_0x12
Definition J3DStruct.h:193
u8 field_0xf
Definition J3DStruct.h:190
u8 field_0xc
Definition J3DStruct.h:187
Definition J3DStruct.h:152
u8 mTexSel
Definition J3DStruct.h:154
u8 field_0x2
Definition J3DStruct.h:155
u8 mRasSel
Definition J3DStruct.h:153
u8 field_0x3
Definition J3DStruct.h:156
Definition J3DStruct.h:163
u8 field_0x3
Definition J3DStruct.h:167
u8 field_0x1
Definition J3DStruct.h:165
u8 field_0x0
Definition J3DStruct.h:164
u8 field_0x2
Definition J3DStruct.h:166
Definition J3DStruct.h:218
u8 mTexGenSrc
Definition J3DStruct.h:220
u8 mTexGenMtx
Definition J3DStruct.h:221
J3DTexCoordInfo & operator=(const J3DTexCoordInfo &other)
Definition J3DStruct.h:224
u8 mTexGenType
Definition J3DStruct.h:219
u8 pad
Definition J3DStruct.h:222
Definition J3DStruct.h:78
bool operator==(J3DTexMtxInfo &other) const
Definition J3DStruct.cpp:52
void setEffectMtx(Mtx)
Definition J3DStruct.cpp:102
Vec mCenter
Definition J3DStruct.h:87
u8 field_0x3
Definition J3DStruct.h:86
u8 mInfo
Definition J3DStruct.h:84
J3DTextureSRTInfo mSRT
Definition J3DStruct.h:88
Mtx44 mEffectMtx
Definition J3DStruct.h:89
J3DTexMtxInfo & operator=(J3DTexMtxInfo const &)
Definition J3DStruct.cpp:88
u8 mProjection
Definition J3DStruct.h:83
u8 field_0x2
Definition J3DStruct.h:85
Definition J3DStruct.h:28
bool operator==(J3DTextureSRTInfo &) const
Definition J3DStruct.cpp:10
f32 mTranslationY
Definition J3DStruct.h:33
f32 mScaleY
Definition J3DStruct.h:30
void operator=(J3DTextureSRTInfo const &other)
Definition J3DStruct.h:36
s16 mRotation
Definition J3DStruct.h:31
f32 mTranslationX
Definition J3DStruct.h:32
f32 mScaleX
Definition J3DStruct.h:29
Definition J3DStruct.h:293
u8 field_0x2
Definition J3DStruct.h:296
u8 field_0x0
Definition J3DStruct.h:294
u8 field_0x1
Definition J3DStruct.h:295
u8 pad
Definition J3DStruct.h:297
Definition mtx.h:13
Definition GXStruct.h:30
Definition GXStruct.h:58