Skip to content

Commit c33ddb3

Browse files
authored
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
1 parent 3f67b00 commit c33ddb3

File tree

3 files changed

+254
-280
lines changed

3 files changed

+254
-280
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2053,7 +2053,7 @@ def MatchingFor(*versions):
20532053
ActorRel(NonMatching, "d_a_obj_scannon"),
20542054
ActorRel(NonMatching, "d_a_obj_scannon_crs"),
20552055
ActorRel(NonMatching, "d_a_obj_scannon_ten"),
2056-
ActorRel(NonMatching, "d_a_obj_sekidoor"),
2056+
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sekidoor"),
20572057
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_sekizo"),
20582058
ActorRel(NonMatching, "d_a_obj_sekizoa"),
20592059
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_shield"),

include/d/actor/d_a_obj_sekidoor.h

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
#ifndef D_A_OBJ_SEKIDOOR_H
22
#define D_A_OBJ_SEKIDOOR_H
33

4+
#include "d/d_bg_s_movebg_actor.h"
5+
#include "SSystem/SComponent/c_phase.h"
6+
#include "d/d_com_inf_game.h"
47
#include "f_op/f_op_actor_mng.h"
58

69
/**
@@ -11,30 +14,44 @@
1114
* @details
1215
*
1316
*/
14-
class daObj_SekiDoor_c : public fopAc_ac_c {
17+
class daObj_SekiDoor_c : public dBgS_MoveBgActor {
1518
public:
16-
/* 80CCD02C */ void create();
17-
/* 80CCD154 */ void CreateHeap();
18-
/* 80CCD1F0 */ void Create();
19-
/* 80CCD23C */ void Delete();
20-
/* 80CCD290 */ void Execute(f32 (**)[3][4]);
21-
/* 80CCD538 */ void Draw();
19+
/* 80CCD02C */ int create();
20+
/* 80CCD154 */ virtual int CreateHeap();
21+
/* 80CCD1F0 */ virtual int Create();
22+
/* 80CCD23C */ virtual int Delete();
23+
/* 80CCD290 */ virtual int Execute(Mtx**);
24+
/* 80CCD538 */ virtual int Draw();
2225
/* 80CCD5DC */ void evtSkip();
2326
/* 80CCD64C */ void setPrtcls();
2427
/* 80CCD810 */ void initBaseMtx();
2528
/* 80CCD84C */ void setBaseMtx();
2629

30+
u16 getBitSW() { return (fopAcM_GetParam(this) & 0xff); }
31+
void open() { mOpening = true; }
32+
bool chkDestroy() { return (mDestroyed == true); }
33+
2734
private:
28-
/* 0x568 */ u8 field_0x568[0x5d8 - 0x568];
35+
/* 0x5A0 */ s32 field_0x5A0;
36+
/* 0x5A4 */ request_of_phase_process_class mPhaseReq;
37+
/* 0x5AC */ J3DModel* mpModel;
38+
/* 0x5B0 */ csXyz mRotation;
39+
/* 0x5B8 */ int mFrameCounter;
40+
/* 0x5BC */ float mDoorPosY;
41+
/* 0x5C0 */ s16 mOpenSpeed;
42+
/* 0x5C4 */ u32 mpEmitters[4];
43+
/* 0x5D4 */ u8 mDestroyed;
44+
/* 0x5D5 */ u8 mOpening;
45+
/* 0x5D6 */ u8 mBitSW;
2946
};
3047

3148
STATIC_ASSERT(sizeof(daObj_SekiDoor_c) == 0x5d8);
3249

3350
class daObj_SekiDoor_Param_c {
3451
public:
35-
/* 80CCD9AC */ ~daObj_SekiDoor_Param_c();
52+
/* 80CCD9AC */ virtual ~daObj_SekiDoor_Param_c() {};
3653

37-
static u8 const m[1 + 3 /* padding */];
54+
static u8 const m;
3855
};
3956

4057

0 commit comments

Comments
 (0)