lv7bsgate, lv8udfloor, lv9swshutter done, lv7propellery almost (#2768)

* lv7bsgate, lv8udfloor, lv9swshutter done, lv7propellery almost

* fix builds

* obj_lv6egate done
This commit is contained in:
TakaRikka
2025-11-02 22:22:25 -08:00
committed by GitHub
parent 453c8b9fbb
commit 0b181f84d4
15 changed files with 1293 additions and 1857 deletions
+21 -11
View File
@@ -2,6 +2,8 @@
#define D_A_OBJ_LV6EGATE_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
/**
* @ingroup actors-objects
@@ -11,24 +13,32 @@
* @details
*
*/
class daObjLv6EGate_c : public fopAc_ac_c {
class daObjLv6EGate_c : public dBgS_MoveBgActor, public request_of_phase_process_class {
public:
/* 80C82078 */ void create1st();
/* 80C82078 */ int create1st();
/* 80C82108 */ void setMtx();
/* 80C82178 */ bool CreateHeap();
/* 80C82180 */ void Create();
/* 80C822DC */ void offDisp();
/* 80C82330 */ void onDisp();
/* 80C82388 */ void Execute(Mtx**);
/* 80C82690 */ void Draw();
/* 80C826A0 */ void Delete();
/* 80C82A80 */ ~daObjLv6EGate_c();
private:
/* 0x568 */ u8 field_0x568[0x1038 - 0x568];
/* 80C82178 */ virtual int CreateHeap();
/* 80C82180 */ virtual int Create();
/* 80C82388 */ virtual int Execute(Mtx**);
/* 80C82690 */ virtual int Draw();
/* 80C826A0 */ virtual int Delete();
/* 80C82A80 */ virtual ~daObjLv6EGate_c() {}
int getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
int getType() { return fopAcM_GetParamBit(this, 8, 1); }
/* 0x05A8 */ Mtx field_0x5a8;
/* 0x05D8 */ Mtx field_0x5d8;
/* 0x0608 */ dCcD_Stts mCcStts;
/* 0x0644 */ dCcD_Cyl mAtCyl[8];
/* 0x1024 */ u8 mElecOff;
/* 0x1025 */ u8 field_0x1025;
/* 0x1028 */ u32 mEmtId[4];
};
STATIC_ASSERT(sizeof(daObjLv6EGate_c) == 0x1038);
#endif /* D_A_OBJ_LV6EGATE_H */
+21 -15
View File
@@ -2,6 +2,7 @@
#define D_A_OBJ_LV7BSGATE_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
/**
* @ingroup actors-objects
@@ -11,12 +12,10 @@
* @details
*
*/
class daLv7BsGate_c : public fopAc_ac_c {
class daLv7BsGate_c : public dBgS_MoveBgActor {
public:
/* 80C84930 */ void setBaseMtx();
/* 80C849CC */ void CreateHeap();
/* 80C84A4C */ void create();
/* 80C84BCC */ void Execute(Mtx**);
/* 80C84A4C */ int create();
/* 80C84C1C */ void moveGate();
/* 80C84D24 */ void init_modeWait();
/* 80C84D30 */ void modeWait();
@@ -24,20 +23,27 @@ public:
/* 80C84D40 */ void modeOpen();
/* 80C84E94 */ void init_modeClose();
/* 80C84EA0 */ void modeClose();
/* 80C84FF4 */ void Draw();
/* 80C85098 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x5bc - 0x568];
/* 80C849CC */ virtual int CreateHeap();
/* 80C84BCC */ virtual int Execute(Mtx**);
/* 80C84FF4 */ virtual int Draw();
/* 80C85098 */ virtual int Delete();
int getType() { return fopAcM_GetParamBit(this, 0, 4); }
int getSw() { return fopAcM_GetParamBit(this, 4, 8); }
int getLR() { return fopAcM_GetParamBit(this, 12, 4); }
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
/* 0x5AD */ u8 field_0x5ad;
/* 0x5AE */ u8 mType;
/* 0x5AF */ u8 mIsSwitch;
/* 0x5B0 */ u8 mLR;
/* 0x5B4 */ f32 field_0x5b4;
/* 0x5B8 */ f32 field_0x5b8;
};
STATIC_ASSERT(sizeof(daLv7BsGate_c) == 0x5bc);
class daLv7BsGate_HIO_c {
public:
/* 80C848AC */ daLv7BsGate_HIO_c();
/* 80C85164 */ ~daLv7BsGate_HIO_c();
};
#endif /* D_A_OBJ_LV7BSGATE_H */
+28 -15
View File
@@ -2,6 +2,7 @@
#define D_A_OBJ_LV7PROPELLERY_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
/**
* @ingroup actors-objects
@@ -11,12 +12,10 @@
* @details
*
*/
class daPropY_c : public fopAc_ac_c {
class daPropY_c : public dBgS_MoveBgActor {
public:
/* 80C8550C */ void setBaseMtx();
/* 80C855A4 */ void CreateHeap();
/* 80C85624 */ void create();
/* 80C85810 */ void Execute(Mtx**);
/* 80C85624 */ int create();
/* 80C85860 */ void procMain();
/* 80C859B4 */ void init_modeMoveWait();
/* 80C859C0 */ void modeMoveWait();
@@ -28,20 +27,34 @@ public:
/* 80C85B84 */ void modeMove2();
/* 80C85CAC */ void init_modeStop();
/* 80C85DD0 */ void modeStop();
/* 80C85F14 */ void Draw();
/* 80C85FB8 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x5c8 - 0x568];
/* 80C855A4 */ virtual int CreateHeap();
/* 80C85810 */ virtual int Execute(Mtx**);
/* 80C85F14 */ virtual int Draw();
/* 80C85FB8 */ virtual int Delete();
int getType() { return fopAcM_GetParamBit(this, 0, 4); }
int getSw() { return fopAcM_GetParamBit(this, 8, 8); }
int getTurnType() { return fopAcM_GetParamBit(this, 4, 4); }
int getTurnVec() { return fopAcM_GetParamBit(this, 16, 4); }
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
/* 0x5AD */ u8 mSwbit;
/* 0x5AE */ u8 mIsSwitch;
/* 0x5AF */ u8 mType;
/* 0x5B0 */ u8 mTurnType;
/* 0x5B1 */ u8 mTurnVec;
/* 0x5B2 */ s8 field_0x5b2;
/* 0x5B4 */ s16 field_0x5b4;
/* 0x5B6 */ s16 field_0x5b6;
/* 0x5B8 */ u8 mTimer;
/* 0x5BC */ f32 field_0x5bc;
/* 0x5C0 */ f32 field_0x5c0;
/* 0x5C4 */ f32 field_0x5c4;
};
STATIC_ASSERT(sizeof(daPropY_c) == 0x5c8);
class daPropY_HIO_c {
public:
/* 80C8546C */ daPropY_HIO_c();
/* 80C86084 */ ~daPropY_HIO_c();
};
#endif /* D_A_OBJ_LV7PROPELLERY_H */
+32 -16
View File
@@ -2,6 +2,7 @@
#define D_A_OBJ_LV8UDFLOOR_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
/**
* @ingroup actors-objects
@@ -11,38 +12,53 @@
* @details
*
*/
class daUdFloor_c : public fopAc_ac_c {
class daUdFloor_c : public dBgS_MoveBgActor {
public:
/* 80C8BDC8 */ void setBaseMtx();
/* 80C8BE64 */ void CreateHeap();
/* 80C8BEE4 */ void create();
/* 80C8C0DC */ void Execute(Mtx**);
/* 80C8BEE4 */ int create();
/* 80C8C12C */ void moveLift();
/* 80C8C264 */ void init_modeWait();
/* 80C8C270 */ void modeWait();
/* 80C8C274 */ void init_modeUpMoveInit();
/* 80C8C310 */ void modeUpMoveInit();
/* 80C8C354 */ void colorAnm(int);
/* 80C8C354 */ u8 colorAnm(int);
/* 80C8C5E4 */ void init_modeUpMove();
/* 80C8C68C */ void modeUpMove();
/* 80C8C7F8 */ void init_modeDownMoveInit();
/* 80C8C81C */ void modeDownMoveInit();
/* 80C8C860 */ void init_modeDownMove();
/* 80C8C8E4 */ void modeDownMove();
/* 80C8C994 */ void Draw();
/* 80C8CA78 */ void Delete();
private:
/* 0x568 */ u8 field_0x568[0x5c8 - 0x568];
/* 80C8BE64 */ virtual int CreateHeap();
/* 80C8C0DC */ virtual int Execute(Mtx**);
/* 80C8C994 */ virtual int Draw();
/* 80C8CA78 */ virtual int Delete();
u8 getModelType() { return current.angle.x & 0xFF; }
u8 getTimer() { return (current.angle.x & 0xFF00) >> 8; }
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
int getMoveHeight() { return fopAcM_GetParamBit(this, 16, 8); }
int getMoveSpeed() { return fopAcM_GetParamBit(this, 24, 8); }
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
/* 0x5B0 */ f32 field_0x5b0;
/* 0x5B4 */ f32 field_0x5b4;
/* 0x5B8 */ u8 field_0x5b8;
/* 0x5B9 */ u8 mTimer;
/* 0x5BA */ u8 field_0x5ba;
/* 0x5BB */ u8 mModelType;
/* 0x5BC */ u8 mIsSwitch;
/* 0x5BD */ u8 mColorR;
/* 0x5BE */ u8 mColorG;
/* 0x5BF */ u8 mColorB;
/* 0x5C0 */ f32 field_0x5c0;
/* 0x5C4 */ u8 field_0x5c4;
/* 0x5C5 */ u8 field_0x5c5;
};
STATIC_ASSERT(sizeof(daUdFloor_c) == 0x5c8);
class daUdFloor_HIO_c {
public:
/* 80C8BD0C */ daUdFloor_HIO_c();
/* 80C8CB44 */ ~daUdFloor_HIO_c();
};
#endif /* D_A_OBJ_LV8UDFLOOR_H */
+16 -14
View File
@@ -2,6 +2,7 @@
#define D_A_OBJ_LV9SWSHUTTER_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
/**
* @ingroup actors-objects
@@ -11,12 +12,10 @@
* @details
*
*/
class daLv9SwShutter_c : public fopAc_ac_c {
class daLv9SwShutter_c : public dBgS_MoveBgActor {
public:
/* 80C8CF38 */ void setBaseMtx();
/* 80C8CFD4 */ void CreateHeap();
/* 80C8D040 */ void create();
/* 80C8D168 */ void Execute(Mtx**);
/* 80C8D040 */ int create();
/* 80C8D1B8 */ void moveShutter();
/* 80C8D2BC */ void init_modeWait();
/* 80C8D2C8 */ void modeWait();
@@ -24,20 +23,23 @@ public:
/* 80C8D2D8 */ void modeOpen();
/* 80C8D440 */ void init_modeClose();
/* 80C8D458 */ void modeClose();
/* 80C8D5D0 */ void Draw();
/* 80C8D674 */ void Delete();
/* 80C8CFD4 */ virtual int CreateHeap();
/* 80C8D168 */ virtual int Execute(Mtx**);
/* 80C8D5D0 */ virtual int Draw();
/* 80C8D674 */ virtual int Delete();
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
private:
/* 0x568 */ u8 field_0x568[0x5b4 - 0x568];
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
/* 0x5AD */ u8 mSwbit;
/* 0x5AE */ u8 mIsSwitch;
/* 0x5B0 */ f32 field_0x5b0;
};
STATIC_ASSERT(sizeof(daLv9SwShutter_c) == 0x5b4);
class daLv9SwShutter_HIO_c {
public:
/* 80C8CEAC */ daLv9SwShutter_HIO_c();
/* 80C8D730 */ ~daLv9SwShutter_HIO_c();
};
#endif /* D_A_OBJ_LV9SWSHUTTER_H */
+1 -1
View File
@@ -42,7 +42,7 @@ enum dCcD_Material {
dCcD_MTRL_ICE,
dCcD_MTRL_WIND,
dCcD_MTRL_LIGHT,
dCcD_MTRL_UNK_5,
dCcD_MTRL_ELECTRIC,
dCcD_MTRL_UNK_6,
dCcD_MTRL_UNK_7,
};