// // Generated By: dol2asm // Translation Unit: J2DTextBox // #include "JSystem/J2DGraph/J2DTextBox.h" #include "JSystem/J2DGraph/J2DPrint.h" #include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h" #include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // extern "C" void __ct__10J2DTextBoxFv(); extern "C" void __ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamP10JKRArchive(); extern "C" void __ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial(); extern "C" void func_802FFBC4(); extern "C" void initiate__10J2DTextBoxFPC7ResFONTPCcs18J2DTextBoxHBinding18J2DTextBoxVBinding(); extern "C" void private_readStream__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamP10JKRArchive(); extern "C" void __dt__10J2DTextBoxFv(); extern "C" void setFont__10J2DTextBoxFP7JUTFont(); extern "C" void draw__10J2DTextBoxFff(); extern "C" void draw__10J2DTextBoxFfff18J2DTextBoxHBinding(); extern "C" void getStringPtr__10J2DTextBoxCFv(); extern "C" void setString__10J2DTextBoxFPCce(); extern "C" void setString__10J2DTextBoxFsPCce(); extern "C" void setConnectParent__10J2DTextBoxFb(); extern "C" void drawSelf__10J2DTextBoxFff(); extern "C" void drawSelf__10J2DTextBoxFffPA3_A4_f(); extern "C" void resize__10J2DTextBoxFff(); extern "C" void isUsed__10J2DTextBoxFPC7ResFONT(); extern "C" s32 getTypeID__10J2DTextBoxCFv(); extern "C" void isUsed__10J2DTextBoxFPC7ResTIMG(); extern "C" void rewriteAlpha__10J2DTextBoxFv(); extern "C" extern char const* const J2DTextBox__stringBase0; // // External References: // extern "C" void setAlpha__7J2DPaneFUc(); extern "C" void calcMtx__7J2DPaneFv(); extern "C" void makeMatrix__7J2DPaneFff(); extern "C" void setAnimation__7J2DPaneFP15J2DAnmTevRegKey(); extern "C" void setAnimation__7J2DPaneFP11J2DAnmColor(); extern "C" void setWhite__10J2DTextBoxFQ28JUtility6TColor(); extern "C" void setAnimation__7J2DPaneFP19J2DAnmTextureSRTKey(); extern "C" void setBlackWhite__10J2DTextBoxFQ28JUtility6TColorQ28JUtility6TColor(); extern "C" void getWhite__10J2DTextBoxCFv(); extern "C" void getBlack__10J2DTextBoxCFv(); extern "C" void getFont__10J2DTextBoxCFv(); extern "C" void setBlack__10J2DTextBoxFQ28JUtility6TColor(); extern "C" void setAnimation__7J2DPaneFP14J2DAnmVtxColor(); extern "C" void setAnimation__7J2DPaneFP20J2DAnmVisibilityFull(); extern "C" void setAnimation__7J2DPaneFP16J2DAnmTexPattern(); extern "C" bool getMaterial__10J2DTextBoxCFv(); extern "C" void* __nw__FUl(); extern "C" void* __nwa__FUl(); extern "C" void __dl__FPv(); extern "C" void __dla__FPv(); extern "C" void read__14JSUInputStreamFPvl(); extern "C" void peek__20JSURandomInputStreamFPvl(); extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom(); extern "C" void __ct__10JUTResFontFPC7ResFONTP7JKRHeap(); extern "C" void __ct__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor(); extern "C" void __dt__8J2DPrintFv(); extern "C" void locate__8J2DPrintFff(); extern "C" void print__8J2DPrintFffUcPCce(); extern "C" void printReturn__8J2DPrintFPCcff18J2DTextBoxHBinding18J2DTextBoxVBindingffUc(); extern "C" void __ct__7J2DPaneFv(); extern "C" void func_802F5E88(); extern "C" void makePaneStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream(); extern "C" void __dt__7J2DPaneFv(); extern "C" void move__7J2DPaneFff(); extern "C" void add__7J2DPaneFff(); extern "C" void resize__7J2DPaneFff(); 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 makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream(); extern "C" void getPointer__7J2DPaneFP20JSURandomInputStreamUlP10JKRArchive(); extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase(); extern "C" void setAnimation__7J2DPaneFP15J2DAnmTransform(); 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 setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull(); extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor(); extern "C" void setCullBack__7J2DPaneFb(); extern "C" void update__7J2DPaneFv(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); // // Declarations: // /* ############################################################################################## */ /* 803CD328-803CD3E8 02A448 00BC+04 5/5 0/0 0/0 .data __vt__10J2DTextBox */ SECTION_DATA extern void* __vt__10J2DTextBox[47 + 1 /* padding */] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__10J2DTextBoxFv, (void*)getTypeID__10J2DTextBoxCFv, (void*)move__7J2DPaneFff, (void*)add__7J2DPaneFff, (void*)resize__10J2DTextBoxFff, (void*)setCullBack__7J2DPaneFb, (void*)setCullBack__7J2DPaneF11_GXCullMode, (void*)setAlpha__7J2DPaneFUc, (void*)setConnectParent__10J2DTextBoxFb, (void*)calcMtx__7J2DPaneFv, (void*)update__7J2DPaneFv, (void*)drawSelf__10J2DTextBoxFff, (void*)drawSelf__10J2DTextBoxFffPA3_A4_f, (void*)search__7J2DPaneFUx, (void*)searchUserInfo__7J2DPaneFUx, (void*)makeMatrix__7J2DPaneFff, (void*)makeMatrix__7J2DPaneFffff, (void*)isUsed__10J2DTextBoxFPC7ResTIMG, (void*)isUsed__10J2DTextBoxFPC7ResFONT, (void*)clearAnmTransform__7J2DPaneFv, (void*)rewriteAlpha__10J2DTextBoxFv, (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, (void*)draw__10J2DTextBoxFff, (void*)draw__10J2DTextBoxFfff18J2DTextBoxHBinding, (void*)setFont__10J2DTextBoxFP7JUTFont, (void*)getFont__10J2DTextBoxCFv, (void*)setBlack__10J2DTextBoxFQ28JUtility6TColor, (void*)setWhite__10J2DTextBoxFQ28JUtility6TColor, (void*)setBlackWhite__10J2DTextBoxFQ28JUtility6TColorQ28JUtility6TColor, (void*)getBlack__10J2DTextBoxCFv, (void*)getWhite__10J2DTextBoxCFv, (void*)getMaterial__10J2DTextBoxCFv, /* padding */ NULL, }; /* 802FF660-802FF6D8 2F9FA0 0078+00 0/0 1/1 0/0 .text __ct__10J2DTextBoxFv */ J2DTextBox::J2DTextBox() : mFont(NULL), mCharColor(), mGradientColor(), mStringPtr(NULL), mWhiteColor(), mBlackColor() { initiate(NULL, 0, 0, HBIND_LEFT, VBIND_TOP); } /* 802FF6D8-802FF75C 2FA018 0084+00 0/0 1/1 0/0 .text * __ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamP10JKRArchive */ J2DTextBox::J2DTextBox(J2DPane* param_0, JSURandomInputStream* param_1, JKRArchive* param_2) : mFont(NULL), mCharColor(), mGradientColor(), mStringPtr(NULL), mWhiteColor(), mBlackColor() { private_readStream(param_0, param_1, param_2); } /* ############################################################################################## */ /* 80456280-80456288 004880 0004+04 6/6 0/0 0/0 .sdata2 @1660 */ SECTION_SDATA2 static f32 lit_1660[1 + 1 /* padding */] = { 0.0f, /* padding */ 0.0f, }; /* 80456288-80456290 004888 0008+00 3/3 0/0 0/0 .sdata2 @1662 */ SECTION_SDATA2 static f64 lit_1662 = 4503601774854144.0 /* cast s32 to float */; /* 80456290-80456298 004890 0008+00 2/2 0/0 0/0 .sdata2 @1665 */ SECTION_SDATA2 static f64 lit_1665 = 4503599627370496.0 /* cast u32 to float */; /* 802FF75C-802FFBC4 2FA09C 0468+00 0/0 1/1 0/0 .text * __ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm J2DTextBox::J2DTextBox(J2DPane* param_0, JSURandomInputStream* param_1, u32 param_2, J2DMaterial* param_3) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/__ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial.s" } #pragma pop /* 802FFBC4-802FFC58 2FA504 0094+00 0/0 1/1 0/0 .text * __ct__10J2DTextBoxFUxRCQ29JGeometry8TBox2PC7ResFONTPCcs18J2DTextBoxHBinding18J2DTextBoxVBinding */ J2DTextBox::J2DTextBox(u64 param_0, JGeometry::TBox2 const& param_1, ResFONT const* param_2, char const* param_3, s16 param_4, J2DTextBoxHBinding param_5, J2DTextBoxVBinding param_6) : J2DPane(param_0, param_1), mFont(NULL), mCharColor(), mGradientColor(), mStringPtr(NULL), mWhiteColor(), mBlackColor() { initiate(param_2, param_3, param_4, param_5, param_6); } /* 802FFC58-802FFE88 2FA598 0230+00 2/2 1/0 0/0 .text * initiate__10J2DTextBoxFPC7ResFONTPCcs18J2DTextBoxHBinding18J2DTextBoxVBinding */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DTextBox::initiate(ResFONT const* param_0, char const* param_1, s16 param_2, J2DTextBoxHBinding param_3, J2DTextBoxVBinding param_4) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/initiate__10J2DTextBoxFPC7ResFONTPCcs18J2DTextBoxHBinding18J2DTextBoxVBinding.s" } #pragma pop /* 802FFE88-803001E0 2FA7C8 0358+00 1/1 0/0 0/0 .text * private_readStream__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamP10JKRArchive */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DTextBox::private_readStream(J2DPane* param_0, JSURandomInputStream* param_1, JKRArchive* param_2) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/private_readStream__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamP10JKRArchive.s" } #pragma pop /* 803001E0-80300278 2FAB20 0098+00 1/0 2/2 0/0 .text __dt__10J2DTextBoxFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // asm J2DTextBox::~J2DTextBox() { extern "C" asm void __dt__10J2DTextBoxFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/__dt__10J2DTextBoxFv.s" } #pragma pop /* 80300278-803002E8 2FABB8 0070+00 1/0 0/0 0/0 .text setFont__10J2DTextBoxFP7JUTFont */ void J2DTextBox::setFont(JUTFont* pFont) { if (pFont) { if (mTextFontOwned) { delete mFont; } mFont = pFont; mTextFontOwned = false; } } /* ############################################################################################## */ /* 803A1C58-803A1C58 02E2B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_803A1C58 = "%s"; #pragma pop /* 803002E8-80300490 2FAC28 01A8+00 1/0 0/0 0/0 .text draw__10J2DTextBoxFff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DTextBox::draw(f32 param_0, f32 param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/draw__10J2DTextBoxFff.s" } #pragma pop /* 80300490-80300658 2FADD0 01C8+00 1/0 1/1 0/0 .text draw__10J2DTextBoxFfff18J2DTextBoxHBinding */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DTextBox::draw(f32 param_0, f32 param_1, f32 param_2, J2DTextBoxHBinding param_3) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/draw__10J2DTextBoxFfff18J2DTextBoxHBinding.s" } #pragma pop /* 80300658-80300660 2FAF98 0008+00 0/0 62/62 2/2 .text getStringPtr__10J2DTextBoxCFv */ char* J2DTextBox::getStringPtr() const { return mStringPtr; } /* 80300660-8030074C 2FAFA0 00EC+00 0/0 6/6 0/0 .text setString__10J2DTextBoxFPCce */ // missing block of instructions before delete[] #ifdef NONMATCHING s32 J2DTextBox::setString(char const* string, ...) { delete[] mStringPtr; u32 len = strlen(string); if (len >= 0xFFFF) { len = 0xFFFF - 1; } mStringLength = 0; char* tmp = new char[len + 1]; mStringPtr = tmp; if (mStringPtr) { mStringLength = len + 1; strcpy(mStringPtr, string); } return len; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm s32 J2DTextBox::setString(char const* param_0, ...) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/setString__10J2DTextBoxFPCce.s" } #pragma pop #endif /* 8030074C-80300870 2FB08C 0124+00 0/0 41/41 2/2 .text setString__10J2DTextBoxFsPCce */ #ifdef NONMATCHING s32 J2DTextBox::setString(s16 param_0, char const* string, ...) { delete[] mStringPtr; mStringPtr = NULL; u32 len = strlen(string); if (param_0 == -1) { if (len >= 0xFFFF) { len = 0xFFFF - 1; } param_0 = len + 1; } mStringLength = 0; if (param_0 != 0) { char* tmp = new char[param_0]; mStringPtr = tmp; } if (mStringPtr) { strncpy(mStringPtr, string, param_0 - 1); mStringPtr[param_0 - 1] = 0; mStringLength = param_0; } return len; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm s32 J2DTextBox::setString(s16 param_0, char const* param_1, ...) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/setString__10J2DTextBoxFsPCce.s" } #pragma pop #endif /* 80300870-803008E8 2FB1B0 0078+00 1/0 1/0 0/0 .text setConnectParent__10J2DTextBoxFb */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm bool J2DTextBox::setConnectParent(bool param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/setConnectParent__10J2DTextBoxFb.s" } #pragma pop /* 803008E8-80300950 2FB228 0068+00 1/0 1/0 0/0 .text drawSelf__10J2DTextBoxFff */ void J2DTextBox::drawSelf(f32 param_0, f32 param_1) { Mtx tmp; PSMTXIdentity(tmp); drawSelf(param_0, param_1, &tmp); } /* ############################################################################################## */ /* 80456298-804562A0 004898 0004+04 1/1 0/0 0/0 .sdata2 @2049 */ SECTION_SDATA2 static f32 lit_2049[1 + 1 /* padding */] = { 9.999999747378752e-05f, /* padding */ 0.0f, }; /* 80300950-80300AF8 2FB290 01A8+00 1/0 0/0 0/0 .text drawSelf__10J2DTextBoxFffPA3_A4_f */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DTextBox::drawSelf(f32 param_0, f32 param_1, f32 (*param_2)[3][4]) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/drawSelf__10J2DTextBoxFffPA3_A4_f.s" } #pragma pop /* 80300AF8-80300BFC 2FB438 0104+00 1/0 1/0 0/0 .text resize__10J2DTextBoxFff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void J2DTextBox::resize(f32 param_0, f32 param_1) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/resize__10J2DTextBoxFff.s" } #pragma pop /* 80300BFC-80300C68 2FB53C 006C+00 1/0 0/0 0/0 .text isUsed__10J2DTextBoxFPC7ResFONT */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm bool J2DTextBox::isUsed(ResFONT const* param_0) { nofralloc #include "asm/JSystem/J2DGraph/J2DTextBox/isUsed__10J2DTextBoxFPC7ResFONT.s" } #pragma pop /* 80300C68-80300C70 2FB5A8 0008+00 1/0 1/0 0/0 .text getTypeID__10J2DTextBoxCFv */ s32 J2DTextBox::getTypeID() const { return 19; } /* 80300C70-80300C90 2FB5B0 0020+00 1/0 0/0 0/0 .text isUsed__10J2DTextBoxFPC7ResTIMG */ bool J2DTextBox::isUsed(ResTIMG const* param_0) { return J2DPane::isUsed(param_0); } /* 80300C90-80300C94 2FB5D0 0004+00 1/0 0/0 0/0 .text rewriteAlpha__10J2DTextBoxFv */ void J2DTextBox::rewriteAlpha() { /* empty function */ } /* ############################################################################################## */ /* 803A1C5B-803A1C60 02E2BB 0001+04 0/0 0/0 0/0 .rodata None */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_803A1C5B = ""; /* @stringBase0 padding */ SECTION_DEAD static char const* const pad_803A1C5C = "\0\0\0"; #pragma pop /* 803A1C58-803A1C58 02E2B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */