// // Generated By: dol2asm // Translation Unit: J2DPane // #include "JSystem/J2DGraph/J2DPane.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // struct JUTResReference { /* 802DE078 */ void getResource(JSUInputStream*, u32, JKRArchive*); }; struct J2DOrthoGraph { /* 802E987C */ void scissorBounds(JGeometry::TBox2*, JGeometry::TBox2 const*); }; struct J2DDataManage { /* 8030CE7C */ void get(JSUInputStream*); }; // // Forward References: // extern "C" void __ct__7J2DPaneFv(); extern "C" void initiate__7J2DPaneFv(); extern "C" void func_802F5D40(); extern "C" void func_802F5DD0(); extern "C" void func_802F5E88(); extern "C" void func_802F5F08(); extern "C" void __ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc(); extern "C" void makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream(); extern "C" void changeUseTrans__7J2DPaneFP7J2DPane(); extern "C" void __dt__7J2DPaneFv(); extern "C" void appendChild__7J2DPaneFP7J2DPane(); extern "C" void insertChild__7J2DPaneFP7J2DPaneP7J2DPane(); extern "C" void draw__7J2DPaneFffPC14J2DGrafContextbb(); extern "C" void func_802F6D18(); extern "C" void move__7J2DPaneFff(); extern "C" void add__7J2DPaneFff(); extern "C" void resize__7J2DPaneFff(); extern "C" void getBounds__7J2DPaneFv(); extern "C" void rotate__7J2DPaneFff13J2DRotateAxisf(); extern "C" void rotate__7J2DPaneFf(); extern "C" void func_802F7264(); extern "C" void search__7J2DPaneFUx(); extern "C" void searchUserInfo__7J2DPaneFUx(); extern "C" void isUsed__7J2DPaneFPC7ResTIMG(); extern "C" void isUsed__7J2DPaneFPC7ResFONT(); extern "C" void makeMatrix__7J2DPaneFffff(); extern "C" void setCullBack__7J2DPaneF11_GXCullMode(); extern "C" void setBasePosition__7J2DPaneF15J2DBasePosition(); extern "C" void setInfluencedAlpha__7J2DPaneFbb(); extern "C" void getGlbVtx__7J2DPaneCFUc(); extern "C" void getFirstChildPane__7J2DPaneFv(); extern "C" void getNextChildPane__7J2DPaneFv(); extern "C" void getParentPane__7J2DPaneFv(); extern "C" void makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream(); extern "C" void J2DCast_F32_to_S16__7J2DPaneFfUc(); extern "C" void getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive(); extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase(); extern "C" void setAnimation__7J2DPaneFP15J2DAnmTransform(); extern "C" void animationTransform__7J2DPaneFv(); extern "C" void clearAnmTransform__7J2DPaneFv(); extern "C" void animationTransform__7J2DPaneFPC15J2DAnmTransform(); extern "C" void setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull(); extern "C" void setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor(); extern "C" void animationPane__7J2DPaneFPC15J2DAnmTransform(); extern "C" void updateTransform__7J2DPaneFPC15J2DAnmTransform(); extern "C" void drawSelf__7J2DPaneFffPA3_A4_f(); extern "C" void rewriteAlpha__7J2DPaneFv(); extern "C" void setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull(); extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor(); extern "C" void setCullBack__7J2DPaneFb(); extern "C" void setConnectParent__7J2DPaneFb(); extern "C" void update__7J2DPaneFv(); extern "C" void drawSelf__7J2DPaneFff(); extern "C" void __sinit_J2DPane_cpp(); extern "C" f32 static_mBounds__7J2DPane[4]; // // External References: // extern "C" void setAlpha__7J2DPaneFUc(); extern "C" void calcMtx__7J2DPaneFv(); extern "C" void makeMatrix__7J2DPaneFff(); extern "C" s32 getTypeID__7J2DPaneCFv(); extern "C" void setAnimation__7J2DPaneFP15J2DAnmTevRegKey(); extern "C" void setAnimation__7J2DPaneFP11J2DAnmColor(); extern "C" void setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey(); extern "C" void setAnimation__7J2DPaneFP14J2DAnmVtxColor(); extern "C" void setAnimation__7J2DPaneFP20J2DAnmVisibilityFull(); extern "C" void setAnimation__7J2DPaneFP16J2DAnmTexPattern(); extern "C" void __dl__FPv(); extern "C" void __ct__10JSUPtrLinkFPv(); extern "C" void __dt__10JSUPtrLinkFv(); extern "C" void __dt__10JSUPtrListFv(); extern "C" void initiate__10JSUPtrListFv(); extern "C" void append__10JSUPtrListFP10JSUPtrLink(); extern "C" void insert__10JSUPtrListFP10JSUPtrLinkP10JSUPtrLink(); extern "C" void read__14JSUInputStreamFPvl(); extern "C" void align__20JSURandomInputStreamFl(); extern "C" void peek__20JSURandomInputStreamFPvl(); extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom(); extern "C" void getResource__15JUTResReferenceFP14JSUInputStreamUlP10JKRArchive(); extern "C" void setScissor__14J2DGrafContextFv(); extern "C" void func_802E90C0(); extern "C" void func_802E987C(); extern "C" void get__13J2DDataManageFP14JSUInputStream(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__14J2DGrafContext[10]; extern "C" u8 mDataManage__9J2DScreen[4 + 4 /* padding */]; // // Declarations: // /* ############################################################################################## */ /* 803CCFB0-803CCFD0 -00001 0020+00 1/1 0/0 0/0 .data @2709 */ SECTION_DATA static void* lit_2709[8] = { (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x38), (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x4C), (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x88), (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0xC0), (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x74), (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0xB0), (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x9C), (void*)(((char*)setAnimation__7J2DPaneFP10J2DAnmBase) + 0x60), }; /* 803CCFD0-803CD068 02A0F0 0094+04 5/5 0/0 0/0 .data __vt__7J2DPane */ SECTION_DATA extern void* __vt__7J2DPane[37 + 1 /* padding */] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__7J2DPaneFv, (void*)getTypeID__7J2DPaneCFv, (void*)move__7J2DPaneFff, (void*)add__7J2DPaneFff, (void*)resize__7J2DPaneFff, (void*)setCullBack__7J2DPaneFb, (void*)setCullBack__7J2DPaneF11_GXCullMode, (void*)setAlpha__7J2DPaneFUc, (void*)setConnectParent__7J2DPaneFb, (void*)calcMtx__7J2DPaneFv, (void*)update__7J2DPaneFv, (void*)drawSelf__7J2DPaneFff, (void*)drawSelf__7J2DPaneFffPA3_A4_f, (void*)search__7J2DPaneFUx, (void*)searchUserInfo__7J2DPaneFUx, (void*)makeMatrix__7J2DPaneFff, (void*)makeMatrix__7J2DPaneFffff, (void*)isUsed__7J2DPaneFPC7ResTIMG, (void*)isUsed__7J2DPaneFPC7ResFONT, (void*)clearAnmTransform__7J2DPaneFv, (void*)rewriteAlpha__7J2DPaneFv, (void*)setAnimation__7J2DPaneFP10J2DAnmBase, (void*)setAnimation__7J2DPaneFP15J2DAnmTransform, (void*)setAnimation__7J2DPaneFP11J2DAnmColor, (void*)setAnimation__7J2DPaneFP16J2DAnmTexPattern, (void*)setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey, (void*)setAnimation__7J2DPaneFP15J2DAnmTevRegKey, (void*)setAnimation__7J2DPaneFP20J2DAnmVisibilityFull, (void*)setAnimation__7J2DPaneFP14J2DAnmVtxColor, (void*)animationTransform__7J2DPaneFPC15J2DAnmTransform, (void*)setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull, (void*)setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull, (void*)setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor, (void*)setAnimationVC__7J2DPaneFP14J2DAnmVtxColor, (void*)animationPane__7J2DPaneFPC15J2DAnmTransform, /* padding */ NULL, }; /* 804561F0-804561F4 0047F0 0004+00 12/12 0/0 0/0 .sdata2 @1469 */ SECTION_SDATA2 static u8 lit_1469[4] = { 0x00, 0x00, 0x00, 0x00, }; /* 802F5BF8-802F5CB8 2F0538 00C0+00 0/0 10/10 0/0 .text __ct__7J2DPaneFv */ J2DPane::J2DPane() : mBounds(), mGlobalBounds(), mClipRect(), mPaneTree(this) { mTransform = NULL; id = 'PAN1'; mVisible = true; mInfoTag = 0; mUserInfoTag = 0; mBounds.set(FLOAT_LABEL(lit_1469), FLOAT_LABEL(lit_1469), FLOAT_LABEL(lit_1469), FLOAT_LABEL(lit_1469)); initiate(); changeUseTrans(NULL); calcMtx(); } /* ############################################################################################## */ /* 804561F4-804561F8 0047F4 0004+00 3/3 0/0 0/0 .sdata2 @1489 */ SECTION_SDATA2 static f32 lit_1489 = 1.0f; /* 802F5CB8-802F5D40 2F05F8 0088+00 3/3 0/0 0/0 .text initiate__7J2DPaneFv */ void J2DPane::initiate() { _4 = -1; mRotateOffsetY = mRotateOffsetX = mRotateZ = mRotateY = mRotateX = FLOAT_LABEL(lit_1469); mBasePosition = 0; mRotAxis = ROTATE_Z; mScaleY = mScaleX = lit_1489; mCullMode = GX_CULL_NONE; mAlpha = 0xFF; mIsInfluencedAlpha = true; mColorAlpha = 0xFF; mConnected = false; calcMtx(); } /* 802F5D40-802F5DD0 2F0680 0090+00 0/0 1/1 0/0 .text * __ct__7J2DPaneFP7J2DPanebUxRCQ29JGeometry8TBox2 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm J2DPane::J2DPane(J2DPane* param_0, bool param_1, u64 param_2, JGeometry::TBox2 const& param_3) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/func_802F5D40.s" } #pragma pop /* 802F5DD0-802F5E88 2F0710 00B8+00 1/1 0/0 0/0 .text * initialize__7J2DPaneFP7J2DPanebUxRCQ29JGeometry8TBox2 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::initialize(J2DPane* param_0, bool param_1, u64 param_2, JGeometry::TBox2 const& param_3) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/func_802F5DD0.s" } #pragma pop /* 802F5E88-802F5F08 2F07C8 0080+00 0/0 3/3 0/0 .text __ct__7J2DPaneFUxRCQ29JGeometry8TBox2 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm J2DPane::J2DPane(u64 param_0, JGeometry::TBox2 const& param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/func_802F5E88.s" } #pragma pop /* 802F5F08-802F5F9C 2F0848 0094+00 1/1 0/0 0/0 .text * initialize__7J2DPaneFUxRCQ29JGeometry8TBox2 */ #ifdef NONMATCHING // templating..... again void J2DPane::initialize(u64 tag, const TBox2& dim) { id = 'PAN1'; mVisible = true; mInfoTag = tag; mUserInfoTag = tag; mBounds.set(dim); initiate(); changeUseTrans(NULL); calcMtx(); } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::initialize(u64 param_0, JGeometry::TBox2 const& param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/func_802F5F08.s" } #pragma pop #endif /* 802F5F9C-802F60C4 2F08DC 0128+00 0/0 1/1 0/0 .text * __ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm J2DPane::J2DPane(J2DPane* param_0, JSURandomInputStream* param_1, u8 param_2) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/__ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc.s" } #pragma pop /* ############################################################################################## */ /* 804561F8-80456200 0047F8 0008+00 3/3 0/0 0/0 .sdata2 @1651 */ SECTION_SDATA2 static f64 lit_1651 = 4503601774854144.0 /* cast s32 to float */; /* 80456200-80456208 004800 0008+00 3/3 0/0 0/0 .sdata2 @1655 */ SECTION_SDATA2 static f64 lit_1655 = 4503599627370496.0 /* cast u32 to float */; /* 802F60C4-802F63F8 2F0A04 0334+00 1/1 3/3 0/0 .text * makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::makePaneStream(J2DPane* param_0, JSURandomInputStream* param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s" } #pragma pop /* ############################################################################################## */ /* 80456208-8045620C 004808 0004+00 4/4 0/0 0/0 .sdata2 @1725 */ SECTION_SDATA2 static f32 lit_1725 = 0.5f; /* 802F63F8-802F658C 2F0D38 0194+00 4/4 0/0 0/0 .text changeUseTrans__7J2DPaneFP7J2DPane */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::changeUseTrans(J2DPane* param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/changeUseTrans__7J2DPaneFP7J2DPane.s" } #pragma pop /* 802F658C-802F666C 2F0ECC 00E0+00 1/0 4/4 0/0 .text __dt__7J2DPaneFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // asm J2DPane::~J2DPane() { extern "C" asm void __dt__7J2DPaneFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/__dt__7J2DPaneFv.s" } #pragma pop /* 802F666C-802F6714 2F0FAC 00A8+00 0/0 2/2 0/0 .text appendChild__7J2DPaneFP7J2DPane */ bool J2DPane::appendChild(J2DPane* pChild) { if (pChild == NULL) return false; const J2DPane* parent = pChild->getParentPane(); bool result = mPaneTree.appendChild(&pChild->mPaneTree); if (result && parent == NULL) { pChild->add(mBounds.i.x, mBounds.i.y); pChild->calcMtx(); } return result; } /* 802F6714-802F67E0 2F1054 00CC+00 0/0 1/1 0/0 .text insertChild__7J2DPaneFP7J2DPaneP7J2DPane */ #ifdef NONMATCHING bool J2DPane::insertChild(J2DPane* before, J2DPane* child) { if (child == NULL) return false; const J2DPane* parent = child->getParentPane(); bool result = mPaneTree.insertChild(&before->mPaneTree, &child->mPaneTree); if (result && parent == NULL) { child->add(mBounds.i.x, mBounds.i.y); child->calcMtx(); } return result; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm bool J2DPane::insertChild(J2DPane* param_0, J2DPane* param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/insertChild__7J2DPaneFP7J2DPaneP7J2DPane.s" } #pragma pop #endif /* 802F67E0-802F6D18 2F1120 0538+00 0/0 1/1 0/0 .text draw__7J2DPaneFffPC14J2DGrafContextbb */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::draw(f32 param_0, f32 param_1, J2DGrafContext const* param_2, bool param_3, bool param_4) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/draw__7J2DPaneFffPC14J2DGrafContextbb.s" } #pragma pop /* 802F6D18-802F6F60 2F1658 0248+00 2/2 4/4 0/0 .text place__7J2DPaneFRCQ29JGeometry8TBox2 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::place(JGeometry::TBox2 const& param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/func_802F6D18.s" } #pragma pop /* 802F6F60-802F6FB4 2F18A0 0054+00 1/0 7/0 0/0 .text move__7J2DPaneFff */ #ifdef NONMATCHING void J2DPane::move(f32 x, f32 y) { place(TBox2(x, y, x + getWidth(), y + getHeight())); } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::move(f32 param_0, f32 param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/move__7J2DPaneFff.s" } #pragma pop #endif /* 802F6FB4-802F6FF8 2F18F4 0044+00 1/0 7/0 0/0 .text add__7J2DPaneFff */ void J2DPane::add(f32 x, f32 y) { mTranslateX += x; mTranslateY += y; calcMtx(); } /* 802F6FF8-802F7100 2F1938 0108+00 1/0 5/2 0/0 .text resize__7J2DPaneFff */ #ifdef NONMATCHING void J2DPane::resize(f32 x, f32 y) { TBox2 box = mBounds; box.addPos(TVec2(mTranslateX, mTranslateY)); const J2DPane* parent = getParentPane(); if (parent != NULL) { box.addPos(TVec2(-parent->mBounds.i.x, -parent->mBounds.i.y)); } box.f.x = box.i.x + x; box.f.y = box.i.y + y; place(box); } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::resize(f32 param_0, f32 param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/resize__7J2DPaneFff.s" } #pragma pop #endif /* ############################################################################################## */ /* 804349B0-804349C0 0616D0 0010+00 2/2 0/0 0/0 .bss static_mBounds__7J2DPane */ f32 J2DPane::static_mBounds[4]; /* 802F7100-802F71DC 2F1A40 00DC+00 0/0 25/25 1/1 .text getBounds__7J2DPaneFv */ #ifdef NONMATCHING // close ish TBox2& J2DPane::getBounds() { lbl_804349B0 = mBounds; lbl_804349B0.addPos(TVec2(mTranslateX, mTranslateY)); const J2DPane* parent = getParentPane(); if (parent != NULL) { lbl_804349B0.addPos(TVec2(-parent->mBounds.i.x, -parent->mBounds.i.y)); } return lbl_804349B0; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JGeometry::TBox2& J2DPane::getBounds() { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/getBounds__7J2DPaneFv.s" } #pragma pop #endif /* 802F71DC-802F720C 2F1B1C 0030+00 0/0 12/12 0/0 .text rotate__7J2DPaneFff13J2DRotateAxisf */ void J2DPane::rotate(f32 offsetX, f32 offsetY, J2DRotateAxis axis, f32 angle) { mRotateOffsetX = offsetX; mRotateOffsetY = offsetY; mRotAxis = axis; rotate(angle); } /* 802F720C-802F7264 2F1B4C 0058+00 1/1 0/0 0/0 .text rotate__7J2DPaneFf */ void J2DPane::rotate(f32 angle) { if (mRotAxis == ROTATE_X) { mRotateX = angle; } else if (mRotAxis == ROTATE_Y) { mRotateY = angle; } else { mRotateZ = angle; } calcMtx(); } /* 802F7264-802F72E0 2F1BA4 007C+00 0/0 2/2 0/0 .text clip__7J2DPaneFRCQ29JGeometry8TBox2 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::clip(JGeometry::TBox2 const& param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/func_802F7264.s" } #pragma pop /* 802F72E0-802F7388 2F1C20 00A8+00 1/0 7/1 0/0 .text search__7J2DPaneFUx */ J2DPane* J2DPane::search(u64 tag) { if (tag == mInfoTag) { return this; } JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { if (J2DPane* result = iter.getObject()->search(tag)) { return result; } } return NULL; } /* 802F7388-802F7430 2F1CC8 00A8+00 1/0 7/1 0/0 .text searchUserInfo__7J2DPaneFUx */ J2DPane* J2DPane::searchUserInfo(u64 tag) { if (tag == mUserInfoTag) { return this; } JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { if (J2DPane* result = iter.getObject()->searchUserInfo(tag)) { return result; } } return NULL; } /* 802F7430-802F74B8 2F1D70 0088+00 1/0 7/7 0/0 .text isUsed__7J2DPaneFPC7ResTIMG */ bool J2DPane::isUsed(const ResTIMG* timg) { JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { if (iter.getObject()->isUsed(timg)) return true; } return false; } /* 802F74B8-802F7540 2F1DF8 0088+00 1/0 7/7 0/0 .text isUsed__7J2DPaneFPC7ResFONT */ bool J2DPane::isUsed(const ResFONT* font) { JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { if (iter.getObject()->isUsed(font)) return true; } return false; } /* ############################################################################################## */ /* 8045620C-80456210 00480C 0004+00 1/1 0/0 0/0 .sdata2 @2466 */ SECTION_SDATA2 static f32 lit_2466 = 0.01745329238474369f; /* 802F7540-802F7680 2F1E80 0140+00 1/0 7/0 0/0 .text makeMatrix__7J2DPaneFffff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::makeMatrix(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/makeMatrix__7J2DPaneFffff.s" } #pragma pop /* 802F7680-802F76F8 2F1FC0 0078+00 1/0 7/3 0/0 .text setCullBack__7J2DPaneF11_GXCullMode */ void J2DPane::setCullBack(_GXCullMode mode) { mCullMode = mode; JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { iter.getObject()->setCullBack(mode); } } /* 802F76F8-802F77D0 2F2038 00D8+00 0/0 8/8 0/0 .text setBasePosition__7J2DPaneF15J2DBasePosition */ void J2DPane::setBasePosition(J2DBasePosition position) { mBasePosition = position; mRotAxis = ROTATE_Z; mRotateOffsetX = FLOAT_LABEL(lit_1469); if (position % 3 == 1) { f32 width = getWidth(); mRotateOffsetX = width * lit_1725; } else if (position % 3 == 2) { f32 width = getWidth(); mRotateOffsetX = width; } mRotateOffsetY = FLOAT_LABEL(lit_1469); if (position / 3 == 1) { f32 height = getHeight(); mRotateOffsetY = height * lit_1725; } else if (position / 3 == 2) { f32 height = getHeight(); mRotateOffsetY = height; } calcMtx(); } /* ############################################################################################## */ /* 80456210-80456214 004810 0004+00 1/1 0/0 0/0 .sdata2 @2547 */ SECTION_SDATA2 static f32 lit_2547 = 255.0f; /* 802F77D0-802F79A8 2F2110 01D8+00 0/0 1/1 0/0 .text setInfluencedAlpha__7J2DPaneFbb */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::setInfluencedAlpha(bool param_0, bool param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/setInfluencedAlpha__7J2DPaneFbb.s" } #pragma pop /* 802F79A8-802F7A8C 2F22E8 00E4+00 0/0 3/3 0/0 .text getGlbVtx__7J2DPaneCFUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::getGlbVtx(u8 param_0) const { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/getGlbVtx__7J2DPaneCFUc.s" } #pragma pop /* 802F7A8C-802F7AC4 2F23CC 0038+00 1/1 15/15 0/0 .text getFirstChildPane__7J2DPaneFv */ #ifdef NONMATCHING // probably an issue with JSUTree const J2DPane* J2DPane::getFirstChildPane() { if (!getFirstChild()) return NULL; return getFirstChild()->getObject(); } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm J2DPane* J2DPane::getFirstChildPane() { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/getFirstChildPane__7J2DPaneFv.s" } #pragma pop #endif /* 802F7AC4-802F7AFC 2F2404 0038+00 1/1 8/8 0/0 .text getNextChildPane__7J2DPaneFv */ J2DPane* J2DPane::getNextChildPane() { if (getPaneTree()->getNextChild() == NULL) return NULL; return getPaneTree()->getNextChild()->getObject(); } /* 802F7AFC-802F7B18 2F243C 001C+00 6/6 11/11 0/0 .text getParentPane__7J2DPaneFv */ J2DPane* J2DPane::getParentPane() { if (getPaneTree()->getParent() == NULL) return NULL; return getPaneTree()->getParent()->getObject(); } /* 802F7B18-802F7D00 2F2458 01E8+00 1/1 6/6 0/0 .text * makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::makePaneExStream(J2DPane* param_0, JSURandomInputStream* param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream.s" } #pragma pop /* 802F7D00-802F7DB8 2F2640 00B8+00 0/0 1/1 0/0 .text J2DCast_F32_to_S16__7J2DPaneFfUc */ #ifdef NONMATCHING // not happening s16 J2DPane::J2DCast_F32_to_S16(f32 value, u8 arg2) { f32 temp; s32 temp2; s16 result; if (arg2 < 0xf) { temp = value; if (temp < lbl_804561F0) temp = -value; temp2 = value; if (temp2 < 0x8000) { if (value >= lbl_804561F0) { result = temp2; } else { result = ~temp2 + 1; } } else { if (value >= lbl_804561F0) { result = 0x7fff; } else { result = -0x8000; } } } else { result = 0; } return result; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm s16 J2DPane::J2DCast_F32_to_S16(f32 param_0, u8 param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/J2DCast_F32_to_S16__7J2DPaneFfUc.s" } #pragma pop #endif /* 802F7DB8-802F7EF4 2F26F8 013C+00 0/0 3/3 0/0 .text * getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void* J2DPane::getPointer(JSURandomInputStream* param_0, u32 param_1, JKRArchive* param_2) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive.s" } #pragma pop /* 802F7EF4-802F7FC4 2F2834 00D0+00 2/0 7/4 0/0 .text setAnimation__7J2DPaneFP10J2DAnmBase */ #ifdef NONMATCHING // matching in diff.py, what gives? void J2DPane::setAnimation(J2DAnmBase* anm) { if (anm != NULL) { switch (anm->getKind()) { default: break; case 0: setAnimation(static_cast(anm)); break; case 1: setAnimation(static_cast(anm)); break; case 2: setAnimation(static_cast(anm)); break; case 4: setAnimation(static_cast(anm)); break; case 5: setAnimation(static_cast(anm)); break; case 6: setAnimation(static_cast(anm)); break; case 7: setAnimation(static_cast(anm)); break; } } } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::setAnimation(J2DAnmBase* param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/setAnimation__7J2DPaneFP10J2DAnmBase.s" } #pragma pop #endif /* 802F7FC4-802F7FCC -00001 0008+00 0/0 0/0 0/0 .text setAnimation__7J2DPaneFP15J2DAnmTransform */ void J2DPane::setAnimation(J2DAnmTransform* anm) { mTransform = anm; } /* 802F7FCC-802F8004 2F290C 0038+00 0/0 57/57 0/0 .text animationTransform__7J2DPaneFv */ void J2DPane::animationTransform() { if (mTransform != NULL) animationTransform(mTransform); } /* 802F8004-802F8080 2F2944 007C+00 1/0 7/1 0/0 .text clearAnmTransform__7J2DPaneFv */ void J2DPane::clearAnmTransform() { J2DAnmTransform* none = NULL; setAnimation(none); JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { iter.getObject()->clearAnmTransform(); } } /* 802F8080-802F8118 2F29C0 0098+00 1/0 7/0 0/0 .text * animationTransform__7J2DPaneFPC15J2DAnmTransform */ const J2DAnmTransform* J2DPane::animationTransform(const J2DAnmTransform* transform) { const J2DAnmTransform* p = transform; if (mTransform != NULL) p = mTransform; JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { iter.getObject()->animationTransform(p); } updateTransform(p); return p; } /* 802F8118-802F81A0 2F2A58 0088+00 1/0 8/1 0/0 .text * setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull */ void J2DPane::setVisibileAnimation(J2DAnmVisibilityFull* visibility) { setAnimationVF(visibility); JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { iter.getObject()->setVisibileAnimation(visibility); } } /* 802F81A0-802F8228 2F2AE0 0088+00 1/0 8/1 0/0 .text * setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor */ void J2DPane::setVtxColorAnimation(J2DAnmVtxColor* vtx_color) { setAnimationVC(vtx_color); JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { iter.getObject()->setVtxColorAnimation(vtx_color); } } /* 802F8228-802F82C0 2F2B68 0098+00 1/0 7/3 0/0 .text animationPane__7J2DPaneFPC15J2DAnmTransform */ const J2DAnmTransform* J2DPane::animationPane(const J2DAnmTransform* transform) { const J2DAnmTransform* p = transform; if (mTransform != NULL) p = mTransform; JSUTreeIterator iter; for (iter = mPaneTree.getFirstChild(); iter != mPaneTree.getEndChild(); ++iter) { iter.getObject()->animationPane(p); } updateTransform(p); return p; } /* ############################################################################################## */ /* 80456214-80456218 004814 0004+00 1/1 0/0 0/0 .sdata2 @2890 */ SECTION_SDATA2 static f32 lit_2890 = 360.0f; /* 80456218-80456220 004818 0004+04 1/1 0/0 0/0 .sdata2 @2891 */ SECTION_SDATA2 static f32 lit_2891[1 + 1 /* padding */] = { 65535.0f, /* padding */ 0.0f, }; /* 802F82C0-802F83C8 2F2C00 0108+00 2/2 0/0 0/0 .text * updateTransform__7J2DPaneFPC15J2DAnmTransform */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DPane::updateTransform(J2DAnmTransform const* param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/updateTransform__7J2DPaneFPC15J2DAnmTransform.s" } #pragma pop /* 802F83C8-802F83CC 2F2D08 0004+00 1/0 0/0 0/0 .text drawSelf__7J2DPaneFffPA3_A4_f */ void J2DPane::drawSelf(f32 param_0, f32 param_1, f32 (*param_2)[3][4]) { /* empty function */ } /* 802F83CC-802F83D0 2F2D0C 0004+00 1/0 1/0 0/0 .text rewriteAlpha__7J2DPaneFv */ void J2DPane::rewriteAlpha() { /* empty function */ } /* 802F83D0-802F83FC 2F2D10 002C+00 1/0 6/0 0/0 .text * setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull */ void J2DPane::setAnimationVF(J2DAnmVisibilityFull* visibility) { setAnimation(visibility); } /* 802F83FC-802F8428 2F2D3C 002C+00 1/0 6/0 0/0 .text setAnimationVC__7J2DPaneFP14J2DAnmVtxColor */ void J2DPane::setAnimationVC(J2DAnmVtxColor* vtx_color) { setAnimation(vtx_color); } /* 802F8428-802F8464 2F2D68 003C+00 1/0 4/0 0/0 .text setCullBack__7J2DPaneFb */ void J2DPane::setCullBack(bool cull) { GXCullMode mode; if (!cull) mode = GX_CULL_NONE; else mode = GX_CULL_BACK; setCullBack(mode); } /* 802F8464-802F8474 2F2DA4 0010+00 1/0 5/0 0/0 .text setConnectParent__7J2DPaneFb */ bool J2DPane::setConnectParent(bool connected) { mConnected = false; return false; } /* 802F8474-802F8478 2F2DB4 0004+00 1/0 7/0 0/0 .text update__7J2DPaneFv */ void J2DPane::update() { /* empty function */ } /* 802F8478-802F847C 2F2DB8 0004+00 1/0 1/0 0/0 .text drawSelf__7J2DPaneFff */ void J2DPane::drawSelf(f32 param_0, f32 param_1) { /* empty function */ } /* 802F847C-802F8498 2F2DBC 001C+00 0/0 1/0 0/0 .text __sinit_J2DPane_cpp */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __sinit_J2DPane_cpp() { nofralloc #include "asm/JSystem/J2DGraph/J2DPane/__sinit_J2DPane_cpp.s" } #pragma pop #pragma push #pragma force_active on REGISTER_CTORS(0x802F847C, __sinit_J2DPane_cpp); #pragma pop