summaryrefslogtreecommitdiff
path: root/include/d/d_name.h
blob: 229debe31b557d058fc50bb9a23a36ef0189e574 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#ifndef D_D_NAME_H
#define D_D_NAME_H

#include "d/d_select_cursor.h"

class CPaneMgr;
class CPaneMgrAlpha;
class J2DAnmColorKey;
class J2DAnmTextureSRTKey;
class J2DTextBox;
class JUTFont;
class STControl;

class dNm_HIO_c {
public:
    /* 8024E3E0 */ dNm_HIO_c();
    /* 802511A4 */ virtual ~dNm_HIO_c();

    /* 0x04 */ s8 field_0x4;
    /* 0x08 */ f32 mMenuScale;
    /* 0x0C */ f32 mSelCharScale;
    /* 0x10 */ u8 field_0x10;
};

class dDlst_NameIN_c : public dDlst_base_c {
public:
    dDlst_NameIN_c() {}

    /* 80251094 */ virtual void draw();
    /* 8025115C */ virtual ~dDlst_NameIN_c();

    /* 0x04 */ J2DScreen* NameInScr;
    /* 0x08 */ JUTFont* font;
    /* 0x0C */ J2DPane* field_0xc;
    /* 0x10 */ J2DPane* field_0x10;
};

class ChrInfo_c {
public:
    /* 0x0 */ u8 mColumn;
    /* 0x1 */ u8 mRow;
    /* 0x2 */ u8 mMojiSet;
    /* 0x3 */ u8 field_0x3;
    /* 0x4 */ int mCharacter;
};  // Size: 0x8

class dName_c {
public:
    enum {
        PROC_MOJI_SELECT,
        PROC_MOJI_SEL_ANM,
        PROC_MOJI_SEL_ANM2,
        PROC_MOJI_SEL_ANM3,
        PROC_MENU_SELECT,
        PROC_MENU_SEL_ANM,
        PROC_MENU_SEL_ANM2,
        PROC_MENU_SEL_ANM3,
        PROC_WAIT
    };

    enum {
        MOJI_HIRA, // hiragana characters
        MOJI_KATA, // katakana characters
        MOJI_EIGO, // english characters
    };

    enum {
        MENU_HIRA, // hiragana menu
        MENU_KATA, // katakana menu
        MENU_EIGO, // english menu
        MENU_END,
    };

    /* 8024E408 */ dName_c(J2DPane*);
    /* 8024E62C */ void _create();
    /* 8024E6D4 */ void init();
    /* 8024E7A4 */ void initial();
    /* 8024E7EC */ void showIcon();
    /* 8024E9A0 */ void _move();
    /* 8024EC10 */ int 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 */ int mojiChange(u8);
    /* 8024F55C */ void selectMojiSet();
    /* 8024F59C */ int 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 */ s32 getMenuPosIdx(u8);

    /* 8024E468 */ virtual ~dName_c();

    u8 getCurPos() { return mCurPos; }
    u8 isInputEnd() { return mIsInputEnd; }
    char* getInputStrPtr() { return mInputStr; }
    void hideIcon() { mSelIcon->setAlphaRate(0.0f); }
    void setNextNameStr(char* i_name) { strcpy(mNextNameStr,i_name); }
    void draw() { _draw(); }

private:
    /* 0x004 */ STControl* stick;
    /* 0x008 */ JKRArchive* archive;
    /* 0x00C */ dDlst_NameIN_c nameIn;
    /* 0x020 */ dSelect_cursor_c* mSelIcon;
    /* 0x024 */ J2DAnmColorKey* mCursorColorKey;
    /* 0x028 */ int mCurColAnmF;
    /* 0x02C */ J2DAnmTextureSRTKey* mCursorTexKey;
    /* 0x030 */ int mCurTexAnmF;
    /* 0x034 */ CPaneMgrAlpha* mNameCursor[8];
    /* 0x054 */ char* mNameText[8];
    /* 0x074 */ CPaneMgr* mMojiIcon[65];
    /* 0x178 */ char* mMojiText[65];
    /* 0x27C */ J2DPane* mMojiPane;
    /* 0x280 */ J2DPane* mMenuPane;
    /* 0x284 */ CPaneMgr* mMenuIcon[4];
    /* 0x294 */ J2DTextBox* mMenuText[4];
    /* 0x2A4 */ u8 mCursorDelay;
    /* 0x2A5 */ u8 mCharColumn;
    /* 0x2A6 */ u8 mPrevColumn;
    /* 0x2A7 */ u8 mCharRow;
    /* 0x2A8 */ u8 mPrevRow;
    /* 0x2A9 */ u8 mMojiSet;
    /* 0x2AA */ u8 mPrevMojiSet;
    /* 0x2AB */ u8 mSelProc;
    /* 0x2AC */ u8 field_0x2ac;
    /* 0x2AD */ u8 field_0x2ad;
    /* 0x2AE */ u8 field_0x2ae;
    /* 0x2AF */ u8 mSelMenu;
    /* 0x2B0 */ u8 mPrevSelMenu;
    /* 0x2B1 */ u8 mCurPos;
    /* 0x2B2 */ u8 mLastCurPos;
    /* 0x2B3 */ u8 field_0x2b3;
    /* 0x2B4 */ u8 mIsInputEnd;
    /* 0x2B5 */ char mInputStr[23];
    /* 0x2CC */ ChrInfo_c mChrInfo[8];
    /* 0x30C */ u8 field_0x30c[4][4];  // ?
    /* 0x31C */ char mNextNameStr[24];
};  // Size: 0x334

#endif /* D_D_NAME_H */