Skip to content

Commit 3079971

Browse files
authored
d_a_obj_lv6SzGate matching (#2420)
1 parent 6637765 commit 3079971

File tree

3 files changed

+244
-407
lines changed

3 files changed

+244
-407
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2011,7 +2011,7 @@ def MatchingFor(*versions) -> bool:
20112011
ActorRel(NonMatching, "d_a_obj_lv6FurikoTrap"),
20122012
ActorRel(NonMatching, "d_a_obj_lv6Lblock"),
20132013
ActorRel(NonMatching, "d_a_obj_lv6SwGate"),
2014-
ActorRel(NonMatching, "d_a_obj_lv6SzGate"),
2014+
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv6SzGate"),
20152015
ActorRel(NonMatching, "d_a_obj_lv6Tenbin"),
20162016
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv6TogeRoll"),
20172017
ActorRel(NonMatching, "d_a_obj_lv6TogeTrap"),
Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#ifndef D_A_OBJ_LV6SZGATE_H
22
#define D_A_OBJ_LV6SZGATE_H
33

4+
#include "d/d_bg_s_movebg_actor.h"
45
#include "f_op/f_op_actor_mng.h"
56

67
/**
@@ -11,12 +12,21 @@
1112
* @details
1213
*
1314
*/
14-
class daLv6SzGate_c : public fopAc_ac_c {
15+
class daLv6SzGate_c : public dBgS_MoveBgActor {
1516
public:
17+
enum Mode {
18+
MODE_WAIT = 0,
19+
MODE_OPENWAIT0 = 1,
20+
MODE_OPENWAIT = 2,
21+
MODE_OPEN = 3,
22+
MODE_CLOSE = 4,
23+
MODE_END = 5,
24+
};
25+
1626
/* 80C75900 */ void setBaseMtx();
17-
/* 80C75A54 */ void CreateHeap();
18-
/* 80C75C0C */ void create();
19-
/* 80C75E18 */ void Execute(f32 (**)[3][4]);
27+
/* 80C75A54 */ int CreateHeap();
28+
/* 80C75C0C */ cPhs__Step create();
29+
/* 80C75E18 */ int Execute(Mtx**);
2030
/* 80C75E78 */ void moveGate();
2131
/* 80C75F64 */ void init_modeWait();
2232
/* 80C75F70 */ void modeWait();
@@ -29,20 +39,41 @@ class daLv6SzGate_c : public fopAc_ac_c {
2939
/* 80C7624C */ void modeClose();
3040
/* 80C76328 */ void init_modeEnd();
3141
/* 80C76344 */ void modeEnd();
32-
/* 80C7637C */ void Draw();
33-
/* 80C76490 */ void Delete();
42+
/* 80C7637C */ int Draw();
43+
/* 80C76490 */ int Delete();
44+
45+
u32 getWaitTime() { return fopAcM_GetParamBit(this, 8, 8); }
46+
u32 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
3447

3548
private:
36-
/* 0x568 */ u8 field_0x568[0x61c - 0x568];
49+
/* 0x5A0 */ request_of_phase_process_class mPhase;
50+
/* 0x5A8 */ J3DModel* field_0x5a8;
51+
/* 0x5AC */ J3DModel* field_0x5ac;
52+
/* 0x5B0 */ mDoExt_brkAnm field_0x5b0;
53+
/* 0x5C8 */ mDoExt_btkAnm field_0x5c8;
54+
/* 0x5E0 */ u8 mMode;
55+
/* 0x5E1 */ u8 field_0x5e1;
56+
/* 0x5E2 */ u8 field_0x5e2;
57+
/* 0x5E3 */ u8 field_0x5e3;
58+
/* 0x5E4 */ f32 field_0x5e4;
59+
/* 0x5E8 */ dBgW* field_0x5e8;
60+
/* 0x5EC */ Mtx mMtx;
3761
};
3862

3963
STATIC_ASSERT(sizeof(daLv6SzGate_c) == 0x61c);
4064

41-
class daLv6SzGate_HIO_c {
65+
class daLv6SzGate_HIO_c : public mDoHIO_entry_c {
4266
public:
4367
/* 80C7586C */ daLv6SzGate_HIO_c();
44-
/* 80C76584 */ ~daLv6SzGate_HIO_c();
68+
/* 80C76584 */ virtual ~daLv6SzGate_HIO_c() {};
69+
70+
/* 0x04 */ f32 mSpeed;
71+
/* 0x08 */ f32 field_0x08;
72+
/* 0x0C */ f32 field_0x0c;
73+
/* 0x10 */ f32 field_0x10;
74+
/* 0x14 */ u8 mShockStrength;
4575
};
4676

77+
STATIC_ASSERT(sizeof(daLv6SzGate_HIO_c) == 0x18);
4778

4879
#endif /* D_A_OBJ_LV6SZGATE_H */

0 commit comments

Comments
 (0)