e_rd, npc_ks dbg work (#3029)

* Partial e_rd, npc_ks dbg work

* More e_rd matching

* e_rd fixes and dbg ctor matched

* obj_ita dbg equiv

* e_st dbg almost equiv

* Some obj_ladder dbg work

* dbg e_rd PR comments

* Further e_rd dbg clangd fixes
This commit is contained in:
YunataSavior
2026-01-11 19:49:05 -08:00
committed by GitHub
parent 6a59c5231f
commit 24c08d322e
16 changed files with 1390 additions and 1000 deletions
+10 -20
View File
@@ -7,6 +7,7 @@
#include "d/d_msg_flow.h"
#include "d/d_path.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_ext.h"
/**
* @ingroup actors-enemies
@@ -45,9 +46,7 @@ public:
/* 0x06A0 */ s8 field_0x6a0;
/* 0x06A4 */ cXyz field_0x6a4;
/* 0x06B0 */ cXyz field_0x6b0;
/* 0x06BC */ u8 field_0x6bc[0x6be - 0x6bc];
/* 0x06BE */ s16 field_0x6be;
/* 0x06C0 */ s16 field_0x6c0;
/* 0x06BC */ csXyz field_0x6bc;
/* 0x06C2 */ s8 field_0x6c2;
/* 0x06C3 */ u8 field_0x6c3;
/* 0x06C4 */ J3DModel* mpEyeModels[2];
@@ -101,22 +100,17 @@ public:
/* 0x09CE */ s16 field_0x9ce;
/* 0x09D0 */ s16 field_0x9d0;
/* 0x09D4 */ cXyz field_0x9d4;
/* 0x09E0 */ u8 field_0x9e0[0x9ec - 0x9e0];
/* 0x09E0 */ cXyz field_0x9e0; // unused, dbg offset 0xa18
/* 0x09EC */ f32 field_0x9ec;
/* 0x09F0 */ f32 field_0x9f0;
/* 0x09F4 */ s16 field_0x9f4;
/* 0x09F6 */ s16 field_0x9f6;
/* 0x09F8 */ s8 field_0x9f8;
/* 0x09F9 */ u8 field_0x9f9[0xa0c - 0x9f9];
/* 0x0A0C */ s16 field_0xa0c;
/* 0x0A0E */ s16 field_0xa0e;
/* 0x0A10 */ u8 field_0xa10[0xa12 - 0xa10];
/* 0x0A12 */ s16 field_0xa12;
/* 0x0A14 */ u8 field_0xa14[0xa16 - 0xa14];
/* 0x0A16 */ s16 field_0xa16;
/* 0x0A18 */ s16 field_0xa18;
/* 0x0A1A */ u8 field_0xa1a[0xa1c - 0xa1a];
/* 0x0A1C */ s16 field_0xa1c;
/* 0x09FC */ cXyz field_0x9fc; // unused, dbg offset 0xa34
/* 0x0A08 */ u8 field_0xa08[0x0A0C - 0x0A08];
/* 0x0A0C */ csXyz field_0xa0c;
/* 0x0A12 */ csXyz field_0xa12;
/* 0x0A18 */ csXyz field_0xa18;
/* 0x0A1E */ s8 field_0xa1e;
/* 0x0A1F */ s8 field_0xa1f;
/* 0x0A20 */ u32 field_0xa20;
@@ -136,12 +130,8 @@ public:
/* 0x0AD2 */ s16 field_0xad2[4];
/* 0x0ADA */ s16 field_0xada;
/* 0x0ADC */ s16 field_0xadc;
/* 0x0ADE */ s16 field_0xade;
/* 0x0AE0 */ s16 field_0xae0;
/* 0x0AE2 */ u8 field_0xae2[0xae4 - 0xae2];
/* 0x0AE4 */ s16 field_0xae4;
/* 0x0AE6 */ s16 field_0xae6;
/* 0x0AE8 */ u8 field_0xae8[0xaec - 0xae8];
/* 0x0ADE */ csXyz field_0xade; // dbg offset 0xb1c
/* 0x0AE4 */ csXyz field_0xae4;
/* 0x0AEC */ f32 field_0xaec;
/* 0x0AF0 */ s16 field_0xaf0;
/* 0x0AF2 */ s16 field_0xaf2;
+3 -3
View File
@@ -34,10 +34,10 @@ public:
void setHamonPrtcl();
u8 getType() {
int iVar1 = fopAcM_GetParam(this) & 0xFF;
u8 rv;
u8 adj_arg = argument & 0x7F;
u8 iVar1 = fopAcM_GetParam(this) & 0xFF;
switch ((argument & 127)) {
switch (adj_arg) {
case 0:
switch (iVar1) {
case 0:
+12 -12
View File
@@ -13,6 +13,15 @@
*
*/
namespace daObjLadder {
enum Type_e {
TYPE_0,
TYPE_1,
TYPE_2,
TYPE_3,
TYPE_4,
TYPE_5,
};
class Act_c : public dBgS_MoveBgActor {
public:
enum Prm_e {
@@ -22,15 +31,6 @@ namespace daObjLadder {
PRM_16 = 16,
};
enum Type_e {
TYPE_0,
TYPE_1,
TYPE_2,
TYPE_3,
TYPE_4,
TYPE_5,
};
enum Mode {
MODE_WAIT,
MODE_DEMOREQ,
@@ -62,15 +62,15 @@ namespace daObjLadder {
int Execute(Mtx**);
int Draw();
u8 prm_get_evId() {
u8 prm_get_evId() const {
return daObj::PrmAbstract(this, PRM_8, PRM_16);
}
int prm_get_swSave() {
int prm_get_swSave() const {
return daObj::PrmAbstract(this,PRM_8, PRM_8);
}
Type_e prm_get_type() {
Type_e prm_get_type() const {
return(Type_e)daObj::PrmAbstract(this,PRM_3, PRM_0);
}
+26 -26
View File
@@ -205,107 +205,107 @@ extern dScnPly_preset_HIO_c g_presetHIO;
#define tREG_S(i) g_regHIO.mChildReg[25].mShortReg[i]
#else
// Morita
#define TREG_F(i) (0)
#define TREG_F(i) (0.0f)
#define TREG_S(i) (0)
// Matsutani
#define DREG_F(i) (0)
#define DREG_F(i) (0.0f)
#define DREG_S(i) (0)
// Iwawaki
#define IREG_F(i) (0)
#define IREG_F(i) (0.0f)
#define IREG_S(i) (0)
// Sasa
#define SREG_F(i) (0)
#define SREG_F(i) (0.0f)
#define SREG_S(i) (0)
// Umemiya
#define UREG_F(i) (0)
#define UREG_F(i) (0.0f)
#define UREG_S(i) (0)
// Ogawa
#define OREG_F(i) (0)
#define OREG_F(i) (0.0f)
#define OREG_S(i) (0)
// Sakaguchi
#define YREG_F(i) (0)
#define YREG_F(i) (0.0f)
#define YREG_S(i) (0)
// Sakai
#define KREG_F(i) (0)
#define KREG_F(i) (0.0f)
#define KREG_S(i) (0)
// Hara
#define BREG_F(i) (0)
#define BREG_F(i) (0.0f)
#define BREG_S(i) (0)
// Sumiyoshi
#define MREG_F(i) (0)
#define MREG_F(i) (0.0f)
#define MREG_S(i) (0)
// Takeshita
#define AREG_F(i) (0)
#define AREG_F(i) (0.0f)
#define AREG_S(i) (0)
// Yoshida
#define PREG_F(i) (0)
#define PREG_F(i) (0.0f)
#define PREG_S(i) (0)
// Noma
#define NREG_F(i) (0)
#define NREG_F(i) (0.0f)
#define NREG_S(i) (0)
// Nishiwaki
#define WREG_F(i) (0)
#define WREG_F(i) (0.0f)
#define WREG_S(i) (0)
// Masaro
#define JREG_F(i) (0)
#define JREG_F(i) (0.0f)
#define JREG_S(i) (0)
// Hayakawa
#define HREG_F(i) (0)
#define HREG_F(i) (0.0f)
#define HREG_S(i) (0)
// Sadamoto
#define VREG_F(i) (0)
#define VREG_F(i) (0.0f)
#define VREG_S(i) (0)
// Nishikawa
#define XREG_F(i) (0)
#define XREG_F(i) (0.0f)
#define XREG_S(i) (0)
// Suzuki
#define ZREG_F(i) (0)
#define ZREG_F(i) (0.0f)
#define ZREG_S(i) (0)
// Nakanishi
#define nREG_F(i) (0)
#define nREG_F(i) (0.0f)
#define nREG_S(i) (0)
// Kuwajima
#define kREG_F(i) (0)
#define kREG_F(i) (0.0f)
#define kREG_S(i) (0)
// Okajima
#define oREG_F(i) (0)
#define oREG_F(i) (0.0f)
#define oREG_S(i) (0)
// Yamazaki
#define yREG_F(i) (0)
#define yREG_F(i) (0.0f)
#define yREG_S(i) (0)
// Ashida
#define aREG_F(i) (0)
#define aREG_F(i) (0.0f)
#define aREG_S(i) (0)
// Okada
#define hREG_F(i) (0)
#define hREG_F(i) (0.0f)
#define hREG_S(i) (0)
// Takahashi
#define tREG_F(i) (0)
#define tREG_F(i) (0.0f)
#define tREG_S(i) (0)
#endif
+7
View File
@@ -138,4 +138,11 @@ static const float INF = 2000000000.0f;
#define ASM
#endif
// potential fakematch?
#if PLATFORM_SHIELD
#define UNSET_FLAG(var, flag) (var) &= (u16)~(flag)
#else
#define UNSET_FLAG(var, flag) (var) &= ~(flag)
#endif
#endif