summaryrefslogtreecommitdiff
path: root/src/d/d_menu_letter.cpp
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2025-04-23 21:39:12 +0300
committerGitHub <noreply@github.com>2025-04-23 11:39:12 -0700
commitcfb614e8b2a415fcb77513b6b1986aa44bd704d4 (patch)
tree0831a9c7da0f524d31f99787f45ed8d2b0847818 /src/d/d_menu_letter.cpp
parent556bfc958c7448656abacda51d710f59ab1c424a (diff)
d_menu_letter equivalent (#2407)
Diffstat (limited to 'src/d/d_menu_letter.cpp')
-rw-r--r--src/d/d_menu_letter.cpp174
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();
-}