// // Generated By: dol2asm // Translation Unit: J3DShape // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/J3DGraphBase/J3DShape.h" // // Types: // struct _GXVtxFmt { }; struct _GXVtxAttrFmtList { }; struct _GXAttr { }; struct Vec { }; struct J3DShapeMtx { /* 803130A8 */ // False False void resetMtxLoadCache(); }; struct J3DShapeDraw { /* 80314974 */ // False False // u32 False // u32 False // u32 False void addTexMtxIndexInDL(u32, u32, u32); /* 80314AD4 */ // False False void draw() const; }; struct J3DShape { /* 80314B48 */ // False False void initialize(); /* 80314BB8 */ // False False // _GXAttr False // u32 False void addTexMtxIndexInDL(_GXAttr, u32); /* 80314CBC */ // False False // _GXAttr False void addTexMtxIndexInVcd(_GXAttr); /* 80314DA8 */ // False False // Vec const& False // Vec const False // Vec False // f32 (* )[3][3] False // f32 False // * False // False // f32 (* )[3][3] False // f32 False // * False // False void calcNBTScale(Vec const&, f32 (* )[3][3], f32 (* )[3][3]); /* 80314E28 */ // False False void countBumpMtxNum() const; /* 80314EEC */ // True False void loadVtxArray() const; /* 80314F5C */ // False False // J3DShape* False // J3DShape False void isSameVcdVatCmd(J3DShape*); /* 80314F98 */ // True False void makeVtxArrayCmd(); /* 80315260 */ // False False void makeVcdVatCmd(); /* 80315300 */ // False False void loadPreDrawSetting() const; /* 80315398 */ // True False void setArrayAndBindPipeline() const; /* 8031544C */ // True False void drawFast() const; /* 803155E0 */ // True False void draw() const; /* 80315628 */ // True False void simpleDraw() const; /* 803156AC */ // True False void simpleDrawCache() const; }; // // Forward References: // // True False // u8 False // u32 False static void J3DLoadCPCmd(u8, u32); // True False // _GXAttr False // void* False // void False static void J3DLoadArrayBasePtr(_GXAttr, void*); // False False extern "C" void initialize__8J3DShapeFv(); // False False // _GXAttr False // u32 False extern "C" void addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl(); // False False // _GXAttr False extern "C" void addTexMtxIndexInVcd__8J3DShapeF7_GXAttr(); // False False // Vec const& False // Vec const False // Vec False // f32 (* )[3][3] False // f32 False // * False // False // f32 (* )[3][3] False // f32 False // * False // False extern "C" void calcNBTScale__8J3DShapeFRC3VecPA3_A3_fPA3_A3_f(); // False False extern "C" void countBumpMtxNum__8J3DShapeCFv(); // True False // u8 False // u32 False extern "C" static void J3DLoadCPCmd__FUcUl(); // True False // _GXAttr False // void* False // void False extern "C" static void J3DLoadArrayBasePtr__F7_GXAttrPv(); // True False extern "C" void loadVtxArray__8J3DShapeCFv(); // False False // J3DShape* False // J3DShape False extern "C" void isSameVcdVatCmd__8J3DShapeFP8J3DShape(); // True False extern "C" void makeVtxArrayCmd__8J3DShapeFv(); // False False extern "C" void makeVcdVatCmd__8J3DShapeFv(); // False False extern "C" void loadPreDrawSetting__8J3DShapeCFv(); // True False extern "C" void setArrayAndBindPipeline__8J3DShapeCFv(); // True False extern "C" void drawFast__8J3DShapeCFv(); // True False extern "C" void draw__8J3DShapeCFv(); // True False extern "C" void simpleDraw__8J3DShapeCFv(); // True False extern "C" void simpleDrawCache__8J3DShapeCFv(); extern "C" extern void* __vt__8J3DShape[6]; extern "C" extern u8 sOldVcdVatCmd__8J3DShape[4]; // // External References: // // False False // void* False // void False // u32 False void* operator new[](u32); // False False // _GXVtxFmt False // _GXVtxAttrFmtList const* False // _GXVtxAttrFmtList const False // _GXVtxAttrFmtList False // bool False void J3DGDSetVtxAttrFmtv(_GXVtxFmt, _GXVtxAttrFmtList const*, bool); // False False // f32 (* )[4] False // f32 False // * False // False // u32 False void J3DFifoLoadPosMtxImm(f32 (* )[4], u32); // False False // f32 (* )[4] False // f32 False // * False // False // u32 False void J3DFifoLoadNrmMtxImm(f32 (* )[4], u32); // False False // void* False // void False // u32 False extern "C" void* __nwa__FUl(); // False False // _GXVtxFmt False // _GXVtxAttrFmtList const* False // _GXVtxAttrFmtList const False // _GXVtxAttrFmtList False // bool False extern "C" void J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb(); // False False // f32 (* )[4] False // f32 False // * False // False // u32 False extern "C" void J3DFifoLoadPosMtxImm__FPA4_fUl(); // False False // f32 (* )[4] False // f32 False // * False // False // u32 False extern "C" void J3DFifoLoadNrmMtxImm__FPA4_fUl(); // False False extern "C" void resetMtxLoadCache__11J3DShapeMtxFv(); // False False // u32 False // u32 False // u32 False extern "C" void addTexMtxIndexInDL__12J3DShapeDrawFUlUlUl(); // False False extern "C" void draw__12J3DShapeDrawCFv(); // False False extern "C" void OSDisableInterrupts(); // False False extern "C" void OSRestoreInterrupts(); // False False extern "C" void OSDisableScheduler(); // False False extern "C" void OSEnableScheduler(); // False False extern "C" void GXSetArray(); // False False extern "C" void GXCallDisplayList(); // False False extern "C" void GDInitGDLObj(); // False False extern "C" void GDFlushCurrToMem(); // False False extern "C" void GDPadCurr32(); // False False extern "C" void GDSetVtxDescv(); // False False extern "C" void GDSetArray(); // False False extern "C" void GDSetArrayRaw(); // False False extern "C" void _savegpr_27(); // False False extern "C" void _savegpr_28(); // False False extern "C" void _savegpr_29(); // False False extern "C" void _restgpr_27(); // False False extern "C" void _restgpr_28(); // False False 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 // False False 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 // False False // _GXAttr False // u32 False 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 // False False // _GXAttr False 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 // False False // Vec const& False // Vec const False // Vec False // f32 (* )[3][3] False // f32 False // * False // False // f32 (* )[3][3] False // f32 False // * False // False 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 // False False 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 // True False // u8 False // u32 False 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 // True False // _GXAttr False // void* False // void False 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 // True False 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 // False False // J3DShape* False // J3DShape False 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 // True False 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 // False False 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 // False False 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 // True False 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 // True False 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 // True False 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 // True False 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 // True False 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, };