More debug fixes for 99% TUs (#3122)

* d_a_e_hp debug code 100%

* d_a_npc_chin debug improvements

* d_a_npc_du debug code 100%

* d_a_npc_cdn3 debug code 100%

* d_a_e_rdy GCN symbol fixes

* d_a_kago debug code 100%

* d_a_e_oc debug code 100%

* d_a_e_yr debug code almost matching

* d_a_e_bg debug code 100%

* d_a_ykgr debug code 100%

* d_a_tag_hjump debug data fixes

* d_a_tag_attack_item debug data fixes

* d_a_e_df debug code 100%

* d_a_e_sh debug code 100%

* d_a_L7op_demo_dr debug code 100%

* d_a_L7low_dr debug code 100%

* d_a_e_sm2 debug code 100%

* d_a_movie_player debug code 100%

* d_a_e_st debug code 100%

* d_a_npc_aru debug code 100%

* d_a_e_yg debug code 100%

* d_a_door_spiral debug code 100%

* d_a_bg debug code 100% (still has .data issues)

* d_a_e_dn debug code 100%

* d_a_tag_attention debug code 100%

* d_a_e_bd debug code 100%

* d_a_tag_camera debug .rodata fix

* d_a_obj_movebox debug code 100% (array dtors are mismapped)

* d_a_mg_rod debug improvements

* d_a_e_rd debug symbol fixes
This commit is contained in:
Max Roncace
2026-03-11 06:07:19 -04:00
committed by GitHub
parent 0b0fdd1f60
commit 8a333fc7c9
75 changed files with 1673 additions and 1225 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ public:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x574 */ Z2CreatureEnemy mSound;
/* 0x618 */ u8 field_0x618[0x624 - 0x618];
/* 0x618 */ cXyz field_0x618;
/* 0x624 */ actionFn mAction;
/* 0x630 */ actionFn field_0x630;
/* 0x63C */ int field_0x63c;
-17
View File
@@ -87,21 +87,4 @@ public:
STATIC_ASSERT(sizeof(bd_class) == 0x9ec);
class daBd_HIO_c : public JORReflexible {
public:
daBd_HIO_c();
virtual ~daBd_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 id;
/* 0x08 */ f32 mBasicSize;
/* 0x0C */ f32 mFlightSpeed;
/* 0x10 */ f32 mGroundSpeed;
/* 0x14 */ s16 mFlightTime;
/* 0x18 */ f32 mLinkDetectRange;
/* 0x1C */ s16 mChirpDist;
/* 0x1E */ s8 field_0x1E;
};
#endif /* D_A_BD_H */
+1 -18
View File
@@ -42,7 +42,7 @@ public:
int CreateHeap();
int create();
void setBgId(u32 i_bgId) { mBgId = i_bgId; }
void setBgId(unsigned int i_bgId) { mBgId = i_bgId; }
bool isBomb() { return mIsBomb; }
private:
@@ -92,21 +92,4 @@ private:
STATIC_ASSERT(sizeof(daE_BG_c) == 0xbbc);
class daE_BG_HIO_c : public JORReflexible {
public:
daE_BG_HIO_c();
virtual ~daE_BG_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mTrackingSpeed;
/* 0x0C */ f32 mRushSpeed;
/* 0x10 */ f32 mWaitDistanceBeforeCharging;
/* 0x14 */ f32 mPlayerSearchDistance;
/* 0x18 */ f32 mAttackRange;
/* 0x1C */ f32 mSwimRange;
/* 0x20 */ f32 mJumpTime;
};
#endif /* D_A_E_BG_H */
+1 -1
View File
@@ -51,7 +51,7 @@ public:
void BombEatAction();
void Spid_Out();
void LinkEatAction();
bool Mogu_Mogu();
u8 Mogu_Mogu();
void ObjEatAction();
void EatAction();
void SearchAction();
+1 -1
View File
@@ -69,7 +69,7 @@ public:
/* 0x6E9 */ s8 field_0x6e9;
/* 0x6EA */ s8 field_0x6ea;
/* 0x6EB */ s8 field_0x6eb;
/* 0x6EC */ dPath* field_0x6ec;
/* 0x6EC */ dPath* ppd;
/* 0x6F0 */ u8 field_0x6f0;
/* 0x6F2 */ csXyz field_0x6f2;
/* 0x6F8 */ csXyz field_0x6f8;
+1 -15
View File
@@ -285,21 +285,7 @@ public:
}
}
bool isOrchestra() {
if (strcmp(dComIfGp_getStartStageName(), "F_SP116") != 0) {
return 0;
} else {
if (m_seqNum == 17 &&
(getType() == 4 || getType() == 5 || getType() == 6 || getType() == 16))
{
return 1;
} else if (m_seqNum == 37 && getType() == 7) {
return 1;
} else {
return 0;
}
}
}
bool isOrchestra();
int chkEvent() {
attention_info.flags = 0;
+2 -2
View File
@@ -19,9 +19,9 @@ public:
class daNpcChin_HIO_c : public mDoHIO_entry_c {
public:
daNpcChin_HIO_c();
virtual ~daNpcChin_HIO_c();
void listenPropertyEvent(const JORPropertyEvent*);
void genMessage(JORMContext*);
virtual void genMessage(JORMContext*);
/* 0x08 */ daNpcChin_HIOParam m;
};
+30 -21
View File
@@ -24,9 +24,13 @@ namespace daObjMovebox {
enum Type_e { pp_field = 3 };
struct Attr_c {
struct sMinMax { // fabricated
s16 min;
s16 max;
struct sMinMax3 { // fabricated
s16 xMin;
s16 xMax;
s16 yMin;
s16 yMax;
s16 zMin;
s16 zMax;
};
/* 0x00 */ s16 mFirstPushStopTime;
/* 0x02 */ s16 mRepeatPushStopTime;
@@ -53,26 +57,24 @@ struct Attr_c {
/* 0x4C */ f32 mMaxTiltPower;
/* 0x50 */ f32 mTiltSpringFactor;
/* 0x54 */ f32 mTiltViscoscityResistance;
/* 0x58 */ int field_0x58;
/* 0x5C */ int field_0x5c;
/* 0x60 */ u32 field_0x60;
/* 0x64 */ f32 field_0x64;
/* 0x58 */ int mModelResIdx;
/* 0x5C */ int mMoveBGIdx;
/* 0x60 */ u32 mHeapSize;
/* 0x64 */ f32 mScaleY;
/* 0x68 */ f32 field_0x68;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ f32 field_0x70;
/* 0x74 */ f32 field_0x74;
/* 0x6C */ f32 mWaterBobScale; // always the reciprocal of field_0x68
/* 0x70 */ f32 mScaleXZ;
/* 0x74 */ f32 mTiltForceScale; // always the reciprocal of mScaleXZ
/* 0x78 */ f32 field_0x78;
/* 0x7C */ u32 field_0x7c;
/* 0x80 */ u32 field_0x80;
/* 0x84 */ u32 field_0x84;
/* 0x88 */ u32 field_0x88;
/* 0x8C */ int field_0x8c;
/* 0x90 */ sMinMax mCullX;
/* 0x94 */ sMinMax mCullY;
/* 0x98 */ sMinMax mCullZ;
/* 0x9C */ u8 field_0x9c;
/* 0x9D */ u8 field_0x9d;
/* 0x9E */ u8 field_0x9e;
/* 0x7C */ Z2SoundID mSoundSlip;
/* 0x80 */ Z2SoundID mSoundLimit;
/* 0x84 */ Z2SoundID mSoundLand;
/* 0x88 */ Z2SoundID mSoundFallWater;
/* 0x8C */ Z2SoundID mSoundFallMagma;
/* 0x90 */ sMinMax3 mCull;
/* 0x9C */ bool field_0x9c;
/* 0x9D */ bool mDisableShadow;
/* 0x9E */ bool mUseLargeGrid;
};
struct Hio_c : JORReflexible {
@@ -153,7 +155,13 @@ struct Act_c : public dBgS_MoveBgActor {
int prm_get_swSave1() const;
void prmZ_init();
void prmX_init();
// it seems like this signature changed between GCN and Wii?
// GCN only matches with a const reference return type and Wii/Shield only match with non-const
#if PLATFORM_GCN
const daObjMovebox::Attr_c& attr() const;
#else
daObjMovebox::Attr_c& attr() const;
#endif
void set_mtx();
void init_mtx();
void path_init();
@@ -176,6 +184,7 @@ struct Act_c : public dBgS_MoveBgActor {
void sound_land();
void vib_land();
void eff_land_smoke();
void eff_break();
virtual int CreateHeap();
virtual int Create();
+1 -1
View File
@@ -55,7 +55,7 @@ public:
int _create();
int _delete();
int _execute();
int _draw();
bool _draw();
static JPABaseEmitter* m_emitter;
static bool m_flag;
+1 -1
View File
@@ -399,7 +399,7 @@ public:
u8 getPohNum() const { return mPohNum; }
void addPohNum() {
if (mPohNum < 0xFF) {
mPohNum += 1;
mPohNum++;
}
};
+10
View File
@@ -557,6 +557,16 @@ public:
int init(u16, u16, int);
void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
void update(int, _GXColor&, dKy_tevstr_c*);
// some calls to these functions define i_color inline which is illegal in C++ for a non-const
// reference parameter - we add these overloads to enable standard compiler compatibility
#if !__MWERKS__
void update(int param_0, f32 param_1, const _GXColor& i_color, u16 param_3, dKy_tevstr_c* i_tevStr) {
update(param_0, param_1, const_cast<_GXColor&>(i_color), param_3, i_tevStr);
}
void update(int param_0, const _GXColor& i_color, dKy_tevstr_c* i_tevStr) {
update(param_0, const_cast<_GXColor&>(i_color), i_tevStr);
}
#endif
virtual int getMaterialID() { return 0; }
virtual void setMaterial();