summaryrefslogtreecommitdiff
path: root/libs/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp
blob: b94a6fcfa2a7710ba04ff53607a1cd4ca6258fe0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
//
// Generated By: dol2asm
// Translation Unit: J3DMaterialFactory_v21
//

#include "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.h"
#include "dol2asm.h"
#include "dolphin/types.h"

//
// Types:
//

struct J3DTexMtxInfo {
    /* 80325718 */ void operator=(J3DTexMtxInfo const&);
};

struct J3DTevStageInfo {};

struct J3DTevStage {
    /* 8000E230 */ J3DTevStage();
    /* 8003AACC */ J3DTevStage(J3DTevStageInfo const&);
};

struct J3DMaterialBlock_v21 {};

struct J3DMaterial {
    /* 803157A0 */ void createColorBlock(u32);
    /* 803159A0 */ void createTexGenBlock(u32);
    /* 80315B04 */ void createTevBlock(int);
    /* 80315E78 */ void createIndBlock(int);
    /* 80315F60 */ void createPEBlock(u32, u32);
    /* 80316240 */ void initialize();
};

struct J3DMaterialFactory_v21 {
    /* 80332DA4 */ J3DMaterialFactory_v21(J3DMaterialBlock_v21 const&);
    /* 80332F84 */ void countUniqueMaterials();
    /* 80332FA8 */ void countTexGens(int) const;
    /* 80332FE0 */ void countStages(int) const;
    /* 80333068 */ void create(J3DMaterial*, int, u32) const;
    /* 803337D8 */ void newMatColor(int, int) const;
    /* 80333834 */ void newColorChanNum(int) const;
    /* 8033386C */ void newColorChan(int, int) const;
    /* 80333A10 */ void newTexGenNum(int) const;
    /* 80333A48 */ void newTexCoord(int, int) const;
    /* 80333AA8 */ void newTexMtx(int, int) const;
    /* 80333B30 */ void newCullMode(int) const;
    /* 80333B70 */ void newTexNo(int, int) const;
    /* 80333BB8 */ void newTevOrder(int, int) const;
    /* 80333C04 */ void newTevColor(int, int) const;
    /* 80333C74 */ void newTevKColor(int, int) const;
    /* 80333CD0 */ void newTevStageNum(int) const;
    /* 80333D08 */ void newTevStage(int, int) const;
    /* 80333D68 */ void newTevSwapModeTable(int, int) const;
    /* 80333E04 */ void newFog(int) const;
    /* 80333EE0 */ void newAlphaComp(int) const;
    /* 80333F60 */ void newBlend(int) const;
    /* 80333FA4 */ void newZMode(int) const;
    /* 80334004 */ void newZCompLoc(int) const;
    /* 8033403C */ void newDither(int) const;
    /* 80334074 */ void newNBTScale(int) const;
};

struct J3DFogInfo {
    /* 80325800 */ void operator=(J3DFogInfo const&);
};

//
// Forward References:
//

extern "C" void __ct__22J3DMaterialFactory_v21FRC20J3DMaterialBlock_v21();
extern "C" void countUniqueMaterials__22J3DMaterialFactory_v21Fv();
extern "C" void countTexGens__22J3DMaterialFactory_v21CFi();
extern "C" void countStages__22J3DMaterialFactory_v21CFi();
extern "C" void create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl();
extern "C" void newMatColor__22J3DMaterialFactory_v21CFii();
extern "C" void newColorChanNum__22J3DMaterialFactory_v21CFi();
extern "C" void newColorChan__22J3DMaterialFactory_v21CFii();
extern "C" void newTexGenNum__22J3DMaterialFactory_v21CFi();
extern "C" void newTexCoord__22J3DMaterialFactory_v21CFii();
extern "C" void newTexMtx__22J3DMaterialFactory_v21CFii();
extern "C" void newCullMode__22J3DMaterialFactory_v21CFi();
extern "C" void newTexNo__22J3DMaterialFactory_v21CFii();
extern "C" void newTevOrder__22J3DMaterialFactory_v21CFii();
extern "C" void newTevColor__22J3DMaterialFactory_v21CFii();
extern "C" void newTevKColor__22J3DMaterialFactory_v21CFii();
extern "C" void newTevStageNum__22J3DMaterialFactory_v21CFi();
extern "C" void newTevStage__22J3DMaterialFactory_v21CFii();
extern "C" void newTevSwapModeTable__22J3DMaterialFactory_v21CFii();
extern "C" void newFog__22J3DMaterialFactory_v21CFi();
extern "C" void newAlphaComp__22J3DMaterialFactory_v21CFi();
extern "C" void newBlend__22J3DMaterialFactory_v21CFi();
extern "C" void newZMode__22J3DMaterialFactory_v21CFi();
extern "C" void newZCompLoc__22J3DMaterialFactory_v21CFi();
extern "C" void newDither__22J3DMaterialFactory_v21CFi();
extern "C" void newNBTScale__22J3DMaterialFactory_v21CFi();
extern "C" void func_80334118(void* _this, void const*, void const*);

