diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2024-07-10 07:30:02 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-10 17:30:02 +0300 |
| commit | 6b8fda60f32d4a8ee2a03b97fdd3d910b764d2e2 (patch) | |
| tree | 08e70fe8fef8489dbd20af722600bcd2d626e0ee /include | |
| parent | 08c14024b9a7cc1027fecd6e8b70b33de1322a38 (diff) | |
Lv5floorboard, Lv5icewall, obj_lv5swice, obj_lv5ychndlr done (#2175)
* lv5floorboard done
* obj_lv5icewall done
* remove asm
* obj_lv5swice done
* obj_lv5ychndlr done
Diffstat (limited to 'include')
| -rw-r--r-- | include/JSystem/JParticle/JPAEmitter.h | 4 | ||||
| -rw-r--r-- | include/d/a/d_a_alink.h | 2 | ||||
| -rw-r--r-- | include/d/a/d_a_player.h | 2 | ||||
| -rw-r--r-- | include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h | 43 | ||||
| -rw-r--r-- | include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h | 52 | ||||
| -rw-r--r-- | include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h | 42 | ||||
| -rw-r--r-- | include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h | 35 |
7 files changed, 135 insertions, 45 deletions
diff --git a/include/JSystem/JParticle/JPAEmitter.h b/include/JSystem/JParticle/JPAEmitter.h index c82839360f..5606837b6f 100644 --- a/include/JSystem/JParticle/JPAEmitter.h +++ b/include/JSystem/JParticle/JPAEmitter.h @@ -161,6 +161,10 @@ public: mGlobalPScl.set(mGlobalScl.x, mGlobalScl.y); } + void setLocalScale(const JGeometry::TVec3<f32>& scale) { + mLocalScl.set(scale); + } + f32 get_r_f() { return mRndm.get_rndm_f(); } f32 get_r_zp() { return mRndm.get_rndm_zp(); } f32 get_r_zh() { return mRndm.get_rndm_zh(); } diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index cb76aa13c5..5087638ad4 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -3078,7 +3078,7 @@ public: virtual bool checkSpinnerPathMove(); virtual bool checkSpinnerTriggerAttack(); virtual void onSpinnerPathForceRemove(); - virtual s16 getIronBallBgHit() const; + virtual int getIronBallBgHit() const; virtual cXyz* getIronBallCenterPos(); virtual bool checkCanoeFishingGetLeft() const; virtual bool checkCanoeFishingGetRight() const; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index a0515a0524..7ccf682043 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -674,7 +674,7 @@ public: virtual bool checkSpinnerPathMove(); virtual bool checkSpinnerTriggerAttack(); virtual void onSpinnerPathForceRemove(); - virtual s16 getIronBallBgHit() const; + virtual int getIronBallBgHit() const; virtual cXyz* getIronBallCenterPos(); virtual bool checkCanoeFishingGetLeft() const; virtual bool checkCanoeFishingGetRight() const; diff --git a/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h b/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h index 229b639e0a..45b7bd50c2 100644 --- a/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h +++ b/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h @@ -2,6 +2,8 @@ #define D_A_OBJ_LV5FLOORBOARD_H #include "f_op/f_op_actor_mng.h" +#include "d/bg/d_bg_s_movebg_actor.h" +#include "d/cc/d_cc_d.h" /** * @ingroup actors-objects @@ -11,33 +13,52 @@ * @details * */ -class daFlorBoad_c : public fopAc_ac_c { +class daFlorBoad_c : public dBgS_MoveBgActor { public: + enum daFlorBoad_MODE { + MODE_WAIT, + MODE_BREAK, + }; + /* 80C6A6FC */ void setBaseMtx(); - /* 80C6A784 */ void CreateHeap(); - /* 80C6A7F0 */ void create(); - /* 80C6AAAC */ void Execute(f32 (**)[3][4]); + /* 80C6A7F0 */ int create(); /* 80C6AB04 */ void procMain(); /* 80C6AB90 */ void init_modeWait(); /* 80C6ABAC */ void modeWait(); /* 80C6AC9C */ void init_modeBreak(); /* 80C6AD40 */ void modeBreak(); - /* 80C6AEB0 */ void Draw(); - /* 80C6AF54 */ void Delete(); - static u8 const mCcDObjInfo[48]; - static u8 mCcDCyl[68]; + /* 80C6A784 */ virtual int CreateHeap(); + /* 80C6AAAC */ virtual int Execute(Mtx**); + /* 80C6AEB0 */ virtual int Draw(); + /* 80C6AF54 */ virtual int Delete(); + + int getSwBit1() { return fopAcM_GetParamBit(this, 0, 8); } + + static const dCcD_SrcGObjInf mCcDObjInfo; + static dCcD_SrcCyl mCcDCyl; private: - /* 0x568 */ u8 field_0x568[0x734 - 0x568]; + /* 0x5A0 */ dCcD_Stts mCcStts; + /* 0x5DC */ dCcD_Cyl mCcCyl; + /* 0x718 */ request_of_phase_process_class mPhase; + /* 0x720 */ J3DModel* mpModel; + /* 0x724 */ u8 mMode; + /* 0x725 */ u8 field_0x725; + /* 0x726 */ u8 mSwBit1; + /* 0x727 */ u8 field_0x727[0x734 - 0x727]; }; STATIC_ASSERT(sizeof(daFlorBoad_c) == 0x734); -class daFlorBoad_HIO_c { +class daFlorBoad_HIO_c : public fOpAcm_HIO_entry_c { public: /* 80C6A60C */ daFlorBoad_HIO_c(); - /* 80C6B058 */ ~daFlorBoad_HIO_c(); + /* 80C6B058 */ virtual ~daFlorBoad_HIO_c() {} + + /* 0x04 */ cXyz field_0x4; + /* 0x10 */ u8 field_0x10; + /* 0x11 */ u8 field_0x11; }; diff --git a/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h b/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h index 1c42a39300..a65a3bfa1b 100644 --- a/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h +++ b/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h @@ -2,6 +2,8 @@ #define D_A_OBJ_LV5ICEWALL_H #include "f_op/f_op_actor_mng.h" +#include "d/bg/d_bg_s_movebg_actor.h" +#include "d/cc/d_cc_d.h" /** * @ingroup actors-objects @@ -11,33 +13,61 @@ * @details * */ -class daIceWall_c : public fopAc_ac_c { +class daIceWall_c : public dBgS_MoveBgActor { public: + enum daIceWall_MODE { + MODE_WAIT, + MODE_BREAK, + }; + /* 80C6B51C */ void setBaseMtx(); - /* 80C6B5E4 */ void CreateHeap(); - /* 80C6B69C */ void create(); - /* 80C6BB60 */ void Execute(f32 (**)[3][4]); + /* 80C6B69C */ int create(); /* 80C6BBC4 */ void procMain(); /* 80C6BC50 */ void init_modeWait(); /* 80C6BC6C */ void modeWait(); /* 80C6C170 */ void init_modeBreak(); /* 80C6C1C0 */ void modeBreak(); - /* 80C6C374 */ void Draw(); - /* 80C6C44C */ void Delete(); - static u8 const mCcDObjInfo[48]; - static u8 mCcDCyl[68]; + /* 80C6B5E4 */ virtual int CreateHeap(); + /* 80C6BB60 */ virtual int Execute(Mtx**); + /* 80C6C374 */ virtual int Draw(); + /* 80C6C44C */ virtual int Delete(); + + int getSwBit1() { return fopAcM_GetParamBit(this, 0, 8); } + + int getScaleX() { return fopAcM_GetParamBit(this, 0x10, 5); } + int getScaleY() { return fopAcM_GetParamBit(this, 0x15, 5); } + int getScaleZ() { return fopAcM_GetParamBit(this, 0x1A, 5); } + + static const dCcD_SrcGObjInf mCcDObjInfo; + static dCcD_SrcCyl mCcDCyl; private: - /* 0x568 */ u8 field_0x568[0x884 - 0x568]; + /* 0x5A0 */ dCcD_Stts mCcStts; + /* 0x5DC */ dCcD_Cyl mCcCyl[2]; + /* 0x854 */ request_of_phase_process_class mPhase; + /* 0x85C */ J3DModel* mpModel[2]; + /* 0x864 */ u8 mMode; + /* 0x865 */ u8 mIsBreaking; + /* 0x866 */ u8 mHitcount; + /* 0x867 */ u8 mIsBreakSwBit; + /* 0x868 */ u8 mIsBreakingSwBit; + /* 0x86C */ cXyz mScale; + /* 0x878 */ u32 mEmitter0ID; + /* 0x87C */ u32 mEmitter1ID; + /* 0x880 */ u32 mEmitter2ID; }; STATIC_ASSERT(sizeof(daIceWall_c) == 0x884); -class daIceWall_HIO_c { +class daIceWall_HIO_c : public fOpAcm_HIO_entry_c { public: /* 80C6B42C */ daIceWall_HIO_c(); - /* 80C6C550 */ ~daIceWall_HIO_c(); + /* 80C6C550 */ virtual ~daIceWall_HIO_c() {} + + /* 0x04 */ cXyz xyz; + /* 0x10 */ u8 hitcount; + /* 0x11 */ u8 hitcount2; }; diff --git a/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h b/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h index 2281d447bb..489b33c9de 100644 --- a/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h +++ b/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h @@ -2,6 +2,8 @@ #define D_A_OBJ_LV5SWICE_H #include "f_op/f_op_actor_mng.h" +#include "d/bg/d_bg_s_movebg_actor.h" +#include "d/cc/d_cc_d.h" /** * @ingroup actors-objects @@ -11,33 +13,51 @@ * @details * */ -class daLv5SwIce_c : public fopAc_ac_c { +class daLv5SwIce_c : public dBgS_MoveBgActor { public: + enum daLv5SwIce_MODE { + MODE_WAIT, + MODE_BREAK, + }; + /* 80C6CA20 */ void setBaseMtx(); - /* 80C6CAA8 */ void CreateHeap(); - /* 80C6CB14 */ void create(); - /* 80C6CDD0 */ void Execute(f32 (**)[3][4]); + /* 80C6CB14 */ int create(); /* 80C6CE28 */ void procMain(); /* 80C6CEB4 */ void init_modeWait(); /* 80C6CED0 */ void modeWait(); /* 80C6D0F4 */ void init_modeBreak(); /* 80C6D144 */ void modeBreak(); - /* 80C6D260 */ void Draw(); - /* 80C6D314 */ void Delete(); - static u8 const mCcDObjInfo[48]; - static u8 mCcDCyl[68]; + /* 80C6CAA8 */ virtual int CreateHeap(); + /* 80C6CDD0 */ virtual int Execute(Mtx**); + /* 80C6D260 */ virtual int Draw(); + /* 80C6D314 */ virtual int Delete(); + + int getSwBit1() { return fopAcM_GetParamBit(this, 0, 8); } + + static const dCcD_SrcGObjInf mCcDObjInfo; + static dCcD_SrcCyl mCcDCyl; private: - /* 0x568 */ u8 field_0x568[0x738 - 0x568]; + /* 0x5A0 */ dCcD_Stts mCcStts; + /* 0x5DC */ dCcD_Cyl mCcCyl; + /* 0x718 */ request_of_phase_process_class mPhase; + /* 0x720 */ J3DModel* mpModel; + /* 0x724 */ u8 mMode; + /* 0x725 */ u8 mHitcount; + /* 0x726 */ u8 mSwBit1; + /* 0x728 */ u32 mEmitter0ID[2]; + /* 0x730 */ u32 mEmitter1ID[2]; }; STATIC_ASSERT(sizeof(daLv5SwIce_c) == 0x738); -class daLv5SwIce_HIO_c { +class daLv5SwIce_HIO_c : public fOpAcm_HIO_entry_c { public: /* 80C6C94C */ daLv5SwIce_HIO_c(); - /* 80C6D418 */ ~daLv5SwIce_HIO_c(); + /* 80C6D418 */ virtual ~daLv5SwIce_HIO_c() {} + + /* 0x4 */ u8 hitcount; }; diff --git a/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h b/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h index 41689cd14c..2041e6dda6 100644 --- a/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h +++ b/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h @@ -2,29 +2,44 @@ #define D_A_OBJ_LV5YCHNDLR_H #include "f_op/f_op_actor_mng.h" +#include "d/bg/d_bg_s_movebg_actor.h" +#include "d/cc/d_cc_d.h" /** * @ingroup actors-objects * @class daObjYchndlr_c - * @brief Snowpeak Ruins Chandelier (Swinging Platform?) + * @brief Snowpeak Ruins Chandelier (Swinging Platform) * * @details * */ -class daObjYchndlr_c : public fopAc_ac_c { +class daObjYchndlr_c : public dBgS_MoveBgActor, public request_of_phase_process_class { public: - /* 80C6D758 */ void create1st(); + /* 80C6D758 */ int create1st(); /* 80C6D7E0 */ void setMtx(); /* 80C6D9A8 */ void rideActor(fopAc_ac_c*); - /* 80C6DA5C */ void CreateHeap(); - /* 80C6DB5C */ void Create(); - /* 80C6DC64 */ void Execute(f32 (**)[3][4]); - /* 80C6E300 */ void Draw(); - /* 80C6E3C8 */ void Delete(); - /* 80C6E808 */ ~daObjYchndlr_c(); + + /* 80C6DA5C */ virtual int CreateHeap(); + /* 80C6DB5C */ virtual int Create(); + /* 80C6DC64 */ virtual int Execute(f32 (**)[3][4]); + /* 80C6E300 */ virtual int Draw(); + /* 80C6E3C8 */ virtual int Delete(); + /* 80C6E808 */ virtual ~daObjYchndlr_c() {} private: - /* 0x568 */ u8 field_0x568[0xca0 - 0x568]; + /* 0x5A8 */ Mtx field_0x5a8; + /* 0x5D8 */ Mtx field_0x5d8; + /* 0x608 */ J3DModel* mpChandlierModel; + /* 0x60C */ J3DModel* mpShaftModels[4]; + /* 0x61C */ s16 mShaftRotZ; + /* 0x61E */ s16 field_0x61e; + /* 0x620 */ u8 field_0x620; + /* 0x624 */ dCcD_Stts mCcStts; + /* 0x660 */ dCcD_Cyl mShaftCcCyl[4]; + /* 0xB50 */ dCcD_Cyl mCcCyl; + /* 0xC8C */ u8 field_0xc8c; + /* 0xC90 */ f32 field_0xc90; + /* 0xC94 */ cXyz mChandelierCenter; }; STATIC_ASSERT(sizeof(daObjYchndlr_c) == 0xca0); |
