diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2025-04-23 21:39:12 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-23 11:39:12 -0700 |
| commit | cfb614e8b2a415fcb77513b6b1986aa44bd704d4 (patch) | |
| tree | 0831a9c7da0f524d31f99787f45ed8d2b0847818 /src/d/d_menu_letter.cpp | |
| parent | 556bfc958c7448656abacda51d710f59ab1c424a (diff) | |
d_menu_letter equivalent (#2407)
Diffstat (limited to 'src/d/d_menu_letter.cpp')
| -rw-r--r-- | src/d/d_menu_letter.cpp | 174 |
1 files changed, 16 insertions, 158 deletions
diff --git a/src/d/d_menu_letter.cpp b/src/d/d_menu_letter.cpp index 58ca256446..691ab17117 100644 --- a/src/d/d_menu_letter.cpp +++ b/src/d/d_menu_letter.cpp @@ -20,138 +20,6 @@ #include "d/d_msg_scrn_arrow.h" #include "d/d_lib.h" -extern "C" void __ct__14dMenu_Letter_cFP10JKRExpHeapP9STControlP10CSTControl(); -extern "C" void __dt__14dMenu_Letter_cFv(); -extern "C" void _create__14dMenu_Letter_cFv(); -extern "C" void _move__14dMenu_Letter_cFv(); -extern "C" void _draw__14dMenu_Letter_cFv(); -extern "C" void isSync__14dMenu_Letter_cFv(); -extern "C" void letter_init_calc__14dMenu_Letter_cFv(); -extern "C" void init__14dMenu_Letter_cFv(); -extern "C" void _open__14dMenu_Letter_cFv(); -extern "C" void _close__14dMenu_Letter_cFv(); -extern "C" void wait_init__14dMenu_Letter_cFv(); -extern "C" void wait_move__14dMenu_Letter_cFv(); -extern "C" void slide_right_init__14dMenu_Letter_cFv(); -extern "C" void slide_right_move__14dMenu_Letter_cFv(); -extern "C" void slide_left_init__14dMenu_Letter_cFv(); -extern "C" void slide_left_move__14dMenu_Letter_cFv(); -extern "C" void read_open_init__14dMenu_Letter_cFv(); -extern "C" void read_open_move__14dMenu_Letter_cFv(); -extern "C" void read_move_init__14dMenu_Letter_cFv(); -extern "C" void read_move_move__14dMenu_Letter_cFv(); -extern "C" void read_next_fadeout_init__14dMenu_Letter_cFv(); -extern "C" void read_next_fadeout_move__14dMenu_Letter_cFv(); -extern "C" void read_next_fadein_init__14dMenu_Letter_cFv(); -extern "C" void read_next_fadein_move__14dMenu_Letter_cFv(); -extern "C" void read_close_init__14dMenu_Letter_cFv(); -extern "C" void read_close_move__14dMenu_Letter_cFv(); -extern "C" void screenSetMenu__14dMenu_Letter_cFv(); -extern "C" void getWhite__10J2DTextBoxCFv(); -extern "C" void getBlack__10J2DTextBoxCFv(); -extern "C" void getWhite__10J2DPictureCFv(); -extern "C" void getBlack__10J2DPictureCFv(); -extern "C" void screenSetBase__14dMenu_Letter_cFv(); -extern "C" void screenSetShadow__14dMenu_Letter_cFv(); -extern "C" void screenSetLetter__14dMenu_Letter_cFv(); -extern "C" void screenSetDoIcon__14dMenu_Letter_cFv(); -extern "C" void setCursorPos__14dMenu_Letter_cFv(); -extern "C" void changeActiveColor__14dMenu_Letter_cFv(); -extern "C" void changePageLight__14dMenu_Letter_cFv(); -extern "C" void setPageText__14dMenu_Letter_cFv(); -extern "C" void setDMYPageText__14dMenu_Letter_cFv(); -extern "C" void copyDMYMenu__14dMenu_Letter_cFv(); -extern "C" void setAButtonString__14dMenu_Letter_cFUs(); -extern "C" void setBButtonString__14dMenu_Letter_cFUs(); -extern "C" void getLetterNum__14dMenu_Letter_cFv(); -extern "C" void setHIO__14dMenu_Letter_cFb(); -extern "C" void -getStringPage__12dMsgString_cFUlUcUcP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cUc(); -extern "C" void draw__14dMenu_Letter_cFv(); -extern "C" void __sinit_d_menu_letter_cpp(); -extern "C" extern char const* const d_menu_d_menu_letter__stringBase0; - -// -// External References: -// - -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoExt_getSubFont__Fv(); -extern "C" void create__24mDoDvdThd_mountArchive_cFPCcUcP7JKRHeap(); -extern "C" void checkUpTrigger__9STControlFv(); -extern "C" void checkDownTrigger__9STControlFv(); -extern "C" void onLetterGetFlag__17dSv_letter_info_cFi(); -extern "C" void onLetterReadFlag__17dSv_letter_info_cFi(); -extern "C" void isLetterReadFlag__17dSv_letter_info_cCFi(); -extern "C" void __ct__Q28JUtility6TColorFv(); -extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive(); -extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb(); -extern "C" void setParam__16dSelect_cursor_cFfffff(); -extern "C" void setScale__16dSelect_cursor_cFf(); -extern "C" void setAlphaRate__16dSelect_cursor_cFf(); -extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void dMeter2Info_getRecieveLetterNum__Fv(); -extern "C" void dMeter2Info_set2DVibration__Fv(); -extern "C" void __ct__15dMsgScrnArrow_cFv(); -extern "C" void draw__15dMsgScrnArrow_cFv(); -extern "C" void setPos__15dMsgScrnArrow_cFff(); -extern "C" void arwAnimeInit__15dMsgScrnArrow_cFv(); -extern "C" void arwAnimeMove__15dMsgScrnArrow_cFv(); -extern "C" void dotAnimeInit__15dMsgScrnArrow_cFv(); -extern "C" void dotAnimeMove__15dMsgScrnArrow_cFv(); -extern "C" void -getStringPageLocal__16dMsgStringBase_cFUlUcUcP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cUc(); -extern "C" void getPageMax__16dMsgStringBase_cFi(); -extern "C" void __ct__12dMsgString_cFv(); -extern "C" void __dt__12dMsgString_cFv(); -extern "C" void __ct__8CPaneMgrFv(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void __dt__8CPaneMgrFv(); -extern "C" void paneTrans__8CPaneMgrFff(); -extern "C" void getGlobalVtx__8CPaneMgrFP7J2DPanePA3_A4_fUcbs(); -extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void func_802E90C0(); -extern "C" void getBounds__7J2DPaneFv(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void __ct__10J2DPictureFPC7ResTIMG(); -extern "C" void getStringPtr__10J2DTextBoxCFv(); -extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void __construct_array(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_14(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_14(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" u8 letter_data__12dMenu_Letter[512]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ /* 803BDA00-803BDA0C 01AB20 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -181,18 +49,6 @@ static moveFunc map_move_process[] = { &dMenu_Letter_c::read_close_move, }; -// /* 803BDB8C-803BDBA8 01ACAC 0010+0C 2/2 0/0 0/0 .data __vt__14dMenu_Letter_c */ -// SECTION_DATA extern void* __vt__14dMenu_Letter_c[4 + 3 /* padding */] = { -// (void*)NULL /* RTTI */, -// (void*)NULL, -// (void*)draw__14dMenu_Letter_cFv, -// (void*)__dt__14dMenu_Letter_cFv, -// /* padding */ -// NULL, -// NULL, -// NULL, -// }; - /* 801DCDC0-801DCF34 1D7700 0174+00 0/0 2/2 0/0 .text * __ct__14dMenu_Letter_cFP10JKRExpHeapP9STControlP10CSTControl */ dMenu_Letter_c::dMenu_Letter_c(JKRExpHeap* i_heap, STControl* i_stick, CSTControl* i_cstick) { @@ -216,8 +72,7 @@ dMenu_Letter_c::dMenu_Letter_c(JKRExpHeap* i_heap, STControl* i_stick, CSTContro letter_init_calc(); field_0x358 = 0.0f; field_0x35c = 0.0f; - field_0x364 = 1.0f; - field_0x360 = 1.0f; + field_0x360 = field_0x364 = 1.0f; for (int i = 0; i < 9; i++) { for (int j = 0; j < 6; j++) { field_0x376[i][j] = 0; @@ -300,13 +155,13 @@ dMenu_Letter_c::~dMenu_Letter_c() { } if (mpMount != NULL) { - mpMount->getArchive()->unmount(); - delete mpMount; + JKRUnmountArchive(mpMount->getArchive()); + mpMount->destroy(); mpMount = NULL; } if (mpArchive != NULL) { - mpArchive->unmount(); + JKRUnmountArchive(mpArchive); mpArchive = NULL; } dComIfGp_getMsgArchive(0)->removeResourceAll(); @@ -315,14 +170,21 @@ dMenu_Letter_c::~dMenu_Letter_c() { /* 801DD36C-801DD474 1D7CAC 0108+00 1/1 0/0 0/0 .text _create__14dMenu_Letter_cFv */ void dMenu_Letter_c::_create() { mpDrawCursor = new dSelect_cursor_c(2, 1.0f, NULL); + JUT_ASSERT(231, mpDrawCursor != 0); + #if VERSION == VERSION_SHIELD_DEBUG + mpDrawCursor->setParam(1.01f, 0.85f, 0.02f, 0.5f, 0.5f); + #else mpDrawCursor->setParam(1.06f, 0.9f, 0.02f, 0.4f, 0.4f); + #endif mpDrawCursor->setAlphaRate(0.0f); mpDrawCursor->setScale(0.0f); mpDrawCursor->offPlayAnime(0); mpString = new dMsgString_c(); - + JUT_ASSERT(245, mpString != 0); + mpArrow = new dMsgScrnArrow_c(); + JUT_ASSERT(249, mpArrow != 0); screenSetMenu(); screenSetBase(); @@ -347,7 +209,6 @@ void dMenu_Letter_c::_move() { } /* 801DD50C-801DD934 1D7E4C 0428+00 1/1 1/1 0/0 .text _draw__14dMenu_Letter_cFv */ -// NONMATCHING - getGlobalVtx result copy issue void dMenu_Letter_c::_draw() { if (mpArchive == NULL) { return; @@ -363,10 +224,12 @@ void dMenu_Letter_c::_draw() { GXGetScissor(&left, &top, &width, &height); CPaneMgr afStack_138; Mtx mtx; - Vec local_178 = afStack_138.getGlobalVtx(field_0x1ec, &mtx, 0, false, 0); + Vec local_178; + local_178 = afStack_138.getGlobalVtx(field_0x1ec, &mtx, 0, false, 0); f32 x1 = local_178.x; f32 y1 = local_178.y; - Vec local_184 = afStack_138.getGlobalVtx(field_0x1ec, &mtx, 3, false, 0); + Vec local_184; + local_184 = afStack_138.getGlobalVtx(field_0x1ec, &mtx, 3, false, 0); f32 dVar17 = mDoGph_gInf_c::getWidthF() / 608.0f; f32 dVar16 = mDoGph_gInf_c::getHeightF() / 448.0f; f32 fVar1 = (x1 - mDoGph_gInf_c::getMinXF()) / dVar17; @@ -1489,8 +1352,3 @@ void dMenu_Letter_c::setHIO(bool i_useHIO) { } } } - -/* 801E1D5C-801E1D7C 1DC69C 0020+00 1/0 0/0 0/0 .text draw__14dMenu_Letter_cFv */ -void dMenu_Letter_c::draw() { - _draw(); -} |
