tp/libs/JSystem/J2DGraph/J2DTextBox.cpp

452 lines
16 KiB
C++

//
// 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__10J2DTextBoxFUxRCQ29JGeometry8TBox2<f>PC7ResFONTPCcs18J2DTextBoxHBinding18J2DTextBoxVBinding
*/
J2DTextBox::J2DTextBox(u64 param_0, JGeometry::TBox2<f32> 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 */