mirror of
https://github.com/zeldaret/tp
synced 2026-05-23 06:54:28 -04:00
move J2D / JUTResFont (#144)
* move some JSystem and meter2_info stuff * more J2D / JUTTexture / JUTPalette * setup dScnKy_env_light_c
This commit is contained in:
@@ -6,140 +6,12 @@
|
||||
#include "JSystem/J2DGraph/J2DTextBox.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "msl_c/string.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct _GXCullMode {};
|
||||
|
||||
struct ResTIMG {};
|
||||
|
||||
struct ResFONT {};
|
||||
|
||||
struct JUtility {
|
||||
struct TColor {};
|
||||
};
|
||||
|
||||
struct JKRHeap {};
|
||||
|
||||
struct JUTResFont {
|
||||
/* 802DEF94 */ JUTResFont(ResFONT const*, JKRHeap*);
|
||||
};
|
||||
|
||||
struct JUTFont {};
|
||||
|
||||
struct JSUStreamSeekFrom {};
|
||||
|
||||
struct JSURandomInputStream {
|
||||
/* 802DC458 */ void peek(void*, s32);
|
||||
/* 802DC4DC */ void seek(s32, JSUStreamSeekFrom);
|
||||
};
|
||||
|
||||
struct JSUInputStream {
|
||||
/* 802DC298 */ void read(void*, s32);
|
||||
};
|
||||
|
||||
struct JKRArchive {};
|
||||
|
||||
struct JGeometry {
|
||||
template <typename A1>
|
||||
struct TBox2 {};
|
||||
/* TBox2<f32> */
|
||||
struct TBox2__template0 {};
|
||||
};
|
||||
|
||||
struct J2DTextBoxVBinding {};
|
||||
|
||||
struct J2DTextBoxHBinding {};
|
||||
|
||||
struct J2DAnmTexPattern {};
|
||||
|
||||
struct J2DAnmVisibilityFull {};
|
||||
|
||||
struct J2DAnmBase {};
|
||||
|
||||
struct J2DAnmColor {};
|
||||
|
||||
struct J2DAnmTevRegKey {};
|
||||
|
||||
struct J2DAnmTextureSRTKey {};
|
||||
|
||||
struct J2DAnmTransform {};
|
||||
|
||||
struct J2DAnmVtxColor {};
|
||||
|
||||
struct J2DPane {
|
||||
/* 80053BC0 */ void calcMtx();
|
||||
/* 80053C00 */ void makeMatrix(f32, f32);
|
||||
/* 802F7540 */ void makeMatrix(f32, f32, f32, f32);
|
||||
/* 80256018 */ void setAnimation(J2DAnmVtxColor*);
|
||||
/* 8025601C */ void setAnimation(J2DAnmVisibilityFull*);
|
||||
/* 80256020 */ void setAnimation(J2DAnmTexPattern*);
|
||||
/* 8018BF28 */ void setAnimation(J2DAnmTextureSRTKey*);
|
||||
/* 80126350 */ void setAnimation(J2DAnmTevRegKey*);
|
||||
/* 80126354 */ void setAnimation(J2DAnmColor*);
|
||||
/* 802F7EF4 */ void setAnimation(J2DAnmBase*);
|
||||
/* 802F5E88 */ J2DPane(u64, JGeometry::TBox2<f32> const&);
|
||||
/* 802F5BF8 */ J2DPane();
|
||||
/* 802F60C4 */ void makePaneStream(J2DPane*, JSURandomInputStream*);
|
||||
/* 802F658C */ ~J2DPane();
|
||||
/* 802F6F60 */ void move(f32, f32);
|
||||
/* 802F6FB4 */ void add(f32, f32);
|
||||
/* 802F6FF8 */ void resize(f32, f32);
|
||||
/* 802F72E0 */ void search(u64);
|
||||
/* 802F7388 */ void searchUserInfo(u64);
|
||||
/* 802F7430 */ void isUsed(ResTIMG const*);
|
||||
/* 802F74B8 */ void isUsed(ResFONT const*);
|
||||
/* 802F7680 */ void setCullBack(_GXCullMode);
|
||||
/* 802F8428 */ void setCullBack(bool);
|
||||
/* 802F7B18 */ void makePaneExStream(J2DPane*, JSURandomInputStream*);
|
||||
/* 802F7DB8 */ void getPointer(JSURandomInputStream*, u32, JKRArchive*);
|
||||
/* 802F8004 */ void clearAnmTransform();
|
||||
/* 802F8080 */ void animationTransform(J2DAnmTransform const*);
|
||||
/* 802F8118 */ void setVisibileAnimation(J2DAnmVisibilityFull*);
|
||||
/* 802F81A0 */ void setVtxColorAnimation(J2DAnmVtxColor*);
|
||||
/* 802F8228 */ void animationPane(J2DAnmTransform const*);
|
||||
/* 802F83D0 */ void setAnimationVF(J2DAnmVisibilityFull*);
|
||||
/* 802F83FC */ void setAnimationVC(J2DAnmVtxColor*);
|
||||
/* 802F8474 */ void update();
|
||||
};
|
||||
|
||||
struct J2DMaterial {};
|
||||
|
||||
struct J2DTextBox {
|
||||
/* 80186C84 */ void setWhite(JUtility::TColor);
|
||||
/* 8019230C */ void setBlackWhite(JUtility::TColor, JUtility::TColor);
|
||||
/* 801DFA28 */ void getWhite() const;
|
||||
/* 801DFA34 */ void getBlack() const;
|
||||
/* 8021C7F4 */ void getFont() const;
|
||||
/* 80254408 */ void setBlack(JUtility::TColor);
|
||||
/* 8025602C */ bool getMaterial() const;
|
||||
/* 802FFBC4 */ J2DTextBox(u64, JGeometry::TBox2<f32> const&, ResFONT const*, char const*, s16,
|
||||
J2DTextBoxHBinding, J2DTextBoxVBinding);
|
||||
/* 802FF6D8 */ J2DTextBox(J2DPane*, JSURandomInputStream*, JKRArchive*);
|
||||
/* 802FF75C */ J2DTextBox(J2DPane*, JSURandomInputStream*, u32, J2DMaterial*);
|
||||
/* 802FF660 */ J2DTextBox();
|
||||
/* 802FFC58 */ void initiate(ResFONT const*, char const*, s16, J2DTextBoxHBinding,
|
||||
J2DTextBoxVBinding);
|
||||
/* 802FFE88 */ void private_readStream(J2DPane*, JSURandomInputStream*, JKRArchive*);
|
||||
/* 803001E0 */ ~J2DTextBox();
|
||||
/* 80300278 */ void setFont(JUTFont*);
|
||||
/* 80300490 */ void draw(f32, f32, f32, J2DTextBoxHBinding);
|
||||
/* 803002E8 */ void draw(f32, f32);
|
||||
/* 80300658 */ void getStringPtr() const;
|
||||
/* 8030074C */ void setString(s16, char const*, ...);
|
||||
/* 80300660 */ void setString(char const*, ...);
|
||||
/* 80300870 */ void setConnectParent(bool);
|
||||
/* 80300950 */ void drawSelf(f32, f32, f32 (*)[3][4]);
|
||||
/* 803008E8 */ void drawSelf(f32, f32);
|
||||
/* 80300AF8 */ void resize(f32, f32);
|
||||
/* 80300C70 */ void isUsed(ResTIMG const*);
|
||||
/* 80300BFC */ void isUsed(ResFONT const*);
|
||||
/* 80300C68 */ s32 getTypeID() const;
|
||||
/* 80300C90 */ void rewriteAlpha();
|
||||
};
|
||||
|
||||
struct J2DPrint {
|
||||
/* 802F4394 */ J2DPrint(JUTFont*, f32, f32, JUtility::TColor, JUtility::TColor,
|
||||
JUtility::TColor, JUtility::TColor);
|
||||
@@ -237,10 +109,7 @@ extern "C" void setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull();
|
||||
extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor();
|
||||
extern "C" void setCullBack__7J2DPaneFb();
|
||||
extern "C" void update__7J2DPaneFv();
|
||||
extern "C" void PSMTXIdentity();
|
||||
extern "C" void PSMTXConcat();
|
||||
extern "C" void GXSetTexCoordGen2();
|
||||
extern "C" void GXSetNumTexGens();
|
||||
extern "C" void GXSetNumIndStages();
|
||||
extern "C" void GXSetTevDirect();
|
||||
extern "C" void GXLoadPosMtxImm();
|
||||
@@ -255,9 +124,6 @@ extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" void strncpy();
|
||||
extern "C" void strcpy();
|
||||
extern "C" void strlen();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -318,25 +184,17 @@ SECTION_DATA extern void* __vt__10J2DTextBox[47 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 802FF660-802FF6D8 2F9FA0 0078+00 0/0 1/1 0/0 .text __ct__10J2DTextBoxFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J2DTextBox::J2DTextBox() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DTextBox/__ct__10J2DTextBoxFv.s"
|
||||
J2DTextBox::J2DTextBox()
|
||||
: mFont(NULL), mCharColor(), mGradientColor(), mStringPtr(NULL), mWhiteColor(), mBlackColor() {
|
||||
initiate(NULL, 0, 0, HBIND_LEFT, VBIND_TOP);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802FF6D8-802FF75C 2FA018 0084+00 0/0 1/1 0/0 .text
|
||||
* __ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamP10JKRArchive */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J2DTextBox::J2DTextBox(J2DPane* param_0, JSURandomInputStream* param_1, JKRArchive* param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DTextBox/__ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamP10JKRArchive.s"
|
||||
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);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80456280-80456288 004880 0004+04 6/6 0/0 0/0 .sdata2 @1660 */
|
||||
@@ -367,16 +225,13 @@ asm J2DTextBox::J2DTextBox(J2DPane* param_0, JSURandomInputStream* param_1, u32
|
||||
/* 802FFBC4-802FFC58 2FA504 0094+00 0/0 1/1 0/0 .text
|
||||
* __ct__10J2DTextBoxFUxRCQ29JGeometry8TBox2<f>PC7ResFONTPCcs18J2DTextBoxHBinding18J2DTextBoxVBinding
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm 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) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DTextBox/func_802FFBC4.s"
|
||||
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);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802FFC58-802FFE88 2FA598 0230+00 2/2 1/0 0/0 .text
|
||||
* initiate__10J2DTextBoxFPC7ResFONTPCcs18J2DTextBoxHBinding18J2DTextBoxVBinding */
|
||||
@@ -406,21 +261,23 @@ asm void J2DTextBox::private_readStream(J2DPane* param_0, JSURandomInputStream*
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J2DTextBox::~J2DTextBox() {
|
||||
// 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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DTextBox::setFont(JUTFont* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DTextBox/setFont__10J2DTextBoxFP7JUTFont.s"
|
||||
void J2DTextBox::setFont(JUTFont* pFont) {
|
||||
if (pFont) {
|
||||
if (mTextFontOwned) {
|
||||
delete mFont;
|
||||
}
|
||||
mFont = pFont;
|
||||
mTextFontOwned = false;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A1C58-803A1C58 02E2B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
@@ -451,54 +308,100 @@ asm void J2DTextBox::draw(f32 param_0, f32 param_1, f32 param_2, J2DTextBoxHBind
|
||||
#pragma pop
|
||||
|
||||
/* 80300658-80300660 2FAF98 0008+00 0/0 62/62 2/2 .text getStringPtr__10J2DTextBoxCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DTextBox::getStringPtr() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DTextBox/getStringPtr__10J2DTextBoxCFv.s"
|
||||
char* J2DTextBox::getStringPtr() const {
|
||||
return mStringPtr;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 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 void J2DTextBox::setString(char const* param_0, ...) {
|
||||
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 void J2DTextBox::setString(s16 param_0, char const* param_1, ...) {
|
||||
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 void J2DTextBox::setConnectParent(bool param_0) {
|
||||
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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DTextBox::drawSelf(f32 param_0, f32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DTextBox/drawSelf__10J2DTextBoxFff.s"
|
||||
void J2DTextBox::drawSelf(f32 param_0, f32 param_1) {
|
||||
Mtx tmp;
|
||||
PSMTXIdentity(tmp);
|
||||
|
||||
drawSelf(param_0, param_1, &tmp);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80456298-804562A0 004898 0004+04 1/1 0/0 0/0 .sdata2 @2049 */
|
||||
@@ -533,7 +436,7 @@ asm void J2DTextBox::resize(f32 param_0, f32 param_1) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DTextBox::isUsed(ResFONT const* param_0) {
|
||||
asm bool J2DTextBox::isUsed(ResFONT const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DTextBox/isUsed__10J2DTextBoxFPC7ResFONT.s"
|
||||
}
|
||||
@@ -545,14 +448,9 @@ s32 J2DTextBox::getTypeID() const {
|
||||
}
|
||||
|
||||
/* 80300C70-80300C90 2FB5B0 0020+00 1/0 0/0 0/0 .text isUsed__10J2DTextBoxFPC7ResTIMG */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DTextBox::isUsed(ResTIMG const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DTextBox/isUsed__10J2DTextBoxFPC7ResTIMG.s"
|
||||
bool J2DTextBox::isUsed(ResTIMG const* param_0) {
|
||||
return J2DPane::isUsed(param_0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80300C90-80300C94 2FB5D0 0004+00 1/0 0/0 0/0 .text rewriteAlpha__10J2DTextBoxFv */
|
||||
void J2DTextBox::rewriteAlpha() {
|
||||
|
||||
Reference in New Issue
Block a user