mirror of
https://github.com/zeldaret/tp
synced 2026-05-23 23:05:36 -04:00
420 lines
14 KiB
C++
420 lines
14 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: J3DShape
|
|
//
|
|
|
|
#include "JSystem/J3DGraphBase/J3DShape.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
|
|
//
|
|
// Types:
|
|
//
|
|
|
|
struct _GXVtxFmt {};
|
|
|
|
struct _GXVtxAttrFmtList {};
|
|
|
|
struct _GXAttr {};
|
|
|
|
struct Vec {};
|
|
|
|
struct J3DShapeMtx {
|
|
/* 803130A8 */ void resetMtxLoadCache();
|
|
};
|
|
|
|
struct J3DShapeDraw {
|
|
/* 80314974 */ void addTexMtxIndexInDL(u32, u32, u32);
|
|
/* 80314AD4 */ void draw() const;
|
|
};
|
|
|
|
struct J3DShape {
|
|
/* 80314B48 */ void initialize();
|
|
/* 80314BB8 */ void addTexMtxIndexInDL(_GXAttr, u32);
|
|
/* 80314CBC */ void addTexMtxIndexInVcd(_GXAttr);
|
|
/* 80314DA8 */ void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
|
/* 80314E28 */ void countBumpMtxNum() const;
|
|
/* 80314EEC */ void loadVtxArray() const;
|
|
/* 80314F5C */ void isSameVcdVatCmd(J3DShape*);
|
|
/* 80314F98 */ void makeVtxArrayCmd();
|
|
/* 80315260 */ void makeVcdVatCmd();
|
|
/* 80315300 */ void loadPreDrawSetting() const;
|
|
/* 80315398 */ void setArrayAndBindPipeline() const;
|
|
/* 8031544C */ void drawFast() const;
|
|
/* 803155E0 */ void draw() const;
|
|
/* 80315628 */ void simpleDraw() const;
|
|
/* 803156AC */ void simpleDrawCache() const;
|
|
};
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
static void J3DLoadCPCmd(u8, u32);
|
|
static void J3DLoadArrayBasePtr(_GXAttr, void*);
|
|
|
|
extern "C" void initialize__8J3DShapeFv();
|
|
extern "C" void addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl();
|
|
extern "C" void addTexMtxIndexInVcd__8J3DShapeF7_GXAttr();
|
|
extern "C" void calcNBTScale__8J3DShapeFRC3VecPA3_A3_fPA3_A3_f();
|
|
extern "C" void countBumpMtxNum__8J3DShapeCFv();
|
|
extern "C" static void J3DLoadCPCmd__FUcUl();
|
|
extern "C" static void J3DLoadArrayBasePtr__F7_GXAttrPv();
|
|
extern "C" void loadVtxArray__8J3DShapeCFv();
|
|
extern "C" void isSameVcdVatCmd__8J3DShapeFP8J3DShape();
|
|
extern "C" void makeVtxArrayCmd__8J3DShapeFv();
|
|
extern "C" void makeVcdVatCmd__8J3DShapeFv();
|
|
extern "C" void loadPreDrawSetting__8J3DShapeCFv();
|
|
extern "C" void setArrayAndBindPipeline__8J3DShapeCFv();
|
|
extern "C" void drawFast__8J3DShapeCFv();
|
|
extern "C" void draw__8J3DShapeCFv();
|
|
extern "C" void simpleDraw__8J3DShapeCFv();
|
|
extern "C" void simpleDrawCache__8J3DShapeCFv();
|
|
extern "C" extern void* __vt__8J3DShape[6];
|
|
extern "C" extern u8 sOldVcdVatCmd__8J3DShape[4];
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
void* operator new[](u32);
|
|
void J3DGDSetVtxAttrFmtv(_GXVtxFmt, _GXVtxAttrFmtList const*, bool);
|
|
void J3DFifoLoadPosMtxImm(f32 (*)[4], u32);
|
|
void J3DFifoLoadNrmMtxImm(f32 (*)[4], u32);
|
|
|
|
extern "C" void* __nwa__FUl();
|
|
extern "C" void J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb();
|
|
extern "C" void J3DFifoLoadPosMtxImm__FPA4_fUl();
|
|
extern "C" void J3DFifoLoadNrmMtxImm__FPA4_fUl();
|
|
extern "C" void resetMtxLoadCache__11J3DShapeMtxFv();
|
|
extern "C" void addTexMtxIndexInDL__12J3DShapeDrawFUlUlUl();
|
|
extern "C" void draw__12J3DShapeDrawCFv();
|
|
extern "C" void OSDisableInterrupts();
|
|
extern "C" void OSRestoreInterrupts();
|
|
extern "C" void OSDisableScheduler();
|
|
extern "C" void OSEnableScheduler();
|
|
extern "C" void GXSetArray();
|
|
extern "C" void GXCallDisplayList();
|
|
extern "C" void GDInitGDLObj();
|
|
extern "C" void GDFlushCurrToMem();
|
|
extern "C" void GDPadCurr32();
|
|
extern "C" void GDSetVtxDescv();
|
|
extern "C" void GDSetArray();
|
|
extern "C" void GDSetArrayRaw();
|
|
extern "C" void _savegpr_27();
|
|
extern "C" void _savegpr_28();
|
|
extern "C" void _savegpr_29();
|
|
extern "C" void _restgpr_27();
|
|
extern "C" void _restgpr_28();
|
|
extern "C" void _restgpr_29();
|
|
extern "C" extern u8 j3dSys[284];
|
|
extern "C" extern u8 j3dDefaultViewNo[4 + 4 /* padding */];
|
|
extern "C" extern u8 sCurrentPipeline__11J3DShapeMtx[4];
|
|
extern "C" extern u8 sCurrentScaleFlag__11J3DShapeMtx[4];
|
|
extern "C" extern u8 struct_804515B0[4];
|
|
extern "C" extern u8 sTexMtxLoadType__11J3DShapeMtx[4];
|
|
extern "C" extern u8 __GDCurrentDL[4];
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* ############################################################################################## */
|
|
/* 804563A0-804563A8 0004+04 s=1 e=0 z=0 None .sdata2 @687 */
|
|
SECTION_SDATA2 static f32 lit_687[1 + 1 /* padding */] = {
|
|
0.0f,
|
|
/* padding */
|
|
0.0f,
|
|
};
|
|
|
|
/* 80314B48-80314BB8 0070+00 s=0 e=1 z=0 None .text initialize__8J3DShapeFv */
|
|
// 80314B64: 804563A0 (lit_687)
|
|
// 80314BA4: 80451598 (j3dDefaultViewNo)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::initialize() {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/initialize__8J3DShapeFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 803A1E98-803A1EA8 0010+00 s=1 e=0 z=0 None .rodata @697 */
|
|
SECTION_RODATA static u8 const lit_697[16] = {
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
|
|
};
|
|
|
|
/* 80314BB8-80314CBC 0104+00 s=0 e=1 z=0 None .text addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl
|
|
*/
|
|
// 80314BC8: 803621D4 (_savegpr_27)
|
|
// 80314BD0: 803A1E98 (lit_697)
|
|
// 80314BD4: 803A1E98 (lit_697)
|
|
// 80314C8C: 80314974 (addTexMtxIndexInDL__12J3DShapeDrawFUlUlUl)
|
|
// 80314CA8: 80362220 (_restgpr_27)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::addTexMtxIndexInDL(_GXAttr param_0, u32 param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80314CBC-80314DA8 00EC+00 s=0 e=1 z=0 None .text addTexMtxIndexInVcd__8J3DShapeF7_GXAttr */
|
|
// 80314D18: 802CECC4 (__nwa__FUl)
|
|
// 80314D8C: 80315260 (makeVcdVatCmd__8J3DShapeFv)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::addTexMtxIndexInVcd(_GXAttr param_0) {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/addTexMtxIndexInVcd__8J3DShapeF7_GXAttr.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80314DA8-80314E28 0080+00 s=0 e=1 z=0 None .text
|
|
* calcNBTScale__8J3DShapeFRC3VecPA3_A3_fPA3_A3_f */
|
|
// 80314DB8: 803621D4 (_savegpr_27)
|
|
// 80314E14: 80362220 (_restgpr_27)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::calcNBTScale(Vec const& param_0, f32 (*param_1)[3][3], f32 (*param_2)[3][3]) {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/calcNBTScale__8J3DShapeFRC3VecPA3_A3_fPA3_A3_f.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80314E28-80314E98 0070+00 s=0 e=1 z=0 None .text countBumpMtxNum__8J3DShapeCFv */
|
|
// 80314E38: 803621D8 (_savegpr_28)
|
|
// 80314E84: 80362224 (_restgpr_28)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::countBumpMtxNum() const {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/countBumpMtxNum__8J3DShapeCFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80314E98-80314EB0 0018+00 s=1 e=0 z=0 None .text J3DLoadCPCmd__FUcUl */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm static void J3DLoadCPCmd(u8 param_0, u32 param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/J3DLoadCPCmd__FUcUl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80314EB0-80314EEC 003C+00 s=1 e=0 z=0 None .text J3DLoadArrayBasePtr__F7_GXAttrPv */
|
|
// 80314ED8: 80314E98 (J3DLoadCPCmd__FUcUl)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm static void J3DLoadArrayBasePtr(_GXAttr param_0, void* param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/J3DLoadArrayBasePtr__F7_GXAttrPv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80314EEC-80314F5C 0070+00 s=3 e=0 z=0 None .text loadVtxArray__8J3DShapeCFv */
|
|
// 80314F04: 80434AC8 (j3dSys)
|
|
// 80314F08: 80434AC8 (j3dSys)
|
|
// 80314F10: 80314EB0 (J3DLoadArrayBasePtr__F7_GXAttrPv)
|
|
// 80314F24: 80434AC8 (j3dSys)
|
|
// 80314F28: 80434AC8 (j3dSys)
|
|
// 80314F30: 80314EB0 (J3DLoadArrayBasePtr__F7_GXAttrPv)
|
|
// 80314F38: 80434AC8 (j3dSys)
|
|
// 80314F3C: 80434AC8 (j3dSys)
|
|
// 80314F44: 80314EB0 (J3DLoadArrayBasePtr__F7_GXAttrPv)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::loadVtxArray() const {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/loadVtxArray__8J3DShapeCFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80314F5C-80314F98 003C+00 s=0 e=1 z=0 None .text isSameVcdVatCmd__8J3DShapeFP8J3DShape */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::isSameVcdVatCmd(J3DShape* param_0) {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/isSameVcdVatCmd__8J3DShapeFP8J3DShape.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80314F98-80315260 02C8+00 s=1 e=0 z=0 None .text makeVtxArrayCmd__8J3DShapeFv */
|
|
// 80314FA8: 803621D4 (_savegpr_27)
|
|
// 80315218: 80361700 (GDSetArray)
|
|
// 8031522C: 8036190C (GDSetArrayRaw)
|
|
// 8031524C: 80362220 (_restgpr_27)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::makeVtxArrayCmd() {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/makeVtxArrayCmd__8J3DShapeFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 804515C8-804515CC 0004+00 s=1 e=0 z=0 None .sbss sInterruptFlag$903 */
|
|
static u8 sInterruptFlag[4];
|
|
|
|
/* 804515CC-804515D0 0004+00 s=1 e=0 z=0 None .sbss None */
|
|
static u8 data_804515CC[4];
|
|
|
|
/* 80315260-80315300 00A0+00 s=1 e=2 z=0 None .text makeVcdVatCmd__8J3DShapeFv */
|
|
// 80315274: 804515CC (data_804515CC)
|
|
// 80315280: 8033D6F4 (OSDisableInterrupts)
|
|
// 80315284: 804515C8 (sInterruptFlag)
|
|
// 8031528C: 804515CC (data_804515CC)
|
|
// 80315290: 80340CC4 (OSDisableScheduler)
|
|
// 803152A0: 80360F98 (GDInitGDLObj)
|
|
// 803152A8: 80451980 (__GDCurrentDL)
|
|
// 803152B0: 80361104 (GDSetVtxDescv)
|
|
// 803152B8: 80314F98 (makeVtxArrayCmd__8J3DShapeFv)
|
|
// 803152CC: 8030DB04 (J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb)
|
|
// 803152D0: 80360FDC (GDPadCurr32)
|
|
// 803152D4: 80360FB0 (GDFlushCurrToMem)
|
|
// 803152DC: 80451980 (__GDCurrentDL)
|
|
// 803152E0: 80340D04 (OSEnableScheduler)
|
|
// 803152E4: 804515C8 (sInterruptFlag)
|
|
// 803152E8: 8033D71C (OSRestoreInterrupts)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::makeVcdVatCmd() {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/makeVcdVatCmd__8J3DShapeFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 804515D0-804515D4 0004+00 s=5 e=25 z=9 None .sbss sOldVcdVatCmd__8J3DShape */
|
|
u8 sOldVcdVatCmd__8J3DShape[4];
|
|
|
|
/* 80315300-80315398 0098+00 s=2 e=6 z=3 None .text loadPreDrawSetting__8J3DShapeCFv */
|
|
// 80315314: 804515D0 (sOldVcdVatCmd__8J3DShape)
|
|
// 80315328: 8035FEF0 (GXCallDisplayList)
|
|
// 80315330: 804515D0 (sOldVcdVatCmd__8J3DShape)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::loadPreDrawSetting() const {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/loadPreDrawSetting__8J3DShapeCFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 804515D4-804515D8 0004+00 s=3 e=0 z=0 None .sbss None */
|
|
static u8 data_804515D4[4];
|
|
|
|
/* 80315398-8031544C 00B4+00 s=1 e=0 z=0 None .text setArrayAndBindPipeline__8J3DShapeCFv */
|
|
// 803153B4: 804515A8 (sCurrentPipeline__11J3DShapeMtx)
|
|
// 803153B8: 80314EEC (loadVtxArray__8J3DShapeCFv)
|
|
// 803153D0: 80434AC8 (j3dSys)
|
|
// 803153D4: 80434AC8 (j3dSys)
|
|
// 803153E4: 8035BB28 (GXSetArray)
|
|
// 803153FC: 80434AC8 (j3dSys)
|
|
// 80315400: 80434AC8 (j3dSys)
|
|
// 80315410: 8035BB28 (GXSetArray)
|
|
// 80315418: 804515AC (sCurrentScaleFlag__11J3DShapeMtx)
|
|
// 80315420: 804515B0 (struct_804515B0)
|
|
// 80315428: 804515D4 (data_804515D4)
|
|
// 80315434: 804515B4 (sTexMtxLoadType__11J3DShapeMtx)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::setArrayAndBindPipeline() const {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/setArrayAndBindPipeline__8J3DShapeCFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8031544C-803155E0 0194+00 s=1 e=0 z=0 None .text drawFast__8J3DShapeCFv */
|
|
// 8031545C: 803621D4 (_savegpr_27)
|
|
// 80315464: 804515D0 (sOldVcdVatCmd__8J3DShape)
|
|
// 80315478: 8035FEF0 (GXCallDisplayList)
|
|
// 80315480: 804515D0 (sOldVcdVatCmd__8J3DShape)
|
|
// 80315484: 804515D4 (data_804515D4)
|
|
// 803154F0: 80315398 (setArrayAndBindPipeline__8J3DShapeCFv)
|
|
// 80315500: 804515B1 (struct_804515B0)
|
|
// 8031550C: 803130A8 (resetMtxLoadCache__11J3DShapeMtxFv)
|
|
// 80315550: 80314AD4 (draw__12J3DShapeDrawCFv)
|
|
// 80315568: 80434AC8 (j3dSys)
|
|
// 8031556C: 80434AC8 (j3dSys)
|
|
// 8031557C: 8030FAE0 (J3DFifoLoadPosMtxImm__FPA4_fUl)
|
|
// 8031558C: 8030FB60 (J3DFifoLoadNrmMtxImm__FPA4_fUl)
|
|
// 803155B4: 80314AD4 (draw__12J3DShapeDrawCFv)
|
|
// 803155CC: 80362220 (_restgpr_27)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::drawFast() const {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/drawFast__8J3DShapeCFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 803155E0-80315628 0048+00 s=1 e=0 z=0 None .text draw__8J3DShapeCFv */
|
|
// 803155F8: 804515D0 (sOldVcdVatCmd__8J3DShape)
|
|
// 803155FC: 80315300 (loadPreDrawSetting__8J3DShapeCFv)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::draw() const {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/draw__8J3DShapeCFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80315628-803156AC 0084+00 s=1 e=0 z=0 None .text simpleDraw__8J3DShapeCFv */
|
|
// 80315638: 803621DC (_savegpr_29)
|
|
// 80315644: 804515D0 (sOldVcdVatCmd__8J3DShape)
|
|
// 80315648: 80315300 (loadPreDrawSetting__8J3DShapeCFv)
|
|
// 80315654: 804515A8 (sCurrentPipeline__11J3DShapeMtx)
|
|
// 8031565C: 80314EEC (loadVtxArray__8J3DShapeCFv)
|
|
// 80315680: 80314AD4 (draw__12J3DShapeDrawCFv)
|
|
// 80315698: 80362228 (_restgpr_29)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::simpleDraw() const {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/simpleDraw__8J3DShapeCFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 803156AC-803157A0 00F4+00 s=1 e=0 z=0 None .text simpleDrawCache__8J3DShapeCFv */
|
|
// 803156BC: 803621DC (_savegpr_29)
|
|
// 803156C4: 804515D0 (sOldVcdVatCmd__8J3DShape)
|
|
// 803156D8: 8035FEF0 (GXCallDisplayList)
|
|
// 803156E0: 804515D0 (sOldVcdVatCmd__8J3DShape)
|
|
// 803156E4: 804515D4 (data_804515D4)
|
|
// 80315750: 80314EEC (loadVtxArray__8J3DShapeCFv)
|
|
// 80315774: 80314AD4 (draw__12J3DShapeDrawCFv)
|
|
// 8031578C: 80362228 (_restgpr_29)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DShape::simpleDrawCache() const {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphBase/J3DShape/simpleDrawCache__8J3DShapeCFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 803CDC78-803CDC90 0018+00 s=0 e=1 z=0 None .data __vt__8J3DShape */
|
|
SECTION_DATA void* __vt__8J3DShape[6] = {
|
|
(void*)NULL /* RTTI */, (void*)NULL,
|
|
(void*)draw__8J3DShapeCFv, (void*)drawFast__8J3DShapeCFv,
|
|
(void*)simpleDraw__8J3DShapeCFv, (void*)simpleDrawCache__8J3DShapeCFv,
|
|
};
|