summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2024-07-10 07:30:02 -0700
committerGitHub <noreply@github.com>2024-07-10 17:30:02 +0300
commit6b8fda60f32d4a8ee2a03b97fdd3d910b764d2e2 (patch)
tree08e70fe8fef8489dbd20af722600bcd2d626e0ee /include
parent08c14024b9a7cc1027fecd6e8b70b33de1322a38 (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.h4
-rw-r--r--include/d/a/d_a_alink.h2
-rw-r--r--include/d/a/d_a_player.h2
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h52
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h42
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h35
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);