Work on J2DMaterialFactory (#394)

* Work on J2DMaterialFactory

* J3DUClipper OK

* Work on JAISoundStarter

* JAISoundHandles OK

* JAISoundInfo OK

* Fix JAISound::isStopping

* Work on J2DTextBoxEx

* dspproc OK

* osdsp OK

* osdsp_task OK

* Work on dsptask

* Import some JASCalc code

* JASCallback OK

* JASOscillator OK

* JASLfo OK
This commit is contained in:
hatal175
2023-08-01 00:17:21 -07:00
committed by GitHub
parent 396449b597
commit 2275eb710b
122 changed files with 1901 additions and 4402 deletions
+35 -18
View File
@@ -351,22 +351,17 @@ extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8];
extern "C" extern u8 const j2dDefaultIndTexMtxInfo[28];
extern "C" extern J2DTevStageInfo const j2dDefaultTevStageInfo;
extern "C" extern J2DIndTevStageInfo const j2dDefaultIndTevStageInfo;
extern "C" extern void* __vt__11J2DIndBlock[14];
extern "C" extern GXColor j2dDefaultColInfo;
extern "C" extern J2DTevOrderInfo j2dDefaultTevOrderInfoNull;
extern "C" extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */];
extern "C" extern J2DGXColorS10 j2dDefaultTevColor;
extern "C" extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */];
extern "C" extern GXColor j2dDefaultTevKColor;
extern "C" extern J2DTevSwapModeInfo j2dDefaultTevSwapMode;
extern "C" extern J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable;
extern "C" extern u8 data_804561A4;
extern "C" extern J2DColorChanInfo j2dDefaultColorChanInfo;
extern "C" extern u8 data_804561AC;
extern "C" extern u16 j2dDefaultAlphaCmp;
//
// Declarations:
@@ -2583,7 +2578,7 @@ void J2DPEBlock::setGX() {
}
/* 802F18A0-802F1934 2EC1E0 0094+00 5/5 0/0 0/0 .text __ct__14J2DIndTevStageFv */
// missing instruction
// should be inline
#ifdef NONMATCHING
J2DIndTevStage::J2DIndTevStage() {
mFlags = J2DCalcIndTevStage(j2dDefaultIndTevStageInfo);
@@ -2592,7 +2587,7 @@ J2DIndTevStage::J2DIndTevStage() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J2DIndTevStage::J2DIndTevStage() {
asm void __ct__14J2DIndTevStageFv() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__14J2DIndTevStageFv.s"
}
@@ -2600,9 +2595,16 @@ asm J2DIndTevStage::J2DIndTevStage() {
#endif
/* 802F1934-802F1940 2EC274 000C+00 5/5 0/0 0/0 .text __ct__19J2DTevSwapModeTableFv */
// Should be inline
#ifdef NONMATCHING
J2DTevSwapModeTable::J2DTevSwapModeTable() {
field_0x0 = data_804561AC;
}
#else
asm void __ct__19J2DTevSwapModeTableFv() {
#include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s"
}
#endif
/* 802F1940-802F19A8 2EC280 0068+00 5/5 1/1 0/0 .text __ct__11J2DTevStageFv */
J2DTevStage::J2DTevStage() {
@@ -2620,12 +2622,27 @@ void J2DTevStage::setTevStageInfo(J2DTevStageInfo const& info) {
}
/* 802F1B70-802F1B90 2EC4B0 0020+00 5/5 0/0 0/0 .text __ct__11J2DTevOrderFv */
// Matching but should be inline
#ifdef NONMATCHING
J2DTevOrder::J2DTevOrder() {
mTevOrderInfo = j2dDefaultTevOrderInfoNull;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// J2DTevOrder::J2DTevOrder() {
asm void __ct__11J2DTevOrderFv() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s"
}
#pragma pop
#endif
/* 802F1B90-802F1B94 2EC4D0 0004+00 5/5 0/0 0/0 .text __ct__13J2DGXColorS10Fv */
J2DGXColorS10::J2DGXColorS10() {
// Most likely inlined
//J2DGXColorS10::J2DGXColorS10() {
void __ct__13J2DGXColorS10Fv() {
/* empty function */
}
@@ -2687,7 +2704,7 @@ u32 J2DTevBlock16::getType() {
}
/* 802F1D24-802F1D2C 2EC664 0008+00 1/0 0/0 0/0 .text getMaxStage__13J2DTevBlock16Fv */
s32 J2DTevBlock16::getMaxStage() {
u8 J2DTevBlock16::getMaxStage() {
return 16;
}
@@ -2707,7 +2724,7 @@ void J2DTevBlock16::setFontNo(u16 fontNo) {
}
/* 802F1D54-802F1D5C 2EC694 0008+00 1/0 0/0 0/0 .text getFontNo__13J2DTevBlock16CFv */
u32 J2DTevBlock16::getFontNo() const {
u16 J2DTevBlock16::getFontNo() const {
return mFontNo;
}
@@ -2869,7 +2886,7 @@ u32 J2DTevBlock8::getType() {
}
/* 802F1FC4-802F1FCC 2EC904 0008+00 1/0 0/0 0/0 .text getMaxStage__12J2DTevBlock8Fv */
s32 J2DTevBlock8::getMaxStage() {
u8 J2DTevBlock8::getMaxStage() {
return 8;
}
@@ -2889,7 +2906,7 @@ void J2DTevBlock8::setFontNo(u16 fontNo) {
}
/* 802F1FF4-802F1FFC 2EC934 0008+00 1/0 0/0 0/0 .text getFontNo__12J2DTevBlock8CFv */
u32 J2DTevBlock8::getFontNo() const {
u16 J2DTevBlock8::getFontNo() const {
return mFontNo;
}
@@ -3051,7 +3068,7 @@ u32 J2DTevBlock4::getType() {
}
/* 802F2264-802F226C 2ECBA4 0008+00 1/0 0/0 0/0 .text getMaxStage__12J2DTevBlock4Fv */
s32 J2DTevBlock4::getMaxStage() {
u8 J2DTevBlock4::getMaxStage() {
return 4;
}
@@ -3071,7 +3088,7 @@ void J2DTevBlock4::setFontNo(u16 fontNo) {
}
/* 802F2294-802F229C 2ECBD4 0008+00 1/0 0/0 0/0 .text getFontNo__12J2DTevBlock4CFv */
u32 J2DTevBlock4::getFontNo() const {
u16 J2DTevBlock4::getFontNo() const {
return mFontNo;
}
@@ -3233,7 +3250,7 @@ u32 J2DTevBlock2::getType() {
}
/* 802F2508-802F2510 2ECE48 0008+00 1/0 0/0 0/0 .text getMaxStage__12J2DTevBlock2Fv */
s32 J2DTevBlock2::getMaxStage() {
u8 J2DTevBlock2::getMaxStage() {
return 2;
}
@@ -3253,7 +3270,7 @@ void J2DTevBlock2::setFontNo(u16 fontNo) {
}
/* 802F2538-802F2540 2ECE78 0008+00 1/0 0/0 0/0 .text getFontNo__12J2DTevBlock2CFv */
u32 J2DTevBlock2::getFontNo() const {
u16 J2DTevBlock2::getFontNo() const {
return mFontNo;
}
@@ -3415,7 +3432,7 @@ u32 J2DTevBlock1::getType() {
}
/* 802F27AC-802F27B4 2ED0EC 0008+00 1/0 0/0 0/0 .text getMaxStage__12J2DTevBlock1Fv */
s32 J2DTevBlock1::getMaxStage() {
u8 J2DTevBlock1::getMaxStage() {
return 1;
}
@@ -3435,7 +3452,7 @@ void J2DTevBlock1::setFontNo(u16 fontNo) {
}
/* 802F27DC-802F27E4 2ED11C 0008+00 1/0 0/0 0/0 .text getFontNo__12J2DTevBlock1CFv */
u32 J2DTevBlock1::getFontNo() const {
u16 J2DTevBlock1::getFontNo() const {
return mFontNo;
}
+16 -13
View File
@@ -86,16 +86,10 @@ extern "C" void getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor();
extern "C" void __construct_array();
extern "C" void _savegpr_26();
extern "C" void _restgpr_26();
extern "C" extern u8 const j2dDefaultTexCoordInfo[32];
extern "C" extern u8 const j2dDefaultTexMtxInfo[36];
extern "C" extern u8 const j2dDefaultIndTexMtxInfo[28];
extern "C" extern void* __vt__15J2DIndBlockFull[14];
extern "C" extern void* __vt__11J2DTevBlock[47];
extern "C" extern void* __vt__14J2DTexGenBlock[3 + 1 /* padding */];
extern "C" extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */];
extern "C" extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */];
extern "C" extern u32 j2dDefaultColorChanInfo;
extern "C" extern u16 j2dDefaultAlphaCmp;
//
// Declarations:
@@ -561,7 +555,8 @@ void J2DIndBlock::setIndTexCoordScale(u32 param_0, J2DIndTexCoordScale param_1)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J2DTexCoord::J2DTexCoord() {
//asm J2DTexCoord::J2DTexCoord() {
asm void __ct__11J2DTexCoordFv() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMaterial/__ct__11J2DTexCoordFv.s"
}
@@ -571,17 +566,20 @@ asm J2DTexCoord::J2DTexCoord() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J2DColorChan::J2DColorChan() {
asm void __ct__12J2DColorChanFv() {
//asm J2DColorChan::J2DColorChan() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMaterial/__ct__12J2DColorChanFv.s"
}
#pragma pop
/* 802EB290-802EB2CC 2E5BD0 003C+00 1/1 1/1 0/0 .text __dt__19J2DIndTexCoordScaleFv */
// Most likely inline
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J2DIndTexCoordScale::~J2DIndTexCoordScale() {
// asm J2DIndTexCoordScale::~J2DIndTexCoordScale() {
asm void __dt__19J2DIndTexCoordScaleFv() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMaterial/__dt__19J2DIndTexCoordScaleFv.s"
}
@@ -591,7 +589,8 @@ asm J2DIndTexCoordScale::~J2DIndTexCoordScale() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J2DIndTexCoordScale::J2DIndTexCoordScale() {
//asm J2DIndTexCoordScale::J2DIndTexCoordScale() {
asm void __ct__19J2DIndTexCoordScaleFv() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMaterial/__ct__19J2DIndTexCoordScaleFv.s"
}
@@ -601,7 +600,8 @@ asm J2DIndTexCoordScale::J2DIndTexCoordScale() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J2DIndTexMtx::~J2DIndTexMtx() {
asm void __dt__12J2DIndTexMtxFv() {
//asm J2DIndTexMtx::~J2DIndTexMtx() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMaterial/__dt__12J2DIndTexMtxFv.s"
}
@@ -611,17 +611,20 @@ asm J2DIndTexMtx::~J2DIndTexMtx() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J2DIndTexMtx::J2DIndTexMtx() {
//asm J2DIndTexMtx::J2DIndTexMtx() {
asm void __ct__12J2DIndTexMtxFv() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMaterial/__ct__12J2DIndTexMtxFv.s"
}
#pragma pop
/* 802EB378-802EB390 2E5CB8 0018+00 1/1 0/0 0/0 .text __ct__14J2DIndTexOrderFv */
// Most likely inline
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J2DIndTexOrder::J2DIndTexOrder() {
//asm J2DIndTexOrder::J2DIndTexOrder() {
asm void __ct__14J2DIndTexOrderFv() {
nofralloc
#include "asm/JSystem/J2DGraph/J2DMaterial/__ct__14J2DIndTexOrderFv.s"
}
File diff suppressed because it is too large Load Diff
+8 -21
View File
@@ -20,7 +20,7 @@ struct J2DTevBlock {
/* 802EA14C */ bool getTevKAlphaSel(u32);
/* 802EA154 */ bool getTevKColorSel(u32);
/* 802EA15C */ bool getTevKColor(u32);
/* 802EA164 */ u32 getFontNo() const;
/* 802EA164 */ u16 getFontNo() const;
/* 802EA170 */ u32 getTexNo(u32) const;
/* 802EA17C */ bool getTevStageNum() const;
/* 802EA184 */ bool getIndTevStage(u32);
@@ -64,20 +64,14 @@ extern "C" extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8];
extern "C" extern J2DTexMtxInfo const j2dDefaultTexMtxInfo;
extern "C" extern J2DIndTexMtxInfo const j2dDefaultIndTexMtxInfo;
extern "C" extern J2DTevStageInfo const j2dDefaultTevStageInfo;
extern "C" extern u8 const j2dDefaultIndTevStageInfo[12];
extern "C" extern u32 j2dDefaultColInfo;
extern "C" extern u32 j2dDefaultTevOrderInfoNull;
extern "C" extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */];
extern "C" extern u8 j2dDefaultTevColor[8];
extern "C" extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */];
extern "C" extern u32 j2dDefaultTevKColor;
extern "C" extern u8 j2dDefaultTevSwapMode[4];
extern "C" extern u32 j2dDefaultTevSwapModeTable;
extern "C" extern u32 j2dDefaultBlendInfo;
extern "C" extern u8 data_804561A4[4];
extern "C" extern u32 j2dDefaultColorChanInfo;
extern "C" extern u16 data_804561AC;
extern "C" extern u16 j2dDefaultAlphaCmp;
//
// External References:
@@ -211,7 +205,7 @@ bool J2DTevBlock::getTevKColor(u32 param_0) {
}
/* 802EA164-802EA170 2E4AA4 000C+00 0/0 1/0 0/0 .text getFontNo__11J2DTevBlockCFv */
u32 J2DTevBlock::getFontNo() const {
u16 J2DTevBlock::getFontNo() const {
return 0xFFFF;
}
@@ -270,8 +264,8 @@ extern J2DTevStageInfo const j2dDefaultTevStageInfo = {4, 10, 15, 15, 0, 0, 0, 0
0, 5, 7, 7, 0, 0, 0, 0, 1};
/* 803A1BF4-803A1C00 02E254 000C+00 0/0 7/7 0/0 .rodata j2dDefaultIndTevStageInfo */
SECTION_RODATA extern u8 const j2dDefaultIndTevStageInfo[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
SECTION_RODATA extern const J2DIndTevStageInfo j2dDefaultIndTevStageInfo = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x803A1BF4, &j2dDefaultIndTevStageInfo);
@@ -279,14 +273,10 @@ COMPILER_STRIP_GATE(0x803A1BF4, &j2dDefaultIndTevStageInfo);
SECTION_SDATA2 extern u32 j2dDefaultColInfo = 0xFFFFFFFF;
/* 80456180-80456184 004780 0004+00 0/0 7/7 0/0 .sdata2 j2dDefaultTevOrderInfoNull */
SECTION_SDATA2 extern u32 j2dDefaultTevOrderInfoNull = 0xFFFFFF00;
SECTION_SDATA2 extern J2DTevOrderInfo j2dDefaultTevOrderInfoNull = {0xFF, 0xFF, 0xFF, 0x00};
/* 80456184-80456188 004784 0002+02 0/0 3/3 0/0 .sdata2 j2dDefaultIndTexOrderNull */
SECTION_SDATA2 extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */] = {
0xFFFF,
/* padding */
0x0000,
};
SECTION_SDATA2 extern const J2DIndTexOrderInfo j2dDefaultIndTexOrderNull = { 0xFF, 0xFF, };
/* 80456188-80456190 004788 0008+00 0/0 5/5 0/0 .sdata2 j2dDefaultTevColor */
SECTION_SDATA2 extern u8 j2dDefaultTevColor[8] = {
@@ -294,10 +284,7 @@ SECTION_SDATA2 extern u8 j2dDefaultTevColor[8] = {
};
/* 80456190-80456194 004790 0002+02 0/0 3/3 0/0 .sdata2 j2dDefaultIndTexCoordScaleInfo */
SECTION_SDATA2 extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */] = {
0x00,
0x00,
/* padding */
SECTION_SDATA2 extern const J2DIndTexCoordScaleInfo j2dDefaultIndTexCoordScaleInfo = {
0x00,
0x00,
};
@@ -314,7 +301,7 @@ SECTION_SDATA2 extern u8 j2dDefaultTevSwapMode[4] = {
};
/* 8045619C-804561A0 00479C 0004+00 0/0 6/6 0/0 .sdata2 j2dDefaultTevSwapModeTable */
SECTION_SDATA2 extern u32 j2dDefaultTevSwapModeTable = 0x00010203;
SECTION_SDATA2 extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable = {0x00, 0x01, 0x02, 0x03};
/* 804561A0-804561A4 0047A0 0004+00 0/0 3/3 0/0 .sdata2 j2dDefaultBlendInfo */
SECTION_SDATA2 extern u32 j2dDefaultBlendInfo = 0x01040505;
+94 -58
View File
@@ -372,6 +372,28 @@ JUTFont* J2DTextBoxEx::getFont() const {
}
/* 80307E0C-80307EF0 30274C 00E4+00 1/1 0/0 0/0 .text setTevOrder__12J2DTextBoxExFb */
// Stack issue
#ifdef NONMATCHING
void J2DTextBoxEx::setTevOrder(bool param_0) {
u16 local_18[2];
if (!param_0) {
local_18[0] = 4;
local_18[1] = 0xffff;
} else {
local_18[0] = 0xff;
local_18[1] = 0xff04;
}
for (u8 i = 0; i < 2; i++) {
if (mMaterial->getTevBlock()->getMaxStage() > i) {
J2DTevOrderInfo info;
info.mTexCoord = (local_18[i]) >> 8;
info.mTexMap = (local_18[i]) >> 8;
info.mColor = local_18[i] & 0xff;
mMaterial->getTevBlock()->setTevOrder(i, J2DTevOrder(info));
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -380,6 +402,7 @@ asm void J2DTextBoxEx::setTevOrder(bool param_0) {
#include "asm/JSystem/J2DGraph/J2DTextBoxEx/setTevOrder__12J2DTextBoxExFb.s"
}
#pragma pop
#endif
/* 80307EF0-80307F94 302830 00A4+00 1/1 0/0 0/0 .text setTevStage__12J2DTextBoxExFb */
void J2DTextBoxEx::setTevStage(bool param_0) {
@@ -498,7 +521,6 @@ bool J2DTextBoxEx::setWhite(JUtility::TColor white) {
/* 8030834C-803084CC 302C8C 0180+00 1/0 0/0 0/0 .text
* setBlackWhite__12J2DTextBoxExFQ28JUtility6TColorQ28JUtility6TColor */
#ifdef NONMATCHING
bool J2DTextBoxEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) {
if (mMaterial == NULL) {
return false;
@@ -522,36 +544,48 @@ bool J2DTextBoxEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor para
setTevStage(bvar);
if (bvar) {
J2DGXColorS10 color0;
color0.r = param_0.r;
color0.g = param_0.g;
color0.b = param_0.b;
color0.a = param_0.a;
mMaterial->getTevBlock()->setTevColor(0, color0);
J2DGXColorS10 color;
color.r = param_0.r;
color.g = param_0.g;
color.b = param_0.b;
color.a = param_0.a;
mMaterial->getTevBlock()->setTevColor(0, color);
J2DGXColorS10 color1;
color1.r = param_1.r;
color1.g = param_1.g;
color1.b = param_1.b;
color1.a = param_1.a;
mMaterial->getTevBlock()->setTevColor(1, color1);
color.r = param_1.r;
color.g = param_1.g;
color.b = param_1.b;
color.a = param_1.a;
mMaterial->getTevBlock()->setTevColor(1, color);
}
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J2DTextBoxEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DTextBoxEx/setBlackWhite__12J2DTextBoxExFQ28JUtility6TColorQ28JUtility6TColor.s"
}
#pragma pop
#endif
/* 803084CC-80308668 302E0C 019C+00 4/4 0/0 0/0 .text
* getBlackWhite__12J2DTextBoxExCFPQ28JUtility6TColorPQ28JUtility6TColor */
// regalloc
#ifdef NONMATCHING
bool J2DTextBoxEx::getBlackWhite(JUtility::TColor* param_0, JUtility::TColor* param_1) const {
if (mMaterial == NULL) {
return false;
}
if (mMaterial->getTevBlock() == NULL) {
return false;
}
bool tevStageNum = mMaterial->getTevBlock()->getTevStageNum() != 1;
*param_0 = JUtility::TColor(0);
*param_1 = JUtility::TColor(0xffffffff);
if (tevStageNum) {
J2DGXColorS10 local_30(*mMaterial->getTevBlock()->getTevColor(0));
J2DGXColorS10 local_38(*mMaterial->getTevBlock()->getTevColor(1));
*param_0 = JUtility::TColor((((u8)local_30.r) << 24) | (((u8)local_30.g) << 16) | (((u8)local_30.b) << 8) | ((u8)local_30.a));
*param_1 = JUtility::TColor((((u8)local_38.r) << 24) | (((u8)local_38.g) << 16) | (((u8)local_38.b) << 8) | ((u8)local_38.a));
}
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -560,37 +594,40 @@ asm bool J2DTextBoxEx::getBlackWhite(JUtility::TColor* param_0, JUtility::TColor
#include "asm/JSystem/J2DGraph/J2DTextBoxEx/getBlackWhite__12J2DTextBoxExCFPQ28JUtility6TColorPQ28JUtility6TColor.s"
}
#pragma pop
#endif
/* 80308668-803086FC 302FA8 0094+00 1/1 0/0 0/0 .text
* isSetBlackWhite__12J2DTextBoxExCFQ28JUtility6TColorQ28JUtility6TColor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J2DTextBoxEx::isSetBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) const {
nofralloc
#include "asm/JSystem/J2DGraph/J2DTextBoxEx/isSetBlackWhite__12J2DTextBoxExCFQ28JUtility6TColorQ28JUtility6TColor.s"
bool J2DTextBoxEx::isSetBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) const {
if ((u32)param_0 == 0 && (u32)param_1 == 0xffffffff) {
return 1;
}
mMaterial->getTevBlock()->getTevStageNum();
if (mMaterial->getTevBlock()->getMaxStage() == 1) {
return 0;
}
return 1;
}
#pragma pop
/* 803086FC-8030875C 30303C 0060+00 1/0 0/0 0/0 .text getBlack__12J2DTextBoxExCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JUtility::TColor J2DTextBoxEx::getBlack() const {
nofralloc
#include "asm/JSystem/J2DGraph/J2DTextBoxEx/getBlack__12J2DTextBoxExCFv.s"
JUtility::TColor J2DTextBoxEx::getBlack() const {
JUtility::TColor black;
JUtility::TColor white;
if (getBlackWhite(&black, &white) == 0) {
return JUtility::TColor(0);
}
return black;
}
#pragma pop
/* 8030875C-803087BC 30309C 0060+00 1/0 0/0 0/0 .text getWhite__12J2DTextBoxExCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JUtility::TColor J2DTextBoxEx::getWhite() const {
nofralloc
#include "asm/JSystem/J2DGraph/J2DTextBoxEx/getWhite__12J2DTextBoxExCFv.s"
JUtility::TColor J2DTextBoxEx::getWhite() const {
JUtility::TColor black;
JUtility::TColor white;
if (getBlackWhite(&black, &white) == 0) {
return JUtility::TColor(0xffffffff);
}
return white;
}
#pragma pop
/* 803087BC-803087DC 3030FC 0020+00 1/0 0/0 0/0 .text setAlpha__12J2DTextBoxExFUc */
void J2DTextBoxEx::setAlpha(u8 alpha) {
@@ -677,24 +714,23 @@ void J2DTextBoxEx::setAnimation(J2DAnmVisibilityFull* anm) {
/* 8030896C-803089EC 3032AC 0080+00 1/0 0/0 0/0 .text
* animationPane__12J2DTextBoxExFPC15J2DAnmTransform */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm const J2DAnmTransform* J2DTextBoxEx::animationPane(J2DAnmTransform const* param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DTextBoxEx/animationPane__12J2DTextBoxExFPC15J2DAnmTransform.s"
const J2DAnmTransform* J2DTextBoxEx::animationPane(J2DAnmTransform const* param_0) {
if (mVisibilityAnm != NULL && field_0x13c != 0xffff) {
u8 visibility;
mVisibilityAnm->getVisibility(field_0x13c, &visibility);
if (visibility != 0) {
show();
} else {
hide();
}
}
return J2DPane::animationPane(param_0);
}
#pragma pop
/* 803089EC-80308A28 30332C 003C+00 1/0 0/0 0/0 .text setCullBack__12J2DTextBoxExFb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DTextBoxEx::setCullBack(bool param_0) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DTextBoxEx/setCullBack__12J2DTextBoxExFb.s"
void J2DTextBoxEx::setCullBack(bool param_0) {
setCullBack(param_0 ? GX_CULL_BACK : GX_CULL_NONE);
}
#pragma pop
/* 80308A28-80308A48 303368 0020+00 1/0 0/0 0/0 .text isUsed__12J2DTextBoxExFPC7ResTIMG
*/