swpush5 / bhashi done (#2663)

* swpush5 done

* bhashi done

* gptaru done
This commit is contained in:
TakaRikka 2025-09-16 07:31:37 -07:00 committed by GitHub
parent a8136496c7
commit e931b1fb79
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 1589 additions and 2315 deletions

View File

@ -1615,14 +1615,14 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_maro"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_taro"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_tkj"),
ActorRel(NonMatching, "d_a_obj_bhashi"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bhashi"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bkdoor"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bosswarp"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_cboard"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_digplace"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_eff"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_fmobj"),
ActorRel(NonMatching, "d_a_obj_gpTaru"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_gpTaru"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_hhashi"),
ActorRel(NonMatching, "d_a_obj_kanban2"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kbacket"),
@ -1641,7 +1641,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_stick"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_stoneMark"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_swpropeller"),
ActorRel(NonMatching, "d_a_obj_swpush5"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_swpush5"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_yobikusa"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_scene_exit2"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_shop_item"),

View File

@ -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;

View File

@ -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;

View File

@ -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 */

View File

@ -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;
};

View File

@ -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);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff