Skip to content

Commit 64863b5

Browse files
committed
d_a_obj_stopper matching
1 parent d7a8fb9 commit 64863b5

File tree

3 files changed

+526
-913
lines changed

3 files changed

+526
-913
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2072,7 +2072,7 @@ def MatchingFor(*versions):
20722072
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ss_item"),
20732073
ActorRel(NonMatching, "d_a_obj_stairBlock"),
20742074
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stone"),
2075-
ActorRel(NonMatching, "d_a_obj_stopper"),
2075+
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stopper"),
20762076
ActorRel(NonMatching, "d_a_obj_stopper2"),
20772077
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_suisya"),
20782078
ActorRel(NonMatching, "d_a_obj_sw"),

include/d/actor/d_a_obj_stopper.h

Lines changed: 63 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
#ifndef D_A_OBJ_STOPPER_H
22
#define D_A_OBJ_STOPPER_H
33

4+
#include "d/d_bg_s_acch.h"
5+
#include "d/d_bg_s_movebg_actor.h"
6+
#include "d/d_cc_d.h"
7+
#include "d/d_particle.h"
48
#include "dolphin/types.h"
5-
#include "f_op/f_op_actor.h"
9+
#include "f_op/f_op_actor_mng.h"
610

711
/**
812
* @ingroup actors-objects
@@ -12,7 +16,7 @@
1216
* @details
1317
*
1418
*/
15-
class daObjStopper_c : public fopAc_ac_c {
19+
class daObjStopper_c : public dBgS_MoveBgActor {
1620
public:
1721
enum ActionType {
1822
ACTION_WAIT,
@@ -27,10 +31,10 @@ class daObjStopper_c : public fopAc_ac_c {
2731

2832
/* 80CECF34 */ void initBaseMtx();
2933
/* 80CED024 */ void setBaseMtx();
30-
/* 80CED0B8 */ void Create();
31-
/* 80CED20C */ void CreateHeap();
32-
/* 80CED258 */ void create();
33-
/* 80CED6BC */ void Execute(f32 (**)[3][4]);
34+
/* 80CED0B8 */ int Create();
35+
/* 80CED20C */ int CreateHeap();
36+
/* 80CED258 */ int create();
37+
/* 80CED6BC */ int Execute(f32 (**)[3][4]);
3438
/* 80CED708 */ void action();
3539
/* 80CED824 */ void actionWait();
3640
/* 80CEDA24 */ void actionWaitOrderEvent();
@@ -43,17 +47,65 @@ class daObjStopper_c : public fopAc_ac_c {
4347
/* 80CEE148 */ void hint_action1();
4448
/* 80CEE5D0 */ void hint_action2();
4549
/* 80CEEA28 */ void hint_action3();
46-
/* 80CEECFC */ void Draw();
47-
/* 80CEED60 */ void Delete();
50+
/* 80CEECFC */ int Draw();
51+
/* 80CEED60 */ int Delete();
4852

4953
void setOpen() { mAction = ACTION_WAIT_CLOSE; }
50-
void setAction(u8 action) { mAction = action; }
54+
void setAction(ActionType action) { mAction = action; }
5155
void startClose() { setAction(ACTION_CLOSE_INIT); }
56+
u8 getEventNo() { return fopAcM_GetParamBit(this, 16, 8); }
57+
u8 getEventNo2() { return fopAcM_GetParamBit(this, 24, 8); }
58+
u16 getEventNo3() { return field_0x9f8 & 0xff; }
59+
u8 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
60+
u8 getSwNo2() { return fopAcM_GetParamBit(this, 8, 8); }
5261

5362
private:
54-
/* 0x568 */ u8 field_0x568[0x93c - 0x568];
63+
/* 0x5A0 */ u8 field_0x5a0[8]; // unused
64+
/* 0x5A8 */ J3DModel* mpModel;
65+
/* 0x5AC */ dBgS_ObjAcch mAcch;
66+
/* 0x784 */ dBgS_AcchCir mAcchCir;
67+
/* 0x7C4 */ dCcD_Stts field_0x7c4; // unused
68+
/* 0x800 */ dCcD_Cyl field_0x800; // unused
5569
/* 0x93C */ u8 mAction;
56-
/* 0x93D */ u8 field_0x93d[0xa00 - 0x93d];
70+
/* 0x93D */ u8 field_0x93d;
71+
/* 0x93E */ u8 field_0x93e[6]; // unused
72+
/* 0x944 */ s16 mEventIDs[3];
73+
/* 0x94A */ u8 mMapToolIDs[3];
74+
/* 0x94D */ u8 field_0x94d;
75+
/* 0x94E */ u8 field_0x94e;
76+
/* 0x94F */ u8 field_0x94f; // unused
77+
/* 0x950 */ f32 field_0x950;
78+
/* 0x954 */ u16 field_0x954;
79+
/* 0x956 */ u16 field_0x956;
80+
/* 0x958 */ f32 field_0x958;
81+
/* 0x95C */ u8 field_0x95c;
82+
/* 0x95D */ u8 field_0x95d;
83+
/* 0x95E */ u8 field_0x95e;
84+
/* 0x95F */ u8 field_0x95f;
85+
/* 0x960 */ s16 field_0x960;
86+
/* 0x962 */ u8 field_0x962[2]; // unused
87+
/* 0x964 */ f32 field_0x964;
88+
/* 0x968 */ f32 field_0x968;
89+
/* 0x96C */ f32 field_0x96c;
90+
/* 0x970 */ f32 field_0x970;
91+
/* 0x974 */ f32 field_0x974;
92+
/* 0x978 */ f32 field_0x978;
93+
/* 0x97C */ s16 field_0x97c;
94+
/* 0x97E */ s16 field_0x97e;
95+
/* 0x980 */ s16 field_0x980;
96+
/* 0x982 */ s16 field_0x982;
97+
/* 0x984 */ dPa_followEcallBack field_0x984[2];
98+
/* 0x9AC */ dPa_followEcallBack field_0x9ac[1];
99+
/* 0x9C0 */ dPa_followEcallBack field_0x9c0[2];
100+
/* 0x9E8 */ s16 field_0x9e8;
101+
/* 0x9EA */ s16 field_0x9ea;
102+
/* 0x9EC */ s16 field_0x9ec;
103+
/* 0x9EE */ s16 field_0x9ee;
104+
/* 0x9F0 */ csXyz field_0x9f0;
105+
/* 0x9F6 */ s16 field_0x9f6;
106+
/* 0x9F8 */ u16 field_0x9f8;
107+
/* 0x9FA */ s16 field_0x9fa;
108+
/* 0x9FC */ u8 field_0x9fc;
57109
};
58110

59111
STATIC_ASSERT(sizeof(daObjStopper_c) == 0xA00);

0 commit comments

Comments
 (0)