diff options
| author | Tal Hayon <talhayon1@gmail.com> | 2023-07-09 20:21:18 +0300 |
|---|---|---|
| committer | Tal Hayon <talhayon1@gmail.com> | 2023-07-09 20:21:18 +0300 |
| commit | e00ce8bc31ce57f3aeff7c4844ffa926fa08e95f (patch) | |
| tree | 97873da548ff40005e563245aa002e9fc0117f9f /include/JSystem/J3DGraphBase/J3DGD.h | |
| parent | cf26cd610d4e88f391c7d854b5da5b7460d130c5 (diff) | |
Work on J3DMaterial
Diffstat (limited to 'include/JSystem/J3DGraphBase/J3DGD.h')
| -rw-r--r-- | include/JSystem/J3DGraphBase/J3DGD.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/JSystem/J3DGraphBase/J3DGD.h b/include/JSystem/J3DGraphBase/J3DGD.h index 6cd5659f57..87ab8b94a6 100644 --- a/include/JSystem/J3DGraphBase/J3DGD.h +++ b/include/JSystem/J3DGraphBase/J3DGD.h @@ -3,6 +3,33 @@ #include "dolphin/types.h" #include "dolphin/gx/GX.h" +#include "dolphin/gd/GDBase.h" + +inline void J3DGDWrite_u8(u8 param) { + __GDWrite(param); +} + +inline void J3DGDWrite_u16(u16 param) { + __GDWrite((param & 0xffff) >> 8); + __GDWrite(param & 0xff); +} + +inline void J3DGDWrite_u32(u32 param) { + __GDWrite((param >> 24) & 0xff); + __GDWrite((param >> 16) & 0xff); + __GDWrite((param >> 8) & 0xff); + __GDWrite(param & 0xff); +} + +inline void J3DGDWriteXFCmd(u16 param_1, u32 param_2) { + J3DGDWrite_u8(0x10); + J3DGDWrite_u16(0); + J3DGDWrite_u16(param_1); + J3DGDWrite_u32(param_2); +} + +void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 IndTexStageNum, _GXCullMode cullMode); +void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevStageNum, u8 indTexStageNum); static inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) { GFX_FIFO(u8) = cmd; @@ -10,4 +37,12 @@ static inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) { GFX_FIFO(u16) = addr; } +inline void J3DGDSetNumChans(u8 numChans) { + J3DGDWriteXFCmd(0x1009, numChans); +} + +inline void J3DGDSetNumTexGens(u8 numTexGens) { + J3DGDWriteXFCmd(0x103f, numTexGens); +} + #endif /* J3DGD_H */ |
