summaryrefslogtreecommitdiff
path: root/include/d/d_ovlp_fade3.h
blob: 856c72d327be927fb7f89e02a5b060ee23d01046 (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
#ifndef D_OVLP_D_OVLP_FADE3_H
#define D_OVLP_D_OVLP_FADE3_H

#include "d/d_com_inf_game.h"
#include "f_op/f_op_overlap_mng.h"

class dOvlpFd3_dlst_c : public dDlst_base_c {
public:
    virtual void draw();
    virtual ~dOvlpFd3_dlst_c() {}

    MtxP getMtx() { return mMtx; }
    void entry() { dComIfGd_set2DXlu(this); }

    /* 0x4 */ Mtx mMtx;
};

class dOvlpFd3_c : public overlap_task_class {
public:
    dOvlpFd3_c();
    void execFirstSnap();
    void execFadeOut();
    void execNextSnap();
    void execFadeIn();

    inline void draw();
    inline void execute();

    typedef void (dOvlpFd3_c::*executeFn)();
    void setExecute(executeFn i_func) { mExecuteFn = i_func; }

    /* 0x0CC */ executeFn mExecuteFn;
    /* 0x0D8 */ dDlst_snapShot_c mSnapshot_c;
    /* 0x0DC */ dOvlpFd3_dlst_c mDlst_c;
    /* 0x110 */ s16 field_0x110;
    /* 0x112 */ s16 field_0x112;
    /* 0x114 */ s16 field_0x114;
    /* 0x118 */ f32 field_0x118;
    /* 0x11C */ u8 field_0x11c;
    /* 0x11D */ s8 mTimer;
    /* 0x11E */ u8 field_0x11e;
    /* 0x11F */ u8 field_0x11f;
};

#endif /* D_OVLP_D_OVLP_FADE3_H */