A few small matches

This commit is contained in:
LagoLunatic
2026-07-02 21:07:19 -04:00
parent f93c5ba62c
commit 6051ac9b5b
2 changed files with 73 additions and 53 deletions
+42 -35
View File
@@ -437,11 +437,12 @@ void dMsg2_yose_select(sub_msg2_class* i_Msg, u8 i_index) {
/* 801E86E8-801E8798 .text dMsg2_textPosition__FP14sub_msg2_classUc */
// NONMATCHING - small reg alloc
void dMsg2_textPosition(sub_msg2_class* i_Msg, u8 i_index) {
int r7 = 0;
int temp_r0 = i_Msg->field_0xeb0 * (3 - i_Msg->field_0xecc[i_index]);
((J2DTextBox*)i_Msg->text_pane[i_index].pane)->shiftSet(0.0f, temp_r0);
((J2DTextBox*)i_Msg->ruby_pane[i_index].pane)->shiftSet(0.0f, temp_r0);
((J2DTextBox*)i_Msg->textSdw_pane[i_index].pane)->shiftSet(0.0f, temp_r0);
((J2DTextBox*)i_Msg->rubySdw_pane[i_index].pane)->shiftSet(0.0f, temp_r0);
((J2DTextBox*)i_Msg->text_pane[i_index].pane)->shiftSet(r7, temp_r0);
((J2DTextBox*)i_Msg->ruby_pane[i_index].pane)->shiftSet(r7, temp_r0);
((J2DTextBox*)i_Msg->textSdw_pane[i_index].pane)->shiftSet(r7, temp_r0);
((J2DTextBox*)i_Msg->rubySdw_pane[i_index].pane)->shiftSet(r7, temp_r0);
}
/* 801E8798-801E880C .text dMsg2_rubySet__FP14sub_msg2_class */
@@ -464,10 +465,10 @@ void dMsg2_arrowMove(sub_msg2_class* i_Msg) {
i_Msg->field_0xebc -= 12;
}
i_Msg->field_0xc20.pane->move(i_Msg->field_0xc20.mPosTopLeftOrig.x, (i_Msg->field_0xc20.mPosTopLeftOrig.y - 3.0f) - abs(6 - i_Msg->field_0xebc));
i_Msg->field_0xc58.pane->move(i_Msg->field_0xc20.mPosTopLeftOrig.x, (i_Msg->field_0xc20.mPosTopLeftOrig.y - 3.0f) - abs(6 - i_Msg->field_0xebc));
i_Msg->field_0xbb0.pane->move(i_Msg->field_0xbb0.mPosTopLeftOrig.x, (i_Msg->field_0xbb0.mPosTopLeftOrig.y - 3.0f) + abs(6 - i_Msg->field_0xebc));
i_Msg->field_0xbe8.pane->move(i_Msg->field_0xbb0.mPosTopLeftOrig.x, (i_Msg->field_0xbb0.mPosTopLeftOrig.y - 3.0f) + abs(6 - i_Msg->field_0xebc));
i_Msg->field_0xc20.pane->move(i_Msg->field_0xc20.mPosTopLeftOrig.x, (i_Msg->field_0xc20.mPosTopLeftOrig.y - DEMO_SELECT(0.0f, 3.0f)) - abs(6 - i_Msg->field_0xebc));
i_Msg->field_0xc58.pane->move(i_Msg->field_0xc20.mPosTopLeftOrig.x, (i_Msg->field_0xc20.mPosTopLeftOrig.y - DEMO_SELECT(0.0f, 3.0f)) - abs(6 - i_Msg->field_0xebc));
i_Msg->field_0xbb0.pane->move(i_Msg->field_0xbb0.mPosTopLeftOrig.x, (i_Msg->field_0xbb0.mPosTopLeftOrig.y - DEMO_SELECT(0.0f, 3.0f)) + abs(6 - i_Msg->field_0xebc));
i_Msg->field_0xbe8.pane->move(i_Msg->field_0xbb0.mPosTopLeftOrig.x, (i_Msg->field_0xbb0.mPosTopLeftOrig.y - DEMO_SELECT(0.0f, 3.0f)) + abs(6 - i_Msg->field_0xebc));
}
/* 801E8994-801E8A70 .text dMsg2_aimAlphaSqare__FP14sub_msg2_classii */
@@ -647,28 +648,32 @@ void dMsg2_messageDataInit(sub_msg2_class* i_Msg, int i_index) {
}
/* 801E9254-801E93B4 .text dMsg2_stopProc__FP14sub_msg2_class */
// NONMATCHING - instruction order, missing inline?
int dMsg2_stopProc(sub_msg2_class* i_Msg) {
if (i_Msg->field_0xedd == 0) {
if (CPad_GET_STICK_POS_Y(0) > 0.7f || CPad_GET_STICK_POS_Y(3) > 0.7f) {
if (i_Msg->field_0xec4 != 0) {
u8 r4 = i_Msg->field_0xe9e;
i_Msg->field_0xedd = 1;
dMsg2_screenDataSet(i_Msg, i_Msg->field_0xe9e);
dMsg2_screenDataSet(i_Msg, r4);
i_Msg->field_0xec0 = 3;
i_Msg->field_0xec4 -= i_Msg->mesgEntry.field_0x16;
i_Msg->msg.mStatus = 5;
mDoAud_seStart(JA_SE_SCROLL_1, NULL);
}
} else if (CPad_CHECK_TRIG_A(0) || CPad_GET_STICK_POS_Y(0) < -0.7f || CPad_GET_STICK_POS_Y(3) < -0.7f) {
u8 r4 = i_Msg->field_0xe9c;
i_Msg->field_0xedd = 2;
dMsg2_screenDataSet(i_Msg, i_Msg->field_0xe9c);
dMsg2_screenDataSet(i_Msg, r4);
i_Msg->field_0xec0 = 1;
i_Msg->field_0xec4 += i_Msg->mesgEntry.field_0x16;
i_Msg->msg.mStatus = 5;
mDoAud_seStart(JA_SE_SCROLL_1, NULL);
} else {
}
#if VERSION > VERSION_DEMO
else {
dMeter_Info.field_0x0 = 1;
}
#endif
} else {
dMsg2_stickInfoCheck(i_Msg);
}
@@ -677,13 +682,13 @@ int dMsg2_stopProc(sub_msg2_class* i_Msg) {
}
/* 801E93B4-801E94F0 .text dMsg2_closewaitProc__FP14sub_msg2_class */
// NONMATCHING - instruction order, missing inline?
int dMsg2_closewaitProc(sub_msg2_class* i_Msg) {
if (i_Msg->field_0xedd == 0) {
if (CPad_GET_STICK_POS_Y(0) > 0.7f || CPad_GET_STICK_POS_Y(3) > 0.7f) {
if (i_Msg->field_0xec4 != 0) {
u8 r4 = i_Msg->field_0xe9e;
i_Msg->field_0xedd = 1;
dMsg2_screenDataSet(i_Msg, i_Msg->field_0xe9e);
dMsg2_screenDataSet(i_Msg, r4);
i_Msg->field_0xec0 = 3;
i_Msg->field_0xec4 -= i_Msg->mesgEntry.field_0x16;
i_Msg->msg.mStatus = 5;
@@ -693,9 +698,12 @@ int dMsg2_closewaitProc(sub_msg2_class* i_Msg) {
i_Msg->field_0xedd = 2;
mDoAud_seStart(JA_SE_TALK_WIN_CLOSE, NULL);
i_Msg->msg.mStatus = 16;
} else {
}
#if VERSION > VERSION_DEMO
else {
dMeter_Info.field_0x0 = 4;
}
#endif
} else {
dMsg2_stickInfoCheck(i_Msg);
}
@@ -773,7 +781,6 @@ int dMsg2_closeProc(sub_msg2_class* i_Msg) {
}
/* 801E97EC-801E9C44 .text dMsg2_outwaitProc__FP14sub_msg2_class */
// NONMATCHING - small load order issue
int dMsg2_outwaitProc(sub_msg2_class* i_Msg) {
if (i_Msg->field_0xec0 == 1 || i_Msg->field_0xec0 == 2) {
i_Msg->field_0xec8 += 12;
@@ -882,7 +889,7 @@ int dMsg2_outwaitProc(sub_msg2_class* i_Msg) {
i_Msg->field_0xede += 37;
if (i_Msg->text_pane[i_Msg->field_0xe9d].mPosTopLeftOrig.y >= i_Msg->text_pane[0].mPosTopLeft.y) {
if (i_Msg->text_pane[i_Msg->field_0xe9d].mPosTopLeft.y >= i_Msg->text_pane[0].mPosTopLeftOrig.y) {
i_Msg->text_pane[i_Msg->field_0xe9c].mPosTopLeft.y = i_Msg->text_pane[0].mPosTopLeftOrig.y - i_Msg->field_0xe94;
i_Msg->text_pane[i_Msg->field_0xe9d].mPosTopLeft.y = i_Msg->text_pane[0].mPosTopLeftOrig.y;
i_Msg->text_pane[i_Msg->field_0xe9e].mPosTopLeft.y = i_Msg->text_pane[0].mPosTopLeftOrig.y + i_Msg->field_0xe94;
@@ -962,20 +969,24 @@ void dDlst_2DMSG2_c::outFontDraw() {
}
/* 801E9FC4-801EA0C8 .text draw__14dDlst_2DCopy_cFv */
// NONMATCHING
void dDlst_2DCopy_c::draw() {
int r27 = 0;
int r28 = 0;
int r26 = 372;
int r25 = 72;
J2DOrthoGraph* graf = dComIfGp_getCurrentGrafPort();
graf->setPort();
f32 left = -9.0f;
f32 top = -21.0f;
f32 width = 383.04376f;
f32 height = 78.600006f;
int left = r27 * 1.0296875f + -9.0f;
int top = r28 * 1.0916667f + -21.0f;
int width = r26 * 1.0296875f;
int height = r25 * 1.0916667f;
GXSetScissor((int)left, (int)top, (int)width, (int)height);
GXSetScissor(left, top, width, height);
sScreen2[0]->draw(0.0f, 0.0f, graf);
GXSetTexCopySrc((int)left, (int)top, (int)width, (int)height);
GXSetTexCopyDst((int)width, (int)height, GX_TF_RGB565, GX_FALSE);
GXSetTexCopySrc(left, top, width, height);
GXSetTexCopyDst(width, height, GX_TF_RGB565, GX_FALSE);
GXCopyTex(copyTex, REG1_S(6) == 0 ? GX_TRUE : GX_FALSE);
}
@@ -1010,7 +1021,6 @@ static BOOL dMsg2_Draw(sub_msg2_class* i_Msg) {
}
/* 801EA224-801EA7C4 .text dMsg2_Execute__FP14sub_msg2_class */
// NONMATCHING - some float issues
static BOOL dMsg2_Execute(sub_msg2_class* i_Msg) {
if (i_Msg->msg.mStatus == fopMsgStts_BOX_OPENING_e) {
dMsg2_openProc(i_Msg);
@@ -1034,16 +1044,13 @@ static BOOL dMsg2_Execute(sub_msg2_class* i_Msg) {
}
for (int i = 0; i < 3; i++) {
int sp64 = i_Msg->text_pane[i].mPosTopLeft.x + g_messageHIO.field_0x58;
int sp74 = i_Msg->text_pane[i].mPosTopLeft.y + temp_r4;
i_Msg->text_pane[i].pane->move(sp64, sp74);
i_Msg->ruby_pane[i].pane->move(sp64, sp74 - g_messageHIO.field_0x38);
f32 sp64 = i_Msg->text_pane[i].mPosTopLeft.x + g_messageHIO.field_0x58;
f32 sp74 = i_Msg->text_pane[i].mPosTopLeft.y + temp_r4;
i_Msg->text_pane[i].pane->move((int)sp64, (int)sp74);
i_Msg->ruby_pane[i].pane->move((int)sp64, (int)sp74 - g_messageHIO.field_0x38);
int var_r21 = sp64 + 2;
int var_r22 = sp74 + 2;
i_Msg->textSdw_pane[i].pane->move(var_r21, var_r22);
i_Msg->rubySdw_pane[i].pane->move(var_r21, var_r22 - g_messageHIO.field_0x38);
i_Msg->textSdw_pane[i].pane->move((int)sp64 + 2, (int)sp74 + 2);
i_Msg->rubySdw_pane[i].pane->move((int)sp64 + 2, (int)sp74 + 2 - g_messageHIO.field_0x38);
}
dMsg2_rubySet(i_Msg);
+31 -18
View File
@@ -29,11 +29,12 @@ static s16 dMinigame_Starter_tex_number = 3;
/* 80205FE8-80206124 .text _create__19dMinigame_Starter_cFv */
// NONMATCHING - missing b
cPhs_State dMinigame_Starter_c::_create() {
if (dComIfG_resLoad(&mPhase, "Mgst") == cPhs_COMPLEATE_e) {
cPhs_State phase_state = dComIfG_resLoad(&mPhase, "Mgst");
if (phase_state == cPhs_COMPLEATE_e) {
dRes_info_c* resInfo = dComIfG_getObjectResInfo("Mgst");
JUT_ASSERT(VERSION_SELECT(80, 80, 86, 86), resInfo != NULL);
mHeap = mDoExt_createSolidHeapFromGameToCurrent(VERSION_SELECT(0x13E0, 0x13E0, 0x14C0, 0x1AC0), 0x20);
mHeap = mDoExt_createSolidHeapFromGameToCurrent(VERSION_SELECT(0x1300, 0x13E0, 0x14C0, 0x1AC0), 0x20);
if (mHeap != NULL) {
mStarterScrn = new dDlst_StarterScrnDraw_c();
@@ -53,9 +54,11 @@ cPhs_State dMinigame_Starter_c::_create() {
mStatus = 0;
mTimer = 0;
field_0x10e = 3;
return cPhs_COMPLEATE_e;
}
return cPhs_COMPLEATE_e;
return phase_state;
}
/* 80206124-8020629C .text _execute__19dMinigame_Starter_cFv */
@@ -107,7 +110,7 @@ BOOL dMinigame_Starter_c::_delete() {
mDoExt_destroySolidHeap(mHeap);
}
dComIfG_resDelete(&mPhase, "Mgst");
dComIfG_resDeleteDemo(&mPhase, "Mgst");
return TRUE;
}
@@ -203,14 +206,18 @@ BOOL dDlst_StarterScrnDraw_c::anime1(int i_no) {
s16 temp_r0 = field_0x1c8[i_no].mUserArea;
if (temp_r0 <= var_r30) {
fopMsgM_paneScaleXY(&field_0x270[i_no], ((f32)field_0x1c8[i_no].mUserArea * (f32)field_0x1c8[i_no].mUserArea) / ((f32)var_r31 * (f32)var_r31) * 0.3f + 0.7f);
f32 temp = ((f32)field_0x1c8[i_no].mUserArea * (f32)field_0x1c8[i_no].mUserArea);
temp /= ((f32)var_r31 * (f32)var_r31);
fopMsgM_paneScaleXY(&field_0x270[i_no], temp * 0.3f + 0.7f);
fopMsgM_setNowAlpha(&field_0x270[i_no], ((f32)field_0x1c8[i_no].mUserArea * (f32)field_0x1c8[i_no].mUserArea) / ((f32)var_r30 * (f32)var_r30));
} else if (temp_r0 <= var_r31) {
f32 var_f31 = ((f32)(temp_r0 - var_r30) * (f32)(temp_r0 - var_r30)) / ((f32)(var_r31 - var_r30) * (f32)(var_r31 - var_r30));
fopMsgM_paneScaleXY(&field_0x1c8[i_no], var_f31 * 0.3f + 0.7f);
fopMsgM_setNowAlpha(&field_0x1c8[i_no], var_f31);
fopMsgM_paneScaleXY(&field_0x270[i_no], ((f32)field_0x1c8[i_no].mUserArea * (f32)field_0x1c8[i_no].mUserArea) / ((f32)var_r31 * (f32)var_r31) * 0.3f + 0.7f);
f32 temp = ((f32)field_0x1c8[i_no].mUserArea * (f32)field_0x1c8[i_no].mUserArea);
temp /= ((f32)var_r31 * (f32)var_r31);
fopMsgM_paneScaleXY(&field_0x270[i_no], temp * 0.3f + 0.7f);
fopMsgM_setNowAlpha(&field_0x270[i_no], 1.0f - var_f31);
if (field_0x1c8[i_no].mUserArea == var_r31) {
@@ -223,7 +230,8 @@ BOOL dDlst_StarterScrnDraw_c::anime1(int i_no) {
setRotate(&field_0x1c8[i_no], temp_f1);
} else if (temp_r0 < temp_r7) {
f32 var_f31 = temp_r0 - var_r27;
fopMsgM_paneScaleXY(&field_0x1c8[i_no], ((((f32)temp_r0 - var_r27) * ((f32)temp_r0 - var_r27)) / var_f31) * 2.0f + 1.0f);
f32 temp = ((((f32)temp_r0 - var_r27) * ((f32)temp_r0 - var_r27)) / var_f31);
fopMsgM_paneScaleXY(&field_0x1c8[i_no], temp * 2.0f + 1.0f);
f32 temp_f1_2 = ((f32)(field_0x1c8[i_no].mUserArea - var_r27) * (f32)(field_0x1c8[i_no].mUserArea - var_r27)) / var_f31;
fopMsgM_setNowAlpha(&field_0x1c8[i_no], 1.0f - temp_f1_2);
@@ -252,27 +260,32 @@ BOOL dDlst_StarterScrnDraw_c::anime2() {
s16 temp_r0 = field_0x008[0].mUserArea;
if (temp_r0 <= var_r30) {
f32 var_f31 = ((f32)field_0x008[0].mUserArea * (f32)field_0x008[0].mUserArea) / ((f32)var_r30 * (f32)var_r30);
scaleAnime((3.0f - var_f31 * 2.2f) * g_menuHIO.field_0x14);
setRotate(&field_0x190, 90.0f - var_f31 * 65.0f);
f32 var_f31 = ((f32)temp_r0 * (f32)temp_r0) / ((f32)var_r30 * (f32)var_r30);
f32 temp2 = 3.0f - var_f31 * 2.2f;
f32 temp = 90.0f - var_f31 * 65.0f;
scaleAnime(temp2 * g_menuHIO.field_0x14);
setRotate(&field_0x190, temp);
fopMsgM_setNowAlpha(&field_0x008[0], var_f31);
} else if (temp_r0 <= var_r31) {
f32 var_f31 = ((f32)(temp_r0 - var_r30) * (f32)(temp_r0 - var_r30)) / ((f32)(var_r31 - var_r30) * (f32)(var_r31 - var_r30));
f32 var_f31 = ((f32)(temp_r0 - var_r30) * (f32)(temp_r0 - var_r30));
var_f31 /= ((f32)(var_r31 - var_r30) * (f32)(var_r31 - var_r30));
scaleAnime((0.8f - var_f31 * -0.2f) * g_menuHIO.field_0x14);
if (field_0x008[0].mUserArea == var_r31) {
mDoAud_seStart(JA_SE_SGAME_COUNT_GO, NULL);
}
} else if (temp_r6 > temp_r0) {
} else if (temp_r0 > temp_r6) {
if (temp_r0 <= var_r27) {
f32 var_f31 = ((f32)(temp_r0 - temp_r6) * (f32)(temp_r0 - temp_r6)) / ((f32)(var_r27 - temp_r6) * (f32)(var_r27 - temp_r6));
setRotate(&field_0x190, 25.0f - var_f31 * -35.0f);
f32 temp = 25.0f - var_f31 * -35.0f;
setRotate(&field_0x190, temp);
} else if (temp_r0 < temp_r7) {
f32 var_f31 = ((f32)(temp_r0 - var_r27) * (f32)(temp_r0 - var_r27)) / ((f32)(temp_r0 - temp_r7) * (f32)(temp_r0 - temp_r7));
f32 var_f30 = 1.0f - var_f31;
scaleAnime((1.0f - var_f31 * 0.5f) * g_menuHIO.field_0x14);
setRotate(&field_0x190, 60.0f - var_f31 * -210.0f);
fopMsgM_setNowAlpha(&field_0x008[0], var_f30);
f32 var_f31 = ((f32)(temp_r0 - var_r27) * (f32)(temp_r0 - var_r27)) / ((f32)(temp_r7 - var_r27) * (f32)(temp_r7 - var_r27));
f32 temp2 = 1.0f - var_f31 * 0.5f;
f32 temp = 60.0f - var_f31 * -210.0f;
scaleAnime(temp2 * g_menuHIO.field_0x14);
setRotate(&field_0x190, temp);
fopMsgM_setNowAlpha(&field_0x008[0], 1.0f - var_f31);
} else {
scaleAnime(g_menuHIO.field_0x14 * 0.5f);
setRotate(&field_0x190, -90.0f);