Skip to content

Instantly share code, notes, and snippets.

@Dragorn421
Created January 20, 2022 02:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Dragorn421/35ff8d8860006f8ab9911ef35104390d to your computer and use it in GitHub Desktop.
Save Dragorn421/35ff8d8860006f8ab9911ef35104390d to your computer and use it in GitHub Desktop.
oot gbi.h changes: "disable" fog and textures, shade everything using normal/vertex color data as vertex colors
diff --git a/include/ultra64/gbi.h b/include/ultra64/gbi.h
index 82b3589ae..60b87bf60 100644
--- a/include/ultra64/gbi.h
+++ b/include/ultra64/gbi.h
@@ -599,11 +599,11 @@
#define G_BL_CLR_IN 0
#define G_BL_CLR_MEM 1
#define G_BL_CLR_BL 2
-#define G_BL_CLR_FOG 3
+#define G_BL_CLR_FOG G_BL_CLR_IN//3
#define G_BL_1MA 0
#define G_BL_A_MEM 1
#define G_BL_A_IN 0
-#define G_BL_A_FOG 1
+#define G_BL_A_FOG 3//1
#define G_BL_A_SHADE 2
#define G_BL_1 2
#define G_BL_0 3
@@ -2747,16 +2747,17 @@ _DW({ \
*
* gSPLoadGeometryMode(pkt, word) sets GeometryMode directly.
*/
+#define MYGM(s) ((s&~G_LIGHTING)|G_SHADE)
#define gSPGeometryMode(pkt, c, s) \
_DW({ \
Gfx *_g = (Gfx *)(pkt); \
_g->words.w0 = _SHIFTL(G_GEOMETRYMODE,24,8)|_SHIFTL(~(u32)(c),0,24);\
- _g->words.w1 = (u32)(s); \
+ _g->words.w1 = (u32)(MYGM(s)); \
})
#define gsSPGeometryMode(c, s) \
{ \
- (_SHIFTL(G_GEOMETRYMODE,24,8)|_SHIFTL(~(u32)(c),0,24)),(u32)(s) \
+ (_SHIFTL(G_GEOMETRYMODE,24,8)|_SHIFTL(~(u32)(c),0,24)),(u32)(MYGM(s)) \
}
#define gSPSetGeometryMode(pkt, word) gSPGeometryMode((pkt),0,(word))
#define gsSPSetGeometryMode(word) gsSPGeometryMode(0,(word))
@@ -2948,7 +2949,7 @@ _DW({ \
/*
* RDP macros
*/
-
+/*
#define gDPSetCombine(pkt, muxs0, muxs1) \
_DW({ \
Gfx *_g = (Gfx *)(pkt); \
@@ -2962,6 +2963,7 @@ _DW({ \
_SHIFTL(G_SETCOMBINE, 24, 8) | _SHIFTL(muxs0, 0, 24), \
(unsigned int)(muxs1) \
}
+*/
#define GCCc0w0(saRGB0, mRGB0, saA0, mA0) \
(_SHIFTL((saRGB0), 20, 4) | _SHIFTL((mRGB0), 15, 5) | \
@@ -2979,40 +2981,42 @@ _DW({ \
_SHIFTL((mA1), 18, 3) | _SHIFTL((aRGB1), 6, 3) | \
_SHIFTL((sbA1), 3, 3) | _SHIFTL((aA1), 0, 3))
+#define MYCCMUX(c) (((c) == 1 || (c) == 2) ? 6 : (c))
+
#define gDPSetCombineLERP(pkt, a0, b0, c0, d0, Aa0, Ab0, Ac0, Ad0, \
a1, b1, c1, d1, Aa1, Ab1, Ac1, Ad1) \
_DW({ \
Gfx *_g = (Gfx *)(pkt); \
\
_g->words.w0 = _SHIFTL(G_SETCOMBINE, 24, 8) | \
- _SHIFTL(GCCc0w0(G_CCMUX_##a0, G_CCMUX_##c0, \
- G_ACMUX_##Aa0, G_ACMUX_##Ac0) | \
- GCCc1w0(G_CCMUX_##a1, G_CCMUX_##c1), \
+ _SHIFTL(GCCc0w0(MYCCMUX(G_CCMUX_##a0), MYCCMUX(G_CCMUX_##c0), \
+ MYCCMUX(G_ACMUX_##Aa0), MYCCMUX(G_ACMUX_##Ac0)) | \
+ GCCc1w0(MYCCMUX(G_CCMUX_##a1), MYCCMUX(G_CCMUX_##c1)), \
0, 24); \
- _g->words.w1 = (unsigned int)(GCCc0w1(G_CCMUX_##b0, \
- G_CCMUX_##d0, \
- G_ACMUX_##Ab0, \
- G_ACMUX_##Ad0) | \
- GCCc1w1(G_CCMUX_##b1, \
- G_ACMUX_##Aa1, \
- G_ACMUX_##Ac1, \
- G_CCMUX_##d1, \
- G_ACMUX_##Ab1, \
- G_ACMUX_##Ad1)); \
+ _g->words.w1 = (unsigned int)(GCCc0w1(MYCCMUX(G_CCMUX_##b0), \
+ MYCCMUX(G_CCMUX_##d0), \
+ MYCCMUX(G_ACMUX_##Ab0), \
+ MYCCMUX(G_ACMUX_##Ad0)) | \
+ GCCc1w1(MYCCMUX(G_CCMUX_##b1), \
+ MYCCMUX(G_ACMUX_##Aa1), \
+ MYCCMUX(G_ACMUX_##Ac1), \
+ MYCCMUX(G_CCMUX_##d1), \
+ MYCCMUX(G_ACMUX_##Ab1), \
+ MYCCMUX(G_ACMUX_##Ad1))); \
})
#define gsDPSetCombineLERP(a0, b0, c0, d0, Aa0, Ab0, Ac0, Ad0, \
a1, b1, c1, d1, Aa1, Ab1, Ac1, Ad1) \
{ \
_SHIFTL(G_SETCOMBINE, 24, 8) | \
- _SHIFTL(GCCc0w0(G_CCMUX_##a0, G_CCMUX_##c0, \
- G_ACMUX_##Aa0, G_ACMUX_##Ac0) | \
- GCCc1w0(G_CCMUX_##a1, G_CCMUX_##c1), 0, 24), \
- (unsigned int)(GCCc0w1(G_CCMUX_##b0, G_CCMUX_##d0, \
- G_ACMUX_##Ab0, G_ACMUX_##Ad0) | \
- GCCc1w1(G_CCMUX_##b1, G_ACMUX_##Aa1, \
- G_ACMUX_##Ac1, G_CCMUX_##d1, \
- G_ACMUX_##Ab1, G_ACMUX_##Ad1)) \
+ _SHIFTL(GCCc0w0(MYCCMUX(G_CCMUX_##a0), MYCCMUX(G_CCMUX_##c0), \
+ MYCCMUX(G_ACMUX_##Aa0), MYCCMUX(G_ACMUX_##Ac0)) | \
+ GCCc1w0(MYCCMUX(G_CCMUX_##a1), MYCCMUX(G_CCMUX_##c1)), 0, 24), \
+ (unsigned int)(GCCc0w1(MYCCMUX(G_CCMUX_##b0), MYCCMUX(G_CCMUX_##d0), \
+ MYCCMUX(G_ACMUX_##Ab0), MYCCMUX(G_ACMUX_##Ad0)) | \
+ GCCc1w1(MYCCMUX(G_CCMUX_##b1), MYCCMUX(G_ACMUX_##Aa1), \
+ MYCCMUX(G_ACMUX_##Ac1), MYCCMUX(G_CCMUX_##d1), \
+ MYCCMUX(G_ACMUX_##Ab1), MYCCMUX(G_ACMUX_##Ad1))) \
}
/*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment