diff options
| author | Max Roncace <me@caseif.net> | 2025-09-19 14:32:05 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-19 21:32:05 +0300 |
| commit | 11ebeb3fe04496ec46ab30a5aebb424f2b1175e3 (patch) | |
| tree | 80683b3816d0944ed8275a8b39433fb6753cf3ff /src/d/d_msg_scrn_3select.cpp | |
| parent | 818dec837f3370b4650476203f265b3b51cb82e6 (diff) | |
Link all oustanding US-matched TUs for JP (#2671)
Diffstat (limited to 'src/d/d_msg_scrn_3select.cpp')
| -rw-r--r-- | src/d/d_msg_scrn_3select.cpp | 80 |
1 files changed, 76 insertions, 4 deletions
diff --git a/src/d/d_msg_scrn_3select.cpp b/src/d/d_msg_scrn_3select.cpp index febc332da7..c1534f217f 100644 --- a/src/d/d_msg_scrn_3select.cpp +++ b/src/d/d_msg_scrn_3select.cpp @@ -39,10 +39,6 @@ dMsgScrn3Select_c::dMsgScrn3Select_c() { 'sel_po02', 'c_kahen', 'c_cursor' }; - // tag_n and following data are unused so unsure how this data is properly setup - static u64 tag_n[] = {'a_t', 'b_t', 'c_t'}; - static u32 unkdata[9] = {0}; - mpScreen = new J2DScreen(); JUT_ASSERT(0, mpScreen != 0); @@ -113,6 +109,67 @@ dMsgScrn3Select_c::dMsgScrn3Select_c() { mCursorPos[i] = mpCursor_c[i]->getGlobalVtxCenter(true, 0); } +#if VERSION == VERSION_GCN_JPN + if (dComIfGs_getOptUnk0() == 0) { + mpTmSel_c[0] = new CPaneMgr(mpScreen, 'a_tf', 0, NULL); + + mpTmSel_c[1] = new CPaneMgr(mpScreen, 'b_tf', 0, NULL); + + mpTmSel_c[2] = new CPaneMgr(mpScreen, 'c_tf', 0, NULL); + + mpTmrSel_c[0] = new CPaneMgr(mpScreen, 'a_tf_f', 0, NULL); + + mpTmrSel_c[1] = new CPaneMgr(mpScreen, 'b_tf_f', 0, NULL); + + mpTmrSel_c[2] = new CPaneMgr(mpScreen, 'c_tf_f', 0, NULL); + + for (int i = 0; i < 3; i++) { + ((J2DTextBox*)(mpTmSel_c[i]->getPanePtr()))->setString(64, ""); + ((J2DTextBox*)(mpTmSel_c[i]->getPanePtr()))->setFont(mDoExt_getMesgFont()); + + ((J2DTextBox*)(mpTmrSel_c[i]->getPanePtr()))->setString(64, ""); + ((J2DTextBox*)(mpTmrSel_c[i]->getPanePtr()))->setFont(mDoExt_getMesgFont()); + } + + mpScreen->search('a_t_e')->hide(); + mpScreen->search('b_t_e')->hide(); + mpScreen->search('c_t_e')->hide(); + mpScreen->search('a_tf')->show(); + mpScreen->search('b_tf')->show(); + mpScreen->search('c_tf')->show(); + mpScreen->search('a_tf_f')->show(); + mpScreen->search('b_tf_f')->show(); + mpScreen->search('c_tf_f')->show(); + mpScreen->search('a_t')->hide(); + mpScreen->search('b_t')->hide(); + mpScreen->search('c_t')->hide(); + } else { + mpTmSel_c[0] = new CPaneMgr(mpScreen, 'a_t', 0, NULL); + + mpTmSel_c[1] = new CPaneMgr(mpScreen, 'b_t', 0, NULL); + + mpTmSel_c[2] = new CPaneMgr(mpScreen, 'c_t', 0, NULL); + + for (int i = 0; i < 3; i++) { + ((J2DTextBox*)(mpTmSel_c[i]->getPanePtr()))->setString(64, ""); + ((J2DTextBox*)(mpTmSel_c[i]->getPanePtr()))->setFont(mDoExt_getMesgFont()); + mpTmrSel_c[i] = NULL; + } + + mpScreen->search('a_t_e')->hide(); + mpScreen->search('b_t_e')->hide(); + mpScreen->search('c_t_e')->hide(); + mpScreen->search('a_tf')->hide(); + mpScreen->search('b_tf')->hide(); + mpScreen->search('c_tf')->hide(); + mpScreen->search('a_tf_f')->hide(); + mpScreen->search('b_tf_f')->hide(); + mpScreen->search('c_tf_f')->hide(); + mpScreen->search('a_t')->show(); + mpScreen->search('b_t')->show(); + mpScreen->search('c_t')->show(); + } +#else mpTmSel_c[0] = new CPaneMgr(mpScreen, 'a_t_e', 0, NULL); JUT_ASSERT(0, mpTmSel_c[0] != 0); @@ -140,6 +197,7 @@ dMsgScrn3Select_c::dMsgScrn3Select_c() { mpScreen->search('a_t')->hide(); mpScreen->search('b_t')->hide(); mpScreen->search('c_t')->hide(); +#endif mSelMsgCol = static_cast<J2DTextBox*>(mpTmSel_c[0]->getPanePtr())->getWhite(); @@ -881,13 +939,24 @@ void dMsgScrn3Select_c::selectScale() { /* 8023B4AC-8023B870 235DEC 03C4+00 3/3 0/0 0/0 .text selectTrans__17dMsgScrn3Select_cFv */ void dMsgScrn3Select_c::selectTrans() { + static u64 tag_n[] = {'a_t', 'b_t', 'c_t'}; + J2DTextBox::TFontSize font_size; ((J2DTextBox*)mpTmSel_c[0]->getPanePtr())->getFontSize(font_size); f32 var_f31 = (mpTmSel_c[0]->getSizeY() - font_size.mSizeY) * 0.5f; f32 sp68[3]; for (int i = 0; i < 3; i++) { +#if VERSION == VERSION_GCN_JPN + if (dComIfGs_getOptUnk0() == 0 && (field_0x112 & (u8)(1 << i)) != 0) { + sp68[i] = 0.0f; + } else { + f32 temp = mpTmSel_c[i]->getInitPosY(); + sp68[i] = mpScreen->search(tag_n[i])->getBounds().i.y - temp; + } +#else sp68[i] = 0.0f; +#endif } if (mWidth == 1.0f) { @@ -952,6 +1021,9 @@ void dMsgScrn3Select_c::selectTrans() { } } +// following data are unused so unsure how this data is properly setup +static u32 unkdata[9] = {0}; + /* 8023B870-8023B914 2361B0 00A4+00 7/7 0/0 0/0 .text selectAnimeTransform__17dMsgScrn3Select_cFi */ void dMsgScrn3Select_c::selectAnimeTransform(int i_sel) { |
