summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorStbn-antier <99532548+Stbn-antier@users.noreply.github.com>2025-03-24 19:47:49 +0900
committerGitHub <noreply@github.com>2025-03-24 03:47:49 -0700
commitc33ddb3ac12ee1b60e77fed06fadb796aad15772 (patch)
tree406e86aa7062413276e772c889293a5796221287 /include
parent3f67b00c6e8272bba1c6156699b9a01bbd4be3bc (diff)
d_a_obj_sekidoor matching (#2344)
* Started work on d_a_obj_sekidoor, 38% match * Filled functions, rough 70% match * 76% method matching * 84% match, only setPrtcls remaining * Object 100% matching * Cleanup, remove padding * Adressed review comments * Adressed review comment
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_obj_sekidoor.h37
1 files changed, 27 insertions, 10 deletions
diff --git a/include/d/actor/d_a_obj_sekidoor.h b/include/d/actor/d_a_obj_sekidoor.h
index e938fea64c..ff2796b3b1 100644
--- a/include/d/actor/d_a_obj_sekidoor.h
+++ b/include/d/actor/d_a_obj_sekidoor.h
@@ -1,6 +1,9 @@
#ifndef D_A_OBJ_SEKIDOOR_H
#define D_A_OBJ_SEKIDOOR_H
+#include "d/d_bg_s_movebg_actor.h"
+#include "SSystem/SComponent/c_phase.h"
+#include "d/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,30 +14,44 @@
* @details
*
*/
-class daObj_SekiDoor_c : public fopAc_ac_c {
+class daObj_SekiDoor_c : public dBgS_MoveBgActor {
public:
- /* 80CCD02C */ void create();
- /* 80CCD154 */ void CreateHeap();
- /* 80CCD1F0 */ void Create();
- /* 80CCD23C */ void Delete();
- /* 80CCD290 */ void Execute(f32 (**)[3][4]);
- /* 80CCD538 */ void Draw();
+ /* 80CCD02C */ int create();
+ /* 80CCD154 */ virtual int CreateHeap();
+ /* 80CCD1F0 */ virtual int Create();
+ /* 80CCD23C */ virtual int Delete();
+ /* 80CCD290 */ virtual int Execute(Mtx**);
+ /* 80CCD538 */ virtual int Draw();
/* 80CCD5DC */ void evtSkip();
/* 80CCD64C */ void setPrtcls();
/* 80CCD810 */ void initBaseMtx();
/* 80CCD84C */ void setBaseMtx();
+ u16 getBitSW() { return (fopAcM_GetParam(this) & 0xff); }
+ void open() { mOpening = true; }
+ bool chkDestroy() { return (mDestroyed == true); }
+
private:
- /* 0x568 */ u8 field_0x568[0x5d8 - 0x568];
+ /* 0x5A0 */ s32 field_0x5A0;
+ /* 0x5A4 */ request_of_phase_process_class mPhaseReq;
+ /* 0x5AC */ J3DModel* mpModel;
+ /* 0x5B0 */ csXyz mRotation;
+ /* 0x5B8 */ int mFrameCounter;
+ /* 0x5BC */ float mDoorPosY;
+ /* 0x5C0 */ s16 mOpenSpeed;
+ /* 0x5C4 */ u32 mpEmitters[4];
+ /* 0x5D4 */ u8 mDestroyed;
+ /* 0x5D5 */ u8 mOpening;
+ /* 0x5D6 */ u8 mBitSW;
};
STATIC_ASSERT(sizeof(daObj_SekiDoor_c) == 0x5d8);
class daObj_SekiDoor_Param_c {
public:
- /* 80CCD9AC */ ~daObj_SekiDoor_Param_c();
+ /* 80CCD9AC */ virtual ~daObj_SekiDoor_Param_c() {};
- static u8 const m[1 + 3 /* padding */];
+ static u8 const m;
};