Lv5floorboard, Lv5icewall, obj_lv5swice, obj_lv5ychndlr done (#2175)

* lv5floorboard done

* obj_lv5icewall done

* remove asm

* obj_lv5swice done

* obj_lv5ychndlr done
This commit is contained in:
TakaRikka
2024-07-10 07:30:02 -07:00
committed by GitHub
parent 08c14024b9
commit 6b8fda60f3
107 changed files with 1233 additions and 6311 deletions
+4
View File
@@ -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(); }
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
@@ -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;
};
@@ -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;
};
@@ -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;
};
@@ -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);