diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2025-09-16 07:31:37 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-16 17:31:37 +0300 |
| commit | e931b1fb7967ef3419945c1d7a327c8be3879f50 (patch) | |
| tree | 1a5435bf365540747ad43718617c5537d91396bd /include | |
| parent | a8136496c7c0e35daf5e320eceb6ad745df1068a (diff) | |
swpush5 / bhashi done (#2663)
* swpush5 done
* bhashi done
* gptaru done
Diffstat (limited to 'include')
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DModel.h | 6 | ||||
| -rw-r--r-- | include/d/actor/d_a_b_mgn.h | 1 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_bhashi.h | 65 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_gpTaru.h | 65 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_swpush5.h | 43 |
5 files changed, 134 insertions, 46 deletions
diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index b21abd212f..fadafe7768 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -98,8 +98,8 @@ public: Mtx33* getNrmMtxPtr() { return mMtxBuffer->getNrmMtxPtr(); } Mtx* getDrawMtxPtr() { return mMtxBuffer->getDrawMtxPtr(); } void setBaseScale(const Vec& scale) { mBaseScale = scale; } - void setUserArea(u32 area) { mUserArea = area; } - u32 getUserArea() const { return mUserArea; } + void setUserArea(uintptr_t area) { mUserArea = area; } + uintptr_t getUserArea() const { return mUserArea; } Vec* getBaseScale() { return &mBaseScale; } void setAnmMtx(int jointNo, Mtx m) { mMtxBuffer->setAnmMtx(jointNo, m); } MtxP getAnmMtx(int jointNo) { return mMtxBuffer->getAnmMtx(jointNo); } @@ -110,7 +110,7 @@ public: /* 0x08 */ u32 mFlags; /* 0x0C */ u32 mDiffFlag; /* 0x10 */ J3DCalcCallBack mCalcCallBack; - /* 0x14 */ u32 mUserArea; + /* 0x14 */ uintptr_t mUserArea; /* 0x18 */ Vec mBaseScale; /* 0x24 */ Mtx mBaseTransformMtx; /* 0x54 */ Mtx mInternalView; diff --git a/include/d/actor/d_a_b_mgn.h b/include/d/actor/d_a_b_mgn.h index 192f2cf98b..2727b6977e 100644 --- a/include/d/actor/d_a_b_mgn.h +++ b/include/d/actor/d_a_b_mgn.h @@ -90,6 +90,7 @@ public: /* 8060F0D0 */ int create(); bool isDown() { return field_0xb01 != 0; } + bool isAppear() { return field_0xb05 != 0; } private: /* 0x05AC */ request_of_phase_process_class mMgnPhase; diff --git a/include/d/actor/d_a_obj_bhashi.h b/include/d/actor/d_a_obj_bhashi.h index 96466edbc3..6c05dac0b9 100644 --- a/include/d/actor/d_a_obj_bhashi.h +++ b/include/d/actor/d_a_obj_bhashi.h @@ -2,6 +2,27 @@ #define D_A_OBJ_BHASHI_H #include "f_op/f_op_actor_mng.h" +#include "d/d_bg_s_movebg_actor.h" +#include "d/d_cc_d.h" +#include "d/d_cc_uty.h" + +class Hahen_c { +public: + /* 80577794 */ Hahen_c(); + /* 805777A4 */ void Wall_Check(); + /* 80577868 */ void HahenMotion(); + /* 80577C1C */ bool CheckCull(); + /* 80577DA4 */ bool checkViewArea(); + /* 80577FE0 */ void Roll_Set(cXyz*, f32, s16); + + /* 0x00 */ cXyz pos; + /* 0x0C */ cXyz speed; + /* 0x18 */ cXyz scale; + /* 0x24 */ csXyz rotation; + /* 0x2A */ csXyz rot_speed; + /* 0x30 */ u8 status; + /* 0x31 */ u8 field_0x31; +}; /** * @ingroup actors-objects @@ -11,7 +32,7 @@ * @details * */ -class daObjBHASHI_c : public fopAc_ac_c { +class daObjBHASHI_c : public dBgS_MoveBgActor { public: /* 80576A58 */ void initCcCylinder(); /* 80576AC4 */ void setCcCylinder(); @@ -21,29 +42,33 @@ public: /* 805771EC */ void Obj_Damage(); /* 80577E24 */ void Rolling(cXyz*, f32, f32); /* 805781FC */ void setBaseMtx(); - /* 80578330 */ void CreateHeap(); - /* 8057842C */ void create(); - /* 80578788 */ void Create(); - /* 805787CC */ void Execute(Mtx**); - /* 805788EC */ void Draw(); - /* 805789E8 */ void Delete(); + /* 8057842C */ int create(); + + /* 80578330 */ virtual int CreateHeap(); + /* 80578788 */ virtual int Create(); + /* 805787CC */ virtual int Execute(Mtx**); + /* 805788EC */ virtual int Draw(); + /* 805789E8 */ virtual int Delete(); private: - /* 0x568 */ u8 field_0x568[0x1464 - 0x568]; + /* 0x05A0 */ u8 field_0x5A0[0x05A4 - 0x05A0]; + /* 0x05A4 */ int mMode; + /* 0x05A8 */ s16 field_0x5a8; + /* 0x05AC */ Hahen_c mHahen[60]; + /* 0x11DC */ f32 field_0x11dc; + /* 0x11E0 */ s16 field_0x11e0; + /* 0x11E2 */ u8 mSwbit; + /* 0x11E4 */ s16 mDamageTimer; + /* 0x11E6 */ u8 field_0x11E6[0x11EC - 0x11E6]; + /* 0x11EC */ J3DModel* mpPillarMdl; + /* 0x11F0 */ J3DModel* mpHahenMdls[60]; + /* 0x12E0 */ request_of_phase_process_class mPhase; + /* 0x12E8 */ dCcD_Stts mCcStts; + /* 0x1324 */ dCcD_Cyl mCcCyl; + /* 0x1460 */ u8 field_0x1460; + /* 0x1461 */ u8 mIsHahenSimpleEntry; }; STATIC_ASSERT(sizeof(daObjBHASHI_c) == 0x1464); -class Hahen_c { -public: - /* 80577794 */ Hahen_c(); - /* 805777A4 */ void Wall_Check(); - /* 80577868 */ void HahenMotion(); - /* 80577C1C */ void CheckCull(); - /* 80577DA4 */ void checkViewArea(); - /* 80577FE0 */ void Roll_Set(cXyz*, f32, s16); - /* 80578744 */ ~Hahen_c(); -}; - - #endif /* D_A_OBJ_BHASHI_H */ diff --git a/include/d/actor/d_a_obj_gpTaru.h b/include/d/actor/d_a_obj_gpTaru.h index 271c94dbfc..448dd389dd 100644 --- a/include/d/actor/d_a_obj_gpTaru.h +++ b/include/d/actor/d_a_obj_gpTaru.h @@ -2,6 +2,8 @@ #define D_A_OBJ_GPTARU_H #include "f_op/f_op_actor_mng.h" +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" /** * @ingroup actors-objects @@ -14,13 +16,11 @@ class daGpTaru_c : public fopAc_ac_c { public: /* 8057D1F8 */ void setBaseMtx(); - /* 8057D2D0 */ void CreateHeap(); - /* 8057D33C */ void create(); - /* 8057D7CC */ void createHeapCallBack(fopAc_ac_c*); - /* 8057DB3C */ void chkSinkAll(); - /* 8057DB60 */ void chkWaterLineIn(); + /* 8057D33C */ int create(); + /* 8057D7CC */ static int createHeapCallBack(fopAc_ac_c*); + /* 8057DB3C */ BOOL chkSinkAll(); + /* 8057DB60 */ BOOL chkWaterLineIn(); /* 8057DB84 */ void bgCheck(); - /* 8057E224 */ void Execute(); /* 8057E494 */ void mode_proc_call(); /* 8057E5DC */ void mode_init_wait(); /* 8057E618 */ void mode_proc_wait(); @@ -37,22 +37,61 @@ public: /* 8057EFFC */ void mode_init_sink(); /* 8057F014 */ void mode_proc_sink(); /* 8057F104 */ void breakEffSet(); - /* 8057F284 */ void Draw(); - /* 8057F328 */ void Delete(); - static u8 const mCcDObjInfo[48]; - static u8 mCcDCyl[68]; + /* 8057D2D0 */ virtual int CreateHeap(); + /* 8057E224 */ virtual int Execute(); + /* 8057F284 */ virtual int Draw(); + /* 8057F328 */ virtual int Delete(); + + static const dCcD_SrcGObjInf mCcDObjInfo; + static dCcD_SrcCyl mCcDCyl; private: - /* 0x568 */ u8 field_0x568[0x9ac - 0x568]; + /* 0x56C */ request_of_phase_process_class mPhase; + /* 0x574 */ J3DModel* mpModel; + /* 0x578 */ u8 mMode; + /* 0x579 */ u8 mIsPrevCarry; + /* 0x57C */ cXyz field_0x57c; + /* 0x588 */ cXyz field_0x588; + /* 0x594 */ cXyz field_0x594; + /* 0x5A0 */ u8 mIsPrevInWater; + /* 0x5A4 */ dBgS_ObjAcch mAcch; + /* 0x77C */ dBgS_AcchCir mAcchCir; + /* 0x7BC */ dCcD_Stts mCcStts; + /* 0x7F8 */ dCcD_Cyl mCcCyl; + /* 0x934 */ u8 mExploTimer; + /* 0x938 */ f32 field_0x938; + /* 0x93C */ csXyz field_0x93c; + /* 0x944 */ int field_0x944; + /* 0x948 */ f32 mExplosionRange; + /* 0x94C */ u32 mSmokeEmtID; + /* 0x950 */ u32 field_0x950; + /* 0x954 */ u8 field_0x954; + /* 0x955 */ u8 field_0x955; + /* 0x958 */ WIND_INFLUENCE mWind; + /* 0x984 */ LIGHT_INFLUENCE mLight; + /* 0x9A4 */ f32 mExploWindStrength; + /* 0x9A8 */ u8 field_0x9a8; }; STATIC_ASSERT(sizeof(daGpTaru_c) == 0x9ac); -class daGpTaru_HIO_c { +class daGpTaru_HIO_c : public fOpAcm_HIO_entry_c { public: /* 8057D0CC */ daGpTaru_HIO_c(); - /* 8057F458 */ ~daGpTaru_HIO_c(); + /* 8057F458 */ virtual ~daGpTaru_HIO_c() {} + + void genMessage(JORMContext*); + + /* 0x04 */ f32 weight; + /* 0x08 */ f32 shake; + /* 0x0C */ f32 explosion_range; + /* 0x10 */ u8 explosion_wait_time; + /* 0x11 */ u8 vibration; + /* 0x14 */ cXyz effect_scale; + /* 0x20 */ cXyz pre_smoke_scale; + /* 0x2C */ f32 smoke_scale; + /* 0x30 */ cXyz barrel_scale; }; diff --git a/include/d/actor/d_a_obj_swpush5.h b/include/d/actor/d_a_obj_swpush5.h index 39fd0f515e..391c78f4c6 100644 --- a/include/d/actor/d_a_obj_swpush5.h +++ b/include/d/actor/d_a_obj_swpush5.h @@ -2,6 +2,7 @@ #define D_A_OBJ_SWPUSH5_H #include "f_op/f_op_actor_mng.h" +#include "d/d_bg_s_movebg_actor.h" /** * @ingroup actors-objects @@ -11,16 +12,13 @@ * @details Mutli-purpose heavy switch actor. (Iron Boots switch) * */ -class daObjSw5_c : public fopAc_ac_c { +class daObjSw5_c : public dBgS_MoveBgActor { public: /* 8059B804 */ void initBaseMtx(); /* 8059B88C */ void setBaseMtx(); - /* 8059B920 */ void Create(); - /* 8059BA1C */ void CreateHeap(); - /* 8059BB1C */ void create(); - /* 8059BBD4 */ void Execute(Mtx**); + /* 8059BB1C */ int create(); /* 8059BC70 */ void setting_ride_flag(); - /* 8059BD24 */ bool checkPushable(); + /* 8059BD24 */ BOOL checkPushable(); /* 8059BD2C */ void event_proc_call(); /* 8059BE18 */ void actionPauseNoneInit(); /* 8059BE24 */ void actionPauseNone(); @@ -41,11 +39,36 @@ public: /* 8059C370 */ void modeWaitUpper(); /* 8059C3C4 */ void modeUpperInit(); /* 8059C454 */ void modeUpper(); - /* 8059C4BC */ void Draw(); - /* 8059C560 */ void Delete(); -private: - /* 0x568 */ u8 field_0x568[0x600 - 0x568]; + /* 8059BA1C */ virtual int CreateHeap(); + /* 8059B920 */ virtual int Create(); + /* 8059BBD4 */ virtual int Execute(Mtx**); + /* 8059C4BC */ virtual int Draw(); + /* 8059C560 */ virtual int Delete(); + + u8 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); } + u8 getSwNo2() { return 0xFF; } + + /* 0x5A0 */ request_of_phase_process_class mPhase; + /* 0x5A8 */ J3DModel* mpModel; + /* 0x5AC */ u8 mUnkRideTimer; + /* 0x5AD */ u8 field_0x5ad; + /* 0x5AE */ u8 field_0x5ae; + /* 0x5AF */ u8 field_0x5af; + /* 0x5B0 */ u8 field_0x5b0; + /* 0x5B1 */ u8 field_0x5b1; + /* 0x5B2 */ u8 mIsPlayerRideHvy; + /* 0x5B3 */ u8 mIsPlayerRideHvyPrev; + /* 0x5B4 */ int mCounter; + /* 0x5B8 */ dBgW* mpBgW2; + /* 0x5BC */ Mtx mMtx; + /* 0x5EC */ u8 field_0x5EC[0x5EE - 0x5EC]; + /* 0x5EE */ u8 mMode; + /* 0x5EF */ u8 mAction; + /* 0x5F0 */ u8 mPauseTimer; + /* 0x5F4 */ f32 mTopPos; + /* 0x5F8 */ f32 field_0x5f8; + /* 0x5FC */ f32 field_0x5fc; }; STATIC_ASSERT(sizeof(daObjSw5_c) == 0x600); |
