Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
J3DMatBlock.h
Go to the documentation of this file.
1#ifndef J3DMATBLOCK_H
2#define J3DMATBLOCK_H
3
6#include "dolphin/types.h"
7
12struct J3DGXColorS10 : public GXColorS10 {
13 /* 8000E460 */ J3DGXColorS10() {}
17 // FAKE match. __memcpy created issues in J3DTevBlockPatched::initialize
18 u32* src = (u32*)&color;
19 u32* tgt = (u32*)this;
20 tgt[0] = src[0];
21 tgt[1] = src[1];
22 return *this;
23 }
24};
25
30struct J3DGXColor : public GXColor {
31 /* 8000E538 */ J3DGXColor() {}
32 J3DGXColor(J3DGXColor const& other) { __memcpy(this, &other, sizeof(J3DGXColor)); }
35 *(GXColor*)this = color;
36 return *this;
37 }
39 r = other.r;
40 g = other.g;
41 b = other.b;
42 a = other.a;
43 return *this;
44 }
45};
46
55 mScale = info.mScale;
56 }
57 Vec* getScale() { return &mScale; }
58};
59
61
67public:
68 /* 80317354 */ virtual void reset(J3DTexGenBlock*) {}
69 virtual void calc(f32 const (*)[4]) = 0;
70 virtual void calcWithoutViewMtx(f32 const (*)[4]) = 0;
71 virtual void calcPostTexMtx(f32 const (*)[4]) = 0;
72 virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4]) = 0;
73 virtual void load() = 0;
74 virtual void patch() = 0;
75 virtual void diff(u32) = 0;
76 virtual void diffTexMtx() = 0;
77 virtual void diffTexGen() = 0;
78 /* 803172FC */ virtual s32 countDLSize() { return 0; }
79 virtual u32 getType() = 0;
80 /* 8031741C */ virtual void setTexGenNum(u32 const*) {}
81 /* 8000E0D0 */ virtual void setTexGenNum(u32) {}
82 /* 8000DFE8 */ virtual u32 getTexGenNum() const { return 0; }
83 /* 8000E0CC */ virtual void setTexCoord(u32, J3DTexCoord const*) {}
84 /* 8000DFE0 */ virtual J3DTexCoord* getTexCoord(u32) { return NULL; }
85 /* 8003AB2C */ virtual void setTexMtx(u32, J3DTexMtx*) {}
86 /* 8000DFD8 */ virtual J3DTexMtx* getTexMtx(u32) { return NULL; }
87 /* 80317424 */ virtual void setNBTScale(J3DNBTScale const*) {}
88 /* 80317420 */ virtual void setNBTScale(J3DNBTScale) {}
89 /* 80317334 */ virtual J3DNBTScale* getNBTScale() { return NULL; }
90 /* 80317428 */ virtual u32 getTexMtxOffset() const { return 0; }
91 /* 80317430 */ virtual void setTexMtxOffset(u32) {}
92 /* 803171DC */ virtual ~J3DTexGenBlock() {}
93};
94
96 /* 80332AA0 */ virtual void calc(f32 const (*)[4]) {}
97 /* 80332AA4 */ virtual void calcWithoutViewMtx(f32 const (*)[4]) {}
98 /* 80332AA8 */ virtual void calcPostTexMtx(f32 const (*)[4]) {}
99 /* 80332AAC */ virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4]) {}
100 /* 80332AB0 */ virtual void load() {}
101 /* 80332AB4 */ virtual void patch() {}
102 /* 80332AB8 */ virtual void diff(u32) {}
103 /* 80332ABC */ virtual void diffTexMtx() {}
104 /* 80332AC0 */ virtual void diffTexGen() {}
105 /* 80332AC4 */ virtual u32 getType() { return 'TGNL'; }
106 /* 80332AD0 */ virtual ~J3DTexGenBlockNull() {}
107};
108
114public:
118 /* 80317644 */ void initialize();
119
120 /* 80320084 */ virtual void reset(J3DTexGenBlock*);
121 /* 803213C0 */ virtual void calc(f32 const (*)[4]);
122 /* 80321584 */ virtual void calcWithoutViewMtx(f32 const (*)[4]);
123 /* 803216D8 */ virtual void calcPostTexMtx(f32 const (*)[4]);
124 /* 8032181C */ virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4]);
125 /* 80322E70 */ virtual void load() {}
126 /* 8031AA88 */ virtual void patch();
127 /* 8031AC68 */ virtual void diff(u32);
128 /* 8031ACD0 */ virtual void diffTexMtx();
129 /* 8031AD30 */ virtual void diffTexGen();
130 /* 80317B9C */ virtual s32 countDLSize();
131 /* 80322E74 */ virtual u32 getType() { return 'TGPT'; }
132 /* 80322D3C */ virtual void setTexGenNum(u32 const* num) { mTexGenNum = *num; }
133 /* 80322D34 */ virtual void setTexGenNum(u32 num) { mTexGenNum = num; }
134 /* 80322D48 */ virtual u32 getTexGenNum() const { return mTexGenNum; }
135 /* 80322D50 */ virtual void setTexCoord(u32 idx, J3DTexCoord const* coord) { mTexCoord[idx] = *coord; }
136 /* 80322D64 */ virtual J3DTexCoord* getTexCoord(u32 idx) { return & mTexCoord[idx]; }
137 /* 80322D78 */ virtual void setTexMtx(u32 idx, J3DTexMtx* mtx) { mTexMtx[idx] = mtx; }
138 /* 80322D88 */ virtual J3DTexMtx* getTexMtx(u32 idx) { return mTexMtx[idx]; }
139 /* 80322D98 */ virtual u32 getTexMtxOffset() const { return mTexMtxOffset; }
140 /* 80322DA0 */ virtual void setTexMtxOffset(u32 offset) { mTexMtxOffset = offset; }
141 /* 80317180 */ virtual ~J3DTexGenBlockPatched() {}
142
143 /* 0x04 */ u32 mTexGenNum;
144 /* 0x08 */ J3DTexCoord mTexCoord[8];
145 /* 0x38 */ J3DTexMtx* mTexMtx[8];
146 /* 0x58 */ u32 mTexMtxOffset;
147}; // Size: 0x5C
148
154public:
158 /* 803176A4 */ void initialize();
159
160 /* 803202DC */ virtual void reset(J3DTexGenBlock*);
161 /* 8031A9E8 */ virtual void load();
162 /* 8031ABC0 */ virtual void patch();
163 /* 80317BAC */ virtual s32 countDLSize();
164 /* 80322C6C */ virtual u32 getType() { return 'TGBC'; }
165 /* 80322C9C */ virtual void setNBTScale(J3DNBTScale const* scale) { mNBTScale = *scale; }
166 /* 80322C78 */ virtual void setNBTScale(J3DNBTScale scale) { mNBTScale = scale; }
167 /* 80322CC0 */ virtual J3DNBTScale* getNBTScale() { return &mNBTScale; }
168 /* 80322CC8 */ virtual ~J3DTexGenBlockBasic() {}
169
171}; // Size: 0x6C
172
178public:
182 /* 80317674 */ void initialize();
183
184 /* 803201A0 */ virtual void reset(J3DTexGenBlock*);
185 /* 8031A948 */ virtual void load();
186 /* 8031AB18 */ virtual void patch();
187 /* 80317BA4 */ virtual s32 countDLSize();
188 /* 80322DA8 */ virtual u32 getType() { return 'TGB4'; }
189 /* 80322DD8 */ virtual void setNBTScale(J3DNBTScale const* scale) { mNBTScale = *scale; }
190 /* 80322DB4 */ virtual void setNBTScale(J3DNBTScale scale) { mNBTScale = scale; }
191 /* 80322DFC */ virtual J3DNBTScale* getNBTScale() { return &mNBTScale; }
192 /* 80322E04 */ virtual ~J3DTexGenBlock4() {}
193
195}; // Size: 0x6C
196
202public:
203 /* 80317350 */ virtual void reset(J3DTevBlock*) {}
204 /* 80317330 */ virtual void load() {}
205 /* 8031CD44 */ virtual void diff(u32);
206 /* 80321948 */ virtual void diffTexNo() {}
207 /* 80321938 */ virtual void diffTevReg() {}
208 /* 80321944 */ virtual void diffTexCoordScale() {}
209 /* 80321940 */ virtual void diffTevStage() {}
210 /* 8032193C */ virtual void diffTevStageIndirect() {}
211 /* 8000DBD4 */ virtual void patch() {}
212 /* 8032353C */ virtual void patchTexNo() {}
213 /* 80323540 */ virtual void patchTevReg() {}
214 /* 8000DBC8 */ virtual void patchTexNoAndTexCoordScale() {}
215 virtual void ptrToIndex() = 0;
216 virtual void indexToPtr() = 0;
217 virtual u32 getType() = 0;
218 /* 8031730C */ virtual s32 countDLSize() { return 0; }
219 /* 80323544 */ virtual void setTexNo(u32, u16 const*) {}
220 /* 8000E0AC */ virtual void setTexNo(u32, u16) {}
221 /* 8000DF94 */ virtual u16 getTexNo(u32) const { return 0xffff; }
222 /* 80323548 */ virtual void setTevOrder(u32, J3DTevOrder const*) {}
223 /* 8000E0BC */ virtual void setTevOrder(u32, J3DTevOrder) {}
224 /* 8000DFB8 */ virtual J3DTevOrder* getTevOrder(u32) { return NULL; }
225 /* 80110E80 */ virtual void setTevColor(u32, J3DGXColorS10 const*) {}
226 /* 8000E0C4 */ virtual void setTevColor(u32, J3DGXColorS10) {}
227 /* 8000DFC8 */ virtual J3DGXColorS10* getTevColor(u32) { return NULL; }
228 /* 800732AC */ virtual void setTevKColor(u32, J3DGXColor const*) {}
229 /* 8000E0C0 */ virtual void setTevKColor(u32, J3DGXColor) {}
230 /* 8000DFC0 */ virtual J3DGXColor* getTevKColor(u32) { return NULL; }
231 /* 80322950 */ virtual void setTevKColorSel(u32, u8 const*) {}
232 /* 8000E0B8 */ virtual void setTevKColorSel(u32, u8) {}
233 /* 8000DFB0 */ virtual u8 getTevKColorSel(u32) { return false; }
234 /* 80322954 */ virtual void setTevKAlphaSel(u32, u8 const*) {}
235 /* 8000E0B4 */ virtual void setTevKAlphaSel(u32, u8) {}
236 /* 8000DFA8 */ virtual u8 getTevKAlphaSel(u32) { return false; }
237 /* 8032354C */ virtual void setTevStageNum(u8 const*) {}
238 /* 8000E0C8 */ virtual void setTevStageNum(u8) {}
239 /* 8000DFD0 */ virtual u8 getTevStageNum() const { return 1; }
240 /* 80323550 */ virtual void setTevStage(u32, J3DTevStage const*) {}
241 /* 8000E0A8 */ virtual void setTevStage(u32, J3DTevStage) {}
242 /* 8000DF8C */ virtual J3DTevStage* getTevStage(u32) { return NULL; }
243 /* 8032295C */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*) {}
244 /* 80322958 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo) {}
245 /* 80322960 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*) {}
246 /* 8000E0B0 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable) {}
247 /* 8000DFA0 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32) { return NULL; }
248 /* 80323554 */ virtual void setIndTevStage(u32, J3DIndTevStage const*) {}
249 /* 8000E0A4 */ virtual void setIndTevStage(u32, J3DIndTevStage) {}
250 /* 8000DF84 */ virtual J3DIndTevStage* getIndTevStage(u32) { return NULL; }
251 /* 80323558 */ virtual u32 getTexNoOffset() const { return 0; }
252 /* 80322964 */ virtual u32 getTevRegOffset() const { return 0; }
253 /* 80321FE0 */ virtual void setTexNoOffset(u32 offset) { mTexNoOffset = offset; }
254 /* 8032296C */ virtual void setTevRegOffset(u32) {}
255 /* 80317224 */ virtual ~J3DTevBlock() {}
256
257protected:
258 /* 8031E098 */ void indexToPtr_private(u32);
259
260 /* 0x4 */ u32 mTexNoOffset;
261};
262
268public:
270 /* 803176D4 */ void initialize();
271 /* 80332A0C */ virtual void reset(J3DTevBlock*) {}
272 /* 80332A10 */ virtual void ptrToIndex() {}
273 /* 80332A14 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
274 /* 80332A38 */ virtual u32 getType() { return 'TVNL'; }
275 /* 80332A44 */ virtual ~J3DTevBlockNull() {}
276};
277
283public:
287 /* 803176E0 */ void initialize();
288
289 /* 80320418 */ virtual void reset(J3DTevBlock*);
290 /* 80322970 */ virtual void load() {}
291 /* 8031CE00 */ virtual void diffTexNo();
292 /* 8031D028 */ virtual void diffTevReg();
293 /* 8031D0C4 */ virtual void diffTexCoordScale();
294 /* 8031CE64 */ virtual void diffTevStage();
295 /* 8031CF78 */ virtual void diffTevStageIndirect();
296 /* 8031C228 */ virtual void patch();
297 /* 8031BF4C */ virtual void patchTexNo();
298 /* 8031BFE0 */ virtual void patchTevReg();
299 /* 8031C0AC */ virtual void patchTexNoAndTexCoordScale();
300 /* 8031DFB4 */ virtual void ptrToIndex();
301 /* 80322974 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
302 /* 80322998 */ virtual u32 getType() { return 'TVPT'; }
303 /* 80317BB4 */ virtual s32 countDLSize();
304 /* 803229D0 */ virtual void setTexNo(u32 idx, u16 const* texNo) { mTexNo[idx] = *texNo; }
305 /* 803229C0 */ virtual void setTexNo(u32 idx, u16 texNo) { mTexNo[idx] = texNo; }
306 /* 803229E4 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
307 /* 80322A08 */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
308 /* 803229F4 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
309 /* 80322A1C */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
310 /* 80322B24 */ virtual void setTevColor(u32 idx, J3DGXColorS10 const* color) { mTevColor[idx] = *color; }
311 /* 80322AF8 */ virtual void setTevColor(u32 idx, J3DGXColorS10 color) { mTevColor[idx] = color; }
312 /* 80322B50 */ virtual J3DGXColorS10* getTevColor(u32 idx) { return &mTevColor[idx]; }
313 /* 80322B90 */ virtual void setTevKColor(u32 idx, J3DGXColor const* color) { mTevKColor[idx] = *color; }
314 /* 80322B64 */ virtual void setTevKColor(u32 idx, J3DGXColor color) { mTevKColor[idx] = color; }
315 /* 80322BBC */ virtual J3DGXColor* getTevKColor(u32 idx) { return &mTevKColor[idx]; }
316 /* 80322BDC */ virtual void setTevKColorSel(u32 idx, u8 const* sel) { mTevKColorSel[idx] = *sel; }
317 /* 80322BD0 */ virtual void setTevKColorSel(u32 idx, u8 sel) { mTevKColorSel[idx] = sel; }
318 /* 80322BEC */ virtual u8 getTevKColorSel(u32 idx) { return mTevKColorSel[idx]; }
319 /* 803229AC */ virtual void setTevStageNum(u8 const* num) { mTevStageNum = *num; }
320 /* 803229A4 */ virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
321 /* 803229B8 */ virtual u8 getTevStageNum() const { return mTevStageNum; }
322 /* 80322A6C */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
323 /* 80322A30 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
324 /* 80322AA8 */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
325 /* 80322AD0 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
326 /* 80322ABC */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
327 /* 80322AE4 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
328 /* 80322BF8 */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
329 /* 80322C00 */ virtual u32 getTevRegOffset() const { return mTevRegOffset; }
330 /* 80322C08 */ virtual void setTevRegOffset(u32 offset) { mTevRegOffset = offset; }
331 /* 80322C10 */ virtual ~J3DTevBlockPatched() {}
332
333 /* 0x08 */ u16 mTexNo[8];
334 /* 0x18 */ J3DTevOrder mTevOrder[8];
335 /* 0x38 */ J3DTevStage mTevStage[8];
338 /* 0xB8 */ J3DGXColor mTevKColor[4];
339 /* 0xC8 */ u8 mTevKColorSel[8];
340 /* 0xD0 */ u8 mTevStageNum;
341 /* 0xD4 */ u32 mTevRegOffset;
342}; // Size: 0xD8
343
348class J3DTevBlock4 : public J3DTevBlock {
349public:
351 initialize();
352 }
353 /* 803178EC */ void initialize();
354
355 /* 8032098C */ virtual void reset(J3DTevBlock*);
356 /* 8031B4C0 */ virtual void load();
357 /* 8031D758 */ virtual void diffTexNo();
358 /* 8031D7BC */ virtual void diffTevReg();
359 /* 8031DA1C */ virtual void diffTexCoordScale();
360 /* 8031D858 */ virtual void diffTevStage();
361 /* 8031D96C */ virtual void diffTevStageIndirect();
362 /* 8031C9D0 */ virtual void patch();
363 /* 8031C6F4 */ virtual void patchTexNo();
364 /* 8031C788 */ virtual void patchTevReg();
365 /* 8031C854 */ virtual void patchTexNoAndTexCoordScale();
366 /* 80321FE8 */ virtual void ptrToIndex() {}
367 /* 80321FEC */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
368 /* 80322010 */ virtual u32 getType() { return 'TVB4'; }
369 /* 80317BCC */ virtual s32 countDLSize();
370 /* 8032202C */ virtual void setTexNo(u32 idx, u16 const* texNo) { mTexNo[idx] = *texNo; }
371 /* 8032201C */ virtual void setTexNo(u32 idx, u16 texNo) { mTexNo[idx] = texNo; }
372 /* 80322040 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
373 /* 80322064 */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
374 /* 80322050 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
375 /* 80322078 */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
376 /* 803220B8 */ virtual void setTevColor(u32 idx, J3DGXColorS10 const* color) { mTevColor[idx] = *color; }
377 /* 8032208C */ virtual void setTevColor(u32 idx, J3DGXColorS10 color) { mTevColor[idx] = color; }
378 /* 803220E4 */ virtual J3DGXColorS10* getTevColor(u32 idx) { return &mTevColor[idx]; }
379 /* 80322124 */ virtual void setTevKColor(u32 idx, J3DGXColor const* color) { mTevKColor[idx] = *color; }
380 /* 803220F8 */ virtual void setTevKColor(u32 idx, J3DGXColor color) { mTevKColor[idx] = color; }
381 /* 80322150 */ virtual J3DGXColor* getTevKColor(u32 idx) { return &mTevKColor[idx]; }
382 /* 80322170 */ virtual void setTevKColorSel(u32 idx, u8 const* sel) { mTevKColorSel[idx] = *sel; }
383 /* 80322164 */ virtual void setTevKColorSel(u32 idx, u8 sel) { mTevKColorSel[idx] = sel; }
384 /* 80322180 */ virtual u8 getTevKColorSel(u32 idx) { return mTevKColorSel[idx]; }
385 /* 80322198 */ virtual void setTevKAlphaSel(u32 idx, u8 const* sel) { mTevKAlphaSel[idx] = *sel; }
386 /* 8032218C */ virtual void setTevKAlphaSel(u32 idx, u8 sel) { mTevKAlphaSel[idx] = sel; }
387 /* 803221A8 */ virtual u8 getTevKAlphaSel(u32 idx) { return mTevKAlphaSel[idx]; }
388 /* 803221BC */ virtual void setTevStageNum(u8 const* num) { mTevStageNum = *num; }
389 /* 803221B4 */ virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
390 /* 803221C8 */ virtual u8 getTevStageNum() const { return mTevStageNum; }
391 /* 8032220C */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
392 /* 803221D0 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
393 /* 80322248 */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
394 /* 80322294 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo const* info) { mTevStage[idx].setTevSwapModeInfo(*info); }
395 /* 8032225C */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo info) { mTevStage[idx].setTevSwapModeInfo(info); }
396 /* 803222DC */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable const* table) { mTevSwapModeTable[idx] = *table; }
397 /* 803222CC */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable table) { mTevSwapModeTable[idx] = table; }
398 /* 803222EC */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32 idx) { return &mTevSwapModeTable[idx]; }
399 /* 80322310 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
400 /* 803222FC */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
401 /* 80322324 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
402 /* 80322338 */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
403 /* 80322340 */ virtual u32 getTevRegOffset() const { return mTevRegOffset; }
404 /* 80322348 */ virtual void setTevRegOffset(u32 offset) { mTevRegOffset = offset; }
405 /* 80322350 */ virtual ~J3DTevBlock4() {}
406
407 /* 0x08 */ u16 mTexNo[4];
408 /* 0x10 */ J3DTevOrder mTevOrder[4];
409 /* 0x20 */ u8 mTevStageNum;
410 /* 0x21 */ J3DTevStage mTevStage[4];
412 /* 0x62 */ J3DGXColor mTevKColor[4];
413 /* 0x72 */ u8 mTevKColorSel[4];
414 /* 0x76 */ u8 mTevKAlphaSel[4];
417 /* 0x90 */ u32 mTevRegOffset;
418}; // Size: 0x94
419
424class J3DTevBlock2 : public J3DTevBlock {
425public:
427 initialize();
428 }
429 /* 80317810 */ void initialize();
430
431 /* 803206AC */ virtual void reset(J3DTevBlock*);
432 /* 8031AFA4 */ virtual void load();
433 /* 8031D3D0 */ virtual void diffTexNo();
434 /* 8031D434 */ virtual void diffTevReg();
435 /* 8031D694 */ virtual void diffTexCoordScale();
436 /* 8031D4D0 */ virtual void diffTevStage();
437 /* 8031D5E4 */ virtual void diffTevStageIndirect();
438 /* 8031C6A8 */ virtual void patch();
439 /* 8031C3F8 */ virtual void patchTexNo();
440 /* 8031C48C */ virtual void patchTevReg();
441 /* 8031C558 */ virtual void patchTexNoAndTexCoordScale();
442 /* 803223AC */ virtual void ptrToIndex() {}
443 /* 803223B0 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
444 /* 803223D4 */ virtual u32 getType() { return 'TVB2'; }
445 /* 80317BC4 */ virtual s32 countDLSize();
446 /* 803223F0 */ virtual void setTexNo(u32 idx, u16 const* texNo) { mTexNo[idx] = *texNo; }
447 /* 803223E0 */ virtual void setTexNo(u32 idx, u16 texNo) { mTexNo[idx] = texNo; }
448 /* 80322404 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
449 /* 80322428 */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
450 /* 80322414 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
451 /* 8032243C */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
452 /* 8032247C */ virtual void setTevColor(u32 idx, J3DGXColorS10 const* color) { mTevColor[idx] = *color; }
453 /* 80322450 */ virtual void setTevColor(u32 idx, J3DGXColorS10 color) { mTevColor[idx] = color; }
454 /* 803224A8 */ virtual J3DGXColorS10* getTevColor(u32 idx) { return &mTevColor[idx]; }
455 /* 803224E8 */ virtual void setTevKColor(u32 idx, J3DGXColor const* color) { mTevKColor[idx] = *color; }
456 /* 803224BC */ virtual void setTevKColor(u32 idx, J3DGXColor color) { mTevKColor[idx] = color; }
457 /* 80322514 */ virtual J3DGXColor* getTevKColor(u32 idx) { return &mTevKColor[idx]; }
458 /* 80322534 */ virtual void setTevKColorSel(u32 idx, u8 const* sel) { mTevKColorSel[idx] = *sel; }
459 /* 80322528 */ virtual void setTevKColorSel(u32 idx, u8 sel) { mTevKColorSel[idx] = sel; }
460 /* 80322544 */ virtual u8 getTevKColorSel(u32 idx) { return mTevKColorSel[idx]; }
461 /* 8032255C */ virtual void setTevKAlphaSel(u32 idx, u8 const* sel) { mTevKAlphaSel[idx] = *sel; }
462 /* 80322550 */ virtual void setTevKAlphaSel(u32 idx, u8 sel) { mTevKAlphaSel[idx] = sel; }
463 /* 8032256C */ virtual u8 getTevKAlphaSel(u32 idx) { return mTevKAlphaSel[idx]; }
464 /* 80322580 */ virtual void setTevStageNum(u8 const* num) { mTevStageNum = *num; }
465 /* 80322578 */ virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
466 /* 8032258C */ virtual u8 getTevStageNum() const { return mTevStageNum; }
467 /* 803225D0 */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
468 /* 80322594 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
469 /* 8032260C */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
470 /* 80322658 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo const* info) { mTevStage[idx].setTevSwapModeInfo(*info); }
471 /* 80322620 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo info) { mTevStage[idx].setTevSwapModeInfo(info); }
472 /* 803226A0 */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable const* table) { mTevSwapModeTable[idx] = *table; }
473 /* 80322690 */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable table) { mTevSwapModeTable[idx] = table; }
474 /* 803226B0 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32 idx) { return &mTevSwapModeTable[idx]; }
475 /* 803226D4 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
476 /* 803226C0 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
477 /* 803226E8 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
478 /* 803226FC */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
479 /* 80322704 */ virtual u32 getTevRegOffset() const { return mTevRegOffset; }
480 /* 8032270C */ virtual void setTevRegOffset(u32 offset) { mTevRegOffset = offset; }
481 /* 80322714 */ virtual ~J3DTevBlock2() {}
482
483 /* 0x08 */ u16 mTexNo[2];
484 /* 0x0C */ J3DTevOrder mTevOrder[2];
486 /* 0x34 */ u8 mTevStageNum;
487 /* 0x35 */ J3DTevStage mTevStage[2];
488 /* 0x45 */ J3DGXColor mTevKColor[4];
489 /* 0x55 */ u8 mTevKColorSel[2];
490 /* 0x57 */ u8 mTevKAlphaSel[2];
493 /* 0x68 */ u32 mTevRegOffset;
494}; // Size: 0x6C
495
501public:
503 initialize();
504 }
505 /* 80317A00 */ void initialize();
506
507 /* 80320E24 */ virtual void reset(J3DTevBlock*);
508 /* 8031BA04 */ virtual void load();
509 /* 8031DB14 */ virtual void diffTexNo();
510 /* 8031DB78 */ virtual void diffTevReg();
511 /* 8031DDD8 */ virtual void diffTexCoordScale();
512 /* 8031DC14 */ virtual void diffTevStage();
513 /* 8031DD28 */ virtual void diffTevStageIndirect();
514 /* 8031CCF8 */ virtual void patch();
515 /* 8031CA1C */ virtual void patchTexNo();
516 /* 8031CAB0 */ virtual void patchTevReg();
517 /* 8031CB7C */ virtual void patchTexNoAndTexCoordScale();
518 /* 8031DED0 */ virtual void ptrToIndex();
519 /* 80321C20 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
520 /* 80321C44 */ virtual u32 getType() { return 'TV16'; }
521 /* 80317BD4 */ virtual s32 countDLSize();
522 /* 80321C60 */ virtual void setTexNo(u32 idx, u16 const* texNo) { mTexNo[idx] = *texNo; }
523 /* 80321C50 */ virtual void setTexNo(u32 idx, u16 texNo) { mTexNo[idx] = texNo; }
524 /* 80321C74 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
525 /* 80321C98 */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
526 /* 80321C84 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
527 /* 80321CAC */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
528 /* 80321CEC */ virtual void setTevColor(u32 idx, J3DGXColorS10 const* color) { mTevColor[idx] = *color; }
529 /* 80321CC0 */ virtual void setTevColor(u32 idx, J3DGXColorS10 color) { mTevColor[idx] = color; }
530 /* 80321D18 */ virtual J3DGXColorS10* getTevColor(u32 idx) { return &mTevColor[idx]; }
531 /* 80321D58 */ virtual void setTevKColor(u32 idx, J3DGXColor const* color) { mTevKColor[idx] = *color; }
532 /* 80321D2C */ virtual void setTevKColor(u32 idx, J3DGXColor color) { mTevKColor[idx] = color; }
533 /* 80321D84 */ virtual J3DGXColor* getTevKColor(u32 idx) { return &mTevKColor[idx]; }
534 /* 80321DA4 */ virtual void setTevKColorSel(u32 idx, u8 const* sel) { mTevKColorSel[idx] = *sel; }
535 /* 80321D98 */ virtual void setTevKColorSel(u32 idx, u8 sel) { mTevKColorSel[idx] = sel; }
536 /* 80321DB4 */ virtual u8 getTevKColorSel(u32 idx) { return mTevKColorSel[idx]; }
537 /* 80321DCC */ virtual void setTevKAlphaSel(u32 idx, u8 const* sel) { mTevKAlphaSel[idx] = *sel; }
538 /* 80321DC0 */ virtual void setTevKAlphaSel(u32 idx, u8 sel) { mTevKAlphaSel[idx] = sel; }
539 /* 80321DDC */ virtual u8 getTevKAlphaSel(u32 idx) { return mTevKAlphaSel[idx]; }
540 /* 80321DE8 */ virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
541 /* 80321DF0 */ virtual void setTevStageNum(u8 const* num) { mTevStageNum = *num; }
542 /* 80321DFC */ virtual u8 getTevStageNum() const { return mTevStageNum; }
543 /* 80321E40 */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
544 /* 80321E04 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
545 /* 80321E7C */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
546 /* 80321EC8 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo const* info) { mTevStage[idx].setTevSwapModeInfo(*info); }
547 /* 80321E90 */ virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo info) { mTevStage[idx].setTevSwapModeInfo(info); }
548 /* 80321F10 */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable const* table) { mTevSwapModeTable[idx] = *table; }
549 /* 80321F00 */ virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable table) { mTevSwapModeTable[idx] = table; }
550 /* 80321F20 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32 idx) { return &mTevSwapModeTable[idx]; }
551 /* 80321F44 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
552 /* 80321F30 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
553 /* 80321F58 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
554 /* 80321F6C */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
555 /* 80321F74 */ virtual u32 getTevRegOffset() const { return mTevRegOffset; }
556 /* 80321F7C */ virtual void setTevRegOffset(u32 offset) { mTevRegOffset = offset; }
557 /* 80321F84 */ virtual ~J3DTevBlock16() {}
558
559 /* 0x008 */ u16 mTexNo[8];
560 /* 0x018 */ J3DTevOrder mTevOrder[16];
561 /* 0x058 */ u8 mTevStageNum;
562 /* 0x059 */ J3DTevStage mTevStage[16];
563 /* 0x0DA */ J3DGXColorS10 mTevColor[4];
564 /* 0x0FA */ J3DGXColor mTevKColor[4];
565 /* 0x10A */ u8 mTevKColorSel[16];
566 /* 0x11A */ u8 mTevKAlphaSel[16];
569 /* 0x170 */ u32 mTevRegOffset;
570}; // Size: 0x174
571
576class J3DTevBlock1 : public J3DTevBlock {
577public:
579 initialize();
580 }
581 /* 803177E8 */ void initialize();
582
583 /* 803205D4 */ virtual void reset(J3DTevBlock*);
584 /* 8031AD64 */ virtual void load();
585 /* 8031D1BC */ virtual void diffTexNo();
586 /* 8031D1F4 */ virtual void diffTevReg();
587 /* 8031D368 */ virtual void diffTexCoordScale();
588 /* 8031D1F8 */ virtual void diffTevStage();
589 /* 8031D2E8 */ virtual void diffTevStageIndirect();
590 /* 8031C3CC */ virtual void patch();
591 /* 8031C274 */ virtual void patchTexNo();
592 /* 8031C2E4 */ virtual void patchTevReg();
593 /* 8031C2E8 */ virtual void patchTexNoAndTexCoordScale();
594 /* 80322770 */ virtual void ptrToIndex() {}
595 /* 80322774 */ virtual void indexToPtr() { indexToPtr_private(mTexNoOffset); }
596 /* 80322798 */ virtual u32 getType() { return 'TVB1'; }
597 /* 80317BBC */ virtual s32 countDLSize();
598 /* 803227B4 */ virtual void setTexNo(u32 idx, u16 const* no) { mTexNo[idx] = *no; }
599 /* 803227A4 */ virtual void setTexNo(u32 idx, u16 no) { mTexNo[idx] = no; }
600 /* 803227C8 */ virtual u16 getTexNo(u32 idx) const { return mTexNo[idx]; }
601 /* 803227EC */ virtual void setTevOrder(u32 idx, J3DTevOrder const* order) { mTevOrder[idx] = *order; }
602 /* 803227D8 */ virtual void setTevOrder(u32 idx, J3DTevOrder order) { mTevOrder[idx] = order; }
603 /* 80322800 */ virtual J3DTevOrder* getTevOrder(u32 idx) { return &mTevOrder[idx]; }
604 /* 80322818 */ virtual void setTevStageNum(u8 const* num) {}
605 /* 80322814 */ virtual void setTevStageNum(u8 num) {}
606 /* 8032281C */ virtual u8 getTevStageNum() const { return 1; }
607 /* 80322860 */ virtual void setTevStage(u32 idx, J3DTevStage const* stage) { mTevStage[idx] = *stage; }
608 /* 80322824 */ virtual void setTevStage(u32 idx, J3DTevStage stage) { mTevStage[idx] = stage; }
609 /* 8032289C */ virtual J3DTevStage* getTevStage(u32 idx) { return &mTevStage[idx]; }
610 /* 803228C4 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage const* stage) { mIndTevStage[idx] = *stage; }
611 /* 803228B0 */ virtual void setIndTevStage(u32 idx, J3DIndTevStage stage) { mIndTevStage[idx] = stage; }
612 /* 803228D8 */ virtual J3DIndTevStage* getIndTevStage(u32 idx) { return &mIndTevStage[idx]; }
613 /* 803228EC */ virtual u32 getTexNoOffset() const { return mTexNoOffset; }
614 /* 803228F4 */ virtual ~J3DTevBlock1() {}
615
616 /* 0x08 */ u16 mTexNo[1];
617 /* 0x0A */ J3DTevOrder mTevOrder[1];
618 /* 0x0E */ J3DTevStage mTevStage[1];
620}; // Size: 0x1C
621
622extern const u16 j3dDefaultZModeID;
623
625 return param_1 * 2 + param_0 * 0x10 + param_2;
626}
627
633 /* 0x0 */ u8 field_0x0;
634 /* 0x1 */ u8 field_0x1;
635 /* 0x2 */ u8 field_0x2;
636 /* 0x3 */ u8 pad;
637};
638
639extern u8 j3dZModeTable[96];
640
645struct J3DZMode {
647 J3DZMode(J3DZModeInfo const& info) : mZModeID(calcZModeID(info.field_0x0, info.field_0x1, info.field_0x2)) {}
648
649 void setZModeInfo(const J3DZModeInfo& info) {
651 }
652
656
660
664
668
669 u8 getCompareEnable() const { return j3dZModeTable[mZModeID * 3 + 0]; }
670 u8 getFunc() const { return j3dZModeTable[mZModeID * 3 + 1]; }
671 u8 getUpdateEnable() const { return j3dZModeTable[mZModeID * 3 + 2]; }
672
673 /* 0x0 */ u16 mZModeID;
674};
675
682 *(int*)&mType = *(int*)&other.mType;
683 }
684 /* 0x0 */ u8 mType;
685 /* 0x1 */ u8 mSrcFactor;
686 /* 0x2 */ u8 mDstFactor;
687 /* 0x3 */ u8 mOp;
688};
689
691
712
713extern const J3DFogInfo j3dDefaultFogInfo;
714
719struct J3DFog : public J3DFogInfo {
721 J3DFogInfo* getFogInfo() { return this; }
722 void setFogInfo(J3DFogInfo info) { *(J3DFogInfo*)this = info; }
723 void setFogInfo(J3DFogInfo* info) { *(J3DFogInfo*)this = *info; }
724
729};
730
736 /* 0x0 */ u8 field_0x0;
737 /* 0x1 */ u8 field_0x1;
738 /* 0x2 */ u8 mRef0;
739 /* 0x3 */ u8 mRef1;
740 /* 0x4 */ u8 field_0x4;
741 /* 0x5 */ u8 field_0x5;
742 /* 0x6 */ u8 field_0x6;
743 /* 0x7 */ u8 field_0x7;
744};
745
746extern const u16 j3dDefaultAlphaCmpID;
747
749 return ((param_1 & 0xff) << 5) + ((param_2 & 0xff) << 3) + (param_3 & 0xff);
750}
751
752// matches for `J3DMaterialFactory::newAlphaComp,J3DMaterialFactory_v21::newAlphaComp` but fails for `d_resorce::addWarpMaterial`
753// inline u32 calcAlphaCmpID(u8 param_1, u8 param_2, u8 param_3) {
754// return param_1 * 0x20 + param_2 * 8 + param_3;
755// }
756
763 J3DAlphaComp(u16 id) : mID(id), mRef0(0), mRef1(0) {}
765 mID(calcAlphaCmpID(info.field_0x0, info.mRef0, info.mRef1)),
766 mRef0(info.field_0x1),
767 mRef1(info.field_0x4)
768 {}
769
771 mRef0 = param_1.field_0x1;
772 mRef1 = param_1.field_0x4;
773 u32 p1_mref1 = param_1.mRef1;
774 mID = calcAlphaCmpID(param_1.field_0x0, param_1.mRef0, p1_mref1);
775
776 // this matches for `dKy_bg_MAxx_proc` but causes `addWarpMaterial` to fail,
777 // while the above matches for `addWarpMaterial` but causes `dKy_bg_MAxx_proc` to fail?
778 // mID = calcAlphaCmpID(param_1.field_0x0, param_1.mRef0, param_1.mRef1);
779 }
780
782 GXAlphaOp getOp() const { return GXAlphaOp(j3dAlphaCmpTable[mID * 3 + 1]); }
783 GXCompare getComp1() const { return GXCompare(j3dAlphaCmpTable[mID * 3 + 2]); }
784 u8 getRef0() const { return mRef0; }
785 u8 getRef1() const { return mRef1; }
786
787 void load() {
789 }
790
791 /* 0x00 */ u16 mID;
792 /* 0x02 */ u8 mRef0;
793 /* 0x03 */ u8 mRef1;
794}; // Size: 0x4
795
801public:
802 /* 80317348 */ virtual void reset(J3DPEBlock*) {}
803 virtual void load() = 0;
804 /* 8000DBCC */ virtual void patch() {}
805 /* 80317344 */ virtual void diff(u32) {}
806 /* 8031735C */ virtual void diffFog() {}
807 /* 80317360 */ virtual void diffBlend() {}
808 /* 8031731C */ virtual s32 countDLSize() { return 0; }
809 virtual u32 getType() = 0;
810 /* 80317368 */ virtual void setFog(J3DFog) {}
811 /* 80317364 */ virtual void setFog(J3DFog*) {}
812 /* 8000DF5C */ virtual J3DFog* getFog() { return NULL; }
813 /* 8031736C */ virtual void setAlphaComp(J3DAlphaComp const*) {}
814 /* 8000E01C */ virtual void setAlphaComp(J3DAlphaComp const&) {}
815 /* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp() { return NULL; }
816 /* 80317370 */ virtual void setBlend(J3DBlend const*) {}
817 /* 8000E018 */ virtual void setBlend(J3DBlend const&) {}
818 /* 8000DF4C */ virtual J3DBlend* getBlend() { return NULL; }
819 /* 80317374 */ virtual void setZMode(J3DZMode const*) {}
820 /* 8000E014 */ virtual void setZMode(J3DZMode) {}
821 /* 8000DF44 */ virtual J3DZMode* getZMode() { return NULL; }
822 /* 80317378 */ virtual void setZCompLoc(u8 const*) {}
823 /* 8000E010 */ virtual void setZCompLoc(u8) {}
824 /* 8000DF3C */ virtual u8 getZCompLoc() const { return 0; }
825 /* 80317380 */ virtual void setDither(u8 const*) {}
826 /* 8031737C */ virtual void setDither(u8) {}
827 /* 80317384 */ virtual u8 getDither() const { return 0; }
828 /* 8031738C */ virtual u32 getFogOffset() const { return 0; }
829 /* 80317394 */ virtual void setFogOffset(u32) {}
830 /* 803172B4 */ virtual ~J3DPEBlock() {}
831};
832
837struct J3DPEBlockNull : public J3DPEBlock {
838 /* 803329A0 */ virtual void load() {}
839 /* 803329A4 */ virtual u32 getType() { return 'PENL'; }
840 /* 803329B0 */ virtual ~J3DPEBlockNull() {}
841};
842
847class J3DPEBlockXlu : public J3DPEBlock {
848public:
849 /* 8031E98C */ virtual void load();
850 /* 80317BF4 */ virtual s32 countDLSize();
851 /* 80323258 */ virtual u32 getType() { return 'PEXL'; }
852 /* 80323264 */ virtual ~J3DPEBlockXlu() {}
853};
854
860public:
861 /* 8031E6C8 */ virtual void load();
862 /* 80317BEC */ virtual s32 countDLSize();
863 /* 803232C0 */ virtual u32 getType() { return 'PEED'; }
864 /* 803232CC */ virtual ~J3DPEBlockTexEdge() {}
865};
866
871class J3DPEBlockOpa : public J3DPEBlock {
872public:
873 /* 8031E408 */ virtual void load();
874 /* 80317BE4 */ virtual s32 countDLSize();
875 /* 80323328 */ virtual u32 getType() { return 'PEOP'; }
876 /* 80323334 */ virtual ~J3DPEBlockOpa() {}
877};
878
884public:
886 initialize();
887 }
888 /* 80317B58 */ void initialize();
889
890 /* 8032129C */ virtual void reset(J3DPEBlock*);
891 /* 8031F3C0 */ virtual void load();
892 /* 8031F890 */ virtual void patch();
893 /* 8031FCA0 */ virtual void diff(u32);
894 /* 8031F940 */ virtual void diffFog();
895 /* 8031F9B8 */ virtual void diffBlend();
896 /* 80317C04 */ virtual s32 countDLSize();
897 /* 8032194C */ virtual u32 getType() { return 'PEFL'; }
898 /* 8032197C */ virtual void setFog(J3DFog fog) { mFog.setFogInfo(fog.getFogInfo()); }
899 /* 80321958 */ virtual void setFog(J3DFog* pFog) { mFog.setFogInfo(pFog->getFogInfo()); }
900 /* 803219A0 */ virtual J3DFog* getFog() { return &mFog; }
901 /* 803219C4 */ virtual void setAlphaComp(J3DAlphaComp const* alphaComp) { mAlphaComp = *alphaComp; }
902 /* 803219A8 */ virtual void setAlphaComp(J3DAlphaComp const& alphaComp) { mAlphaComp = alphaComp; }
903 /* 803219E0 */ virtual J3DAlphaComp* getAlphaComp() { return &mAlphaComp; }
904 /* 803219F4 */ virtual void setBlend(J3DBlend const* blend) { mBlend = *blend; }
905 /* 803219E8 */ virtual void setBlend(J3DBlend const& blend) { mBlend = blend; }
906 /* 80321A00 */ virtual J3DBlend* getBlend() { return &mBlend; }
907 /* 80321A14 */ virtual void setZMode(J3DZMode const* zMode) { mZMode = *zMode; }
908 /* 80321A08 */ virtual void setZMode(J3DZMode zMode) { mZMode = zMode; }
909 /* 80321A20 */ virtual J3DZMode* getZMode() { return &mZMode; }
910 /* 80321A30 */ virtual void setZCompLoc(u8 const* zCompLoc) { mZCompLoc = *zCompLoc; }
911 /* 80321A28 */ virtual void setZCompLoc(u8 zCompLoc) { mZCompLoc = zCompLoc; }
912 /* 80321A3C */ virtual u8 getZCompLoc() const { return mZCompLoc; }
913 /* 80321A4C */ virtual void setDither(u8 const* dither) { mDither = *dither; }
914 /* 80321A44 */ virtual void setDither(u8 dither) { mDither = dither; }
915 /* 80321A58 */ virtual u8 getDither() const { return mDither; }
916 /* 80321A60 */ virtual u32 getFogOffset() const { return mFogOffset; }
917 /* 80321A68 */ virtual void setFogOffset(u32 fogOffset) { mFogOffset = fogOffset; }
918 /* 80321A70 */ virtual ~J3DPEBlockFull() {}
919
920 /* 0x04 */ J3DFog mFog;
922 /* 0x34 */ J3DBlend mBlend;
923 /* 0x38 */ J3DZMode mZMode;
924 /* 0x3A */ u8 mZCompLoc;
925 /* 0x3B */ u8 mDither;
926 /* 0x3C */ u32 mFogOffset;
927}; // Size: 0x40
928
934public:
936 initialize();
937 }
938 /* 80317B34 */ void initialize();
939
940 /* 803211B4 */ virtual void reset(J3DPEBlock*);
941 /* 8031EC50 */ virtual void load();
942 /* 80321ACC */ virtual void diff(u32 param_0) { if (param_0 & 0x20000000) diffBlend(); };
943 /* 8031F0D8 */ virtual void diffBlend();
944 /* 80317BFC */ virtual s32 countDLSize();
945 /* 80321B00 */ virtual u32 getType() { return 'PEFG'; }
946 /* 80321B28 */ virtual void setAlphaComp(J3DAlphaComp const* alphaComp) { mAlphaComp = *alphaComp; }
947 /* 80321B0C */ virtual void setAlphaComp(J3DAlphaComp const& alphaComp) { mAlphaComp = alphaComp; }
948 /* 80321B44 */ virtual J3DAlphaComp* getAlphaComp() { return &mAlphaComp; }
949 /* 80321B58 */ virtual void setBlend(J3DBlend const* blend) { mBlend = *blend; }
950 /* 80321B4C */ virtual void setBlend(J3DBlend const& blend) { mBlend = blend; }
951 /* 80321B64 */ virtual J3DBlend* getBlend() { return &mBlend; }
952 /* 80321B78 */ virtual void setZMode(J3DZMode const* zMode) { mZMode = *zMode; }
953 /* 80321B6C */ virtual void setZMode(J3DZMode zMode) { mZMode = zMode; }
954 /* 80321B84 */ virtual J3DZMode* getZMode() { return &mZMode; }
955 /* 80321B94 */ virtual void setZCompLoc(u8 const* zCompLoc) { mZCompLoc = *zCompLoc; }
956 /* 80321B8C */ virtual void setZCompLoc(u8 zCompLoc) { mZCompLoc = zCompLoc; }
957 /* 80321BA0 */ virtual u8 getZCompLoc() const { return mZCompLoc; }
958 /* 80321BB0 */ virtual void setDither(u8 const* dither) { mDither = *dither; }
959 /* 80321BA8 */ virtual void setDither(u8 dither) { mDither = dither; }
960 /* 80321BBC */ virtual u8 getDither() const { return mDither; }
961 /* 80321BC4 */ virtual ~J3DPEBlockFogOff() {}
962
964 /* 0x08 */ J3DBlend mBlend;
965 /* 0x0C */ J3DZMode mZMode;
966 /* 0x0E */ u8 mZCompLoc;
967 /* 0x0F */ u8 mDither;
968}; // Size: 0x10
969
975 /* 0x0 */ u8 mScaleS;
976 /* 0x1 */ u8 mScaleT;
977 /* 0x2 */ u8 field_0x2;
978 /* 0x3 */ u8 field_0x3;
979}; // Size: 0x4
980
982
990 /* 8000E024 */ ~J3DIndTexCoordScale() {}
993
995 //__memcpy(this, &other, sizeof(J3DIndTexCoordScaleInfo));
996 *(u32*)this = *(u32*)&other;
997 return *this;
998 }
999}; // Size: 0x4
1000
1002
1009 J3DIndTexMtx(J3DIndTexMtxInfo const& info) { *(J3DIndTexMtxInfo*)this = info; }
1010 /* 8000E064 */ ~J3DIndTexMtx() {}
1014}; // Size: 0x1C
1015
1021 /* 0x0 */ u8 mCoord;
1022 /* 0x1 */ u8 mMap;
1023 /* 0x2 */ u8 field_0x2;
1024 /* 0x3 */ u8 field_0x3;
1025}; // Size: 0x04
1026
1028
1038
1040 //__memcpy(this, &other, sizeof(J3DIndTexOrderInfo));
1041 *(u32*)this = *(u32*)&other;
1042 return *this;
1043 }
1044}; // Size: 0x04
1045
1051public:
1052 /* 8031734C */ virtual void reset(J3DIndBlock*) {}
1053 virtual void diff(u32) = 0;
1054 virtual void load() = 0;
1055 /* 80317314 */ virtual s32 countDLSize() { return 0; }
1056 virtual u32 getType() = 0;
1057 /* 8000E0A0 */ virtual void setIndTexStageNum(u8) {}
1058 /* 8000DF7C */ virtual u8 getIndTexStageNum() const { return 0; }
1059 /* 80317410 */ virtual void setIndTexOrder(u32, J3DIndTexOrder) {}
1060 /* 8031740C */ virtual void setIndTexOrder(u32, J3DIndTexOrder const*) {}
1061 /* 8000DF74 */ virtual J3DIndTexOrder* getIndTexOrder(u32) { return NULL; }
1062 /* 80317414 */ virtual void setIndTexMtx(u32, J3DIndTexMtx const*) {}
1063 /* 8000E060 */ virtual void setIndTexMtx(u32, J3DIndTexMtx) {}
1064 /* 8000DF6C */ virtual J3DIndTexMtx* getIndTexMtx(u32) { return NULL; }
1065 /* 8000E020 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale) {}
1066 /* 80317418 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*) {}
1067 /* 8000DF64 */ virtual J3DIndTexCoordScale* getIndTexCoordScale(u32) { return NULL; }
1068 /* 8031726C */ virtual ~J3DIndBlock() {}
1069};
1070
1076public:
1077 /* 803173A0 */ virtual void reset(J3DIndBlock*) {}
1078 /* 80317398 */ virtual void diff(u32) {}
1079 /* 8031739C */ virtual void load() {}
1080 /* 803173A4 */ virtual u32 getType() { return 'IBLN'; }
1081 /* 803173B0 */ virtual ~J3DIndBlockNull() {}
1082};
1083
1089public:
1091 initialize();
1092 }
1093 /* 80317B28 */ void initialize();
1094
1095 /* 803210B0 */ virtual void reset(J3DIndBlock*);
1096 /* 8031E328 */ virtual void diff(u32);
1097 /* 8031E12C */ virtual void load();
1098 /* 80317BDC */ virtual s32 countDLSize();
1099 /* 80323390 */ virtual u32 getType() { return 'IBLF'; }
1100 /* 8032339C */ virtual void setIndTexStageNum(u8 num) { mIndTexStageNum = num; }
1101 /* 803233A4 */ virtual u8 getIndTexStageNum() const { return mIndTexStageNum; }
1102 /* 803233AC */ virtual void setIndTexOrder(u32 idx, J3DIndTexOrder order) { mIndTexOrder[idx] = order; }
1103 /* 803233C0 */ virtual void setIndTexOrder(u32 idx, J3DIndTexOrder const* order) { mIndTexOrder[idx] = *order; }
1104 /* 803233D4 */ virtual J3DIndTexOrder* getIndTexOrder(u32 idx) { return &mIndTexOrder[idx]; }
1105 /* 8032341C */ virtual void setIndTexMtx(u32 idx, J3DIndTexMtx const* mtx) { mIndTexMtx[idx] = *mtx; }
1106 /* 803233E8 */ virtual void setIndTexMtx(u32 idx, J3DIndTexMtx mtx) { mIndTexMtx[idx] = mtx; }
1107 /* 80323450 */ virtual J3DIndTexMtx* getIndTexMtx(u32 idx) { return &mIndTexMtx[idx]; }
1108 /* 80323478 */ virtual void setIndTexCoordScale(u32 idx, J3DIndTexCoordScale const* scale) { mIndTexCoordScale[idx] = *scale; }
1109 /* 80323464 */ virtual void setIndTexCoordScale(u32 idx, J3DIndTexCoordScale scale) { mIndTexCoordScale[idx] = scale; }
1110 /* 8032348C */ virtual J3DIndTexCoordScale* getIndTexCoordScale(u32 idx) { return &mIndTexCoordScale[idx]; }
1111 /* 803234A0 */ virtual ~J3DIndBlockFull() {}
1112
1117}; // Size: 0x7C
1118
1124 /* 0x0 */ u8 field_0x0;
1125 /* 0x1 */ u8 field_0x1;
1126 /* 0x2 */ u8 field_0x2;
1127 /* 0x3 */ u8 field_0x3;
1128 /* 0x4 */ u8 field_0x4;
1129 /* 0x5 */ u8 field_0x5;
1130 /* 0x6 */ u8 pad[2];
1131};
1132
1134
1137 u32 tmp = matSrc << 0;
1138 return tmp | enable << 1 | (lightMask & 0x0F) << 2 | ambSrc << 6 |
1139 ((attnFn == GX_AF_SPEC) ? GX_DF_NONE : diffuseFn) << 7 | (attnFn != GX_AF_NONE) << 9 |
1140 (attnFn != GX_AF_SPEC) << 10 | (lightMask >> 4 & 0x0F) << 11;
1141}
1142
1152 setColorChanInfo(info);
1153 }
1156 info.field_0x3, info.field_0x4, info.field_0x5 == 0xff ? 0 : info.field_0x5);
1157 }
1159 // if (param_4 == 0) {
1160 // param_3 = 0;
1161 // }
1162 u32 b0 = ((param_2 & 1) != 0);
1163 u32 b1 = ((param_2 & 2) != 0);
1164 u32 b2 = ((param_2 & 4) != 0);
1165 u32 b3 = ((param_2 & 8) != 0);
1166 u32 b4 = ((param_2 & 0x10) != 0);
1167 u32 b5 = ((param_2 & 0x20) != 0);
1168 u32 b6 = ((param_2 & 0x40) != 0);
1169 u32 b7 = ((param_2 & 0x80) != 0);
1170 return param_1 | (param_0 << 1) | (b0 << 2) | (b1 << 3) | (b2 << 4) | (b3 << 5) |
1171 (param_5 << 6) | (param_3 << 7) | ((param_4 != 2) << 9) | ((param_4 != 0) << 10) |
1172 (b4 << 11) | (b5 << 12) | (b6 << 13) | (b7 << 14);
1173 // return (b7 << 14) | (b6 << 13) | (b5 << 12) | (b4 << 11) |
1174 // ((param_4 != 0) << 10) | ((param_4 != 2) << 9) | ((param_3 != 0) << 7) | ((param_5 != 0) << 6) |
1175 // (b3 << 5) | (b2 << 4) | (b1 << 3) | (b0 << 2) | ((param_0 != 0) << 1) | param_1;
1176 }
1177 u8 getLightMask() { return ((mColorChanID >> 2) & 0xf) | ((mColorChanID >> 11) & 0xf) << 4; }
1179 mColorChanID = (mColorChanID & ~0x3c) | ((param_1 & 0xf) << 2);
1180 mColorChanID = (mColorChanID & ~0x7800) | ((param_1 & 0xf0) << 7);
1181 }
1182
1183 u8 getEnable() { return (mColorChanID >> 1) & 1; }
1184 GXColorSrc getAmbSrc() { return (GXColorSrc)((mColorChanID >> 6) & 1); }
1187 // This function has to appear in J3DMatBlock.cpp because it generates extra data in .sdata2
1188 inline GXAttnFn getAttnFn();
1189
1190 // NONMATCHING regalloc
1195
1197};
1198
1204public:
1205 /* 80317324 */ virtual void load() {}
1206 /* 80317358 */ virtual void reset(J3DColorBlock*) {}
1207 /* 8031733C */ virtual void patch() {}
1208 /* 80317434 */ virtual void patchMatColor() {}
1209 /* 8000DBD0 */ virtual void patchLight() {}
1210 /* 80317340 */ virtual void diff(u32) {}
1211 /* 80317438 */ virtual void diffAmbColor() {}
1212 /* 8031743C */ virtual void diffMatColor() {}
1213 /* 80317440 */ virtual void diffColorChan() {}
1214 /* 80317444 */ virtual void diffLightObj(u32) {}
1215 /* 80317304 */ virtual s32 countDLSize() { return 0; }
1216 virtual u32 getType() = 0;
1217 /* 80317448 */ virtual void setMatColor(u32, J3DGXColor const*) {}
1218 /* 8000E0DC */ virtual void setMatColor(u32, J3DGXColor) {}
1219 /* 8000E000 */ virtual J3DGXColor* getMatColor(u32) { return NULL; }
1220 /* 801A4C0C */ virtual void setAmbColor(u32, J3DGXColor const*) {}
1221 /* 8000E0D4 */ virtual void setAmbColor(u32, J3DGXColor) {}
1222 /* 8000DFF0 */ virtual J3DGXColor* getAmbColor(u32) { return NULL; }
1223 /* 8000E0E0 */ virtual void setColorChanNum(u8) {}
1224 /* 8031744C */ virtual void setColorChanNum(u8 const*) {}
1225 /* 8000E008 */ virtual u8 getColorChanNum() const { return 0; }
1226 /* 8000E0D8 */ virtual void setColorChan(u32, J3DColorChan const&) {}
1227 /* 80317450 */ virtual void setColorChan(u32, J3DColorChan const*) {}
1228 /* 8000DFF8 */ virtual J3DColorChan* getColorChan(u32) { return NULL; }
1229 /* 801A4C08 */ virtual void setLight(u32, J3DLightObj*) {}
1230 /* 80317454 */ virtual J3DLightObj* getLight(u32) { return NULL; }
1231 /* 80317460 */ virtual void setCullMode(u8 const*) {}
1232 /* 8031745C */ virtual void setCullMode(u8) {}
1233 /* 80317328 */ virtual s32 getCullMode() const { return 2; }
1234 /* 80317464 */ virtual u32 getMatColorOffset() const { return 0; }
1235 /* 8031746C */ virtual u32 getColorChanOffset() const { return 0; }
1236 /* 80317474 */ virtual void setMatColorOffset(u32) {}
1237 /* 80317478 */ virtual void setColorChanOffset(u32) {}
1238 /* 80317138 */ virtual ~J3DColorBlock() {}
1239};
1240
1246 /* 80332B2C */ virtual u32 getType() { return 'CLNL'; }
1247 /* 80332B38 */ virtual ~J3DColorBlockNull() {}
1248};
1249
1255public:
1259 /* 80317580 */ void initialize();
1260
1261 /* 803187F4 */ virtual void load();
1262 /* 8031FF34 */ virtual void reset(J3DColorBlock*);
1263 /* 803194E8 */ virtual void patch();
1264 /* 80319534 */ virtual void patchMatColor();
1265 /* 803196E0 */ virtual void patchLight();
1266 /* 8031A13C */ virtual void diff(u32);
1267 /* 8031A1DC */ virtual void diffAmbColor();
1268 /* 8031A358 */ virtual void diffMatColor();
1269 /* 8031A4D4 */ virtual void diffColorChan();
1270 /* 8031A8E0 */ virtual void diffLightObj(u32);
1271 /* 80317B94 */ virtual s32 countDLSize();
1272 /* 80322E80 */ virtual u32 getType() { return 'CLON'; }
1273 /* 80322EB8 */ virtual void setMatColor(u32 idx, J3DGXColor const* color) { mMatColor[idx] = *color; }
1274 /* 80322E8C */ virtual void setMatColor(u32 idx, J3DGXColor color) { mMatColor[idx] = color; }
1275 /* 80322EE4 */ virtual J3DGXColor* getMatColor(u32 idx) { return &mMatColor[idx]; }
1276 /* 80322F24 */ virtual void setAmbColor(u32 idx, J3DGXColor const* color) { mAmbColor[idx] = *color; }
1277 /* 80322EF8 */ virtual void setAmbColor(u32 idx, J3DGXColor color) { mAmbColor[idx] = color; }
1278 /* 80322F50 */ virtual J3DGXColor* getAmbColor(u32 idx) { return &mAmbColor[idx]; }
1279 /* 80322F70 */ virtual void setColorChanNum(u8 num) { mColorChanNum = num; }
1280 /* 80322F64 */ virtual void setColorChanNum(u8 const* num) { mColorChanNum = *num; }
1281 /* 80322F78 */ virtual u8 getColorChanNum() const { return mColorChanNum; }
1282 /* 80322F94 */ virtual void setColorChan(u32 idx, J3DColorChan const& chan) { mColorChan[idx] = chan; }
1283 /* 80322F80 */ virtual void setColorChan(u32 idx, J3DColorChan const* chan) { mColorChan[idx] = *chan; }
1284 /* 80322FA8 */ virtual J3DColorChan* getColorChan(u32 idx) { return &mColorChan[idx]; }
1285 /* 80322FBC */ virtual void setLight(u32 idx, J3DLightObj* light) { mLight[idx] = light; }
1286 /* 80322FCC */ virtual J3DLightObj* getLight(u32 idx) { return mLight[idx]; }
1287 /* 80322FE4 */ virtual void setCullMode(u8 const* mode) { mCullMode = *mode; }
1288 /* 80322FDC */ virtual void setCullMode(u8 mode) { mCullMode = mode; }
1289 /* 80322FF0 */ virtual s32 getCullMode() const { return mCullMode; }
1290 /* 80322FF8 */ virtual u32 getMatColorOffset() const { return mMatColorOffset; }
1291 /* 80323000 */ virtual u32 getColorChanOffset() const { return mColorChanOffset; }
1292 /* 80323008 */ virtual void setMatColorOffset(u32 offset) { mMatColorOffset = offset; }
1293 /* 80323010 */ virtual void setColorChanOffset(u32 offset) { mColorChanOffset = offset; }
1294 /* 80323018 */ virtual ~J3DColorBlockLightOn() {}
1295
1296 /* 0x04 */ J3DGXColor mMatColor[2];
1297 /* 0x0C */ J3DGXColor mAmbColor[2];
1298 /* 0x14 */ u8 mColorChanNum;
1300 /* 0x20 */ J3DLightObj* mLight[8];
1301 /* 0x40 */ u8 mCullMode;
1304}; // Size: 0x4C
1305
1311public:
1315 /* 8031747C */ void initialize();
1316
1317 /* 80317C0C */ virtual void load();
1318 /* 8031FD08 */ virtual void reset(J3DColorBlock*);
1319 /* 80318EB4 */ virtual void patch();
1320 /* 80318F00 */ virtual void patchMatColor();
1321 /* 803190AC */ virtual void patchLight();
1322 /* 80319B4C */ virtual void diff(u32);
1323 /* 80319BB4 */ virtual void diffMatColor();
1324 /* 80319D30 */ virtual void diffColorChan();
1325 /* 80317B84 */ virtual s32 countDLSize();
1326 /* 80323560 */ virtual u32 getType() { return 'CLOF'; }
1327 /* 80323184 */ virtual void setMatColor(u32 idx, J3DGXColor const* color) { mMatColor[idx] = *color; }
1328 /* 80323158 */ virtual void setMatColor(u32 idx, J3DGXColor color) { mMatColor[idx] = color; }
1329 /* 803231B0 */ virtual J3DGXColor* getMatColor(u32 idx) { return &mMatColor[idx]; }
1330 /* 803231D0 */ virtual void setColorChanNum(u8 num) { mColorChanNum = num; }
1331 /* 803231C4 */ virtual void setColorChanNum(u8 const* num) { mColorChanNum = *num; }
1332 /* 803231D8 */ virtual u8 getColorChanNum() const { return mColorChanNum; }
1333 /* 803231F4 */ virtual void setColorChan(u32 idx, J3DColorChan const& chan) { mColorChan[idx] = chan; }
1334 /* 803231E0 */ virtual void setColorChan(u32 idx, J3DColorChan const* chan) { mColorChan[idx] = *chan; }
1335 /* 80323208 */ virtual J3DColorChan* getColorChan(u32 idx) { return &mColorChan[idx]; }
1336 /* 80323224 */ virtual void setCullMode(u8 const* mode) { mCullMode = *mode; }
1337 /* 8032321C */ virtual void setCullMode(u8 mode) { mCullMode = mode; }
1338 /* 80323230 */ virtual s32 getCullMode() const { return mCullMode; }
1339 /* 80323238 */ virtual u32 getMatColorOffset() const { return mMatColorOffset; }
1340 /* 80323240 */ virtual u32 getColorChanOffset() const { return mColorChanOffset; }
1341 /* 80323248 */ virtual void setMatColorOffset(u32 offset) { mMatColorOffset = offset; }
1342 /* 80323250 */ virtual void setColorChanOffset(u32 offset) { mColorChanOffset = offset; }
1343 /* 803170DC */ virtual ~J3DColorBlockLightOff() {}
1344
1345 /* 0x04 */ J3DGXColor mMatColor[2];
1346 /* 0x0C */ u8 mColorChanNum;
1348 /* 0x16 */ u8 mCullMode;
1351}; // Size: 0x20
1352
1358public:
1362 /* 803174DC */ void initialize();
1363
1364 /* 8031816C */ virtual void load();
1365 /* 8031FDE4 */ virtual void reset(J3DColorBlock*);
1366 /* 80317B8C */ virtual s32 countDLSize();
1367 /* 80323074 */ virtual u32 getType() { return 'CLAB'; }
1368 /* 803230AC */ virtual void setAmbColor(u32 idx, J3DGXColor const* color) { mAmbColor[idx] = *color; }
1369 /* 80323080 */ virtual void setAmbColor(u32 idx, J3DGXColor color) { mAmbColor[idx] = color; }
1370 /* 803230D8 */ virtual J3DGXColor* getAmbColor(u32 idx) { return &mAmbColor[idx]; }
1371 /* 803230EC */ virtual ~J3DColorBlockAmbientOn() {}
1372
1373 /* 0x20 */ J3DGXColor mAmbColor[2];
1374}; // Size: 0x28
1375
1376#endif /* J3DMATBLOCK_H */
@ GX_AF_SPEC
Definition GXEnum.h:115
@ GX_AF_NONE
Definition GXEnum.h:117
enum _GXTexCoordID GXTexCoordID
enum _GXDiffuseFn GXDiffuseFn
enum _GXIndTexScale GXIndTexScale
enum _GXAttnFn GXAttnFn
enum _GXTexMapID GXTexMapID
enum _GXAlphaOp GXAlphaOp
enum _GXBlendMode GXBlendMode
enum _GXIndTexMtxID GXIndTexMtxID
enum _GXColorSrc GXColorSrc
enum _GXFogType GXFogType
enum _GXCompare GXCompare
enum _GXLogicOp GXLogicOp
@ GX_DF_NONE
Definition GXEnum.h:109
enum _GXBlendFactor GXBlendFactor
void J3DGDSetFogRangeAdj(u8 param_0, u16 param_1, GXFogAdjTable *table)
Definition J3DGD.cpp:553
void J3DGDSetFog(GXFogType fogType, f32 param_1, f32 param_2, f32 nearZ, f32 farZ, GXColor color)
Definition J3DGD.cpp:522
void J3DGDSetIndTexMtx(GXIndTexMtxID id, Mtx3P mtx, s8 exp)
Definition J3DGD.cpp:393
void J3DGDWrite_u32(u32 param)
Definition J3DGD.h:15
void J3DGDSetAlphaCompare(GXCompare cmp0, u8 ref0, GXAlphaOp op, GXCompare cmp1, u8 ref1)
Definition J3DGD.h:123
void J3DGDSetBlendMode(GXBlendMode mode, GXBlendFactor srcFactor, GXBlendFactor dstFactor, GXLogicOp logicOp)
Definition J3DGD.h:127
void J3DGDSetZMode(u8 compareEnable, GXCompare func, u8 writeEnable)
Definition J3DGD.h:152
J3DIndTexMtxInfo const j3dDefaultIndTexMtxInfo
const J3DIndTexOrderInfo j3dDefaultIndTexOrderNull
u8 j3dZModeTable[96]
Definition J3DTevs.cpp:426
const J3DNBTScaleInfo j3dDefaultNBTScaleInfo
const J3DFogInfo j3dDefaultFogInfo
static u32 setChanCtrlMacro(u8 enable, GXColorSrc ambSrc, GXColorSrc matSrc, u32 lightMask, GXDiffuseFn diffuseFn, GXAttnFn attnFn)
Definition J3DMatBlock.h:1135
const J3DBlendInfo j3dDefaultBlendInfo
const J3DColorChanInfo j3dDefaultColorChanInfo
const u16 j3dDefaultAlphaCmpID
Definition J3DTevs.cpp:562
const J3DIndTexCoordScaleInfo j3dDefaultIndTexCoordScaleInfo
u16 calcZModeID(u8 param_0, u8 param_1, u8 param_2)
Definition J3DMatBlock.h:624
const u16 j3dDefaultZModeID
Definition J3DTevs.cpp:565
u32 calcAlphaCmpID(u32 param_1, u32 param_2, u32 param_3)
Definition J3DMatBlock.h:748
u8 j3dAlphaCmpTable[768]
Definition J3DTevs.cpp:406
static Mtx mtx[10]
Definition c_lib.cpp:347
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition J3DMatBlock.h:1357
J3DColorBlockAmbientOn()
Definition J3DMatBlock.h:1359
J3DGXColor mAmbColor[2]
Definition J3DMatBlock.h:1373
virtual void reset(J3DColorBlock *)
Definition J3DMatBlock.cpp:1658
void initialize()
Definition J3DMatBlock.cpp:49
virtual void setAmbColor(u32 idx, J3DGXColor color)
Definition J3DMatBlock.h:1369
virtual ~J3DColorBlockAmbientOn()
Definition J3DMatBlock.h:1371
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:253
virtual void setAmbColor(u32 idx, J3DGXColor const *color)
Definition J3DMatBlock.h:1368
virtual J3DGXColor * getAmbColor(u32 idx)
Definition J3DMatBlock.h:1370
virtual u32 getType()
Definition J3DMatBlock.h:1367
virtual void load()
Definition J3DMatBlock.cpp:370
Definition J3DMatBlock.h:1310
virtual void patch()
Definition J3DMatBlock.cpp:403
virtual void setMatColorOffset(u32 offset)
Definition J3DMatBlock.h:1341
virtual u32 getColorChanOffset() const
Definition J3DMatBlock.h:1340
J3DGXColor mMatColor[2]
Definition J3DMatBlock.h:1345
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:248
virtual void setCullMode(u8 const *mode)
Definition J3DMatBlock.h:1336
virtual void load()
Definition J3DMatBlock.cpp:354
virtual void setColorChan(u32 idx, J3DColorChan const &chan)
Definition J3DMatBlock.h:1333
u8 mColorChanNum
Definition J3DMatBlock.h:1346
virtual u32 getMatColorOffset() const
Definition J3DMatBlock.h:1339
virtual void diffColorChan()
Definition J3DMatBlock.cpp:482
virtual void setColorChanOffset(u32 offset)
Definition J3DMatBlock.h:1342
virtual void setColorChan(u32 idx, J3DColorChan const *chan)
Definition J3DMatBlock.h:1334
virtual void diffMatColor()
Definition J3DMatBlock.cpp:476
virtual void setCullMode(u8 mode)
Definition J3DMatBlock.h:1337
J3DColorChan mColorChan[4]
Definition J3DMatBlock.h:1347
virtual void setColorChanNum(u8 const *num)
Definition J3DMatBlock.h:1331
virtual J3DGXColor * getMatColor(u32 idx)
Definition J3DMatBlock.h:1329
virtual ~J3DColorBlockLightOff()
Definition J3DMatBlock.h:1343
virtual void setMatColor(u32 idx, J3DGXColor const *color)
Definition J3DMatBlock.h:1327
u8 mCullMode
Definition J3DMatBlock.h:1348
virtual void reset(J3DColorBlock *)
Definition J3DMatBlock.cpp:1645
u32 mMatColorOffset
Definition J3DMatBlock.h:1349
virtual void patchMatColor()
Definition J3DMatBlock.cpp:409
virtual u32 getType()
Definition J3DMatBlock.h:1326
virtual void setColorChanNum(u8 num)
Definition J3DMatBlock.h:1330
virtual void setMatColor(u32 idx, J3DGXColor color)
Definition J3DMatBlock.h:1328
virtual void patchLight()
Definition J3DMatBlock.cpp:419
virtual u8 getColorChanNum() const
Definition J3DMatBlock.h:1332
virtual s32 getCullMode() const
Definition J3DMatBlock.h:1338
J3DColorBlockLightOff()
Definition J3DMatBlock.h:1312
virtual J3DColorChan * getColorChan(u32 idx)
Definition J3DMatBlock.h:1335
virtual void diff(u32)
Definition J3DMatBlock.cpp:468
void initialize()
Definition J3DMatBlock.cpp:39
u32 mColorChanOffset
Definition J3DMatBlock.h:1350
Definition J3DMatBlock.h:1254
virtual void patchLight()
Definition J3DMatBlock.cpp:449
virtual void setCullMode(u8 const *mode)
Definition J3DMatBlock.h:1287
virtual u32 getColorChanOffset() const
Definition J3DMatBlock.h:1291
virtual void setAmbColor(u32 idx, J3DGXColor color)
Definition J3DMatBlock.h:1277
virtual void setLight(u32 idx, J3DLightObj *light)
Definition J3DMatBlock.h:1285
virtual u8 getColorChanNum() const
Definition J3DMatBlock.h:1281
virtual void setColorChan(u32 idx, J3DColorChan const *chan)
Definition J3DMatBlock.h:1283
virtual void patch()
Definition J3DMatBlock.cpp:433
J3DLightObj * mLight[8]
Definition J3DMatBlock.h:1300
virtual void setColorChanOffset(u32 offset)
Definition J3DMatBlock.h:1293
J3DGXColor mAmbColor[2]
Definition J3DMatBlock.h:1297
virtual void load()
Definition J3DMatBlock.cpp:384
u32 mMatColorOffset
Definition J3DMatBlock.h:1302
virtual void setMatColor(u32 idx, J3DGXColor color)
Definition J3DMatBlock.h:1274
virtual J3DGXColor * getMatColor(u32 idx)
Definition J3DMatBlock.h:1275
J3DColorBlockLightOn()
Definition J3DMatBlock.h:1256
virtual u32 getMatColorOffset() const
Definition J3DMatBlock.h:1290
virtual J3DLightObj * getLight(u32 idx)
Definition J3DMatBlock.h:1286
virtual void setCullMode(u8 mode)
Definition J3DMatBlock.h:1288
virtual void setAmbColor(u32 idx, J3DGXColor const *color)
Definition J3DMatBlock.h:1276
virtual void reset(J3DColorBlock *)
Definition J3DMatBlock.cpp:1676
virtual J3DGXColor * getAmbColor(u32 idx)
Definition J3DMatBlock.h:1278
J3DGXColor mMatColor[2]
Definition J3DMatBlock.h:1296
virtual void setColorChan(u32 idx, J3DColorChan const &chan)
Definition J3DMatBlock.h:1282
u32 mColorChanOffset
Definition J3DMatBlock.h:1303
virtual void setMatColor(u32 idx, J3DGXColor const *color)
Definition J3DMatBlock.h:1273
virtual u32 getType()
Definition J3DMatBlock.h:1272
virtual void diff(u32)
Definition J3DMatBlock.cpp:492
virtual s32 getCullMode() const
Definition J3DMatBlock.h:1289
J3DColorChan mColorChan[4]
Definition J3DMatBlock.h:1299
virtual void diffMatColor()
Definition J3DMatBlock.cpp:513
u8 mColorChanNum
Definition J3DMatBlock.h:1298
virtual void setColorChanNum(u8 const *num)
Definition J3DMatBlock.h:1280
virtual void diffAmbColor()
Definition J3DMatBlock.cpp:507
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:258
virtual void diffColorChan()
Definition J3DMatBlock.cpp:519
virtual void patchMatColor()
Definition J3DMatBlock.cpp:439
virtual J3DColorChan * getColorChan(u32 idx)
Definition J3DMatBlock.h:1284
u8 mCullMode
Definition J3DMatBlock.h:1301
virtual void setColorChanNum(u8 num)
Definition J3DMatBlock.h:1279
virtual void diffLightObj(u32)
Definition J3DMatBlock.cpp:529
virtual ~J3DColorBlockLightOn()
Definition J3DMatBlock.h:1294
void initialize()
Definition J3DMatBlock.cpp:62
virtual void setMatColorOffset(u32 offset)
Definition J3DMatBlock.h:1292
Definition J3DMatBlock.h:1203
virtual void diffLightObj(u32)
Definition J3DMatBlock.h:1214
virtual ~J3DColorBlock()
Definition J3DMatBlock.h:1238
virtual void diffMatColor()
Definition J3DMatBlock.h:1212
virtual J3DGXColor * getAmbColor(u32)
Definition J3DMatBlock.h:1222
virtual u32 getType()=0
virtual u8 getColorChanNum() const
Definition J3DMatBlock.h:1225
virtual void patch()
Definition J3DMatBlock.h:1207
virtual void setColorChanNum(u8)
Definition J3DMatBlock.h:1223
virtual void diff(u32)
Definition J3DMatBlock.h:1210
virtual void setLight(u32, J3DLightObj *)
Definition J3DMatBlock.h:1229
virtual void diffAmbColor()
Definition J3DMatBlock.h:1211
virtual void setAmbColor(u32, J3DGXColor)
Definition J3DMatBlock.h:1221
virtual void setColorChanNum(u8 const *)
Definition J3DMatBlock.h:1224
virtual u32 getMatColorOffset() const
Definition J3DMatBlock.h:1234
virtual s32 getCullMode() const
Definition J3DMatBlock.h:1233
virtual void reset(J3DColorBlock *)
Definition J3DMatBlock.h:1206
virtual void load()
Definition J3DMatBlock.h:1205
virtual void setAmbColor(u32, J3DGXColor const *)
Definition J3DMatBlock.h:1220
virtual void setMatColorOffset(u32)
Definition J3DMatBlock.h:1236
virtual void setColorChan(u32, J3DColorChan const &)
Definition J3DMatBlock.h:1226
virtual void setCullMode(u8)
Definition J3DMatBlock.h:1232
virtual void patchMatColor()
Definition J3DMatBlock.h:1208
virtual s32 countDLSize()
Definition J3DMatBlock.h:1215
virtual void setCullMode(u8 const *)
Definition J3DMatBlock.h:1231
virtual u32 getColorChanOffset() const
Definition J3DMatBlock.h:1235
virtual J3DLightObj * getLight(u32)
Definition J3DMatBlock.h:1230
virtual void setColorChan(u32, J3DColorChan const *)
Definition J3DMatBlock.h:1227
virtual J3DGXColor * getMatColor(u32)
Definition J3DMatBlock.h:1219
virtual void patchLight()
Definition J3DMatBlock.h:1209
virtual void diffColorChan()
Definition J3DMatBlock.h:1213
virtual void setColorChanOffset(u32)
Definition J3DMatBlock.h:1237
virtual void setMatColor(u32, J3DGXColor)
Definition J3DMatBlock.h:1218
virtual J3DColorChan * getColorChan(u32)
Definition J3DMatBlock.h:1228
virtual void setMatColor(u32, J3DGXColor const *)
Definition J3DMatBlock.h:1217
Definition J3DMatBlock.h:1088
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:304
virtual void setIndTexStageNum(u8 num)
Definition J3DMatBlock.h:1100
virtual void setIndTexOrder(u32 idx, J3DIndTexOrder order)
Definition J3DMatBlock.h:1102
virtual u8 getIndTexStageNum() const
Definition J3DMatBlock.h:1101
virtual void reset(J3DIndBlock *)
Definition J3DMatBlock.cpp:1872
virtual void setIndTexCoordScale(u32 idx, J3DIndTexCoordScale scale)
Definition J3DMatBlock.h:1109
J3DIndTexMtx mIndTexMtx[3]
Definition J3DMatBlock.h:1115
J3DIndBlockFull()
Definition J3DMatBlock.h:1090
u8 mIndTexStageNum
Definition J3DMatBlock.h:1113
virtual void setIndTexCoordScale(u32 idx, J3DIndTexCoordScale const *scale)
Definition J3DMatBlock.h:1108
J3DIndTexOrder mIndTexOrder[4]
Definition J3DMatBlock.h:1114
virtual void diff(u32)
Definition J3DMatBlock.cpp:1524
virtual void load()
Definition J3DMatBlock.cpp:1492
virtual J3DIndTexOrder * getIndTexOrder(u32 idx)
Definition J3DMatBlock.h:1104
J3DIndTexCoordScale mIndTexCoordScale[4]
Definition J3DMatBlock.h:1116
virtual u32 getType()
Definition J3DMatBlock.h:1099
virtual void setIndTexMtx(u32 idx, J3DIndTexMtx mtx)
Definition J3DMatBlock.h:1106
virtual void setIndTexOrder(u32 idx, J3DIndTexOrder const *order)
Definition J3DMatBlock.h:1103
void initialize()
Definition J3DMatBlock.cpp:226
virtual J3DIndTexCoordScale * getIndTexCoordScale(u32 idx)
Definition J3DMatBlock.h:1110
virtual J3DIndTexMtx * getIndTexMtx(u32 idx)
Definition J3DMatBlock.h:1107
virtual void setIndTexMtx(u32 idx, J3DIndTexMtx const *mtx)
Definition J3DMatBlock.h:1105
virtual ~J3DIndBlockFull()
Definition J3DMatBlock.h:1111
Definition J3DMatBlock.h:1075
virtual u32 getType()
Definition J3DMatBlock.h:1080
virtual ~J3DIndBlockNull()
Definition J3DMatBlock.h:1081
virtual void load()
Definition J3DMatBlock.h:1079
virtual void reset(J3DIndBlock *)
Definition J3DMatBlock.h:1077
virtual void diff(u32)
Definition J3DMatBlock.h:1078
Definition J3DMatBlock.h:1050
virtual u8 getIndTexStageNum() const
Definition J3DMatBlock.h:1058
virtual void setIndTexStageNum(u8)
Definition J3DMatBlock.h:1057
virtual void setIndTexMtx(u32, J3DIndTexMtx const *)
Definition J3DMatBlock.h:1062
virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const *)
Definition J3DMatBlock.h:1066
virtual void setIndTexOrder(u32, J3DIndTexOrder)
Definition J3DMatBlock.h:1059
virtual J3DIndTexCoordScale * getIndTexCoordScale(u32)
Definition J3DMatBlock.h:1067
virtual void setIndTexOrder(u32, J3DIndTexOrder const *)
Definition J3DMatBlock.h:1060
virtual u32 getType()=0
virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale)
Definition J3DMatBlock.h:1065
virtual void diff(u32)=0
virtual void reset(J3DIndBlock *)
Definition J3DMatBlock.h:1052
virtual void load()=0
virtual ~J3DIndBlock()
Definition J3DMatBlock.h:1068
virtual void setIndTexMtx(u32, J3DIndTexMtx)
Definition J3DMatBlock.h:1063
virtual J3DIndTexOrder * getIndTexOrder(u32)
Definition J3DMatBlock.h:1061
virtual J3DIndTexMtx * getIndTexMtx(u32)
Definition J3DMatBlock.h:1064
virtual s32 countDLSize()
Definition J3DMatBlock.h:1055
Definition J3DStruct.h:29
Definition J3DMatBlock.h:933
J3DPEBlockFogOff()
Definition J3DMatBlock.h:935
virtual u8 getDither() const
Definition J3DMatBlock.h:960
virtual void setZCompLoc(u8 const *zCompLoc)
Definition J3DMatBlock.h:955
virtual J3DBlend * getBlend()
Definition J3DMatBlock.h:951
virtual ~J3DPEBlockFogOff()
Definition J3DMatBlock.h:961
void initialize()
Definition J3DMatBlock.cpp:231
J3DBlend mBlend
Definition J3DMatBlock.h:964
virtual J3DZMode * getZMode()
Definition J3DMatBlock.h:954
J3DZMode mZMode
Definition J3DMatBlock.h:965
virtual void setDither(u8 const *dither)
Definition J3DMatBlock.h:958
virtual J3DAlphaComp * getAlphaComp()
Definition J3DMatBlock.h:948
virtual void setZCompLoc(u8 zCompLoc)
Definition J3DMatBlock.h:956
virtual void setAlphaComp(J3DAlphaComp const &alphaComp)
Definition J3DMatBlock.h:947
virtual u8 getZCompLoc() const
Definition J3DMatBlock.h:957
virtual void reset(J3DPEBlock *)
Definition J3DMatBlock.cpp:1886
virtual u32 getType()
Definition J3DMatBlock.h:945
virtual void diff(u32 param_0)
Definition J3DMatBlock.h:942
u8 mZCompLoc
Definition J3DMatBlock.h:966
virtual void setBlend(J3DBlend const *blend)
Definition J3DMatBlock.h:949
u8 mDither
Definition J3DMatBlock.h:967
virtual void setDither(u8 dither)
Definition J3DMatBlock.h:959
J3DAlphaComp mAlphaComp
Definition J3DMatBlock.h:963
virtual void setBlend(J3DBlend const &blend)
Definition J3DMatBlock.h:950
virtual void setZMode(J3DZMode zMode)
Definition J3DMatBlock.h:953
virtual void setAlphaComp(J3DAlphaComp const *alphaComp)
Definition J3DMatBlock.h:946
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:326
virtual void setZMode(J3DZMode const *zMode)
Definition J3DMatBlock.h:952
virtual void load()
Definition J3DMatBlock.cpp:1583
virtual void diffBlend()
Definition J3DMatBlock.cpp:1592
Definition J3DMatBlock.h:883
virtual void setFog(J3DFog *pFog)
Definition J3DMatBlock.h:899
u8 mZCompLoc
Definition J3DMatBlock.h:924
virtual void setDither(u8 const *dither)
Definition J3DMatBlock.h:913
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:331
virtual void diffFog()
Definition J3DMatBlock.cpp:1621
virtual void setZMode(J3DZMode zMode)
Definition J3DMatBlock.h:908
virtual ~J3DPEBlockFull()
Definition J3DMatBlock.h:918
virtual void setDither(u8 dither)
Definition J3DMatBlock.h:914
virtual void diff(u32)
Definition J3DMatBlock.cpp:1634
virtual u8 getZCompLoc() const
Definition J3DMatBlock.h:912
u8 mDither
Definition J3DMatBlock.h:925
virtual void setFog(J3DFog fog)
Definition J3DMatBlock.h:898
J3DPEBlockFull()
Definition J3DMatBlock.h:885
J3DAlphaComp mAlphaComp
Definition J3DMatBlock.h:921
virtual J3DZMode * getZMode()
Definition J3DMatBlock.h:909
virtual void load()
Definition J3DMatBlock.cpp:1600
virtual void setBlend(J3DBlend const *blend)
Definition J3DMatBlock.h:904
void initialize()
Definition J3DMatBlock.cpp:239
virtual void setZMode(J3DZMode const *zMode)
Definition J3DMatBlock.h:907
virtual J3DAlphaComp * getAlphaComp()
Definition J3DMatBlock.h:903
virtual void setZCompLoc(u8 zCompLoc)
Definition J3DMatBlock.h:911
J3DZMode mZMode
Definition J3DMatBlock.h:923
virtual void setZCompLoc(u8 const *zCompLoc)
Definition J3DMatBlock.h:910
virtual u8 getDither() const
Definition J3DMatBlock.h:915
virtual void diffBlend()
Definition J3DMatBlock.cpp:1627
virtual J3DFog * getFog()
Definition J3DMatBlock.h:900
virtual void setAlphaComp(J3DAlphaComp const *alphaComp)
Definition J3DMatBlock.h:901
J3DFog mFog
Definition J3DMatBlock.h:920
virtual void setFogOffset(u32 fogOffset)
Definition J3DMatBlock.h:917
virtual u32 getType()
Definition J3DMatBlock.h:897
J3DBlend mBlend
Definition J3DMatBlock.h:922
virtual void setAlphaComp(J3DAlphaComp const &alphaComp)
Definition J3DMatBlock.h:902
virtual void reset(J3DPEBlock *)
Definition J3DMatBlock.cpp:1899
virtual void patch()
Definition J3DMatBlock.cpp:1611
u32 mFogOffset
Definition J3DMatBlock.h:926
virtual void setBlend(J3DBlend const &blend)
Definition J3DMatBlock.h:905
virtual J3DBlend * getBlend()
Definition J3DMatBlock.h:906
virtual u32 getFogOffset() const
Definition J3DMatBlock.h:916
Definition J3DMatBlock.h:871
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:309
virtual void load()
Definition J3DMatBlock.cpp:1552
virtual ~J3DPEBlockOpa()
Definition J3DMatBlock.h:876
virtual u32 getType()
Definition J3DMatBlock.h:875
Definition J3DMatBlock.h:859
virtual u32 getType()
Definition J3DMatBlock.h:863
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:315
virtual ~J3DPEBlockTexEdge()
Definition J3DMatBlock.h:864
virtual void load()
Definition J3DMatBlock.cpp:1561
Definition J3DMatBlock.h:847
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:320
virtual u32 getType()
Definition J3DMatBlock.h:851
virtual void load()
Definition J3DMatBlock.cpp:1570
virtual ~J3DPEBlockXlu()
Definition J3DMatBlock.h:852
Definition J3DMatBlock.h:800
virtual void setZMode(J3DZMode)
Definition J3DMatBlock.h:820
virtual void setFog(J3DFog)
Definition J3DMatBlock.h:810
virtual void setZMode(J3DZMode const *)
Definition J3DMatBlock.h:819
virtual s32 countDLSize()
Definition J3DMatBlock.h:808
virtual J3DBlend * getBlend()
Definition J3DMatBlock.h:818
virtual u8 getDither() const
Definition J3DMatBlock.h:827
virtual void load()=0
virtual void diffFog()
Definition J3DMatBlock.h:806
virtual J3DFog * getFog()
Definition J3DMatBlock.h:812
virtual J3DZMode * getZMode()
Definition J3DMatBlock.h:821
virtual void reset(J3DPEBlock *)
Definition J3DMatBlock.h:802
virtual void setBlend(J3DBlend const *)
Definition J3DMatBlock.h:816
virtual void setDither(u8 const *)
Definition J3DMatBlock.h:825
virtual u8 getZCompLoc() const
Definition J3DMatBlock.h:824
virtual void setZCompLoc(u8)
Definition J3DMatBlock.h:823
virtual void setFog(J3DFog *)
Definition J3DMatBlock.h:811
virtual u32 getType()=0
virtual void setBlend(J3DBlend const &)
Definition J3DMatBlock.h:817
virtual void setAlphaComp(J3DAlphaComp const *)
Definition J3DMatBlock.h:813
virtual void setZCompLoc(u8 const *)
Definition J3DMatBlock.h:822
virtual J3DAlphaComp * getAlphaComp()
Definition J3DMatBlock.h:815
virtual void diff(u32)
Definition J3DMatBlock.h:805
virtual void setDither(u8)
Definition J3DMatBlock.h:826
virtual void patch()
Definition J3DMatBlock.h:804
virtual void diffBlend()
Definition J3DMatBlock.h:807
virtual void setFogOffset(u32)
Definition J3DMatBlock.h:829
virtual ~J3DPEBlock()
Definition J3DMatBlock.h:830
virtual u32 getFogOffset() const
Definition J3DMatBlock.h:828
virtual void setAlphaComp(J3DAlphaComp const &)
Definition J3DMatBlock.h:814
Definition J3DMatBlock.h:500
virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo info)
Definition J3DMatBlock.h:547
virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo const *info)
Definition J3DMatBlock.h:546
virtual void diffTevReg()
Definition J3DMatBlock.cpp:1388
virtual void setTevKColorSel(u32 idx, u8 const *sel)
Definition J3DMatBlock.h:534
virtual void setIndTevStage(u32 idx, J3DIndTevStage const *stage)
Definition J3DMatBlock.h:551
virtual void patchTevReg()
Definition J3DMatBlock.cpp:1120
u8 mTevKAlphaSel[16]
Definition J3DMatBlock.h:566
virtual J3DTevSwapModeTable * getTevSwapModeTable(u32 idx)
Definition J3DMatBlock.h:550
virtual void setTevStage(u32 idx, J3DTevStage const *stage)
Definition J3DMatBlock.h:543
virtual void patch()
Definition J3DMatBlock.cpp:1174
virtual J3DTevStage * getTevStage(u32 idx)
Definition J3DMatBlock.h:545
virtual void setTexNo(u32 idx, u16 const *texNo)
Definition J3DMatBlock.h:522
virtual void setTevKColor(u32 idx, J3DGXColor const *color)
Definition J3DMatBlock.h:531
virtual void load()
Definition J3DMatBlock.cpp:773
virtual void ptrToIndex()
Definition J3DMatBlock.cpp:1429
virtual u8 getTevKAlphaSel(u32 idx)
Definition J3DMatBlock.h:539
virtual J3DIndTevStage * getIndTevStage(u32 idx)
Definition J3DMatBlock.h:553
u8 mTevKColorSel[16]
Definition J3DMatBlock.h:565
virtual void setTevKAlphaSel(u32 idx, u8 sel)
Definition J3DMatBlock.h:538
virtual u32 getType()
Definition J3DMatBlock.h:520
virtual void reset(J3DTevBlock *)
Definition J3DMatBlock.cpp:1842
virtual J3DTevOrder * getTevOrder(u32 idx)
Definition J3DMatBlock.h:527
virtual u32 getTevRegOffset() const
Definition J3DMatBlock.h:555
virtual void setTevOrder(u32 idx, J3DTevOrder order)
Definition J3DMatBlock.h:526
virtual void diffTexNo()
Definition J3DMatBlock.cpp:1379
virtual void setTexNo(u32 idx, u16 texNo)
Definition J3DMatBlock.h:523
virtual void setTevOrder(u32 idx, J3DTevOrder const *order)
Definition J3DMatBlock.h:525
virtual void indexToPtr()
Definition J3DMatBlock.h:519
virtual void setTevKAlphaSel(u32 idx, u8 const *sel)
Definition J3DMatBlock.h:537
J3DTevOrder mTevOrder[16]
Definition J3DMatBlock.h:560
J3DTevSwapModeTable mTevSwapModeTable[4]
Definition J3DMatBlock.h:567
virtual void diffTevStageIndirect()
Definition J3DMatBlock.cpp:1406
virtual u8 getTevStageNum() const
Definition J3DMatBlock.h:542
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:299
virtual void diffTexCoordScale()
Definition J3DMatBlock.cpp:1414
virtual void setTevRegOffset(u32 offset)
Definition J3DMatBlock.h:556
virtual ~J3DTevBlock16()
Definition J3DMatBlock.h:557
u8 mTevStageNum
Definition J3DMatBlock.h:561
J3DTevStage mTevStage[16]
Definition J3DMatBlock.h:562
J3DGXColor mTevKColor[4]
Definition J3DMatBlock.h:564
virtual void setTevColor(u32 idx, J3DGXColorS10 color)
Definition J3DMatBlock.h:529
virtual J3DGXColorS10 * getTevColor(u32 idx)
Definition J3DMatBlock.h:530
virtual void setTevStage(u32 idx, J3DTevStage stage)
Definition J3DMatBlock.h:544
virtual J3DGXColor * getTevKColor(u32 idx)
Definition J3DMatBlock.h:533
virtual void setTevKColor(u32 idx, J3DGXColor color)
Definition J3DMatBlock.h:532
virtual void setTevColor(u32 idx, J3DGXColorS10 const *color)
Definition J3DMatBlock.h:528
u16 mTexNo[8]
Definition J3DMatBlock.h:559
virtual void setTevStageNum(u8 const *num)
Definition J3DMatBlock.h:541
virtual void setIndTevStage(u32 idx, J3DIndTevStage stage)
Definition J3DMatBlock.h:552
J3DGXColorS10 mTevColor[4]
Definition J3DMatBlock.h:563
void initialize()
Definition J3DMatBlock.cpp:200
virtual u16 getTexNo(u32 idx) const
Definition J3DMatBlock.h:524
virtual void setTevStageNum(u8 num)
Definition J3DMatBlock.h:540
virtual void patchTexNoAndTexCoordScale()
Definition J3DMatBlock.cpp:1137
u32 mTevRegOffset
Definition J3DMatBlock.h:569
virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable const *table)
Definition J3DMatBlock.h:548
virtual u32 getTexNoOffset() const
Definition J3DMatBlock.h:554
virtual void patchTexNo()
Definition J3DMatBlock.cpp:1105
virtual u8 getTevKColorSel(u32 idx)
Definition J3DMatBlock.h:536
virtual void diffTevStage()
Definition J3DMatBlock.cpp:1398
J3DTevBlock16()
Definition J3DMatBlock.h:502
virtual void setTevKColorSel(u32 idx, u8 sel)
Definition J3DMatBlock.h:535
J3DIndTevStage mIndTevStage[16]
Definition J3DMatBlock.h:568
virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable table)
Definition J3DMatBlock.h:549
Definition J3DMatBlock.h:576
virtual void diffTexNo()
Definition J3DMatBlock.cpp:1252
virtual J3DIndTevStage * getIndTevStage(u32 idx)
Definition J3DMatBlock.h:612
J3DIndTevStage mIndTevStage[1]
Definition J3DMatBlock.h:619
void initialize()
Definition J3DMatBlock.cpp:132
virtual void setTevOrder(u32 idx, J3DTevOrder const *order)
Definition J3DMatBlock.h:601
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:284
virtual void setTevOrder(u32 idx, J3DTevOrder order)
Definition J3DMatBlock.h:602
virtual void patch()
Definition J3DMatBlock.cpp:956
virtual u32 getType()
Definition J3DMatBlock.h:596
virtual void patchTexNo()
Definition J3DMatBlock.cpp:911
virtual u32 getTexNoOffset() const
Definition J3DMatBlock.h:613
virtual ~J3DTevBlock1()
Definition J3DMatBlock.h:614
virtual void diffTevStageIndirect()
Definition J3DMatBlock.cpp:1268
virtual J3DTevStage * getTevStage(u32 idx)
Definition J3DMatBlock.h:609
virtual void setIndTevStage(u32 idx, J3DIndTevStage stage)
Definition J3DMatBlock.h:611
J3DTevStage mTevStage[1]
Definition J3DMatBlock.h:618
virtual void load()
Definition J3DMatBlock.cpp:629
virtual void patchTevReg()
Definition J3DMatBlock.cpp:924
virtual void indexToPtr()
Definition J3DMatBlock.h:595
virtual void ptrToIndex()
Definition J3DMatBlock.h:594
J3DTevOrder mTevOrder[1]
Definition J3DMatBlock.h:617
virtual void diffTexCoordScale()
Definition J3DMatBlock.cpp:1274
virtual J3DTevOrder * getTevOrder(u32 idx)
Definition J3DMatBlock.h:603
virtual u16 getTexNo(u32 idx) const
Definition J3DMatBlock.h:600
virtual void setTevStage(u32 idx, J3DTevStage const *stage)
Definition J3DMatBlock.h:607
virtual void setTexNo(u32 idx, u16 no)
Definition J3DMatBlock.h:599
u16 mTexNo[1]
Definition J3DMatBlock.h:616
virtual void diffTevReg()
Definition J3DMatBlock.cpp:1259
virtual void patchTexNoAndTexCoordScale()
Definition J3DMatBlock.cpp:929
virtual void setIndTevStage(u32 idx, J3DIndTevStage const *stage)
Definition J3DMatBlock.h:610
virtual void reset(J3DTevBlock *)
Definition J3DMatBlock.cpp:1773
virtual void setTexNo(u32 idx, u16 const *no)
Definition J3DMatBlock.h:598
virtual void diffTevStage()
Definition J3DMatBlock.cpp:1263
virtual u8 getTevStageNum() const
Definition J3DMatBlock.h:606
virtual void setTevStageNum(u8 const *num)
Definition J3DMatBlock.h:604
virtual void setTevStage(u32 idx, J3DTevStage stage)
Definition J3DMatBlock.h:608
J3DTevBlock1()
Definition J3DMatBlock.h:578
virtual void setTevStageNum(u8 num)
Definition J3DMatBlock.h:605
Definition J3DMatBlock.h:424
J3DTevOrder mTevOrder[2]
Definition J3DMatBlock.h:484
virtual void patchTexNoAndTexCoordScale()
Definition J3DMatBlock.cpp:993
virtual void setTevStage(u32 idx, J3DTevStage const *stage)
Definition J3DMatBlock.h:467
virtual void diffTevStage()
Definition J3DMatBlock.cpp:1301
virtual u8 getTevStageNum() const
Definition J3DMatBlock.h:466
virtual void patchTexNo()
Definition J3DMatBlock.cpp:961
virtual void setTevStage(u32 idx, J3DTevStage stage)
Definition J3DMatBlock.h:468
void initialize()
Definition J3DMatBlock.cpp:140
virtual void setTevOrder(u32 idx, J3DTevOrder const *order)
Definition J3DMatBlock.h:449
virtual u8 getTevKAlphaSel(u32 idx)
Definition J3DMatBlock.h:463
virtual void diffTexCoordScale()
Definition J3DMatBlock.cpp:1318
virtual J3DTevSwapModeTable * getTevSwapModeTable(u32 idx)
Definition J3DMatBlock.h:474
virtual ~J3DTevBlock2()
Definition J3DMatBlock.h:481
virtual void ptrToIndex()
Definition J3DMatBlock.h:442
virtual J3DIndTevStage * getIndTevStage(u32 idx)
Definition J3DMatBlock.h:477
virtual J3DGXColor * getTevKColor(u32 idx)
Definition J3DMatBlock.h:457
u8 mTevKColorSel[2]
Definition J3DMatBlock.h:489
virtual void setTevKAlphaSel(u32 idx, u8 sel)
Definition J3DMatBlock.h:462
virtual u32 getTexNoOffset() const
Definition J3DMatBlock.h:478
virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable const *table)
Definition J3DMatBlock.h:472
J3DGXColor mTevKColor[4]
Definition J3DMatBlock.h:488
virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo info)
Definition J3DMatBlock.h:471
virtual void setTevKAlphaSel(u32 idx, u8 const *sel)
Definition J3DMatBlock.h:461
virtual void setTevKColorSel(u32 idx, u8 const *sel)
Definition J3DMatBlock.h:458
virtual void patchTevReg()
Definition J3DMatBlock.cpp:976
u32 mTevRegOffset
Definition J3DMatBlock.h:493
virtual void diffTevStageIndirect()
Definition J3DMatBlock.cpp:1309
virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable table)
Definition J3DMatBlock.h:473
J3DTevStage mTevStage[2]
Definition J3DMatBlock.h:487
virtual void setIndTevStage(u32 idx, J3DIndTevStage stage)
Definition J3DMatBlock.h:476
u8 mTevKAlphaSel[2]
Definition J3DMatBlock.h:490
virtual void setTevColor(u32 idx, J3DGXColorS10 const *color)
Definition J3DMatBlock.h:452
J3DGXColorS10 mTevColor[4]
Definition J3DMatBlock.h:485
virtual void indexToPtr()
Definition J3DMatBlock.h:443
virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo const *info)
Definition J3DMatBlock.h:470
virtual void setTevRegOffset(u32 offset)
Definition J3DMatBlock.h:480
virtual void setTexNo(u32 idx, u16 texNo)
Definition J3DMatBlock.h:447
J3DTevBlock2()
Definition J3DMatBlock.h:426
J3DIndTevStage mIndTevStage[2]
Definition J3DMatBlock.h:492
virtual void setTevKColor(u32 idx, J3DGXColor color)
Definition J3DMatBlock.h:456
virtual u8 getTevKColorSel(u32 idx)
Definition J3DMatBlock.h:460
virtual void setTevKColorSel(u32 idx, u8 sel)
Definition J3DMatBlock.h:459
virtual void setTevStageNum(u8 num)
Definition J3DMatBlock.h:465
virtual void setIndTevStage(u32 idx, J3DIndTevStage const *stage)
Definition J3DMatBlock.h:475
u8 mTevStageNum
Definition J3DMatBlock.h:486
virtual void load()
Definition J3DMatBlock.cpp:653
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:289
virtual void diffTevReg()
Definition J3DMatBlock.cpp:1291
virtual void diffTexNo()
Definition J3DMatBlock.cpp:1282
virtual J3DTevStage * getTevStage(u32 idx)
Definition J3DMatBlock.h:469
virtual u32 getTevRegOffset() const
Definition J3DMatBlock.h:479
u16 mTexNo[2]
Definition J3DMatBlock.h:483
virtual u32 getType()
Definition J3DMatBlock.h:444
J3DTevSwapModeTable mTevSwapModeTable[4]
Definition J3DMatBlock.h:491
virtual void setTevOrder(u32 idx, J3DTevOrder order)
Definition J3DMatBlock.h:450
virtual u16 getTexNo(u32 idx) const
Definition J3DMatBlock.h:448
virtual void setTevColor(u32 idx, J3DGXColorS10 color)
Definition J3DMatBlock.h:453
virtual void reset(J3DTevBlock *)
Definition J3DMatBlock.cpp:1781
virtual void setTevKColor(u32 idx, J3DGXColor const *color)
Definition J3DMatBlock.h:455
virtual J3DTevOrder * getTevOrder(u32 idx)
Definition J3DMatBlock.h:451
virtual void setTexNo(u32 idx, u16 const *texNo)
Definition J3DMatBlock.h:446
virtual J3DGXColorS10 * getTevColor(u32 idx)
Definition J3DMatBlock.h:454
virtual void setTevStageNum(u8 const *num)
Definition J3DMatBlock.h:464
virtual void patch()
Definition J3DMatBlock.cpp:1026
Definition J3DMatBlock.h:348
virtual void setTexNo(u32 idx, u16 const *texNo)
Definition J3DMatBlock.h:370
u8 mTevStageNum
Definition J3DMatBlock.h:409
J3DGXColor mTevKColor[4]
Definition J3DMatBlock.h:412
virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo info)
Definition J3DMatBlock.h:395
virtual J3DTevOrder * getTevOrder(u32 idx)
Definition J3DMatBlock.h:375
virtual void setTevKAlphaSel(u32 idx, u8 sel)
Definition J3DMatBlock.h:386
u8 mTevKAlphaSel[4]
Definition J3DMatBlock.h:414
void initialize()
Definition J3DMatBlock.cpp:165
virtual u32 getTexNoOffset() const
Definition J3DMatBlock.h:402
virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable table)
Definition J3DMatBlock.h:397
virtual void indexToPtr()
Definition J3DMatBlock.h:367
virtual void setTevStage(u32 idx, J3DTevStage stage)
Definition J3DMatBlock.h:392
virtual void patchTevReg()
Definition J3DMatBlock.cpp:1047
virtual void diffTevStageIndirect()
Definition J3DMatBlock.cpp:1356
virtual void setTexNo(u32 idx, u16 texNo)
Definition J3DMatBlock.h:371
virtual void diffTevStage()
Definition J3DMatBlock.cpp:1349
virtual void setIndTevStage(u32 idx, J3DIndTevStage const *stage)
Definition J3DMatBlock.h:399
virtual void setTevColor(u32 idx, J3DGXColorS10 color)
Definition J3DMatBlock.h:377
virtual void setTevColor(u32 idx, J3DGXColorS10 const *color)
Definition J3DMatBlock.h:376
virtual void setTevStageNum(u8 const *num)
Definition J3DMatBlock.h:388
virtual J3DIndTevStage * getIndTevStage(u32 idx)
Definition J3DMatBlock.h:401
u32 mTevRegOffset
Definition J3DMatBlock.h:417
J3DTevBlock4()
Definition J3DMatBlock.h:350
virtual u8 getTevKColorSel(u32 idx)
Definition J3DMatBlock.h:384
virtual void setTevSwapModeTable(u32 idx, J3DTevSwapModeTable const *table)
Definition J3DMatBlock.h:396
virtual J3DGXColor * getTevKColor(u32 idx)
Definition J3DMatBlock.h:381
virtual u32 getType()
Definition J3DMatBlock.h:368
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:294
virtual void setTevKColorSel(u32 idx, u8 const *sel)
Definition J3DMatBlock.h:382
J3DTevStage mTevStage[4]
Definition J3DMatBlock.h:410
virtual void patchTexNo()
Definition J3DMatBlock.cpp:1032
virtual u8 getTevStageNum() const
Definition J3DMatBlock.h:390
virtual void setTevKColor(u32 idx, J3DGXColor const *color)
Definition J3DMatBlock.h:379
virtual void setTevOrder(u32 idx, J3DTevOrder order)
Definition J3DMatBlock.h:374
virtual void ptrToIndex()
Definition J3DMatBlock.h:366
virtual void setTevStageNum(u8 num)
Definition J3DMatBlock.h:389
virtual void diffTexNo()
Definition J3DMatBlock.cpp:1330
J3DGXColorS10 mTevColor[4]
Definition J3DMatBlock.h:411
virtual void setIndTevStage(u32 idx, J3DIndTevStage stage)
Definition J3DMatBlock.h:400
virtual ~J3DTevBlock4()
Definition J3DMatBlock.h:405
J3DTevSwapModeTable mTevSwapModeTable[4]
Definition J3DMatBlock.h:415
J3DIndTevStage mIndTevStage[4]
Definition J3DMatBlock.h:416
virtual J3DTevStage * getTevStage(u32 idx)
Definition J3DMatBlock.h:393
virtual void setTevKAlphaSel(u32 idx, u8 const *sel)
Definition J3DMatBlock.h:385
u8 mTevKColorSel[4]
Definition J3DMatBlock.h:413
virtual void diffTexCoordScale()
Definition J3DMatBlock.cpp:1365
virtual void setTevStage(u32 idx, J3DTevStage const *stage)
Definition J3DMatBlock.h:391
virtual void setTevSwapModeInfo(u32 idx, J3DTevSwapModeInfo const *info)
Definition J3DMatBlock.h:394
virtual void patch()
Definition J3DMatBlock.cpp:1099
virtual J3DGXColorS10 * getTevColor(u32 idx)
Definition J3DMatBlock.h:378
virtual u8 getTevKAlphaSel(u32 idx)
Definition J3DMatBlock.h:387
virtual void setTevKColor(u32 idx, J3DGXColor color)
Definition J3DMatBlock.h:380
virtual void diffTevReg()
Definition J3DMatBlock.cpp:1339
virtual void setTevOrder(u32 idx, J3DTevOrder const *order)
Definition J3DMatBlock.h:373
J3DTevOrder mTevOrder[4]
Definition J3DMatBlock.h:408
u16 mTexNo[4]
Definition J3DMatBlock.h:407
virtual void patchTexNoAndTexCoordScale()
Definition J3DMatBlock.cpp:1064
virtual u32 getTevRegOffset() const
Definition J3DMatBlock.h:403
virtual void setTevKColorSel(u32 idx, u8 sel)
Definition J3DMatBlock.h:383
virtual void load()
Definition J3DMatBlock.cpp:712
virtual void reset(J3DTevBlock *)
Definition J3DMatBlock.cpp:1807
virtual u16 getTexNo(u32 idx) const
Definition J3DMatBlock.h:372
virtual void setTevRegOffset(u32 offset)
Definition J3DMatBlock.h:404
virtual J3DTevSwapModeTable * getTevSwapModeTable(u32 idx)
Definition J3DMatBlock.h:398
Definition J3DMatBlock.h:267
void initialize()
Definition J3DMatBlock.cpp:103
virtual void ptrToIndex()
Definition J3DMatBlock.h:272
J3DTevBlockNull()
Definition J3DMatBlock.h:269
virtual u32 getType()
Definition J3DMatBlock.h:274
virtual void indexToPtr()
Definition J3DMatBlock.h:273
virtual void reset(J3DTevBlock *)
Definition J3DMatBlock.h:271
virtual ~J3DTevBlockNull()
Definition J3DMatBlock.h:275
Definition J3DMatBlock.h:282
virtual J3DGXColorS10 * getTevColor(u32 idx)
Definition J3DMatBlock.h:312
virtual void setTevKColor(u32 idx, J3DGXColor color)
Definition J3DMatBlock.h:314
virtual void diffTexNo()
Definition J3DMatBlock.cpp:1200
J3DIndTevStage mIndTevStage[8]
Definition J3DMatBlock.h:336
virtual void setTevStageNum(u8 num)
Definition J3DMatBlock.h:320
virtual void setTevKColorSel(u32 idx, u8 const *sel)
Definition J3DMatBlock.h:316
virtual void patch()
Definition J3DMatBlock.cpp:905
virtual void setTevColor(u32 idx, J3DGXColorS10 const *color)
Definition J3DMatBlock.h:310
virtual void setTevKColor(u32 idx, J3DGXColor const *color)
Definition J3DMatBlock.h:313
virtual void patchTexNoAndTexCoordScale()
Definition J3DMatBlock.cpp:869
u8 mTevStageNum
Definition J3DMatBlock.h:340
J3DGXColorS10 mTevColor[4]
Definition J3DMatBlock.h:337
virtual void setIndTevStage(u32 idx, J3DIndTevStage const *stage)
Definition J3DMatBlock.h:325
J3DTevBlockPatched()
Definition J3DMatBlock.h:284
virtual void setTevOrder(u32 idx, J3DTevOrder const *order)
Definition J3DMatBlock.h:307
virtual J3DGXColor * getTevKColor(u32 idx)
Definition J3DMatBlock.h:315
virtual void load()
Definition J3DMatBlock.h:290
virtual void diffTevReg()
Definition J3DMatBlock.cpp:1227
virtual void setTevKColorSel(u32 idx, u8 sel)
Definition J3DMatBlock.h:317
virtual ~J3DTevBlockPatched()
Definition J3DMatBlock.h:331
virtual void setTevRegOffset(u32 offset)
Definition J3DMatBlock.h:330
J3DTevStage mTevStage[8]
Definition J3DMatBlock.h:335
virtual J3DIndTevStage * getIndTevStage(u32 idx)
Definition J3DMatBlock.h:327
void initialize()
Definition J3DMatBlock.cpp:109
virtual u8 getTevKColorSel(u32 idx)
Definition J3DMatBlock.h:318
virtual void diffTexCoordScale()
Definition J3DMatBlock.cpp:1237
virtual u32 getType()
Definition J3DMatBlock.h:302
virtual void setTevStage(u32 idx, J3DTevStage const *stage)
Definition J3DMatBlock.h:322
virtual u16 getTexNo(u32 idx) const
Definition J3DMatBlock.h:306
virtual u8 getTevStageNum() const
Definition J3DMatBlock.h:321
u32 mTevRegOffset
Definition J3DMatBlock.h:341
virtual void patchTevReg()
Definition J3DMatBlock.cpp:852
virtual void indexToPtr()
Definition J3DMatBlock.h:301
virtual void setIndTevStage(u32 idx, J3DIndTevStage stage)
Definition J3DMatBlock.h:326
virtual void setTevStageNum(u8 const *num)
Definition J3DMatBlock.h:319
virtual void setTevColor(u32 idx, J3DGXColorS10 color)
Definition J3DMatBlock.h:311
virtual void setTevStage(u32 idx, J3DTevStage stage)
Definition J3DMatBlock.h:323
u8 mTevKColorSel[8]
Definition J3DMatBlock.h:339
J3DGXColor mTevKColor[4]
Definition J3DMatBlock.h:338
virtual void diffTevStage()
Definition J3DMatBlock.cpp:1209
virtual void ptrToIndex()
Definition J3DMatBlock.cpp:1451
virtual void setTevOrder(u32 idx, J3DTevOrder order)
Definition J3DMatBlock.h:308
virtual u32 getTevRegOffset() const
Definition J3DMatBlock.h:329
virtual void diffTevStageIndirect()
Definition J3DMatBlock.cpp:1218
virtual J3DTevOrder * getTevOrder(u32 idx)
Definition J3DMatBlock.h:309
J3DTevOrder mTevOrder[8]
Definition J3DMatBlock.h:334
virtual void setTexNo(u32 idx, u16 texNo)
Definition J3DMatBlock.h:305
virtual void reset(J3DTevBlock *)
Definition J3DMatBlock.cpp:1755
virtual u32 getTexNoOffset() const
Definition J3DMatBlock.h:328
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:279
virtual void setTexNo(u32 idx, u16 const *texNo)
Definition J3DMatBlock.h:304
u16 mTexNo[8]
Definition J3DMatBlock.h:333
virtual void patchTexNo()
Definition J3DMatBlock.cpp:836
virtual J3DTevStage * getTevStage(u32 idx)
Definition J3DMatBlock.h:324
Definition J3DMatBlock.h:201
virtual void setTevStageNum(u8 const *)
Definition J3DMatBlock.h:237
virtual void setTevColor(u32, J3DGXColorS10 const *)
Definition J3DMatBlock.h:225
virtual u8 getTevKColorSel(u32)
Definition J3DMatBlock.h:233
virtual void diff(u32)
Definition J3DMatBlock.cpp:1180
virtual void setIndTevStage(u32, J3DIndTevStage)
Definition J3DMatBlock.h:249
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable)
Definition J3DMatBlock.h:246
virtual void setTevKColorSel(u32, u8)
Definition J3DMatBlock.h:232
virtual void diffTevStage()
Definition J3DMatBlock.h:209
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo)
Definition J3DMatBlock.h:244
virtual void patchTexNoAndTexCoordScale()
Definition J3DMatBlock.h:214
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const *)
Definition J3DMatBlock.h:245
virtual void setTevKColor(u32, J3DGXColor)
Definition J3DMatBlock.h:229
virtual void diffTexNo()
Definition J3DMatBlock.h:206
virtual u32 getType()=0
virtual s32 countDLSize()
Definition J3DMatBlock.h:218
virtual void setTexNo(u32, u16)
Definition J3DMatBlock.h:220
virtual void setTevStageNum(u8)
Definition J3DMatBlock.h:238
virtual J3DGXColor * getTevKColor(u32)
Definition J3DMatBlock.h:230
virtual J3DGXColorS10 * getTevColor(u32)
Definition J3DMatBlock.h:227
virtual u16 getTexNo(u32) const
Definition J3DMatBlock.h:221
virtual void setTevRegOffset(u32)
Definition J3DMatBlock.h:254
virtual void setTevKColorSel(u32, u8 const *)
Definition J3DMatBlock.h:231
virtual void diffTevStageIndirect()
Definition J3DMatBlock.h:210
virtual void diffTevReg()
Definition J3DMatBlock.h:207
u32 mTexNoOffset
Definition J3DMatBlock.h:260
virtual void ptrToIndex()=0
virtual u32 getTexNoOffset() const
Definition J3DMatBlock.h:251
virtual void setTexNo(u32, u16 const *)
Definition J3DMatBlock.h:219
virtual void setTevOrder(u32, J3DTevOrder const *)
Definition J3DMatBlock.h:222
virtual void setTevKColor(u32, J3DGXColor const *)
Definition J3DMatBlock.h:228
virtual u8 getTevStageNum() const
Definition J3DMatBlock.h:239
virtual J3DIndTevStage * getIndTevStage(u32)
Definition J3DMatBlock.h:250
virtual void patch()
Definition J3DMatBlock.h:211
virtual void patchTexNo()
Definition J3DMatBlock.h:212
virtual void setTevColor(u32, J3DGXColorS10)
Definition J3DMatBlock.h:226
virtual void reset(J3DTevBlock *)
Definition J3DMatBlock.h:203
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const *)
Definition J3DMatBlock.h:243
virtual J3DTevSwapModeTable * getTevSwapModeTable(u32)
Definition J3DMatBlock.h:247
virtual void setTexNoOffset(u32 offset)
Definition J3DMatBlock.h:253
void indexToPtr_private(u32)
Definition J3DMatBlock.cpp:1472
virtual void setTevKAlphaSel(u32, u8 const *)
Definition J3DMatBlock.h:234
virtual void indexToPtr()=0
virtual ~J3DTevBlock()
Definition J3DMatBlock.h:255
virtual J3DTevStage * getTevStage(u32)
Definition J3DMatBlock.h:242
virtual void setTevStage(u32, J3DTevStage)
Definition J3DMatBlock.h:241
virtual void diffTexCoordScale()
Definition J3DMatBlock.h:208
virtual void load()
Definition J3DMatBlock.h:204
virtual void setTevStage(u32, J3DTevStage const *)
Definition J3DMatBlock.h:240
virtual void patchTevReg()
Definition J3DMatBlock.h:213
virtual void setTevOrder(u32, J3DTevOrder)
Definition J3DMatBlock.h:223
virtual J3DTevOrder * getTevOrder(u32)
Definition J3DMatBlock.h:224
virtual u8 getTevKAlphaSel(u32)
Definition J3DMatBlock.h:236
virtual void setTevKAlphaSel(u32, u8)
Definition J3DMatBlock.h:235
virtual u32 getTevRegOffset() const
Definition J3DMatBlock.h:252
virtual void setIndTevStage(u32, J3DIndTevStage const *)
Definition J3DMatBlock.h:248
Definition J3DMatBlock.h:177
J3DNBTScale mNBTScale
Definition J3DMatBlock.h:194
virtual u32 getType()
Definition J3DMatBlock.h:188
J3DTexGenBlock4()
Definition J3DMatBlock.h:179
virtual void setNBTScale(J3DNBTScale const *scale)
Definition J3DMatBlock.h:189
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:268
void initialize()
Definition J3DMatBlock.cpp:86
virtual ~J3DTexGenBlock4()
Definition J3DMatBlock.h:192
virtual void setNBTScale(J3DNBTScale scale)
Definition J3DMatBlock.h:190
virtual void patch()
Definition J3DMatBlock.cpp:577
virtual J3DNBTScale * getNBTScale()
Definition J3DMatBlock.h:191
virtual void reset(J3DTexGenBlock *)
Definition J3DMatBlock.cpp:1713
virtual void load()
Definition J3DMatBlock.cpp:538
Definition J3DMatBlock.h:153
J3DTexGenBlockBasic()
Definition J3DMatBlock.h:155
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:273
virtual J3DNBTScale * getNBTScale()
Definition J3DMatBlock.h:167
virtual void setNBTScale(J3DNBTScale const *scale)
Definition J3DMatBlock.h:165
virtual ~J3DTexGenBlockBasic()
Definition J3DMatBlock.h:168
virtual void load()
Definition J3DMatBlock.cpp:551
virtual u32 getType()
Definition J3DMatBlock.h:164
void initialize()
Definition J3DMatBlock.cpp:95
virtual void setNBTScale(J3DNBTScale scale)
Definition J3DMatBlock.h:166
virtual void reset(J3DTexGenBlock *)
Definition J3DMatBlock.cpp:1734
virtual void patch()
Definition J3DMatBlock.cpp:590
J3DNBTScale mNBTScale
Definition J3DMatBlock.h:170
Definition J3DMatBlock.h:113
virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4])
Definition J3DMatBlock.cpp:2070
virtual void setTexGenNum(u32 num)
Definition J3DMatBlock.h:133
virtual u32 getTexMtxOffset() const
Definition J3DMatBlock.h:139
virtual void calcWithoutViewMtx(f32 const (*)[4])
Definition J3DMatBlock.cpp:1977
virtual u32 getType()
Definition J3DMatBlock.h:131
virtual J3DTexMtx * getTexMtx(u32 idx)
Definition J3DMatBlock.h:138
virtual void diffTexGen()
Definition J3DMatBlock.cpp:622
virtual void setTexMtxOffset(u32 offset)
Definition J3DMatBlock.h:140
virtual void diffTexMtx()
Definition J3DMatBlock.cpp:613
virtual void calc(f32 const (*)[4])
Definition J3DMatBlock.cpp:1916
virtual void diff(u32)
Definition J3DMatBlock.cpp:603
J3DTexGenBlockPatched()
Definition J3DMatBlock.h:115
virtual J3DTexCoord * getTexCoord(u32 idx)
Definition J3DMatBlock.h:136
J3DTexCoord mTexCoord[8]
Definition J3DMatBlock.h:144
virtual void setTexMtx(u32 idx, J3DTexMtx *mtx)
Definition J3DMatBlock.h:137
virtual u32 getTexGenNum() const
Definition J3DMatBlock.h:134
virtual void setTexGenNum(u32 const *num)
Definition J3DMatBlock.h:132
virtual s32 countDLSize()
Definition J3DMatBlock.cpp:263
J3DTexMtx * mTexMtx[8]
Definition J3DMatBlock.h:145
virtual ~J3DTexGenBlockPatched()
Definition J3DMatBlock.h:141
virtual void calcPostTexMtx(f32 const (*)[4])
Definition J3DMatBlock.cpp:2024
virtual void setTexCoord(u32 idx, J3DTexCoord const *coord)
Definition J3DMatBlock.h:135
u32 mTexGenNum
Definition J3DMatBlock.h:143
u32 mTexMtxOffset
Definition J3DMatBlock.h:146
virtual void reset(J3DTexGenBlock *)
Definition J3DMatBlock.cpp:1694
void initialize()
Definition J3DMatBlock.cpp:78
virtual void patch()
Definition J3DMatBlock.cpp:564
virtual void load()
Definition J3DMatBlock.h:125
Definition J3DMatBlock.h:66
virtual J3DTexMtx * getTexMtx(u32)
Definition J3DMatBlock.h:86
virtual void calc(f32 const (*)[4])=0
virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4])=0
virtual void calcPostTexMtx(f32 const (*)[4])=0
virtual void diff(u32)=0
virtual void setNBTScale(J3DNBTScale const *)
Definition J3DMatBlock.h:87
virtual ~J3DTexGenBlock()
Definition J3DMatBlock.h:92
virtual void setNBTScale(J3DNBTScale)
Definition J3DMatBlock.h:88
virtual u32 getType()=0
virtual void setTexCoord(u32, J3DTexCoord const *)
Definition J3DMatBlock.h:83
virtual void setTexGenNum(u32 const *)
Definition J3DMatBlock.h:80
virtual void setTexGenNum(u32)
Definition J3DMatBlock.h:81
virtual void diffTexGen()=0
virtual u32 getTexMtxOffset() const
Definition J3DMatBlock.h:90
virtual void patch()=0
virtual void load()=0
virtual s32 countDLSize()
Definition J3DMatBlock.h:78
virtual void reset(J3DTexGenBlock *)
Definition J3DMatBlock.h:68
virtual void diffTexMtx()=0
virtual void calcWithoutViewMtx(f32 const (*)[4])=0
virtual void setTexMtx(u32, J3DTexMtx *)
Definition J3DMatBlock.h:85
virtual J3DNBTScale * getNBTScale()
Definition J3DMatBlock.h:89
virtual void setTexMtxOffset(u32)
Definition J3DMatBlock.h:91
virtual u32 getTexGenNum() const
Definition J3DMatBlock.h:82
virtual J3DTexCoord * getTexCoord(u32)
Definition J3DMatBlock.h:84
Definition J3DTexture.h:40
static char * table[19]
Definition d_a_door_shutter.cpp:1599
static char * tmp[5]
Definition d_a_npc_ashB.cpp:231
static SECTION_RODATA u8 const id[8]
Definition d_a_npc_bans.cpp:1309
static SECTION_DATA u8 color[4]
Definition d_a_obj_crope.cpp:225
static u16 lightMask
Definition d_kankyo.cpp:3144
Definition J3DMatBlock.h:735
u8 field_0x1
Definition J3DMatBlock.h:737
u8 field_0x0
Definition J3DMatBlock.h:736
u8 field_0x4
Definition J3DMatBlock.h:740
u8 mRef1
Definition J3DMatBlock.h:739
u8 field_0x5
Definition J3DMatBlock.h:741
u8 field_0x6
Definition J3DMatBlock.h:742
u8 field_0x7
Definition J3DMatBlock.h:743
u8 mRef0
Definition J3DMatBlock.h:738
Definition J3DMatBlock.h:761
u8 mRef1
Definition J3DMatBlock.h:793
GXCompare getComp0() const
Definition J3DMatBlock.h:781
void load()
Definition J3DMatBlock.h:787
void setAlphaCompInfo(const J3DAlphaCompInfo &param_1)
Definition J3DMatBlock.h:770
GXCompare getComp1() const
Definition J3DMatBlock.h:783
GXAlphaOp getOp() const
Definition J3DMatBlock.h:782
u8 getRef0() const
Definition J3DMatBlock.h:784
u8 mRef0
Definition J3DMatBlock.h:792
J3DAlphaComp(J3DAlphaCompInfo const &info)
Definition J3DMatBlock.h:764
J3DAlphaComp()
Definition J3DMatBlock.h:762
J3DAlphaComp(u16 id)
Definition J3DMatBlock.h:763
u8 getRef1() const
Definition J3DMatBlock.h:785
u16 mID
Definition J3DMatBlock.h:791
Definition J3DMatBlock.h:680
u8 mOp
Definition J3DMatBlock.h:687
void operator=(J3DBlendInfo const &other)
Definition J3DMatBlock.h:681
u8 mDstFactor
Definition J3DMatBlock.h:686
u8 mType
Definition J3DMatBlock.h:684
u8 mSrcFactor
Definition J3DMatBlock.h:685
Definition J3DMatBlock.h:696
void setDstFactor(u8 i_factor)
Definition J3DMatBlock.h:701
GXBlendMode getBlendMode() const
Definition J3DMatBlock.h:703
J3DBlend(J3DBlendInfo const &info)
Definition J3DMatBlock.h:698
J3DBlend()
Definition J3DMatBlock.h:697
void setType(u8 i_type)
Definition J3DMatBlock.h:700
GXLogicOp getLogicOp() const
Definition J3DMatBlock.h:706
GXBlendFactor getDstFactor() const
Definition J3DMatBlock.h:705
void load(u8 ditherEnable)
Definition J3DMatBlock.h:708
GXBlendFactor getSrcFactor() const
Definition J3DMatBlock.h:704
Definition J3DMatBlock.h:1245
virtual u32 getType()
Definition J3DMatBlock.h:1246
virtual ~J3DColorBlockNull()
Definition J3DMatBlock.h:1247
Definition J3DMatBlock.h:1123
u8 field_0x1
Definition J3DMatBlock.h:1125
u8 pad[2]
Definition J3DMatBlock.h:1130
u8 field_0x3
Definition J3DMatBlock.h:1127
u8 field_0x2
Definition J3DMatBlock.h:1126
u8 field_0x0
Definition J3DMatBlock.h:1124
u8 field_0x5
Definition J3DMatBlock.h:1129
u8 field_0x4
Definition J3DMatBlock.h:1128
Definition J3DMatBlock.h:1147
void setLightMask(u8 param_1)
Definition J3DMatBlock.h:1178
J3DColorChan(J3DColorChanInfo const &info)
Definition J3DMatBlock.h:1151
GXDiffuseFn getDiffuseFn()
Definition J3DMatBlock.h:1186
void load()
Definition J3DMatBlock.h:1191
GXColorSrc getMatSrc()
Definition J3DMatBlock.h:1185
u8 getEnable()
Definition J3DMatBlock.h:1183
GXAttnFn getAttnFn()
Definition J3DMatBlock.cpp:347
u16 mColorChanID
Definition J3DMatBlock.h:1196
void setColorChanInfo(J3DColorChanInfo const &info)
Definition J3DMatBlock.h:1154
GXColorSrc getAmbSrc()
Definition J3DMatBlock.h:1184
u16 calcColorChanID(u16 param_0, u8 param_1, u8 param_2, u8 param_3, u8 param_4, u8 param_5)
Definition J3DMatBlock.h:1158
J3DColorChan()
Definition J3DMatBlock.h:1148
u8 getLightMask()
Definition J3DMatBlock.h:1177
Definition J3DStruct.h:120
u8 mAdjEnable
Definition J3DStruct.h:124
f32 mEndZ
Definition J3DStruct.h:127
GXFogAdjTable mFogAdjTable
Definition J3DStruct.h:131
u16 mCenter
Definition J3DStruct.h:125
f32 mStartZ
Definition J3DStruct.h:126
GXColor mColor
Definition J3DStruct.h:130
f32 mNearZ
Definition J3DStruct.h:128
u8 mType
Definition J3DStruct.h:123
f32 mFarZ
Definition J3DStruct.h:129
Definition J3DMatBlock.h:719
J3DFog()
Definition J3DMatBlock.h:720
void setFogInfo(J3DFogInfo info)
Definition J3DMatBlock.h:722
void setFogInfo(J3DFogInfo *info)
Definition J3DMatBlock.h:723
J3DFogInfo * getFogInfo()
Definition J3DMatBlock.h:721
void load() const
Definition J3DMatBlock.h:725
Definition J3DMatBlock.h:12
J3DGXColorS10(GXColorS10 const &color)
Definition J3DMatBlock.h:15
J3DGXColorS10 & operator=(const GXColorS10 &color)
Definition J3DMatBlock.h:16
J3DGXColorS10(J3DGXColorS10 const &other)
Definition J3DMatBlock.h:14
J3DGXColorS10()
Definition J3DMatBlock.h:13
Definition J3DMatBlock.h:30
J3DGXColor & operator=(const GXColor &color)
Definition J3DMatBlock.h:34
J3DGXColor()
Definition J3DMatBlock.h:31
J3DGXColor(GXColor const &color)
Definition J3DMatBlock.h:33
J3DGXColor & operator=(const J3DGXColor &other)
Definition J3DMatBlock.h:38
J3DGXColor(J3DGXColor const &other)
Definition J3DMatBlock.h:32
Definition J3DTevs.h:182
Definition J3DMatBlock.h:974
u8 mScaleS
Definition J3DMatBlock.h:975
u8 field_0x2
Definition J3DMatBlock.h:977
u8 field_0x3
Definition J3DMatBlock.h:978
u8 mScaleT
Definition J3DMatBlock.h:976
Definition J3DMatBlock.h:987
J3DIndTexCoordScale & operator=(const J3DIndTexCoordScale &other)
Definition J3DMatBlock.h:994
J3DIndTexCoordScale(J3DIndTexCoordScaleInfo const &info)
Definition J3DMatBlock.h:989
~J3DIndTexCoordScale()
Definition J3DMatBlock.h:990
J3DIndTexCoordScale()
Definition J3DMatBlock.h:988
GXIndTexScale getScaleT()
Definition J3DMatBlock.h:992
GXIndTexScale getScaleS()
Definition J3DMatBlock.h:991
Definition J3DStruct.h:110
Mtx23 field_0x0
Definition J3DStruct.h:112
u8 field_0x18
Definition J3DStruct.h:113
Definition J3DMatBlock.h:1007
void load(u32 param_1)
Definition J3DMatBlock.h:1011
J3DIndTexMtx()
Definition J3DMatBlock.h:1008
~J3DIndTexMtx()
Definition J3DMatBlock.h:1010
J3DIndTexMtx(J3DIndTexMtxInfo const &info)
Definition J3DMatBlock.h:1009
Definition J3DMatBlock.h:1020
u8 field_0x3
Definition J3DMatBlock.h:1024
u8 mCoord
Definition J3DMatBlock.h:1021
u8 field_0x2
Definition J3DMatBlock.h:1023
u8 mMap
Definition J3DMatBlock.h:1022
Definition J3DMatBlock.h:1033
GXTexMapID getMap()
Definition J3DMatBlock.h:1036
J3DIndTexOrder()
Definition J3DMatBlock.h:1034
GXTexCoordID getCoord()
Definition J3DMatBlock.h:1037
J3DIndTexOrder(J3DIndTexOrderInfo const &info)
Definition J3DMatBlock.h:1035
J3DIndTexOrder & operator=(const J3DIndTexOrder &other)
Definition J3DMatBlock.h:1039
Definition J3DStruct.h:138
bool mbHasScale
Definition J3DStruct.h:141
Vec mScale
Definition J3DStruct.h:142
Definition J3DMatBlock.h:51
Vec * getScale()
Definition J3DMatBlock.h:57
J3DNBTScale(J3DNBTScaleInfo const &info)
Definition J3DMatBlock.h:53
J3DNBTScale()
Definition J3DMatBlock.h:52
Definition J3DMatBlock.h:837
virtual u32 getType()
Definition J3DMatBlock.h:839
virtual void load()
Definition J3DMatBlock.h:838
virtual ~J3DPEBlockNull()
Definition J3DMatBlock.h:840
Definition J3DTevs.h:234
Definition J3DTevs.h:67
void setTevSwapModeInfo(J3DTevSwapModeInfo const &param_0)
Definition J3DTevs.h:127
Definition J3DTevs.h:54
Definition J3DTevs.h:249
Definition J3DTexture.h:81
Definition J3DMatBlock.h:95
virtual void diffTexMtx()
Definition J3DMatBlock.h:103
virtual void patch()
Definition J3DMatBlock.h:101
virtual void calcWithoutViewMtx(f32 const (*)[4])
Definition J3DMatBlock.h:97
virtual void load()
Definition J3DMatBlock.h:100
virtual void diff(u32)
Definition J3DMatBlock.h:102
virtual void diffTexGen()
Definition J3DMatBlock.h:104
virtual ~J3DTexGenBlockNull()
Definition J3DMatBlock.h:106
virtual void calcPostTexMtxWithoutViewMtx(f32 const (*)[4])
Definition J3DMatBlock.h:99
virtual void calcPostTexMtx(f32 const (*)[4])
Definition J3DMatBlock.h:98
virtual u32 getType()
Definition J3DMatBlock.h:105
virtual void calc(f32 const (*)[4])
Definition J3DMatBlock.h:96
Definition J3DMatBlock.h:632
u8 field_0x2
Definition J3DMatBlock.h:635
u8 field_0x0
Definition J3DMatBlock.h:633
u8 field_0x1
Definition J3DMatBlock.h:634
u8 pad
Definition J3DMatBlock.h:636
Definition J3DMatBlock.h:645
void setFunc(u8 i_func)
Definition J3DMatBlock.h:657
J3DZMode()
Definition J3DMatBlock.h:646
u8 getUpdateEnable() const
Definition J3DMatBlock.h:671
void setZModeInfo(const J3DZModeInfo &info)
Definition J3DMatBlock.h:649
void load() const
Definition J3DMatBlock.h:665
J3DZMode(J3DZModeInfo const &info)
Definition J3DMatBlock.h:647
void setUpdateEnable(u8 i_enable)
Definition J3DMatBlock.h:661
u8 getFunc() const
Definition J3DMatBlock.h:670
u8 getCompareEnable() const
Definition J3DMatBlock.h:669
void setCompareEnable(u8 i_compare)
Definition J3DMatBlock.h:653
u16 mZModeID
Definition J3DMatBlock.h:673
Definition d_a_hozelda.cpp:18
Definition d_a_obj_sekizoa.cpp:191
Definition d_a_ep.cpp:68
u8 g
Definition GXStruct.h:10
u8 b
Definition GXStruct.h:11
u8 a
Definition GXStruct.h:12
u8 r
Definition GXStruct.h:9
Definition GXStruct.h:76
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