11#ifndef D_A_OBJ_GOGATE_H
22#define D_A_OBJ_GOGATE_H
33
4+ #include " SSystem/SComponent/c_phase.h"
5+ #include " d/d_bg_s_movebg_actor.h"
46#include " f_op/f_op_actor_mng.h"
7+ #include " m_Do/m_Do_hostIO.h"
58
69/* *
710 * @ingroup actors-objects
1114 * @details
1215 *
1316 */
14- class daGoGate_c : public fopAc_ac_c {
17+ class daGoGate_c : public dBgS_MoveBgActor {
1518public:
19+ enum Mode {
20+ MODE_WAIT = 0 ,
21+ MODE_OPEN = 1 ,
22+ MODE_CLOSE = 2 ,
23+ };
24+
1625 /* 80BFD724 */ void setBaseMtx ();
17- /* 80BFD7C0 */ void CreateHeap ();
18- /* 80BFD82C */ void create ();
19- /* 80BFD984 */ void Execute (f32 (**)[3][4] );
26+ /* 80BFD7C0 */ int CreateHeap ();
27+ /* 80BFD82C */ cPhs__Step create ();
28+ /* 80BFD984 */ int Execute (Mtx** );
2029 /* 80BFD9D4 */ void moveGate ();
2130 /* 80BFDAD8 */ void init_modeWait ();
2231 /* 80BFDAE4 */ void modeWait ();
@@ -25,20 +34,36 @@ class daGoGate_c : public fopAc_ac_c {
2534 /* 80BFDC04 */ void init_modeMoveClose ();
2635 /* 80BFDC10 */ void modeMoveClose ();
2736 /* 80BFDD20 */ void setSe ();
28- /* 80BFDDDC */ void Draw ();
29- /* 80BFDE80 */ void Delete ();
37+ /* 80BFDDDC */ int Draw ();
38+ /* 80BFDE80 */ int Delete ();
39+
40+ u32 getLR () { return fopAcM_GetParamBit (this , 8 , 8 ); }
41+ u32 getSw () { return fopAcM_GetParamBit (this , 0 , 8 ); }
3042
3143private:
32- /* 0x568 */ u8 field_0x568[0x5b8 - 0x568 ];
44+ /* 0x5A0 */ request_of_phase_process_class mPhase ;
45+ /* 0x5A8 */ J3DModel* mpModel;
46+ /* 0x5AC */ u8 mMode ;
47+ /* 0x5AD */ u8 mSw ;
48+ /* 0x5AE */ u8 mOpen ;
49+ /* 0x5AF */ u8 mLR ;
50+ /* 0x5B0 */ f32 field_0x5b0;
51+ /* 0x5B4 */ f32 field_0x5b4;
3352};
3453
3554STATIC_ASSERT (sizeof (daGoGate_c) == 0x5b8);
3655
37- class daGoGate_HIO_c {
56+ class daGoGate_HIO_c : public mDoHIO_entry_c {
3857public:
3958 /* 80BFD6AC */ daGoGate_HIO_c();
40- /* 80BFDF3C */ ~daGoGate_HIO_c ();
59+ /* 80BFDF3C */ virtual ~daGoGate_HIO_c () {}
60+
61+ void genMessage (JORMContext*);
62+
63+ /* 0x8 */ f32 mSpeed ;
64+ /* 0xc */ u8 mShockStrength ;
4165};
4266
67+ STATIC_ASSERT (sizeof (daGoGate_HIO_c) == 12);
4368
4469#endif /* D_A_OBJ_GOGATE_H */
0 commit comments