summaryrefslogtreecommitdiff
path: root/src/d
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-04-28 13:58:43 -0700
committerGitHub <noreply@github.com>2022-04-28 16:58:43 -0400
commitd91b1294bbe8bbe802bb49e0db9019ca26bbefbd (patch)
treeafa001295c4a119e68225e9d6a26fe9584dbf504 /src/d
parent07c5152e5acff18c08a92b3c773583ae0114c5f4 (diff)
d_name / d_s_name (#194)
* d_name * scnname
Diffstat (limited to 'src/d')
-rw-r--r--src/d/d_name.cpp2300
-rw-r--r--src/d/pane/d_pane_class.cpp2
-rw-r--r--src/d/s/d_s_name.cpp660
3 files changed, 1267 insertions, 1695 deletions
diff --git a/src/d/d_name.cpp b/src/d/d_name.cpp
index 000db8ec11..fa74ecb42d 100644
--- a/src/d/d_name.cpp
+++ b/src/d/d_name.cpp
@@ -4,144 +4,11 @@
//
#include "d/d_name.h"
+#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "dol2asm.h"
#include "dolphin/types.h"
-
-//
-// Types:
-//
-
-struct mDoCPd_c {
- static u8 m_cpadInfo[256];
-};
-
-struct J2DPane {};
-
-struct JKRArchive {};
-
-struct dSelect_cursor_c {
- /* 80194220 */ dSelect_cursor_c(u8, f32, JKRArchive*);
- /* 801950F4 */ void setPos(f32, f32, J2DPane*, bool);
- /* 801951B0 */ void setParam(f32, f32, f32, f32, f32);
- /* 801952A0 */ void setAlphaRate(f32);
-};
-
-struct dNm_HIO_c {
- /* 8024E3E0 */ dNm_HIO_c();
- /* 802511A4 */ ~dNm_HIO_c();
-};
-
-struct dName_c {
- /* 8024E408 */ dName_c(J2DPane*);
- /* 8024E468 */ ~dName_c();
- /* 8024E62C */ void _create();
- /* 8024E6D4 */ void init();
- /* 8024E7A4 */ void initial();
- /* 8024E7EC */ void showIcon();
- /* 8024E9A0 */ void _move();
- /* 8024EC10 */ void nameCheck();
- /* 8024EC4C */ void playNameSet(int);
- /* 8024EC84 */ void cursorAnm();
- /* 8024ED48 */ void Wait();
- /* 8024ED4C */ void MojiSelect();
- /* 8024F034 */ void MojiSelectAnmInit();
- /* 8024F0E0 */ void MojiSelectAnm();
- /* 8024F164 */ void MojiSelectAnm2();
- /* 8024F1E8 */ void MojiSelectAnm3();
- /* 8024F1EC */ void mojiChange(u8);
- /* 8024F55C */ void selectMojiSet();
- /* 8024F59C */ void getMoji();
- /* 8024F634 */ void setMoji(int);
- /* 8024F88C */ void setNameText();
- /* 8024F914 */ void nameCursorMove();
- /* 8024F994 */ void selectCursorMove();
- /* 8024FAF4 */ void menuCursorPosSet();
- /* 8024FB08 */ void MenuSelect();
- /* 8024FDA0 */ void MenuSelectAnmInit();
- /* 8024FDF4 */ void MenuSelectAnm();
- /* 8024FEB4 */ void MenuSelectAnm2();
- /* 8024FFA0 */ void MenuSelectAnm3();
- /* 8024FFA4 */ void menuAbtnSelect();
- /* 80250074 */ void backSpace();
- /* 802501B0 */ void mojiListChange();
- /* 80250284 */ void menuCursorMove();
- /* 80250380 */ void menuCursorMove2();
- /* 802504A0 */ void selectCursorPosSet(int);
- /* 80250560 */ void _draw();
- /* 802505CC */ void screenSet();
- /* 80250CEC */ void displayInit();
- /* 80250E54 */ void NameStrSet();
- /* 80251048 */ void getMenuPosIdx(u8);
-};
-
-struct dDlst_base_c {};
-
-struct dDlst_list_c {
- /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
-};
-
-struct dDlst_NameIN_c {
- /* 80251094 */ void draw();
- /* 8025115C */ ~dDlst_NameIN_c();
-};
-
-struct JAISoundID {};
-
-struct Vec {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
-struct STControl {
- /* 80032044 */ STControl(s16, s16, s16, s16, f32, f32, s16, s16);
- /* 8003219C */ void checkTrigger();
- /* 8003242C */ void checkLeftTrigger();
- /* 800324A8 */ void checkRightTrigger();
- /* 80032524 */ void checkUpTrigger();
- /* 800325A0 */ void checkDownTrigger();
-};
-
-struct JKRFileLoader {
- /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
-};
-
-struct JKRExpHeap {};
-
-struct J2DTextBox {
- /* 80300658 */ void getStringPtr() const;
- /* 80300660 */ void setString(char const*, ...);
- /* 8030074C */ void setString(s16, char const*, ...);
-};
-
-struct J2DGrafContext {};
-
-struct J2DScreen {
- /* 802F8498 */ J2DScreen();
- /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
- /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
- /* 802F9690 */ void animation();
-};
-
-struct J2DAnmLoaderDataBase {
- /* 80308A6C */ void load(void const*);
-};
-
-struct CPaneMgrAlpha {
- /* 802553FC */ CPaneMgrAlpha(J2DScreen*, u64, u8, JKRExpHeap*);
- /* 802555C8 */ void show();
- /* 80255608 */ void hide();
-};
-
-struct CPaneMgr {
- /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
- /* 802547CC */ void scaleAnime(s16, f32, f32, u8);
- /* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
-};
+#include "f_op/f_op_msg_mng.h"
+#include "m_Do/m_Do_audio.h"
//
// Forward References:
@@ -231,9 +98,6 @@ extern "C" void getStringPtr__10J2DTextBoxCFv();
extern "C" void setString__10J2DTextBoxFPCce();
extern "C" void setString__10J2DTextBoxFsPCce();
extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
-extern "C" void PSMTXCopy();
-extern "C" void PSMTXConcat();
-extern "C" void PSMTXScale();
extern "C" void __register_global_object();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_19();
@@ -248,866 +112,90 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
-extern "C" void sprintf();
-extern "C" void strcat();
-extern "C" void strcpy();
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
-/* ############################################################################################## */
-/* 80399CC8-80399CC8 026328 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80399CC8 = "あ";
-SECTION_DEAD static char const* const stringBase_80399CCB = "い";
-SECTION_DEAD static char const* const stringBase_80399CCE = "う";
-SECTION_DEAD static char const* const stringBase_80399CD1 = "え";
-SECTION_DEAD static char const* const stringBase_80399CD4 = "お";
-SECTION_DEAD static char const* const stringBase_80399CD7 = "か";
-SECTION_DEAD static char const* const stringBase_80399CDA = "き";
-SECTION_DEAD static char const* const stringBase_80399CDD = "く";
-SECTION_DEAD static char const* const stringBase_80399CE0 = "け";
-SECTION_DEAD static char const* const stringBase_80399CE3 = "こ";
-SECTION_DEAD static char const* const stringBase_80399CE6 = "さ";
-SECTION_DEAD static char const* const stringBase_80399CE9 = "し";
-SECTION_DEAD static char const* const stringBase_80399CEC = "す";
-SECTION_DEAD static char const* const stringBase_80399CEF = "せ";
-SECTION_DEAD static char const* const stringBase_80399CF2 = "そ";
-SECTION_DEAD static char const* const stringBase_80399CF5 = "た";
-SECTION_DEAD static char const* const stringBase_80399CF8 = "ち";
-SECTION_DEAD static char const* const stringBase_80399CFB = "つ";
-SECTION_DEAD static char const* const stringBase_80399CFE = "て";
-SECTION_DEAD static char const* const stringBase_80399D01 = "と";
-SECTION_DEAD static char const* const stringBase_80399D04 = "な";
-SECTION_DEAD static char const* const stringBase_80399D07 = "に";
-SECTION_DEAD static char const* const stringBase_80399D0A = "ぬ";
-SECTION_DEAD static char const* const stringBase_80399D0D = "ね";
-SECTION_DEAD static char const* const stringBase_80399D10 = "の";
-SECTION_DEAD static char const* const stringBase_80399D13 = "は";
-SECTION_DEAD static char const* const stringBase_80399D16 = "ひ";
-SECTION_DEAD static char const* const stringBase_80399D19 = "ふ";
-SECTION_DEAD static char const* const stringBase_80399D1C = "へ";
-SECTION_DEAD static char const* const stringBase_80399D1F = "ほ";
-SECTION_DEAD static char const* const stringBase_80399D22 = "ま";
-SECTION_DEAD static char const* const stringBase_80399D25 = "み";
-SECTION_DEAD static char const* const stringBase_80399D28 = "む";
-SECTION_DEAD static char const* const stringBase_80399D2B = "め";
-SECTION_DEAD static char const* const stringBase_80399D2E = "も";
-SECTION_DEAD static char const* const stringBase_80399D31 = "や";
-SECTION_DEAD static char const* const stringBase_80399D34 = " ";
-SECTION_DEAD static char const* const stringBase_80399D37 = "ゆ";
-SECTION_DEAD static char const* const stringBase_80399D3A = "よ";
-SECTION_DEAD static char const* const stringBase_80399D3D = "ら";
-SECTION_DEAD static char const* const stringBase_80399D40 = "り";
-SECTION_DEAD static char const* const stringBase_80399D43 = "る";
-SECTION_DEAD static char const* const stringBase_80399D46 = "れ";
-SECTION_DEAD static char const* const stringBase_80399D49 = "ろ";
-SECTION_DEAD static char const* const stringBase_80399D4C = "わ";
-SECTION_DEAD static char const* const stringBase_80399D4F = "を";
-SECTION_DEAD static char const* const stringBase_80399D52 = "ん";
-SECTION_DEAD static char const* const stringBase_80399D55 = "ぁ";
-SECTION_DEAD static char const* const stringBase_80399D58 = "ぃ";
-SECTION_DEAD static char const* const stringBase_80399D5B = "ぅ";
-SECTION_DEAD static char const* const stringBase_80399D5E = "ぇ";
-SECTION_DEAD static char const* const stringBase_80399D61 = "ぉ";
-SECTION_DEAD static char const* const stringBase_80399D64 = "ゃ";
-SECTION_DEAD static char const* const stringBase_80399D67 = "ゅ";
-SECTION_DEAD static char const* const stringBase_80399D6A = "ょ";
-SECTION_DEAD static char const* const stringBase_80399D6D = "っ";
-SECTION_DEAD static char const* const stringBase_80399D70 = "ー";
-SECTION_DEAD static char const* const stringBase_80399D73 = "゛";
-SECTION_DEAD static char const* const stringBase_80399D76 = "゜";
-SECTION_DEAD static char const* const stringBase_80399D79 = "¥";
-SECTION_DEAD static char const* const stringBase_80399D7C = "が";
-SECTION_DEAD static char const* const stringBase_80399D7F = "ぎ";
-SECTION_DEAD static char const* const stringBase_80399D82 = "ぐ";
-SECTION_DEAD static char const* const stringBase_80399D85 = "げ";
-SECTION_DEAD static char const* const stringBase_80399D88 = "ご";
-SECTION_DEAD static char const* const stringBase_80399D8B = "ざ";
-SECTION_DEAD static char const* const stringBase_80399D8E = "じ";
-SECTION_DEAD static char const* const stringBase_80399D91 = "ず";
-SECTION_DEAD static char const* const stringBase_80399D94 = "ぜ";
-SECTION_DEAD static char const* const stringBase_80399D97 = "ぞ";
-SECTION_DEAD static char const* const stringBase_80399D9A = "だ";
-SECTION_DEAD static char const* const stringBase_80399D9D = "ぢ";
-SECTION_DEAD static char const* const stringBase_80399DA0 = "づ";
-SECTION_DEAD static char const* const stringBase_80399DA3 = "で";
-SECTION_DEAD static char const* const stringBase_80399DA6 = "ど";
-SECTION_DEAD static char const* const stringBase_80399DA9 = "ば";
-SECTION_DEAD static char const* const stringBase_80399DAC = "び";
-SECTION_DEAD static char const* const stringBase_80399DAF = "ぶ";
-SECTION_DEAD static char const* const stringBase_80399DB2 = "べ";
-SECTION_DEAD static char const* const stringBase_80399DB5 = "ぼ";
-SECTION_DEAD static char const* const stringBase_80399DB8 = "ぱ";
-SECTION_DEAD static char const* const stringBase_80399DBB = "ぴ";
-SECTION_DEAD static char const* const stringBase_80399DBE = "ぷ";
-SECTION_DEAD static char const* const stringBase_80399DC1 = "ぺ";
-SECTION_DEAD static char const* const stringBase_80399DC4 = "ぽ";
-SECTION_DEAD static char const* const stringBase_80399DC7 = "ア";
-SECTION_DEAD static char const* const stringBase_80399DCA = "イ";
-SECTION_DEAD static char const* const stringBase_80399DCD = "ウ";
-SECTION_DEAD static char const* const stringBase_80399DD0 = "エ";
-SECTION_DEAD static char const* const stringBase_80399DD3 = "オ";
-SECTION_DEAD static char const* const stringBase_80399DD6 = "カ";
-SECTION_DEAD static char const* const stringBase_80399DD9 = "キ";
-SECTION_DEAD static char const* const stringBase_80399DDC = "ク";
-SECTION_DEAD static char const* const stringBase_80399DDF = "ケ";
-SECTION_DEAD static char const* const stringBase_80399DE2 = "コ";
-SECTION_DEAD static char const* const stringBase_80399DE5 = "サ";
-SECTION_DEAD static char const* const stringBase_80399DE8 = "シ";
-SECTION_DEAD static char const* const stringBase_80399DEB = "ス";
-SECTION_DEAD static char const* const stringBase_80399DEE = "セ";
-// MWCC ignores mapping of some japanese characters using the
-// byte 0x5C (ASCII '\'). This is why this string is hex-encoded.
-SECTION_DEAD static char const* const stringBase_80399DF1 = "\x83\x5C";
-SECTION_DEAD static char const* const stringBase_80399DF4 = "タ";
-SECTION_DEAD static char const* const stringBase_80399DF7 = "チ";
-SECTION_DEAD static char const* const stringBase_80399DFA = "ツ";
-SECTION_DEAD static char const* const stringBase_80399DFD = "テ";
-SECTION_DEAD static char const* const stringBase_80399E00 = "ト";
-SECTION_DEAD static char const* const stringBase_80399E03 = "ナ";
-SECTION_DEAD static char const* const stringBase_80399E06 = "ニ";
-SECTION_DEAD static char const* const stringBase_80399E09 = "ヌ";
-SECTION_DEAD static char const* const stringBase_80399E0C = "ネ";
-SECTION_DEAD static char const* const stringBase_80399E0F = "ノ";
-SECTION_DEAD static char const* const stringBase_80399E12 = "ハ";
-SECTION_DEAD static char const* const stringBase_80399E15 = "ヒ";
-SECTION_DEAD static char const* const stringBase_80399E18 = "フ";
-SECTION_DEAD static char const* const stringBase_80399E1B = "ヘ";
-SECTION_DEAD static char const* const stringBase_80399E1E = "ホ";
-SECTION_DEAD static char const* const stringBase_80399E21 = "マ";
-SECTION_DEAD static char const* const stringBase_80399E24 = "ミ";
-SECTION_DEAD static char const* const stringBase_80399E27 = "ム";
-SECTION_DEAD static char const* const stringBase_80399E2A = "メ";
-SECTION_DEAD static char const* const stringBase_80399E2D = "モ";
-SECTION_DEAD static char const* const stringBase_80399E30 = "ヤ";
-SECTION_DEAD static char const* const stringBase_80399E33 = "ユ";
-SECTION_DEAD static char const* const stringBase_80399E36 = "ヨ";
-SECTION_DEAD static char const* const stringBase_80399E39 = "ラ";
-SECTION_DEAD static char const* const stringBase_80399E3C = "リ";
-SECTION_DEAD static char const* const stringBase_80399E3F = "ル";
-SECTION_DEAD static char const* const stringBase_80399E42 = "レ";
-SECTION_DEAD static char const* const stringBase_80399E45 = "ロ";
-SECTION_DEAD static char const* const stringBase_80399E48 = "ワ";
-SECTION_DEAD static char const* const stringBase_80399E4B = "ヲ";
-SECTION_DEAD static char const* const stringBase_80399E4E = "ン";
-SECTION_DEAD static char const* const stringBase_80399E51 = "ァ";
-SECTION_DEAD static char const* const stringBase_80399E54 = "ィ";
-SECTION_DEAD static char const* const stringBase_80399E57 = "ゥ";
-SECTION_DEAD static char const* const stringBase_80399E5A = "ェ";
-SECTION_DEAD static char const* const stringBase_80399E5D = "ォ";
-SECTION_DEAD static char const* const stringBase_80399E60 = "ャ";
-SECTION_DEAD static char const* const stringBase_80399E63 = "ュ";
-SECTION_DEAD static char const* const stringBase_80399E66 = "ョ";
-SECTION_DEAD static char const* const stringBase_80399E69 = "ッ";
-SECTION_DEAD static char const* const stringBase_80399E6C = "ヴ";
-SECTION_DEAD static char const* const stringBase_80399E6F = "ガ";
-SECTION_DEAD static char const* const stringBase_80399E72 = "ギ";
-SECTION_DEAD static char const* const stringBase_80399E75 = "グ";
-SECTION_DEAD static char const* const stringBase_80399E78 = "ゲ";
-SECTION_DEAD static char const* const stringBase_80399E7B = "ゴ";
-SECTION_DEAD static char const* const stringBase_80399E7E = "ザ";
-SECTION_DEAD static char const* const stringBase_80399E81 = "ジ";
-SECTION_DEAD static char const* const stringBase_80399E84 = "ズ";
-SECTION_DEAD static char const* const stringBase_80399E87 = "ゼ";
-SECTION_DEAD static char const* const stringBase_80399E8A = "ゾ";
-SECTION_DEAD static char const* const stringBase_80399E8D = "ダ";
-SECTION_DEAD static char const* const stringBase_80399E90 = "ヂ";
-SECTION_DEAD static char const* const stringBase_80399E93 = "ヅ";
-SECTION_DEAD static char const* const stringBase_80399E96 = "デ";
-SECTION_DEAD static char const* const stringBase_80399E99 = "ド";
-SECTION_DEAD static char const* const stringBase_80399E9C = "バ";
-SECTION_DEAD static char const* const stringBase_80399E9F = "ビ";
-SECTION_DEAD static char const* const stringBase_80399EA2 = "ブ";
-SECTION_DEAD static char const* const stringBase_80399EA5 = "ベ";
-SECTION_DEAD static char const* const stringBase_80399EA8 = "ボ";
-SECTION_DEAD static char const* const stringBase_80399EAB = "パ";
-SECTION_DEAD static char const* const stringBase_80399EAE = "ピ";
-SECTION_DEAD static char const* const stringBase_80399EB1 = "プ";
-SECTION_DEAD static char const* const stringBase_80399EB4 = "ペ";
-SECTION_DEAD static char const* const stringBase_80399EB7 = "ポ";
-SECTION_DEAD static char const* const stringBase_80399EBA = "A";
-SECTION_DEAD static char const* const stringBase_80399EBC = "N";
-SECTION_DEAD static char const* const stringBase_80399EBE = "a";
-SECTION_DEAD static char const* const stringBase_80399EC0 = "n";
-SECTION_DEAD static char const* const stringBase_80399EC2 = "1";
-SECTION_DEAD static char const* const stringBase_80399EC4 = "B";
-SECTION_DEAD static char const* const stringBase_80399EC6 = "O";
-SECTION_DEAD static char const* const stringBase_80399EC8 = "b";
-SECTION_DEAD static char const* const stringBase_80399ECA = "o";
-SECTION_DEAD static char const* const stringBase_80399ECC = "2";
-SECTION_DEAD static char const* const stringBase_80399ECE = "C";
-SECTION_DEAD static char const* const stringBase_80399ED0 = "P";
-SECTION_DEAD static char const* const stringBase_80399ED2 = "c";
-SECTION_DEAD static char const* const stringBase_80399ED4 = "p";
-SECTION_DEAD static char const* const stringBase_80399ED6 = "3";
-SECTION_DEAD static char const* const stringBase_80399ED8 = "D";
-SECTION_DEAD static char const* const stringBase_80399EDA = "Q";
-SECTION_DEAD static char const* const stringBase_80399EDC = "d";
-SECTION_DEAD static char const* const stringBase_80399EDE = "q";
-SECTION_DEAD static char const* const stringBase_80399EE0 = "4";
-SECTION_DEAD static char const* const stringBase_80399EE2 = "E";
-SECTION_DEAD static char const* const stringBase_80399EE4 = "R";
-SECTION_DEAD static char const* const stringBase_80399EE6 = "e";
-SECTION_DEAD static char const* const stringBase_80399EE8 = "r";
-SECTION_DEAD static char const* const stringBase_80399EEA = "5";
-SECTION_DEAD static char const* const stringBase_80399EEC = "F";
-SECTION_DEAD static char const* const stringBase_80399EEE = "S";
-SECTION_DEAD static char const* const stringBase_80399EF0 = "f";
-SECTION_DEAD static char const* const stringBase_80399EF2 = "s";
-SECTION_DEAD static char const* const stringBase_80399EF4 = "6";
-SECTION_DEAD static char const* const stringBase_80399EF6 = "G";
-SECTION_DEAD static char const* const stringBase_80399EF8 = "T";
-SECTION_DEAD static char const* const stringBase_80399EFA = "g";
-SECTION_DEAD static char const* const stringBase_80399EFC = "t";
-SECTION_DEAD static char const* const stringBase_80399EFE = "7";
-SECTION_DEAD static char const* const stringBase_80399F00 = "H";
-SECTION_DEAD static char const* const stringBase_80399F02 = "U";
-SECTION_DEAD static char const* const stringBase_80399F04 = "h";
-SECTION_DEAD static char const* const stringBase_80399F06 = "u";
-SECTION_DEAD static char const* const stringBase_80399F08 = "8";
-SECTION_DEAD static char const* const stringBase_80399F0A = "I";
-SECTION_DEAD static char const* const stringBase_80399F0C = "V";
-SECTION_DEAD static char const* const stringBase_80399F0E = "i";
-SECTION_DEAD static char const* const stringBase_80399F10 = "v";
-SECTION_DEAD static char const* const stringBase_80399F12 = "9";
-SECTION_DEAD static char const* const stringBase_80399F14 = "J";
-SECTION_DEAD static char const* const stringBase_80399F16 = "W";
-SECTION_DEAD static char const* const stringBase_80399F18 = "j";
-SECTION_DEAD static char const* const stringBase_80399F1A = "w";
-SECTION_DEAD static char const* const stringBase_80399F1C = "0";
-SECTION_DEAD static char const* const stringBase_80399F1E = "K";
-SECTION_DEAD static char const* const stringBase_80399F20 = "X";
-SECTION_DEAD static char const* const stringBase_80399F22 = "k";
-SECTION_DEAD static char const* const stringBase_80399F24 = "x";
-SECTION_DEAD static char const* const stringBase_80399F26 = ",";
-SECTION_DEAD static char const* const stringBase_80399F28 = "L";
-SECTION_DEAD static char const* const stringBase_80399F2A = "Y";
-SECTION_DEAD static char const* const stringBase_80399F2C = "l";
-SECTION_DEAD static char const* const stringBase_80399F2E = "y";
-SECTION_DEAD static char const* const stringBase_80399F30 = ".";
-SECTION_DEAD static char const* const stringBase_80399F32 = "M";
-SECTION_DEAD static char const* const stringBase_80399F34 = "Z";
-SECTION_DEAD static char const* const stringBase_80399F36 = "m";
-SECTION_DEAD static char const* const stringBase_80399F38 = "z";
-SECTION_DEAD static char const* const stringBase_80399F3A = " ";
-#pragma pop
-
/* 803C1F50-803C1F5C 01F070 000C+00 5/5 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803C1F5C-803C2060 -00001 0104+00 0/3 0/0 0/0 .data l_mojiHira */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_mojiHira[65] = {
- (void*)&d_d_name__stringBase0,
- (void*)(((char*)&d_d_name__stringBase0) + 0x3),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6),
- (void*)(((char*)&d_d_name__stringBase0) + 0x9),
- (void*)(((char*)&d_d_name__stringBase0) + 0xC),
- (void*)(((char*)&d_d_name__stringBase0) + 0xF),
- (void*)(((char*)&d_d_name__stringBase0) + 0x12),
- (void*)(((char*)&d_d_name__stringBase0) + 0x15),
- (void*)(((char*)&d_d_name__stringBase0) + 0x18),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1B),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x21),
- (void*)(((char*)&d_d_name__stringBase0) + 0x24),
- (void*)(((char*)&d_d_name__stringBase0) + 0x27),
- (void*)(((char*)&d_d_name__stringBase0) + 0x2A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x2D),
- (void*)(((char*)&d_d_name__stringBase0) + 0x30),
- (void*)(((char*)&d_d_name__stringBase0) + 0x33),
- (void*)(((char*)&d_d_name__stringBase0) + 0x36),
- (void*)(((char*)&d_d_name__stringBase0) + 0x39),
- (void*)(((char*)&d_d_name__stringBase0) + 0x3C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x3F),
- (void*)(((char*)&d_d_name__stringBase0) + 0x42),
- (void*)(((char*)&d_d_name__stringBase0) + 0x45),
- (void*)(((char*)&d_d_name__stringBase0) + 0x48),
- (void*)(((char*)&d_d_name__stringBase0) + 0x4B),
- (void*)(((char*)&d_d_name__stringBase0) + 0x4E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x51),
- (void*)(((char*)&d_d_name__stringBase0) + 0x54),
- (void*)(((char*)&d_d_name__stringBase0) + 0x57),
- (void*)(((char*)&d_d_name__stringBase0) + 0x5A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x5D),
- (void*)(((char*)&d_d_name__stringBase0) + 0x60),
- (void*)(((char*)&d_d_name__stringBase0) + 0x63),
- (void*)(((char*)&d_d_name__stringBase0) + 0x66),
- (void*)(((char*)&d_d_name__stringBase0) + 0x69),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6F),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x72),
- (void*)(((char*)&d_d_name__stringBase0) + 0x75),
- (void*)(((char*)&d_d_name__stringBase0) + 0x78),
- (void*)(((char*)&d_d_name__stringBase0) + 0x7B),
- (void*)(((char*)&d_d_name__stringBase0) + 0x7E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x81),
- (void*)(((char*)&d_d_name__stringBase0) + 0x84),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x87),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x8A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x8D),
- (void*)(((char*)&d_d_name__stringBase0) + 0x90),
- (void*)(((char*)&d_d_name__stringBase0) + 0x93),
- (void*)(((char*)&d_d_name__stringBase0) + 0x96),
- (void*)(((char*)&d_d_name__stringBase0) + 0x99),
- (void*)(((char*)&d_d_name__stringBase0) + 0x9C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x9F),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0xA2),
- (void*)(((char*)&d_d_name__stringBase0) + 0xA5),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0xA8),
- (void*)(((char*)&d_d_name__stringBase0) + 0xAB),
- (void*)(((char*)&d_d_name__stringBase0) + 0xAE),
+SECTION_DATA static char* l_mojiHira[65] = {
+ "あ", "い", "う", "え", "お", "か", "き", "く", "け", "こ", "さ", "し", "す",
+ "せ", "そ", "た", "ち", "つ", "て", "と", "な", "に", "ぬ", "ね", "の", "は",
+ "ひ", "ふ", "へ", "ほ", "ま", "み", "む", "め", "も", "や", " ", "ゆ", " ",
+ "よ", "ら", "り", "る", "れ", "ろ", "わ", " ", "を", " ", "ん", "ぁ", "ぃ",
+ "ぅ", "ぇ", "ぉ", "ゃ", " ", "ゅ", " ", "ょ", "っ", " ", "ー", "゛", "゜",
};
-#pragma pop
/* 803C2060-803C2164 -00001 0104+00 0/1 0/0 0/0 .data l_mojiHira2 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_mojiHira2[65] = {
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB4),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB7),
- (void*)(((char*)&d_d_name__stringBase0) + 0xBA),
- (void*)(((char*)&d_d_name__stringBase0) + 0xBD),
- (void*)(((char*)&d_d_name__stringBase0) + 0xC0),
- (void*)(((char*)&d_d_name__stringBase0) + 0xC3),
- (void*)(((char*)&d_d_name__stringBase0) + 0xC6),
- (void*)(((char*)&d_d_name__stringBase0) + 0xC9),
- (void*)(((char*)&d_d_name__stringBase0) + 0xCC),
- (void*)(((char*)&d_d_name__stringBase0) + 0xCF),
- (void*)(((char*)&d_d_name__stringBase0) + 0xD2),
- (void*)(((char*)&d_d_name__stringBase0) + 0xD5),
- (void*)(((char*)&d_d_name__stringBase0) + 0xD8),
- (void*)(((char*)&d_d_name__stringBase0) + 0xDB),
- (void*)(((char*)&d_d_name__stringBase0) + 0xDE),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xE1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xE4),
- (void*)(((char*)&d_d_name__stringBase0) + 0xE7),
- (void*)(((char*)&d_d_name__stringBase0) + 0xEA),
- (void*)(((char*)&d_d_name__stringBase0) + 0xED),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
+SECTION_DATA static char* l_mojiHira2[65] = {
+ "¥", "¥", "¥", "¥", "¥", "が", "ぎ", "ぐ", "げ", "ご", "ざ", "じ", "ず",
+ "ぜ", "ぞ", "だ", "ぢ", "づ", "で", "ど", "¥", "¥", "¥", "¥", "¥", "ば",
+ "び", "ぶ", "べ", "ぼ", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
};
-#pragma pop
/* 803C2164-803C2268 -00001 0104+00 0/1 0/0 0/0 .data l_mojiHira3 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_mojiHira3[65] = {
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xF0),
- (void*)(((char*)&d_d_name__stringBase0) + 0xF3),
- (void*)(((char*)&d_d_name__stringBase0) + 0xF6),
- (void*)(((char*)&d_d_name__stringBase0) + 0xF9),
- (void*)(((char*)&d_d_name__stringBase0) + 0xFC),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
+SECTION_DATA static char* l_mojiHira3[65] = {
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "ぱ",
+ "ぴ", "ぷ", "ぺ", "ぽ", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
};
-#pragma pop
/* 803C2268-803C236C -00001 0104+00 0/3 0/0 0/0 .data l_mojikata */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_mojikata[65] = {
- (void*)(((char*)&d_d_name__stringBase0) + 0xFF),
- (void*)(((char*)&d_d_name__stringBase0) + 0x102),
- (void*)(((char*)&d_d_name__stringBase0) + 0x105),
- (void*)(((char*)&d_d_name__stringBase0) + 0x108),
- (void*)(((char*)&d_d_name__stringBase0) + 0x10B),
- (void*)(((char*)&d_d_name__stringBase0) + 0x10E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x111),
- (void*)(((char*)&d_d_name__stringBase0) + 0x114),
- (void*)(((char*)&d_d_name__stringBase0) + 0x117),
- (void*)(((char*)&d_d_name__stringBase0) + 0x11A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x11D),
- (void*)(((char*)&d_d_name__stringBase0) + 0x120),
- (void*)(((char*)&d_d_name__stringBase0) + 0x123),
- (void*)(((char*)&d_d_name__stringBase0) + 0x126),
- (void*)(((char*)&d_d_name__stringBase0) + 0x129),
- (void*)(((char*)&d_d_name__stringBase0) + 0x12C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x12F),
- (void*)(((char*)&d_d_name__stringBase0) + 0x132),
- (void*)(((char*)&d_d_name__stringBase0) + 0x135),
- (void*)(((char*)&d_d_name__stringBase0) + 0x138),
- (void*)(((char*)&d_d_name__stringBase0) + 0x13B),
- (void*)(((char*)&d_d_name__stringBase0) + 0x13E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x141),
- (void*)(((char*)&d_d_name__stringBase0) + 0x144),
- (void*)(((char*)&d_d_name__stringBase0) + 0x147),
- (void*)(((char*)&d_d_name__stringBase0) + 0x14A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x14D),
- (void*)(((char*)&d_d_name__stringBase0) + 0x150),
- (void*)(((char*)&d_d_name__stringBase0) + 0x153),
- (void*)(((char*)&d_d_name__stringBase0) + 0x156),
- (void*)(((char*)&d_d_name__stringBase0) + 0x159),
- (void*)(((char*)&d_d_name__stringBase0) + 0x15C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x15F),
- (void*)(((char*)&d_d_name__stringBase0) + 0x162),
- (void*)(((char*)&d_d_name__stringBase0) + 0x165),
- (void*)(((char*)&d_d_name__stringBase0) + 0x168),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x16B),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x16E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x171),
- (void*)(((char*)&d_d_name__stringBase0) + 0x174),
- (void*)(((char*)&d_d_name__stringBase0) + 0x177),
- (void*)(((char*)&d_d_name__stringBase0) + 0x17A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x17D),
- (void*)(((char*)&d_d_name__stringBase0) + 0x180),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x183),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x186),
- (void*)(((char*)&d_d_name__stringBase0) + 0x189),
- (void*)(((char*)&d_d_name__stringBase0) + 0x18C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x18F),
- (void*)(((char*)&d_d_name__stringBase0) + 0x192),
- (void*)(((char*)&d_d_name__stringBase0) + 0x195),
- (void*)(((char*)&d_d_name__stringBase0) + 0x198),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x19B),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x19E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1A1),
- (void*)(((char*)&d_d_name__stringBase0) + 0x6C),
- (void*)(((char*)&d_d_name__stringBase0) + 0xA8),
- (void*)(((char*)&d_d_name__stringBase0) + 0xAB),
- (void*)(((char*)&d_d_name__stringBase0) + 0xAE),
+SECTION_DATA static char* l_mojikata[65] = {
+ "ア", "イ", "ウ", "エ", "オ", "カ", "キ", "ク", "ケ", "コ", "サ", "シ", "ス",
+ "セ", "\x83\x5C", "タ", "チ", "ツ", "テ", "ト", "ナ", "ニ", "ヌ", "ネ", "ノ", "ハ",
+ "ヒ", "フ", "ヘ", "ホ", "マ", "ミ", "ム", "メ", "モ", "ヤ", " ", "ユ", " ",
+ "ヨ", "ラ", "リ", "ル", "レ", "ロ", "ワ", " ", "ヲ", " ", "ン", "ァ", "ィ",
+ "ゥ", "ェ", "ォ", "ャ", " ", "ュ", " ", "ョ", "ッ", " ", "ー", "゛", "゜",
};
-#pragma pop
/* 803C236C-803C2470 -00001 0104+00 0/1 0/0 0/0 .data l_mojikata2 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_mojikata2[65] = {
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1A4),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1A7),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1AA),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1AD),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1B0),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1B3),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1B6),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1B9),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1BC),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1BF),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1C2),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1C5),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1C8),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1CB),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1CE),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1D1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1D4),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1D7),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1DA),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1DD),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1E0),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
+SECTION_DATA static char* l_mojikata2[65] = {
+ "¥", "¥", "ヴ", "¥", "¥", "ガ", "ギ", "グ", "ゲ", "ゴ", "ザ", "ジ", "ズ",
+ "ゼ", "ゾ", "ダ", "ヂ", "ヅ", "デ", "ド", "¥", "¥", "¥", "¥", "¥", "バ",
+ "ビ", "ブ", "ベ", "ボ", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
};
-#pragma pop
/* 803C2470-803C2574 -00001 0104+00 0/1 0/0 0/0 .data l_mojikata3 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_mojikata3[65] = {
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1E3),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1E6),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1E9),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1EC),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1EF),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
- (void*)(((char*)&d_d_name__stringBase0) + 0xB1),
+SECTION_DATA static char* l_mojikata3[65] = {
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "パ",
+ "ピ", "プ", "ペ", "ポ", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
+ "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥", "¥",
};
-#pragma pop
/* 803C2574-803C2678 -00001 0104+00 0/3 0/0 0/0 .data l_mojiEisu */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_mojiEisu[65] = {
- (void*)(((char*)&d_d_name__stringBase0) + 0x1F2),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1F4),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1F6),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1F8),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1FA),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1FC),
- (void*)(((char*)&d_d_name__stringBase0) + 0x1FE),
- (void*)(((char*)&d_d_name__stringBase0) + 0x200),
- (void*)(((char*)&d_d_name__stringBase0) + 0x202),
- (void*)(((char*)&d_d_name__stringBase0) + 0x204),
- (void*)(((char*)&d_d_name__stringBase0) + 0x206),
- (void*)(((char*)&d_d_name__stringBase0) + 0x208),
- (void*)(((char*)&d_d_name__stringBase0) + 0x20A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x20C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x20E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x210),
- (void*)(((char*)&d_d_name__stringBase0) + 0x212),
- (void*)(((char*)&d_d_name__stringBase0) + 0x214),
- (void*)(((char*)&d_d_name__stringBase0) + 0x216),
- (void*)(((char*)&d_d_name__stringBase0) + 0x218),
- (void*)(((char*)&d_d_name__stringBase0) + 0x21A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x21C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x21E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x220),
- (void*)(((char*)&d_d_name__stringBase0) + 0x222),
- (void*)(((char*)&d_d_name__stringBase0) + 0x224),
- (void*)(((char*)&d_d_name__stringBase0) + 0x226),
- (void*)(((char*)&d_d_name__stringBase0) + 0x228),
- (void*)(((char*)&d_d_name__stringBase0) + 0x22A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x22C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x22E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x230),
- (void*)(((char*)&d_d_name__stringBase0) + 0x232),
- (void*)(((char*)&d_d_name__stringBase0) + 0x234),
- (void*)(((char*)&d_d_name__stringBase0) + 0x236),
- (void*)(((char*)&d_d_name__stringBase0) + 0x238),
- (void*)(((char*)&d_d_name__stringBase0) + 0x23A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x23C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x23E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x240),
- (void*)(((char*)&d_d_name__stringBase0) + 0x242),
- (void*)(((char*)&d_d_name__stringBase0) + 0x244),
- (void*)(((char*)&d_d_name__stringBase0) + 0x246),
- (void*)(((char*)&d_d_name__stringBase0) + 0x248),
- (void*)(((char*)&d_d_name__stringBase0) + 0x24A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x24C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x24E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x250),
- (void*)(((char*)&d_d_name__stringBase0) + 0x252),
- (void*)(((char*)&d_d_name__stringBase0) + 0x254),
- (void*)(((char*)&d_d_name__stringBase0) + 0x256),
- (void*)(((char*)&d_d_name__stringBase0) + 0x258),
- (void*)(((char*)&d_d_name__stringBase0) + 0x25A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x25C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x25E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x260),
- (void*)(((char*)&d_d_name__stringBase0) + 0x262),
- (void*)(((char*)&d_d_name__stringBase0) + 0x264),
- (void*)(((char*)&d_d_name__stringBase0) + 0x266),
- (void*)(((char*)&d_d_name__stringBase0) + 0x268),
- (void*)(((char*)&d_d_name__stringBase0) + 0x26A),
- (void*)(((char*)&d_d_name__stringBase0) + 0x26C),
- (void*)(((char*)&d_d_name__stringBase0) + 0x26E),
- (void*)(((char*)&d_d_name__stringBase0) + 0x270),
- (void*)(((char*)&d_d_name__stringBase0) + 0x272),
+SECTION_DATA static char* l_mojiEisu[65] = {
+ "A", "N", "a", "n", "1", "B", "O", "b", "o", "2", "C", "P", "c", "p", "3", "D", "Q",
+ "d", "q", "4", "E", "R", "e", "r", "5", "F", "S", "f", "s", "6", "G", "T", "g", "t",
+ "7", "H", "U", "h", "u", "8", "I", "V", "i", "v", "9", "J", "W", "j", "w", "0", "K",
+ "X", "k", "x", ",", "L", "Y", "l", "y", ".", "M", "Z", "m", "z", " ",
};
-#pragma pop
-/* 803C2678-803C2684 -00001 000C+00 0/1 0/0 0/0 .data @3825 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3825[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)MojiSelect__7dName_cFv,
-};
-#pragma pop
-
-/* 803C2684-803C2690 -00001 000C+00 0/1 0/0 0/0 .data @3826 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3826[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)MojiSelectAnm__7dName_cFv,
-};
-#pragma pop
-
-/* 803C2690-803C269C -00001 000C+00 0/1 0/0 0/0 .data @3827 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3827[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)MojiSelectAnm2__7dName_cFv,
-};
-#pragma pop
-
-/* 803C269C-803C26A8 -00001 000C+00 0/1 0/0 0/0 .data @3828 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3828[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)MojiSelectAnm3__7dName_cFv,
-};
-#pragma pop
-
-/* 803C26A8-803C26B4 -00001 000C+00 0/1 0/0 0/0 .data @3829 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3829[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)MenuSelect__7dName_cFv,
-};
-#pragma pop
-
-/* 803C26B4-803C26C0 -00001 000C+00 0/1 0/0 0/0 .data @3830 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3830[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)MenuSelectAnm__7dName_cFv,
-};
-#pragma pop
-
-/* 803C26C0-803C26CC -00001 000C+00 0/1 0/0 0/0 .data @3831 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3831[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)MenuSelectAnm2__7dName_cFv,
-};
-#pragma pop
-
-/* 803C26CC-803C26D8 -00001 000C+00 0/1 0/0 0/0 .data @3832 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3832[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)MenuSelectAnm3__7dName_cFv,
-};
-#pragma pop
-
-/* 803C26D8-803C26E4 -00001 000C+00 0/1 0/0 0/0 .data @3833 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3833[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)Wait__7dName_cFv,
-};
-#pragma pop
+/* 80430734-80430748 05D454 0014+00 9/9 0/0 0/0 .bss g_nmHIO */
+static dNm_HIO_c g_nmHIO;
/* 803C26E4-803C2750 01F804 006C+00 1/2 0/0 0/0 .data SelProc */
-SECTION_DATA static u8 SelProc[108] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
+typedef void (dName_c::*selProcFunc)(void);
+SECTION_DATA static selProcFunc SelProc[9] = {
+ &dName_c::MojiSelect, &dName_c::MojiSelectAnm, &dName_c::MojiSelectAnm2,
+ &dName_c::MojiSelectAnm3, &dName_c::MenuSelect, &dName_c::MenuSelectAnm,
+ &dName_c::MenuSelectAnm2, &dName_c::MenuSelectAnm3, &dName_c::Wait};
/* 803C2750-803C2788 -00001 0034+04 1/1 0/0 0/0 .data @4121 */
SECTION_DATA static void* lit_4121[13 + 1 /* padding */] = {
@@ -1131,116 +219,78 @@ SECTION_DATA static void* lit_4121[13 + 1 /* padding */] = {
/* 803C2788-803C27C8 01F8A8 0040+00 0/1 0/0 0/0 .data l_cur0TagName$4610 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_cur0TagName[64] = {
- 0x00, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x31,
- 0x00, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x32, 0x00, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x33,
- 0x00, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x34, 0x00, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x35,
- 0x00, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x37,
+SECTION_DATA static u64 l_cur0TagName[8] = {
+ 's_00', 's_01', 's_02', 's_03', 's_04', 's_05', 's_06', 's_07',
};
#pragma pop
/* 803C27C8-803C2808 01F8E8 0040+00 0/1 0/0 0/0 .data l_cur1TagName$4611 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_cur1TagName[64] = {
- 0x00, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x72, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x31, 0x72,
- 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x32, 0x72, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x33, 0x72,
- 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x34, 0x72, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x35, 0x72,
- 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x36, 0x72, 0x00, 0x00, 0x00, 0x73, 0x5F, 0x30, 0x37, 0x72,
+SECTION_DATA static u64 l_cur1TagName[8] = {
+ 's_0r', 's_01r', 's_02r', 's_03r', 's_04r', 's_05r', 's_06r', 's_07r',
};
#pragma pop
/* 803C2808-803C2828 01F928 0020+00 0/1 0/0 0/0 .data l_menu_icon_tag$4617 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_menu_icon_tag[32] = {
- 0x00, 0x70, 0x5F, 0x41, 0x42, 0x43, 0x5F, 0x6E, 0x00, 0x70, 0x5F, 0x61, 0x62, 0x63, 0x5F, 0x6E,
- 0x6A, 0x5F, 0x65, 0x69, 0x67, 0x6F, 0x5F, 0x6E, 0x00, 0x70, 0x5F, 0x65, 0x6E, 0x64, 0x5F, 0x6E,
+SECTION_DATA static u64 l_menu_icon_tag[4] = {
+ 'p_ABC_n',
+ 'p_abc_n',
+ 'j_eigo_n',
+ 'p_end_n',
};
#pragma pop
/* 803C2828-803C28A0 01F948 0078+00 0/1 0/0 0/0 .data l_menu_tag$4618 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_menu_tag[120] = {
- 0x00, 0x70, 0x5F, 0x41, 0x42, 0x43, 0x5F, 0x30, 0x00, 0x70, 0x5F, 0x41, 0x42, 0x43, 0x5F,
- 0x31, 0x00, 0x70, 0x5F, 0x41, 0x42, 0x43, 0x5F, 0x32, 0x00, 0x70, 0x5F, 0x61, 0x62, 0x63,
- 0x5F, 0x30, 0x00, 0x70, 0x5F, 0x61, 0x62, 0x63, 0x5F, 0x31, 0x00, 0x70, 0x5F, 0x61, 0x62,
- 0x63, 0x5F, 0x32, 0x6D, 0x5F, 0x65, 0x69, 0x67, 0x6F, 0x5F, 0x30, 0x6D, 0x5F, 0x65, 0x69,
- 0x67, 0x6F, 0x5F, 0x31, 0x6D, 0x5F, 0x65, 0x69, 0x67, 0x6F, 0x5F, 0x32, 0x00, 0x70, 0x5F,
- 0x65, 0x6E, 0x64, 0x5F, 0x30, 0x00, 0x70, 0x5F, 0x65, 0x6E, 0x64, 0x5F, 0x31, 0x00, 0x70,
- 0x5F, 0x65, 0x6E, 0x64, 0x5F, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+SECTION_DATA static u64 l_menu_tag[15] = {
+ 'p_ABC_0', 'p_ABC_1', 'p_ABC_2', 'p_abc_0', 'p_abc_1', 'p_abc_2',
+ 'm_eigo_0', 'm_eigo_1', 'm_eigo_2', 'p_end_0', 'p_end_1', 'p_end_2',
};
#pragma pop
/* 803C28A0-803C28B0 01F9C0 0010+00 0/1 0/0 0/0 .data l_menu_msg$4619 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_menu_msg[16] = {
- 0x00, 0x00, 0x03, 0x8B, 0x00, 0x00, 0x03, 0x8C, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, 0x03, 0x8E,
+SECTION_DATA static u32 l_menu_msg[4] = {
+ 0x38B,
+ 0x38C,
+ 0x388,
+ 0x38E,
};
#pragma pop
/* 803C28B0-803C2AB8 01F9D0 0208+00 0/1 0/0 0/0 .data l_tagName$4635 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_tagName[520] = {
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x30, 0x5F, 0x30, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x30, 0x5F, 0x31,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x30, 0x5F, 0x32, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x30, 0x5F, 0x33,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x30, 0x5F, 0x34, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x31, 0x5F, 0x30,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x31, 0x5F, 0x31, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x31, 0x5F, 0x32,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x31, 0x5F, 0x33, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x31, 0x5F, 0x34,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x32, 0x5F, 0x30, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x32, 0x5F, 0x31,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x32, 0x5F, 0x32, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x32, 0x5F, 0x33,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x32, 0x5F, 0x34, 0x00, 0x00, 0x00, 0x6D, 0x30, 0x33, 0x5F, 0x30,
- 0x00, 0x00, 0x00, 0x6D, 0x30, 0x33, 0x5F, 0x31, 0x00, 0x00, 0x00, 0x6D, 0x30, 0x33, 0x5F, 0x32,
- 0x00, 0x00, 0x00, 0x6D, 0x30, 0x33, 0x5F, 0x33, 0x00, 0x00, 0x00, 0x6D, 0x30, 0x33, 0x5F, 0x34,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x34, 0x5F, 0x30, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x34, 0x5F, 0x31,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x34, 0x5F, 0x32, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x34, 0x5F, 0x33,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x34, 0x5F, 0x34, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x35, 0x5F, 0x30,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x35, 0x5F, 0x31, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x35, 0x5F, 0x32,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x35, 0x5F, 0x33, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x35, 0x5F, 0x34,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x36, 0x5F, 0x30, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x36, 0x5F, 0x31,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x36, 0x5F, 0x32, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x36, 0x5F, 0x33,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x36, 0x5F, 0x34, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x37, 0x5F, 0x30,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x37, 0x5F, 0x31, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x37, 0x5F, 0x32,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x37, 0x5F, 0x33, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x37, 0x5F, 0x34,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x38, 0x5F, 0x30, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x38, 0x5F, 0x31,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x38, 0x5F, 0x32, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x38, 0x5F, 0x33,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x38, 0x5F, 0x34, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x39, 0x5F, 0x30,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x39, 0x5F, 0x31, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x39, 0x5F, 0x32,
- 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x39, 0x5F, 0x33, 0x00, 0x00, 0x6D, 0x5F, 0x30, 0x39, 0x5F, 0x34,
- 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x30, 0x5F, 0x30, 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x30, 0x5F, 0x31,
- 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x30, 0x5F, 0x32, 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x30, 0x5F, 0x33,
- 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x30, 0x5F, 0x34, 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x31, 0x5F, 0x30,
- 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x31, 0x5F, 0x31, 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x31, 0x5F, 0x32,
- 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x31, 0x5F, 0x33, 0x00, 0x00, 0x6D, 0x5F, 0x31, 0x31, 0x5F, 0x34,
- 0x00, 0x00, 0x00, 0x6D, 0x31, 0x32, 0x5F, 0x30, 0x00, 0x00, 0x00, 0x6D, 0x31, 0x32, 0x5F, 0x31,
- 0x00, 0x00, 0x00, 0x6D, 0x31, 0x32, 0x5F, 0x32, 0x00, 0x00, 0x00, 0x6D, 0x31, 0x32, 0x5F, 0x33,
- 0x00, 0x00, 0x00, 0x6D, 0x31, 0x32, 0x5F, 0x34,
+SECTION_DATA static u64 l_tagName[65] = {
+ 'm_00_0', 'm_00_1', 'm_00_2', 'm_00_3', 'm_00_4', 'm_01_0', 'm_01_1', 'm_01_2', 'm_01_3',
+ 'm_01_4', 'm_02_0', 'm_02_1', 'm_02_2', 'm_02_3', 'm_02_4', 'm03_0', 'm03_1', 'm03_2',
+ 'm03_3', 'm03_4', 'm_04_0', 'm_04_1', 'm_04_2', 'm_04_3', 'm_04_4', 'm_05_0', 'm_05_1',
+ 'm_05_2', 'm_05_3', 'm_05_4', 'm_06_0', 'm_06_1', 'm_06_2', 'm_06_3', 'm_06_4', 'm_07_0',
+ 'm_07_1', 'm_07_2', 'm_07_3', 'm_07_4', 'm_08_0', 'm_08_1', 'm_08_2', 'm_08_3', 'm_08_4',
+ 'm_09_0', 'm_09_1', 'm_09_2', 'm_09_3', 'm_09_4', 'm_10_0', 'm_10_1', 'm_10_2', 'm_10_3',
+ 'm_10_4', 'm_11_0', 'm_11_1', 'm_11_2', 'm_11_3', 'm_11_4', 'm12_0', 'm12_1', 'm12_2',
+ 'm12_3', 'm12_4',
};
#pragma pop
/* 803C2AB8-803C2AF8 01FBD8 0040+00 0/1 0/0 0/0 .data l_nameTagName$4642 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_nameTagName[64] = {
- 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x30, 0x30, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x30, 0x31,
- 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x30, 0x32, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x30, 0x33,
- 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x30, 0x34, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x30, 0x35,
- 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x30, 0x36, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x30, 0x37,
+SECTION_DATA static u64 l_nameTagName[8] = {
+ 'name_00', 'name_01', 'name_02', 'name_03', 'name_04', 'name_05', 'name_06', 'name_07',
};
#pragma pop
/* 803C2AF8-803C2B38 01FC18 0040+00 0/1 0/0 0/0 .data l_nameCurTagName$4643 */
#pragma push
#pragma force_active on
-SECTION_DATA static u8 l_nameCurTagName[64] = {
- 0x00, 0x73, 0x5F, 0x5F, 0x6E, 0x5F, 0x30, 0x30, 0x00, 0x73, 0x5F, 0x5F, 0x6E, 0x5F, 0x30, 0x31,
- 0x00, 0x73, 0x5F, 0x5F, 0x6E, 0x5F, 0x30, 0x32, 0x00, 0x73, 0x5F, 0x5F, 0x6E, 0x5F, 0x30, 0x33,
- 0x00, 0x73, 0x5F, 0x5F, 0x6E, 0x5F, 0x30, 0x34, 0x00, 0x73, 0x5F, 0x5F, 0x6E, 0x5F, 0x30, 0x35,
- 0x00, 0x73, 0x5F, 0x5F, 0x6E, 0x5F, 0x30, 0x36, 0x00, 0x73, 0x5F, 0x5F, 0x6E, 0x5F, 0x30, 0x37,
+SECTION_DATA static u64 l_nameCurTagName[8] = {
+ 's__n_00', 's__n_01', 's__n_02', 's__n_03', 's__n_04', 's__n_05', 's__n_06', 's__n_07',
};
#pragma pop
@@ -1271,111 +321,206 @@ SECTION_DATA extern void* __vt__7dName_c[3 + 3 /* padding */] = {
NULL,
};
-/* 803C2B7C-803C2B88 01FC9C 000C+00 2/2 0/0 0/0 .data __vt__9dNm_HIO_c */
-SECTION_DATA extern void* __vt__9dNm_HIO_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__9dNm_HIO_cFv,
-};
-
-/* 80454DB0-80454DB4 0033B0 0004+00 1/1 0/0 0/0 .sdata2 @3665 */
-SECTION_SDATA2 static f32 lit_3665 = 13.0f / 10.0f;
-
-/* 80454DB4-80454DB8 0033B4 0004+00 1/1 0/0 0/0 .sdata2 @3666 */
-SECTION_SDATA2 static f32 lit_3666 = 7.0f / 5.0f;
-
/* 8024E3E0-8024E408 248D20 0028+00 1/1 0/0 0/0 .text __ct__9dNm_HIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dNm_HIO_c::dNm_HIO_c() {
- nofralloc
-#include "asm/d/d_name/__ct__9dNm_HIO_cFv.s"
+dNm_HIO_c::dNm_HIO_c() {
+ mMenuScale = 1.3f;
+ mSelCharScale = 1.4f;
+ field_0x10 = 10;
}
-#pragma pop
/* 8024E408-8024E468 248D48 0060+00 0/0 1/1 0/0 .text __ct__7dName_cFP7J2DPane */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dName_c::dName_c(J2DPane* param_0) {
- nofralloc
-#include "asm/d/d_name/__ct__7dName_cFP7J2DPane.s"
+dName_c::dName_c(J2DPane* pane) {
+ nameIn.field_0xc = pane;
+ _create();
+ init();
}
-#pragma pop
/* 8024E468-8024E62C 248DA8 01C4+00 1/0 0/0 0/0 .text __dt__7dName_cFv */
+#ifdef NONMATCHING
+dName_c::~dName_c() {
+ delete stick;
+ delete nameIn.NameInScr;
+ mDoExt_removeMesgFont();
+
+ for (int i = 0; i < 8; i++) {
+ delete mNameCursor[i];
+ }
+
+ for (int i = 0; i < 65; i++) {
+ delete mMojiIcon[i];
+ }
+
+ for (int i = 0; i < 4; i++) {
+ if (mMenuIcon[i] != NULL) {
+ delete mMenuIcon[i];
+ }
+ }
+
+ delete mCursorColorKey;
+ delete mCursorTexKey;
+ delete mSelIcon;
+ archive->removeResourceAll();
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm dName_c::~dName_c() {
+// asm dName_c::~dName_c() {
+extern "C" asm void __dt__7dName_cFv() {
nofralloc
#include "asm/d/d_name/__dt__7dName_cFv.s"
}
#pragma pop
-
-/* ############################################################################################## */
-/* 80430728-80430734 05D448 000C+00 1/1 0/0 0/0 .bss @3660 */
-static u8 lit_3660[12];
-
-/* 80430734-80430748 05D454 0014+00 9/9 0/0 0/0 .bss g_nmHIO */
-static u8 g_nmHIO[20];
-
-/* 80454DB8-80454DBC 0033B8 0004+00 1/1 0/0 0/0 .sdata2 @3755 */
-SECTION_SDATA2 static f32 lit_3755 = 9.0f / 10.0f;
-
-/* 80454DBC-80454DC0 0033BC 0004+00 1/1 0/0 0/0 .sdata2 @3756 */
-SECTION_SDATA2 static f32 lit_3756 = 0.5f;
+#endif
/* 8024E62C-8024E6D4 248F6C 00A8+00 1/1 0/0 0/0 .text _create__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::_create() {
- nofralloc
-#include "asm/d/d_name/_create__7dName_cFv.s"
+void dName_c::_create() {
+ stick = new STControl(5, 2, 2, 1, 0.9f, 0.5f, 0, 0x800);
+ stick->setFirstWaitTime(5);
+ nameIn.font = mDoExt_getMesgFont();
+ g_nmHIO.field_0x4 = -1;
+ screenSet();
+
+ mNextNameStr[0] = 0;
+ mCursorDelay = 1;
+ displayInit();
}
-#pragma pop
/* 8024E6D4-8024E7A4 249014 00D0+00 1/1 0/0 0/0 .text init__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::init() {
- nofralloc
-#include "asm/d/d_name/init__7dName_cFv.s"
+void dName_c::init() {
+ mCurPos = 0;
+ mLastCurPos = 0;
+ nameCursorMove();
+ mLastCurPos = mCurPos;
+
+ for (int i = 0; i < 4; i++) {
+ field_0x30c[i][2] = 0;
+ }
+
+ mCharColumn = 0;
+ mCharRow = 0;
+ mPrevColumn = 0;
+ mPrevRow = 0;
+ field_0x30c[0][0] = 0;
+ field_0x30c[0][1] = 0;
+ field_0x30c[0][2] = 1;
+
+ selectCursorMove();
+ mSelProc = PROC_MOJI_SELECT;
+ field_0x2ac = mSelProc;
+ field_0x2ad = mSelProc;
+ field_0x2ae = field_0x2ac;
+ mMojiSet = MOJI_EIGO;
+ mPrevMojiSet = 255;
+ mSelMenu = MENU_END;
+ mPrevSelMenu = MENU_END;
+ mojiListChange();
}
-#pragma pop
/* 8024E7A4-8024E7EC 2490E4 0048+00 0/0 4/4 0/0 .text initial__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::initial() {
- nofralloc
-#include "asm/d/d_name/initial__7dName_cFv.s"
+void dName_c::initial() {
+ displayInit();
+
+ if (mNextNameStr[0] != 0) {
+ NameStrSet();
+ mNextNameStr[0] = 0;
+ }
}
-#pragma pop
/* ############################################################################################## */
/* 80454DC0-80454DC4 0033C0 0004+00 16/16 0/0 0/0 .sdata2 @3820 */
SECTION_SDATA2 static f32 lit_3820 = 1.0f;
/* 8024E7EC-8024E9A0 24912C 01B4+00 0/0 2/2 0/0 .text showIcon__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::showIcon() {
- nofralloc
-#include "asm/d/d_name/showIcon__7dName_cFv.s"
+void dName_c::showIcon() {
+ Vec pos;
+
+ switch (mSelProc) {
+ case PROC_MOJI_SELECT:
+ if (mCharColumn != 255 && mCharRow != 255) {
+ pos = mMojiIcon[mCharRow + mCharColumn * 5]->getGlobalVtxCenter(false, 0);
+ mSelIcon->setPos(pos.x, pos.y, mMojiIcon[mCharRow + mCharColumn * 5]->getPanePtr(),
+ true);
+ ((J2DTextBox*)mMojiIcon[mCharRow + mCharColumn * 5]->getPanePtr())
+ ->setWhite(JUtility::TColor(0xC8, 0xC8, 0xC8, 0xFF));
+ mSelIcon->setAlphaRate(lit_3820);
+ }
+ break;
+ case PROC_MENU_SELECT:
+ if (mSelMenu != 255) {
+ int menu_i = getMenuPosIdx(mSelMenu);
+
+ pos = mMenuIcon[menu_i]->getGlobalVtxCenter(false, 0);
+ mSelIcon->setPos(pos.x, pos.y, mMenuIcon[menu_i]->getPanePtr(), true);
+ mMenuText[menu_i]->setWhite(JUtility::TColor(0xC8, 0xC8, 0xC8, 0xFF));
+ mSelIcon->setAlphaRate(lit_3820);
+ }
+ break;
+ }
}
-#pragma pop
/* ############################################################################################## */
/* 80454DC4-80454DC8 0033C4 0004+00 6/6 0/0 0/0 .sdata2 @3886 */
SECTION_SDATA2 static f32 lit_3886 = -1.0f;
/* 8024E9A0-8024EC10 2492E0 0270+00 0/0 2/2 0/0 .text _move__7dName_cFv */
+// matches with literals
+#ifdef NONMATCHING
+void dName_c::_move() {
+ stick->checkTrigger();
+ (this->*SelProc[mSelProc])();
+
+ if (mDoCPd_c::getTrigRight(0)) {
+ // BUG: this check only fails if the cursor is at exactly 7
+ // setMoji allows the cursor to reach 8, which is out of bounds here
+ if (mCurPos != 7) {
+ mDoAud_seStart(Z2SE_SY_DUMMY, 0, 0, 0);
+ mLastCurPos = mCurPos;
+ mCurPos++;
+ nameCursorMove();
+ }
+ } else if (mDoCPd_c::getTrigLeft(0)) {
+ if (mCurPos != 0) {
+ mDoAud_seStart(Z2SE_SY_DUMMY, 0, 0, 0);
+ mLastCurPos = mCurPos;
+ mCurPos--;
+ nameCursorMove();
+ }
+ } else if (mDoCPd_c::getTrigB(0)) {
+ if (mCurPos == 0) {
+ mDoAud_seStart(Z2SE_SY_MENU_BACK, 0, 0, 0);
+ field_0x2ac = mSelProc;
+ field_0x2ae = mSelProc;
+ mSelProc = PROC_WAIT;
+ mIsInputEnd = true;
+ } else {
+ backSpace();
+ }
+ } else if (mDoCPd_c::getTrigStart(0)) {
+ if ((mSelProc != PROC_MENU_SELECT || mSelMenu != MENU_END) &&
+ (mSelProc == PROC_MENU_SELECT || mSelProc == PROC_MOJI_SELECT)) {
+ mDoAud_seStart(Z2SE_SY_CURSOR_OPTION, 0, 0, 0);
+ mPrevSelMenu = mSelMenu;
+ mSelMenu = MENU_END;
+
+ switch (mSelProc) {
+ case PROC_MOJI_SELECT:
+ mPrevColumn = mCharColumn;
+ mPrevRow = mCharRow;
+ MojiSelectAnmInit();
+ mSelProc = PROC_MOJI_SEL_ANM2;
+ break;
+ case PROC_MENU_SELECT:
+ MenuSelectAnmInit();
+ mSelProc = PROC_MENU_SEL_ANM;
+ break;
+ }
+ }
+ }
+
+ cursorAnm();
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1384,40 +529,48 @@ asm void dName_c::_move() {
#include "asm/d/d_name/_move__7dName_cFv.s"
}
#pragma pop
+#endif
/* 8024EC10-8024EC4C 249550 003C+00 3/3 0/0 0/0 .text nameCheck__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::nameCheck() {
- nofralloc
-#include "asm/d/d_name/nameCheck__7dName_cFv.s"
+int dName_c::nameCheck() {
+ for (int i = 8, len = 7; i > 0; i--) {
+ if (mChrInfo[len].mCharacter != ' ') {
+ return len + 1;
+ }
+ len--;
+ }
+
+ return 0;
}
-#pragma pop
/* 8024EC4C-8024EC84 24958C 0038+00 1/1 0/0 0/0 .text playNameSet__7dName_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::playNameSet(int param_0) {
- nofralloc
-#include "asm/d/d_name/playNameSet__7dName_cFi.s"
-}
-#pragma pop
+void dName_c::playNameSet(int nameLength) {
+ char* str = mInputStr;
-/* ############################################################################################## */
-/* 80454DC8-80454DD0 0033C8 0008+00 1/1 0/0 0/0 .sdata2 @3936 */
-SECTION_SDATA2 static f64 lit_3936 = 4503601774854144.0 /* cast s32 to float */;
+ for (int i = 0; i < nameLength; i++) {
+ *str = mChrInfo[i].mCharacter;
+ str++;
+ }
+
+ *str = 0;
+}
/* 8024EC84-8024ED48 2495C4 00C4+00 1/1 0/0 0/0 .text cursorAnm__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::cursorAnm() {
- nofralloc
-#include "asm/d/d_name/cursorAnm__7dName_cFv.s"
+void dName_c::cursorAnm() {
+ mCurColAnmF += 2;
+ if (mCurColAnmF >= mCursorColorKey->getFrameMax()) {
+ mCurColAnmF -= mCursorColorKey->getFrameMax();
+ }
+ mCursorColorKey->setFrame(mCurColAnmF);
+
+ mCurTexAnmF += 2;
+ if (mCurTexAnmF >= mCursorTexKey->getFrameMax()) {
+ mCurTexAnmF -= mCursorTexKey->getFrameMax();
+ }
+ mCursorTexKey->setFrame(mCurTexAnmF);
+
+ nameIn.NameInScr->animation();
}
-#pragma pop
/* 8024ED48-8024ED4C 249688 0004+00 1/0 0/0 0/0 .text Wait__7dName_cFv */
void dName_c::Wait() {
@@ -1425,6 +578,66 @@ void dName_c::Wait() {
}
/* 8024ED4C-8024F034 24968C 02E8+00 1/0 0/0 0/0 .text MojiSelect__7dName_cFv */
+// matches with literals
+#ifdef NONMATCHING
+void dName_c::MojiSelect() {
+ if (mDoCPd_c::getTrigA(0)) {
+ selectMojiSet();
+ } else if (stick->checkRightTrigger()) {
+ mDoAud_seStart(Z2SE_SY_NAME_CURSOR, 0, 0, 0);
+ mPrevColumn = mCharColumn;
+ mPrevRow = mCharRow;
+ mCharColumn++;
+
+ if (mCharColumn > 12) {
+ mCharColumn = 0;
+ }
+ MojiSelectAnmInit();
+ mSelProc = PROC_MOJI_SEL_ANM;
+ } else if (stick->checkLeftTrigger()) {
+ mDoAud_seStart(Z2SE_SY_NAME_CURSOR, 0, 0, 0);
+ mPrevColumn = mCharColumn;
+ mPrevRow = mCharRow;
+
+ if (mCharColumn == 0) {
+ mCharColumn = 12;
+ } else {
+ mCharColumn--;
+ }
+ MojiSelectAnmInit();
+ mSelProc = PROC_MOJI_SEL_ANM;
+ } else if (stick->checkUpTrigger()) {
+ mPrevColumn = mCharColumn;
+ mPrevRow = mCharRow;
+ MojiSelectAnmInit();
+
+ if (mCharRow == 0) {
+ mDoAud_seStart(Z2SE_SY_CURSOR_OPTION, 0, 0, 0);
+ menuCursorPosSet();
+ mSelProc = PROC_MOJI_SEL_ANM2;
+ } else {
+ mDoAud_seStart(Z2SE_SY_NAME_CURSOR, 0, 0, 0);
+ mCharRow--;
+ mSelProc = PROC_MOJI_SEL_ANM;
+ }
+ } else if (stick->checkDownTrigger()) {
+ mPrevColumn = mCharColumn;
+ mPrevRow = mCharRow;
+ MojiSelectAnmInit();
+ mCharRow++;
+
+ if (mCharRow > 4) {
+ mCharRow = 4;
+ mDoAud_seStart(Z2SE_SY_CURSOR_OPTION, 0, 0, 0);
+ menuCursorPosSet();
+ mSelProc = PROC_MOJI_SEL_ANM2;
+ } else {
+ mDoAud_seStart(Z2SE_SY_NAME_CURSOR, 0, 0, 0);
+ mSelProc = PROC_MOJI_SEL_ANM;
+ }
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1433,6 +646,7 @@ asm void dName_c::MojiSelect() {
#include "asm/d/d_name/MojiSelect__7dName_cFv.s"
}
#pragma pop
+#endif
/* ############################################################################################## */
/* 80454DD0-80454DD4 0033D0 0004+00 5/5 0/0 0/0 .sdata2 @4009 */
@@ -1444,34 +658,32 @@ SECTION_SDATA2 static u8 lit_4009[4] = {
};
/* 8024F034-8024F0E0 249974 00AC+00 2/2 0/0 0/0 .text MojiSelectAnmInit__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::MojiSelectAnmInit() {
- nofralloc
-#include "asm/d/d_name/MojiSelectAnmInit__7dName_cFv.s"
+void dName_c::MojiSelectAnmInit() {
+ mSelIcon->setAlphaRate(FLOAT_LABEL(lit_4009));
+ mMojiIcon[mPrevRow + mPrevColumn * 5]->scaleAnimeStart(0);
+ ((J2DTextBox*)mMojiIcon[mPrevRow + mPrevColumn * 5]->getPanePtr())
+ ->setWhite(JUtility::TColor(0x96, 0x96, 0x96, 0xFF));
}
-#pragma pop
/* 8024F0E0-8024F164 249A20 0084+00 1/0 0/0 0/0 .text MojiSelectAnm__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::MojiSelectAnm() {
- nofralloc
-#include "asm/d/d_name/MojiSelectAnm__7dName_cFv.s"
+void dName_c::MojiSelectAnm() {
+ if (mMojiIcon[mPrevRow + mPrevColumn * 5]->scaleAnime(mCursorDelay, g_nmHIO.mSelCharScale,
+ lit_3820, 0) == 1) {
+ selectCursorMove();
+ mSelProc = PROC_MOJI_SELECT;
+ field_0x2ad = mSelProc;
+ }
}
-#pragma pop
/* 8024F164-8024F1E8 249AA4 0084+00 1/0 0/0 0/0 .text MojiSelectAnm2__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::MojiSelectAnm2() {
- nofralloc
-#include "asm/d/d_name/MojiSelectAnm2__7dName_cFv.s"
+void dName_c::MojiSelectAnm2() {
+ if (mMojiIcon[mPrevRow + mPrevColumn * 5]->scaleAnime(mCursorDelay, g_nmHIO.mSelCharScale,
+ lit_3820, 0) == 1) {
+ menuCursorMove2();
+ mSelProc = PROC_MENU_SELECT;
+ field_0x2ad = mSelProc;
+ }
}
-#pragma pop
/* 8024F1E8-8024F1EC 249B28 0004+00 1/0 0/0 0/0 .text MojiSelectAnm3__7dName_cFv */
void dName_c::MojiSelectAnm3() {
@@ -1479,36 +691,181 @@ void dName_c::MojiSelectAnm3() {
}
/* 8024F1EC-8024F55C 249B2C 0370+00 1/0 0/0 0/0 .text mojiChange__7dName_cFUc */
+// weird pattern
+#ifdef NONMATCHING
+int dName_c::mojiChange(u8 idx) {
+ if (mChrInfo[idx].field_0x3 == 0 || mChrInfo[idx].mMojiSet == MOJI_EIGO ||
+ mChrInfo[idx].mCharacter == ' ') {
+ return 0;
+ }
+
+ if (mChrInfo[idx].mColumn == 4 || mChrInfo[idx].mColumn == 6 || mChrInfo[idx].mColumn == 8 ||
+ mChrInfo[idx].mColumn == 9) {
+ return 0;
+ }
+
+ switch (mChrInfo[idx].mColumn) {
+ case 0:
+ case 10:
+ if (mChrInfo[idx].mCharacter == 'ウ' || mChrInfo[idx].mCharacter == 'ゥ' ||
+ mChrInfo[idx].mCharacter == 'ヴ') {
+ mChrInfo[idx].mCharacter++;
+
+ if (mChrInfo[idx].mCharacter == 'ェ') {
+ mChrInfo[idx].mCharacter = 'ヴ';
+ }
+
+ if (mChrInfo[idx].mCharacter == 'ヵ') {
+ mChrInfo[idx].mCharacter = 'ゥ';
+ }
+ } else {
+ int c = 'ァ';
+ if (mChrInfo[idx].mMojiSet != MOJI_HIRA) {
+ c = 'ぁ';
+ }
+ bool check = mChrInfo[idx].mCharacter - c == 0 ? 1 : 0;
+
+ if (check) {
+ --mChrInfo[idx].mCharacter;
+ } else {
+ ++mChrInfo[idx].mCharacter;
+ }
+ }
+ break;
+ case 1:
+ int c = 'か';
+ if (mChrInfo[idx].mMojiSet != MOJI_HIRA) {
+ c = 'カ';
+ }
+
+ mChrInfo[idx].mCharacter == c ? mChrInfo[idx].mCharacter++ : mChrInfo[idx].mCharacter--;
+ break;
+ case 2:
+ int c2 = 'さ';
+ if (mChrInfo[idx].mMojiSet != MOJI_HIRA) {
+ c2 = 'サ';
+ }
+
+ mChrInfo[idx].mCharacter == c ? mChrInfo[idx].mCharacter++ : mChrInfo[idx].mCharacter--;
+ break;
+ case 3:
+ case 12:
+ if (mChrInfo[idx].mCharacter != 0x815b) {
+ int c = 'ぢ';
+ if (mChrInfo[idx].mMojiSet != MOJI_HIRA) {
+ c = 'ヂ';
+ }
+
+ if (c < mChrInfo[idx].mCharacter) {
+ int c2 = 'ぢ';
+ if (mChrInfo[idx].mMojiSet != MOJI_HIRA) {
+ c2 = 'ヂ';
+ }
+
+ mChrInfo[idx].mCharacter == c2 ? mChrInfo[idx].mCharacter++ :
+ mChrInfo[idx].mCharacter--;
+ }
+ }
+ break;
+ case 5:
+
+ break;
+ case 7:
+ case 11:
+
+ break;
+ }
+
+ setNameText();
+ return 1;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dName_c::mojiChange(u8 param_0) {
+asm int dName_c::mojiChange(u8 param_0) {
nofralloc
#include "asm/d/d_name/mojiChange__7dName_cFUc.s"
}
#pragma pop
+#endif
/* 8024F55C-8024F59C 249E9C 0040+00 1/1 0/0 0/0 .text selectMojiSet__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::selectMojiSet() {
- nofralloc
-#include "asm/d/d_name/selectMojiSet__7dName_cFv.s"
+void dName_c::selectMojiSet() {
+ setMoji(getMoji());
+ setNameText();
}
-#pragma pop
/* 8024F59C-8024F634 249EDC 0098+00 1/1 0/0 0/0 .text getMoji__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::getMoji() {
- nofralloc
-#include "asm/d/d_name/getMoji__7dName_cFv.s"
+int dName_c::getMoji() {
+ char* moji;
+
+ switch (mMojiSet) {
+ case MOJI_HIRA:
+ moji = l_mojiHira[mCharRow + mCharColumn * 5];
+ break;
+ case MOJI_KATA:
+ moji = l_mojikata[mCharRow + mCharColumn * 5];
+ break;
+ case MOJI_EIGO:
+ moji = l_mojiEisu[mCharRow + mCharColumn * 5];
+ break;
+ }
+
+ return *moji;
}
-#pragma pop
/* 8024F634-8024F88C 249F74 0258+00 1/1 0/0 0/0 .text setMoji__7dName_cFi */
+// matches with literals
+#ifdef NONMATCHING
+void dName_c::setMoji(int moji) {
+ if (mCurPos == 8 || nameCheck() == 8) {
+ mDoAud_seStart(Z2SE_SYS_ERROR, NULL, 0, 0);
+ } else {
+ mDoAud_seStart(Z2SE_SY_NAME_INPUT, NULL, 0, 0);
+
+ s32 notEmpty = false;
+ for (int i = mCurPos; i < 8; i++) {
+ if (mChrInfo[i].mCharacter != ' ') {
+ notEmpty = true;
+ break;
+ }
+ }
+
+ if (notEmpty) {
+ if (mChrInfo[7].mCharacter == ' ') {
+ for (int i = 6; i >= mCurPos; i--) {
+ mChrInfo[i + 1] = mChrInfo[i];
+ }
+
+ mChrInfo[mCurPos].mColumn = mCharColumn;
+ mChrInfo[mCurPos].mRow = mCharRow;
+ mChrInfo[mCurPos].mMojiSet = mMojiSet;
+ mChrInfo[mCurPos].field_0x3 = 1;
+ mChrInfo[mCurPos].mCharacter = moji;
+
+ if (mCurPos != 8) {
+ mLastCurPos = mCurPos;
+ mCurPos++;
+ nameCursorMove();
+ }
+ }
+ } else {
+ mChrInfo[mCurPos].mColumn = mCharColumn;
+ mChrInfo[mCurPos].mRow = mCharRow;
+ mChrInfo[mCurPos].mMojiSet = mMojiSet;
+ mChrInfo[mCurPos].field_0x3 = 1;
+ mChrInfo[mCurPos].mCharacter = moji;
+
+ if (mCurPos != 8) {
+ mLastCurPos = mCurPos;
+ mCurPos++;
+ nameCursorMove();
+ }
+ }
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1517,69 +874,103 @@ asm void dName_c::setMoji(int param_0) {
#include "asm/d/d_name/setMoji__7dName_cFi.s"
}
#pragma pop
-
-/* ############################################################################################## */
-/* 80399CC8-80399CC8 026328 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80399F3C = ""
- "\x1B"
- "CD"
- "\x1B"
- "CR"
- "\x1B"
- "CC[000000]"
- "\x1B"
- "GM[0]%c"
- "\x1B"
- "HM"
- "\x1B"
- "CC[ffffff]"
- "\x1B"
- "GM[0]%c";
-#pragma pop
+#endif
/* 8024F88C-8024F914 24A1CC 0088+00 4/4 0/0 0/0 .text setNameText__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::setNameText() {
- nofralloc
-#include "asm/d/d_name/setNameText__7dName_cFv.s"
+void dName_c::setNameText() {
+ for (int i = 0; i < 8; i++) {
+ if (mChrInfo[i].field_0x3 != 0) {
+ sprintf(mNameText[i],
+ "\x1b"
+ "CD\x1b"
+ "CR\x1b"
+ "CC[000000]\x1bGM[0]%c\x1bHM\x1b"
+ "CC[ffffff]\x1bGM[0]%c",
+ (u8)mChrInfo[i].mCharacter, (u8)mChrInfo[i].mCharacter);
+ }
+ }
}
-#pragma pop
/* 8024F914-8024F994 24A254 0080+00 5/5 0/0 0/0 .text nameCursorMove__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::nameCursorMove() {
- nofralloc
-#include "asm/d/d_name/nameCursorMove__7dName_cFv.s"
+void dName_c::nameCursorMove() {
+ if (mCurPos <= 8) {
+ u8 position = mCurPos;
+
+ if (position > 7) {
+ position = 7;
+ }
+
+ if (mLastCurPos != 255 && mLastCurPos < 8) {
+ mNameCursor[mLastCurPos]->hide();
+ }
+
+ mNameCursor[position]->show();
+ }
}
-#pragma pop
/* 8024F994-8024FAF4 24A2D4 0160+00 3/3 0/0 0/0 .text selectCursorMove__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::selectCursorMove() {
- nofralloc
-#include "asm/d/d_name/selectCursorMove__7dName_cFv.s"
+void dName_c::selectCursorMove() {
+ field_0x30c[3][0] = mCharColumn;
+ field_0x30c[3][1] = mCharRow;
+ field_0x30c[3][2] = 1;
+
+ mMojiIcon[mCharRow + mCharColumn * 5]->getPanePtr()->scale(g_nmHIO.mSelCharScale,
+ g_nmHIO.mSelCharScale);
+ ((J2DTextBox*)mMojiIcon[mCharRow + mCharColumn * 5]->getPanePtr())
+ ->setWhite(JUtility::TColor(0xC8, 0xC8, 0xC8, 0xFF));
+
+ Vec pos = mMojiIcon[mCharRow + mCharColumn * 5]->getGlobalVtxCenter(false, 0);
+ mSelIcon->setPos(pos.x, pos.y, mMojiIcon[mCharRow + mCharColumn * 5]->getPanePtr(), true);
+ mSelIcon->setAlphaRate(lit_3820);
}
-#pragma pop
/* 8024FAF4-8024FB08 24A434 0014+00 1/1 0/0 0/0 .text menuCursorPosSet__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::menuCursorPosSet() {
- nofralloc
-#include "asm/d/d_name/menuCursorPosSet__7dName_cFv.s"
+void dName_c::menuCursorPosSet() {
+ mPrevSelMenu = mSelMenu;
+ mSelMenu = MENU_END;
}
-#pragma pop
/* 8024FB08-8024FDA0 24A448 0298+00 1/0 0/0 0/0 .text MenuSelect__7dName_cFv */
+// matches with literals
+#ifdef NONMATCHING
+void dName_c::MenuSelect() {
+ if (!stick->checkRightTrigger() && !stick->checkLeftTrigger()) {
+ if (stick->checkUpTrigger()) {
+ mDoAud_seStart(Z2SE_SY_NAME_CURSOR, NULL, 0, 0);
+ mPrevSelMenu = mSelMenu;
+ selectCursorPosSet(4);
+ MenuSelectAnmInit();
+ mSelProc = PROC_MENU_SEL_ANM2;
+ } else if (stick->checkDownTrigger()) {
+ mDoAud_seStart(Z2SE_SY_NAME_CURSOR, NULL, 0, 0);
+ mPrevSelMenu = mSelMenu;
+ selectCursorPosSet(0);
+ MenuSelectAnmInit();
+ mSelProc = PROC_MENU_SEL_ANM2;
+ } else if (mDoCPd_c::getTrigA(0)) {
+ if (mSelMenu == MENU_END) {
+ if (nameCheck() != 0) {
+ mDoAud_seStart(Z2SE_SY_NAME_OK, NULL, 0, 0);
+ } else {
+ mDoAud_seStart(Z2SE_SYS_ERROR, NULL, 0, 0);
+ }
+ } else {
+ mDoAud_seStart(Z2SE_SY_CURSOR_OK, NULL, 0, 0);
+ }
+ menuAbtnSelect();
+ } else if (mDoCPd_c::getTrigStart(0)) {
+ if (mSelMenu == MENU_END) {
+ if (nameCheck() != 0) {
+ mDoAud_seStart(Z2SE_SY_NAME_OK, NULL, 0, 0);
+ } else {
+ mDoAud_seStart(Z2SE_SYS_ERROR, NULL, 0, 0);
+ }
+ menuAbtnSelect();
+ }
+ }
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1588,36 +979,47 @@ asm void dName_c::MenuSelect() {
#include "asm/d/d_name/MenuSelect__7dName_cFv.s"
}
#pragma pop
+#endif
/* 8024FDA0-8024FDF4 24A6E0 0054+00 2/2 0/0 0/0 .text MenuSelectAnmInit__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::MenuSelectAnmInit() {
- nofralloc
-#include "asm/d/d_name/MenuSelectAnmInit__7dName_cFv.s"
+void dName_c::MenuSelectAnmInit() {
+ mSelIcon->setAlphaRate(FLOAT_LABEL(lit_4009));
+
+ int prevMenu_i = getMenuPosIdx(mPrevSelMenu);
+ mMenuIcon[prevMenu_i]->scaleAnimeStart(0);
}
-#pragma pop
/* 8024FDF4-8024FEB4 24A734 00C0+00 1/0 0/0 0/0 .text MenuSelectAnm__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::MenuSelectAnm() {
- nofralloc
-#include "asm/d/d_name/MenuSelectAnm__7dName_cFv.s"
+void dName_c::MenuSelectAnm() {
+ int prevMenu_i = getMenuPosIdx(mPrevSelMenu);
+
+ if (mMenuIcon[prevMenu_i]->scaleAnime(mCursorDelay, g_nmHIO.mMenuScale, lit_3820, 0) == 1) {
+ mMenuText[prevMenu_i]->setWhite(JUtility::TColor(0x96, 0x96, 0x96, 0xFF));
+ menuCursorMove();
+ mSelProc = PROC_MENU_SELECT;
+ field_0x2ad = mSelProc;
+ }
}
-#pragma pop
/* 8024FEB4-8024FFA0 24A7F4 00EC+00 1/0 0/0 0/0 .text MenuSelectAnm2__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::MenuSelectAnm2() {
- nofralloc
-#include "asm/d/d_name/MenuSelectAnm2__7dName_cFv.s"
+void dName_c::MenuSelectAnm2() {
+ int prevMenu_i = getMenuPosIdx(mPrevSelMenu);
+ int mojiSet_i = getMenuPosIdx(mMojiSet);
+
+ bool canMove = true;
+ if (prevMenu_i != mojiSet_i) {
+ canMove = mMenuIcon[prevMenu_i]->scaleAnime(mCursorDelay, g_nmHIO.mMenuScale, lit_3820, 0);
+ }
+
+ if (canMove == true) {
+ if (prevMenu_i != mojiSet_i) {
+ mMenuText[prevMenu_i]->setWhite(JUtility::TColor(0x96, 0x96, 0x96, 0xFF));
+ }
+ selectCursorMove();
+ mSelProc = PROC_MOJI_SELECT;
+ field_0x2ad = mSelProc;
+ }
}
-#pragma pop
/* 8024FFA0-8024FFA4 24A8E0 0004+00 1/0 0/0 0/0 .text MenuSelectAnm3__7dName_cFv */
void dName_c::MenuSelectAnm3() {
@@ -1625,6 +1027,34 @@ void dName_c::MenuSelectAnm3() {
}
/* 8024FFA4-80250074 24A8E4 00D0+00 1/1 0/0 0/0 .text menuAbtnSelect__7dName_cFv */
+// matches with literals
+#ifdef NONMATCHING
+void dName_c::menuAbtnSelect() {
+ switch (mSelMenu) {
+ case MENU_HIRA:
+ case MENU_KATA:
+ case MENU_EIGO:
+ if (mSelMenu != mMojiSet) {
+ mPrevMojiSet = mMojiSet;
+ mMojiSet = mSelMenu;
+ mojiListChange();
+ }
+ break;
+ case MENU_END:
+ int nameNum = nameCheck();
+ if (nameNum != 0) {
+ playNameSet(nameNum);
+ field_0x2ac = mSelProc;
+ field_0x2ae = mSelProc;
+ mSelProc = PROC_WAIT;
+ mIsInputEnd = 2;
+ } else {
+ mDoAud_seStart(Z2SE_SY_DUMMY, NULL, 0, 0);
+ }
+ break;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1633,8 +1063,39 @@ asm void dName_c::menuAbtnSelect() {
#include "asm/d/d_name/menuAbtnSelect__7dName_cFv.s"
}
#pragma pop
+#endif
/* 80250074-802501B0 24A9B4 013C+00 1/1 0/0 0/0 .text backSpace__7dName_cFv */
+// matches with literals
+#ifdef NONMATCHING
+void dName_c::backSpace() {
+ if (mCurPos != 0) {
+ mDoAud_seStart(Z2SE_SY_NAME_DELETE, NULL, 0, 0);
+
+ if (mCurPos == 8 && mChrInfo[7].mCharacter != ' ') {
+ mChrInfo[7].mColumn = 7;
+ mChrInfo[7].mRow = 1;
+ mChrInfo[7].mMojiSet = MOJI_EIGO;
+ mChrInfo[7].field_0x3 = 1;
+ mChrInfo[7].mCharacter = ' ';
+ } else {
+ for (int i = mCurPos - 1; i < 7; i++) {
+ mChrInfo[i] = mChrInfo[i + 1];
+ }
+ mChrInfo[7].mColumn = 7;
+ mChrInfo[7].mRow = 1;
+ mChrInfo[7].mMojiSet = MOJI_EIGO;
+ mChrInfo[7].field_0x3 = 1;
+ mChrInfo[7].mCharacter = ' ';
+ }
+
+ setNameText();
+ mLastCurPos = mCurPos;
+ mCurPos--;
+ nameCursorMove();
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1643,78 +1104,105 @@ asm void dName_c::backSpace() {
#include "asm/d/d_name/backSpace__7dName_cFv.s"
}
#pragma pop
-
-/* ############################################################################################## */
-/* 80399CC8-80399CC8 026328 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80399F6C = ""
- "\x1B"
- "CD"
- "\x1B"
- "CR"
- "\x1B"
- "CC[000000]"
- "\x1B"
- "GM[0]";
-SECTION_DEAD static char const* const stringBase_80399F84 = ""
- "\x1B"
- "HM"
- "\x1B"
- "CC[ffffff]"
- "\x1B"
- "GM[0]";
-#pragma pop
+#endif
/* 802501B0-80250284 24AAF0 00D4+00 2/2 0/0 0/0 .text mojiListChange__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::mojiListChange() {
- nofralloc
-#include "asm/d/d_name/mojiListChange__7dName_cFv.s"
+void dName_c::mojiListChange() {
+ char** mojiSet;
+
+ switch (mMojiSet) {
+ case MOJI_HIRA:
+ mojiSet = l_mojiHira;
+ break;
+ case MOJI_KATA:
+ mojiSet = l_mojikata;
+ break;
+ case MOJI_EIGO:
+ mojiSet = l_mojiEisu;
+ break;
+ }
+
+ char buf[74];
+ for (int i = 0; i < 65; i++) {
+ strcpy(buf, "\x1B"
+ "CD"
+ "\x1B"
+ "CR"
+ "\x1B"
+ "CC[000000]"
+ "\x1B"
+ "GM[0]");
+ strcat(buf, mojiSet[i]);
+ strcat(buf, "\x1B"
+ "HM"
+ "\x1B"
+ "CC[ffffff]"
+ "\x1B"
+ "GM[0]");
+ strcat(buf, mojiSet[i]);
+ strcpy(mMojiText[i], buf);
+ }
}
-#pragma pop
/* 80250284-80250380 24ABC4 00FC+00 1/1 0/0 0/0 .text menuCursorMove__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::menuCursorMove() {
- nofralloc
-#include "asm/d/d_name/menuCursorMove__7dName_cFv.s"
+void dName_c::menuCursorMove() {
+ int menu_i = getMenuPosIdx(mSelMenu);
+ mMenuIcon[menu_i]->scale(g_nmHIO.mMenuScale, g_nmHIO.mMenuScale);
+ mMenuText[menu_i]->setWhite(JUtility::TColor(0xC8, 0xC8, 0xC8, 0xFF));
+
+ Vec pos = mMenuIcon[menu_i]->getGlobalVtxCenter(false, 0);
+ mSelIcon->setPos(pos.x, pos.y, mMenuIcon[menu_i]->getPanePtr(), true);
+ mSelIcon->setAlphaRate(lit_3820);
}
-#pragma pop
/* 80250380-802504A0 24ACC0 0120+00 1/1 0/0 0/0 .text menuCursorMove2__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::menuCursorMove2() {
- nofralloc
-#include "asm/d/d_name/menuCursorMove2__7dName_cFv.s"
+void dName_c::menuCursorMove2() {
+ int menu_i = getMenuPosIdx(mSelMenu);
+ int mojiSet_i = getMenuPosIdx(mMojiSet);
+
+ if (menu_i != mojiSet_i) {
+ mMenuIcon[menu_i]->scale(g_nmHIO.mMenuScale, g_nmHIO.mMenuScale);
+ mMenuText[menu_i]->setWhite(JUtility::TColor(0xC8, 0xC8, 0xC8, 0xFF));
+ }
+
+ Vec pos = mMenuIcon[menu_i]->getGlobalVtxCenter(false, 0);
+ mSelIcon->setPos(pos.x, pos.y, mMenuIcon[menu_i]->getPanePtr(), true);
+ mSelIcon->setAlphaRate(lit_3820);
}
-#pragma pop
/* 802504A0-80250560 24ADE0 00C0+00 1/1 0/0 0/0 .text selectCursorPosSet__7dName_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::selectCursorPosSet(int param_0) {
- nofralloc
-#include "asm/d/d_name/selectCursorPosSet__7dName_cFi.s"
+void dName_c::selectCursorPosSet(int row) {
+ if (field_0x30c[mSelMenu][2] == 1) {
+ mCharColumn = field_0x30c[mSelMenu][0];
+ mCharRow = row;
+ } else {
+ switch (mSelMenu) {
+ case MENU_HIRA:
+ mCharColumn = 0;
+ break;
+ case MENU_KATA:
+ mCharColumn = 3;
+ break;
+ case MENU_EIGO:
+ mCharColumn = 6;
+ break;
+ case MENU_END:
+ mCharColumn = 8;
+ break;
+ }
+
+ mCharRow = row;
+ field_0x30c[mSelMenu][0] = mCharColumn;
+ field_0x30c[mSelMenu][1] = mCharRow;
+ field_0x30c[mSelMenu][2] = 1;
+ }
}
-#pragma pop
/* 80250560-802505CC 24AEA0 006C+00 0/0 1/1 0/0 .text _draw__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::_draw() {
- nofralloc
-#include "asm/d/d_name/_draw__7dName_cFv.s"
+void dName_c::_draw() {
+ dComIfGd_set2DOpa(&nameIn);
+ dComIfGd_set2DOpa(mSelIcon);
}
-#pragma pop
/* ############################################################################################## */
/* 80399CC8-80399CC8 026328 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -1745,6 +1233,98 @@ SECTION_SDATA2 static f32 lit_4725[1 + 1 /* padding */] = {
};
/* 802505CC-80250CEC 24AF0C 0720+00 1/1 0/0 0/0 .text screenSet__7dName_cFv */
+#ifdef NONMATCHING
+void dName_c::screenSet() {
+ nameIn.NameInScr = new J2DScreen();
+ archive = dComIfGp_getNameResArchive();
+ nameIn.NameInScr->setPriority("zelda_player_name.blo", 0x100000, archive);
+ dPaneClass_showNullPane(nameIn.NameInScr);
+ nameIn.field_0x10 = nameIn.NameInScr->search('name_n');
+
+ void* bpk = JKRFileLoader::getGlbResource("zelda_player_name.bpk", archive);
+ mCursorColorKey = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(bpk);
+ mCursorColorKey->searchUpdateMaterialID(nameIn.NameInScr);
+
+ void* btk = JKRFileLoader::getGlbResource("zelda_player_name.btk", archive);
+ mCursorTexKey = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(btk);
+ mCursorTexKey->searchUpdateMaterialID(nameIn.NameInScr);
+
+ J2DPane* panes0[8];
+ J2DPane* panes1[8];
+ for (int i = 0; i < 8; i++) {
+ panes0[i] = nameIn.NameInScr->search(l_cur0TagName[i]);
+ panes1[i] = nameIn.NameInScr->search(l_cur1TagName[i]);
+
+ panes0[i]->setAnimation(mCursorTexKey);
+ panes0[i]->setAnimation(mCursorColorKey);
+ panes1[i]->setAnimation(mCursorTexKey);
+ panes1[i]->setAnimation(mCursorColorKey);
+ }
+
+ nameIn.NameInScr->search('jpn_n')->hide();
+ mMenuPane = nameIn.NameInScr->search('pal_n');
+ mMenuPane->show();
+
+ nameIn.NameInScr->search('j_hira_n')->scale(0.0f, 0.0f);
+ nameIn.NameInScr->search('j_kata_n')->scale(0.0f, 0.0f);
+ nameIn.NameInScr->search('j_eigo_n')->scale(0.0f, 0.0f);
+ nameIn.NameInScr->search('j_end_n')->scale(0.0f, 0.0f);
+
+ J2DTextBox* menuPane[3];
+ for (int i = 0; i < 4; i++) {
+ if (i == 2) {
+ mMenuIcon[i] = NULL;
+ mMenuText[i] = NULL;
+ } else {
+ mMenuIcon[i] = new CPaneMgr(nameIn.NameInScr, l_menu_icon_tag[i], 1, NULL);
+
+ char buf[16];
+ fopMsgM_messageGet(buf, l_menu_msg[i]);
+
+ for (int j = 0; j < 3; j++) {
+ menuPane[j] = (J2DTextBox*)nameIn.NameInScr->search(l_menu_tag[j]);
+
+ if (j == 0) {
+ mMenuText[i] = menuPane[j];
+ }
+
+ menuPane[j]->setFont(nameIn.font);
+ menuPane[j]->setString(buf);
+ }
+ }
+ }
+
+ mMenuIcon[0]->hide();
+ mMenuIcon[1]->hide();
+ mMojiPane = nameIn.NameInScr->search('moji_n');
+
+ for (int i = 0; i < 65; i++) {
+ mMojiIcon[i] = new CPaneMgr(nameIn.NameInScr, l_tagName[i], 2, NULL);
+ ((J2DTextBox*)mMojiIcon[i]->getPanePtr())->setFont(nameIn.font);
+ ((J2DTextBox*)mMojiIcon[i]->getPanePtr())->setString(72, "");
+ mMojiText[i] = ((J2DTextBox*)mMojiIcon[i]->getPanePtr())->getStringPtr();
+ }
+
+ J2DPane* nameTagPane[8];
+ for (int i = 0; i < 8; i++) {
+ mNameCursor[i] = new CPaneMgrAlpha(nameIn.NameInScr, l_nameCurTagName[i], 2, NULL);
+ nameTagPane[i] = nameIn.NameInScr->search(l_nameTagName[i]);
+ ((J2DTextBox*)nameTagPane[i])->setFont(nameIn.font);
+ ((J2DTextBox*)nameTagPane[i])->setString(72, "");
+ ((J2DTextBox*)nameTagPane[i])->setWhite(JUtility::TColor(0xC8, 0xC8, 0xC8, 0xFF));
+ mNameText[i] = ((J2DTextBox*)nameTagPane[i])->getStringPtr();
+ }
+
+ mCharColumn = 0;
+ mCharRow = 0;
+
+ mSelIcon = new dSelect_cursor_c(0, 1.0f, NULL);
+ mSelIcon->setParam(0.82f, 0.77f, 0.05f, 0.4f, 0.4f);
+ Vec pos = mMojiIcon[mCharRow + mCharColumn * 5]->getGlobalVtxCenter(false, 0);
+ mSelIcon->setPos(pos.x, pos.y, mMojiIcon[mCharRow + mCharColumn * 5]->getPanePtr(), true);
+ mSelIcon->setAlphaRate(0.0f);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1753,80 +1333,118 @@ asm void dName_c::screenSet() {
#include "asm/d/d_name/screenSet__7dName_cFv.s"
}
#pragma pop
+#endif
/* 80250CEC-80250E54 24B62C 0168+00 2/2 0/0 0/0 .text displayInit__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::displayInit() {
- nofralloc
-#include "asm/d/d_name/displayInit__7dName_cFv.s"
+void dName_c::displayInit() {
+ mSelIcon->setAlphaRate(FLOAT_LABEL(lit_4009));
+ mCurColAnmF = 0;
+ mCurTexAnmF = 0;
+ mSelProc = field_0x2ac;
+ field_0x2ad = field_0x2ae;
+
+ for (int i = 0; i < 65; i++) {
+ ((J2DTextBox*)mMojiIcon[i]->getPanePtr())
+ ->setWhite(JUtility::TColor(0x96, 0x96, 0x96, 0xFF));
+ }
+
+ for (int i = 0; i < 4; i++) {
+ if (mMenuText[i] != NULL) {
+ mMenuText[i]->setWhite(JUtility::TColor(0x96, 0x96, 0x96, 0xFF));
+ }
+ }
+
+ for (int i = 0; i < 8; i++) {
+ mNameCursor[i]->hide();
+ mChrInfo[i].mColumn = 7;
+ mChrInfo[i].mRow = 1;
+ mChrInfo[i].mMojiSet = MOJI_EIGO;
+ mChrInfo[i].field_0x3 = 1;
+ mChrInfo[i].mCharacter = ' ';
+ }
+
+ mIsInputEnd = false;
}
-#pragma pop
/* 80250E54-80251048 24B794 01F4+00 1/1 0/0 0/0 .text NameStrSet__7dName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::NameStrSet() {
- nofralloc
-#include "asm/d/d_name/NameStrSet__7dName_cFv.s"
+void dName_c::NameStrSet() {
+ char* moji = mNextNameStr;
+
+ int i = 0;
+ while (*moji != 0) {
+ if (*(u8*)moji >> 4 == 8 || *(u8*)moji >> 4 == 9) {
+ mChrInfo[i].mCharacter = *(u16*)moji;
+
+ for (int j = 0; j < 65; j++) {
+ if (mChrInfo[i].mCharacter == *(u16*)l_mojiHira[j] ||
+ mChrInfo[i].mCharacter == *(u16*)l_mojiHira2[j] ||
+ mChrInfo[i].mCharacter == *(u16*)l_mojiHira3[j]) {
+ mChrInfo[i].mColumn = j / 5;
+ mChrInfo[i].mRow = j % 5;
+ mChrInfo[i].mMojiSet = MOJI_HIRA;
+ break;
+ } else if (mChrInfo[i].mCharacter == *(u16*)l_mojikata[j] ||
+ mChrInfo[i].mCharacter == *(u16*)l_mojikata2[j] ||
+ mChrInfo[i].mCharacter == *(u16*)l_mojikata3[j]) {
+ mChrInfo[i].mColumn = j / 5;
+ mChrInfo[i].mRow = j % 5;
+ mChrInfo[i].mMojiSet = MOJI_KATA;
+ break;
+ }
+ }
+ moji += 2;
+ i++;
+ } else {
+ mChrInfo[i].mCharacter = *moji;
+
+ for (int j = 0; j < 65; j++) {
+ if (mChrInfo[i].mCharacter == *(u8*)l_mojiEisu[j]) {
+ mChrInfo[i].mColumn = j / 5;
+ mChrInfo[i].mRow = j % 5;
+ mChrInfo[i].mMojiSet = MOJI_EIGO;
+ break;
+ }
+ }
+ moji++;
+ i++;
+ }
+ }
+
+ mLastCurPos = mCurPos;
+ mCurPos = i;
+ setNameText();
+ nameCursorMove();
}
-#pragma pop
/* 80251048-80251094 24B988 004C+00 6/6 0/0 0/0 .text getMenuPosIdx__7dName_cFUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dName_c::getMenuPosIdx(u8 param_0) {
- nofralloc
-#include "asm/d/d_name/getMenuPosIdx__7dName_cFUc.s"
+s32 dName_c::getMenuPosIdx(u8 selPos) {
+ switch (selPos) {
+ case 0:
+ return 0;
+ case 1:
+ return 1;
+ case 2:
+ return 2;
+ case 3:
+ return 3;
+ }
}
-#pragma pop
/* 80251094-8025115C 24B9D4 00C8+00 1/0 0/0 0/0 .text draw__14dDlst_NameIN_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dDlst_NameIN_c::draw() {
+// asm void dDlst_NameIN_c::draw() {
+extern "C" asm void draw__14dDlst_NameIN_cFv() {
nofralloc
#include "asm/d/d_name/draw__14dDlst_NameIN_cFv.s"
}
#pragma pop
/* 8025115C-802511A4 24BA9C 0048+00 1/0 0/0 0/0 .text __dt__14dDlst_NameIN_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dDlst_NameIN_c::~dDlst_NameIN_c() {
- nofralloc
-#include "asm/d/d_name/__dt__14dDlst_NameIN_cFv.s"
-}
-#pragma pop
+dDlst_NameIN_c::~dDlst_NameIN_c() {}
/* 802511A4-802511EC 24BAE4 0048+00 2/1 0/0 0/0 .text __dt__9dNm_HIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dNm_HIO_c::~dNm_HIO_c() {
- nofralloc
-#include "asm/d/d_name/__dt__9dNm_HIO_cFv.s"
-}
-#pragma pop
-
-/* 802511EC-80251314 24BB2C 0128+00 0/0 1/0 0/0 .text __sinit_d_name_cpp */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void __sinit_d_name_cpp() {
- nofralloc
-#include "asm/d/d_name/__sinit_d_name_cpp.s"
-}
-#pragma pop
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x802511EC, __sinit_d_name_cpp);
-#pragma pop
+dNm_HIO_c::~dNm_HIO_c() {}
/* 80399CC8-80399CC8 026328 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
diff --git a/src/d/pane/d_pane_class.cpp b/src/d/pane/d_pane_class.cpp
index 2a44043729..c16c6b5db5 100644
--- a/src/d/pane/d_pane_class.cpp
+++ b/src/d/pane/d_pane_class.cpp
@@ -504,7 +504,7 @@ asm void CPaneMgr::getGlobalVtx(J2DPane* param_0, f32 (*param_1)[3][4], u8 param
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void CPaneMgr::getGlobalVtxCenter(J2DPane* param_0, bool param_1, s16 param_2) {
+asm Vec CPaneMgr::getGlobalVtxCenter(J2DPane* param_0, bool param_1, s16 param_2) {
nofralloc
#include "asm/d/pane/d_pane_class/getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs.s"
}
diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp
index 5f359a539e..2b393e9a2c 100644
--- a/src/d/s/d_s_name.cpp
+++ b/src/d/s/d_s_name.cpp
@@ -4,52 +4,83 @@
//
#include "d/s/d_s_name.h"
+#include "d/com/d_com_inf_game.h"
+#include "d/d_procname.h"
#include "dol2asm.h"
#include "dolphin/types.h"
+#include "f_op/f_op_overlap_mng.h"
+#include "m_Do/m_Do_audio.h"
+#include "m_Do/m_Do_machine.h"
+#include "m_Do/m_Do_mtx.h"
//
// Types:
//
-struct scene_class {};
-
-struct request_of_phase_process_class {};
+class dSn_HIO_c {
+public:
+ /* 8025878C */ dSn_HIO_c();
+ /* 802592DC */ virtual ~dSn_HIO_c() {}
-struct mDoRst {
- static u8 mResetData[4 + 4 /* padding */];
+ /* 0x4 */ s8 field_0x4;
+ /* 0x5 */ u8 mFileSelWaitTime;
};
-struct mDoMch_render_c {
- static void* mRenderModeObj[1 + 1 /* padding */];
+class dScnName_camera_c : public camera_class {
+public:
+ dScnName_camera_c() { field_0x22f = 84; }
+ /* 80259294 */ virtual ~dScnName_camera_c() {}
};
-struct mDoGph_gInf_c {
- static u8 mFader[4];
-};
+class dFile_select_c {
+public:
+ /* 8018366C */ dFile_select_c(JKRArchive*);
+ /* 8018375C */ virtual ~dFile_select_c();
+ /* 801843CC */ void _create();
+ /* 801844FC */ void _move();
+ /* 8018DD38 */ void _draw();
-struct dVibration_c {
- /* 8006F268 */ void Run();
- /* 8006FF04 */ void Init();
-};
+ bool getFadeFlag() { return mFadeFlag; }
+ int isDataNew(u8 i) { return mDataNew[i]; }
+ int isSelectEnd() { return mSelectEnd; }
+ u8 getSelectNum() { return mSelectNum; }
+ void setUseType(u8 type) { mUseType = type; }
+
+private:
+ u8 field_0x4[0x254];
+ /* 0x0258 */ u8 mDataNew[3];
+ /* 0x025B */ u8 field_0x25b[0x265 - 0x25b];
+ /* 0x0265 */ u8 mSelectNum;
+ /* 0x0266 */ u8 field_0x266[0x270 - 0x266];
+ /* 0x0270 */ bool mSelectEnd;
+ /* 0x0271 */ u8 field_0x271[0x3b0 - 0x271];
+ /* 0x03B0 */ u8 mUseType;
+ /* 0x03B1 */ u8 field_0x3b1[0x2374 - 0x3b1];
+ /* 0x2374 */ bool mFadeFlag;
+ /* 0x2375 */ u8 field_0x2375[0x237c - 0x2375];
+};
+
+class dBrightCheck_c {
+public:
+ /* 80192F10 */ dBrightCheck_c(JKRArchive*);
+ /* 80192F98 */ virtual ~dBrightCheck_c();
+ /* 801934D0 */ void _move();
+ /* 80193594 */ void _draw();
-struct dSv_player_get_item_c {
- /* 80033E94 */ void offFirstBit(u8);
-};
+ bool isEnd() { return mEnd; }
-struct dSn_HIO_c {
- /* 8025878C */ dSn_HIO_c();
- /* 802592DC */ ~dSn_HIO_c();
+ u8 field_0x4[0x15];
+ /* 0x19 */ bool mEnd;
};
-struct dScnName_camera_c {
- /* 80259294 */ ~dScnName_camera_c();
-};
+class dScnName_c : public scene_class {
+public:
+ dScnName_c() {}
-struct dScnName_c {
- /* 802588A0 */ void create();
+ /* 802588A0 */ s32 create();
/* 80258B2C */ void setView();
- /* 80258BC8 */ void execute();
- /* 80258C5C */ void draw();
+ /* 80258BC8 */ s32 execute();
+ /* 80258C5C */ s32 draw();
/* 80258CC8 */ ~dScnName_c();
/* 80258DD0 */ void FileSelectOpen();
/* 80258E34 */ void FileSelectMain();
@@ -58,69 +89,18 @@ struct dScnName_c {
/* 80258FD4 */ void brightCheckOpen();
/* 80259008 */ void brightCheck();
/* 802590F8 */ void changeGameScene();
-};
-
-struct dRes_info_c {};
-
-struct JKRHeap {
- /* 802CE438 */ void becomeCurrentHeap();
- /* 802CE448 */ void destroy();
-};
-
-struct dRes_control_c {
- /* 8003C078 */ void setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*);
- /* 8003C160 */ void syncRes(char const*, dRes_info_c*, int);
- /* 8003C194 */ void deleteRes(char const*, dRes_info_c*, int);
- /* 8003C1E4 */ void getResInfo(char const*, dRes_info_c*, int);
-};
-
-struct dPa_control_c {
- /* 8004C054 */ void cleanup();
-};
-struct dMeter2Info_c {
- /* 8021DD5C */ void changeWater(u8);
-};
-
-struct JKRArchive {};
-
-struct dFile_select_c {
- /* 8018366C */ dFile_select_c(JKRArchive*);
- /* 801843CC */ void _create();
- /* 801844FC */ void _move();
- /* 8018DD38 */ void _draw();
-};
-
-struct dDlst_window_c {
- /* 80051AC0 */ void setViewPort(f32, f32, f32, f32, f32, f32);
- /* 80051ADC */ void setScissor(f32, f32, f32, f32);
-};
-
-struct dBrightCheck_c {
- /* 80192F10 */ dBrightCheck_c(JKRArchive*);
- /* 801934D0 */ void _move();
- /* 80193594 */ void _draw();
-};
-
-struct Z2SeqMgr {
- /* 802AF010 */ void bgmStart(u32, u32, s32);
- /* 802AF408 */ void bgmStop(u32, s32);
- /* 802AFB94 */ void bgmStreamPrepare(u32);
- /* 802AFE18 */ void bgmStreamPlay();
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
-struct Vec {};
-
-struct JKRExpHeap {
- /* 802CEE2C */ void create(u32, JKRHeap*, bool);
-};
-
-struct JFWDisplay {
- static u8 sManager[4];
+private:
+ /* 0x1CC */ JKRExpHeap* mHeap;
+ /* 0x1D0 */ JKRExpHeap* field_0x1d0;
+ /* 0x1D4 */ dScnName_camera_c mCamera;
+ /* 0x414 */ dFile_select_c* dFs_c;
+ /* 0x418 */ dBrightCheck_c* mBrightCheck;
+ /* 0x41C */ u8 field_0x41c;
+ /* 0x41D */ u8 field_0x41d;
+ /* 0x41E */ u8 field_0x41e;
+ /* 0x41F */ u8 field_0x41f;
+ /* 0x420 */ u8 field_0x420;
};
//
@@ -196,23 +176,14 @@ extern "C" void destroy__7JKRHeapFv();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
-extern "C" void OSGetTime();
-extern "C" void PSMTXCopy();
-extern "C" void PSMTXInverse();
-extern "C" void C_MTXPerspective();
extern "C" void __register_global_object();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" extern void* g_fopScn_Method[5 + 1 /* padding */];
extern "C" extern void* g_fpcNd_Method[5 + 1 /* padding */];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" extern u8 g_meter2_info[248];
-extern "C" extern u8 j3dSys[284];
extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
-extern "C" extern u32 g_blackColor;
extern "C" u8 mFader__13mDoGph_gInf_c[4];
-extern "C" extern u8 struct_80450BE4[4];
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 sManager__10JFWDisplay[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -227,73 +198,14 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
-/* 803C304C-803C3058 -00001 000C+00 0/1 0/0 0/0 .data @3942 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3942[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)FileSelectOpen__10dScnName_cFv,
-};
-#pragma pop
-
-/* 803C3058-803C3064 -00001 000C+00 0/1 0/0 0/0 .data @3943 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3943[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)FileSelectMain__10dScnName_cFv,
-};
-#pragma pop
-
-/* 803C3064-803C3070 -00001 000C+00 0/1 0/0 0/0 .data @3944 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3944[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)FileSelectClose__10dScnName_cFv,
-};
-#pragma pop
-
-/* 803C3070-803C307C -00001 000C+00 0/1 0/0 0/0 .data @3945 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3945[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)brightCheckOpen__10dScnName_cFv,
-};
-#pragma pop
-
-/* 803C307C-803C3088 -00001 000C+00 0/1 0/0 0/0 .data @3946 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3946[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)brightCheck__10dScnName_cFv,
-};
-#pragma pop
-
-/* 803C3088-803C3094 -00001 000C+00 0/1 0/0 0/0 .data @3947 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3947[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)changeGameScene__10dScnName_cFv,
-};
-#pragma pop
+/* 804510F0-804510F8 0005F0 0008+00 2/2 0/0 0/0 .sbss g_snHIO */
+static dSn_HIO_c g_snHIO;
/* 803C3094-803C30DC 0201B4 0048+00 1/2 0/0 0/0 .data MainProc */
-SECTION_DATA static u8 MainProc[72] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+typedef void (dScnName_c::*mainProcFunc)(void);
+SECTION_DATA static mainProcFunc MainProc[6] = {
+ &dScnName_c::FileSelectOpen, &dScnName_c::FileSelectMain, &dScnName_c::FileSelectClose,
+ &dScnName_c::brightCheckOpen, &dScnName_c::brightCheck, &dScnName_c::changeGameScene,
};
/* 803C30DC-803C30F0 -00001 0014+00 2/0 0/0 0/0 .data l_dScnName_Method */
@@ -331,74 +243,39 @@ SECTION_DATA extern void* g_profile_NAMEEX_SCENE[10] = {
(void*)NULL,
};
-/* 803C3140-803C314C 020260 000C+00 3/3 0/0 0/0 .data __vt__17dScnName_camera_c */
-SECTION_DATA extern void* __vt__17dScnName_camera_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__17dScnName_camera_cFv,
-};
-
-/* 803C314C-803C3158 02026C 000C+00 2/2 0/0 0/0 .data __vt__9dSn_HIO_c */
-SECTION_DATA extern void* __vt__9dSn_HIO_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__9dSn_HIO_cFv,
-};
-
/* 8025878C-802587A4 2530CC 0018+00 1/1 0/0 0/0 .text __ct__9dSn_HIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dSn_HIO_c::dSn_HIO_c() {
- nofralloc
-#include "asm/d/s/d_s_name/__ct__9dSn_HIO_cFv.s"
+dSn_HIO_c::dSn_HIO_c() {
+ mFileSelWaitTime = 15;
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 8039A2A8-8039A2A8 026908 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8039A2A8 = "/res/Object/";
-#pragma pop
/* 802587A4-80258820 2530E4 007C+00 1/0 0/0 0/0 .text phase_1__FPc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void phase_1(char* param_0) {
- nofralloc
-#include "asm/d/s/d_s_name/phase_1__FPc.s"
+static s32 phase_1(char* resName) {
+ mDoAud_bgmStart(-1);
+ if (dComIfG_setObjectRes(resName, 0, NULL) == 0) {
+ return 5;
+ }
+
+ return 2;
}
-#pragma pop
/* 80258820-80258878 253160 0058+00 1/0 0/0 0/0 .text phase_2__FPc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void phase_2(char* param_0) {
- nofralloc
-#include "asm/d/s/d_s_name/phase_2__FPc.s"
+static s32 phase_2(char* resName) {
+ int syncStatus = dComIfG_syncObjectRes(resName);
+
+ if (syncStatus < 0) {
+ return 5;
+ } else {
+ return syncStatus > 0 ? 0 : 4;
+ }
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 80450758-80450760 -00001 0008+00 1/1 0/0 0/0 .sdata l_method$3851 */
-SECTION_SDATA static void* l_method[2] = {
- (void*)phase_1__FPc,
- (void*)phase_2__FPc,
-};
/* 80258878-802588A0 2531B8 0028+00 1/1 0/0 0/0 .text
* resLoad__FP30request_of_phase_process_classPc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void resLoad(request_of_phase_process_class* param_0, char* param_1) {
- nofralloc
-#include "asm/d/s/d_s_name/resLoad__FP30request_of_phase_process_classPc.s"
+static s32 resLoad(request_of_phase_process_class* i_phase, char* param_1) {
+ static s32 (*l_method[2])(char*) = {phase_1, phase_2};
+
+ return dComLbG_PhaseHandler(i_phase, (request_of_phase_process_fn)l_method, param_1);
}
-#pragma pop
/* ############################################################################################## */
/* 8039A2A8-8039A2A8 026908 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -407,9 +284,6 @@ static asm void resLoad(request_of_phase_process_class* param_0, char* param_1)
SECTION_DEAD static char const* const stringBase_8039A2B5 = "fileSel";
#pragma pop
-/* 804510F0-804510F8 0005F0 0008+00 2/2 0/0 0/0 .sbss g_snHIO */
-static u8 g_snHIO[8];
-
/* 80454EF8-80454EFC 0034F8 0004+00 2/2 0/0 0/0 .sdata2 @3923 */
SECTION_SDATA2 static u8 lit_3923[4] = {
0x00,
@@ -437,76 +311,172 @@ SECTION_SDATA2 static f32 lit_3928 = -1000.0f;
SECTION_SDATA2 static f64 lit_3930 = 4503599627370496.0 /* cast u32 to float */;
/* 802588A0-80258B2C 2531E0 028C+00 1/1 0/0 0/0 .text create__10dScnName_cFv */
+#ifdef NONMATCHING
+s32 dScnName_c::create() {
+ int loadStat = resLoad(&field_0x1c4, "fileSel");
+ if (loadStat == 4) {
+ mHeap = JKRExpHeap::create(0x180000, mDoExt_getGameHeap(), false);
+ JKRExpHeap* heap = mHeap;
+ mDoExt_setCurrentHeap(heap);
+ field_0x1d0 = heap;
+
+ dRes_info_c* res = dComIfG_getObjectResInfo("fileSel");
+ dFs_c = new dFile_select_c(res->getArchive());
+ dFs_c->_create();
+
+ if (fpcM_GetName(this) == PROC_NAME_SCENE) {
+ dFs_c->setUseType(0);
+ dComIfGs_setNoFile(0);
+ }
+
+ mBrightCheck = new dBrightCheck_c(res->getArchive());
+
+ field_0x420 = 0;
+ g_snHIO.field_0x4 = -1;
+ field_0x1d0->becomeCurrentHeap();
+
+ dComIfGp_setWindowNum(1);
+ dComIfGp_setWindow(0, 0.0f, 0.0f, mDoMch_render_c::getFbWidth(),
+ mDoMch_render_c::getEfbHeight(), 0.0f, 1.0f, 0, 2);
+ dComIfGp_setCamera(0, &mCamera);
+ // dDlst_window_c* window = &g_dComIfG_gameInfo.play.mWindow[0];
+
+ /* fopCamM_SetNear(&mCamera, 1.0f);
+ fopCamM_SetFar(&mCamera, 100000.0f);
+ fopCamM_SetFovy(&mCamera, 45.0f);
+ fopCamM_SetAspect(&mCamera, mDoGph_gInf_c::getWidthF() / mDoGph_gInf_c::getHeightF());
+ fopCamM_SetEye(&mCamera, 0.0f, 0.0f, -1000.0f);
+ fopCamM_SetCenter(&mCamera, 0.0f, 0.0f, 0.0f);
+ fopCamM_SetBank(&mCamera, 0); */
+
+ mCamera.mNear = 1.0f;
+ mCamera.mFar = 100000.0f;
+ mCamera.mFovy = 45.0f;
+ mCamera.mAspect = mDoGph_gInf_c::getWidthF() / mDoGph_gInf_c::getHeightF();
+ mCamera.field_0xd8.mEye.set(0.0f, 0.0f, -1000.0f);
+ mCamera.field_0xd8.mCenter.set(0.0f, 0.0f, 0.0f);
+ mCamera.mBank = 0;
+
+ dComIfGp_setPlayer(0, NULL);
+ dComIfGd_setWindow(g_dComIfG_gameInfo.play.mWindow);
+ dComIfGd_setViewport(g_dComIfG_gameInfo.play.mWindow->getViewPort());
+ dComIfGd_setView(&mCamera);
+ mDoGph_gInf_c::offAutoForcus();
+ setView();
+
+ dKy_setLight_init();
+ field_0x41e = g_snHIO.mFileSelWaitTime;
+ field_0x41c = 0;
+ field_0x41d = 0;
+ mDoGph_gInf_c::setTickRate((OS_BUS_CLOCK / 4) / 30);
+ dComIfGp_getVibration().Init();
+ }
+ return loadStat;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dScnName_c::create() {
+asm s32 dScnName_c::create() {
nofralloc
#include "asm/d/s/d_s_name/create__10dScnName_cFv.s"
}
#pragma pop
+#endif
/* 80258B2C-80258BC8 25346C 009C+00 1/1 0/0 0/0 .text setView__10dScnName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnName_c::setView() {
- nofralloc
-#include "asm/d/s/d_s_name/setView__10dScnName_cFv.s"
+void dScnName_c::setView() {
+ C_MTXPerspective(mCamera.field_0x100, mCamera.mFovy, mCamera.mAspect, mCamera.mNear,
+ mCamera.mFar);
+ mDoMtx_lookAt(mCamera.field_0x140, &mCamera.field_0xd8.mEye, &mCamera.field_0xd8.mCenter,
+ mCamera.mBank);
+ PSMTXInverse(mCamera.field_0x140, mCamera.field_0x170);
+ PSMTXCopy(mCamera.field_0x140, mCamera.field_0x1e0);
+ f32 tmp_0 = FLOAT_LABEL(lit_3923);
+ mCamera.field_0x1e0[0][3] = tmp_0;
+ mCamera.field_0x1e0[1][3] = tmp_0;
+ mCamera.field_0x1e0[2][3] = tmp_0;
+ PSMTXCopy(mCamera.field_0x140, j3dSys.mViewMtx);
+ mDoMtx_concatProjView(mCamera.field_0x100, mCamera.field_0x140, mCamera.field_0x1a0);
}
-#pragma pop
/* 80258BC8-80258C5C 253508 0094+00 1/1 0/0 0/0 .text execute__10dScnName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnName_c::execute() {
- nofralloc
-#include "asm/d/s/d_s_name/execute__10dScnName_cFv.s"
+s32 dScnName_c::execute() {
+ if (fopOvlpM_IsPeek() == 0) {
+ dComIfG_resetToOpening(this);
+ }
+
+ if (mDoRst::isReset() && field_0x420 == 0 && !dFs_c->getFadeFlag()) {
+ return 1;
+ }
+
+ (this->*MainProc[field_0x41d])();
+ return 1;
}
-#pragma pop
/* 80258C5C-80258CC8 25359C 006C+00 1/1 0/0 0/0 .text draw__10dScnName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnName_c::draw() {
- nofralloc
-#include "asm/d/s/d_s_name/draw__10dScnName_cFv.s"
+s32 dScnName_c::draw() {
+ dComIfGp_getVibration().Run();
+
+ switch (field_0x41c) {
+ case 0:
+ dFs_c->_draw();
+ break;
+ case 1:
+ mBrightCheck->_draw();
+ break;
+ }
+
+ return 1;
}
-#pragma pop
/* 80258CC8-80258DD0 253608 0108+00 1/1 0/0 0/0 .text __dt__10dScnName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dScnName_c::~dScnName_c() {
- nofralloc
-#include "asm/d/s/d_s_name/__dt__10dScnName_cFv.s"
+dScnName_c::~dScnName_c() {
+ delete dFs_c;
+ delete mBrightCheck;
+ dComIfG_deleteObjectResMain("fileSel");
+ mHeap->destroy();
+
+ for (int i = 0; i < 4; i++) {
+ dMeter2Info_changeWater(i + SLOT_11);
+ }
+
+ dComIfGp_setWindowNum(0);
+ dComIfGd_setView(NULL);
}
-#pragma pop
/* 80258DD0-80258E34 253710 0064+00 1/0 0/0 0/0 .text FileSelectOpen__10dScnName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnName_c::FileSelectOpen() {
- nofralloc
-#include "asm/d/s/d_s_name/FileSelectOpen__10dScnName_cFv.s"
+void dScnName_c::FileSelectOpen() {
+ if (field_0x41e != 0) {
+ field_0x41e--;
+ } else {
+ mDoAud_bgmStreamPrepare(0x2000000);
+ mDoAud_bgmStreamPlay();
+ field_0x41d = 1;
+ }
}
-#pragma pop
/* 80258E34-80258E78 253774 0044+00 1/0 0/0 0/0 .text FileSelectMain__10dScnName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnName_c::FileSelectMain() {
- nofralloc
-#include "asm/d/s/d_s_name/FileSelectMain__10dScnName_cFv.s"
+void dScnName_c::FileSelectMain() {
+ dFs_c->_move();
+
+ if (fpcM_GetName(this) == PROC_NAME_SCENE) {
+ FileSelectMainNormal();
+ }
}
-#pragma pop
/* 80258E78-80258F20 2537B8 00A8+00 1/1 0/0 0/0 .text FileSelectMainNormal__10dScnName_cFv */
+#ifdef NONMATCHING
+void dScnName_c::FileSelectMainNormal() {
+ if (dFs_c->isSelectEnd() == true) {
+ field_0x41e = 15;
+ mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
+ mDoGph_gInf_c::startFadeOut(15);
+ field_0x41d = 2;
+ field_0x420 = 1;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -515,8 +485,23 @@ asm void dScnName_c::FileSelectMainNormal() {
#include "asm/d/s/d_s_name/FileSelectMainNormal__10dScnName_cFv.s"
}
#pragma pop
+#endif
/* 80258F20-80258FD4 253860 00B4+00 1/0 0/0 0/0 .text FileSelectClose__10dScnName_cFv */
+#ifdef NONMATCHING
+void dScnName_c::FileSelectClose() {
+ field_0x41e--;
+
+ if (field_0x41e == 0) {
+ field_0x41d = 3;
+ field_0x41e = 15;
+ field_0x41c = 1;
+ mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
+ mDoGph_gInf_c::startFadeIn(15);
+ field_0x420 = 0;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -525,26 +510,38 @@ asm void dScnName_c::FileSelectClose() {
#include "asm/d/s/d_s_name/FileSelectClose__10dScnName_cFv.s"
}
#pragma pop
+#endif
/* 80258FD4-80259008 253914 0034+00 1/0 0/0 0/0 .text brightCheckOpen__10dScnName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnName_c::brightCheckOpen() {
- nofralloc
-#include "asm/d/s/d_s_name/brightCheckOpen__10dScnName_cFv.s"
+void dScnName_c::brightCheckOpen() {
+ if (!mDoRst::isReset()) {
+ field_0x41e--;
+ if (field_0x41e == 0) {
+ field_0x41d = 4;
+ }
+ }
}
-#pragma pop
/* 80259008-802590F8 253948 00F0+00 1/0 0/0 0/0 .text brightCheck__10dScnName_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnName_c::brightCheck() {
- nofralloc
-#include "asm/d/s/d_s_name/brightCheck__10dScnName_cFv.s"
+void dScnName_c::brightCheck() {
+ mBrightCheck->_move();
+
+ if (mBrightCheck->isEnd()) {
+ dComIfGs_setSaveTotalTime(dComIfGs_getTotalTime());
+ dComIfGs_setSaveStartTime(OSGetTime());
+
+ mDoAud_bgmStop(0x2D);
+ field_0x41f = 0;
+ field_0x41d = 5;
+ dComIfGs_offItemFirstBit(GREEN_RUPEE);
+ dComIfGs_offItemFirstBit(BLUE_RUPEE);
+ dComIfGs_offItemFirstBit(YELLOW_RUPEE);
+ dComIfGs_offItemFirstBit(RED_RUPEE);
+ dComIfGs_offItemFirstBit(PURPLE_RUPEE);
+ dComIfGs_offItemFirstBit(ORANGE_RUPEE);
+ dComIfGs_offItemFirstBit(SILVER_RUPEE);
+ }
}
-#pragma pop
/* ############################################################################################## */
/* 8039A2A8-8039A2A8 026908 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -556,6 +553,23 @@ SECTION_DEAD static char const* const pad_8039A2C5 = "\0\0";
#pragma pop
/* 802590F8-802591C0 253A38 00C8+00 1/0 0/0 0/0 .text changeGameScene__10dScnName_cFv */
+// weird comparison in changeReq
+#ifdef NONMATCHING
+void dScnName_c::changeGameScene() {
+ if (!mDoRst::isReset() && !fopOvlpM_IsPeek()) {
+ dComIfGs_gameStart();
+ fopScnM_ChangeReq(this, field_0x41f == 0 ? PROC_PLAY_SCENE : 10, 0, 5);
+ dComIfGp_offEnableNextStage();
+
+ if (dFs_c->isDataNew(dFs_c->getSelectNum())) {
+ dComIfGp_setNextStage("F_SP108", 21, 1, 13);
+ }
+ dKy_clear_game_init();
+ dComIfGs_resetDan();
+ dComIfGs_setRestartRoomParam(0);
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -564,95 +578,35 @@ asm void dScnName_c::changeGameScene() {
#include "asm/d/s/d_s_name/changeGameScene__10dScnName_cFv.s"
}
#pragma pop
+#endif
/* 802591C0-802591E0 253B00 0020+00 1/0 0/0 0/0 .text dScnName_Draw__FP10dScnName_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dScnName_Draw(dScnName_c* param_0) {
- nofralloc
-#include "asm/d/s/d_s_name/dScnName_Draw__FP10dScnName_c.s"
+static void dScnName_Draw(dScnName_c* scn) {
+ scn->draw();
}
-#pragma pop
/* 802591E0-80259200 253B20 0020+00 1/0 0/0 0/0 .text dScnName_Execute__FP10dScnName_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dScnName_Execute(dScnName_c* param_0) {
- nofralloc
-#include "asm/d/s/d_s_name/dScnName_Execute__FP10dScnName_c.s"
+static void dScnName_Execute(dScnName_c* scn) {
+ scn->execute();
}
-#pragma pop
/* 80259200-80259230 253B40 0030+00 1/0 0/0 0/0 .text dScnName_IsDelete__FP10dScnName_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dScnName_IsDelete(dScnName_c* param_0) {
- nofralloc
-#include "asm/d/s/d_s_name/dScnName_IsDelete__FP10dScnName_c.s"
+static s32 dScnName_IsDelete(dScnName_c*) {
+ dComIfGp_particle_cleanup();
+ return 1;
}
-#pragma pop
/* 80259230-80259258 253B70 0028+00 1/0 0/0 0/0 .text dScnName_Delete__FP10dScnName_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dScnName_Delete(dScnName_c* param_0) {
- nofralloc
-#include "asm/d/s/d_s_name/dScnName_Delete__FP10dScnName_c.s"
+static s32 dScnName_Delete(dScnName_c* scn) {
+ scn->~dScnName_c();
+ return 1;
}
-#pragma pop
/* 80259258-80259294 253B98 003C+00 1/0 0/0 0/0 .text dScnName_Create__FP11scene_class */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dScnName_Create(scene_class* param_0) {
- nofralloc
-#include "asm/d/s/d_s_name/dScnName_Create__FP11scene_class.s"
+static void dScnName_Create(scene_class* scn) {
+ new (scn) dScnName_c();
+ static_cast<dScnName_c*>(scn)->create();
}
-#pragma pop
-
-/* 80259294-802592DC 253BD4 0048+00 1/0 0/0 0/0 .text __dt__17dScnName_camera_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dScnName_camera_c::~dScnName_camera_c() {
- nofralloc
-#include "asm/d/s/d_s_name/__dt__17dScnName_camera_cFv.s"
-}
-#pragma pop
-
-/* 802592DC-80259324 253C1C 0048+00 2/1 0/0 0/0 .text __dt__9dSn_HIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dSn_HIO_c::~dSn_HIO_c() {
- nofralloc
-#include "asm/d/s/d_s_name/__dt__9dSn_HIO_cFv.s"
-}
-#pragma pop
-
-/* ############################################################################################## */
-/* 80430768-80430778 05D488 000C+04 1/1 0/0 0/0 .bss @3822 */
-static u8 lit_3822[12 + 4 /* padding */];
-
-/* 80259324-80259400 253C64 00DC+00 0/0 1/0 0/0 .text __sinit_d_s_name_cpp */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void __sinit_d_s_name_cpp() {
- nofralloc
-#include "asm/d/s/d_s_name/__sinit_d_s_name_cpp.s"
-}
-#pragma pop
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x80259324, __sinit_d_s_name_cpp);
-#pragma pop
/* 8039A2A8-8039A2A8 026908 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */