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

#include "d/msg/d_msg_scrn_base.h"

class J2DOrthoGraph;
class STControl;
class dMsgScrnArrow_c;
class dMsgScrn3Select_c;
class dMsgString_c;

class dMsgScrnExplain_c {
public:
    /* 8023CC88 */ dMsgScrnExplain_c(STControl*, u8, bool, u8);
    /* 8023D7D8 */ void move();
    /* 8023D918 */ void draw(J2DOrthoGraph*);
    /* 8023DAD0 */ void wait_init();
    /* 8023DAD4 */ void wait_proc();
    /* 8023DAD8 */ void open_request_init();
    /* 8023DADC */ void open_request_proc();
    /* 8023DBE4 */ void open_init();
    /* 8023DC7C */ void open_proc();
    /* 8023DD90 */ void move_init();
    /* 8023DDB4 */ void move_proc();
    /* 8023DE8C */ void move_select_init();
    /* 8023E0F4 */ void move_select_proc();
    /* 8023E43C */ void close_init();
    /* 8023E448 */ void close_proc();
    /* 8023E558 */ bool openExplain(u32, u8, u8, u8, bool);
    /* 8023E5CC */ f32 getAlphaRatio();
    /* 8023E640 */ bool checkTriggerA();
    /* 8023E654 */ bool checkTriggerB();

    typedef void (dMsgScrnExplain_c::*ProcFunc)(); 

    /* 8023D538 */ virtual ~dMsgScrnExplain_c();

    u8 getStatus() { return mStatus; }
    u8 getSelectCursor() { return mSelCursor; }
    void onForceSelect() { mForceSelect = 1; }
    void setKeyWaitTimer(s16 timer) { mKeyWaitTimer = timer; }

private:
    /* 0x04 */ dMsgString_c* mpString_c;
    /* 0x08 */ CPaneMgr* mpTm_c[2];
    /* 0x10 */ CPaneMgr* field_0x10[2];
    /* 0x18 */ CPaneMgr* mpMg_c[2];
    /* 0x20 */ CPaneMgr* mpRoot_c[2];
    /* 0x28 */ CPaneMgr* mpArw_c;
    /* 0x2C */ J2DScreen* mpScreen;
    /* 0x30 */ J2DScreen* mpTxScreen;
    /* 0x34 */ dMsgScrnArrow_c* mpArrow_c;
    /* 0x38 */ dMsgScrn3Select_c* mpSelect_c;
    /* 0x3C */ COutFont_c* mpOutFont;
    /* 0x40 */ J2DPicture* mpBackTex;
    /* 0x44 */ STControl* mpStick;
    /* 0x48 */ f32 field_0x48;
    /* 0x4C */ f32 field_0x4c;
    /* 0x50 */ f32 field_0x50;
    /* 0x54 */ u32 field_0x54;
    /* 0x58 */ u8 field_0x58;
    /* 0x5A */ s16 field_0x5a;
    /* 0x5C */ s16 field_0x5c;
    /* 0x5E */ s16 mKeyWaitTimer;
    /* 0x60 */ u8 mStatus;
    /* 0x61 */ u8 mSelCursor;
    /* 0x62 */ u8 field_0x62;
    /* 0x63 */ u8 field_0x63;
    /* 0x64 */ u8 field_0x64;
    /* 0x65 */ u8 mForceSelect;
    /* 0x66 */ u8 field_0x66;
    /* 0x67 */ u8 field_0x67;
};  // Size: 0x68

#endif /* MSG_SCRN_D_MSG_SCRN_EXPLAIN_H */