summaryrefslogtreecommitdiff
path: root/include/d/msg/d_msg_scrn_3select.h
blob: 3dd9a9920660a46324456295bd19648e53b00ef7 (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
#ifndef MSG_SCRN_D_MSG_SCRN_3SELECT_H
#define MSG_SCRN_D_MSG_SCRN_3SELECT_H

#include "d/d_drawlist.h"

class J2DScreen;
class J2DAnmTransform;
class J2DAnmColor;
class J2DAnmTextureSRTKey;
class dSelect_cursor_c;
class CPaneMgr;
class J2DTextBox;

class dMsgScrn3Select_c {
public:
    enum Process_e {
        PROC_OPEN1_e,
        PROC_OPEN2_e,
        PROC_WAIT_e,
        PROC_SELECT_e,
        PROC_CHANGE_e,
        PROC_CLOSE_e,
        PROC_MAX_e,
    };

    /* 802390B4 */ dMsgScrn3Select_c();
    /* 802398CC */ virtual ~dMsgScrn3Select_c();
    /* 80239C64 */ bool isSelect();
    /* 80239C78 */ void setString(char*, char*, char*);
    /* 80239D08 */ void setRubyString(char*, char*, char*);
    /* 80239D98 */ void translate(f32, f32);
    /* 80239DD4 */ void draw(f32, f32);
    /* 8023A094 */ void selAnimeInit(u8, u8, u8, f32, u8);
    /* 8023A398 */ bool selAnimeMove(u8, u8, bool);
    /* 8023A680 */ bool selAnimeEnd();
    /* 8023A934 */ f32 getTextBoxWidth();
    /* 8023A94C */ f32 getFontSize();
    /* 8023A95C */ f32 getRubyFontSize();
    /* 8023A97C */ f32 getCharSpace();
    /* 8023A98C */ f32 getRubyCharSpace();
    /* 8023A9AC */ f32 getTextBoxGlobalPosX(int);
    /* 8023A9D8 */ f32 getTextBoxGlobalPosY(int);
    /* 8023AA04 */ void open1Proc();
    /* 8023AAF4 */ void open2Proc();
    /* 8023AC14 */ void waitProc();
    /* 8023AC44 */ void selectProc();
    /* 8023AE68 */ void changeProc();
    /* 8023B148 */ void closeProc();
    /* 8023B228 */ void selectScale();
    /* 8023B4AC */ void selectTrans();
    /* 8023B870 */ void selectAnimeTransform(int);

    void setOffsetX(f32 i_offsetX) { mOffsetX = i_offsetX; }
    bool isAnimeUpdate(int param_0) { return (field_0x114 & (u8)(1 << param_0)) ? TRUE : FALSE; }
    void onAnimeUpdate(int param_0) { field_0x114 |= (u8)(1 << param_0); }
    void offAnimeUpdate(int param_0) { field_0x114 &= ~(u8)(1 << param_0); }

private:
    /* 0x004 */ J2DScreen* mpScreen;
    /* 0x008 */ J2DAnmTransform* mpAnmBck;
    /* 0x00C */ J2DAnmColor* mpAnmBpk;
    /* 0x010 */ J2DAnmTextureSRTKey* mpAnmBtk;
    /* 0x014 */ dSelect_cursor_c* mpSelectCursor;
    /* 0x018 */ CPaneMgr* mpParent;
    /* 0x01C */ CPaneMgr* mpTmSel_c[3];
    /* 0x028 */ CPaneMgr* mpTmrSel_c[3];
    /* 0x034 */ CPaneMgr* mpSel_c[3];
    /* 0x040 */ CPaneMgr* mpSelCld_c[3];
    /* 0x04C */ CPaneMgr* mpSelCldr_c[3];
    /* 0x058 */ CPaneMgr* mpSelCldm_c[3];
    /* 0x064 */ CPaneMgr* mpSelCldw_c[5][3];
    /* 0x0A0 */ CPaneMgr* mpSelPo_c[3];
    /* 0x0AC */ CPaneMgr* mpKahen_c[3];
    /* 0x0B8 */ CPaneMgr* mpCursor_c[3];
    /* 0x0C4 */ JUtility::TColor mSelMsgCol;
    /* 0x0C8 */ JUtility::TColor mSelMsgInactiveCol;
    /* 0x0CC */ Vec mCursorPos[3];
    /* 0x0F0 */ f32 mBckFrame;
    /* 0x0F4 */ f32 mBpkFrame;
    /* 0x0F8 */ f32 mBtkFrame;
    /* 0x0FC */ f32 mOffsetX;
    /* 0x100 */ f32 mBaseWidth;
    /* 0x104 */ f32 mWidth;
    /* 0x108 */ u8 field_0x108;
    /* 0x10A */ s16 mSelWaitTimer;
    /* 0x10C */ s16 field_0x10c;
    /* 0x10E */ u8 mSelNo;
    /* 0x10F */ u8 mLastSelNo;
    /* 0x110 */ u8 field_0x110;
    /* 0x111 */ u8 mSelNum;
    /* 0x112 */ u8 field_0x112;
    /* 0x113 */ u8 mProcess;
    /* 0x114 */ u8 field_0x114;
    /* 0x115 */ u8 field_0x115;
    /* 0x116 */ u8 field_0x116;
    /* 0x117 */ u8 field_0x117;
};  // Size: 0x118

#endif /* MSG_SCRN_D_MSG_SCRN_3SELECT_H */