Rice Video Plugin for GLES1.1
[mupen64plus-pandora.git] / source / rice_gles / src / CombinerTable.cpp
CommitLineData
d07c171f 1/*
2Copyright (C) 2002 Rice1964
3
4This program is free software; you can redistribute it and/or
5modify it under the terms of the GNU General Public License
6as published by the Free Software Foundation; either version 2
7of the License, or (at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program; if not, write to the Free Software
16Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18*/
19
20#include "GeneralCombiner.h"
21
22//Attention
23// If using CUR as an argument, use it as Arg2, not Arg1. I don't know why,
24// Geforce2 seems to be picky about this
25
26// LERP and MULTIPLYADD are actually implemented in 2 stages in video chip
27// they can only be used with SEL() before it, or use 1 stage only
28
29// SEL(SPE) only is not good for alpha channel
30// In fact, Specular color does not have alpha channel
31
32// ADDSMOOTH does not work
33
34// When using MOD with TEX and other, TEX must be the first argument, Arg1
35// When MOD the DIF and FAC, using MOD(FAC,DIF) instead of MOD(DIF,FAC)
36
37// Don't MOD(TEX,DIF) at Alpha channel, I don't know why this does not work
38// probably there is not alpha blending for DIFFUSE at alpha channel
39
40// Modifier COMPLEMENT and ALPHAREPLICATE only works as the first argument of the MOD operate
41// Modifier ALPHAREPLICATE works
42// Combined modifier of COMPLEMENT and ALPHAREPLICATE also works
43
44#define MUX_T0 MUX_TEXEL0
45#define MUX_T1 MUX_TEXEL1
46#define MUX_DIF MUX_SHADE
47#define MUX_COM MUX_COMBINED
48#define MUX_CUR MUX_COMBINED
49#define MUX_PRI MUX_PRIM
50
51#define MUX_T0A (MUX_TEXEL0|MUX_ALPHAREPLICATE)
52#define MUX_T1A (MUX_TEXEL1|MUX_ALPHAREPLICATE)
53#define MUX_DIFA (MUX_SHADE|MUX_ALPHAREPLICATE)
54#define MUX_COMA (MUX_COMBINED|MUX_ALPHAREPLICATE)
55#define MUX_CURA (MUX_COMBINED|MUX_ALPHAREPLICATE)
56#define MUX_PRIA (MUX_PRIM|MUX_ALPHAREPLICATE)
57#define MUX_ENVA (MUX_ENV|MUX_ALPHAREPLICATE)
58
59#define MUX_T0C (MUX_TEXEL0|MUX_COMPLEMENT)
60#define MUX_T1C (MUX_TEXEL1|MUX_COMPLEMENT)
61#define MUX_DIFC (MUX_SHADE|MUX_COMPLEMENT)
62#define MUX_COMC (MUX_COMBINED|MUX_COMPLEMENT)
63#define MUX_CURC (MUX_COMBINED|MUX_COMPLEMENT)
64#define MUX_PRIC (MUX_PRIM|MUX_COMPLEMENT)
65#define MUX_ENVC (MUX_ENV|MUX_COMPLEMENT)
66
67#define MUX_T0AC (MUX_TEXEL0|MUX_COMPLEMENT|MUX_ALPHAREPLICATE)
68#define MUX_T1AC (MUX_TEXEL1|MUX_COMPLEMENT|MUX_ALPHAREPLICATE)
69#define MUX_DIFAC (MUX_SHADE|MUX_COMPLEMENT|MUX_ALPHAREPLICATE)
70#define MUX_COMAC (MUX_COMBINED|MUX_COMPLEMENT|MUX_ALPHAREPLICATE)
71#define MUX_CURAC (MUX_COMBINED|MUX_COMPLEMENT|MUX_ALPHAREPLICATE)
72#define MUX_PRIAC (MUX_PRIM|MUX_COMPLEMENT|MUX_ALPHAREPLICATE)
73#define MUX_ENVAC (MUX_ENV|MUX_COMPLEMENT|MUX_ALPHAREPLICATE)
74
75#define ONEARGS(op, arg1) {CM_##op, MUX_##arg1}
76#define TWOARGS(op, arg1,arg2) {CM_##op, MUX_##arg1, MUX_##arg2}
77#define TRIARGS(op, arg1,arg2,arg3) {CM_##op, MUX_##arg1, MUX_##arg2, MUX_##arg3}
78#define SEL(arg1) ONEARGS(REPLACE,arg1)
79#define MOD(arg1,arg2) TWOARGS(MODULATE,arg1,arg2)
80#define ADD(arg1,arg2) TWOARGS(ADD,arg1,arg2)
81#define SUB(arg1,arg2) TWOARGS(SUBTRACT,arg1,arg2)
82#define ADDSMOOTH(arg1,arg2) TWOARGS(ADDSMOOTH,arg1,arg2)
83#define LERP(arg1,arg2,arg3) TRIARGS(INTERPOLATE,arg1,arg2,arg3)
84#define MULADD(arg1,arg2,arg3) TRIARGS(MULTIPLYADD,arg1,arg2,arg3)
85#define SKIP SEL(CUR)
86
87GeneralCombinerInfo twostages[]=
88{
89/*
90Stage overflow
91//Mux=0x00267e60350cf37f Overflowed in THE LEGEND OF ZELDA
92Color0: (TEXEL1 - PRIM) * ENV|A + TEXEL0
93Color1: (PRIM - ENV) * COMBINED + ENV
94Alpha0: (0 - 0) * 0 + TEXEL0
95Alpha1: (COMBINED - 0) * PRIM + 0
96
97//Simplied Mux=0x00267e60350cf37f Overflowed in THE LEGEND OF ZELDA
98Simplied DWORDs=03470604, 00060003, 07020706, 02000000
99Color0: (TEXEL1 - SHADE) * ENV|A + TEXEL0
100Color1: (SHADE - ENV) * COMBINED + ENV
101Alpha0: (TEXEL0 - 0) * SHADE + 0
102Alpha1: (0 - 0) * 0 + COMBINED
103Simplfied type: CM_FMT_TYPE_NOT_CHECKED
104Shade = PRIM in color channel
105Shade = PRIM in alpha channel
106*/
107
108 {
109 {0x03470604, 0x00060003, 0x07020706, 0x02000000}, // Simplified mux
110 0, 0, // 64bit Mux
111 2, // number of stages
112 ENABLE_BOTH,
113 MUX_ENV, // Constant color
114 0x00000005, 0x00000005, 0, // Shade and specular color flags
115 {0x00000000, 0x00000000}, // constant color texture flags
116 {
117 {SUB(T1,DIF), SKIP, 1, true}, // Stage 0
118 {MULADD(CUR,ENVA,T0), MOD(T0,DIF), 0, true}, // Stage 1
119 }
120 },
121
122 /*
123 //Mux=0x002527ff1ffc9238 Overflowed in THE LEGEND OF ZELDA
124 Color0: (TEXEL1 - TEXEL0) * PRIM|A + TEXEL0
125 Color1: (0 - 0) * 0 + COMBINED
126 Alpha0: (TEXEL1 - TEXEL0) * PRIM + TEXEL0
127 Alpha1: (0 - 0) * 0 + COMBINED
128
129
130 //Simplied Mux=0x002527ff1ffc9238 Overflowed in THE LEGEND OF ZELDA
131 Simplied DWORDs=03460304, 03060304, 02000000, 02000000
132 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
133 Color1: (0 - 0) * 0 + COMBINED
134 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
135 Alpha1: (0 - 0) * 0 + COMBINED
136 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
137 Shade = PRIM in alpha channel
138
139 Generated combiners:
140
141 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
142 0:Color: Sel - TEXEL0, ,
143 1:Color: BlDifA - TEXEL1, COMBINED, -Tex1
144 0:Alpha: Sel - TEXEL0, ,
145 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
146
147 */
148
149
150 {
151 {0x03460304, 0x03060304, 0x02000000, 0x02000000}, // Simplified mux
152 0x002527FF, 0x1FFC9238, // 64bit Mux
153 2, // number of stages
154 ENABLE_BOTH,
155 MUX_PRIM, // Constant color
156 0x00000000, 0, 0, // Shade and specular color flags
157 {0x00000000, 0x00000000}, // constant color texture flags
158 {
159 {MOD(T1,PRIA), MOD(T1,PRI), 1, true}, // Stage 0
160 {ADD(T0,CUR), ADD(T0,CUR), 0, true}, // Stage 1
161 }
162 },
163
164 {
165 {0x03460304, 0x03060304, 0x02000000, 0x02000000}, // Simplified mux
166 0, 0, // 64bit Mux
167 2, // number of stages
168 ENABLE_BOTH,
169 0, // Constant color
170 0x00000000, 0x00000005, 0, // Shade and specular color flags
171 {0x00000000, 0x00000000}, // constant color texture flags
172 {
173 {MOD(T1,DIFA), MOD(T1,DIF), 1, true}, // Stage 0
174 {ADD(T0,CUR), ADD(T0,CUR), 0, true}, // Stage 1
175 }
176 },
177
178
179
180 /*
181 //Mux=0x00262a60150c937f Overflowed in THE LEGEND OF ZELDA
182 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
183 Color1: (PRIM - ENV) * COMBINED + ENV
184 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
185 Alpha1: (COMBINED - 0) * PRIM + 0
186
187
188 //Simplied Mux=0x00262a60150c937f Overflowed in THE LEGEND OF ZELDA
189 Simplied DWORDs=03460304, 03060304, 06020605, 00020005
190 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
191 Color1: (PRIM - SHADE) * COMBINED + SHADE
192 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
193 Alpha1: (PRIM - 0) * COMBINED + 0
194 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
195 Shade = ENV in color channel
196 Shade = ENV in alpha channel
197
198 Generated combiners:
199
200 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
201 0:Color: Sel - TEXEL0, ,
202 1:Color: BlDifA - TEXEL1, COMBINED, -Tex1
203 0:Alpha: Sel - TEXEL0, ,
204 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
205
206 */
207
208 {
209 {0x03460304, 0x03060304, 0x06020605, 0x00020005}, // Simplified mux
210 0x00262A60, 0x150C937F, // 64bit Mux
211 2, // number of stages
212 ENABLE_BOTH,
213 MUX_ENV, // Constant color
214 0, 0, 0, // Shade and specular color flags
215 {0x00000000, 0x00000000}, // constant color texture flags
216 {
217 {MOD(T1,ENVA), MOD(T1,ENV), 1, true}, // Stage 0
218 {ADD(T0,CUR), ADD(T0,CUR), 0, true}, // Stage 1
219 }
220 },
221
222 {
223 {0x03460304, 0x03060304, 0x06020605, 0x00020005}, // Simplified mux
224 0, 0, // 64bit Mux
225 2, // number of stages
226 ENABLE_BOTH,
227 0, // Constant color
228 0x00000007, 0x00000007, 0, // Shade and specular color flags
229 {0x00000000, 0x00000000}, // constant color texture flags
230 {
231 {MOD(T1,DIFA), MOD(T1,DIF), 1, true}, // Stage 0
232 {ADD(T0,CUR), ADD(T0,CUR), 0, true}, // Stage 1
233 }
234 },
235
236
237 /*
238 //Mux=0x00267e041ffcfdf8 Overflowed in THE LEGEND OF ZELDA
239 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
240 Color1: (COMBINED - 0) * SHADE + 0
241 Alpha0: (0 - 0) * 0 + 1
242 Alpha1: (0 - 0) * 0 + COMBINED
243
244
245 //Simplied Mux=0x00267e041ffcfdf8 Overflowed in THE LEGEND OF ZELDA
246 Simplied DWORDs=03460304, 01000000, 00020006, 02000000
247 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
248 Color1: (SHADE - 0) * COMBINED + 0
249 Alpha0: (0 - 0) * 0 + 1
250 Alpha1: (0 - 0) * 0 + COMBINED
251 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
252 Shade = ENV in alpha channel
253
254 Generated combiners:
255
256 Stages:2, Alpha:DISABLE_ALPHA, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
257 0:Color: Sel - TEXEL0, ,
258 1:Color: BlDifA - TEXEL1, COMBINED, -Tex1
259 0:Alpha: Sel - COMBINED, ,
260 1:Alpha: Sel - COMBINED, , -Tex1
261 */
262
263 {
264 {0x03460304, 0x01000000, 0x00020006, 0x02000000}, // Simplified mux
265 0x00267e04, 0x1ffcfdf8, // 64bit Mux
266 2, // number of stages
267 DISABLE_ALPHA,
268 MUX_ENV, // Constant color
269 0x00000000, 0x00000000, 0, // Shade and specular color flags
270 {0x00000000, 0x00000000}, // constant color texture flags
271 {
272 //{MOD(T1,DIFA), SKIP, 1, true}, // Stage 0
273 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
274 //{MULADD(T0,CUR,DIF), SKIP, 0, true}, // Stage 1
275 {LERP(T1,CUR,ENVA), SKIP, 1, true}, // Stage 1
276 }
277 },
278
279
280 /*
281 //Mux=0x00267e041f0cfdff Overflowed in THE LEGEND OF ZELDA
282 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
283 Color1: (COMBINED - 0) * SHADE + 0
284 Alpha0: (0 - 0) * 0 + 1
285 Alpha1: (COMBINED - 0) * PRIM + 0
286
287
288 //Simplied Mux=0x00267e041f0cfdff Overflowed in THE LEGEND OF ZELDA
289 Simplied DWORDs=03470304, 06000000, 00020006, 02000000
290 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
291 Color1: (SHADE - 0) * COMBINED + 0
292 Alpha0: (0 - 0) * 0 + SHADE
293 Alpha1: (0 - 0) * 0 + COMBINED
294 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
295 Shade = PRIM in alpha channel
296
297 Generated combiners:
298
299 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
300 0:Color: Sel - TEXEL0, ,
301 1:Color: BlFacA - TEXEL1, COMBINED, -Tex1
302 0:Alpha: Sel - SHADE, ,
303 1:Alpha: Sel - COMBINED, , -Tex1
304
305
306
307 */
308
309 {
310 {0x03470304, 0x06000000, 0x00020006, 0x02000000}, // Simplified mux
311 0x00267E04, 0x1F0CFDFF, // 64bit Mux
312 2, // number of stages
313 ENABLE_BOTH,
314 MUX_ENV, // Constant color
315 0x00000000, 0x00000005, 0, // Shade and specular color flags
316 {0x00000000, 0x00000000}, // constant color texture flags
317 {
318 {MOD(T1,ENVA), SEL(DIFA), 1, true}, // Stage 0
319 {MULADD(T0,DIF,CUR), SKIP, 0, true}, // Stage 1
320 }
321 },
322
323
324
325 /*
326 //Mux=0x00117ffffffdfc38 Overflowed in MarioTennis
327 Color0: (TEXEL0 - 0) * TEXEL1 + PRIM
328 Color1: (0 - 0) * 0 + COMBINED
329 Alpha0: (0 - 0) * 0 + 1
330 Alpha1: (0 - 0) * 0 + COMBINED
331
332 //Simplied Mux=0x00117ffffffdfc38 Overflowed in MarioTennis
333 Simplied DWORDs=00030004, 01000000, 02010006, 02000000
334 Color0: (TEXEL1 - 0) * TEXEL0 + 0
335 Color1: (SHADE - 0) * 1 + COMBINED
336 Alpha0: (0 - 0) * 0 + 1
337 Alpha1: (0 - 0) * 0 + COMBINED
338 Simplfied type: CM_FMT_TYPE5_A_MOD_C_ADD_D
339 Shade = PRIM in color channel
340
341 Generated combiners:
342
343 Stages:2, Alpha:DISABLE_ALPHA, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
344 0:Color: Sel - TEXEL1, ,
345 1:Color: Mod - TEXEL0, COMBINED,
346 0:Alpha: Sel - COMBINED, ,
347 1:Alpha: Sel - COMBINED, ,
348
349
350 */
351
352 {
353 {0x00030004, 0x01000000, 0x02010006, 0x02000000}, // Simplified mux
354 0x00117FFF, 0xFFFDFC38, // 64bit Mux
355 2, // number of stages
356 DISABLE_ALPHA,
357 0, // Constant color
358 0x00000005, 0x00000000, 0, // Shade and specular color flags
359 {0x00000000, 0x00000000}, // constant color texture flags
360 {
361 {SEL(T0), SKIP, 0, true}, // Stage 0
362 {MULADD(T1,CUR,DIF), SKIP, 1, true}, // Stage 1
363 }
364 },
365
366 /*
367 //Mux=0x00ffa1ffff0d923f Overflowed in MarioTennis
368 Color0: (0 - 0) * 0 + PRIM
369 Color1: (0 - 0) * 0 + COMBINED
370 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
371 Alpha1: (COMBINED - 0) * PRIM + 0
372
373 //Simplied Mux=0x00ffa1ffff0d923f Overflowed in MarioTennis
374 Simplied DWORDs=05000000, 03060304, 02000000, 00020005
375 Color0: (0 - 0) * 0 + PRIM
376 Color1: (0 - 0) * 0 + COMBINED
377 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
378 Alpha1: (PRIM - 0) * COMBINED + 0
379 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
380
381 Generated combiners:
382
383 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
384 0:Color: Sel - PRIM, ,
385 1:Color: Sel - COMBINED, , -Tex1
386 0:Alpha: Sel - TEXEL0, ,
387 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
388
389
390 */
391
392
393 {
394 {0x05000000, 0x03060304, 0x02000000, 0x00020005}, // Simplified mux
395 0, 0, // 64bit Mux
396 2, // number of stages
397 ENABLE_BOTH,
398 0, // Constant color
399 0x00000000, 0x00000000, 0, // Shade and specular color flags
400 {0x00000000, 0x00000000}, // constant color texture flags
401 {
402 {SEL(PRI), MOD(T0,PRIM), 0, true}, // Stage 0
403 {SKIP, TRIARGS(BLENDDIFFUSEALPHA,T1,CUR,DIFA), 1, true}, // Stage 1
404 }
405 },
406
407
408 /*
409 //Mux=0x00ffb9ffffebdbc0 Used in MarioTennis
410 Color0: (0 - 0) * 0 + 0
411 Color1: (0 - 0) * 0 + 0
412 Alpha0: (PRIM - ENV) * SHADE + ENV
413 Alpha1: (0 - COMBINED) * TEXEL1 + COMBINED
414
415 //Simplied Mux=0x00ffb9ffffebdbc0 Used in MarioTennis
416 Simplied DWORDs=00000000, 00060083, 02000000, 02000000
417 Color0: (0 - 0) * 0 + 0
418 Color1: (0 - 0) * 0 + COMBINED
419 Alpha0: (TEXEL0|C - 0) * SHADE + 0
420 Alpha1: (0 - 0) * 0 + COMBINED
421 Simplfied type: CM_FMT_TYPE2_A_ADD_D
422 Shade = 07060705 in alpha channel
423 Generated combiners:
424
425 */
426
427
428 {
429 {0x00000000, 0x00060083, 0x02000000, 0x02000000}, // Simplified mux
430 0, 0, // 64bit Mux
431 2, // number of stages
432 DISABLE_COLOR,
433 0, // Constant color
434 0x00000000, 0x00000000, 0, // Shade and specular color flags
435 {0x00000000, 0x00000000}, // constant color texture flags
436 {
437 {SKIP, MOD(T0,PRIM), 0, true}, // Stage 0
438 {SKIP, TRIARGS(BLENDDIFFUSEALPHA,T0,CUR,DIFA), 0, true}, // Stage 1
439 }
440 },
441
442 /*
443 //Mux=0x0030b2045ffefff8 Used in THE LEGEND OF ZELDA
444 Color0: (PRIM - ENV) * TEXEL0 + ENV
445 Color1: (COMBINED - 0) * SHADE + 0
446 Alpha0: (PRIM - 0) * TEXEL0 + 0
447 Alpha1: (0 - 0) * 0 + COMBINED
448
449 //Simplied Mux=0x0030b2045ffefff8 Used in THE LEGEND OF ZELDA
450 Simplied DWORDs=07030704, 04000000, 00020006, 00020003
451 Color0: (TEXEL1 - ENV) * TEXEL0 + ENV
452 Color1: (SHADE - 0) * COMBINED + 0
453 Alpha0: (0 - 0) * 0 + TEXEL1
454 Alpha1: (TEXEL0 - 0) * COMBINED + 0
455 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
456 Tex 1 = PRIM
457
458
459
460 Stages:2, Alpha:ENABLE_BOTH, Factor:MUX_ENV, Specular:MUX_0 Dif Color:0x0 Dif Alpha:0x0
461 0:Color: SELECTARG1 - TEXTURE, _, _
462 1:Color: LERP - TEXTURE, TFACTOR, CURRENT -Tex1
463 0:Alpha: SELECTARG1 - CURRENT, _, _
464 1:Alpha: SELECTARG1 - TEXTURE, _, _ -Tex1
465 */
466
467 {
468 {0x07030704, 0x04000000, 0x00020006, 0x00020003}, // Simplified mux
469 0, 0, // 64bit Mux
470 2, // number of stages
471 DISABLE_COLOR,
472 0, // Constant color
473 0x00000000, 0x00000000, 0, // Shade and specular color flags
474 {0x00000000, 0x00000005}, // constant color texture flags
475 {
476 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
477 {LERP(T1,ENV,CUR), MOD(T1,CUR), 1, true}, // Stage 1
478 }
479 },
480
481 /*
482 //Mux=0x0026a0041f1093ff Overflowed in Perfect Dark
483 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
484 Color1: (COMBINED - 0) * SHADE + 0
485 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
486 Alpha1: (COMBINED - 0) * SHADE + 0
487
488 //Simplied Mux=0x0026a0041f1093ff Overflowed in Perfect Dark
489 Simplied DWORDs=030E0304, 03060304, 00020006, 00020006
490 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
491 Color1: (SHADE - 0) * COMBINED + 0
492 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
493 Alpha1: (SHADE - 0) * COMBINED + 0
494 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
495
496 Generated combiners:
497
498 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
499 0:Color: Sel - TEXEL0, ,
500 1:Color: Lerp - TEXEL1, COMBINED, LODFRAC -Tex1
501 0:Alpha: Sel - TEXEL0, ,
502 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
503
504
505 */
506
507
508 {
509 {0x030E0304, 0x03060304, 0x00020006, 0x00020006}, // Simplified mux
510 0, 0, // 64bit Mux
511 2, // number of stages
512 ENABLE_BOTH,
513 0, // Constant color
514 0x00000000, 0x00000000, 0, // Shade and specular color flags
515 {0x00000000, 0x00000000}, // constant color texture flags
516 {
517 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
518 //{LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
519 {SKIP, SKIP, 0, false}, // Stage 1
520 }
521 },
522
523
524 /*
525 //Mux=0x0026a0041ffc93fc Overflowed in Perfect Dark
526 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
527 Color1: (COMBINED - 0) * SHADE + 0
528 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
529 Alpha1: (0 - 0) * 0 + SHADE
530
531 //Simplied Mux=0x0026a0041ffc93fc Overflowed in Perfect Dark
532 Simplied DWORDs=030E0304, 06000000, 00020006, 02000000
533 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
534 Color1: (SHADE - 0) * COMBINED + 0
535 Alpha0: (0 - 0) * 0 + SHADE
536 Alpha1: (0 - 0) * 0 + COMBINED
537 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
538
539 Generated combiners:
540
541 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
542 0:Color: Sel - TEXEL0, ,
543 1:Color: Lerp - TEXEL1, COMBINED, LODFRAC -Tex1
544 0:Alpha: Sel - SHADE, ,
545 1:Alpha: Sel - COMBINED, , -Tex1
546
547
548 */
549
550
551 {
552 {0x030E0304, 0x06000000, 0x00020006, 0x02000000}, // Simplified mux
553 0, 0, // 64bit Mux
554 2, // number of stages
555 ENABLE_BOTH,
556 0, // Constant color
557 0x00000000, 0x00000000, 0, // Shade and specular color flags
558 {0x00000000, 0x00000000}, // constant color texture flags
559 {
560 {MOD(T0,DIF), SEL(DIF), 0, true}, // Stage 0
561 //{LERP(T1,CUR,LODFRAC), SKIP, 1, true}, // Stage 1
562 {SKIP, SKIP, 0, false}, // Stage 1
563 }
564 },
565
566
567 /*
568 //Mux=0x002526041f1093ff Overflowed in Perfect Dark
569 Color0: (TEXEL1 - TEXEL0) * PRIM|A + TEXEL0
570 Color1: (COMBINED - 0) * SHADE + 0
571 Alpha0: (TEXEL1 - TEXEL0) * PRIM + TEXEL0
572 Alpha1: (COMBINED - 0) * SHADE + 0
573
574 //Simplied Mux=0x002526041f1093ff Overflowed in Perfect Dark
575 Simplied DWORDs=03450304, 03050304, 00020006, 00020006
576 Color0: (TEXEL1 - TEXEL0) * PRIM|A + TEXEL0
577 Color1: (SHADE - 0) * COMBINED + 0
578 Alpha0: (TEXEL1 - TEXEL0) * PRIM + TEXEL0
579 Alpha1: (SHADE - 0) * COMBINED + 0
580 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
581
582 Generated combiners:
583
584 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
585 0:Color: Sel - TEXEL0, ,
586 1:Color: BlFacA - TEXEL1, COMBINED, -Tex1
587 0:Alpha: Sel - TEXEL0, ,
588 1:Alpha: BlFacA - TEXEL1, COMBINED, -Tex1
589
590
591 */
592
593
594 {
595 {0x03450304, 0x03050304, 0x00020006, 0x00020006}, // Simplified mux
596 0, 0, // 64bit Mux
597 2, // number of stages
598 ENABLE_BOTH,
599 MUX_PRIM, // Constant color
600 0x00000000, 0x00000000, 0, // Shade and specular color flags
601 {0x00000000, 0x00000000}, // constant color texture flags
602 {
603 {MOD(T0,DIF), SEL(DIF), 0, true}, // Stage 0
604 {TRIARGS(BLENDDIFFUSEALPHA,T1,CUR,DIFA), SKIP, 1, true}, // Stage 1
605 }
606 },
607
608
609 /*
610 //Mux=0x0026a0041f1093fb Overflowed in Perfect Dark
611 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
612 Color1: (COMBINED - 0) * SHADE + 0
613 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
614 Alpha1: (COMBINED - 0) * SHADE + PRIM
615
616 //Simplied Mux=0x0026a0041f1093fb Overflowed in Perfect Dark
617 Simplied DWORDs=030E0304, 03060304, 00020006, 05020006
618 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
619 Color1: (SHADE - 0) * COMBINED + 0
620 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
621 Alpha1: (SHADE - 0) * COMBINED + PRIM
622 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
623
624 Generated combiners:
625
626 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
627 0:Color: Sel - TEXEL0, ,
628 1:Color: Lerp - TEXEL1, COMBINED, LODFRAC -Tex1
629 0:Alpha: Sel - TEXEL0, ,
630 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
631
632
633 */
634
635
636 {
637 {0x030E0304, 0x03060304, 0x00020006, 0x05020006}, // Simplified mux
638 0, 0, // 64bit Mux
639 2, // number of stages
640 ENABLE_BOTH,
641 MUX_PRIM, // Constant color
642 0x00000000, 0x00000000, 0, // Shade and specular color flags
643 {0x00000000, 0x00000000}, // constant color texture flags
644 {
645 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
646 {SKIP, ADD(CUR,PRI), 0, false}, // Stage 1
647 }
648 },
649
650
651
652 /*
653 //Mux=0x00272c041f1093ff Overflowed in GOLDENEYE
654 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
655 Color1: (COMBINED - 0) * SHADE + 0
656 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
657 Alpha1: (COMBINED - 0) * SHADE + 0
658
659 //Simplied Mux=0x00272c041f1093ff Overflowed in GOLDENEYE
660 Simplied DWORDs=030F0304, 00060004, 00020006, 02000000
661 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
662 Color1: (SHADE - 0) * COMBINED + 0
663 Alpha0: (TEXEL1 - 0) * SHADE + 0
664 Alpha1: (0 - 0) * 0 + COMBINED
665 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
666
667 Generated combiners:
668
669 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
670 0:Color: Sel - TEXEL0, ,
671 1:Color: Lerp - TEXEL1, COMBINED, PRIMLODFRAC -Tex1
672 0:Alpha: Sel - COMBINED, ,
673 1:Alpha: Mod - TEXEL1, SHADE, -Tex1
674
675
676 */
677
678
679 {
680 {0x030F0304, 0x00060004, 0x00020006, 0x02000000}, // Simplified mux
681 0, 0, // 64bit Mux
682 2, // number of stages
683 ENABLE_BOTH,
684 MUX_PRIMLODFRAC, // Constant color
685 0x00000000, 0x00000000, 0, // Shade and specular color flags
686 {0x00000000, 0x00000000}, // constant color texture flags
687 {
688 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
689 {SKIP, MOD(T1,DIF), 1, true}, // Stage 1
690 }
691 },
692
693
694 /*
695 //Mux=0x0026a0041f1493ff Overflowed in GOLDENEYE
696 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
697 Color1: (COMBINED - 0) * SHADE + 0
698 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
699 Alpha1: (COMBINED - 0) * ENV + 0
700
701 //Simplied Mux=0x0026a0041f1493ff Overflowed in GOLDENEYE
702 Simplied DWORDs=00060003, 03060304, 02000000, 00020007
703 Color0: (TEXEL0 - 0) * SHADE + 0
704 Color1: (0 - 0) * 0 + COMBINED
705 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
706 Alpha1: (ENV - 0) * COMBINED + 0
707 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
708
709 Generated combiners:
710
711 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
712 0:Color: Mod - TEXEL0, SHADE,
713 1:Color: Sel - COMBINED, , -Tex1
714 0:Alpha: Sel - TEXEL0, ,
715 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
716
717
718 */
719
720
721 {
722 {0x00060003, 0x03060304, 0x02000000, 0x00020007}, // Simplified mux
723 0x0026A004, 0x1F1493FF, // 64bit Mux
724 2, // number of stages
725 ENABLE_BOTH,
726 MUX_ENV, // Constant color
727 0x00000000, 0x00000007, 0, // Shade and specular color flags
728 {0x00000000, 0x00000000}, // constant color texture flags
729 {
730 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
731 {SKIP, SKIP, 1, true}, // Stage 1
732 }
733 },
734
735
736 /*
737 //Mux=0x0030fe045ffefdf8 Overflowed in Kirby64
738 Color0: (PRIM - ENV) * TEXEL0 + ENV
739 Color1: (COMBINED - 0) * SHADE + 0
740 Alpha0: (0 - 0) * 0 + 1
741 Alpha1: (0 - 0) * 0 + COMBINED
742
743 //Simplied Mux=0x0030fe045ffefdf8 Overflowed in Kirby64
744 Simplied DWORDs=07030704, 01000000, 00020006, 02000000
745 Color0: (TEXEL1 - ENV) * TEXEL0 + ENV
746 Color1: (SHADE - 0) * COMBINED + 0
747 Alpha0: (0 - 0) * 0 + 1
748 Alpha1: (0 - 0) * 0 + COMBINED
749 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
750 Tex 1 = PRIM
751
752 Generated combiners:
753
754 Stages:2, Alpha:DISABLE_ALPHA, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
755 0:Color: Sel - TEXEL0, ,
756 1:Color: Lerp - TEXEL1, ENV, COMBINED -Tex1
757 0:Alpha: Sel - COMBINED, ,
758 1:Alpha: Sel - COMBINED, , -Tex1
759
760
761 */
762
763
764 {
765 {0x07030704, 0x01000000, 0x00020006, 0x02000000}, // Simplified mux
766 0, 0, // 64bit Mux
767 2, // number of stages
768 DISABLE_ALPHA,
769 MUX_ENV, // Constant color
770 0x00000000, 0x00000000, 0, // Shade and specular color flags
771 {0x00000000, 0x00000005}, // constant color texture flags
772 {
773 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
774 {LERP(T1,ENV,CUR), SKIP, 1, true}, // Stage 1
775 }
776 },
777
778 /*
779 //Mux=0x00309e045ffefdf8 Overflowed in Kirby64
780 Color0: (PRIM - ENV) * TEXEL0 + ENV
781 Color1: (COMBINED - 0) * SHADE + 0
782 Alpha0: (TEXEL0 - 0) * 0 + 1
783 Alpha1: (0 - 0) * 0 + COMBINED
784
785 //Simplied Mux=0x00309e045ffefdf8 Overflowed in Kirby64
786 Simplied DWORDs=07030704, 01000000, 00020006, 02000000
787 Color0: (TEXEL1 - ENV) * TEXEL0 + ENV
788 Color1: (SHADE - 0) * COMBINED + 0
789 Alpha0: (0 - 0) * 0 + 1
790 Alpha1: (0 - 0) * 0 + COMBINED
791 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
792 Tex 1 = PRIM
793
794 Generated combiners:
795
796 Stages:2, Alpha:DISABLE_ALPHA, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
797 0:Color: Sel - TEXEL0, ,
798 1:Color: Lerp - TEXEL1, ENV, COMBINED -Tex1
799 0:Alpha: Sel - COMBINED, ,
800 1:Alpha: Sel - COMBINED, , -Tex1
801
802
803 */
804
805
806 {
807 {0x07030704, 0x01000000, 0x00020006, 0x02000000}, // Simplified mux
808 0, 0, // 64bit Mux
809 2, // number of stages
810 ENABLE_BOTH,
811 MUX_ENV, // Constant color
812 0x00000000, 0x00000000, 0, // Shade and specular color flags
813 {0x00000000, 0x00000005}, // constant color texture flags
814 {
815 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
816 {LERP(T1,ENV,CUR), SKIP, 1, true}, // Stage 1
817 }
818 },
819
820
821 /*
822 //Mux=0x0026a0041ffc93f8 Overflowed in ZELDA MAJORA'S MASK
823 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
824 Color1: (COMBINED - 0) * SHADE + 0
825 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
826 Alpha1: (0 - 0) * 0 + COMBINED
827
828 //Simplied Mux=0x0026a0041ffc93f8 Overflowed in ZELDA MAJORA'S MASK
829 Simplied DWORDs=030E0304, 03060304, 00020006, 02000000
830 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
831 Color1: (SHADE - 0) * COMBINED + 0
832 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
833 Alpha1: (0 - 0) * 0 + COMBINED
834 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
835
836 Generated combiners:
837
838 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
839 0:Color: Sel - TEXEL0, ,
840 1:Color: Lerp - TEXEL1, COMBINED, LODFRAC -Tex1
841 0:Alpha: Sel - TEXEL0, ,
842 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
843
844
845 */
846
847
848 {
849 {0x030E0304, 0x03060304, 0x00020006, 0x02000000}, // Simplified mux
850 0, 0, // 64bit Mux
851 2, // number of stages
852 ENABLE_BOTH,
853 MUX_LODFRAC, // Constant color
854 0x00000000, 0x00000000, 0, // Shade and specular color flags
855 {0x00000000, 0x00000000}, // constant color texture flags
856 {
857 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
858 {SKIP, LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
859 }
860 },
861
862
863 /*
864 //Mux=0x00209c03ff0f93ff Overflowed in ZELDA MAJORA'S MASK
865 Color0: (TEXEL1 - 0) * TEXEL0 + 0
866 Color1: (COMBINED - 0) * PRIM + 0
867 Alpha0: (TEXEL0 - TEXEL0) * 1 + TEXEL0
868 Alpha1: (COMBINED - 0) * PRIM + 0
869
870 //Simplied Mux=0x00209c03ff0f93ff Overflowed in ZELDA MAJORA'S MASK
871 Simplied DWORDs=00050004, 00050003, 00020003, 02000000
872 Color0: (TEXEL1 - 0) * PRIM + 0
873 Color1: (TEXEL0 - 0) * COMBINED + 0
874 Alpha0: (TEXEL0 - 0) * PRIM + 0
875 Alpha1: (0 - 0) * 0 + COMBINED
876 Simplfied type: CM_FMT_TYPE2_A_ADD_D
877
878 Generated combiners:
879
880 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
881 0:Color: Mod - TEXEL1, PRIM, -Tex1
882 1:Color: Mod - TEXEL0, COMBINED,
883 0:Alpha: Sel - COMBINED, , -Tex1
884 1:Alpha: Mod - TEXEL0, PRIM,
885
886
887 */
888
889
890 {
891 {0x00050004, 0x00050003, 0x00020003, 0x02000000}, // Simplified mux
892 0, 0, // 64bit Mux
893 2, // number of stages
894 ENABLE_BOTH,
895 MUX_PRIM, // Constant color
896 0x00000000, 0x00000000, 0, // Shade and specular color flags
897 {0x00000000, 0x00000000}, // constant color texture flags
898 {
899 {MOD(T0,PRI), MOD(T0,PRI), 0, true}, // Stage 0
900 {MOD(T1,CUR), SKIP, 1, true}, // Stage 1
901 }
902 },
903
904
905 /*
906 //Mux=0x001229ffff17fe3f Overflowed in Rayman 2
907 Color0: (TEXEL0 - 0) * SHADE + 0
908 Color1: (0 - 0) * 0 + COMBINED
909 Alpha0: (TEXEL1 - 0) * SHADE + 0
910 Alpha1: (COMBINED - 0) * ENV + 0
911
912 //Simplied Mux=0x001229ffff17fe3f Overflowed in Rayman 2
913 Simplied DWORDs=00060003, 00060004, 02000000, 00020007
914 Color0: (TEXEL0 - 0) * SHADE + 0
915 Color1: (0 - 0) * 0 + COMBINED
916 Alpha0: (TEXEL1 - 0) * SHADE + 0
917 Alpha1: (ENV - 0) * COMBINED + 0
918 Simplfied type: CM_FMT_TYPE2_A_ADD_D
919
920 Generated combiners:
921
922 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
923 0:Color: Mod - TEXEL0, SHADE,
924 1:Color: Sel - COMBINED, , -Tex1
925 0:Alpha: Sel - COMBINED, ,
926 1:Alpha: Mod - TEXEL1, SHADE, -Tex1
927
928
929 */
930
931
932 {
933 {0x00060003, 0x00060004, 0x02000000, 0x00020007}, // Simplified mux
934 0, 0, // 64bit Mux
935 2, // number of stages
936 ENABLE_BOTH,
937 MUX_ENV, // Constant color
938 0x00000000, 0x00000000, 0, // Shade and specular color flags
939 {0x00000000, 0x00000000}, // constant color texture flags
940 {
941 {MOD(T0,DIF), MOD(DIF,ENV), 0, true}, // Stage 0
942 {SKIP, MOD(T1,CUR), 1, true}, // Stage 1
943 }
944 },
945
946
947 /*
948 //Mux=0x0030fe0254feff3e Overflowed in Beetle Adventure Rac
949 Color0: (PRIM - ENV) * TEXEL0 + ENV
950 Color1: (COMBINED - SHADE) * TEXEL1 + SHADE
951 Alpha0: (0 - 0) * 0 + 0
952 Alpha1: (0 - 0) * 0 + 1
953
954 //Simplied Mux=0x0030fe0254feff3e Overflowed in Beetle Adventure Rac
955 Simplied DWORDs=07030704, 01000000, 06030602, 02000000
956 Color0: (TEXEL1 - ENV) * TEXEL0 + ENV
957 Color1: (COMBINED - SHADE) * TEXEL0 + SHADE
958 Alpha0: (0 - 0) * 0 + 1
959 Alpha1: (0 - 0) * 0 + COMBINED
960 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
961 Tex 1 = PRIM
962
963 Generated combiners:
964
965 Stages:2, Alpha:DISABLE_ALPHA, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
966 0:Color: Sel - TEXEL0, ,
967 1:Color: Lerp - TEXEL1, ENV, COMBINED -Tex1
968 0:Alpha: Sel - COMBINED, ,
969 1:Alpha: Sel - COMBINED, , -Tex1
970
971
972 */
973
974
975 {
976 {0x07030704, 0x01000000, 0x06030602, 0x02000000}, // Simplified mux
977 0x0030FE02, 0x54FEFF3E, // 64bit Mux
978 2, // number of stages
979 DISABLE_ALPHA,
980 MUX_ENV, // Constant color
981 0x00000000, 0x00000000, 0, // Shade and specular color flags
982 {0x00000000, 0x00000000}, // constant color texture flags
983 {
984 {LERP(DIFA,ENV,T0), SKIP, 0, true}, // Stage 0
985 {LERP(CUR,DIF,T1), SKIP, 1, true}, // Stage 1
986 }
987 },
988
989 /*
990 //Mux=0x0015fe042ffd79fc Overflowed in Beetle Adventure Rac
991 Color0: (TEXEL0 - TEXEL1) * SHADE|A + TEXEL1
992 Color1: (COMBINED - 0) * SHADE + 0
993 Alpha0: (0 - 0) * 0 + SHADE
994 Alpha1: (0 - 0) * 0 + SHADE
995
996 //Simplied Mux=0x0015fe042ffd79fc Overflowed in Beetle Adventure Rac
997 Simplied DWORDs=04460403, 06000000, 00020006, 02000000
998 Color0: (TEXEL0 - TEXEL1) * SHADE|A + TEXEL1
999 Color1: (SHADE - 0) * COMBINED + 0
1000 Alpha0: (0 - 0) * 0 + SHADE
1001 Alpha1: (0 - 0) * 0 + COMBINED
1002 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1003
1004 Generated combiners:
1005
1006 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1007 0:Color: Sel - TEXEL0, ,
1008 1:Color: BlDifA - COMBINED, TEXEL1, -Tex1
1009 0:Alpha: Sel - SHADE, ,
1010 1:Alpha: Sel - COMBINED, , -Tex1
1011
1012
1013 */
1014
1015
1016 {
1017 {0x04460403, 0x06000000, 0x00020006, 0x02000000}, // Simplified mux
1018 0x0015FE04, 0x2FFD79FC, // 64bit Mux
1019 2, // number of stages
1020 ENABLE_BOTH,
1021 0, // Constant color
1022 0x00000000, 0x00000000, 0, // Shade and specular color flags
1023 {0x00000000, 0x00000000}, // constant color texture flags
1024 {
1025 {MOD(T0,DIFA), SEL(DIF), 0, true}, // Stage 0
1026 {LERP(CUR,T1,DIF), SKIP, 1, true}, // Stage 1
1027 }
1028 },
1029
1030 /*
1031 //Mux=0x0020fe0a14fcf938 Overflowed in Beetle Adventure Rac
1032 Color0: (TEXEL1 - TEXEL0) * TEXEL0 + TEXEL0
1033 Color1: (COMBINED - SHADE) * PRIM|A + SHADE
1034 Alpha0: (0 - 0) * 0 + SHADE
1035 Alpha1: (0 - 0) * 0 + COMBINED
1036
1037 //Simplied Mux=0x0020fe0a14fcf938 Overflowed in Beetle Adventure Rac
1038 Simplied DWORDs=03030304, 06000000, 06450602, 02000000
1039 Color0: (TEXEL1 - TEXEL0) * TEXEL0 + TEXEL0
1040 Color1: (COMBINED - SHADE) * PRIM|A + SHADE
1041 Alpha0: (0 - 0) * 0 + SHADE
1042 Alpha1: (0 - 0) * 0 + COMBINED
1043 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1044
1045 Generated combiners:
1046
1047 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1048 0:Color: Sel - TEXEL0, ,
1049 1:Color: Lerp - TEXEL1, COMBINED, COMBINED -Tex1
1050 0:Alpha: Sel - SHADE, ,
1051 1:Alpha: Sel - COMBINED, , -Tex1
1052
1053
1054 */
1055
1056
1057 {
1058 {0x03030304, 0x06000000, 0x06450602, 0x02000000}, // Simplified mux
1059 0x0020FE0A, 0x14FCF938, // 64bit Mux
1060 2, // number of stages
1061 ENABLE_BOTH,
1062 MUX_PRIM, // Constant color
1063 0x00000000, 0x00000000, 0, // Shade and specular color flags
1064 {0x00000000, 0x00000000}, // constant color texture flags
1065 {
1066 {SEL(T0), SEL(DIF), 0, true}, // Stage 0
1067 {LERP(CUR,DIF,PRIA), SKIP, 0, true}, // Stage 1
1068 }
1069 },
1070
1071 /*
1072 //Mux=0x0017fe042ffd73f8 Overflowed in Beetle Adventure Rac
1073 Color0: (TEXEL0 - TEXEL1) * UNK + TEXEL1
1074 Color1: (COMBINED - 0) * SHADE + 0
1075 Alpha0: (0 - 0) * 0 + TEXEL0
1076 Alpha1: (0 - 0) * 0 + COMBINED
1077
1078 //Simplied Mux=0x0017fe042ffd73f8 Overflowed in Beetle Adventure Rac
1079 Simplied DWORDs=04100403, 03000000, 00020006, 02000000
1080 Color0: (TEXEL0 - TEXEL1) * UNK + TEXEL1
1081 Color1: (SHADE - 0) * COMBINED + 0
1082 Alpha0: (0 - 0) * 0 + TEXEL0
1083 Alpha1: (0 - 0) * 0 + COMBINED
1084 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1085
1086 Generated combiners:
1087
1088 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1089 0:Color: Sel - TEXEL0, ,
1090 1:Color: Lerp - COMBINED, TEXEL1, UNK -Tex1
1091 0:Alpha: Sel - TEXEL0, ,
1092 1:Alpha: Sel - COMBINED, , -Tex1
1093
1094
1095 */
1096
1097
1098 {
1099 {0x04100403, 0x03000000, 0x00020006, 0x02000000}, // Simplified mux
1100 0x0017FE04, 0x2FFD73F8, // 64bit Mux
1101 2, // number of stages
1102 ENABLE_BOTH,
1103 0, // Constant color
1104 0x00000000, 0x00000000, 0, // Shade and specular color flags
1105 {0x00000000, 0x00000000}, // constant color texture flags
1106 {
1107 {SEL(T0), SEL(T0), 0, true}, // Stage 0
1108 {LERP(CUR,T1,DIF), SKIP, 1, true}, // Stage 1
1109 }
1110 },
1111
1112 /*
1113 //Mux=0x001218245531feff Overflowed in CONKER BFD
1114 Color0: (TEXEL0 - ENV) * SHADE + PRIM
1115 Color1: (TEXEL0 - ENV) * SHADE + PRIM
1116 Alpha0: (TEXEL0 - 0) * SHADE + 0
1117 Alpha1: (TEXEL0 - 0) * SHADE + 0
1118
1119 //Simplied Mux=0x001218245531feff Overflowed in CONKER BFD
1120 Simplied DWORDs=00060703, 00060003, 02010004, 02000000
1121 Color0: (TEXEL0 - ENV) * SHADE + 0
1122 Color1: (TEXEL1 - 0) * 1 + COMBINED
1123 Alpha0: (TEXEL0 - 0) * SHADE + 0
1124 Alpha1: (0 - 0) * 0 + COMBINED
1125 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1126 Tex 1 = PRIM
1127
1128 Generated combiners:
1129
1130 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1131 0:Color: Sub - TEXEL0, ENV,
1132 1:Color: Mod - COMBINED, SHADE,
1133 0:Alpha: Mod - TEXEL0, SHADE,
1134 1:Alpha: Sel - COMBINED, ,
1135
1136
1137 */
1138
1139
1140 {
1141 {0x00060703, 0x00060003, 0x02010004, 0x02000000}, // Simplified mux
1142 0, 0, // 64bit Mux
1143 2, // number of stages
1144 ENABLE_BOTH,
1145 MUX_ENV, // Constant color
1146 0x00000000, 0x00000000, 0, // Shade and specular color flags
1147 {0x00000000, 0x00000005}, // constant color texture flags
1148 {
1149 {SUB(T0,ENV), MOD(T0,DIF), 0, true}, // Stage 0
1150 {MULADD(CUR,DIF,T1), SKIP, 1, true}, // Stage 1
1151 }
1152 },
1153
1154 /*
1155 //Mux=0x00127e2455fdf2f9 Overflowed in CONKER BFD
1156 Color0: (TEXEL0 - ENV) * SHADE + PRIM
1157 Color1: (TEXEL0 - ENV) * SHADE + PRIM
1158 Alpha0: (0 - 0) * 0 + TEXEL0
1159 Alpha1: (0 - 0) * 0 + TEXEL0
1160
1161 //Simplied Mux=0x00127e2455fdf2f9 Overflowed in CONKER BFD
1162 Simplied DWORDs=00060703, 03000000, 02010004, 02000000
1163 Color0: (TEXEL0 - ENV) * SHADE + 0
1164 Color1: (TEXEL1 - 0) * 1 + COMBINED
1165 Alpha0: (0 - 0) * 0 + TEXEL0
1166 Alpha1: (0 - 0) * 0 + COMBINED
1167 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1168 Tex 1 = PRIM
1169
1170 Generated combiners:
1171
1172 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1173 0:Color: Sub - TEXEL0, ENV,
1174 1:Color: Mod - COMBINED, SHADE,
1175 0:Alpha: Sel - TEXEL0, ,
1176 1:Alpha: Sel - COMBINED, ,
1177
1178
1179 */
1180
1181
1182 {
1183 {0x00060703, 0x03000000, 0x02010004, 0x02000000}, // Simplified mux
1184 0, 0, // 64bit Mux
1185 2, // number of stages
1186 ENABLE_BOTH,
1187 MUX_ENV, // Constant color
1188 0x00000000, 0x00000000, 0, // Shade and specular color flags
1189 {0x00000000, 0x00000005}, // constant color texture flags
1190 {
1191 {SUB(T0,ENV), SEL(T0), 0, true}, // Stage 0
1192 {MULADD(CUR,DIF,T1), SKIP, 1, true}, // Stage 1
1193 }
1194 },
1195
1196
1197 /*
1198 //Mux=0x0026a004151092ff Overflowed in CONKER BFD
1199 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1200 Color1: (COMBINED - ENV) * SHADE + PRIM
1201 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
1202 Alpha1: (COMBINED - 0) * SHADE + 0
1203
1204 //Simplied Mux=0x0026a004151092ff Overflowed in CONKER BFD
1205 Simplied DWORDs=00060703, 03060304, 02010005, 00020006
1206 Color0: (TEXEL0 - ENV) * SHADE + 0
1207 Color1: (PRIM - 0) * 1 + COMBINED
1208 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1209 Alpha1: (SHADE - 0) * COMBINED + 0
1210 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1211
1212 Generated combiners:
1213
1214 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1215 0:Color: Sub - TEXEL0, ENV,
1216 1:Color: Mod - COMBINED, SHADE, -Tex1
1217 0:Alpha: Sel - TEXEL0, ,
1218 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
1219
1220
1221 */
1222
1223
1224 {
1225 {0x00060703, 0x03060304, 0x02010005, 0x00020006}, // Simplified mux
1226 0, 0, // 64bit Mux
1227 2, // number of stages
1228 ENABLE_BOTH,
1229 MUX_PRIM, // Constant color
1230 0x00000000, 0x00000000, 0, // Shade and specular color flags
1231 {0x00000000, 0x00000000}, // constant color texture flags
1232 {
1233 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
1234 //{LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
1235 {ADD(CUR,PRI), SKIP, 0, false}, // Stage 1
1236 }
1237 },
1238
1239 /*
1240 //Mux=0x0026a00415fc92f8 Overflowed in CONKER BFD
1241 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1242 Color1: (COMBINED - ENV) * SHADE + PRIM
1243 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
1244 Alpha1: (0 - 0) * 0 + COMBINED
1245
1246 //Simplied Mux=0x0026a00415fc92f8 Overflowed in CONKER BFD
1247 Simplied DWORDs=00060703, 03060304, 02010005, 02000000
1248 Color0: (TEXEL0 - ENV) * SHADE + 0
1249 Color1: (PRIM - 0) * 1 + COMBINED
1250 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1251 Alpha1: (0 - 0) * 0 + COMBINED
1252 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1253
1254 Generated combiners:
1255
1256 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1257 0:Color: Sub - TEXEL0, ENV,
1258 1:Color: Mod - COMBINED, SHADE, -Tex1
1259 0:Alpha: Sel - TEXEL0, ,
1260 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
1261
1262
1263 */
1264
1265
1266 {
1267 {0x00060703, 0x03060304, 0x02010005, 0x02000000}, // Simplified mux
1268 0, 0, // 64bit Mux
1269 2, // number of stages
1270 ENABLE_BOTH,
1271 MUX_LODFRAC, // Constant color
1272 0x00000000, 0x00000000, 0, // Shade and specular color flags
1273 {0x00000000, 0x00000000}, // constant color texture flags
1274 {
1275 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
1276 {SKIP, LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
1277 }
1278
1279 },
1280
1281
1282 /*
1283 //Mux=0x001219ff5f15fe3f Overflowed in CONKER BFD
1284 Color0: (TEXEL0 - ENV) * SHADE + PRIM
1285 Color1: (0 - 0) * 0 + COMBINED
1286 Alpha0: (TEXEL0 - 0) * SHADE + 0
1287 Alpha1: (COMBINED - 0) * ENV + 0
1288
1289 //Simplied Mux=0x001219ff5f15fe3f Overflowed in CONKER BFD
1290 Simplied DWORDs=00060703, 00060003, 02010004, 00020007
1291 Color0: (TEXEL0 - ENV) * SHADE + 0
1292 Color1: (TEXEL1 - 0) * 1 + COMBINED
1293 Alpha0: (TEXEL0 - 0) * SHADE + 0
1294 Alpha1: (ENV - 0) * COMBINED + 0
1295 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1296 Tex 1 = PRIM
1297
1298 Generated combiners:
1299
1300 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1301 0:Color: Sub - TEXEL0, ENV,
1302 1:Color: Mod - COMBINED, SHADE,
1303 0:Alpha: Mod - TEXEL0, SHADE,
1304 1:Alpha: Mod - ENV, COMBINED,
1305
1306
1307 */
1308
1309
1310 {
1311 {0x00060703, 0x00060003, 0x02010004, 0x00020007}, // Simplified mux
1312 0, 0, // 64bit Mux
1313 2, // number of stages
1314 ENABLE_BOTH,
1315 MUX_ENV, // Constant color
1316 0x00000000, 0x00000000, 0, // Shade and specular color flags
1317 {0x00000000, 0x00000005}, // constant color texture flags
1318 {
1319 {SUB(T0,ENV), MOD(T0,DIF), 0, true}, // Stage 0
1320 {MULADD(CUR,DIF,T1), MOD(CUR,ENV), 1, true}, // Stage 1
1321 }
1322 },
1323
1324
1325 /*
1326 //Mux=0x00ff9880f514feff Overflowed in CONKER BFD
1327 Color0: (0 - 0) * 0 + TEXEL0
1328 Color1: (SHADE - ENV) * COMBINED + PRIM
1329 Alpha0: (TEXEL0 - 0) * SHADE + 0
1330 Alpha1: (COMBINED - 0) * ENV + 0
1331
1332 //Simplied Mux=0x00ff9880f514feff Overflowed in CONKER BFD
1333 Simplied DWORDs=00030706, 00060003, 02010004, 00020007
1334 Color0: (SHADE - ENV) * TEXEL0 + 0
1335 Color1: (TEXEL1 - 0) * 1 + COMBINED
1336 Alpha0: (TEXEL0 - 0) * SHADE + 0
1337 Alpha1: (ENV - 0) * COMBINED + 0
1338 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1339 Shade = 00000706 in color channel
1340 Tex 1 = PRIM
1341
1342 Generated combiners:
1343
1344 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1345 0:Color: Sub - SHADE, ENV,
1346 1:Color: Mod - COMBINED, TEXEL0,
1347 0:Alpha: Mod - TEXEL0, SHADE,
1348 1:Alpha: Mod - ENV, COMBINED,
1349
1350
1351 */
1352
1353
1354 {
1355 {0x00030706, 0x00060003, 0x02010004, 0x00020007}, // Simplified mux
1356 0, 0, // 64bit Mux
1357 2, // number of stages
1358 ENABLE_BOTH,
1359 MUX_ENV, // Constant color
1360 0x00000000, 0x00000000, 0, // Shade and specular color flags
1361 {0x00000000, 0x00000005}, // constant color texture flags
1362 {
1363 {SUB(T0,ENV), MOD(T0,DIF), 0, true}, // Stage 0
1364 {MULADD(CUR,DIF,T1), MOD(CUR,ENV), 1, true}, // Stage 1
1365 }
1366 },
1367
1368
1369
1370
1371 /*
1372 //Mux=0x0026a080151492ff Overflowed in CONKER BFD
1373 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1374 Color1: (SHADE - ENV) * COMBINED + PRIM
1375 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
1376 Alpha1: (COMBINED - 0) * ENV + 0
1377
1378 //Simplied Mux=0x0026a080151492ff Overflowed in CONKER BFD
1379 Simplied DWORDs=030E0304, 03060304, 05020706, 00020007
1380 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1381 Color1: (SHADE - ENV) * COMBINED + PRIM
1382 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1383 Alpha1: (ENV - 0) * COMBINED + 0
1384 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1385
1386 Generated combiners:
1387
1388 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1389 0:Color: Sel - TEXEL0, ,
1390 1:Color: Lerp - TEXEL1, COMBINED, LODFRAC -Tex1
1391 0:Alpha: Sel - TEXEL0, ,
1392 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
1393
1394
1395 */
1396
1397
1398 {
1399 {0x030E0304, 0x03060304, 0x05020706, 0x00020007}, // Simplified mux
1400 0x0026A080, 0x151492FF, // 64bit Mux
1401 2, // number of stages
1402 ENABLE_BOTH,
1403 MUX_PRIM, // Constant color
1404 0x00000706, 0x00000007, 0, // Shade and specular color flags
1405 {0x00000000, 0x00000000}, // constant color texture flags
1406 {
1407 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
1408 //{LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
1409 {ADD(CUR,PRI), SKIP, 0, false}, // Stage 1
1410 }
1411 },
1412
1413 /*
1414 //Mux=0x0026a004151092ff Overflowed in CONKER BFD
1415 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1416 Color1: (COMBINED - ENV) * SHADE + PRIM
1417 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
1418 Alpha1: (COMBINED - 0) * SHADE + 0
1419
1420
1421 //Simplied Mux=0x0026a004151092ff Overflowed in CONKER BFD
1422 Simplied DWORDs=030E0304, 03060304, 05060702, 00020006
1423 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1424 Color1: (COMBINED - ENV) * SHADE + PRIM
1425 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1426 Alpha1: (SHADE - 0) * COMBINED + 0
1427 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
1428 */
1429
1430
1431 {
1432 {0x030E0304, 0x03060304, 0x05060702, 0x00020006}, // Simplified mux
1433 0x0026A004, 0x151092FF, // 64bit Mux
1434 2, // number of stages
1435 ENABLE_BOTH,
1436 MUX_LODFRAC, // Constant color
1437 0x00000000, 0x00000000, 0, // Shade and specular color flags
1438 {0x00000000, 0x00000000}, // constant color texture flags
1439 {
1440 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
1441 //{LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
1442 {SKIP, LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
1443 }
1444 },
1445
1446 /*
1447 //Mux=0x00ff9880f514feff Overflowed in CONKER BFD
1448 Color0: (0 - 0) * 0 + TEXEL0
1449 Color1: (SHADE - ENV) * COMBINED + PRIM
1450 Alpha0: (TEXEL0 - 0) * SHADE + 0
1451 Alpha1: (COMBINED - 0) * ENV + 0
1452
1453 //Simplied Mux=0x00ff9880f514feff Overflowed in CONKER BFD
1454 Simplied DWORDs=00030706, 00060003, 02010004, 00020007
1455 Color0: (SHADE - ENV) * TEXEL0 + 0
1456 Color1: (TEXEL1 - 0) * 1 + COMBINED
1457 Alpha0: (TEXEL0 - 0) * SHADE + 0
1458 Alpha1: (ENV - 0) * COMBINED + 0
1459 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1460 Shade = 00000706 in color channel
1461 Tex 1 = PRIM
1462
1463 Generated combiners:
1464
1465 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1466 0:Color: Sub - SHADE, ENV,
1467 1:Color: Mod - COMBINED, TEXEL0,
1468 0:Alpha: Mod - TEXEL0, SHADE,
1469 1:Alpha: Mod - ENV, COMBINED,
1470
1471
1472 */
1473
1474
1475 {
1476 {0x00030706, 0x00060003, 0x02010004, 0x00020007}, // Simplified mux
1477 0x00FF9880, 0xF514FEFF, // 64bit Mux
1478 2, // number of stages
1479 ENABLE_BOTH,
1480 MUX_PRIM, // Constant color
1481 0x00000706, 0x00070006, 0, // Shade and specular color flags
1482 {0x00000000, 0x00000000}, // constant color texture flags
1483 {
1484 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
1485 {ADD(CUR,PRI), SKIP, 0, false}, // Stage 1
1486 }
1487 },
1488
1489 /*
1490 //Mux=0x00262a041f0c93ff Overflowed in JET FORCE GEMINI
1491 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
1492 Color1: (COMBINED - 0) * SHADE + 0
1493 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
1494 Alpha1: (COMBINED - 0) * PRIM + 0
1495
1496 //Simplied Mux=0x00262a041f0c93ff Overflowed in JET FORCE GEMINI
1497 Simplied DWORDs=03460304, 03060304, 00020006, 00020005
1498 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
1499 Color1: (SHADE - 0) * COMBINED + 0
1500 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1501 Alpha1: (PRIM - 0) * COMBINED + 0
1502 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1503 Shade = ENV in alpha channel
1504
1505 Generated combiners:
1506
1507 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1508 0:Color: Sel - TEXEL0, ,
1509 1:Color: BlDifA - TEXEL1, COMBINED, -Tex1
1510 0:Alpha: Sel - TEXEL0, ,
1511 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
1512
1513
1514 */
1515
1516
1517 {
1518 {0x03460304, 0x03060304, 0x00020006, 0x00020005}, // Simplified mux
1519 0, 0, // 64bit Mux
1520 2, // number of stages
1521 ENABLE_BOTH,
1522 MUX_ENV, // Constant color
1523 0x00000000, 0x00000007, 0, // Shade and specular color flags
1524 {0x00000000, 0x00000000}, // constant color texture flags
1525 {
1526 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
1527 {LERP(T1,CUR,ENVA), LERP(T1,CUR,ENV), 1, true}, // Stage 1
1528 }
1529 },
1530
1531 /*
1532 //Mux=0x00262a6014fc9338 Overflowed in JET FORCE GEMINI
1533 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
1534 Color1: (PRIM - SHADE) * COMBINED + SHADE
1535 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
1536 Alpha1: (0 - 0) * 0 + COMBINED
1537
1538 //Simplied Mux=0x00262a6014fc9338 Overflowed in JET FORCE GEMINI
1539 Simplied DWORDs=03460304, 03060304, 06020605, 02000000
1540 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
1541 Color1: (PRIM - SHADE) * COMBINED + SHADE
1542 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1543 Alpha1: (0 - 0) * 0 + COMBINED
1544 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1545 Shade = ENV in alpha channel
1546
1547 Generated combiners:
1548
1549 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1550 0:Color: Sel - TEXEL0, ,
1551 1:Color: BlDifA - TEXEL1, COMBINED, -Tex1
1552 0:Alpha: Sel - TEXEL0, ,
1553 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
1554
1555
1556 */
1557
1558
1559 {
1560 {0x03460304, 0x03060304, 0x06020605, 0x02000000}, // Simplified mux
1561 0, 0, // 64bit Mux
1562 2, // number of stages
1563 ENABLE_BOTH,
1564 MUX_ENV, // Constant color
1565 0x00000000, 0x00000007, 0, // Shade and specular color flags
1566 {0x00000000, 0x00000000}, // constant color texture flags
1567 {
1568 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
1569 {LERP(T1,CUR,ENVA), LERP(T1,CUR,ENV), 1, true}, // Stage 1
1570 }
1571 },
1572
1573
1574 /*
1575 //Mux=0x00127e2455fdf8fc Overflowed in KILLER INSTINCT GOLD
1576 Color0: (TEXEL0 - ENV) * SHADE + PRIM
1577 Color1: (TEXEL0 - ENV) * SHADE + PRIM
1578 Alpha0: (0 - 0) * 0 + SHADE
1579 Alpha1: (0 - 0) * 0 + SHADE
1580
1581 //Simplied Mux=0x00127e2455fdf8fc Overflowed in KILLER INSTINCT GOLD
1582 Simplied DWORDs=00060703, 06000000, 02010004, 02000000
1583 Color0: (TEXEL0 - ENV) * SHADE + 0
1584 Color1: (TEXEL1 - 0) * 1 + COMBINED
1585 Alpha0: (0 - 0) * 0 + SHADE
1586 Alpha1: (0 - 0) * 0 + COMBINED
1587 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1588 Tex 1 = PRIM
1589
1590 Generated combiners:
1591
1592 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1593 0:Color: Sub - TEXEL0, ENV,
1594 1:Color: Mod - COMBINED, SHADE,
1595 0:Alpha: Sel - SHADE, ,
1596 1:Alpha: Sel - COMBINED, ,
1597
1598
1599 */
1600
1601
1602 {
1603 {0x00060703, 0x06000000, 0x02010004, 0x02000000}, // Simplified mux
1604 0, 0, // 64bit Mux
1605 2, // number of stages
1606 ENABLE_BOTH,
1607 MUX_ENV, // Constant color
1608 0x00000000, 0x00000000, 0, // Shade and specular color flags
1609 {0x00000000, 0x00000005}, // constant color texture flags
1610 {
1611 {SUB(T0,ENV), SEL(DIF), 0, true}, // Stage 0
1612 {MULADD(CUR,DIF,T1), SKIP, 1, true}, // Stage 1
1613 }
1614 },
1615
1616
1617 /*
1618 //Mux=0x00fffe6af5fcf438 Overflowed in KILLER INSTINCT GOLD
1619 Color0: (0 - 0) * 0 + TEXEL0
1620 Color1: (PRIM - ENV) * PRIM|A + COMBINED
1621 Alpha0: (0 - 0) * 0 + TEXEL1
1622 Alpha1: (0 - 0) * 0 + COMBINED
1623
1624 //Simplied Mux=0x00fffe6af5fcf438 Overflowed in KILLER INSTINCT GOLD
1625 Simplied DWORDs=00460706, 04000000, 02010003, 02000000
1626 Color0: (SHADE - ENV) * SHADE|A + 0
1627 Color1: (TEXEL0 - 0) * 1 + COMBINED
1628 Alpha0: (0 - 0) * 0 + TEXEL1
1629 Alpha1: (0 - 0) * 0 + COMBINED
1630 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1631 Shade = PRIM in color channel
1632 Shade = PRIM in alpha channel
1633
1634 Generated combiners:
1635
1636 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1637 0:Color: Sub - SHADE, ENV, -Tex1
1638 1:Color: Mod - COMBINED, SHADE|A,
1639 0:Alpha: Sel - TEXEL1, , -Tex1
1640 1:Alpha: Sel - COMBINED, ,
1641
1642
1643 */
1644
1645
1646 {
1647 {0x00460706, 0x04000000, 0x02010003, 0x02000000}, // Simplified mux
1648 0, 0, // 64bit Mux
1649 2, // number of stages
1650 ENABLE_BOTH,
1651 MUX_ENV, // Constant color
1652 0x00000005, 0x00000005, 0, // Shade and specular color flags
1653 {0x00000000, 0x00000000}, // constant color texture flags
1654 {
1655 {SUB(DIF,ENV), SEL(T1), 1, true}, // Stage 0
1656 {MULADD(CUR,DIFA,T0), SKIP, 0, true}, // Stage 1
1657 }
1658 },
1659
1660
1661 /*
1662 //Mux=0x00262a041f5893f8 Overflowed in THE LEGEND OF ZELDA
1663 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
1664 Color1: (COMBINED - 0) * SHADE + 0
1665 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
1666 Alpha1: (TEXEL1 - 0) * 1 + COMBINED
1667
1668 //Simplied Mux=0x00262a041f5893f8 Overflowed in THE LEGEND OF ZELDA
1669 Simplied DWORDs=03460304, 03060304, 00020006, 02010004
1670 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
1671 Color1: (SHADE - 0) * COMBINED + 0
1672 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1673 Alpha1: (TEXEL1 - 0) * 1 + COMBINED
1674 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1675 Shade = ENV in alpha channel
1676
1677 Generated combiners:
1678
1679 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1680 0:Color: Sel - TEXEL0, ,
1681 1:Color: BlDifA - TEXEL1, COMBINED, -Tex1
1682 0:Alpha: Sel - TEXEL0, ,
1683 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
1684
1685
1686 */
1687
1688
1689 {
1690 {0x03460304, 0x03060304, 0x00020006, 0x02010004}, // Simplified mux
1691 0x00262A04, 0x1F5893F8, // 64bit Mux
1692 2, // number of stages
1693 ENABLE_BOTH,
1694 MUX_ENV, // Constant color
1695 0x00000000, 0x00000000, 0, // Shade and specular color flags
1696 {0x00000000, 0x00000000}, // constant color texture flags
1697 {
1698 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
1699 {LERP(T1,CUR,ENVA), LERP(T1,CUR,ENV), 1, true}, // Stage 1
1700 }
1701 },
1702
1703
1704 /*
1705 //Mux=0x00272c60350ce37f Overflowed in THE LEGEND OF ZELDA
1706 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
1707 Color1: (PRIM - ENV) * COMBINED + ENV
1708 Alpha0: (TEXEL1 - 1) * 1 + TEXEL0
1709 Alpha1: (COMBINED - 0) * PRIM + 0
1710
1711 //Simplied Mux=0x00272c60350ce37f Overflowed in THE LEGEND OF ZELDA
1712 Simplied DWORDs=030F0604, 00060003, 07020706, 02000000
1713 Color0: (TEXEL1 - SHADE) * PRIMLODFRAC + TEXEL0
1714 Color1: (SHADE - ENV) * COMBINED + ENV
1715 Alpha0: (TEXEL0 - 0) * SHADE + 0
1716 Alpha1: (0 - 0) * 0 + COMBINED
1717 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
1718 Shade = PRIM in color channel
1719 Shade = PRIM in alpha channel
1720
1721 Generated combiners:
1722
1723 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1724 0:Color: Mod - TEXEL1, PRIMLODFRAC, -Tex1
1725 1:Color: Add - COMBINED, TEXEL0,
1726 0:Alpha: Sel - COMBINED, , -Tex1
1727 1:Alpha: Mod - TEXEL0, SHADE,
1728
1729
1730 */
1731
1732
1733 {
1734 {0x030F0604, 0x00060003, 0x07020706, 0x02000000}, // Simplified mux
1735 0x00272C60, 0x350CE37F, // 64bit Mux
1736 2, // number of stages
1737 ENABLE_BOTH,
1738 MUX_ENV, // Constant color
1739 0x00000005, 0x00000005, 0, // Shade and specular color flags
1740 {0x00000000, 0x00000000}, // constant color texture flags
1741 {
1742 {MOD(T1,DIF), MOD(T1,DIF), 1, true}, // Stage 0
1743 {MULADD(DIF,T0,CUR), MOD(T0,CUR), 0, true}, // Stage 1
1744 }
1745 },
1746
1747
1748
1749 /*
1750 //Mux=0x0026a0041f1093ff Overflowed in Perfect Dark
1751 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1752 Color1: (COMBINED - 0) * SHADE + 0
1753 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
1754 Alpha1: (COMBINED - 0) * SHADE + 0
1755
1756 //Simplied Mux=0x0026a0041f1093ff Overflowed in Perfect Dark
1757 Simplied DWORDs=00060003, 03060304, 02000000, 00020006
1758 Color0: (TEXEL0 - 0) * SHADE + 0
1759 Color1: (0 - 0) * 0 + COMBINED
1760 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1761 Alpha1: (SHADE - 0) * COMBINED + 0
1762 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1763
1764 Generated combiners:
1765
1766 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1767 0:Color: Mod - TEXEL0, SHADE,
1768 1:Color: Sel - COMBINED, , -Tex1
1769 0:Alpha: Sel - TEXEL0, ,
1770 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
1771
1772
1773 */
1774
1775
1776 {
1777 {0x00060003, 0x03060304, 0x02000000, 0x00020006}, // Simplified mux
1778 0x0026A004, 0x1F1093FF, // 64bit Mux
1779 2, // number of stages
1780 ENABLE_BOTH,
1781 MUX_LODFRAC, // Constant color
1782 0x00000000, 0x00000000, 0, // Shade and specular color flags
1783 {0x00000000, 0x00000000}, // constant color texture flags
1784 {
1785 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
1786 {SKIP, SKIP, 1, true}, // Stage 1
1787 }
1788 },
1789
1790
1791 /*
1792 //Mux=0x0026a08015fc937b Overflowed in ROCKETROBOTONWHEELS
1793 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1794 Color1: (SHADE - ENV) * COMBINED + ENV
1795 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
1796 Alpha1: (0 - 0) * 0 + PRIM
1797
1798 //Simplied Mux=0x0026a08015fc937b Overflowed in ROCKETROBOTONWHEELS
1799 Simplied DWORDs=030E0304, 06000000, 07020706, 02000000
1800 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1801 Color1: (SHADE - ENV) * COMBINED + ENV
1802 Alpha0: (0 - 0) * 0 + SHADE
1803 Alpha1: (0 - 0) * 0 + COMBINED
1804 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1805 Shade = PRIM in alpha channel
1806
1807 Generated combiners:
1808
1809 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1810 0:Color: Sel - TEXEL0, ,
1811 1:Color: Lerp - TEXEL1, COMBINED, LODFRAC -Tex1
1812 0:Alpha: Sel - SHADE, ,
1813 1:Alpha: Sel - COMBINED, , -Tex1
1814
1815
1816 */
1817
1818
1819 {
1820 {0x030E0304, 0x06000000, 0x07020706, 0x02000000}, // Simplified mux
1821 0x0026A080, 0x15FC937B, // 64bit Mux
1822 2, // number of stages
1823 ENABLE_BOTH,
1824 MUX_LODFRAC, // Constant color
1825 0x00000000, 0x00000005, 0, // Shade and specular color flags
1826 {0x00000000, 0x00000000}, // constant color texture flags
1827 {
1828 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
1829 {LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
1830 }
1831 },
1832
1833
1834 /*
1835 //Mux=0x0026a0801ffc93fb Overflowed in ROCKETROBOTONWHEELS
1836 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1837 Color1: (SHADE - 0) * COMBINED + 0
1838 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
1839 Alpha1: (0 - 0) * 0 + PRIM
1840
1841 //Simplied Mux=0x0026a0801ffc93fb Overflowed in ROCKETROBOTONWHEELS
1842 Simplied DWORDs=030E0304, 06000000, 00020006, 02000000
1843 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1844 Color1: (SHADE - 0) * COMBINED + 0
1845 Alpha0: (0 - 0) * 0 + SHADE
1846 Alpha1: (0 - 0) * 0 + COMBINED
1847 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1848 Shade = PRIM in alpha channel
1849
1850 Generated combiners:
1851
1852 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1853 0:Color: Sel - TEXEL0, ,
1854 1:Color: Lerp - TEXEL1, COMBINED, LODFRAC -Tex1
1855 0:Alpha: Sel - SHADE, ,
1856 1:Alpha: Sel - COMBINED, , -Tex1
1857
1858
1859 */
1860
1861
1862 {
1863 {0x030E0304, 0x06000000, 0x00020006, 0x02000000}, // Simplified mux
1864 0x0026A080, 0x1FFC93FB, // 64bit Mux
1865 2, // number of stages
1866 ENABLE_BOTH,
1867 MUX_LODFRAC, // Constant color
1868 0x00000000, 0x00000005, 0, // Shade and specular color flags
1869 {0x00000000, 0x00000000}, // constant color texture flags
1870 {
1871 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
1872 {LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
1873 }
1874 },
1875
1876
1877 /*
1878 //Mux=0x0025a8801f1493ff Overflowed in ROCKETROBOTONWHEELS
1879 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
1880 Color1: (SHADE - 0) * COMBINED + 0
1881 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1882 Alpha1: (COMBINED - 0) * ENV + 0
1883
1884 //Simplied Mux=0x0025a8801f1493ff Overflowed in ROCKETROBOTONWHEELS
1885 Simplied DWORDs=03460304, 03060304, 00020006, 00020007
1886 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
1887 Color1: (SHADE - 0) * COMBINED + 0
1888 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1889 Alpha1: (ENV - 0) * COMBINED + 0
1890 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1891
1892 Generated combiners:
1893
1894 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1895 0:Color: Sel - TEXEL0, ,
1896 1:Color: BlDifA - TEXEL1, COMBINED, -Tex1
1897 0:Alpha: Sel - TEXEL0, ,
1898 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
1899
1900
1901 */
1902
1903
1904 {
1905 {0x03460304, 0x03060304, 0x00020006, 0x00020007}, // Simplified mux
1906 0, 0, // 64bit Mux
1907 2, // number of stages
1908 ENABLE_BOTH,
1909 MUX_ENV, // Constant color
1910 0x00000000, 0x00000000, 0, // Shade and specular color flags
1911 {0x00000000, 0x00000000}, // constant color texture flags
1912 {
1913 {MOD(T0,DIF), MOD(T0,ENV), 0, true}, // Stage 0
1914 {LERP(T1,CUR,DIFA), LERP(T1,CUR,DIF), 1, true}, // Stage 1
1915 }
1916 },
1917
1918
1919 /*
1920 //Mux=0x0026a0801510937f Overflowed in ROCKETROBOTONWHEELS
1921 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1922 Color1: (SHADE - ENV) * COMBINED + ENV
1923 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
1924 Alpha1: (COMBINED - 0) * SHADE + 0
1925
1926 //Simplied Mux=0x0026a0801510937f Overflowed in ROCKETROBOTONWHEELS
1927 Simplied DWORDs=030E0304, 03060304, 07020706, 00020006
1928 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
1929 Color1: (SHADE - ENV) * COMBINED + ENV
1930 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
1931 Alpha1: (SHADE - 0) * COMBINED + 0
1932 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1933
1934 Generated combiners:
1935
1936 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1937 0:Color: Sel - TEXEL0, ,
1938 1:Color: Lerp - TEXEL1, COMBINED, LODFRAC -Tex1
1939 0:Alpha: Sel - TEXEL0, ,
1940 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
1941
1942
1943 */
1944
1945
1946 {
1947 {0x030E0304, 0x03060304, 0x07020706, 0x00020006}, // Simplified mux
1948 0, 0, // 64bit Mux
1949 2, // number of stages
1950 ENABLE_BOTH,
1951 MUX_LODFRAC, // Constant color
1952 0x00000000, 0x00000000, 0, // Shade and specular color flags
1953 {0x00000000, 0x00000000}, // constant color texture flags
1954 {
1955 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
1956 {LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
1957 }
1958 },
1959
1960
1961 /*
1962 //Mux=0x004099ff5f0efe3f Overflowed in ROCKETROBOTONWHEELS
1963 Color0: (SHADE - ENV) * TEXEL0 + ENV
1964 Color1: (0 - 0) * 0 + COMBINED
1965 Alpha0: (TEXEL0 - 0) * SHADE + 0
1966 Alpha1: (COMBINED - 0) * PRIM + 0
1967
1968 //Simplied Mux=0x004099ff5f0efe3f Overflowed in ROCKETROBOTONWHEELS
1969 Simplied DWORDs=07030706, 00060003, 02000000, 00020004
1970 Color0: (SHADE - ENV) * TEXEL0 + ENV
1971 Color1: (0 - 0) * 0 + COMBINED
1972 Alpha0: (TEXEL0 - 0) * SHADE + 0
1973 Alpha1: (TEXEL1 - 0) * COMBINED + 0
1974 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
1975 Shade = 00000706 in color channel
1976 Tex 1 = PRIM
1977
1978 Generated combiners:
1979
1980 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
1981 0:Color: Lerp - SHADE, ENV, TEXEL0
1982 1:Color: Sel - COMBINED, , -Tex1
1983 0:Alpha: Mod - TEXEL0, SHADE,
1984 1:Alpha: Mod - TEXEL1, COMBINED, -Tex1
1985
1986
1987 */
1988
1989
1990 {
1991 {0x07030706, 0x00060003, 0x02000000, 0x00020004}, // Simplified mux
1992 0x004099FF, 0x5F0EFE3F, // 64bit Mux
1993 2, // number of stages
1994 ENABLE_BOTH,
1995 MUX_ENV, // Constant color
1996 0x00000000, 0x00000000, 0, // Shade and specular color flags
1997 {0x00000000, 0x00000005}, // constant color texture flags
1998 {
1999 {LERP(DIF,ENV,T0), MOD(T0,DIF), 0, true}, // Stage 0
2000 {SKIP, MOD(T1,CUR), 1, true}, // Stage 1
2001 }
2002 },
2003
2004
2005 /*
2006 //Mux=0x0025a8a01414933f Overflowed in ROCKETROBOTONWHEELS
2007 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
2008 Color1: (ENV - SHADE) * COMBINED + SHADE
2009 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
2010 Alpha1: (COMBINED - 0) * ENV + 0
2011
2012 //Simplied Mux=0x0025a8a01414933f Overflowed in ROCKETROBOTONWHEELS
2013 Simplied DWORDs=03460304, 03060304, 06020607, 00020007
2014 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
2015 Color1: (ENV - SHADE) * COMBINED + SHADE
2016 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
2017 Alpha1: (ENV - 0) * COMBINED + 0
2018 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2019
2020 Generated combiners:
2021
2022 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2023 0:Color: Sel - TEXEL0, ,
2024 1:Color: BlDifA - TEXEL1, COMBINED, -Tex1
2025 0:Alpha: Sel - TEXEL0, ,
2026 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
2027
2028
2029 */
2030
2031
2032 {
2033 {0x03460304, 0x03060304, 0x06020607, 0x00020007}, // Simplified mux
2034 0x0025A8A0, 0x1414933F, // 64bit Mux
2035 2, // number of stages
2036 ENABLE_BOTH,
2037 MUX_ENV, // Constant color
2038 0x00000000, 0x00000000, 0, // Shade and specular color flags
2039 {0x00000000, 0x00000005}, // constant color texture flags
2040 {
2041 {LERP(ENV,DIF,T0), MOD(T0,ENV), 0, true}, // Stage 0
2042 {LERP(T1,CUR,DIFA), LERP(T1,CUR,DIF), 1, true}, // Stage 1
2043 }
2044 },
2045
2046
2047 /*
2048 //Mux=0x001298043f15ffff Overflowed in BANJO TOOIE
2049 Color0: (TEXEL0 - PRIM) * ENV + PRIM
2050 Color1: (COMBINED - 0) * SHADE + 0
2051 Alpha0: (TEXEL0 - 0) * SHADE + 0
2052 Alpha1: (COMBINED - 0) * ENV + 0
2053
2054 //Simplied Mux=0x001298043f15ffff Overflowed in BANJO TOOIE
2055 Simplied DWORDs=04070403, 00060003, 00020006, 00020007
2056 Color0: (TEXEL0 - TEXEL1) * ENV + TEXEL1
2057 Color1: (SHADE - 0) * COMBINED + 0
2058 Alpha0: (TEXEL0 - 0) * SHADE + 0
2059 Alpha1: (ENV - 0) * COMBINED + 0
2060 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2061 Tex 1 = PRIM
2062
2063 Generated combiners:
2064
2065 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2066 0:Color: Sel - TEXEL0, ,
2067 1:Color: Lerp - COMBINED, TEXEL1, ENV
2068 0:Alpha: Mod - TEXEL0, SHADE,
2069 1:Alpha: Mod - ENV, COMBINED,
2070
2071
2072 */
2073
2074
2075 {
2076 {0x04070403, 0x00060003, 0x00020006, 0x00020007}, // Simplified mux
2077 0x00129804, 0x3F15FFFF, // 64bit Mux
2078 2, // number of stages
2079 ENABLE_BOTH,
2080 MUX_ENV, // Constant color
2081 0x00000000, 0x00000000, 0, // Shade and specular color flags
2082 {0x00000000, 0x00000005}, // constant color texture flags
2083 {
2084 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
2085 {LERP(CUR,T1,ENV), MOD(CUR,ENV), 1, true}, // Stage 1
2086 }
2087 },
2088
2089
2090 /*
2091 //Mux=0x0062fe043f15f9ff Overflowed in BANJO TOOIE
2092 Color0: (1 - PRIM) * ENV + PRIM
2093 Color1: (COMBINED - 0) * SHADE + 0
2094 Alpha0: (0 - 0) * 0 + SHADE
2095 Alpha1: (COMBINED - 0) * ENV + 0
2096
2097 //Simplied Mux=0x0062fe043f15f9ff Overflowed in BANJO TOOIE
2098 Simplied DWORDs=03070301, 06000000, 00020006, 02000000
2099 Color0: (1 - TEXEL0) * ENV + TEXEL0
2100 Color1: (SHADE - 0) * COMBINED + 0
2101 Alpha0: (0 - 0) * 0 + SHADE
2102 Alpha1: (0 - 0) * 0 + COMBINED
2103 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2104 Shade = 00070006 in alpha channel
2105 Tex 0 = PRIM
2106
2107 Generated combiners:
2108
2109 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2110 0:Color: AddSmooth - TEXEL0, ENV,
2111 1:Color: Mod - SHADE, COMBINED,
2112 0:Alpha: Sel - SHADE, ,
2113 1:Alpha: Sel - COMBINED, ,
2114
2115
2116 */
2117
2118
2119 {
2120 {0x03070301, 0x06000000, 0x00020006, 0x02000000}, // Simplified mux
2121 0x0062FE04, 0x3F15F9FF, // 64bit Mux
2122 2, // number of stages
2123 ENABLE_BOTH,
2124 MUX_ENV, // Constant color
2125 0x00000000, 0x00000000, 0, // Shade and specular color flags
2126 {0x00000005, 0x00000000}, // constant color texture flags
2127 {
2128 {MULADD(T0C,ENV,T0), SEL(DIF), 0, true}, // Stage 0
2129 {MOD(CUR,DIF), SKIP, 0, true}, // Stage 1
2130 }
2131 },
2132
2133
2134 /*
2135 //Mux=0x0025266015fc9378 Overflowed in ZELDA MAJORA'S MASK
2136 Color0: (TEXEL1 - TEXEL0) * PRIM|A + TEXEL0
2137 Color1: (PRIM - ENV) * COMBINED + ENV
2138 Alpha0: (TEXEL1 - TEXEL0) * PRIM + TEXEL0
2139 Alpha1: (0 - 0) * 0 + COMBINED
2140
2141 //Simplied Mux=0x0025266015fc9378 Overflowed in ZELDA MAJORA'S MASK
2142 Simplied DWORDs=03460304, 03060304, 06020605, 02000000
2143 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
2144 Color1: (PRIM - SHADE) * COMBINED + SHADE
2145 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
2146 Alpha1: (0 - 0) * 0 + COMBINED
2147 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2148 Shade = ENV in color channel
2149 Shade = PRIM in alpha channel
2150
2151 Generated combiners:
2152
2153 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2154 0:Color: Sel - TEXEL0, ,
2155 1:Color: BlDifA - TEXEL1, COMBINED, -Tex1
2156 0:Alpha: Sel - TEXEL0, ,
2157 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
2158
2159
2160 */
2161
2162
2163 {
2164 {0x03460304, 0x03060304, 0x06020605, 0x02000000}, // Simplified mux
2165 0, 0, // 64bit Mux
2166 2, // number of stages
2167 ENABLE_BOTH,
2168 MUX_PRIM, // Constant color
2169 0x00000007, 0x00000005, 0, // Shade and specular color flags
2170 {0x00000000, 0x00000000}, // constant color texture flags
2171 {
2172 {LERP(PRI,DIF,T0), SEL(T0), 0, true}, // Stage 0
2173 {LERP(T1,CUR,DIFA), SKIP, 1, true}, // Stage 1
2174 }
2175 },
2176
2177
2178 /*
2179 //Mux=0x0061a5ff1f10d23f Overflowed in PAPER MARIO
2180 Color0: (1 - TEXEL0) * PRIM + TEXEL0
2181 Color1: (0 - 0) * 0 + COMBINED
2182 Alpha0: (TEXEL1 - ENV) * TEXEL1 + TEXEL0
2183 Alpha1: (COMBINED - 0) * SHADE + 0
2184
2185 //Simplied Mux=0x0061a5ff1f10d23f Overflowed in PAPER MARIO
2186 Simplied DWORDs=03060301, 03040704, 02000000, 00020006
2187 Color0: (1 - TEXEL0) * SHADE + TEXEL0
2188 Color1: (0 - 0) * 0 + COMBINED
2189 Alpha0: (TEXEL1 - ENV) * TEXEL1 + TEXEL0
2190 Alpha1: (SHADE - 0) * COMBINED + 0
2191 Simplfied type: CM_FMT_TYPE_NOT_CHECKED
2192 Shade = PRIM in color channel
2193
2194 Generated combiners:
2195
2196 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2197 0:Color: AddSmooth - TEXEL0, SHADE,
2198 1:Color: Sel - COMBINED, , -Tex1
2199 0:Alpha: Sel - TEXEL0, ,
2200 1:Alpha: Mod - COMBINED, TEXEL1, -Tex1
2201
2202
2203 */
2204
2205
2206 {
2207 {0x03060301, 0x03040704, 0x02000000, 0x00020006}, // Simplified mux
2208 0x0061A5FF, 0x1F10D23F, // 64bit Mux
2209 2, // number of stages
2210 ENABLE_BOTH,
2211 MUX_ENV, // Constant color
2212 0x00000005, 0x00000000, 0, // Shade and specular color flags
2213 {0x00000000, 0x00000000}, // constant color texture flags
2214 {
2215 {MULADD(T0C,DIF,T0), MOD(T0,DIF), 0, true}, // Stage 0
2216 {SKIP, LERP(T1,ENV,CUR), 1, true}, // Stage 1
2217 }
2218 },
2219
2220
2221 /*
2222 //Mux=0x00322bff5f0e923f Overflowed in PAPER MARIO
2223 Color0: (PRIM - ENV) * SHADE + ENV
2224 Color1: (0 - 0) * 0 + COMBINED
2225 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
2226 Alpha1: (COMBINED - 0) * PRIM + 0
2227
2228 //Simplied Mux=0x00322bff5f0e923f Overflowed in PAPER MARIO
2229 Simplied DWORDs=06000000, 03070304, 02000000, 00020006
2230 Color0: (0 - 0) * 0 + SHADE
2231 Color1: (0 - 0) * 0 + COMBINED
2232 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
2233 Alpha1: (SHADE - 0) * COMBINED + 0
2234 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2235 Shade = 07060705 in color channel
2236 Shade = PRIM in alpha channel
2237
2238 Generated combiners:
2239
2240 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2241 0:Color: Sel - SHADE, ,
2242 1:Color: Sel - COMBINED, , -Tex1
2243 0:Alpha: Sel - TEXEL0, ,
2244 1:Alpha: BlFacA - TEXEL1, COMBINED, -Tex1
2245
2246
2247 */
2248
2249
2250 {
2251 {0x06000000, 0x03070304, 0x02000000, 0x00020006}, // Simplified mux
2252 0x00322BFF, 0x5F0E923F, // 64bit Mux
2253 23, // number of stages
2254 ENABLE_BOTH,
2255 MUX_ENV, // Constant color
2256 0x07060705, 0x00000005, 0, // Shade and specular color flags
2257 {0x00000000, 0x00000000}, // constant color texture flags
2258 {
2259 {SEL(DIF), MOD(T0,DIF), 0, true}, // Stage 0
2260 {SKIP, LERP(T1,CUR,ENV), 1, true}, // Stage 1
2261 }
2262 },
2263
2264
2265 /*
2266 //Mux=0x0010e5e0230b157f Overflowed in PAPER MARIO
2267 Color0: (TEXEL0 - TEXEL1) * TEXEL0 + 1
2268 Color1: (0 - PRIM) * COMBINED + ENV
2269 Alpha0: (1 - TEXEL0) * TEXEL1 + TEXEL1
2270 Alpha1: (COMBINED - 0) * TEXEL1 + 0
2271
2272 //Simplied Mux=0x0010e5e0230b157f Overflowed in PAPER MARIO
2273 Simplied DWORDs=00010600, 04830004, 02010007, 00020004
2274 Color0: (0 - SHADE) * 1 + 0
2275 Color1: (ENV - 0) * 1 + COMBINED
2276 Alpha0: (TEXEL1 - 0) * TEXEL0|C + TEXEL1
2277 Alpha1: (TEXEL1 - 0) * COMBINED + 0
2278 Simplfied type: CM_FMT_TYPE7_A_SUB_B_ADD_D
2279 Shade = PRIM in color channel
2280
2281 Generated combiners:
2282
2283 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2284 0:Color: Sub - 0, SHADE,
2285 1:Color: Add - ENV, COMBINED, -Tex1
2286 0:Alpha: Sel - TEXEL0, ,
2287 1:Alpha: MulAdd - TEXEL1, COMBINED|C, TEXEL1 -Tex1
2288
2289
2290 */
2291
2292
2293 {
2294 {0x00010600, 0x04830004, 0x02010007, 0x00020004}, // Simplified mux
2295 0x0010E5E0, 0x230B157F, // 64bit Mux
2296 2, // number of stages
2297 ENABLE_BOTH,
2298 MUX_ENV, // Constant color
2299 0x00000005, 0x00000000, 0, // Shade and specular color flags
2300 {0x00000000, 0x00000000}, // constant color texture flags
2301 {
2302 {MULADD(T0,DIF,ENV), SEL(T0), 0, true}, // Stage 0
2303 {SKIP, MULADD(CURC,T1,T1), 1, true}, // Stage 1
2304 }
2305 },
2306
2307
2308 /*
2309 //Mux=0x00117e045ffef3f8 Overflowed in RIDGE RACER 64
2310 Color0: (TEXEL0 - ENV) * TEXEL1 + ENV
2311 Color1: (COMBINED - 0) * SHADE + 0
2312 Alpha0: (0 - 0) * 0 + TEXEL0
2313 Alpha1: (0 - 0) * 0 + COMBINED
2314
2315 //Simplied Mux=0x00117e045ffef3f8 Overflowed in RIDGE RACER 64
2316 Simplied DWORDs=07040703, 03000000, 00020006, 02000000
2317 Color0: (TEXEL0 - ENV) * TEXEL1 + ENV
2318 Color1: (SHADE - 0) * COMBINED + 0
2319 Alpha0: (0 - 0) * 0 + TEXEL0
2320 Alpha1: (0 - 0) * 0 + COMBINED
2321 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2322
2323 Generated combiners:
2324
2325 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2326 0:Color: Sel - TEXEL0, ,
2327 1:Color: Lerp - COMBINED, ENV, TEXEL1 -Tex1
2328 0:Alpha: Sel - TEXEL0, ,
2329 1:Alpha: Sel - COMBINED, , -Tex1
2330
2331
2332 */
2333
2334
2335 {
2336 {0x07040703, 0x03000000, 0x00020006, 0x02000000}, // Simplified mux
2337 0, 0, // 64bit Mux
2338 2, // number of stages
2339 ENABLE_BOTH,
2340 MUX_ENV, // Constant color
2341 0x00000000, 0x00000000, 0, // Shade and specular color flags
2342 {0x00000000, 0x00000000}, // constant color texture flags
2343 {
2344 {MOD(T1,DIF), SKIP, 1, true}, // Stage 0
2345 {LERP(T0,ENV,CUR), SEL(T0), 0, true}, // Stage 1
2346 }
2347 },
2348
2349
2350 /*
2351 //Mux=0x0040b467f0fffe3e Overflowed in RIDGE RACER 64
2352 Color0: (SHADE - 0) * TEXEL0 + 0
2353 Color1: (PRIM - COMBINED) * COMBINED|A + COMBINED
2354 Alpha0: (PRIM - 0) * TEXEL1 + 0
2355 Alpha1: (0 - 0) * 0 + 1
2356
2357 //Simplied Mux=0x0040b467f0fffe3e Overflowed in RIDGE RACER 64
2358 Simplied DWORDs=00060003, 00050004, 02420205, 01000000
2359 Color0: (TEXEL0 - 0) * SHADE + 0
2360 Color1: (PRIM - COMBINED) * COMBINED|A + COMBINED
2361 Alpha0: (TEXEL1 - 0) * PRIM + 0
2362 Alpha1: (0 - 0) * 0 + 1
2363 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2364
2365 Generated combiners:
2366
2367 Stages:2, Alpha:DISABLE_ALPHA, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2368 0:Color: Mod - TEXEL0, SHADE,
2369 1:Color: BlCurA - PRIM, COMBINED, -Tex1
2370 0:Alpha: Sel - COMBINED, ,
2371 1:Alpha: Mod - TEXEL1, PRIM, -Tex1
2372
2373
2374 */
2375
2376
2377 {
2378 {0x00060003, 0x00050004, 0x02420205, 0x01000000}, // Simplified mux
2379 0, 0, // 64bit Mux
2380 2, // number of stages
2381 ENABLE_BOTH,
2382 MUX_PRIM, // Constant color
2383 0x00000000, 0x00000000, 0, // Shade and specular color flags
2384 {0x00000000, 0x00000000}, // constant color texture flags
2385 {
2386 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
2387 //{LERP(PRI,CUR,CURA), MOD(T1,PRI), 1, true}, // Stage 1
2388 {SKIP, MOD(T1,PRI), 1, true}, // Stage 1
2389 }
2390 },
2391
2392
2393 /*
2394 //Mux=0x0022aa041f0c93ff Overflowed in RIDGE RACER 64
2395 Color0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
2396 Color1: (COMBINED - 0) * SHADE + 0
2397 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
2398 Alpha1: (COMBINED - 0) * PRIM + 0
2399
2400 //Simplied Mux=0x0022aa041f0c93ff Overflowed in RIDGE RACER 64
2401 Simplied DWORDs=03070304, 03070304, 00020006, 00020006
2402 Color0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
2403 Color1: (SHADE - 0) * COMBINED + 0
2404 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
2405 Alpha1: (SHADE - 0) * COMBINED + 0
2406 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2407 Shade = PRIM in alpha channel
2408
2409 Generated combiners:
2410
2411 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2412 0:Color: Sel - TEXEL0, ,
2413 1:Color: Lerp - TEXEL1, COMBINED, ENV -Tex1
2414 0:Alpha: Sel - TEXEL0, ,
2415 1:Alpha: BlFacA - TEXEL1, COMBINED, -Tex1
2416
2417
2418 */
2419
2420
2421 {
2422 {0x03070304, 0x03070304, 0x00020006, 0x00020006}, // Simplified mux
2423 0, 0, // 64bit Mux
2424 2, // number of stages
2425 ENABLE_BOTH,
2426 MUX_ENV, // Constant color
2427 0x00000000, 0x00000005, 0, // Shade and specular color flags
2428 {0x00000000, 0x00000000}, // constant color texture flags
2429 {
2430 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
2431 {LERP(T1,CUR,ENV), LERP(T1,CUR,ENV), 1, true}, // Stage 1
2432 }
2433 },
2434
2435
2436 /*
2437 //Mux=0x0030fe045ffef3f8 Overflowed in RIDGE RACER 64
2438 Color0: (PRIM - ENV) * TEXEL0 + ENV
2439 Color1: (COMBINED - 0) * SHADE + 0
2440 Alpha0: (0 - 0) * 0 + TEXEL0
2441 Alpha1: (0 - 0) * 0 + COMBINED
2442
2443 //Simplied Mux=0x0030fe045ffef3f8 Overflowed in RIDGE RACER 64
2444 Simplied DWORDs=07030704, 03000000, 00020006, 02000000
2445 Color0: (TEXEL1 - ENV) * TEXEL0 + ENV
2446 Color1: (SHADE - 0) * COMBINED + 0
2447 Alpha0: (0 - 0) * 0 + TEXEL0
2448 Alpha1: (0 - 0) * 0 + COMBINED
2449 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2450 Tex 1 = PRIM
2451
2452 Generated combiners:
2453
2454 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2455 0:Color: Sel - TEXEL0, ,
2456 1:Color: Lerp - TEXEL1, ENV, COMBINED -Tex1
2457 0:Alpha: Sel - TEXEL0, ,
2458 1:Alpha: Sel - COMBINED, , -Tex1
2459
2460
2461 */
2462
2463
2464 {
2465 {0x07030704, 0x03000000, 0x00020006, 0x02000000}, // Simplified mux
2466 0x0030FE04, 0x5FFEF3F8, // 64bit Mux
2467 2, // number of stages
2468 ENABLE_BOTH,
2469 MUX_ENV, // Constant color
2470 0x00000000, 0x00000000, 0, // Shade and specular color flags
2471 {0x00000000, 0x00000005}, // constant color texture flags
2472 {
2473 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
2474 {LERP(T1,ENV,CUR), SKIP, 1, true}, // Stage 1
2475 }
2476 },
2477
2478
2479 /*
2480 //Mux=0x00272c041ffc93f8 Overflowed in RIDGE RACER 64
2481 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
2482 Color1: (COMBINED - 0) * SHADE + 0
2483 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
2484 Alpha1: (0 - 0) * 0 + COMBINED
2485
2486 //Simplied Mux=0x00272c041ffc93f8 Overflowed in RIDGE RACER 64
2487 Simplied DWORDs=030F0304, 04000000, 00020006, 02000000
2488 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
2489 Color1: (SHADE - 0) * COMBINED + 0
2490 Alpha0: (0 - 0) * 0 + TEXEL1
2491 Alpha1: (0 - 0) * 0 + COMBINED
2492 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2493
2494 Generated combiners:
2495
2496 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2497 0:Color: Sel - TEXEL0, ,
2498 1:Color: Lerp - TEXEL1, COMBINED, PRIMLODFRAC -Tex1
2499 0:Alpha: Sel - COMBINED, ,
2500 1:Alpha: Sel - TEXEL1, , -Tex1
2501
2502
2503 */
2504
2505
2506 {
2507 {0x030F0304, 0x04000000, 0x00020006, 0x02000000}, // Simplified mux
2508 0, 0, // 64bit Mux
2509 2, // number of stages
2510 ENABLE_BOTH,
2511 MUX_PRIMLODFRAC, // Constant color
2512 0x00000000, 0x00000000, 0, // Shade and specular color flags
2513 {0x00000000, 0x00000000}, // constant color texture flags
2514 {
2515 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
2516 {LERP(T1,CUR,PRIMLODFRAC), SEL(T1), 1, true}, // Stage 1
2517 }
2518 },
2519
2520
2521 /*
2522 //Mux=0x00272c6015fc9378 Overflowed in RIDGE RACER 64
2523 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
2524 Color1: (PRIM - ENV) * COMBINED + ENV
2525 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
2526 Alpha1: (0 - 0) * 0 + COMBINED
2527
2528 //Simplied Mux=0x00272c6015fc9378 Overflowed in RIDGE RACER 64
2529 Simplied DWORDs=030F0304, 04000000, 06020605, 02000000
2530 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
2531 Color1: (PRIM - SHADE) * COMBINED + SHADE
2532 Alpha0: (0 - 0) * 0 + TEXEL1
2533 Alpha1: (0 - 0) * 0 + COMBINED
2534 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2535 Shade = ENV in color channel
2536
2537 Generated combiners:
2538
2539 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2540 0:Color: Sel - TEXEL0, ,
2541 1:Color: Lerp - TEXEL1, COMBINED, PRIMLODFRAC -Tex1
2542 0:Alpha: Sel - COMBINED, ,
2543 1:Alpha: Sel - TEXEL1, , -Tex1
2544
2545
2546 */
2547
2548
2549 {
2550 {0x030F0304, 0x04000000, 0x06020605, 0x02000000}, // Simplified mux
2551 0x00272C60, 0x15FC9378, // 64bit Mux
2552 2, // number of stages
2553 ENABLE_BOTH,
2554 MUX_PRIMLODFRAC, // Constant color
2555 0x00000705, 0x00000000, 0, // Shade and specular color flags
2556 {0x00000000, 0x00000000}, // constant color texture flags
2557 {
2558 {MOD(DIF,T0), SKIP, 0, true}, // Stage 0
2559 {LERP(T1,CUR,PRIMLODFRAC), SEL(T1), 1, true}, // Stage 1
2560 }
2561 },
2562
2563
2564 /*
2565 //Mux=0x001516032f1125ff Overflowed in CASTLEVANIA2
2566 Color0: (TEXEL0 - TEXEL1) * PRIM|A + TEXEL1
2567 Color1: (COMBINED - 0) * PRIM + 0
2568 Alpha0: (TEXEL0 - TEXEL1) * PRIM + TEXEL1
2569 Alpha1: (COMBINED - 0) * SHADE + 0
2570
2571 //Simplied Mux=0x001516032f1125ff Overflowed in CASTLEVANIA2
2572 Simplied DWORDs=04460403, 04060403, 00020006, 00020006
2573 Color0: (TEXEL0 - TEXEL1) * SHADE|A + TEXEL1
2574 Color1: (SHADE - 0) * COMBINED + 0
2575 Alpha0: (TEXEL0 - TEXEL1) * SHADE + TEXEL1
2576 Alpha1: (SHADE - 0) * COMBINED + 0
2577 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2578 Shade = PRIM in color channel
2579 Shade = PRIM in alpha channel
2580
2581 Generated combiners:
2582
2583 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2584 0:Color: Sel - TEXEL0, ,
2585 1:Color: BlDifA - COMBINED, TEXEL1, -Tex1
2586 0:Alpha: Sel - TEXEL0, ,
2587 1:Alpha: BlDifA - COMBINED, TEXEL1, -Tex1
2588
2589
2590 */
2591
2592
2593 {
2594 {0x04460403, 0x04060403, 0x00020006, 0x00020006}, // Simplified mux
2595 0x00151603, 0x2F1125FF, // 64bit Mux
2596 2, // number of stages
2597 ENABLE_BOTH,
2598 MUX_PRIM, // Constant color
2599 0x00000000, 0x00000000, 0, // Shade and specular color flags
2600 {0x00000000, 0x00000000}, // constant color texture flags
2601 {
2602 {MOD(T0,PRI), MOD(T0,DIF), 0, true}, // Stage 0
2603 {LERP(T0,T1,PRIA), LERP(T0,T1,PRI), 1, true}, // Stage 1
2604 }
2605 },
2606
2607
2608 /*
2609 //Mux=0x001516602515257f Overflowed in CASTLEVANIA2
2610 Color0: (TEXEL0 - TEXEL1) * PRIM|A + TEXEL1
2611 Color1: (PRIM - ENV) * COMBINED + ENV
2612 Alpha0: (TEXEL0 - TEXEL1) * PRIM + TEXEL1
2613 Alpha1: (COMBINED - 0) * ENV + 0
2614
2615 //Simplied Mux=0x001516602515257f Overflowed in CASTLEVANIA2
2616 Simplied DWORDs=04450403, 04050403, 06020605, 00020006
2617 Color0: (TEXEL0 - TEXEL1) * PRIM|A + TEXEL1
2618 Color1: (PRIM - SHADE) * COMBINED + SHADE
2619 Alpha0: (TEXEL0 - TEXEL1) * PRIM + TEXEL1
2620 Alpha1: (SHADE - 0) * COMBINED + 0
2621 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2622 Shade = ENV in color channel
2623 Shade = ENV in alpha channel
2624
2625 Generated combiners:
2626
2627 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2628 0:Color: Sel - TEXEL0, ,
2629 1:Color: BlFacA - COMBINED, TEXEL1, -Tex1
2630 0:Alpha: Sel - TEXEL0, ,
2631 1:Alpha: BlFacA - COMBINED, TEXEL1, -Tex1
2632
2633
2634 */
2635
2636
2637 {
2638 {0x04450403, 0x04050403, 0x06020605, 0x00020006}, // Simplified mux
2639 0x00151660, 0x2515257F, // 64bit Mux
2640 2, // number of stages
2641 ENABLE_BOTH,
2642 MUX_PRIM, // Constant color
2643 0x00000007, 0x00000007, 0, // Shade and specular color flags
2644 {0x00000000, 0x00000000}, // constant color texture flags
2645 {
2646 {LERP(PRI,DIF,T0), MOD(T0,DIF), 0, true}, // Stage 0
2647 {LERP(T0,T1,PRIA), LERP(T0,T1,PRI), 1, true}, // Stage 1
2648 }
2649 },
2650
2651
2652 /*
2653 //Mux=0x001516032f1525ff Overflowed in CASTLEVANIA2
2654 Color0: (TEXEL0 - TEXEL1) * PRIM|A + TEXEL1
2655 Color1: (COMBINED - 0) * PRIM + 0
2656 Alpha0: (TEXEL0 - TEXEL1) * PRIM + TEXEL1
2657 Alpha1: (COMBINED - 0) * ENV + 0
2658
2659 //Simplied Mux=0x001516032f1525ff Overflowed in CASTLEVANIA2
2660 Simplied DWORDs=04460403, 04060403, 00020006, 00020007
2661 Color0: (TEXEL0 - TEXEL1) * SHADE|A + TEXEL1
2662 Color1: (SHADE - 0) * COMBINED + 0
2663 Alpha0: (TEXEL0 - TEXEL1) * SHADE + TEXEL1
2664 Alpha1: (ENV - 0) * COMBINED + 0
2665 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2666 Shade = PRIM in color channel
2667 Shade = PRIM in alpha channel
2668
2669 Generated combiners:
2670
2671 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2672 0:Color: Sel - TEXEL0, ,
2673 1:Color: BlDifA - COMBINED, TEXEL1, -Tex1
2674 0:Alpha: Sel - TEXEL0, ,
2675 1:Alpha: BlDifA - COMBINED, TEXEL1, -Tex1
2676
2677
2678 */
2679
2680
2681 {
2682 {0x04460403, 0x04060403, 0x00020006, 0x00020007}, // Simplified mux
2683 0x00151603, 0x2F1525FF, // 64bit Mux
2684 2, // number of stages
2685 ENABLE_BOTH,
2686 MUX_ENV, // Constant color
2687 0x00000005, 0x00000005, 0, // Shade and specular color flags
2688 {0x00000000, 0x00000000}, // constant color texture flags
2689 {
2690 {MOD(T0,DIF), MOD(T0,ENV), 0, true}, // Stage 0
2691 {LERP(T0,T1,DIFA), LERP(T0,T1,DIF), 1, true}, // Stage 1
2692 }
2693 },
2694
2695
2696
2697 /*
2698 //Mux=0x00ffd5fffffcf238 Overflowed in CASTLEVANIA
2699 Color0: (0 - 0) * 0 + TEXEL0
2700 Color1: (0 - 0) * 0 + COMBINED
2701 Alpha0: (ENV - 0) * TEXEL1 + TEXEL0
2702 Alpha1: (0 - 0) * 0 + COMBINED
2703
2704 //Simplied Mux=0x00ffd5fffffcf238 Overflowed in CASTLEVANIA
2705 Simplied DWORDs=03000000, 00060004, 02000000, 02010003
2706 Color0: (0 - 0) * 0 + TEXEL0
2707 Color1: (0 - 0) * 0 + COMBINED
2708 Alpha0: (TEXEL1 - 0) * SHADE + 0
2709 Alpha1: (TEXEL0 - 0) * 1 + COMBINED
2710 Simplfied type: CM_FMT_TYPE5_A_MOD_C_ADD_D
2711 Shade = ENV in alpha channel
2712
2713 Generated combiners:
2714
2715 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2716 0:Color: Sel - TEXEL0, ,
2717 1:Color: Sel - COMBINED, , -Tex1
2718 0:Alpha: Sel - COMBINED, ,
2719 1:Alpha: Mod - TEXEL1, SHADE, -Tex1
2720
2721
2722 */
2723
2724
2725 {
2726 {0x03000000, 0x00060004, 0x02000000, 0x02010003}, // Simplified mux
2727 0x00FFD5FF, 0xFFFCF238, // 64bit Mux
2728 2, // number of stages
2729 ENABLE_BOTH,
2730 MUX_ENV, // Constant color
2731 0x00000000, 0x00000000, 0, // Shade and specular color flags
2732 {0x00000000, 0x00000000}, // constant color texture flags
2733 {
2734 {SKIP, MOD(T0,DIF), 1, true}, // Stage 0
2735 {SEL(T0), ADD(T0,CUR), 0, true}, // Stage 1
2736 }
2737 },
2738
2739
2740 /*
2741 //Mux=0x0026a0041f0c93ff Overflowed in NEWTETRIS
2742 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
2743 Color1: (COMBINED - 0) * SHADE + 0
2744 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
2745 Alpha1: (COMBINED - 0) * PRIM + 0
2746
2747 //Simplied Mux=0x0026a0041f0c93ff Overflowed in NEWTETRIS
2748 Simplied DWORDs=00060003, 03060304, 02000000, 00020005
2749 Color0: (TEXEL0 - 0) * SHADE + 0
2750 Color1: (0 - 0) * 0 + COMBINED
2751 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
2752 Alpha1: (PRIM - 0) * COMBINED + 0
2753 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2754
2755 Generated combiners:
2756
2757 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2758 0:Color: Mod - TEXEL0, SHADE,
2759 1:Color: Sel - COMBINED, , -Tex1
2760 0:Alpha: Sel - TEXEL0, ,
2761 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
2762
2763
2764 */
2765
2766
2767 {
2768 {0x00060003, 0x03060304, 0x02000000, 0x00020005}, // Simplified mux
2769 0x0026A004, 0x1F0C93FF, // 64bit Mux
2770 2, // number of stages
2771 ENABLE_BOTH,
2772 MUX_LODFRAC, // Constant color
2773 0x00000000, 0x00000005, 0, // Shade and specular color flags
2774 {0x00000000, 0x00000000}, // constant color texture flags
2775 {
2776 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
2777 {LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
2778 }
2779 },
2780
2781 /*
2782 //Mux=0x0017166045fe7f78 Overflowed in DOUBUTSUNOMORI
2783 Color0: (TEXEL0 - SHADE) * PRIMLODFRAC + SHADE
2784 Color1: (PRIM - ENV) * COMBINED + ENV
2785 Alpha0: (TEXEL0 - 0) * PRIM + 0
2786 Alpha1: (0 - 0) * 0 + COMBINED
2787
2788 //Simplied Mux=0x0017166045fe7f78 Overflowed in DOUBUTSUNOMORI
2789 Simplied DWORDs=060F0603, 04000000, 07020704, 00020003
2790 Color0: (TEXEL0 - SHADE) * PRIMLODFRAC + SHADE
2791 Color1: (TEXEL1 - ENV) * COMBINED + ENV
2792 Alpha0: (0 - 0) * 0 + TEXEL1
2793 Alpha1: (TEXEL0 - 0) * COMBINED + 0
2794 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2795 Tex 1 = PRIM
2796
2797 Generated combiners:
2798
2799 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2800 0:Color: Lerp - TEXEL0, SHADE, PRIMLODFRAC
2801 1:Color: Lerp - TEXEL1, ENV, COMBINED -Tex1
2802 0:Alpha: Sel - COMBINED, ,
2803 1:Alpha: Sel - TEXEL1, , -Tex1
2804
2805
2806 */
2807
2808
2809 {
2810 {0x060F0603, 0x04000000, 0x07020704, 0x00020003}, // Simplified mux
2811 0x00171660, 0x45FE7F78, // 64bit Mux
2812 2, // number of stages
2813 ENABLE_BOTH,
2814 MUX_PRIMLODFRAC, // Constant color
2815 0x00000000, 0x00000000, 0, // Shade and specular color flags
2816 {0x00000000, 0x00000005}, // constant color texture flags
2817 {
2818 {MOD(T1,DIF), SEL(T1), 1, true}, // Stage 0
2819 {LERP(T0,CUR,PRIMLODFRAC), MOD(T0,CUR), 0, true}, // Stage 1
2820 }
2821 },
2822
2823
2824 /*
2825 //Mux=0x003095ff5f1af43f Overflowed in DOUBUTSUNOMORI
2826 Color0: (PRIM - ENV) * TEXEL0 + ENV
2827 Color1: (0 - 0) * 0 + COMBINED
2828 Alpha0: (TEXEL0 - 0) * TEXEL1 + TEXEL1
2829 Alpha1: (COMBINED - 0) * 1 + 0
2830
2831 //Simplied Mux=0x003095ff5f1af43f Overflowed in DOUBUTSUNOMORI
2832 Simplied DWORDs=06030605, 00030004, 02000000, 02010004
2833 Color0: (PRIM - SHADE) * TEXEL0 + SHADE
2834 Color1: (0 - 0) * 0 + COMBINED
2835 Alpha0: (TEXEL1 - 0) * TEXEL0 + 0
2836 Alpha1: (TEXEL1 - 0) * 1 + COMBINED
2837 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2838 Shade = ENV in color channel
2839
2840 Generated combiners:
2841
2842 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2843 0:Color: Lerp - PRIM, SHADE, TEXEL0 -Tex1
2844 1:Color: Sel - COMBINED, ,
2845 0:Alpha: Sel - TEXEL1, , -Tex1
2846 1:Alpha: Mod - TEXEL0, COMBINED,
2847
2848
2849 */
2850
2851
2852 {
2853 {0x06030605, 0x00030004, 0x02000000, 0x02010004}, // Simplified mux
2854 0x003095FF, 0x5F1AF43F, // 64bit Mux
2855 2, // number of stages
2856 ENABLE_BOTH,
2857 MUX_PRIM, // Constant color
2858 0x00000007, 0x00000000, 0, // Shade and specular color flags
2859 {0x00000000, 0x00000000}, // constant color texture flags
2860 {
2861 {LERP(PRI,DIF,T0), SEL(T0), 0, true}, // Stage 0
2862 {SKIP, MULADD(CUR,T1,T1), 1, true}, // Stage 1
2863 }
2864 },
2865
2866
2867 /*
2868 //Mux=0x003717fffffefe38 Overflowed in DOUBUTSUNOMORI
2869 Color0: (PRIM - 0) * PRIMLODFRAC + ENV
2870 Color1: (0 - 0) * 0 + COMBINED
2871 Alpha0: (TEXEL0 - 0) * PRIM + 0
2872 Alpha1: (0 - 0) * 0 + COMBINED
2873
2874 //Simplied Mux=0x003717fffffefe38 Overflowed in DOUBUTSUNOMORI
2875 Simplied DWORDs=000F0006, 00060003, 02010004, 02000000
2876 Color0: (SHADE - 0) * PRIMLODFRAC + 0
2877 Color1: (TEXEL1 - 0) * 1 + COMBINED
2878 Alpha0: (TEXEL0 - 0) * SHADE + 0
2879 Alpha1: (0 - 0) * 0 + COMBINED
2880 Simplfied type: CM_FMT_TYPE5_A_MOD_C_ADD_D
2881 Shade = PRIM in color channel
2882 Shade = PRIM in alpha channel
2883 Tex 1 = ENV
2884
2885 Generated combiners:
2886
2887 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2888 0:Color: Mod - SHADE, PRIMLODFRAC,
2889 1:Color: Add - TEXEL1, COMBINED, -Tex1
2890 0:Alpha: Mod - TEXEL0, SHADE,
2891 1:Alpha: Sel - COMBINED, , -Tex1
2892
2893
2894 */
2895
2896 {
2897 {0x000F0006, 0x00060003, 0x02010004, 0x02000000}, // Simplified mux
2898 0x003717FF, 0xFFFEFE38, // 64bit Mux
2899 2, // number of stages
2900 ENABLE_BOTH,
2901 MUX_PRIMLODFRAC, // Constant color
2902 0x00000005, 0x00000005, 0, // Shade and specular color flags
2903 {0x00000000, 0x00000007}, // constant color texture flags
2904 {
2905 {MOD(DIF,PRIMLODFRAC), MOD(T0,DIF), 0, true}, // Stage 0
2906 {ADD(T1,CUR), SKIP, 1, true}, // Stage 1
2907 }
2908 },
2909
2910
2911 /*
2912 //Mux=0x00272a8013fc92f8 Overflowed in THE LEGEND OF ZELDA
2913 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
2914 Color1: (SHADE - PRIM) * COMBINED + PRIM
2915 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
2916 Alpha1: (0 - 0) * 0 + COMBINED
2917
2918 //Simplied Mux=0x00272a8013fc92f8 Overflowed in THE LEGEND OF ZELDA
2919 Simplied DWORDs=030F0304, 03060304, 05020506, 02000000
2920 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
2921 Color1: (SHADE - PRIM) * COMBINED + PRIM
2922 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
2923 Alpha1: (0 - 0) * 0 + COMBINED
2924 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2925 Shade = ENV in alpha channel
2926
2927 Generated combiners:
2928
2929 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2930 0:Color: Sel - TEXEL0, ,
2931 1:Color: Lerp - TEXEL1, COMBINED, PRIMLODFRAC -Tex1
2932 0:Alpha: Sel - TEXEL0, ,
2933 1:Alpha: BlDifA - TEXEL1, COMBINED, -Tex1
2934
2935
2936 */
2937
2938
2939 {
2940 {0x030F0304, 0x03060304, 0x05020506, 0x02000000}, // Simplified mux
2941 0x00272A80, 0x13FC92F8, // 64bit Mux
2942 2, // number of stages
2943 ENABLE_BOTH,
2944 MUX_PRIM, // Constant color
2945 0x00000000, 0x00000007, 0, // Shade and specular color flags
2946 {0x00000000, 0x00000000}, // constant color texture flags
2947 {
2948 {LERP(DIF,PRI,T0), SEL(T0), 0, true}, // Stage 0
2949 {SKIP, LERP(T1,CUR,DIF), 1, true}, // Stage 1
2950 }
2951 },
2952
2953 /*
2954 //Mux=0x00127e60f5fffd78 Overflowed in THE LEGEND OF ZELDA
2955 Color0: (TEXEL0 - 0) * SHADE + 0
2956 Color1: (PRIM - ENV) * COMBINED + ENV
2957 Alpha0: (0 - 0) * 0 + 1
2958 Alpha1: (0 - 0) * 0 + COMBINED
2959
2960 //Simplied Mux=0x00127e60f5fffd78 Overflowed in THE LEGEND OF ZELDA
2961 Simplied DWORDs=00060003, 01000000, 07020704, 02000000
2962 Color0: (TEXEL0 - 0) * SHADE + 0
2963 Color1: (TEXEL1 - ENV) * COMBINED + ENV
2964 Alpha0: (0 - 0) * 0 + 1
2965 Alpha1: (0 - 0) * 0 + COMBINED
2966 Simplfied type: CM_FMT_TYPE6_A_LERP_B_C
2967 Tex 1 = PRIM
2968
2969 Generated combiners:
2970
2971 Stages:2, Alpha:DISABLE_ALPHA, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
2972 0:Color: Mod - TEXEL0, SHADE,
2973 1:Color: Lerp - TEXEL1, ENV, COMBINED -Tex1
2974 0:Alpha: Sel - COMBINED, ,
2975 1:Alpha: Sel - COMBINED, , -Tex1
2976
2977
2978 */
2979
2980
2981 {
2982 {0x00060003, 0x01000000, 0x07020704, 0x02000000}, // Simplified mux
2983 0x00127E60, 0xF5FFFD78, // 64bit Mux
2984 2, // number of stages
2985 DISABLE_ALPHA,
2986 MUX_ENV, // Constant color
2987 0x00000000, 0x00000000, 0, // Shade and specular color flags
2988 {0x00000000, 0x00000005}, // constant color texture flags
2989 {
2990 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
2991 {LERP(T1,ENV,CUR), SKIP, 1, true}, // Stage 1
2992 }
2993 },
2994
2995
2996 /*
2997 //Mux=0x0020ac60350c937f Overflowed in THE LEGEND OF ZELDA
2998 Color0: (TEXEL1 - PRIM) * TEXEL0 + TEXEL0
2999 Color1: (PRIM - ENV) * COMBINED + ENV
3000 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
3001 Alpha1: (COMBINED - 0) * PRIM + 0
3002
3003 //Simplied Mux=0x0020ac60350c937f Overflowed in THE LEGEND OF ZELDA
3004 Simplied DWORDs=00038604, 00060004, 07020706, 02000000
3005 Color0: (TEXEL1 - SHADE|C) * TEXEL0 + 0
3006 Color1: (SHADE - ENV) * COMBINED + ENV
3007 Alpha0: (TEXEL1 - 0) * SHADE + 0
3008 Alpha1: (0 - 0) * 0 + COMBINED
3009 Simplfied type: CM_FMT_TYPE8_A_SUB_B_MOD_C
3010 Shade = PRIM in color channel
3011 Shade = PRIM in alpha channel
3012
3013 Generated combiners:
3014
3015 Stages:2, Alpha:ENABLE_BOTH, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
3016 0:Color: Sub - TEXEL1, SHADE|C, -Tex1
3017 1:Color: Mod - COMBINED, TEXEL0,
3018 0:Alpha: Mod - TEXEL1, SHADE, -Tex1
3019 1:Alpha: Sel - COMBINED, ,
3020
3021
3022 */
3023
3024
3025 {
3026 {0x00038604, 0x00060004, 0x07020706, 0x02000000}, // Simplified mux
3027 0x0020AC60, 0x350C937F, // 64bit Mux
3028 2, // number of stages
3029 ENABLE_BOTH,
3030 MUX_ENV, // Constant color
3031 0x00000005, 0x00000005, 0, // Shade and specular color flags
3032 {0x00000000, 0x00000000}, // constant color texture flags
3033 {
3034 {LERP(DIF,ENV,T0), MOD(T0,DIF), 0, true}, // Stage 0
3035 {MOD(T1,CUR), MOD(T1,DIF), 1, true}, // Stage 1
3036 }
3037 },
3038
3039
3040 /*
3041 //Mux=0x00177e6035fcfd7e Overflowed in THE LEGEND OF ZELDA
3042 Color0: (TEXEL0 - PRIM) * PRIMLODFRAC + TEXEL0
3043 Color1: (PRIM - ENV) * COMBINED + ENV
3044 Alpha0: (0 - 0) * 0 + 1
3045 Alpha1: (0 - 0) * 0 + 1
3046
3047 //Simplied Mux=0x00177e6035fcfd7e Overflowed in THE LEGEND OF ZELDA
3048 Simplied DWORDs=030F0603, 01000000, 04020406, 02000000
3049 Color0: (TEXEL0 - SHADE) * PRIMLODFRAC + TEXEL0
3050 Color1: (SHADE - TEXEL1) * COMBINED + TEXEL1
3051 Alpha0: (0 - 0) * 0 + 1
3052 Alpha1: (0 - 0) * 0 + COMBINED
3053 Simplfied type: Color0
3054 Shade = PRIM in color channel
3055 Tex 1 = ENV
3056
3057 Generated combiners:
3058
3059 Stages:2, Alpha:DISABLE_ALPHA, Factor:0, Specular:0 Dif Color:0xCCCCCCCC Dif Alpha:0xCCCCCCCC
3060 0:Color: Lerp - TEXEL0, SHADE, PRIMLODFRAC
3061 1:Color: Lerp - SHADE, TEXEL1, COMBINED -Tex1
3062 0:Alpha: Sel - COMBINED, ,
3063 1:Alpha: Sel - COMBINED, , -Tex1
3064
3065
3066 */
3067
3068
3069 {
3070 {0x030F0603, 0x01000000, 0x04020406, 0x02000000}, // Simplified mux
3071 0x00177E60, 0x35FCFD7E, // 64bit Mux
3072 2, // number of stages
3073 DISABLE_ALPHA,
3074 MUX_PRIMLODFRAC, // Constant color
3075 0x00000005, 0x00000000, 0, // Shade and specular color flags
3076 {0x00000000, 0x00000007}, // constant color texture flags
3077 {
3078 {LERP(T0,DIF,PRIMLODFRAC), SKIP, 0, true}, // Stage 0
3079 {LERP(DIF,T1,CUR), SKIP, 0, true}, // Stage 1
3080 }
3081 },
3082
3083
3084 /*
3085 //Mux=0x00276c6035d8ed76 Overflowed in THE LEGEND OF ZELDA
3086 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
3087 Color1: (PRIM - ENV) * COMBINED + ENV
3088 Alpha0: (1 - 1) * 1 + 1
3089 Alpha1: (1 - 1) * 1 + 1
3090 //Simplied Mux=0x00276c6035d8ed76 Overflowed in THE LEGEND OF ZELDA
3091 Simplied DWORDs=030F0604, 01000000, 07020706, 02000000Color0: (TEXEL1 - SHADE) * PRIMLODFRAC + TEXEL0
3092 Color1: (SHADE - ENV) * COMBINED + ENV
3093 Alpha0: (0 - 0) * 0 + 1
3094 Alpha1: (0 - 0) * 0 + COMBINED
3095 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
3096 */
3097
3098
3099 {
3100 {0x030F0604, 0x01000000, 0x07020706, 0x02000000}, // Simplified mux
3101 0x00276C60, 0x35D8ED76, // 64bit Mux
3102 2, // number of stages
3103 DISABLE_ALPHA,
3104 MUX_PRIMLODFRAC, // Constant color
3105 0x00000005, 0x00000000, 0, // Shade and specular color flags
3106 {0x00000000, 0x00000000}, // constant color texture flags
3107 {
3108 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
3109 {LERP(T1,CUR,PRIMLODFRAC), SKIP, 1, true}, // Stage 1
3110 }
3111 },
3112
3113 /*
3114 //Mux=0x00277e60150cf37f Overflowed in THE LEGEND OF ZELDA
3115 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3116 Color1: (PRIM - ENV) * COMBINED + ENV
3117 Alpha0: (0 - 0) * 0 + TEXEL0
3118 Alpha1: (COMBINED - 0) * PRIM + 0
3119
3120 //Simplied Mux=0x00277e60150cf37f Overflowed in THE LEGEND OF ZELDA
3121 Simplied DWORDs=030F0304, 00060003, 06020605, 02000000Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3122 Color1: (PRIM - SHADE) * COMBINED + SHADE
3123 Alpha0: (TEXEL0 - 0) * SHADE + 0
3124 Alpha1: (0 - 0) * 0 + COMBINED
3125 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3126 */
3127
3128
3129 {
3130 {0x030F0304, 0x00060003, 0x06020605, 0x02000000}, // Simplified mux
3131 0x00277E60, 0x150CF37F, // 64bit Mux
3132 2, // number of stages
3133 ENABLE_BOTH,
3134 MUX_PRIMLODFRAC, // Constant color
3135 0x00000007, 0x00000005, 0, // Shade and specular color flags
3136 {0x00000000, 0x00000000}, // constant color texture flags
3137 {
3138 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
3139 {LERP(T1,CUR,PRIMLODFRAC), SKIP, 1, true}, // Stage 1
3140 }
3141 },
3142
3143 /*
3144 //Mux=0x001596a430fdfe38 Overflowed in Diddy Kong Racing
3145 Color0: (TEXEL0 - PRIM) * SHADE|A + PRIM
3146 Color1: (ENV - COMBINED) * SHADE + COMBINED
3147 Alpha0: (TEXEL0 - 0) * PRIM + 0
3148 Alpha1: (0 - 0) * 0 + COMBINED
3149
3150
3151 //Simplied Mux=0x001596a430fdfe38 Overflowed in Diddy Kong Racing
3152 Simplied DWORDs=04460403, 04000000, 02060207, 00020003Color0: (TEXEL0 - TEXEL1) * SHADE|A + TEXEL1
3153 Color1: (ENV - COMBINED) * SHADE + COMBINED
3154 Alpha0: (0 - 0) * 0 + TEXEL1
3155 Alpha1: (TEXEL0 - 0) * COMBINED + 0
3156 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3157 */
3158
3159
3160 {
3161 {0x04460403, 0x04000000, 0x02060207, 0x00020003}, // Simplified mux
3162 0x001596A4, 0x30FDFE38, // 64bit Mux
3163 2, // number of stages
3164 ENABLE_BOTH,
3165 MUX_PRIM, // Constant color
3166 0x00000000, 0x00000000, 0, // Shade and specular color flags
3167 {0x00000000, 0x00000007}, // constant color texture flags
3168 {
3169 {LERP(T0,PRI,DIFA), MOD(T0,PRI), 0, true}, // Stage 0
3170 {LERP(T1,CUR,DIF), SKIP, 1, true}, // Stage 1
3171 }
3172 },
3173
3174 /*
3175 //Mux=0x001218acf00ffe3f Overflowed in Diddy Kong Racing
3176 Color0: (TEXEL0 - 0) * SHADE + 0
3177 Color1: (ENV - COMBINED) * ENV|A + COMBINED
3178 Alpha0: (TEXEL0 - 0) * SHADE + 0
3179 Alpha1: (COMBINED - 0) * PRIM + 0
3180
3181
3182 //Simplied Mux=0x001218acf00ffe3f Overflowed in Diddy Kong Racing
3183 Simplied DWORDs=00060003, 00060003, 02470207, 00020004Color0: (TEXEL0 - 0) * SHADE + 0
3184 Color1: (ENV - COMBINED) * ENV|A + COMBINED
3185 Alpha0: (TEXEL0 - 0) * SHADE + 0
3186 Alpha1: (TEXEL1 - 0) * COMBINED + 0
3187 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3188 */
3189
3190
3191 {
3192 {0x00060003, 0x00060003, 0x02470207, 0x00020004}, // Simplified mux
3193 0x001218AC, 0xF00FFE3F, // 64bit Mux
3194 2, // number of stages
3195 ENABLE_BOTH,
3196 MUX_ENV, // Constant color
3197 0x00000000, 0x00000000, 0, // Shade and specular color flags
3198 {0x00000000, 0x00000005}, // constant color texture flags
3199 {
3200 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
3201 {LERP(ENV,CUR,ENVA), MOD(T1,CUR), 1, true}, // Stage 1
3202 }
3203 },
3204
3205 /*
3206 //Mux=0x002266ac1010923f Overflowed in Diddy Kong Racing
3207 Color0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
3208 Color1: (ENV - COMBINED) * ENV|A + COMBINED
3209 Alpha0: (1 - TEXEL0) * PRIM + TEXEL0
3210 Alpha1: (COMBINED - 0) * SHADE + 0
3211
3212
3213 //Simplied Mux=0x002266ac1010923f Overflowed in Diddy Kong Racing
3214 Simplied DWORDs=03060304, 03050301, 02470207, 00020006Color0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
3215 Color1: (ENV - COMBINED) * ENV|A + COMBINED
3216 Alpha0: (1 - TEXEL0) * PRIM + TEXEL0
3217 Alpha1: (SHADE - 0) * COMBINED + 0
3218 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3219 */
3220
3221
3222 {
3223 {0x03060304, 0x03050301, 0x02470207, 0x00020006}, // Simplified mux
3224 0x002266AC, 0x1010923F, // 64bit Mux
3225 2, // number of stages
3226 ENABLE_BOTH,
3227 MUX_ENV, // Constant color
3228 0x00000000, 0x00000000, 0, // Shade and specular color flags
3229 {0x00000000, 0x00000000}, // constant color texture flags
3230 {
3231 {LERP(ENV,T0,ENVA), MOD(T0,DIF), 0, true}, // Stage 0
3232 {LERP(T1,CUR,DIF), SKIP, 1, true}, // Stage 1
3233 }
3234 },
3235
3236 /*
3237 //Mux=0x0030fe045ffefbf8 Overflowed in F-ZERO X
3238 Color0: (PRIM - ENV) * TEXEL0 + ENV
3239 Color1: (COMBINED - 0) * SHADE + 0
3240 Alpha0: (0 - 0) * 0 + ENV
3241 Alpha1: (0 - 0) * 0 + COMBINED
3242
3243
3244 //Simplied Mux=0x0030fe045ffefbf8 Overflowed in F-ZERO X
3245 Simplied DWORDs=07030704, 06000000, 00020006, 02000000Color0: (TEXEL1 - ENV) * TEXEL0 + ENV
3246 Color1: (SHADE - 0) * COMBINED + 0
3247 Alpha0: (0 - 0) * 0 + SHADE
3248 Alpha1: (0 - 0) * 0 + COMBINED
3249 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3250 */
3251
3252
3253 {
3254 {0x07030704, 0x06000000, 0x00020006, 0x02000000}, // Simplified mux
3255 0x0030FE04, 0x5FFEFBF8, // 64bit Mux
3256 2, // number of stages
3257 ENABLE_BOTH,
3258 MUX_ENV, // Constant color
3259 0x00000000, 0x00000000, 0, // Shade and specular color flags
3260 {0x00000000, 0x00000005}, // constant color texture flags
3261 {
3262 {MOD(T0,DIF), SEL(ENV), 0, true}, // Stage 0
3263 {LERP(T1,ENV,CUR), SKIP, 1, true}, // Stage 1
3264 }
3265 },
3266
3267 /*
3268 //Mux=0x0026a0801f0c93ff Overflowed in ROCKETROBOTONWHEELS
3269 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
3270 Color1: (SHADE - 0) * COMBINED + 0
3271 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
3272 Alpha1: (COMBINED - 0) * PRIM + 0
3273
3274
3275 //Simplied Mux=0x0026a0801f0c93ff Overflowed in ROCKETROBOTONWHEELS
3276 Simplied DWORDs=030E0304, 03060304, 00020006, 00020005Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
3277 Color1: (SHADE - 0) * COMBINED + 0
3278 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
3279 Alpha1: (PRIM - 0) * COMBINED + 0
3280 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3281 */
3282
3283
3284 {
3285 {0x030E0304, 0x03060304, 0x00020006, 0x00020005}, // Simplified mux
3286 0x0026A080, 0x1F0C93FF, // 64bit Mux
3287 2, // number of stages
3288 ENABLE_BOTH,
3289 MUX_LODFRAC, // Constant color
3290 0x00000000, 0x00000005, 0, // Shade and specular color flags
3291 {0x00000000, 0x00000000}, // constant color texture flags
3292 {
3293 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
3294 {LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
3295 }
3296 },
3297
3298 /*
3299 //Mux=0x00272c60150c937f Overflowed in POKEMON STADIUM
3300 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3301 Color1: (PRIM - ENV) * COMBINED + ENV
3302 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
3303 Alpha1: (COMBINED - 0) * PRIM + 0
3304
3305
3306 //Simplied Mux=0x00272c60150c937f Overflowed in POKEMON STADIUM
3307 Simplied DWORDs=030F0304, 00060004, 06020605, 02000000Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3308 Color1: (PRIM - SHADE) * COMBINED + SHADE
3309 Alpha0: (TEXEL1 - 0) * SHADE + 0
3310 Alpha1: (0 - 0) * 0 + COMBINED
3311 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3312 */
3313
3314
3315 {
3316 {0x030F0304, 0x00060004, 0x06020605, 0x02000000}, // Simplified mux
3317 0x00272C60, 0x150C937F, // 64bit Mux
3318 2, // number of stages
3319 ENABLE_BOTH,
3320 MUX_PRIMLODFRAC, // Constant color
3321 0x00000007, 0x00000005, 0, // Shade and specular color flags
3322 {0x00000000, 0x00000000}, // constant color texture flags
3323 {
3324 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
3325 {LERP(T1,CUR,PRIMLODFRAC), MOD(T1,DIF), 1, true}, // Stage 1
3326 }
3327 },
3328
3329 /*
3330 //Mux=0x00162a0325fe13f8 Overflowed in POKEMON STADIUM
3331 Color0: (TEXEL0 - TEXEL1) * ENV|A + SHADE
3332 Color1: (COMBINED - ENV) * PRIM + 0
3333 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
3334 Alpha1: (0 - 0) * 0 + COMBINED
3335
3336
3337 //Simplied Mux=0x00162a0325fe13f8 Overflowed in POKEMON STADIUM
3338 Simplied DWORDs=06460403, 03060304, 00050702, 02000000Color0: (TEXEL0 - TEXEL1) * SHADE|A + SHADE
3339 Color1: (COMBINED - ENV) * PRIM + 0
3340 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
3341 Alpha1: (0 - 0) * 0 + COMBINED
3342 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
3343 */
3344
3345
3346 {
3347 {0x06460403, 0x03060304, 0x00050702, 0x02000000}, // Simplified mux
3348 0x00162A03, 0x25FE13F8, // 64bit Mux
3349 2, // number of stages
3350 ENABLE_BOTH,
3351 MUX_ENV, // Constant color
3352 0x00000000, 0x00000000, 0, // Shade and specular color flags
3353 {0x00000000, 0x00000000}, // constant color texture flags
3354 {
3355 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
3356 {LERP(CUR,T1,ENVA), LERP(T1,CUR,ENV), 1, true}, // Stage 1
3357 }
3358 },
3359
3360 /*
3361 //Mux=0x00167e03f5fe77f8 Overflowed in POKEMON STADIUM
3362 Color0: (TEXEL0 - 0) * ENV|A + SHADE
3363 Color1: (COMBINED - ENV) * PRIM + 0
3364 Alpha0: (0 - 0) * 0 + PRIM
3365 Alpha1: (0 - 0) * 0 + COMBINED
3366
3367
3368 //Simplied Mux=0x00167e03f5fe77f8 Overflowed in POKEMON STADIUM
3369 Simplied DWORDs=06470003, 04000000, 00040702, 02000000Color0: (TEXEL0 - 0) * ENV|A + SHADE
3370 Color1: (COMBINED - ENV) * TEXEL1 + 0
3371 Alpha0: (0 - 0) * 0 + TEXEL1
3372 Alpha1: (0 - 0) * 0 + COMBINED
3373 Simplfied type: CM_FMT_TYPE8_A_SUB_B_MOD_CGenerated combiners:
3374 */
3375
3376
3377 {
3378 {0x06470003, 0x04000000, 0x00040702, 0x02000000}, // Simplified mux
3379 0x00167E03, 0xF5FE77F8, // 64bit Mux
3380 2, // number of stages
3381 ENABLE_BOTH,
3382 MUX_ENV, // Constant color
3383 0x00000000, 0x00000000, 0, // Shade and specular color flags
3384 {0x00000000, 0x00000005}, // constant color texture flags
3385 {
3386 {MULADD(T0,ENVA,DIF), SKIP, 0, true}, // Stage 0
3387 {MOD(CUR,T1), SEL(T1), 1, true}, // Stage 1
3388 }
3389 },
3390
3391 /*
3392 //Mux=0x002698801514feff Overflowed in CONKER BFD
3393 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
3394 Color1: (SHADE - ENV) * COMBINED + PRIM
3395 Alpha0: (TEXEL0 - 0) * SHADE + 0
3396 Alpha1: (COMBINED - 0) * ENV + 0
3397
3398
3399 //Simplied Mux=0x002698801514feff Overflowed in CONKER BFD
3400 Simplied DWORDs=00030706, 00060003, 02010004, 00020007Color0: (SHADE - ENV) * TEXEL0 + 0
3401 Color1: (TEXEL1 - 0) * 1 + COMBINED
3402 Alpha0: (TEXEL0 - 0) * SHADE + 0
3403 Alpha1: (ENV - 0) * COMBINED + 0
3404 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDShade = 00000706 in color channelGenerated combiners:
3405 */
3406
3407
3408 {
3409 {0x00030706, 0x00060003, 0x02010004, 0x00020007}, // Simplified mux
3410 0x00269880, 0x1514FEFF, // 64bit Mux
3411 2, // number of stages
3412 ENABLE_BOTH,
3413 MUX_LODFRAC, // Constant color
3414 0x00000706, 0x00070006, 0, // Shade and specular color flags
3415 {0x00000000, 0x00000000}, // constant color texture flags
3416 {
3417 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
3418 {LERP(T1,CUR,LODFRAC), SKIP, 1, true}, // Stage 1
3419 }
3420 },
3421
3422 /*
3423 //Mux=0x00127e04f513f4ff Overflowed in CONKER BFD
3424 Color0: (TEXEL0 - 0) * SHADE + 0
3425 Color1: (COMBINED - ENV) * SHADE + PRIM
3426 Alpha0: (0 - 0) * 0 + TEXEL1
3427 Alpha1: (COMBINED - 0) * SHADE + 0
3428
3429
3430 //Simplied Mux=0x00127e04f513f4ff Overflowed in CONKER BFD
3431 Simplied DWORDs=00060003, 00060004, 05060702, 02000000Color0: (TEXEL0 - 0) * SHADE + 0
3432 Color1: (COMBINED - ENV) * SHADE + PRIM
3433 Alpha0: (TEXEL1 - 0) * SHADE + 0
3434 Alpha1: (0 - 0) * 0 + COMBINED
3435 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
3436 */
3437
3438
3439 {
3440 {0x00060003, 0x00060004, 0x05060702, 0x02000000}, // Simplified mux
3441 0x00127E04, 0xF513F4FF, // 64bit Mux
3442 2, // number of stages
3443 ENABLE_BOTH,
3444 MUX_PRIM, // Constant color
3445 0x00000000, 0x00000000, 0, // Shade and specular color flags
3446 {0x00000000, 0x00000000}, // constant color texture flags
3447 {
3448 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
3449 {MULADD(CUR,DIF,PRI), MOD(T1,DIF), 1, true}, // Stage 1
3450 }
3451 },
3452
3453 /*
3454 //Mux=0x00277e60350cf37f Overflowed in THE MASK OF MUJURA
3455 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
3456 Color1: (PRIM - ENV) * COMBINED + ENV
3457 Alpha0: (0 - 0) * 0 + TEXEL0
3458 Alpha1: (COMBINED - 0) * PRIM + 0
3459
3460
3461 //Simplied Mux=0x00277e60350cf37f Overflowed in THE MASK OF MUJURA
3462 Simplied DWORDs=030F0604, 00060003, 07020706, 02000000Color0: (TEXEL1 - SHADE) * PRIMLODFRAC + TEXEL0
3463 Color1: (SHADE - ENV) * COMBINED + ENV
3464 Alpha0: (TEXEL0 - 0) * SHADE + 0
3465 Alpha1: (0 - 0) * 0 + COMBINED
3466 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
3467 */
3468
3469
3470 {
3471 {0x030F0604, 0x00060003, 0x07020706, 0x02000000}, // Simplified mux
3472 0x00277E60, 0x350CF37F, // 64bit Mux
3473 2, // number of stages
3474 ENABLE_BOTH,
3475 MUX_PRIMLODFRAC, // Constant color
3476 0x00000005, 0x00000005, 0, // Shade and specular color flags
3477 {0x00000000, 0x00000000}, // constant color texture flags
3478 {
3479 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
3480 {MULADD(T1,PRIMLODFRAC,CUR), SKIP, 1, true}, // Stage 1
3481 }
3482 },
3483
3484 /*
3485 //Mux=0x00272c041f0c93ff Overflowed in THE MASK OF MUJURA
3486 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3487 Color1: (COMBINED - 0) * SHADE + 0
3488 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
3489 Alpha1: (COMBINED - 0) * PRIM + 0
3490
3491
3492 //Simplied Mux=0x00272c041f0c93ff Overflowed in THE MASK OF MUJURA
3493 Simplied DWORDs=030F0304, 00060004, 00020006, 02000000Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3494 Color1: (SHADE - 0) * COMBINED + 0
3495 Alpha0: (TEXEL1 - 0) * SHADE + 0
3496 Alpha1: (0 - 0) * 0 + COMBINED
3497 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3498 */
3499
3500
3501 {
3502 {0x030F0304, 0x00060004, 0x00020006, 0x02000000}, // Simplified mux
3503 0x00272C04, 0x1F0C93FF, // 64bit Mux
3504 2, // number of stages
3505 ENABLE_BOTH,
3506 MUX_PRIMLODFRAC, // Constant color
3507 0x00000000, 0x00000005, 0, // Shade and specular color flags
3508 {0x00000000, 0x00000000}, // constant color texture flags
3509 {
3510 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
3511 {LERP(T1,CUR,PRIMLODFRAC), MOD(T1,DIF), 1, true}, // Stage 1
3512 }
3513 },
3514
3515 /*
3516 //Mux=0x002714041f0cffff Overflowed in THE MASK OF MUJURA
3517 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3518 Color1: (COMBINED - 0) * SHADE + 0
3519 Alpha0: (TEXEL0 - 0) * TEXEL1 + 0
3520 Alpha1: (COMBINED - 0) * PRIM + 0
3521
3522
3523 //Simplied Mux=0x002714041f0cffff Overflowed in THE MASK OF MUJURA
3524 Simplied DWORDs=030F0304, 00060003, 00020006, 00020004Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3525 Color1: (SHADE - 0) * COMBINED + 0
3526 Alpha0: (TEXEL0 - 0) * SHADE + 0
3527 Alpha1: (TEXEL1 - 0) * COMBINED + 0
3528 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3529 */
3530
3531
3532 {
3533 {0x030F0304, 0x00060003, 0x00020006, 0x00020004}, // Simplified mux
3534 0x00271404, 0x1F0CFFFF, // 64bit Mux
3535 2, // number of stages
3536 ENABLE_BOTH,
3537 MUX_PRIMLODFRAC, // Constant color
3538 0x00000000, 0x00000005, 0, // Shade and specular color flags
3539 {0x00000000, 0x00000000}, // constant color texture flags
3540 {
3541 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
3542 {LERP(T1,CUR,PRIMLODFRAC), MOD(T1,CUR), 1, true}, // Stage 1
3543 }
3544 },
3545
3546 /*
3547 //Mux=0x002722041f0cffff Overflowed in THE MASK OF MUJURA
3548 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3549 Color1: (COMBINED - 0) * SHADE + 0
3550 Alpha0: (TEXEL1 - 0) * TEXEL0 + 0
3551 Alpha1: (COMBINED - 0) * PRIM + 0
3552
3553
3554 //Simplied Mux=0x002722041f0cffff Overflowed in THE MASK OF MUJURA
3555 Simplied DWORDs=030F0304, 00060004, 00020006, 00020003Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3556 Color1: (SHADE - 0) * COMBINED + 0
3557 Alpha0: (TEXEL1 - 0) * SHADE + 0
3558 Alpha1: (TEXEL0 - 0) * COMBINED + 0
3559 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3560 */
3561
3562
3563 {
3564 {0x030F0304, 0x00060004, 0x00020006, 0x00020003}, // Simplified mux
3565 0x00272204, 0x1F0CFFFF, // 64bit Mux
3566 2, // number of stages
3567 ENABLE_BOTH,
3568 MUX_PRIMLODFRAC, // Constant color
3569 0x00000000, 0x00000005, 0, // Shade and specular color flags
3570 {0x00000000, 0x00000000}, // constant color texture flags
3571 {
3572 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
3573 {LERP(T1,CUR,PRIMLODFRAC), MOD(T1,CUR), 1, true}, // Stage 1
3574 }
3575 },
3576
3577 /*
3578 //Mux=0x00272c603510f37f Overflowed in THE MASK OF MUJURA
3579 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
3580 Color1: (PRIM - ENV) * COMBINED + ENV
3581 Alpha0: (TEXEL1 - 0) * 1 + TEXEL0
3582 Alpha1: (COMBINED - 0) * SHADE + 0
3583
3584
3585 //Simplied Mux=0x00272c603510f37f Overflowed in THE MASK OF MUJURA
3586 Simplied DWORDs=030F0604, 04010003, 07020706, 00020006Color0: (TEXEL1 - SHADE) * PRIMLODFRAC + TEXEL0
3587 Color1: (SHADE - ENV) * COMBINED + ENV
3588 Alpha0: (TEXEL0 - 0) * 1 + TEXEL1
3589 Alpha1: (SHADE - 0) * COMBINED + 0
3590 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
3591 */
3592
3593
3594 {
3595 {0x030F0604, 0x04010003, 0x07020706, 0x00020006}, // Simplified mux
3596 0x00272C60, 0x3510F37F, // 64bit Mux
3597 2, // number of stages
3598 ENABLE_BOTH,
3599 MUX_PRIMLODFRAC, // Constant color
3600 0x00000005, 0x00000000, 0, // Shade and specular color flags
3601 {0x00000000, 0x00000000}, // constant color texture flags
3602 {
3603 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
3604 {MULADD(T1,PRIMLODFRAC,CUR), MOD(T1,CUR), 1, true}, // Stage 1
3605 }
3606 },
3607
3608 /*
3609 //Mux=0x00209204ff0fffff Overflowed in THE MASK OF MUJURA
3610 Color0: (TEXEL1 - 0) * TEXEL0 + 0
3611 Color1: (COMBINED - 0) * SHADE + 0
3612 Alpha0: (TEXEL0 - 0) * TEXEL0 + 0
3613 Alpha1: (COMBINED - 0) * PRIM + 0
3614
3615
3616 //Simplied Mux=0x00209204ff0fffff Overflowed in THE MASK OF MUJURA
3617 Simplied DWORDs=00060004, 00030003, 00020003, 00020005Color0: (TEXEL1 - 0) * SHADE + 0
3618 Color1: (TEXEL0 - 0) * COMBINED + 0
3619 Alpha0: (TEXEL0 - 0) * TEXEL0 + 0
3620 Alpha1: (PRIM - 0) * COMBINED + 0
3621 Simplfied type: CM_FMT_TYPE2_A_ADD_DGenerated combiners:
3622 */
3623
3624
3625 {
3626 {0x00060004, 0x00030003, 0x00020003, 0x00020005}, // Simplified mux
3627 0x00209204, 0xFF0FFFFF, // 64bit Mux
3628 2, // number of stages
3629 ENABLE_BOTH,
3630 MUX_PRIM, // Constant color
3631 0x00000000, 0x00000000, 0, // Shade and specular color flags
3632 {0x00000000, 0x00000000}, // constant color texture flags
3633 {
3634 {MOD(T0,DIF), MOD(T0,T0), 0, true}, // Stage 0
3635 {MOD(T1,CUR), MOD(PRI,CUR), 1, true}, // Stage 1
3636 }
3637 },
3638
3639 /*
3640 //Mux=0x002714031f0cffff Overflowed in THE MASK OF MUJURA
3641 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3642 Color1: (COMBINED - 0) * PRIM + 0
3643 Alpha0: (TEXEL0 - 0) * TEXEL1 + 0
3644 Alpha1: (COMBINED - 0) * PRIM + 0
3645
3646
3647 //Simplied Mux=0x002714031f0cffff Overflowed in THE MASK OF MUJURA
3648 Simplied DWORDs=030F0304, 00060003, 00020006, 00020004Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3649 Color1: (SHADE - 0) * COMBINED + 0
3650 Alpha0: (TEXEL0 - 0) * SHADE + 0
3651 Alpha1: (TEXEL1 - 0) * COMBINED + 0
3652 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3653 */
3654
3655
3656 {
3657 {0x030F0304, 0x00060003, 0x00020006, 0x00020004}, // Simplified mux
3658 0x00271403, 0x1F0CFFFF, // 64bit Mux
3659 2, // number of stages
3660 ENABLE_BOTH,
3661 MUX_PRIMLODFRAC, // Constant color
3662 0x00000005, 0x00000005, 0, // Shade and specular color flags
3663 {0x00000000, 0x00000000}, // constant color texture flags
3664 {
3665 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
3666 {LERP(T1,T0,PRIMLODFRAC), MOD(T1,CUR), 1, true}, // Stage 1
3667 }
3668 },
3669
3670 /*
3671 //Mux=0x00272c031f1093ff Overflowed in THE MASK OF MUJURA
3672 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3673 Color1: (COMBINED - 0) * PRIM + 0
3674 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
3675 Alpha1: (COMBINED - 0) * SHADE + 0
3676
3677
3678 //Simplied Mux=0x00272c031f1093ff Overflowed in THE MASK OF MUJURA
3679 Simplied DWORDs=030F0304, 00060004, 00020006, 02000000Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3680 Color1: (SHADE - 0) * COMBINED + 0
3681 Alpha0: (TEXEL1 - 0) * SHADE + 0
3682 Alpha1: (0 - 0) * 0 + COMBINED
3683 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3684 */
3685
3686
3687 {
3688 {0x030F0304, 0x00060004, 0x00020006, 0x02000000}, // Simplified mux
3689 0x00272C03, 0x1F1093FF, // 64bit Mux
3690 2, // number of stages
3691 ENABLE_BOTH,
3692 MUX_PRIMLODFRAC, // Constant color
3693 0x00000005, 0x00000000, 0, // Shade and specular color flags
3694 {0x00000000, 0x00000000}, // constant color texture flags
3695 {
3696 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
3697 {LERP(T1,CUR,PRIMLODFRAC), MOD(T1,DIF), 1, true}, // Stage 1
3698 }
3699 },
3700
3701 /*
3702 //Mux=0x0012fe043ffe77f8 Overflowed in THE MASK OF MUJURA
3703 Color0: (TEXEL0 - PRIM) * ENV + SHADE
3704 Color1: (COMBINED - 0) * SHADE + 0
3705 Alpha0: (0 - 0) * 0 + PRIM
3706 Alpha1: (0 - 0) * 0 + COMBINED
3707
3708
3709 //Simplied Mux=0x0012fe043ffe77f8 Overflowed in THE MASK OF MUJURA
3710 Simplied DWORDs=06070403, 04000000, 00020006, 02000000Color0: (TEXEL0 - TEXEL1) * ENV + SHADE
3711 Color1: (SHADE - 0) * COMBINED + 0
3712 Alpha0: (0 - 0) * 0 + TEXEL1
3713 Alpha1: (0 - 0) * 0 + COMBINED
3714 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
3715 */
3716
3717
3718 {
3719 {0x06070403, 0x04000000, 0x00020006, 0x02000000}, // Simplified mux
3720 0x0012FE04, 0x3FFE77F8, // 64bit Mux
3721 2, // number of stages
3722 ENABLE_BOTH,
3723 MUX_ENV, // Constant color
3724 0x00000000, 0x00000005, 0, // Shade and specular color flags
3725 {0x00000000, 0x00000000}, // constant color texture flags
3726 {
3727 {MULADD(T0,ENV,DIF), SEL(DIF), 0, true}, // Stage 0
3728 {MOD(CUR,DIF), SKIP, 0, false}, // Stage 1
3729 }
3730 },
3731
3732 /*
3733 //Mux=0x0020fe05f3fff738 Overflowed in THE MASK OF MUJURA
3734 Color0: (TEXEL1 - 0) * TEXEL0 + 0
3735 Color1: (COMBINED - PRIM) * ENV + SHADE
3736 Alpha0: (0 - 0) * 0 + PRIM
3737 Alpha1: (0 - 0) * 0 + COMBINED
3738
3739
3740 //Simplied Mux=0x0020fe05f3fff738 Overflowed in THE MASK OF MUJURA
3741 Simplied DWORDs=00030004, 06000000, 06070502, 02000000Color0: (TEXEL1 - 0) * TEXEL0 + 0
3742 Color1: (COMBINED - PRIM) * ENV + SHADE
3743 Alpha0: (0 - 0) * 0 + SHADE
3744 Alpha1: (0 - 0) * 0 + COMBINED
3745 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
3746 */
3747
3748
3749 {
3750 {0x00030004, 0x06000000, 0x06070502, 0x02000000}, // Simplified mux
3751 0x0020FE05, 0xF3FFF738, // 64bit Mux
3752 2, // number of stages
3753 ENABLE_BOTH,
3754 MUX_ENV, // Constant color
3755 0x00000000, 0x00000005, 0, // Shade and specular color flags
3756 {0x00000000, 0x00000000}, // constant color texture flags
3757 {
3758 {MOD(T0,ENV), SEL(DIF), 0, true}, // Stage 0
3759 {MULADD(T1,CUR,DIF), SKIP, 1, true}, // Stage 1
3760 }
3761 },
3762
3763 /*
3764 //Mux=0x0012fe043f1677ff Overflowed in THE MASK OF MUJURA
3765 Color0: (TEXEL0 - PRIM) * ENV + SHADE
3766 Color1: (COMBINED - 0) * SHADE + 0
3767 Alpha0: (0 - 0) * 0 + PRIM
3768 Alpha1: (COMBINED - 0) * ENV + 0
3769
3770
3771 //Simplied Mux=0x0012fe043f1677ff Overflowed in THE MASK OF MUJURA
3772 Simplied DWORDs=06070403, 00070004, 00020006, 02000000Color0: (TEXEL0 - TEXEL1) * ENV + SHADE
3773 Color1: (SHADE - 0) * COMBINED + 0
3774 Alpha0: (TEXEL1 - 0) * ENV + 0
3775 Alpha1: (0 - 0) * 0 + COMBINED
3776 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
3777 */
3778
3779
3780 {
3781 {0x06070403, 0x00070004, 0x00020006, 0x02000000}, // Simplified mux
3782 0x0012FE04, 0x3F1677FF, // 64bit Mux
3783 2, // number of stages
3784 ENABLE_BOTH,
3785 MUX_ENV, // Constant color
3786 0x00000000, 0x00000005, 0, // Shade and specular color flags
3787 {0x00000000, 0x00000000}, // constant color texture flags
3788 {
3789 {MULADD(T0,ENV,DIF), MOD(DIF,ENV), 0, true}, // Stage 0
3790 {MOD(CUR,DIF), SKIP, 0, false}, // Stage 1
3791 }
3792 },
3793
3794 /*
3795 //Mux=0x0011fe04ff17f7ff Overflowed in THE MASK OF MUJURA
3796 Color0: (TEXEL0 - 0) * PRIM + 0
3797 Color1: (COMBINED - 0) * SHADE + 0
3798 Alpha0: (0 - 0) * 0 + PRIM
3799 Alpha1: (COMBINED - 0) * ENV + 0
3800
3801
3802 //Simplied Mux=0x0011fe04ff17f7ff Overflowed in THE MASK OF MUJURA
3803 Simplied DWORDs=00030006, 00070004, 00020004, 02000000Color0: (SHADE - 0) * TEXEL0 + 0
3804 Color1: (TEXEL1 - 0) * COMBINED + 0
3805 Alpha0: (TEXEL1 - 0) * ENV + 0
3806 Alpha1: (0 - 0) * 0 + COMBINED
3807 Simplfied type: CM_FMT_TYPE2_A_ADD_DGenerated combiners:
3808 */
3809
3810
3811 {
3812 {0x00030006, 0x00070004, 0x00020004, 0x02000000}, // Simplified mux
3813 0x0011FE04, 0xFF17F7FF, // 64bit Mux
3814 2, // number of stages
3815 ENABLE_BOTH,
3816 MUX_ENV, // Constant color
3817 0x00000000, 0x00000000, 0, // Shade and specular color flags
3818 {0x00000000, 0x00000005}, // constant color texture flags
3819 {
3820 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
3821 {MOD(T1,CUR), MOD(T1,DIF), 1, true}, // Stage 1
3822 }
3823 },
3824
3825 /*
3826 //Mux=0x00272c031f0c93ff Overflowed in MULTI RACING
3827 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3828 Color1: (COMBINED - 0) * PRIM + 0
3829 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
3830 Alpha1: (COMBINED - 0) * PRIM + 0
3831
3832
3833 //Simplied Mux=0x00272c031f0c93ff Overflowed in MULTI RACING
3834 Simplied DWORDs=030F0304, 00060004, 00020006, 02000000Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3835 Color1: (SHADE - 0) * COMBINED + 0
3836 Alpha0: (TEXEL1 - 0) * SHADE + 0
3837 Alpha1: (0 - 0) * 0 + COMBINED
3838 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3839 */
3840
3841
3842 {
3843 {0x030F0304, 0x00060004, 0x00020006, 0x02000000}, // Simplified mux
3844 0x00272C03, 0x1F0C93FF, // 64bit Mux
3845 2, // number of stages
3846 ENABLE_BOTH,
3847 MUX_PRIMLODFRAC, // Constant color
3848 0x00000005, 0x00000005, 0, // Shade and specular color flags
3849 {0x00000000, 0x00000000}, // constant color texture flags
3850 {
3851 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
3852 {LERP(T1,CUR,PRIMLODFRAC), MOD(T1,DIF), 1, true}, // Stage 1
3853 }
3854 },
3855
3856 /*
3857 //Mux=0x00272c041f0c93ff Overflowed in MULTI RACING
3858 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3859 Color1: (COMBINED - 0) * SHADE + 0
3860 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
3861 Alpha1: (COMBINED - 0) * PRIM + 0
3862
3863
3864 //Simplied Mux=0x00272c041f0c93ff Overflowed in MULTI RACING
3865 Simplied DWORDs=030F0304, 00060004, 00020006, 02000000Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
3866 Color1: (SHADE - 0) * COMBINED + 0
3867 Alpha0: (TEXEL1 - 0) * SHADE + 0
3868 Alpha1: (0 - 0) * 0 + COMBINED
3869 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3870 */
3871
3872
3873 {
3874 {0x030F0304, 0x00060004, 0x00020006, 0x02000000}, // Simplified mux
3875 0x00272C04, 0x1F0C93FF, // 64bit Mux
3876 2, // number of stages
3877 ENABLE_BOTH,
3878 MUX_PRIMLODFRAC, // Constant color
3879 0x00000000, 0x00000005, 0, // Shade and specular color flags
3880 {0x00000000, 0x00000000}, // constant color texture flags
3881 {
3882 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
3883 {LERP(T1,CUR,PRIMLODFRAC), MOD(T1,DIF), 1, true}, // Stage 1
3884 }
3885 },
3886
3887 /*
3888 //Mux=0x0030fe045ffef7f8 Overflowed in MULTI RACING
3889 Color0: (PRIM - ENV) * TEXEL0 + ENV
3890 Color1: (COMBINED - 0) * SHADE + 0
3891 Alpha0: (0 - 0) * 0 + PRIM
3892 Alpha1: (0 - 0) * 0 + COMBINED
3893
3894
3895 //Simplied Mux=0x0030fe045ffef7f8 Overflowed in MULTI RACING
3896 Simplied DWORDs=07030704, 04000000, 00020006, 02000000Color0: (TEXEL1 - ENV) * TEXEL0 + ENV
3897 Color1: (SHADE - 0) * COMBINED + 0
3898 Alpha0: (0 - 0) * 0 + TEXEL1
3899 Alpha1: (0 - 0) * 0 + COMBINED
3900 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3901 */
3902
3903
3904 {
3905 {0x07030704, 0x04000000, 0x00020006, 0x02000000}, // Simplified mux
3906 0x0030FE04, 0x5FFEF7F8, // 64bit Mux
3907 2, // number of stages
3908 ENABLE_BOTH,
3909 MUX_ENV, // Constant color
3910 0x00000000, 0x00000000, 0, // Shade and specular color flags
3911 {0x00000000, 0x00000005}, // constant color texture flags
3912 {
3913 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
3914 {LERP(T1,ENV,CUR), SEL(T1), 1, true}, // Stage 1
3915 }
3916 },
3917
3918 /*
3919 //Mux=0x0026a08015fc93f8 Overflowed in Monaco Grand Prix
3920 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
3921 Color1: (SHADE - ENV) * COMBINED + 0
3922 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
3923 Alpha1: (0 - 0) * 0 + COMBINED
3924
3925
3926 //Simplied Mux=0x0026a08015fc93f8 Overflowed in Monaco Grand Prix
3927 Simplied DWORDs=030E0304, 03060304, 00020706, 02000000Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
3928 Color1: (SHADE - ENV) * COMBINED + 0
3929 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
3930 Alpha1: (0 - 0) * 0 + COMBINED
3931 Simplfied type: CM_FMT_TYPE8_A_SUB_B_MOD_CGenerated combiners:
3932 */
3933
3934
3935 {
3936 {0x030E0304, 0x03060304, 0x00020706, 0x02000000}, // Simplified mux
3937 0x0026A080, 0x15FC93F8, // 64bit Mux
3938 2, // number of stages
3939 ENABLE_BOTH,
3940 MUX_LODFRAC, // Constant color
3941 0x00000000, 0x00000000, 0, // Shade and specular color flags
3942 {0x00000000, 0x00000000}, // constant color texture flags
3943 {
3944 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
3945 {LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
3946 }
3947 },
3948
3949 /*
3950 //Mux=0x0050fe043ffdf3f8 Overflowed in KING HILL 64
3951 Color0: (ENV - PRIM) * TEXEL0 + PRIM
3952 Color1: (COMBINED - 0) * SHADE + 0
3953 Alpha0: (0 - 0) * 0 + TEXEL0
3954 Alpha1: (0 - 0) * 0 + COMBINED
3955
3956
3957 //Simplied Mux=0x0050fe043ffdf3f8 Overflowed in KING HILL 64
3958 Simplied DWORDs=04030407, 03000000, 00020006, 02000000Color0: (ENV - TEXEL1) * TEXEL0 + TEXEL1
3959 Color1: (SHADE - 0) * COMBINED + 0
3960 Alpha0: (0 - 0) * 0 + TEXEL0
3961 Alpha1: (0 - 0) * 0 + COMBINED
3962 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
3963 */
3964
3965
3966 {
3967 {0x04030407, 0x03000000, 0x00020006, 0x02000000}, // Simplified mux
3968 0x0050FE04, 0x3FFDF3F8, // 64bit Mux
3969 2, // number of stages
3970 ENABLE_BOTH,
3971 MUX_PRIM, // Constant color
3972 0x00000000, 0x00000000, 0, // Shade and specular color flags
3973 {0x00000000, 0x00000007}, // constant color texture flags
3974 {
3975 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
3976 {LERP(T1,PRI,CUR), SKIP, 1, true}, // Stage 1
3977 }
3978 },
3979
3980 /*
3981 //Mux=0x00209a04ffcfffc8 Overflowed in HSV ADVENTURE RACING
3982 Color0: (TEXEL1 - 0) * TEXEL0 + 0
3983 Color1: (COMBINED - 0) * SHADE + 0
3984 Alpha0: (TEXEL0 - 0) * ENV + 0
3985 Alpha1: (1 - TEXEL0) * PRIM + COMBINED
3986
3987
3988 //Simplied Mux=0x00209a04ffcfffc8 Overflowed in HSV ADVENTURE RACING
3989 Simplied DWORDs=00060004, 00070003, 00020003, 02060083Color0: (TEXEL1 - 0) * SHADE + 0
3990 Color1: (TEXEL0 - 0) * COMBINED + 0
3991 Alpha0: (TEXEL0 - 0) * ENV + 0
3992 Alpha1: (TEXEL0|C - 0) * SHADE + COMBINED
3993 Simplfied type: CM_FMT_TYPE5_A_MOD_C_ADD_DGenerated combiners:
3994 */
3995
3996
3997 {
3998 {0x00060004, 0x00070003, 0x00020003, 0x02060083}, // Simplified mux
3999 0x00209A04, 0xFFCFFFC8, // 64bit Mux
4000 2, // number of stages
4001 ENABLE_BOTH,
4002 MUX_ENV, // Constant color
4003 0x00000000, 0x00000005, 0, // Shade and specular color flags
4004 {0x00000000, 0x00000000}, // constant color texture flags
4005 {
4006 {MOD(T0,DIF), MOD(T0,ENV), 0, true}, // Stage 0
4007 {MOD(T1,CUR), MULADD(T0C,DIF,CUR), 1, true}, // Stage 1
4008 }
4009 },
4010
4011 /*
4012 //Mux=0x00ffa1ffff12123f Overflowed in HSV ADVENTURE RACING
4013 Color0: (0 - 0) * 0 + SHADE
4014 Color1: (0 - 0) * 0 + COMBINED
4015 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
4016 Alpha1: (COMBINED - 0) * SHADE + 0
4017
4018
4019 //Simplied Mux=0x00ffa1ffff12123f Overflowed in HSV ADVENTURE RACING
4020 Simplied DWORDs=06000000, 03060304, 02000000, 00020006Color0: (0 - 0) * 0 + SHADE
4021 Color1: (0 - 0) * 0 + COMBINED
4022 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
4023 Alpha1: (SHADE - 0) * COMBINED + 0
4024 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4025 */
4026
4027
4028 {
4029 {0x06000000, 0x03060304, 0x02000000, 0x00020006}, // Simplified mux
4030 0x00FFA1FF, 0xFF12123F, // 64bit Mux
4031 2, // number of stages
4032 ENABLE_BOTH,
4033 MUX_ENV, // Constant color
4034 0x00000000, 0x00000000, 0, // Shade and specular color flags
4035 {0x00000000, 0x00000000}, // constant color texture flags
4036 {
4037 {SEL(DIF), SEL(T0), 0, true}, // Stage 0
4038 {SKIP, LERP(T1,T0,DIF), 1, true}, // Stage 1
4039 }
4040 },
4041
4042 /*
4043 //Mux=0x0020980a14fcff38 Overflowed in HSV ADVENTURE RACING
4044 Color0: (TEXEL1 - TEXEL0) * TEXEL0 + TEXEL0
4045 Color1: (COMBINED - SHADE) * PRIM|A + SHADE
4046 Alpha0: (TEXEL0 - 0) * SHADE + 0
4047 Alpha1: (0 - 0) * 0 + COMBINED
4048
4049
4050 //Simplied Mux=0x0020980a14fcff38 Overflowed in HSV ADVENTURE RACING
4051 Simplied DWORDs=03030304, 00060003, 06450602, 02000000Color0: (TEXEL1 - TEXEL0) * TEXEL0 + TEXEL0
4052 Color1: (COMBINED - SHADE) * PRIM|A + SHADE
4053 Alpha0: (TEXEL0 - 0) * SHADE + 0
4054 Alpha1: (0 - 0) * 0 + COMBINED
4055 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4056 */
4057
4058
4059 {
4060 {0x03030304, 0x00060003, 0x06450602, 0x02000000}, // Simplified mux
4061 0x0020980A, 0x14FCFF38, // 64bit Mux
4062 2, // number of stages
4063 ENABLE_BOTH,
4064 MUX_PRIM, // Constant color
4065 0x00000000, 0x00000000, 0, // Shade and specular color flags
4066 {0x00000000, 0x00000000}, // constant color texture flags
4067 {
4068 {MULADD(T0,PRIA,DIF), MOD(T0,DIF), 0, true}, // Stage 0
4069 {LERP(T1,T0,CUR), SKIP, 1, true}, // Stage 1
4070 }
4071 },
4072
4073 /*
4074 //Mux=0x00247ec0f2fffebe Overflowed in HSV ADVENTURE RACING
4075 Color0: (TEXEL1 - 0) * TEXEL0|A + 0
4076 Color1: (1 - TEXEL1) * COMBINED + TEXEL1
4077 Alpha0: (0 - 0) * 0 + 0
4078 Alpha1: (0 - 0) * 0 + 1
4079
4080
4081 //Simplied Mux=0x00247ec0f2fffebe Overflowed in HSV ADVENTURE RACING
4082 Simplied DWORDs=00430004, 01000000, 03020301, 02000000Color0: (TEXEL1 - 0) * TEXEL0|A + 0
4083 Color1: (1 - TEXEL0) * COMBINED + TEXEL0
4084 Alpha0: (0 - 0) * 0 + 1
4085 Alpha1: (0 - 0) * 0 + COMBINED
4086 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4087 */
4088
4089
4090 {
4091 {0x00430004, 0x01000000, 0x03020301, 0x02000000}, // Simplified mux
4092 0x00247EC0, 0xF2FFFEBE, // 64bit Mux
4093 2, // number of stages
4094 DISABLE_ALPHA,
4095 0, // Constant color
4096 0x00000000, 0x00000000, 0, // Shade and specular color flags
4097 {0x00000000, 0x00000000}, // constant color texture flags
4098 {
4099 {SEL(T0), SKIP, 0, true}, // Stage 0
4100 {MULADD(T1C,CUR,T1), SKIP, 1, true}, // Stage 1
4101 }
4102 },
4103
4104 /*
4105 //Mux=0x0020fe0411fd7ebe Overflowed in HSV ADVENTURE RACING
4106 Color0: (TEXEL1 - TEXEL0) * TEXEL0 + TEXEL1
4107 Color1: (COMBINED - TEXEL0) * SHADE + TEXEL1
4108 Alpha0: (0 - 0) * 0 + 0
4109 Alpha1: (0 - 0) * 0 + 1
4110
4111
4112 //Simplied Mux=0x0020fe0411fd7ebe Overflowed in HSV ADVENTURE RACING
4113 Simplied DWORDs=04030304, 01000000, 03060302, 02000000Color0: (TEXEL1 - TEXEL0) * TEXEL0 + TEXEL1
4114 Color1: (COMBINED - TEXEL0) * SHADE + TEXEL0
4115 Alpha0: (0 - 0) * 0 + 1
4116 Alpha1: (0 - 0) * 0 + COMBINED
4117 Simplfied type: Color0Generated combiners:
4118 */
4119
4120
4121 {
4122 {0x04030304, 0x01000000, 0x03060302, 0x02000000}, // Simplified mux
4123 0x0020FE04, 0x11FD7EBE, // 64bit Mux
4124 2, // number of stages
4125 DISABLE_ALPHA,
4126 0, // Constant color
4127 0x00000000, 0x00000000, 0, // Shade and specular color flags
4128 {0x00000000, 0x00000000}, // constant color texture flags
4129 {
4130 {MOD(T0,DIF), SKIP, 0, true}, // Stage 0
4131 {MOD(T1,CUR), SKIP, 1, true}, // Stage 1
4132 }
4133 },
4134
4135 /*
4136 //Mux=0x00111480f513ff7f Overflowed in HSV ADVENTURE RACING
4137 Color0: (TEXEL0 - 0) * TEXEL1 + 0
4138 Color1: (SHADE - ENV) * COMBINED + ENV
4139 Alpha0: (TEXEL0 - 0) * TEXEL1 + 0
4140 Alpha1: (COMBINED - 0) * SHADE + 0
4141
4142
4143 //Simplied Mux=0x00111480f513ff7f Overflowed in HSV ADVENTURE RACING
4144 Simplied DWORDs=00040003, 00060003, 07020706, 00020004Color0: (TEXEL0 - 0) * TEXEL1 + 0
4145 Color1: (SHADE - ENV) * COMBINED + ENV
4146 Alpha0: (TEXEL0 - 0) * SHADE + 0
4147 Alpha1: (TEXEL1 - 0) * COMBINED + 0
4148 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4149 */
4150
4151
4152 {
4153 {0x00040003, 0x00060003, 0x07020706, 0x00020004}, // Simplified mux
4154 0x00111480, 0xF513FF7F, // 64bit Mux
4155 2, // number of stages
4156 ENABLE_BOTH,
4157 MUX_ENV, // Constant color
4158 0x00000000, 0x00000000, 0, // Shade and specular color flags
4159 {0x00000000, 0x00000000}, // constant color texture flags
4160 {
4161 {LERP(DIF,ENV,T0), MOD(T0,DIF), 0, true}, // Stage 0
4162 {MOD(T1,CUR), MOD(T1,CUR), 1, true}, // Stage 1
4163 }
4164 },
4165
4166 /*
4167 //Mux=0x00117e042ffd79f8 Overflowed in HSV ADVENTURE RACING
4168 Color0: (TEXEL0 - TEXEL1) * TEXEL1 + TEXEL1
4169 Color1: (COMBINED - 0) * SHADE + 0
4170 Alpha0: (0 - 0) * 0 + SHADE
4171 Alpha1: (0 - 0) * 0 + COMBINED
4172
4173
4174 //Simplied Mux=0x00117e042ffd79f8 Overflowed in HSV ADVENTURE RACING
4175 Simplied DWORDs=04040403, 06000000, 00020006, 02000000Color0: (TEXEL0 - TEXEL1) * TEXEL1 + TEXEL1
4176 Color1: (SHADE - 0) * COMBINED + 0
4177 Alpha0: (0 - 0) * 0 + SHADE
4178 Alpha1: (0 - 0) * 0 + COMBINED
4179 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4180 */
4181
4182
4183 {
4184 {0x04040403, 0x06000000, 0x00020006, 0x02000000}, // Simplified mux
4185 0x00117E04, 0x2FFD79F8, // 64bit Mux
4186 2, // number of stages
4187 ENABLE_BOTH,
4188 0, // Constant color
4189 0x00000000, 0x00000000, 0, // Shade and specular color flags
4190 {0x00000000, 0x00000000}, // constant color texture flags
4191 {
4192 {MOD(T0,DIF), SEL(DIF), 0, true}, // Stage 0
4193 {MOD(T1,CUR), SKIP, 1, true}, // Stage 1
4194 }
4195 },
4196
4197 /*
4198 //Mux=0x00257e041ffcf3f8 Overflowed in G.A.S.P!!Fighters'NE
4199 Color0: (TEXEL1 - TEXEL0) * PRIM|A + TEXEL0
4200 Color1: (COMBINED - 0) * SHADE + 0
4201 Alpha0: (0 - 0) * 0 + TEXEL0
4202 Alpha1: (0 - 0) * 0 + COMBINED
4203
4204
4205 //Simplied Mux=0x00257e041ffcf3f8 Overflowed in G.A.S.P!!Fighters'NE
4206 Simplied DWORDs=03460304, 03000000, 00020006, 02000000
4207 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
4208 Color1: (SHADE - 0) * COMBINED + 0
4209 Alpha0: (0 - 0) * 0 + TEXEL0
4210 Alpha1: (0 - 0) * 0 + COMBINED
4211 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4212 */
4213
4214
4215 {
4216 {0x03460304, 0x03000000, 0x00020006, 0x02000000}, // Simplified mux
4217 0x00257E04, 0x1FFCF3F8, // 64bit Mux
4218 2, // number of stages
4219 ENABLE_BOTH,
4220 MUX_PRIM, // Constant color
4221 0x00000000, 0x00000000, 0, // Shade and specular color flags
4222 {0x00000000, 0x00000000}, // constant color texture flags
4223 {
4224 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
4225 {LERP(T1,CUR,PRI), SKIP, 1, true}, // Stage 1
4226 }
4227 },
4228
4229 /*
4230 //Mux=0x00ff9480fffcfff8 Overflowed in G.A.S.P!!Fighters'NE
4231 Color0: (0 - 0) * 0 + TEXEL0
4232 Color1: (SHADE - 0) * COMBINED + 0
4233 Alpha0: (TEXEL0 - 0) * TEXEL1 + 0
4234 Alpha1: (0 - 0) * 0 + COMBINED
4235
4236
4237 //Simplied Mux=0x00ff9480fffcfff8 Overflowed in G.A.S.P!!Fighters'NE
4238 Simplied DWORDs=00060003, 04000000, 02000000, 00020003
4239 Color0: (TEXEL0 - 0) * SHADE + 0
4240 Color1: (0 - 0) * 0 + COMBINED
4241 Alpha0: (0 - 0) * 0 + TEXEL1
4242 Alpha1: (TEXEL0 - 0) * COMBINED + 0
4243 Simplfied type: CM_FMT_TYPE2_A_ADD_DGenerated combiners:
4244 */
4245
4246
4247 {
4248 {0x00060003, 0x04000000, 0x02000000, 0x00020003}, // Simplified mux
4249 0, 0, // 64bit Mux
4250 2, // number of stages
4251 ENABLE_BOTH,
4252 0, // Constant color
4253 0x00000000, 0x00000000, 0, // Shade and specular color flags
4254 {0x00000000, 0x00000000}, // constant color texture flags
4255 {
4256 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
4257 {SKIP, MOD(T1,CUR), 1, true}, // Stage 1
4258 }
4259 },
4260
4261 /*
4262 //Mux=0x00612680fffcf3f8 Overflowed in G.A.S.P!!Fighters'NE
4263 Color0: (1 - 0) * TEXEL1 + TEXEL0
4264 Color1: (SHADE - 0) * COMBINED + 0
4265 Alpha0: (TEXEL1 - 0) * PRIM + TEXEL0
4266 Alpha1: (0 - 0) * 0 + COMBINED
4267
4268
4269 //Simplied Mux=0x00612680fffcf3f8 Overflowed in G.A.S.P!!Fighters'NE
4270 Simplied DWORDs=03010004, 00060004, 00020006, 02010003Color0: (TEXEL1 - 0) * 1 + TEXEL0
4271 Color1: (SHADE - 0) * COMBINED + 0
4272 Alpha0: (TEXEL1 - 0) * SHADE + 0
4273 Alpha1: (TEXEL0 - 0) * 1 + COMBINED
4274 Simplfied type: CM_FMT_TYPE5_A_MOD_C_ADD_DGenerated combiners:
4275 */
4276
4277
4278 {
4279 {0x03010004, 0x00060004, 0x00020006, 0x02010003}, // Simplified mux
4280 0x00612680, 0xFFFCF3F8, // 64bit Mux
4281 2, // number of stages
4282 ENABLE_BOTH,
4283 MUX_PRIM, // Constant color
4284 0x00000000, 0x00000005, 0, // Shade and specular color flags
4285 {0x00000000, 0x00000000}, // constant color texture flags
4286 {
4287 {MOD(T1,DIF), MOD(T1,PRI), 1, true}, // Stage 0
4288 {MOD(T0,CUR), ADD(T0,CUR), 0, true}, // Stage 1
4289 }
4290 },
4291
4292 /*
4293 //Mux=0x0026a06015fc9378 Overflowed in FIFA Soccer 64
4294 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
4295 Color1: (PRIM - ENV) * COMBINED + ENV
4296 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
4297 Alpha1: (0 - 0) * 0 + COMBINED
4298
4299
4300 //Simplied Mux=0x0026a06015fc9378 Overflowed in FIFA Soccer 64
4301 Simplied DWORDs=030E0304, 03060304, 06020605, 02000000Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
4302 Color1: (PRIM - SHADE) * COMBINED + SHADE
4303 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
4304 Alpha1: (0 - 0) * 0 + COMBINED
4305 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4306 */
4307
4308
4309 {
4310 {0x030E0304, 0x03060304, 0x06020605, 0x02000000}, // Simplified mux
4311 0x0026A060, 0x15FC9378, // 64bit Mux
4312 2, // number of stages
4313 ENABLE_BOTH,
4314 MUX_LODFRAC, // Constant color
4315 0x00000005, 0x00000007, 0, // Shade and specular color flags
4316 {0x00000000, 0x00000000}, // constant color texture flags
4317 {
4318 {LERP(DIF,DIFA,T0), SEL(T0), 0, true}, // Stage 0
4319 {LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
4320 }
4321 },
4322
4323 /*
4324 //Mux=0x0026a0041ffc93fe Overflowed in Taz Express
4325 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
4326 Color1: (COMBINED - 0) * SHADE + 0
4327 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
4328 Alpha1: (0 - 0) * 0 + 1
4329
4330
4331 //Simplied Mux=0x0026a0041ffc93fe Overflowed in Taz Express
4332 Simplied DWORDs=030E0304, 01000000, 00020006, 02000000
4333 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
4334 Color1: (SHADE - 0) * COMBINED + 0
4335 Alpha0: (0 - 0) * 0 + 1
4336 Alpha1: (0 - 0) * 0 + COMBINED
4337 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4338 */
4339
4340
4341 {
4342 {0x030E0304, 0x01000000, 0x00020006, 0x02000000}, // Simplified mux
4343 0x0026A004, 0x1FFC93FE, // 64bit Mux
4344 2, // number of stages
4345 ENABLE_BOTH,
4346 MUX_LODFRAC, // Constant color
4347 0x00000000, 0x00000000, 0, // Shade and specular color flags
4348 {0x00000000, 0x00000000}, // constant color texture flags
4349 {
4350 {MOD(T0,DIF), SEL(T0), 0, true}, // Stage 0
4351 {LERP(T1,CUR,LODFRAC), LERP(T1,CUR,LODFRAC), 1, true}, // Stage 1
4352 }
4353 },
4354 /*
4355 //Mux=0x003716041ffcfff8 Overflowed in GAUNTLET LEGENDS
4356 Color0: (PRIM - TEXEL0) * PRIMLODFRAC + TEXEL0
4357 Color1: (COMBINED - 0) * SHADE + 0
4358 Alpha0: (TEXEL0 - 0) * PRIM + 0
4359 Alpha1: (0 - 0) * 0 + COMBINED
4360
4361
4362 //Simplied Mux=0x003716041ffcfff8 Overflowed in GAUNTLET LEGENDS
4363 Simplied DWORDs=030F0304, 04000000, 00020006, 00020003
4364 Color0: (TEXEL1 - TEXEL0) * PRIMLODFRAC + TEXEL0
4365 Color1: (SHADE - 0) * COMBINED + 0
4366 Alpha0: (0 - 0) * 0 + TEXEL1
4367 Alpha1: (TEXEL0 - 0) * COMBINED + 0
4368 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4369 */
4370
4371
4372 {
4373 {0x030F0304, 0x04000000, 0x00020006, 0x00020003}, // Simplified mux
4374 0x00371604, 0x1FFCFFF8, // 64bit Mux
4375 2, // number of stages
4376 ENABLE_BOTH,
4377 MUX_PRIMLODFRAC, // Constant color
4378 0x00000000, 0x00000000, 0, // Shade and specular color flags
4379 {0x00000000, 0x00000005}, // constant color texture flags
4380 {
4381 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
4382 {LERP(T1,CUR,PRIMLODFRAC), SKIP, 1, true}, // Stage 1
4383 }
4384 },
4385 /*
4386 //Mux=0x00157e602ffd77f8 Overflowed in MarioTennis
4387 Color0: (TEXEL0 - TEXEL1) * PRIM|A + TEXEL1
4388 Color1: (PRIM - 0) * COMBINED + 0
4389 Alpha0: (0 - 0) * 0 + PRIM
4390 Alpha1: (0 - 0) * 0 + COMBINED
4391
4392
4393 //Simplied Mux=0x00157e602ffd77f8 Overflowed in MarioTennis
4394 Simplied DWORDs=04460403, 06000000, 00020006, 02000000
4395 Color0: (TEXEL0 - TEXEL1) * SHADE|A + TEXEL1
4396 Color1: (SHADE - 0) * COMBINED + 0
4397 Alpha0: (0 - 0) * 0 + SHADE
4398 Alpha1: (0 - 0) * 0 + COMBINED
4399 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4400 */
4401
4402
4403 {
4404 {0x04460403, 0x06000000, 0x00020006, 0x02000000}, // Simplified mux
4405 0x00157E60, 0x2FFD77F8, // 64bit Mux
4406 2, // number of stages
4407 ENABLE_BOTH,
4408 MUX_PRIM, // Constant color
4409 0x00000005, 0x00000005, 0, // Shade and specular color flags
4410 {0x00000000, 0x00000000}, // constant color texture flags
4411 {
4412 {MOD(T0,DIF), SEL(DIF), 0, true}, // Stage 0
4413 {LERP(T1,CUR,DIFA), SKIP, 1, true}, // Stage 1
4414 }
4415 },
4416 /*
4417 //Mux=0x00157e6025fd7778 Overflowed in MarioTennis
4418 Color0: (TEXEL0 - TEXEL1) * PRIM|A + TEXEL1
4419 Color1: (PRIM - ENV) * COMBINED + ENV
4420 Alpha0: (0 - 0) * 0 + PRIM
4421 Alpha1: (0 - 0) * 0 + COMBINED
4422
4423
4424 //Simplied Mux=0x00157e6025fd7778 Overflowed in MarioTennis
4425 Simplied DWORDs=04460403, 06000000, 06020605, 02000000
4426 Color0: (TEXEL0 - TEXEL1) * SHADE|A + TEXEL1
4427 Color1: (PRIM - SHADE) * COMBINED + SHADE
4428 Alpha0: (0 - 0) * 0 + SHADE
4429 Alpha1: (0 - 0) * 0 + COMBINED
4430 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4431 */
4432
4433
4434 {
4435 {0x04460403, 0x06000000, 0x06020605, 0x02000000}, // Simplified mux
4436 0x00157E60, 0x25FD7778, // 64bit Mux
4437 2, // number of stages
4438 ENABLE_BOTH,
4439 MUX_PRIM, // Constant color
4440 0x000000007, 0x00000000, 0, // Shade and specular color flags
4441 {0x00000000, 0x00000000}, // constant color texture flags
4442 {
4443 {LERP(PRI,DIF,T0), SEL(DIF), 0, true}, // Stage 0
4444 {LERP(CUR,T1,DIFA), SKIP, 1, true}, // Stage 1
4445 }
4446 },
4447
4448 /*
4449 //Mux=0x00fffe80f514f8ff Overflowed in CONKER BFD
4450 Color0: (0 - 0) * 0 + TEXEL0
4451 Color1: (SHADE - ENV) * COMBINED + PRIM
4452 Alpha0: (0 - 0) * 0 + SHADE
4453 Alpha1: (COMBINED - 0) * ENV + 0
4454 */
4455
4456 {
4457 {0x00030706, 0x06000000, 0x02010004, 0x02000000}, // Simplified mux
4458 0x00FFFE80, 0xF514F8FF, // 64bit Mux
4459 2, // number of stages
4460 ENABLE_BOTH,
4461 MUX_PRIM, // Constant color
4462 0x00000706, 0x00070006, 0, // Shade and specular color flags
4463 {0x00000000, 0x00000000}, // constant color texture flags
4464 {
4465 {MOD(T0,DIF), SEL(DIF), 0, true}, // Stage 0
4466 {ADD(PRI,CUR), SKIP, 0, false}, // Stage 1
4467 }
4468 },
4469
4470 /*
4471 //Mux=0x0017166035fcff78 Overflowed in THE LEGEND OF ZELDA
4472 Color0: (TEXEL0 - PRIM) * PRIMLODFRAC + TEXEL0
4473 Color1: (PRIM - ENV) * COMBINED + ENV
4474 Alpha0: (TEXEL0 - 0) * PRIM + 0
4475 Alpha1: (0 - 0) * 0 + COMBINED
4476
4477
4478 //Simplied Mux=0x0017166035fcff78 Overflowed in THE LEGEND OF ZELDA
4479 Simplied DWORDs=030F0603, 00060003, 04020406, 02000000
4480 Color0: (TEXEL0 - SHADE) * PRIMLODFRAC + TEXEL0
4481 Color1: (SHADE - TEXEL1) * COMBINED + TEXEL1
4482 Alpha0: (TEXEL0 - 0) * SHADE + 0
4483 Alpha1: (0 - 0) * 0 + COMBINED
4484 Simplfied type: Color0Generated combiners:
4485 */
4486
4487 {
4488 {0x030F0603, 0x00060003, 0x04020406, 0x02000000}, // Simplified mux
4489 0x00171660, 0x35FCFF78, // 64bit Mux
4490 2, // number of stages
4491 ENABLE_BOTH,
4492 MUX_PRIMLODFRAC, // Constant color
4493 0x00000005, 0x00000005, 0, // Shade and specular color flags
4494 {0x00000000, 0x00000007}, // constant color texture flags
4495 {
4496 {LERP(T0,DIF,PRIMLODFRAC), MOD(T0,DIF), 0, true}, // Stage 0
4497 {LERP(DIF,T1,CUR), SKIP, 1, true}, // Stage 1
4498 }
4499 },
4500
4501 /*
4502 //Mux=0x00262a041f1093ff Overflowed in THE LEGEND OF ZELDA
4503 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
4504 Color1: (COMBINED - 0) * SHADE + 0
4505 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
4506 Alpha1: (COMBINED - 0) * SHADE + 0
4507
4508
4509 //Simplied Mux=0x00262a041f1093ff Overflowed in THE LEGEND OF ZELDA
4510 Simplied DWORDs=03470304, 03070304, 00020006, 00020006
4511 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
4512 Color1: (SHADE - 0) * COMBINED + 0
4513 Alpha0: (TEXEL1 - TEXEL0) * ENV + TEXEL0
4514 Alpha1: (SHADE - 0) * COMBINED + 0
4515 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4516 */
4517
4518 {
4519 {0x03470304, 0x03070304, 0x00020006, 0x00020006}, // Simplified mux
4520 0x00262A04, 0x1F1093FF, // 64bit Mux
4521 2, // number of stages
4522 ENABLE_BOTH,
4523 MUX_ENV, // Constant color
4524 0x00000000, 0x00000000, 0, // Shade and specular color flags
4525 {0x00000000, 0x00000000}, // constant color texture flags
4526 {
4527 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
4528 {LERP(T1,CUR,ENVA), LERP(T1,CUR,ENV), 1, true}, // Stage 1
4529 }
4530 },
4531
4532 /*
4533 //Mux=0x00267e051ffcfdf8 Overflowed in THE LEGEND OF ZELDA
4534 Color0: (TEXEL1 - TEXEL0) * ENV|A + TEXEL0
4535 Color1: (COMBINED - 0) * ENV + 0
4536 Alpha0: (0 - 0) * 0 + 1
4537 Alpha1: (0 - 0) * 0 + COMBINED
4538
4539
4540 //Simplied Mux=0x00267e051ffcfdf8 Overflowed in THE LEGEND OF ZELDA
4541 Simplied DWORDs=03460304, 01000000, 00020006, 02000000
4542 Color0: (TEXEL1 - TEXEL0) * SHADE|A + TEXEL0
4543 Color1: (SHADE - 0) * COMBINED + 0
4544 Alpha0: (0 - 0) * 0 + 1
4545 Alpha1: (0 - 0) * 0 + COMBINED
4546 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4547 */
4548
4549
4550 {
4551 {0x03460304, 0x01000000, 0x00020006, 0x02000000}, // Simplified mux
4552 0x00267E05, 0x1FFCFDF8, // 64bit Mux
4553 2, // number of stages
4554 DISABLE_ALPHA,
4555 MUX_ENV, // Constant color
4556 0x00000007, 0x00000007, 0, // Shade and specular color flags
4557 {0x00000000, 0x00000000}, // constant color texture flags
4558 {
4559 {MOD(T0,ENV), SKIP, 0, true}, // Stage 0
4560 {LERP(T1,CUR,ENVA), SKIP, 1, true}, // Stage 1
4561 }
4562 },
4563
4564 /*
4565 //Mux=0x0026a0041f1093fb Overflowed in GOLDENEYE
4566 Color0: (TEXEL1 - TEXEL0) * LODFRAC + TEXEL0
4567 Color1: (COMBINED - 0) * SHADE + 0
4568 Alpha0: (TEXEL1 - TEXEL0) * COMBINED + TEXEL0
4569 Alpha1: (COMBINED - 0) * SHADE + PRIM
4570
4571
4572 //Simplied Mux=0x0026a0041f1093fb Overflowed in GOLDENEYE
4573 Simplied DWORDs=00060003, 03060304, 02000000, 05020006
4574 Color0: (TEXEL0 - 0) * SHADE + 0
4575 Color1: (0 - 0) * 0 + COMBINED
4576 Alpha0: (TEXEL1 - TEXEL0) * SHADE + TEXEL0
4577 Alpha1: (SHADE - 0) * COMBINED + PRIM
4578 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4579 */
4580
4581
4582 {
4583 {0x00060003, 0x03060304, 0x02000000, 0x05020006}, // Simplified mux
4584 0x0026A004, 0x1F1093FB, // 64bit Mux
4585 2, // number of stages
4586 ENABLE_BOTH,
4587 MUX_PRIM, // Constant color
4588 0x00000000, 0x00000000, 0, // Shade and specular color flags
4589 {0x00000000, 0x00000000}, // constant color texture flags
4590 {
4591 {MOD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
4592 {SKIP, ADD(CUR,PRI), 0, false}, // Stage 1
4593 }
4594 },
4595
4596 /*
4597 //Mux=0x0017666025fd7f78 Overflowed in POKEMON STADIUM 2
4598 Color0: (TEXEL0 - TEXEL1) * PRIMLODFRAC + TEXEL1
4599 Color1: (PRIM - ENV) * COMBINED + ENV
4600 Alpha0: (1 - 0) * PRIM + 0
4601 Alpha1: (0 - 0) * 0 + COMBINED
4602
4603
4604 //Simplied Mux=0x0017666025fd7f78 Overflowed in POKEMON STADIUM 2
4605 Simplied DWORDs=040F0403, 06000000, 06020605, 02000000
4606 Color0: (TEXEL0 - TEXEL1) * PRIMLODFRAC + TEXEL1
4607 Color1: (PRIM - SHADE) * COMBINED + SHADE
4608 Alpha0: (0 - 0) * 0 + SHADE
4609 Alpha1: (0 - 0) * 0 + COMBINED
4610 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4611 */
4612
4613 {
4614 {0x040F0403, 0x06000000, 0x06020605, 0x02000000}, // Simplified mux
4615 0x00176660, 0x25FD7F78, // 64bit Mux
4616 2, // number of stages
4617 ENABLE_BOTH,
4618 MUX_ENV, // Constant color
4619 0x00000000, 0x00000005, 0, // Shade and specular color flags
4620 {0x00000000, 0x00000000}, // constant color texture flags
4621 {
4622 {LERP(DIF,ENV,T0), SEL(DIF), 0, true}, // Stage 0
4623 {SKIP, SKIP, 0, false}, // Stage 1
4624 }
4625 },
4626
4627 /*
4628 //Mux=0x0077666045fd7f78 Overflowed in POKEMON STADIUM 2
4629 Color0: (COMBALPHA - SHADE) * PRIMLODFRAC + TEXEL1
4630 Color1: (PRIM - ENV) * COMBINED + ENV
4631 Alpha0: (1 - 0) * PRIM + 0
4632 Alpha1: (0 - 0) * 0 + COMBINED
4633
4634
4635 //Simplied Mux=0x0077666045fd7f78 Overflowed in POKEMON STADIUM 2
4636 Simplied DWORDs=040F0608, 03000000, 07020703, 02000000
4637 Color0: (COMBALPHA - SHADE) * PRIMLODFRAC + TEXEL1
4638 Color1: (TEXEL0 - ENV) * COMBINED + ENV
4639 Alpha0: (0 - 0) * 0 + TEXEL0
4640 Alpha1: (0 - 0) * 0 + COMBINED
4641 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDShade = 000F0608 in color channelGenerated combiners:
4642 */
4643
4644 {
4645 {0x040F0608, 0x03000000, 0x07020703, 0x02000000}, // Simplified mux
4646 0x00776660, 0x45FD7F78, // 64bit Mux
4647 2, // number of stages
4648 ENABLE_BOTH,
4649 MUX_ENV, // Constant color
4650 0x00000000, 0x00000000, 0, // Shade and specular color flags
4651 {0x00000005, 0x00000000}, // constant color texture flags
4652 {
4653 {MOD(T1,DIF), SKIP, 1, true}, // Stage 0
4654 {LERP(T1,ENV,CUR), SEL(T0), 0, true}, // Stage 1
4655 }
4656 },
4657
4658 /*
4659 //Mux=0x00457fff3ffcfe3f Overflowed in POKEMON STADIUM 2
4660 Color0: (SHADE - PRIM) * PRIM|A + TEXEL0
4661 Color1: (0 - 0) * 0 + COMBINED
4662 Alpha0: (0 - 0) * 0 + 0
4663 Alpha1: (0 - 0) * 0 + 0
4664
4665
4666 //Simplied Mux=0x00457fff3ffcfe3f Overflowed in POKEMON STADIUM 2
4667 Simplied DWORDs=00460506, 00000000, 02010003, 02000000
4668 Color0: (SHADE - PRIM) * SHADE|A + 0
4669 Color1: (TEXEL0 - 0) * 1 + COMBINED
4670 Alpha0: (0 - 0) * 0 + 0
4671 Alpha1: (0 - 0) * 0 + COMBINED
4672 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDShade = 00460506 in color channelGenerated combiners:
4673 */
4674
4675 {
4676 {0x00460506, 0x00000000, 0x02010003, 0x02000000}, // Simplified mux
4677 0x00457FFF, 0x3FFCFE3F, // 64bit Mux
4678 2, // number of stages
4679 DISABLE_ALPHA,
4680 MUX_PRIM, // Constant color
4681 0x00000000, 0x00000000, 0, // Shade and specular color flags
4682 {0x00000000, 0x00000000}, // constant color texture flags
4683 {
4684 {SUB(DIF,PRI), SKIP, 0, false}, // Stage 0
4685 {MULADD(CUR,PRIA,T0), SKIP, 0, true}, // Stage 1
4686 }
4687 },
4688
4689 /*
4690 //Mux=0x00272c603510e37f Overflowed in POKEMON STADIUM 2
4691 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
4692 Color1: (PRIM - ENV) * COMBINED + ENV
4693 Alpha0: (TEXEL1 - 1) * 1 + TEXEL0
4694 Alpha1: (COMBINED - 0) * SHADE + 0
4695
4696
4697 //Simplied Mux=0x00272c603510e37f Overflowed in POKEMON STADIUM 2
4698 Simplied DWORDs=030F0604, 00060003, 07020706, 02000000
4699 Color0: (TEXEL1 - SHADE) * PRIMLODFRAC + TEXEL0
4700 Color1: (SHADE - ENV) * COMBINED + ENV
4701 Alpha0: (TEXEL0 - 0) * SHADE + 0
4702 Alpha1: (0 - 0) * 0 + COMBINED
4703 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
4704 */
4705
4706 {
4707 {0x030F0604, 0x00060003, 0x07020706, 0x02000000}, // Simplified mux
4708 0x00272C60, 0x3510E37F, // 64bit Mux
4709 2, // number of stages
4710 ENABLE_BOTH,
4711 MUX_ENV, // Constant color
4712 0x00000005, 0x00000000, 0, // Shade and specular color flags
4713 {0x00000000, 0x00000000}, // constant color texture flags
4714 {
4715 {LERP(DIF,ENV,T0), MOD(T0,DIF), 0, true}, // Stage 0
4716 {SKIP, MULADD(T1,DIF,CUR), 1, true}, // Stage 1
4717 }
4718 },
4719
4720 /*
4721 //Mux=0x0025a660f510f37f Overflowed in POKEMON STADIUM 2
4722 Color0: (TEXEL1 - 0) * SHADE|A + TEXEL0
4723 Color1: (PRIM - ENV) * COMBINED + ENV
4724 Alpha0: (TEXEL1 - 0) * PRIM + TEXEL0
4725 Alpha1: (COMBINED - 0) * SHADE + 0
4726
4727
4728 //Simplied Mux=0x0025a660f510f37f Overflowed in POKEMON STADIUM 2
4729 Simplied DWORDs=03460004, 03050004, 07020705, 00020006
4730 Color0: (TEXEL1 - 0) * SHADE|A + TEXEL0
4731 Color1: (PRIM - ENV) * COMBINED + ENV
4732 Alpha0: (TEXEL1 - 0) * PRIM + TEXEL0
4733 Alpha1: (SHADE - 0) * COMBINED + 0
4734 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4735 */
4736
4737 {
4738 {0x03460004, 0x03050004, 0x07020705, 0x00020006}, // Simplified mux
4739 0x0025A660, 0xF510F37F, // 64bit Mux
4740 2, // number of stages
4741 ENABLE_BOTH,
4742 MUX_ENV, // Constant color
4743 0x00000005, 0x00000000, 0, // Shade and specular color flags
4744 {0x00000000, 0x00000000}, // constant color texture flags
4745 {
4746 {LERP(DIF,ENV,T0), MOD(T0,DIF), 0, true}, // Stage 0
4747 {MULADD(T1,DIFA,CUR), MULADD(T1,DIF,CUR), 1, true}, // Stage 1
4748 }
4749 },
4750
4751 /*
4752 //Mux=0x00171607f511a97f Overflowed in POKEMON STADIUM 2
4753 Color0: (TEXEL0 - 0) * PRIMLODFRAC + PRIM
4754 Color1: (COMBINED - ENV) * COMBINED|A + ENV
4755 Alpha0: (TEXEL0 - TEXEL1) * PRIM + SHADE
4756 Alpha1: (COMBINED - 0) * SHADE + 0
4757
4758
4759 //Simplied Mux=0x00171607f511a97f Overflowed in POKEMON STADIUM 2
4760 Simplied DWORDs=050F0003, 06050403, 06420602, 00020006
4761 Color0: (TEXEL0 - 0) * PRIMLODFRAC + PRIM
4762 Color1: (COMBINED - SHADE) * COMBINED|A + SHADE
4763 Alpha0: (TEXEL0 - TEXEL1) * PRIM + SHADE
4764 Alpha1: (SHADE - 0) * COMBINED + 0
4765 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
4766 */
4767
4768 {
4769 {0x050F0003, 0x06050403, 0x06420602, 0x00020006}, // Simplified mux
4770 0x00171607, 0xF511A97F, // 64bit Mux
4771 2, // number of stages
4772 ENABLE_BOTH,
4773 MUX_ENV, // Constant color
4774 0x00000005, 0x00000000, 0, // Shade and specular color flags
4775 {0x00000000, 0x00000000}, // constant color texture flags
4776 {
4777 {ADD(T0,DIF), MOD(T0,DIF), 0, true}, // Stage 0
4778 {LERP(CUR,ENV,CURA), SUB(CUR,T1), 1, true}, // Stage 1
4779 }
4780 },
4781
4782 /*
4783 //Mux=0x00177e6025fd7378 Overflowed in POKEMON STADIUM 2
4784 Color0: (TEXEL0 - TEXEL1) * PRIMLODFRAC + TEXEL1
4785 Color1: (PRIM - ENV) * COMBINED + ENV
4786 Alpha0: (0 - 0) * 0 + TEXEL0
4787 Alpha1: (0 - 0) * 0 + COMBINED
4788
4789
4790 //Simplied Mux=0x00177e6025fd7378 Overflowed in POKEMON STADIUM 2
4791 Simplied DWORDs=040F0403, 03000000, 06020605, 02000000
4792 Color0: (TEXEL0 - TEXEL1) * PRIMLODFRAC + TEXEL1
4793 Color1: (PRIM - SHADE) * COMBINED + SHADE
4794 Alpha0: (0 - 0) * 0 + TEXEL0
4795 Alpha1: (0 - 0) * 0 + COMBINED
4796 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4797 */
4798
4799 {
4800 {0x040F0403, 0x03000000, 0x06020605, 0x02000000}, // Simplified mux
4801 0x00177E60, 0x25FD7378, // 64bit Mux
4802 2, // number of stages
4803 ENABLE_BOTH,
4804 MUX_ENV, // Constant color
4805 0x00000005, 0x00000000, 0, // Shade and specular color flags
4806 {0x00000000, 0x00000000}, // constant color texture flags
4807 {
4808 {LERP(DIF,ENV,T0), SEL(T0), 0, true}, // Stage 0
4809 {SKIP, SKIP, 0, true}, // Stage 1
4810 }
4811 },
4812
4813 /*
4814 //Mux=0x0017666025fd7f78 Overflowed in POKEMON STADIUM 2
4815 Color0: (TEXEL0 - TEXEL1) * PRIMLODFRAC + TEXEL1
4816 Color1: (PRIM - ENV) * COMBINED + ENV
4817 Alpha0: (1 - 0) * PRIM + 0
4818 Alpha1: (0 - 0) * 0 + COMBINED
4819
4820
4821 //Simplied Mux=0x0017666025fd7f78 Overflowed in POKEMON STADIUM 2
4822 Simplied DWORDs=040F0403, 06000000, 06020605, 02000000
4823 Color0: (TEXEL0 - TEXEL1) * PRIMLODFRAC + TEXEL1
4824 Color1: (PRIM - SHADE) * COMBINED + SHADE
4825 Alpha0: (0 - 0) * 0 + SHADE
4826 Alpha1: (0 - 0) * 0 + COMBINED
4827 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4828 */
4829
4830 {
4831 {0x040F0403, 0x06000000, 0x06020605, 0x02000000}, // Simplified mux
4832 0x00176660, 0x25FD7F78, // 64bit Mux
4833 2, // number of stages
4834 ENABLE_BOTH,
4835 MUX_PRIM, // Constant color
4836 0x00000007, 0x00000005, 0, // Shade and specular color flags
4837 {0x00000000, 0x00000000}, // constant color texture flags
4838 {
4839 {LERP(PRI,DIF,T0), SEL(PRI), 0, true}, // Stage 0
4840 {SKIP, SKIP, 0, false}, // Stage 1
4841 }
4842 },
4843
4844 /*
4845 //Mux=0x00177e6025fd7378 Overflowed in POKEMON STADIUM 2
4846 Color0: (TEXEL0 - TEXEL1) * PRIMLODFRAC + TEXEL1
4847 Color1: (PRIM - ENV) * COMBINED + ENV
4848 Alpha0: (0 - 0) * 0 + TEXEL0
4849 Alpha1: (0 - 0) * 0 + COMBINED
4850
4851
4852 //Simplied Mux=0x00177e6025fd7378 Overflowed in POKEMON STADIUM 2
4853 Simplied DWORDs=040F0403, 03000000, 06020605, 02000000
4854 Color0: (TEXEL0 - TEXEL1) * PRIMLODFRAC + TEXEL1
4855 Color1: (PRIM - SHADE) * COMBINED + SHADE
4856 Alpha0: (0 - 0) * 0 + TEXEL0
4857 Alpha1: (0 - 0) * 0 + COMBINED
4858 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4859 */
4860
4861 {
4862 {0x040F0403, 0x03000000, 0x06020605, 0x02000000}, // Simplified mux
4863 0x00177E60, 0x25FD7378, // 64bit Mux
4864 2, // number of stages
4865 ENABLE_BOTH,
4866 MUX_PRIM, // Constant color
4867 0x00000007, 0x00000000, 0, // Shade and specular color flags
4868 {0x00000000, 0x00000000}, // constant color texture flags
4869 {
4870 {LERP(PRI,DIF,T0), SEL(T0), 0, true}, // Stage 0
4871 {SKIP, SKIP, 0, false}, // Stage 1
4872 }
4873 },
4874
4875 /*
4876 //Mux=0x00457fff3ffcfe3f Overflowed in POKEMON STADIUM 2
4877 Color0: (SHADE - PRIM) * PRIM|A + TEXEL0
4878 Color1: (0 - 0) * 0 + COMBINED
4879 Alpha0: (0 - 0) * 0 + 0
4880 Alpha1: (0 - 0) * 0 + 0
4881
4882
4883 //Simplied Mux=0x00457fff3ffcfe3f Overflowed in POKEMON STADIUM 2
4884 Simplied DWORDs=00460506, 00000000, 02010003, 02000000
4885 Color0: (SHADE - PRIM) * SHADE|A + 0
4886 Color1: (TEXEL0 - 0) * 1 + COMBINED
4887 Alpha0: (0 - 0) * 0 + 0
4888 Alpha1: (0 - 0) * 0 + COMBINED
4889 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDShade = 00460506 in color channelGenerated combiners:
4890 */
4891
4892 {
4893 {0x00460506, 0x00000000, 0x02010003, 0x02000000}, // Simplified mux
4894 0x00457FFF, 0x3FFCFE3F, // 64bit Mux
4895 2, // number of stages
4896 DISABLE_ALPHA,
4897 MUX_ENV, // Constant color
4898 0x00460506, 0x00000005, 0, // Shade and specular color flags
4899 {0x00000000, 0x00000000}, // constant color texture flags
4900 {
4901 {ADD(T0,DIF), SKIP, 0, true}, // Stage 0
4902 {SKIP, SKIP, 0, false}, // Stage 1
4903 }
4904 },
4905
4906 /*
4907 //Mux=0x00272c60350c937f Overflowed in POKEMON STADIUM 2
4908 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
4909 Color1: (PRIM - ENV) * COMBINED + ENV
4910 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
4911 Alpha1: (COMBINED - 0) * PRIM + 0
4912
4913
4914 //Simplied Mux=0x00272c60350c937f Overflowed in POKEMON STADIUM 2
4915 Simplied DWORDs=030F0604, 00060004, 07020706, 02000000
4916 Color0: (TEXEL1 - SHADE) * PRIMLODFRAC + TEXEL0
4917 Color1: (SHADE - ENV) * COMBINED + ENV
4918 Alpha0: (TEXEL1 - 0) * SHADE + 0
4919 Alpha1: (0 - 0) * 0 + COMBINED
4920 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
4921 */
4922
4923 {
4924 {0x030F0604, 0x00060004, 0x07020706, 0x02000000}, // Simplified mux
4925 0x00272C60, 0x350C937F, // 64bit Mux
4926 2, // number of stages
4927 ENABLE_BOTH,
4928 MUX_PRIM, // Constant color
4929 0x00000007, 0x00000005, 0, // Shade and specular color flags
4930 {0x00000000, 0x00000000}, // constant color texture flags
4931 {
4932 {LERP(PRI,DIF,T0),SKIP, 0, true}, // Stage 0
4933 {SKIP, MOD(T1,DIF), 1, true}, // Stage 1
4934 }
4935 },
4936
4937 /*
4938 //Mux=0x00272c603510e37f Overflowed in POKEMON STADIUM 2
4939 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
4940 Color1: (PRIM - ENV) * COMBINED + ENV
4941 Alpha0: (TEXEL1 - 1) * 1 + TEXEL0
4942 Alpha1: (COMBINED - 0) * SHADE + 0
4943
4944
4945 //Simplied Mux=0x00272c603510e37f Overflowed in POKEMON STADIUM 2
4946 Simplied DWORDs=030F0604, 00060003, 07020706, 02000000
4947 Color0: (TEXEL1 - SHADE) * PRIMLODFRAC + TEXEL0
4948 Color1: (SHADE - ENV) * COMBINED + ENV
4949 Alpha0: (TEXEL0 - 0) * SHADE + 0
4950 Alpha1: (0 - 0) * 0 + COMBINED
4951 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
4952 */
4953
4954 {
4955 {0x030F0604, 0x00060003, 0x07020706, 0x02000000}, // Simplified mux
4956 0x00272C60, 0x3510E37F, // 64bit Mux
4957 2, // number of stages
4958 ENABLE_BOTH,
4959 MUX_ENV, // Constant color
4960 0x00000005, 0x00000000, 0, // Shade and specular color flags
4961 {0x00000000, 0x00000000}, // constant color texture flags
4962 {
4963 {SKIP,MOD(T1,DIF), 1, true}, // Stage 0
4964 {LERP(DIF,ENV,T0), MULADD(T0,DIF,CUR), 0, true}, // Stage 1
4965 }
4966 },
4967
4968 /*
4969 //Mux=0x0030e5ff5f16f63f Overflowed in POKEMON STADIUM 2
4970 Color0: (PRIM - ENV) * TEXEL0 + ENV
4971 Color1: (0 - 0) * 0 + COMBINED
4972 Alpha0: (1 - 0) * TEXEL1 + PRIM
4973 Alpha1: (COMBINED - 0) * ENV + 0
4974
4975
4976 //Simplied Mux=0x0030e5ff5f16f63f Overflowed in POKEMON STADIUM 2
4977 Simplied DWORDs=06030605, 05010004, 02000000, 00020006
4978 Color0: (PRIM - SHADE) * TEXEL0 + SHADE
4979 Color1: (0 - 0) * 0 + COMBINED
4980 Alpha0: (TEXEL1 - 0) * 1 + PRIM
4981 Alpha1: (SHADE - 0) * COMBINED + 0
4982 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
4983 */
4984
4985 {
4986 {0x06030605, 0x05010004, 0x02000000, 0x00020006}, // Simplified mux
4987 0x0030E5FF, 0x5F16F63F, // 64bit Mux
4988 2, // number of stages
4989 ENABLE_BOTH,
4990 MUX_PRIM, // Constant color
4991 0x00000007, 0x00000007, 0, // Shade and specular color flags
4992 {0x00000000, 0x00000000}, // constant color texture flags
4993 {
4994 {LERP(PRI,DIF,T0), MOD(PRI,DIF), 0, true}, // Stage 0
4995 {SKIP, MULADD(T1,DIF,CUR), 1, true}, // Stage 1
4996 }
4997 },
4998
4999 /*
5000 //Mux=0x003117ff5f16fe3f Overflowed in POKEMON STADIUM 2
5001 Color0: (PRIM - ENV) * TEXEL1 + ENV
5002 Color1: (0 - 0) * 0 + COMBINED
5003 Alpha0: (TEXEL0 - 0) * PRIM + 0
5004 Alpha1: (COMBINED - 0) * ENV + 0
5005
5006
5007 //Simplied Mux=0x003117ff5f16fe3f Overflowed in POKEMON STADIUM 2
5008 Simplied DWORDs=06040605, 00050003, 02000000, 00020006
5009 Color0: (PRIM - SHADE) * TEXEL1 + SHADE
5010 Color1: (0 - 0) * 0 + COMBINED
5011 Alpha0: (TEXEL0 - 0) * PRIM + 0
5012 Alpha1: (SHADE - 0) * COMBINED + 0
5013 Simplfied type: CM_FMT_TYPE6_A_LERP_B_CGenerated combiners:
5014 */
5015
5016 {
5017 {0x06040605, 0x00050003, 0x02000000, 0x00020006}, // Simplified mux
5018 0x003117FF, 0x5F16FE3F, // 64bit Mux
5019 2, // number of stages
5020 ENABLE_BOTH,
5021 MUX_PRIM, // Constant color
5022 0x00000007, 0x00000007, 0, // Shade and specular color flags
5023 {0x00000000, 0x00000000}, // constant color texture flags
5024 {
5025 {SKIP, MOD(T0,PRI), 0, true}, // Stage 0
5026 {LERP(PRI,DIF,T1), MOD(DIF,CUR), 1, true}, // Stage 1
5027 }
5028 },
5029
5030 /*
5031 //Mux=0x00272c603410933f Overflowed in POKEMON STADIUM 2
5032 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
5033 Color1: (PRIM - SHADE) * COMBINED + SHADE
5034 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
5035 Alpha1: (COMBINED - 0) * SHADE + 0
5036
5037
5038 //Simplied Mux=0x00272c603410933f Overflowed in POKEMON STADIUM 2
5039 Simplied DWORDs=030F0504, 00060004, 06020605, 02000000
5040 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
5041 Color1: (PRIM - SHADE) * COMBINED + SHADE
5042 Alpha0: (TEXEL1 - 0) * SHADE + 0
5043 Alpha1: (0 - 0) * 0 + COMBINED
5044 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
5045 */
5046
5047 {
5048 {0x030F0504, 0x00060004, 0x06020605, 0x02000000}, // Simplified mux
5049 0x00272C60, 0x3410933F, // 64bit Mux
5050 2, // number of stages
5051 ENABLE_BOTH,
5052 MUX_PRIM, // Constant color
5053 0x00000000, 0x00000000, 0, // Shade and specular color flags
5054 {0x00000000, 0x00000000}, // constant color texture flags
5055 {
5056 {LERP(PRI,DIF,T0), SKIP, 0, true}, // Stage 0
5057 {SKIP, MOD(T1,DIF), 1, true}, // Stage 1
5058 }
5059 },
5060
5061 /*
5062 //Mux=0x00272c603510937f Overflowed in POKEMON STADIUM 2
5063 Color0: (TEXEL1 - PRIM) * PRIMLODFRAC + TEXEL0
5064 Color1: (PRIM - ENV) * COMBINED + ENV
5065 Alpha0: (TEXEL1 - TEXEL0) * 1 + TEXEL0
5066 Alpha1: (COMBINED - 0) * SHADE + 0
5067
5068
5069 //Simplied Mux=0x00272c603510937f Overflowed in POKEMON STADIUM 2
5070 Simplied DWORDs=030F0604, 00060004, 07020706, 02000000
5071 Color0: (TEXEL1 - SHADE) * PRIMLODFRAC + TEXEL0
5072 Color1: (SHADE - ENV) * COMBINED + ENV
5073 Alpha0: (TEXEL1 - 0) * SHADE + 0
5074 Alpha1: (0 - 0) * 0 + COMBINED
5075 Simplfied type: CM_FMT_TYPE_NOT_CHECKEDGenerated combiners:
5076 */
5077
5078 {
5079 {0x030F0604, 0x00060004, 0x07020706, 0x02000000}, // Simplified mux
5080 0x00272C60, 0x3510937F, // 64bit Mux
5081 2, // number of stages
5082 ENABLE_BOTH,
5083 MUX_ENV, // Constant color
5084 0x00000005, 0x00000000, 0, // Shade and specular color flags
5085 {0x00000000, 0x00000000}, // constant color texture flags
5086 {
5087 {LERP(DIF,ENV,T0), SKIP, 0, true}, // Stage 0
5088 {SKIP, MOD(T1,DIF), 1, true}, // Stage 1
5089 }
5090 },
5091
5092 /*
5093 //Mux=0x00167e835ffffc38 Overflowed in POKEMON STADIUM 2
5094 Color0: (TEXEL0 - ENV) * ENV|A + 0
5095 Color1: (SHADE - 0) * PRIM + COMBINED
5096 Alpha0: (0 - 0) * 0 + 1
5097 Alpha1: (0 - 0) * 0 + COMBINED
5098
5099
5100 //Simplied Mux=0x00167e835ffffc38 Overflowed in POKEMON STADIUM 2
5101 Simplied DWORDs=00460703, 01000000, 02060004, 02000000
5102 Color0: (TEXEL0 - ENV) * SHADE|A + 0
5103 Color1: (TEXEL1 - 0) * SHADE + COMBINED
5104 Alpha0: (0 - 0) * 0 + 1
5105 Alpha1: (0 - 0) * 0 + COMBINED
5106 Simplfied type: CM_FMT_TYPE8_A_SUB_B_MOD_CGenerated combiners:
5107 */
5108
5109 {
5110 {0x00460703, 0x01000000, 0x02060004, 0x02000000}, // Simplified mux
5111 0x00167E83, 0x5FFFFC38, // 64bit Mux
5112 2, // number of stages
5113 DISABLE_ALPHA,
5114 MUX_ENV, // Constant color
5115 0x00050006, 0x00000007, 0, // Shade and specular color flags
5116 {0x00000000, 0x00000005}, // constant color texture flags
5117 {
5118 {SUB(T0,ENV), SKIP, 0, true}, // Stage 0
5119 {MULADD(CUR,ENVA,DIF), SKIP, 1, true}, // Stage 1
5120 }
5121 },
5122};
5123
5124int noOfTwoStages = sizeof(twostages)/sizeof(GeneralCombinerInfo);
5125