Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -2072,7 +2072,7 @@ def MatchingFor(*versions):
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ss_item"),
ActorRel(NonMatching, "d_a_obj_stairBlock"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stone"),
ActorRel(NonMatching, "d_a_obj_stopper"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_stopper"),
ActorRel(NonMatching, "d_a_obj_stopper2"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_suisya"),
ActorRel(NonMatching, "d_a_obj_sw"),
Expand Down
74 changes: 63 additions & 11 deletions include/d/actor/d_a_obj_stopper.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
#ifndef D_A_OBJ_STOPPER_H
#define D_A_OBJ_STOPPER_H

#include "d/d_bg_s_acch.h"
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "d/d_particle.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"

/**
* @ingroup actors-objects
Expand All @@ -12,7 +16,7 @@
* @details
*
*/
class daObjStopper_c : public fopAc_ac_c {
class daObjStopper_c : public dBgS_MoveBgActor {
public:
enum ActionType {
ACTION_WAIT,
Expand All @@ -27,10 +31,10 @@ class daObjStopper_c : public fopAc_ac_c {

/* 80CECF34 */ void initBaseMtx();
/* 80CED024 */ void setBaseMtx();
/* 80CED0B8 */ void Create();
/* 80CED20C */ void CreateHeap();
/* 80CED258 */ void create();
/* 80CED6BC */ void Execute(f32 (**)[3][4]);
/* 80CED0B8 */ int Create();
/* 80CED20C */ int CreateHeap();
/* 80CED258 */ int create();
/* 80CED6BC */ int Execute(f32 (**)[3][4]);
/* 80CED708 */ void action();
/* 80CED824 */ void actionWait();
/* 80CEDA24 */ void actionWaitOrderEvent();
Expand All @@ -43,17 +47,65 @@ class daObjStopper_c : public fopAc_ac_c {
/* 80CEE148 */ void hint_action1();
/* 80CEE5D0 */ void hint_action2();
/* 80CEEA28 */ void hint_action3();
/* 80CEECFC */ void Draw();
/* 80CEED60 */ void Delete();
/* 80CEECFC */ int Draw();
/* 80CEED60 */ int Delete();

void setOpen() { mAction = ACTION_WAIT_CLOSE; }
void setAction(u8 action) { mAction = action; }
void setAction(ActionType action) { mAction = action; }
void startClose() { setAction(ACTION_CLOSE_INIT); }
u8 getEventNo() { return fopAcM_GetParamBit(this, 16, 8); }
u8 getEventNo2() { return fopAcM_GetParamBit(this, 24, 8); }
u16 getEventNo3() { return field_0x9f8 & 0xff; }
u8 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwNo2() { return fopAcM_GetParamBit(this, 8, 8); }

private:
/* 0x568 */ u8 field_0x568[0x93c - 0x568];
/* 0x5A0 */ u8 field_0x5a0[8]; // unused
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dBgS_ObjAcch mAcch;
/* 0x784 */ dBgS_AcchCir mAcchCir;
/* 0x7C4 */ dCcD_Stts field_0x7c4; // unused
/* 0x800 */ dCcD_Cyl field_0x800; // unused
/* 0x93C */ u8 mAction;
/* 0x93D */ u8 field_0x93d[0xa00 - 0x93d];
/* 0x93D */ u8 field_0x93d;
/* 0x93E */ u8 field_0x93e[6]; // unused
/* 0x944 */ s16 mEventIDs[3];
/* 0x94A */ u8 mMapToolIDs[3];
/* 0x94D */ u8 field_0x94d;
/* 0x94E */ u8 field_0x94e;
/* 0x94F */ u8 field_0x94f; // unused
/* 0x950 */ f32 field_0x950;
/* 0x954 */ u16 field_0x954;
/* 0x956 */ u16 field_0x956;
/* 0x958 */ f32 field_0x958;
/* 0x95C */ u8 field_0x95c;
/* 0x95D */ u8 field_0x95d;
/* 0x95E */ u8 field_0x95e;
/* 0x95F */ u8 field_0x95f;
/* 0x960 */ s16 field_0x960;
/* 0x962 */ u8 field_0x962[2]; // unused
/* 0x964 */ f32 field_0x964;
/* 0x968 */ f32 field_0x968;
/* 0x96C */ f32 field_0x96c;
/* 0x970 */ f32 field_0x970;
/* 0x974 */ f32 field_0x974;
/* 0x978 */ f32 field_0x978;
/* 0x97C */ s16 field_0x97c;
/* 0x97E */ s16 field_0x97e;
/* 0x980 */ s16 field_0x980;
/* 0x982 */ s16 field_0x982;
/* 0x984 */ dPa_followEcallBack field_0x984[2];
/* 0x9AC */ dPa_followEcallBack field_0x9ac[1];
/* 0x9C0 */ dPa_followEcallBack field_0x9c0[2];
/* 0x9E8 */ s16 field_0x9e8;
/* 0x9EA */ s16 field_0x9ea;
/* 0x9EC */ s16 field_0x9ec;
/* 0x9EE */ s16 field_0x9ee;
/* 0x9F0 */ csXyz field_0x9f0;
/* 0x9F6 */ s16 field_0x9f6;
/* 0x9F8 */ u16 field_0x9f8;
/* 0x9FA */ s16 field_0x9fa;
/* 0x9FC */ u8 field_0x9fc;
};

STATIC_ASSERT(sizeof(daObjStopper_c) == 0xA00);
Expand Down
Loading