summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authormeintte <daniel_stalder@hispeed.ch>2025-05-05 14:33:17 +0200
committerGitHub <noreply@github.com>2025-05-05 15:33:17 +0300
commit30799716df96869dc63663d5378082898e5e0ea3 (patch)
treeb1cf094f51dbc2bb618a1cb53f6764e95fba41e0 /include
parent6637765454bdcf65bfbe9808ee8cf2cf2892aa61 (diff)
d_a_obj_lv6SzGate matching (#2420)
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_obj_lv6SzGate.h49
1 files changed, 40 insertions, 9 deletions
diff --git a/include/d/actor/d_a_obj_lv6SzGate.h b/include/d/actor/d_a_obj_lv6SzGate.h
index 0147df492b..023a191cea 100644
--- a/include/d/actor/d_a_obj_lv6SzGate.h
+++ b/include/d/actor/d_a_obj_lv6SzGate.h
@@ -1,6 +1,7 @@
#ifndef D_A_OBJ_LV6SZGATE_H
#define D_A_OBJ_LV6SZGATE_H
+#include "d/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,12 +12,21 @@
* @details
*
*/
-class daLv6SzGate_c : public fopAc_ac_c {
+class daLv6SzGate_c : public dBgS_MoveBgActor {
public:
+ enum Mode {
+ MODE_WAIT = 0,
+ MODE_OPENWAIT0 = 1,
+ MODE_OPENWAIT = 2,
+ MODE_OPEN = 3,
+ MODE_CLOSE = 4,
+ MODE_END = 5,
+ };
+
/* 80C75900 */ void setBaseMtx();
- /* 80C75A54 */ void CreateHeap();
- /* 80C75C0C */ void create();
- /* 80C75E18 */ void Execute(f32 (**)[3][4]);
+ /* 80C75A54 */ int CreateHeap();
+ /* 80C75C0C */ cPhs__Step create();
+ /* 80C75E18 */ int Execute(Mtx**);
/* 80C75E78 */ void moveGate();
/* 80C75F64 */ void init_modeWait();
/* 80C75F70 */ void modeWait();
@@ -29,20 +39,41 @@ public:
/* 80C7624C */ void modeClose();
/* 80C76328 */ void init_modeEnd();
/* 80C76344 */ void modeEnd();
- /* 80C7637C */ void Draw();
- /* 80C76490 */ void Delete();
+ /* 80C7637C */ int Draw();
+ /* 80C76490 */ int Delete();
+
+ u32 getWaitTime() { return fopAcM_GetParamBit(this, 8, 8); }
+ u32 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
private:
- /* 0x568 */ u8 field_0x568[0x61c - 0x568];
+ /* 0x5A0 */ request_of_phase_process_class mPhase;
+ /* 0x5A8 */ J3DModel* field_0x5a8;
+ /* 0x5AC */ J3DModel* field_0x5ac;
+ /* 0x5B0 */ mDoExt_brkAnm field_0x5b0;
+ /* 0x5C8 */ mDoExt_btkAnm field_0x5c8;
+ /* 0x5E0 */ u8 mMode;
+ /* 0x5E1 */ u8 field_0x5e1;
+ /* 0x5E2 */ u8 field_0x5e2;
+ /* 0x5E3 */ u8 field_0x5e3;
+ /* 0x5E4 */ f32 field_0x5e4;
+ /* 0x5E8 */ dBgW* field_0x5e8;
+ /* 0x5EC */ Mtx mMtx;
};
STATIC_ASSERT(sizeof(daLv6SzGate_c) == 0x61c);
-class daLv6SzGate_HIO_c {
+class daLv6SzGate_HIO_c : public mDoHIO_entry_c {
public:
/* 80C7586C */ daLv6SzGate_HIO_c();
- /* 80C76584 */ ~daLv6SzGate_HIO_c();
+ /* 80C76584 */ virtual ~daLv6SzGate_HIO_c() {};
+
+ /* 0x04 */ f32 mSpeed;
+ /* 0x08 */ f32 field_0x08;
+ /* 0x0C */ f32 field_0x0c;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ u8 mShockStrength;
};
+STATIC_ASSERT(sizeof(daLv6SzGate_HIO_c) == 0x18);
#endif /* D_A_OBJ_LV6SZGATE_H */