Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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 @@ -1897,7 +1897,7 @@ def MatchingFor(*versions):
ActorRel(NonMatching, "d_a_obj_geyser"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_glowSphere"),
ActorRel(NonMatching, "d_a_obj_gm"),
ActorRel(NonMatching, "d_a_obj_goGate"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_goGate"),
ActorRel(NonMatching, "d_a_obj_gomikabe"),
ActorRel(NonMatching, "d_a_obj_gra2"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_graWall"),
Expand Down
43 changes: 34 additions & 9 deletions include/d/actor/d_a_obj_goGate.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
#ifndef D_A_OBJ_GOGATE_H
#define D_A_OBJ_GOGATE_H

#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"

/**
* @ingroup actors-objects
Expand All @@ -11,12 +14,18 @@
* @details
*
*/
class daGoGate_c : public fopAc_ac_c {
class daGoGate_c : public dBgS_MoveBgActor {
public:
enum Mode {
MODE_WAIT = 0,
MODE_OPEN = 1,
MODE_CLOSE = 2,
};

/* 80BFD724 */ void setBaseMtx();
/* 80BFD7C0 */ void CreateHeap();
/* 80BFD82C */ void create();
/* 80BFD984 */ void Execute(f32 (**)[3][4]);
/* 80BFD7C0 */ int CreateHeap();
/* 80BFD82C */ cPhs__Step create();
/* 80BFD984 */ int Execute(Mtx**);
/* 80BFD9D4 */ void moveGate();
/* 80BFDAD8 */ void init_modeWait();
/* 80BFDAE4 */ void modeWait();
Expand All @@ -25,20 +34,36 @@ class daGoGate_c : public fopAc_ac_c {
/* 80BFDC04 */ void init_modeMoveClose();
/* 80BFDC10 */ void modeMoveClose();
/* 80BFDD20 */ void setSe();
/* 80BFDDDC */ void Draw();
/* 80BFDE80 */ void Delete();
/* 80BFDDDC */ int Draw();
/* 80BFDE80 */ int Delete();

u32 getLR() { return fopAcM_GetParamBit(this, 8, 8); }
u32 getSw() { return fopAcM_GetParamBit(this, 0, 8); }

private:
/* 0x568 */ u8 field_0x568[0x5b8 - 0x568];
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
/* 0x5AD */ u8 mSw;
/* 0x5AE */ u8 mOpen;
/* 0x5AF */ u8 mLR;
/* 0x5B0 */ f32 field_0x5b0;
/* 0x5B4 */ f32 field_0x5b4;
};

STATIC_ASSERT(sizeof(daGoGate_c) == 0x5b8);

class daGoGate_HIO_c {
class daGoGate_HIO_c : public mDoHIO_entry_c {
public:
/* 80BFD6AC */ daGoGate_HIO_c();
/* 80BFDF3C */ ~daGoGate_HIO_c();
/* 80BFDF3C */ virtual ~daGoGate_HIO_c() {}

void genMessage(JORMContext*);

/* 0x8 */ f32 mSpeed;
/* 0xc */ u8 mShockStrength;
};

STATIC_ASSERT(sizeof(daGoGate_HIO_c) == 12);

#endif /* D_A_OBJ_GOGATE_H */
Loading