summaryrefslogtreecommitdiff
path: root/include/d/actor/d_a_obj_ohatch.h
blob: a8d1b2cf5fc90396abebfd3455e39d84a1653905 (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
#ifndef D_A_OBJ_OHATCH_H
#define D_A_OBJ_OHATCH_H

#include "f_op/f_op_actor.h"
#include "d/d_a_obj.h"

class dBgW;

class daObjOhatch_c : public fopAc_ac_c {
    typedef void (daObjOhatch_c::*ActionFunc)();

    enum Param_e {
        PRM_SWSAVE_W = 8,
        PRM_SWSAVE_S = 0,
    };

public:
    s32 param_get_swSave() const { return daObj::PrmAbstract(this, PRM_SWSAVE_W, PRM_SWSAVE_S); }

    void set_mtx();
    void init_mtx();
    static BOOL solidHeapCB(fopAc_ac_c*);
    bool create_heap();
    cPhs_State _create();
    bool _delete();
    void close_wait_act_proc();
    void tremor_act_proc();
    void open_act_proc();
    void vibrate_act_proc();
    void open_wait_act_proc();
    bool _execute();
    bool _draw();

public:
    /* 0x290 */ request_of_phase_process_class mPhase;
    /* 0x298 */ J3DModel* mModel;
    /* 0x29C */ s32 m29C;
    /* 0x2A0 */ dBgW* mBgW1;
    /* 0x2A4 */ dBgW* mBgW2;
    /* 0x2A8 */ Mtx m2A8;
    /* 0x2D8 */ s16 m2D8;
    /* 0x2DC */ ActionFunc mActionFunc;
    /* 0x2E8 */ f32 m2E8;
    /* 0x2EC */ s32 m2EC;
    /* 0x2F0 */ s16 m2F0;
    /* 0x2F2 */ s16 m2F2;
}; // size = 0x2F4

#endif /* D_A_OBJ_OHATCH_H */