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;
typedef enum _GXLightID {
/* 0x000 */ GX_LIGHT_NULL,
/* 0x001 */ GX_LIGHT0,
/* 0x002 */ GX_LIGHT1,
/* 0x004 */ GX_LIGHT2 = 0x4,
/* 0x008 */ GX_LIGHT3 = 0x8,
/* 0x010 */ GX_LIGHT4 = 0x10,
/* 0x020 */ GX_LIGHT5 = 0x20,
/* 0x040 */ GX_LIGHT6 = 0x40,
/* 0x080 */ GX_LIGHT7 = 0x80,
/* 0x100 */ GX_MAX_LIGHT = 0x100,
/* 0x000 */ GX_LIGHT_NULL = 0,
/* 0x001 */ GX_LIGHT0 = 1 << 0,
/* 0x002 */ GX_LIGHT1 = 1 << 1,
/* 0x004 */ GX_LIGHT2 = 1 << 2,
/* 0x008 */ GX_LIGHT3 = 1 << 3,
/* 0x010 */ GX_LIGHT4 = 1 << 4,
/* 0x020 */ GX_LIGHT5 = 1 << 5,
/* 0x040 */ GX_LIGHT6 = 1 << 6,
/* 0x080 */ GX_LIGHT7 = 1 << 7,
/* 0x100 */ GX_MAX_LIGHT = 1 << 8,
} GXLightID;
typedef enum _GXDiffuseFn {
@ -860,7 +860,7 @@ void GXSetNumChans(u8);
void GXSetNumTevStages(u8);
void GXSetNumTexGens(u8);
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 GXSetTevColor(GXTevRegID, GXColor);
void GXSetTevColorIn(GXTevStageID, GXTevColorArg, GXTevColorArg, GXTevColorArg, GXTevColorArg);
@ -955,6 +955,17 @@ void GXReadXfRasMetric(u32*, u32*, u32*, u32*);
void GXInitFifoBase(GXFifoObj*, void*, u32);
void GXInitFifoPtrs(GXFifoObj*, void*, void*);
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)

View File

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

View File

@ -134,7 +134,6 @@ extern "C" void func_80280588();
extern "C" void JPAGetXYZRotateMtx__FsssPA4_f();
extern "C" void alloc__7JKRHeapFUliP7JKRHeap();
extern "C" void load__10JUTTextureF11_GXTexMapID();
extern "C" void GXSetMisc();
extern "C" void __save_gpr();
extern "C" void _savegpr_25();
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* __nw__FUl();
extern "C" void GXClearVtxDesc();
extern "C" void GXSetMisc();
extern "C" void GXInvalidateTexAll();
extern "C" void _savegpr_20();
extern "C" void _savegpr_24();