obj_pdwall / obj_rw / obj_stopper2 done (#2760)

* obj_pdwall / obj_rw / obj_stopper2 done

* fix jp/pal

* Use NULL instead of 0

* Use dEvtCnd_CANDEMO_e

---------

Co-authored-by: hatal175 <hatal175@users.noreply.github.com>
This commit is contained in:
TakaRikka
2025-10-29 22:56:22 -07:00
committed by GitHub
parent 4618e95975
commit 2e5b9fd2a0
10 changed files with 862 additions and 957 deletions
+5 -1
View File
@@ -132,7 +132,11 @@ struct J3DSys {
J3DMatPacket* getMatPacket() { return mMatPacket; }
void setMaterialMode(u32 mode) { mMaterialMode = mode; }
void setCurrentMtxCalc(J3DMtxCalc * pCalc) { mCurrentMtxCalc = pCalc; }
void setCurrentMtxCalc(J3DMtxCalc * pCalc) {
J3D_ASSERT_NULLPTR(210, pCalc != NULL);
mCurrentMtxCalc = pCalc;
}
J3DMtxCalc * getCurrentMtxCalc() const { return mCurrentMtxCalc; }
void setTexture(J3DTexture* pTex) { mTexture = pTex; }
+22 -9
View File
@@ -2,6 +2,7 @@
#define D_A_OBJ_PDWALL_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
/**
* @ingroup actors-objects
@@ -11,19 +12,31 @@
* @details
*
*/
class daObjPDwall_c : public fopAc_ac_c {
class daObjPDwall_c : public dBgS_MoveBgActor, public request_of_phase_process_class {
public:
/* 80CAC7F8 */ void create1st();
/* 80CAC7F8 */ int create1st();
/* 80CAC8DC */ void setMtx();
/* 80CACA44 */ void CreateHeap();
/* 80CACBA8 */ void Create();
/* 80CACCE0 */ void Execute(Mtx**);
/* 80CACF14 */ void Draw();
/* 80CACFD4 */ void Delete();
/* 80CAD140 */ ~daObjPDwall_c();
/* 80CACA44 */ virtual int CreateHeap();
/* 80CACBA8 */ virtual int Create();
/* 80CACCE0 */ virtual int Execute(Mtx**);
/* 80CACF14 */ virtual int Draw();
/* 80CACFD4 */ virtual int Delete();
/* 80CAD140 */ virtual ~daObjPDwall_c() {}
int getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
private:
/* 0x568 */ u8 field_0x568[0xa18 - 0x568];
/* 0x5A8 */ Mtx field_0x5a8;
/* 0x5D8 */ J3DModel* mpModels[10];
/* 0x600 */ Mtx field_0x600[10];
/* 0x7E0 */ f32 field_0x7e0[10];
/* 0x808 */ f32 field_0x808[10];
/* 0x830 */ u8 field_0x830[10];
/* 0x83C */ dBgW* mpBgw[9];
/* 0x860 */ Mtx mMtx[9];
/* 0xA10 */ u8 field_0xa10;
/* 0xA14 */ int field_0xa14;
};
STATIC_ASSERT(sizeof(daObjPDwall_c) == 0xa18);
+23 -15
View File
@@ -3,6 +3,7 @@
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
/**
* @ingroup actors-objects
@@ -12,23 +13,30 @@
* @details
*
*/
class obj_rw_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0xe3c - 0x568];
class obj_rw_class {
public:
/* 0x000 */ fopEn_enemy_c enemy;
/* 0x5AC */ request_of_phase_process_class phase;
/* 0x5B4 */ J3DModel* model;
/* 0x5B8 */ Z2CreatureEnemy sound;
/* 0x65C */ u32 shadowId;
/* 0x660 */ s16 field_0x660;
/* 0x662 */ s16 action;
/* 0x664 */ s16 mode;
/* 0x666 */ s16 field_0x666[2];
/* 0x66A */ s16 invulnerability_timer;
/* 0x66C */ f32 field_0x66c;
/* 0x670 */ s16 field_0x670;
/* 0x672 */ s16 field_0x672;
/* 0x674 */ s16 field_0x674;
/* 0x678 */ dCcD_Stts ccStts;
/* 0x6B4 */ dCcD_Sph ccSph[2];
/* 0x924 */ dCcD_Cyl ccCyl[4];
/* 0xE14 */ dCcU_AtInfo atInfo;
/* 0xE38 */ s8 field_0xe38;
/* 0xE39 */ u8 HIOInit;
};
STATIC_ASSERT(sizeof(obj_rw_class) == 0xe3c);
struct daObj {
public:
/* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32);
};
class daOBJ_RW_HIO_c {
public:
/* 80CC298C */ daOBJ_RW_HIO_c();
/* 80CC3A5C */ ~daOBJ_RW_HIO_c();
};
#endif /* D_A_OBJ_RW_H */
+7 -7
View File
@@ -17,7 +17,7 @@ public:
/* 80CEF368 */ J3DModelData* getStopModelData();
/* 80CEF38C */ void initBaseMtx();
/* 80CEF3C8 */ void setBaseMtx();
/* 80CEF434 */ float getMaxOffsetY();
/* 80CEF434 */ f32 getMaxOffsetY();
/* 80CEF44C */ int Create();
/* 80CEF57C */ int CreateHeap();
/* 80CEF5C8 */ int create();
@@ -27,7 +27,7 @@ public:
/* 80CEF98C */ void actionOrderEvent();
/* 80CEFA60 */ void actionEvent();
/* 80CEFAD4 */ void actionDead();
/* 80CEFAD8 */ void demoProc();
/* 80CEFAD8 */ int demoProc();
/* 80CEFD40 */ int draw();
/* 80CEFDB8 */ int _delete();
@@ -38,13 +38,13 @@ public:
private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ f32 field_0x574;
/* 0x578 */ s32 field_0x578;
/* 0x57C */ u16 field_0x57c[4];
/* 0x574 */ f32 mOffsetY;
/* 0x578 */ int mStaffId;
/* 0x57C */ s16 mEventIdx[4];
/* 0x584 */ u8 field_0x584;
/* 0x585 */ u8 field_0x585;
/* 0x585 */ u8 mTool;
/* 0x586 */ u8 mAction;
/* 0x587 */ u8 field_0x587;
/* 0x587 */ u8 mTimer;
/* 0x588 */ u8 field_0x588;
};