copy dolsdk2004 to tp / b_bh + e_mb done (#2299)

* move dolsdk2004 over

* cleanup some temp work

* finish and cleanup gf

* b_bh done

* d_a_e_mb done
This commit is contained in:
TakaRikka
2025-02-10 11:20:42 -08:00
committed by GitHub
parent a38e2bfeee
commit eda175afc8
540 changed files with 68042 additions and 22075 deletions
+7 -7
View File
@@ -101,14 +101,14 @@ void J2DGrafContext::setColor(JUtility::TColor colorTL, JUtility::TColor colorTR
mColorBR = colorBR;
mColorBL = colorBL;
field_0xb0.mType = GX_BM_BLEND;
field_0xb0.mSrcFactor = GX_BL_SRC_ALPHA;
field_0xb0.mDstFactor = GX_BL_INV_SRC_ALPHA;
field_0xb0.mSrcFactor = GX_BL_SRCALPHA;
field_0xb0.mDstFactor = GX_BL_INVSRCALPHA;
mLinePart.mType = GX_BM_BLEND;
mLinePart.mSrcFactor = GX_BL_SRC_ALPHA;
mLinePart.mDstFactor = GX_BL_INV_SRC_ALPHA;
mLinePart.mSrcFactor = GX_BL_SRCALPHA;
mLinePart.mDstFactor = GX_BL_INVSRCALPHA;
mBoxPart.mType = GX_BM_BLEND;
mBoxPart.mSrcFactor = GX_BL_SRC_ALPHA;
mBoxPart.mDstFactor = GX_BL_INV_SRC_ALPHA;
mBoxPart.mSrcFactor = GX_BL_SRCALPHA;
mBoxPart.mDstFactor = GX_BL_INVSRCALPHA;
if ((mColorTL & 0xFF) != 0xFF) {
return;
}
@@ -202,4 +202,4 @@ void J2DGrafContext::line(JGeometry::TVec2<f32> start, JGeometry::TVec2<f32> end
void J2DGrafContext::lineTo(JGeometry::TVec2<f32> pos) {
this->line(mPrevPos, pos);
mPrevPos = pos;
}
}
+27 -27
View File
@@ -398,10 +398,10 @@ void J2DTevBlock1::setGX() {
}
GXSetTevSwapMode(GX_TEVSTAGE0, GXTevSwapSel(mTevStage[0].getRasSel()), GXTevSwapSel(mTevStage[0].getTexSel()));
for (int i = 0; i < 4; i++) {
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()),
GXTevColor(mTevSwapModeTable[i].getG()),
GXTevColor(mTevSwapModeTable[i].getB()),
GXTevColor(mTevSwapModeTable[i].getA()));
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColorChan(mTevSwapModeTable[i].getR()),
GXTevColorChan(mTevSwapModeTable[i].getG()),
GXTevColorChan(mTevSwapModeTable[i].getB()),
GXTevColorChan(mTevSwapModeTable[i].getA()));
}
mIndTevStage->load(0);
}
@@ -636,7 +636,7 @@ bool J2DTevBlock2::setTexture(u32 param_0, ResTIMG const* p_timg) {
const ResTIMG* timg = mTexture[param_0 == 0]->getTexInfo();
if (timg != NULL && timg->indexTexture) {
int tlutname = mTexture[param_0 == 0]->getTlutName();
u8 tlut_no = tlutname - (tlutname >= GX_MAX_TLUT ? GX_BIGTLUT0 : GX_TLUT0);
u8 tlut_no = tlutname - (tlutname >= GX_BIGTLUT0 ? GX_BIGTLUT0 : GX_TLUT0);
if (tlut_no == 0) {
tlutid = 1;
@@ -845,10 +845,10 @@ void J2DTevBlock2::setGX() {
GXSetTevSwapMode(GXTevStageID(i), GXTevSwapSel(mTevStage[i].getRasSel()), GXTevSwapSel(mTevStage[i].getTexSel()));
}
for (int i = 0; i < 4; i++) {
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()),
GXTevColor(mTevSwapModeTable[i].getG()),
GXTevColor(mTevSwapModeTable[i].getB()),
GXTevColor(mTevSwapModeTable[i].getA()));
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColorChan(mTevSwapModeTable[i].getR()),
GXTevColorChan(mTevSwapModeTable[i].getG()),
GXTevColorChan(mTevSwapModeTable[i].getB()),
GXTevColorChan(mTevSwapModeTable[i].getA()));
}
for (u8 i = 0; i < mTevStageNum; i++) {
mIndTevStage[i].load(i);
@@ -977,7 +977,7 @@ bool J2DTevBlock4::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette*
continue;
}
int tlutName = mTexture[i]->getTlutName();
u8 tlut_no = tlutName - (tlutName >= GX_MAX_TLUT ? GX_BIGTLUT0 : GX_TLUT0);
u8 tlut_no = tlutName - (tlutName >= GX_BIGTLUT0 ? GX_BIGTLUT0 : GX_TLUT0);
if (tlut_no < 4) {
local_44 |= 1 << tlut_no;
}
@@ -1095,7 +1095,7 @@ bool J2DTevBlock4::setTexture(u32 param_0, ResTIMG const* p_timg) {
const ResTIMG* timg = mTexture[i]->getTexInfo();
if (timg != NULL && timg->indexTexture) {
int tlutname = mTexture[i]->getTlutName();
u8 tlut_no = tlutname - (tlutname >= GX_MAX_TLUT ? GX_BIGTLUT0 : GX_TLUT0);
u8 tlut_no = tlutname - (tlutname >= GX_BIGTLUT0 ? GX_BIGTLUT0 : GX_TLUT0);
if (tlut_no < 4) {
used_tlut |= 1 << tlut_no;
@@ -1312,10 +1312,10 @@ void J2DTevBlock4::setGX() {
GXSetTevSwapMode(GXTevStageID(i), GXTevSwapSel(mTevStage[i].getRasSel()), GXTevSwapSel(mTevStage[i].getTexSel()));
}
for (int i = 0; i < 4; i++) {
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()),
GXTevColor(mTevSwapModeTable[i].getG()),
GXTevColor(mTevSwapModeTable[i].getB()),
GXTevColor(mTevSwapModeTable[i].getA()));
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColorChan(mTevSwapModeTable[i].getR()),
GXTevColorChan(mTevSwapModeTable[i].getG()),
GXTevColorChan(mTevSwapModeTable[i].getB()),
GXTevColorChan(mTevSwapModeTable[i].getA()));
}
for (u8 i = 0; i < mTevStageNum; i++) {
mIndTevStage[i].load(i);
@@ -1413,7 +1413,7 @@ bool J2DTevBlock8::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette*
continue;
}
int tlutName = mTexture[i]->getTlutName();
u8 tlut_no = tlutName - (tlutName >= GX_MAX_TLUT ? GX_BIGTLUT0 : GX_TLUT0);
u8 tlut_no = tlutName - (tlutName >= GX_BIGTLUT0 ? GX_BIGTLUT0 : GX_TLUT0);
if (tlut_no < 8) {
local_44 |= 1 << tlut_no;
}
@@ -1531,7 +1531,7 @@ bool J2DTevBlock8::setTexture(u32 param_0, ResTIMG const* p_timg) {
const ResTIMG* timg = mTexture[i]->getTexInfo();
if (timg != NULL && timg->indexTexture) {
int tlutname = mTexture[i]->getTlutName();
u8 tlut_no = tlutname - (tlutname >= GX_MAX_TLUT ? GX_BIGTLUT0 : GX_TLUT0);
u8 tlut_no = tlutname - (tlutname >= GX_BIGTLUT0 ? GX_BIGTLUT0 : GX_TLUT0);
if (tlut_no < 8) {
used_tlut |= 1 << tlut_no;
@@ -1743,10 +1743,10 @@ void J2DTevBlock8::setGX() {
GXSetTevSwapMode(GXTevStageID(i), GXTevSwapSel(mTevStage[i].getRasSel()), GXTevSwapSel(mTevStage[i].getTexSel()));
}
for (int i = 0; i < 4; i++) {
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()),
GXTevColor(mTevSwapModeTable[i].getG()),
GXTevColor(mTevSwapModeTable[i].getB()),
GXTevColor(mTevSwapModeTable[i].getA()));
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColorChan(mTevSwapModeTable[i].getR()),
GXTevColorChan(mTevSwapModeTable[i].getG()),
GXTevColorChan(mTevSwapModeTable[i].getB()),
GXTevColorChan(mTevSwapModeTable[i].getA()));
}
for (u8 i = 0; i < mTevStageNum; i++) {
mIndTevStage[i].load(i);
@@ -1844,7 +1844,7 @@ bool J2DTevBlock16::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette
continue;
}
int tlutName = mTexture[i]->getTlutName();
u8 tlut_no = tlutName - (tlutName >= GX_MAX_TLUT ? GX_BIGTLUT0 : GX_TLUT0);
u8 tlut_no = tlutName - (tlutName >= GX_BIGTLUT0 ? GX_BIGTLUT0 : GX_TLUT0);
if (tlut_no < 8) {
local_44 |= 1 << tlut_no;
}
@@ -1962,7 +1962,7 @@ bool J2DTevBlock16::setTexture(u32 param_0, ResTIMG const* p_timg) {
const ResTIMG* timg = mTexture[i]->getTexInfo();
if (timg != NULL && timg->indexTexture) {
int tlutname = mTexture[i]->getTlutName();
u8 tlut_no = tlutname - (tlutname >= GX_MAX_TLUT ? GX_BIGTLUT0 : GX_TLUT0);
u8 tlut_no = tlutname - (tlutname >= GX_BIGTLUT0 ? GX_BIGTLUT0 : GX_TLUT0);
if (tlut_no < 8) {
used_tlut |= 1 << tlut_no;
@@ -2174,10 +2174,10 @@ void J2DTevBlock16::setGX() {
GXSetTevSwapMode(GXTevStageID(i), GXTevSwapSel(mTevStage[i].getRasSel()), GXTevSwapSel(mTevStage[i].getTexSel()));
}
for (int i = 0; i < 4; i++) {
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColor(mTevSwapModeTable[i].getR()),
GXTevColor(mTevSwapModeTable[i].getG()),
GXTevColor(mTevSwapModeTable[i].getB()),
GXTevColor(mTevSwapModeTable[i].getA()));
GXSetTevSwapModeTable(GXTevSwapSel(i), GXTevColorChan(mTevSwapModeTable[i].getR()),
GXTevColorChan(mTevSwapModeTable[i].getG()),
GXTevColorChan(mTevSwapModeTable[i].getB()),
GXTevColorChan(mTevSwapModeTable[i].getA()));
}
for (u8 i = 0; i < mTevStageNum; i++) {
mIndTevStage[i].load(i);
+3 -3
View File
@@ -1086,7 +1086,7 @@ void J2DPicture::setTevMode() {
}
GXSetNumTevStages(u8(i));
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
for (i = 0; i < mTextureNum; i++) {
GXSetTexCoordGen(GXTexCoordID(i), GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY);
@@ -1333,7 +1333,7 @@ u8 J2DPicture::getUsableTlut(u8 param_0) {
if (img != NULL && img->indexTexture != 0) {
int name = mTexture[i]->getTlutName();
int var_r0 = name >= GX_MAX_TLUT ? GX_MAX_TLUT : GX_TLUT0;
int var_r0 = name >= GX_BIGTLUT0 ? GX_BIGTLUT0 : GX_TLUT0;
u8 temp_r0 = name - var_r0;
if (temp_r0 < 2) {
@@ -1481,4 +1481,4 @@ bool J2DPicture::isUsed(ResFONT const* param_0) {
/* 802FF65C-802FF660 2F9F9C 0004+00 1/0 0/0 0/0 .text rewriteAlpha__10J2DPictureFv */
void J2DPicture::rewriteAlpha() {
/* empty function */
}
}
+1 -1
View File
@@ -319,7 +319,7 @@ void J2DScreen::drawSelf(f32 param_0, f32 param_1, Mtx* param_2) {
JUtility::TColor sp8(alpha | ((u32)color & 0xFFFFFF00));
color = sp8;
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
+2 -2
View File
@@ -69,7 +69,7 @@ void J2DIndTevStage::load(u8 tevStage) {
/* 802EA098-802EA0CC 2E49D8 0034+00 0/0 1/1 0/0 .text load__12J2DIndTexMtxFUc */
void J2DIndTexMtx::load(u8 indTexMtx) {
GXSetIndTexMtx((GXIndTexMtxID)(GX_ITM_0 + indTexMtx), (f32*)mIndTexMtxInfo.mMtx,
GXSetIndTexMtx((GXIndTexMtxID)(GX_ITM_0 + indTexMtx), mIndTexMtxInfo.mMtx,
mIndTexMtxInfo.mScaleExp);
}
@@ -165,7 +165,7 @@ extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable = {
GX_CH_RED, GX_CH_GREEN, GX_CH_BLUE, GX_CH_ALPHA};
/* 804561A0-804561A4 0047A0 0004+00 0/0 3/3 0/0 .sdata2 j2dDefaultBlendInfo */
extern const J2DBlendInfo j2dDefaultBlendInfo = {GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA,
extern const J2DBlendInfo j2dDefaultBlendInfo = {GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA,
GX_LO_NOOP};
/* 804561A4-804561A8 0047A4 0004+00 0/0 1/1 0/0 .sdata2 None */
+4 -4
View File
@@ -430,7 +430,7 @@ void J2DWindow::drawContents(JGeometry::TBox2<f32> const& param_0) {
{
GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ZERO, GX_LO_SET);
} else {
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
}
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
@@ -573,7 +573,7 @@ void J2DWindow::setTevMode(JUTTexture* param_0, JUtility::TColor param_1,
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 1, GX_TEVPREV);
GXSetNumTevStages(1);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
} else {
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColor(GX_TEVREG0, param_1);
@@ -595,7 +595,7 @@ void J2DWindow::setTevMode(JUTTexture* param_0, JUtility::TColor param_1,
GXSetNumTevStages(2);
}
GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
}
/* 802FBE60-802FBEDC 2F67A0 007C+00 1/0 0/0 0/0 .text getFrameTexture__9J2DWindowCFUcUc
@@ -676,4 +676,4 @@ bool J2DWindow::isUsed(ResFONT const* param_0) {
/* 802FC04C-802FC050 2F698C 0004+00 1/0 0/0 0/0 .text rewriteAlpha__9J2DWindowFv */
void J2DWindow::rewriteAlpha() {
/* empty function */
}
}