summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2026-07-02 21:07:19 -0400
committerLagoLunatic <LagoLunatic@users.noreply.github.com>2026-07-02 21:07:19 -0400
commit6051ac9b5b72f259b9d5d65fc9b7ad097d4bde38 (patch)
treea36a82e584707f1bc52912250cffe598ba9e4dd5
parentf93c5ba62c18e7ae593fa034a6d0bd52bc95e55e (diff)
A few small matches
-rw-r--r--src/d/d_message.cpp77
-rw-r--r--src/d/d_minigame_starter.cpp49
2 files changed, 73 insertions, 53 deletions
diff --git a/src/d/d_message.cpp b/src/d/d_message.cpp
index 827966ed..abd9960c 100644
--- a/src/d/d_message.cpp
+++ b/src/d/d_message.cpp
@@ -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);
-
- int var_r21 = sp64 + 2;
- int var_r22 = sp74 + 2;
+ 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);
- 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);
diff --git a/src/d/d_minigame_starter.cpp b/src/d/d_minigame_starter.cpp
index fdf2b0e8..77789651 100644
--- a/src/d/d_minigame_starter.cpp
+++ b/src/d/d_minigame_starter.cpp
@@ -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);