Fix GX inlines

This commit is contained in:
LagoLunatic
2024-04-15 19:55:09 -04:00
parent 0dbf34dfbf
commit 19325b3c0b
5 changed files with 86 additions and 90 deletions
+13 -3
View File
@@ -49,6 +49,10 @@ inline void J3DGDWriteXFCmdHdr(u16 cmd, u8 len) {
J3DGDWrite_u16(cmd);
}
inline void J3DGXCmd1f32ptr(f32* value) {
GXFIFO.u32 = *(u32*)value;
}
void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 IndTexStageNum, _GXCullMode cullMode);
void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevStageNum, u8 indTexStageNum);
void J3DGDSetIndTexStageNum(u32);
@@ -75,9 +79,15 @@ void J3DGDSetFog(GXFogType, f32, f32, f32, f32, GXColor);
void J3DGDSetFogRangeAdj(u8, u16, GXFogAdjTable*);
static inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) {
GFX_FIFO(u8) = cmd;
GFX_FIFO(u16) = indx;
GFX_FIFO(u16) = addr;
GXFIFO.u8 = cmd;
GXFIFO.u16 = indx;
GXFIFO.u16 = addr;
}
inline void J3DFifoWriteXFCmdHdr(u16 addr, u8 len) {
GXFIFO.u8 = GX_CMD_LOAD_XF_REG;
GXFIFO.u16 = len - 1;
GXFIFO.u16 = addr;
}
inline void J3DGDSetNumChans(u8 numChans) {
+13 -13
View File
@@ -12,16 +12,16 @@ public:
/* 0x04 */ u32 mMtxIdxRegB;
};
static inline void J3DFifoWriteCPCmd(u8 cmd, u32 param) {
GFX_FIFO(u8) = GX_CMD_LOAD_CP_REG;
GFX_FIFO(u8) = cmd;
GFX_FIFO(u32) = param;
static inline void JRNLoadCPCmd(u8 cmd, u32 param) {
GXFIFO.u8 = GX_CMD_LOAD_CP_REG;
GXFIFO.u8 = cmd;
GXFIFO.u32 = param;
}
static inline void J3DFifoWriteXFCmd(u16 cmd, u16 len) {
GFX_FIFO(u8) = GX_CMD_LOAD_XF_REG;
GFX_FIFO(u16) = (len - 1);
GFX_FIFO(u16) = cmd;
inline void JRNLoadXFCmdHdr(u16 cmd, u8 len) {
GXFIFO.u8 = GX_CMD_LOAD_XF_REG;
GXFIFO.u16 = len - 1;
GXFIFO.u16 = cmd;
}
class J3DCurrentMtx : public J3DCurrentMtxInfo {
@@ -40,11 +40,11 @@ public:
u32 getMtxIdxRegB() const { return mMtxIdxRegB; }
inline void load() const {
J3DFifoWriteCPCmd(0x30, getMtxIdxRegA()); // CP_MATINDEX_A
J3DFifoWriteCPCmd(0x40, getMtxIdxRegB()); // CP_MATINDEX_B
J3DFifoWriteXFCmd(0x1018, 2);
GFX_FIFO(u32) = getMtxIdxRegA();
GFX_FIFO(u32) = getMtxIdxRegB();
JRNLoadCPCmd(0x30, getMtxIdxRegA()); // CP_MATINDEX_A
JRNLoadCPCmd(0x40, getMtxIdxRegB()); // CP_MATINDEX_B
JRNLoadXFCmdHdr(0x1018, 2);
GXFIFO.u32 = getMtxIdxRegA();
GXFIFO.u32 = getMtxIdxRegB();
}
void setCurrentTexMtx(u8 t0, u8 t1, u8 t2, u8 t3, u8 t4, u8 t5, u8 t6, u8 t7) {