//
// External References:
//

extern "C" void __ct__11J3DTevStageFv();
extern "C" void __ct__11J3DTevStageFRC15J3DTevStageInfo();
extern "C" void* __nw__FUl();
extern "C" void func_802F41E8(void* _this, void const*, void const*);
extern "C" void func_802F4260(void* _this, void const*, void const*);
extern "C" void func_802F4278(void* _this, void const*, void const*);
extern "C" void func_802F4290(void* _this, void const*, void const*);
extern "C" void func_802F42C0(void* _this, void const*, void const*);
extern "C" void createColorBlock__11J3DMaterialFUl();
extern "C" void createTexGenBlock__11J3DMaterialFUl();
extern "C" void createTevBlock__11J3DMaterialFi();
extern "C" void createIndBlock__11J3DMaterialFi();
extern "C" void createPEBlock__11J3DMaterialFUlUl();
extern "C" void initialize__11J3DMaterialFv();
extern "C" void __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo();
extern "C" void __as__10J3DFogInfoFRC10J3DFogInfo();
extern "C" void func_80332C24(void* _this, void const*, void const*);
extern "C" void func_80332C3C(void* _this, void const*, void const*);
extern "C" void func_80332C54(void* _this, void const*, void const*);
extern "C" void func_80332C6C(void* _this, void const*, void const*);
extern "C" void func_80332C84(void* _this, void const*, void const*);
extern "C" void func_80332C9C(void* _this, void const*, void const*);
extern "C" void func_80332CB4(void* _this, void const*, void const*);
extern "C" void func_80332CCC(void* _this, void const*, void const*);
extern "C" void func_80332CE4(void* _this, void const*, void const*);
extern "C" void func_80332CFC(void* _this, void const*, void const*);
extern "C" void func_80332D14(void* _this, void const*, void const*);
extern "C" void func_80332D2C(void* _this, void const*, void const*);
extern "C" void func_80332D5C(void* _this, void const*, void const*);
extern "C" void _savegpr_19();
extern "C" void _savegpr_29();
extern "C" void _restgpr_19();
extern "C" void _restgpr_29();
extern "C" extern u8 const j3dDefaultTexCoordInfo[32];
extern "C" extern u8 const j3dDefaultFogInfo[44];
extern "C" extern u8 const j3dDefaultNBTScaleInfo[16];
extern "C" extern void* __vt__11J3DMaterial[12];
extern "C" extern u32 j3dDefaultTevOrderInfoNull;
extern "C" extern u32 j3dDefaultTevSwapModeTable;
extern "C" extern u32 j3dDefaultBlendInfo;
extern "C" extern u8 j3dDefaultColorChanInfo[8];
extern "C" extern u16 j3dDefaultZModeID[1 + 1 /* padding */];

//
// Declarations:
//

/* 80332DA4-80332F84 32D6E4 01E0+00 0/0 2/2 0/0 .text
 * __ct__22J3DMaterialFactory_v21FRC20J3DMaterialBlock_v21      */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DMaterialFactory_v21::J3DMaterialFactory_v21(J3DMaterialBlock_v21 const& param_0) {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/__ct__22J3DMaterialFactory_v21FRC20J3DMaterialBlock_v21.s"
}
#pragma pop

/* 80332F84-80332FA8 32D8C4 0024+00 0/0 1/1 0/0 .text
 * countUniqueMaterials__22J3DMaterialFactory_v21Fv             */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::countUniqueMaterials() {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/countUniqueMaterials__22J3DMaterialFactory_v21Fv.s"
}
#pragma pop

/* 80332FA8-80332FE0 32D8E8 0038+00 1/1 0/0 0/0 .text countTexGens__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::countTexGens(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/countTexGens__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80332FE0-80333068 32D920 0088+00 1/1 0/0 0/0 .text countStages__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::countStages(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/countStages__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80333068-803337D8 32D9A8 0770+00 0/0 2/2 0/0 .text
 * create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl          */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::create(J3DMaterial* param_0, int param_1, u32 param_2) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl.s"
}
#pragma pop

/* ############################################################################################## */
/* 804564B8-804564BC 004AB8 0004+00 1/1 0/0 0/0 .sdata2          @1130 */
SECTION_SDATA2 static u32 lit_1130 = 0xFFFFFFFF;

