diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-07-02 21:07:19 -0400 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-07-02 21:07:19 -0400 |
| commit | 6051ac9b5b72f259b9d5d65fc9b7ad097d4bde38 (patch) | |
| tree | a36a82e584707f1bc52912250cffe598ba9e4dd5 | |
| parent | f93c5ba62c18e7ae593fa034a6d0bd52bc95e55e (diff) | |
A few small matches
| -rw-r--r-- | src/d/d_message.cpp | 77 | ||||
| -rw-r--r-- | src/d/d_minigame_starter.cpp | 49 |
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); |
