J3DShape: Some funcs

This commit is contained in:
Jasper St. Pierre 2022-04-23 14:34:11 -07:00
parent f1d2226507
commit e5df49a7f3
4 changed files with 29 additions and 27 deletions

View File

@ -171,16 +171,16 @@ typedef enum _GXColorSrc {
} GXColorSrc; } GXColorSrc;
typedef enum _GXLightID { typedef enum _GXLightID {
/* 0x000 */ GX_LIGHT_NULL, /* 0x000 */ GX_LIGHT_NULL = 0,
/* 0x001 */ GX_LIGHT0, /* 0x001 */ GX_LIGHT0 = 1 << 0,
/* 0x002 */ GX_LIGHT1, /* 0x002 */ GX_LIGHT1 = 1 << 1,
/* 0x004 */ GX_LIGHT2 = 0x4, /* 0x004 */ GX_LIGHT2 = 1 << 2,
/* 0x008 */ GX_LIGHT3 = 0x8, /* 0x008 */ GX_LIGHT3 = 1 << 3,
/* 0x010 */ GX_LIGHT4 = 0x10, /* 0x010 */ GX_LIGHT4 = 1 << 4,
/* 0x020 */ GX_LIGHT5 = 0x20, /* 0x020 */ GX_LIGHT5 = 1 << 5,
/* 0x040 */ GX_LIGHT6 = 0x40, /* 0x040 */ GX_LIGHT6 = 1 << 6,
/* 0x080 */ GX_LIGHT7 = 0x80, /* 0x080 */ GX_LIGHT7 = 1 << 7,
/* 0x100 */ GX_MAX_LIGHT = 0x100, /* 0x100 */ GX_MAX_LIGHT = 1 << 8,
} GXLightID; } GXLightID;
typedef enum _GXDiffuseFn { typedef enum _GXDiffuseFn {
@ -860,7 +860,7 @@ void GXSetNumChans(u8);
void GXSetNumTevStages(u8); void GXSetNumTevStages(u8);
void GXSetNumTexGens(u8); void GXSetNumTexGens(u8);
void GXSetTevOrder(GXTevStageID, GXTexCoordID, GXTexMapID, GXChannelID); void GXSetTevOrder(GXTevStageID, GXTexCoordID, GXTexMapID, GXChannelID);
void GXSetChanCtrl(GXChannelID, GXBool, GXColorSrc, GXColorSrc, GXLightID, GXDiffuseFn, GXAttnFn); void GXSetChanCtrl(GXChannelID, GXBool, GXColorSrc, GXColorSrc, u32, GXDiffuseFn, GXAttnFn);
void GXSetTevOp(GXTevStageID, GXTevMode); void GXSetTevOp(GXTevStageID, GXTevMode);
void GXSetTevColor(GXTevRegID, GXColor); void GXSetTevColor(GXTevRegID, GXColor);
void GXSetTevColorIn(GXTevStageID, GXTevColorArg, GXTevColorArg, GXTevColorArg, GXTevColorArg); void GXSetTevColorIn(GXTevStageID, GXTevColorArg, GXTevColorArg, GXTevColorArg, GXTevColorArg);
@ -955,6 +955,17 @@ void GXReadXfRasMetric(u32*, u32*, u32*, u32*);
void GXInitFifoBase(GXFifoObj*, void*, u32); void GXInitFifoBase(GXFifoObj*, void*, u32);
void GXInitFifoPtrs(GXFifoObj*, void*, void*); void GXInitFifoPtrs(GXFifoObj*, void*, void*);
void GXSaveCPUFifo(GXFifoObj*); void GXSaveCPUFifo(GXFifoObj*);
void GXSetMisc(u32 opt, u32 val);
typedef enum _GXCommand
{
GX_CMD_LOAD_INDX_A = 0x20,
GX_CMD_LOAD_INDX_B = 0x28,
GX_CMD_LOAD_INDX_C = 0x30,
GX_CMD_LOAD_INDX_D = 0x38,
GX_CMD_LOAD_CP_CMD = 0x08,
} GXCommand;
#define GFX_FIFO(T) (*(volatile T*)0xCC008000) #define GFX_FIFO(T) (*(volatile T*)0xCC008000)

View File

@ -143,24 +143,17 @@ asm void J3DShape::countBumpMtxNum() const {
#pragma pop #pragma pop
/* 80314E98-80314EB0 30F7D8 0018+00 1/1 0/0 0/0 .text J3DLoadCPCmd__FUcUl */ /* 80314E98-80314EB0 30F7D8 0018+00 1/1 0/0 0/0 .text J3DLoadCPCmd__FUcUl */
#pragma push void J3DLoadCPCmd(u8 cmd, u32 param) {
#pragma optimization_level 0 GFX_FIFO(u8) = GX_CMD_LOAD_CP_CMD;
#pragma optimizewithasm off GFX_FIFO(u8) = cmd;
static asm void J3DLoadCPCmd(u8 param_0, u32 param_1) { GFX_FIFO(u32) = param;
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShape/J3DLoadCPCmd__FUcUl.s"
} }
#pragma pop
/* 80314EB0-80314EEC 30F7F0 003C+00 1/1 0/0 0/0 .text J3DLoadArrayBasePtr__F7_GXAttrPv */ /* 80314EB0-80314EEC 30F7F0 003C+00 1/1 0/0 0/0 .text J3DLoadArrayBasePtr__F7_GXAttrPv */
#pragma push static void J3DLoadArrayBasePtr(_GXAttr attr, void* data) {
#pragma optimization_level 0 u32 idx = (attr == GX_VA_NBT) ? 1 : (attr - GX_VA_POS);
#pragma optimizewithasm off J3DLoadCPCmd(0xA0 + idx, ((u32)data & 0x7FFFFFFF));
static asm void J3DLoadArrayBasePtr(_GXAttr param_0, void* param_1) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DShape/J3DLoadArrayBasePtr__F7_GXAttrPv.s"
} }
#pragma pop
/* 80314EEC-80314F5C 30F82C 0070+00 3/3 0/0 0/0 .text loadVtxArray__8J3DShapeCFv */ /* 80314EEC-80314F5C 30F82C 0070+00 3/3 0/0 0/0 .text loadVtxArray__8J3DShapeCFv */
void J3DShape::loadVtxArray() const { void J3DShape::loadVtxArray() const {

View File

@ -134,7 +134,6 @@ extern "C" void func_80280588();
extern "C" void JPAGetXYZRotateMtx__FsssPA4_f(); extern "C" void JPAGetXYZRotateMtx__FsssPA4_f();
extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); extern "C" void alloc__7JKRHeapFUliP7JKRHeap();
extern "C" void load__10JUTTextureF11_GXTexMapID(); extern "C" void load__10JUTTextureF11_GXTexMapID();
extern "C" void GXSetMisc();
extern "C" void __save_gpr(); extern "C" void __save_gpr();
extern "C" void _savegpr_25(); extern "C" void _savegpr_25();
extern "C" void _savegpr_27(); extern "C" void _savegpr_27();

View File

@ -160,7 +160,6 @@ extern "C" void getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c();
extern "C" void getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c(); extern "C" void getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c();
extern "C" void* __nw__FUl(); extern "C" void* __nw__FUl();
extern "C" void GXClearVtxDesc(); extern "C" void GXClearVtxDesc();
extern "C" void GXSetMisc();
extern "C" void GXInvalidateTexAll(); extern "C" void GXInvalidateTexAll();
extern "C" void _savegpr_20(); extern "C" void _savegpr_20();
extern "C" void _savegpr_24(); extern "C" void _savegpr_24();