mirror of
https://github.com/zeldaret/oot
synced 2026-06-26 02:14:31 -04:00
Fix _DW with permuter and GeometryMode macros (#323)
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
|
||||
/* Types */
|
||||
|
||||
/* Private macro to wrap other macros in do {...} while (0) */
|
||||
#define _DW(macro) do {macro} while (0)
|
||||
|
||||
#define F3DEX_GBI_2
|
||||
|
||||
@@ -2743,11 +2745,11 @@ _DW({ \
|
||||
* gSPLoadGeometryMode(pkt, word) sets GeometryMode directly.
|
||||
*/
|
||||
#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); \
|
||||
}
|
||||
})
|
||||
|
||||
#define gsSPGeometryMode(c, s) \
|
||||
{ \
|
||||
@@ -2762,12 +2764,12 @@ _DW({ \
|
||||
|
||||
#else /* F3DEX_GBI_2 */
|
||||
#define gSPSetGeometryMode(pkt, word) \
|
||||
_DW({ \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
\
|
||||
_g->words.w0 = _SHIFTL(G_SETGEOMETRYMODE, 24, 8); \
|
||||
_g->words.w1 = (unsigned int)(word); \
|
||||
})
|
||||
}
|
||||
|
||||
#define gsSPSetGeometryMode(word) \
|
||||
{ \
|
||||
@@ -2775,12 +2777,12 @@ _DW({ \
|
||||
}
|
||||
|
||||
#define gSPClearGeometryMode(pkt, word) \
|
||||
_DW({ \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
\
|
||||
_g->words.w0 = _SHIFTL(G_CLEARGEOMETRYMODE, 24, 8); \
|
||||
_g->words.w1 = (unsigned int)(word); \
|
||||
})
|
||||
}
|
||||
|
||||
#define gsSPClearGeometryMode(word) \
|
||||
{ \
|
||||
@@ -4495,7 +4497,4 @@ _DW({ \
|
||||
|
||||
#endif
|
||||
|
||||
/* Private macro to wrap other macros in do {...} while (0) */
|
||||
#define _DW(macro) do {macro} while (0)
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user