/* 803337D8-80333834 32E118 005C+00 1/1 0/0 0/0 .text newMatColor__22J3DMaterialFactory_v21CFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newMatColor(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newMatColor__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* 80333834-8033386C 32E174 0038+00 1/1 0/0 0/0 .text newColorChanNum__22J3DMaterialFactory_v21CFi
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newColorChanNum(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newColorChanNum__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 8033386C-80333A10 32E1AC 01A4+00 1/1 0/0 0/0 .text newColorChan__22J3DMaterialFactory_v21CFii
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newColorChan(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newColorChan__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* 80333A10-80333A48 32E350 0038+00 1/1 0/0 0/0 .text newTexGenNum__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTexGenNum(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTexGenNum__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80333A48-80333AA8 32E388 0060+00 1/1 0/0 0/0 .text newTexCoord__22J3DMaterialFactory_v21CFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTexCoord(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTexCoord__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* 80333AA8-80333B30 32E3E8 0088+00 1/1 0/0 0/0 .text newTexMtx__22J3DMaterialFactory_v21CFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTexMtx(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTexMtx__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* 80333B30-80333B70 32E470 0040+00 1/1 0/0 0/0 .text newCullMode__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newCullMode(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newCullMode__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80333B70-80333BB8 32E4B0 0048+00 1/1 0/0 0/0 .text newTexNo__22J3DMaterialFactory_v21CFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTexNo(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTexNo__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* 80333BB8-80333C04 32E4F8 004C+00 1/1 0/0 0/0 .text newTevOrder__22J3DMaterialFactory_v21CFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTevOrder(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTevOrder__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* ############################################################################################## */
/* 80456BC0-80456BC4 000060 0004+00 1/1 0/0 0/0 .sbss2           @1299 */
SECTION_SBSS2 static u8 lit_1299[4];

/* 80456BC4-80456BC8 000064 0004+00 1/1 0/0 0/0 .sbss2           None */
SECTION_SBSS2 static u8 data_80456BC4[4];

/* 80333C04-80333C74 32E544 0070+00 1/1 0/0 0/0 .text newTevColor__22J3DMaterialFactory_v21CFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTevColor(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTevColor__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* ############################################################################################## */
/* 804564BC-804564C0 004ABC 0004+00 1/1 0/0 0/0 .sdata2          @1317 */
SECTION_SDATA2 static u32 lit_1317 = 0xFFFFFFFF;

/* 80333C74-80333CD0 32E5B4 005C+00 1/1 0/0 0/0 .text newTevKColor__22J3DMaterialFactory_v21CFii
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTevKColor(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTevKColor__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* 80333CD0-80333D08 32E610 0038+00 1/1 0/0 0/0 .text newTevStageNum__22J3DMaterialFactory_v21CFi
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTevStageNum(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTevStageNum__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80333D08-80333D68 32E648 0060+00 1/1 0/0 0/0 .text newTevStage__22J3DMaterialFactory_v21CFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTevStage(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTevStage__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* 80333D68-80333E04 32E6A8 009C+00 1/1 0/0 0/0 .text
 * newTevSwapModeTable__22J3DMaterialFactory_v21CFii            */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newTevSwapModeTable(int param_0, int param_1) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newTevSwapModeTable__22J3DMaterialFactory_v21CFii.s"
}
#pragma pop

/* 80333E04-80333EE0 32E744 00DC+00 1/1 0/0 0/0 .text            newFog__22J3DMaterialFactory_v21CFi
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newFog(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newFog__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80333EE0-80333F60 32E820 0080+00 1/1 0/0 0/0 .text newAlphaComp__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newAlphaComp(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newAlphaComp__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80333F60-80333FA4 32E8A0 0044+00 1/1 0/0 0/0 .text newBlend__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newBlend(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newBlend__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80333FA4-80334004 32E8E4 0060+00 1/1 0/0 0/0 .text newZMode__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newZMode(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newZMode__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80334004-8033403C 32E944 0038+00 1/1 0/0 0/0 .text newZCompLoc__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newZCompLoc(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newZCompLoc__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 8033403C-80334074 32E97C 0038+00 1/1 0/0 0/0 .text newDither__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newDither(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newDither__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80334074-80334118 32E9B4 00A4+00 1/1 0/0 0/0 .text newNBTScale__22J3DMaterialFactory_v21CFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMaterialFactory_v21::newNBTScale(int param_0) const {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newNBTScale__22J3DMaterialFactory_v21CFi.s"
}
#pragma pop

/* 80334118-80334130 32EA58 0018+00 1/1 0/0 0/0 .text
 * JSUConvertOffsetToPtr<23J3DMaterialInitData_v21>__FPCvPCv    */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_80334118(void* _this, void const* param_0, void const* param_1) {
    nofralloc
#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/func_80334118.s"
}
#pragma pop