Misc debug include/class order improvements + link remaining Z2AudioLib TUs (#3014)

* Improve dolzel.pch ordering

* Improve JSystem include order

* Various class ordering fixes

* Link remaining Z2AudioLib TUs

* Fix some symbols in Shield and weak functions in ShieldD
This commit is contained in:
Max Roncace
2026-01-06 07:38:40 -05:00
committed by GitHub
parent 5b987084ea
commit 3679e7abab
38 changed files with 516 additions and 437 deletions
+117 -118
View File
@@ -51,6 +51,122 @@ BOOL daNpcF_chkPassed(cXyz i_pos, dPnt* i_points, u16 i_idx, u16 i_num, BOOL i_i
BOOL i_isReversed);
BOOL daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_actor_p);
class daNpcF_SPCurve_c {
private:
/* 0x00 */ u16 mNurbs;
/* 0x02 */ u16 field_0x02;
/* 0x04 */ u8 mIsReversed;
/* 0x05 */ u8 mIsClosed;
/* 0x08 */ dPnt mPoints[96];
public:
void initialize(dPath*, int);
daNpcF_SPCurve_c() {
initialize(NULL, 0);
}
virtual ~daNpcF_SPCurve_c() {}
}; // Size: 0x60C
class daNpcF_Path_c {
protected:
/* 0x00 */ u16 mIdx;
/* 0x02 */ u8 mIsReversed;
/* 0x03 */ u8 mIsClosed;
/* 0x04 */ dPath* mPathInfo;
/* 0x08 */ f32 mRange;
/* 0x0C */ f32 mPosDst;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ cXyz mPosition;
/* 0x20 */ daNpcF_SPCurve_c mSPCurve;
public:
void initialize();
int setPathInfo(u8, s8, u8);
BOOL chkPassed(cXyz);
BOOL chkPassedDst(cXyz);
void reverse();
BOOL setNextIdx();
int getNextIdx();
int getBeforeIdx();
BOOL getBeforePos(cXyz&);
BOOL getNextPos(cXyz&);
BOOL getDstPos(cXyz, cXyz&);
void setNextIdxDst(cXyz);
daNpcF_Path_c() {
initialize();
}
virtual ~daNpcF_Path_c() {}
int getIdx() { return mIdx; };
void setIdx(int i_idx) { mIdx = i_idx; }
int getArg0() { return mPathInfo->m_points[mIdx].mArg0; }
u8 getArg0(int i_idx) { return mPathInfo->m_points[i_idx].mArg0; }
Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; }
BOOL chkClose() { return dPath_ChkClose(mPathInfo); }
BOOL chkReverse() { return mIsReversed == true; }
void onReverse() { mIsReversed = true; }
void offReverse() { mIsReversed = false; }
dPath* getPathInfo() { return mPathInfo; }
void setRange(f32 i_range) { mRange = i_range; }
int getNumPnts() { return mPathInfo->m_num; }
#if DEBUG
void drawDbgInfoXyz();
#endif
}; // Size: 0x630
class daNpcF_MatAnm_c : public J3DMaterialAnm {
private:
/* 0x0F4 */ mutable f32 field_0xF4;
/* 0x0F8 */ mutable f32 field_0xF8;
/* 0x0FC */ f32 mNowOffsetX;
/* 0x100 */ f32 mNowOffsetY;
/* 0x104 */ u8 mEyeMoveFlag;
/* 0x105 */ u8 mMorfFrm;
public:
daNpcF_MatAnm_c(): J3DMaterialAnm() { initialize(); }
void initialize();
void calc(J3DMaterial*) const;
void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; }
void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; }
void onEyeMoveFlag() { mEyeMoveFlag = 1; }
void offEyeMoveFlag() { mEyeMoveFlag = 0; }
};
class daNpcF_Lookat_c {
private:
/* 0x00 */ cXyz mJointPos[4];
/* 0x30 */ cXyz* mAttnPos_p;
/* 0x34 */ csXyz mAngularMoveDis[4];
/* 0x4C */ csXyz mMinAngle[4];
/* 0x64 */ csXyz mMaxAngle[4];
/* 0x7C */ csXyz mRotAngle[4];
/* 0x94 */ bool field_0x94[4];
/* 0x98 vtable */
public:
void initialize();
void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
cXyz*);
void calc(fopAc_ac_c*, Mtx, csXyz**, BOOL, int, BOOL);
void adjustMoveDisAngle(s16&, s16, s16, s16);
void initCalc(fopAc_ac_c*, Mtx, cXyz*, csXyz*, f32*, cXyz&, BOOL);
void update(cXyz*, csXyz*, f32*);
void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, BOOL);
void setRotAngle();
void clrRotAngle();
daNpcF_Lookat_c() { initialize(); }
virtual ~daNpcF_Lookat_c() {}
cXyz* getAttnPos() { return mAttnPos_p; }
void setAttnPos(cXyz* i_attnPos) { mAttnPos_p = i_attnPos; }
};
class daNpcF_c : public fopAc_ac_c {
protected:
/* 0x568 */ mDoExt_McaMorfSO* mAnm_p;
@@ -244,7 +360,7 @@ public:
virtual ~daNpcF_c() {}
virtual void setParam() {}
virtual BOOL main() { return TRUE; }
virtual BOOL ctrlBtk() { return FALSE; }
inline virtual BOOL ctrlBtk() { return FALSE; }
virtual void adjustShapeAngle() {}
virtual void setMtx();
virtual void setMtx2();
@@ -289,123 +405,6 @@ public:
STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48);
class daNpcF_MatAnm_c : public J3DMaterialAnm {
private:
/* 0x0F4 */ mutable f32 field_0xF4;
/* 0x0F8 */ mutable f32 field_0xF8;
/* 0x0FC */ f32 mNowOffsetX;
/* 0x100 */ f32 mNowOffsetY;
/* 0x104 */ u8 mEyeMoveFlag;
/* 0x105 */ u8 mMorfFrm;
public:
daNpcF_MatAnm_c() { initialize(); }
void initialize();
void calc(J3DMaterial*) const;
~daNpcF_MatAnm_c() {}
void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; }
void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; }
void onEyeMoveFlag() { mEyeMoveFlag = 1; }
void offEyeMoveFlag() { mEyeMoveFlag = 0; }
};
class daNpcF_SPCurve_c {
private:
/* 0x00 */ u16 mNurbs;
/* 0x02 */ u16 field_0x02;
/* 0x04 */ u8 mIsReversed;
/* 0x05 */ u8 mIsClosed;
/* 0x08 */ dPnt mPoints[96];
public:
void initialize(dPath*, int);
daNpcF_SPCurve_c() {
initialize(NULL, 0);
}
virtual ~daNpcF_SPCurve_c() {}
}; // Size: 0x60C
class daNpcF_Path_c {
protected:
/* 0x00 */ u16 mIdx;
/* 0x02 */ u8 mIsReversed;
/* 0x03 */ u8 mIsClosed;
/* 0x04 */ dPath* mPathInfo;
/* 0x08 */ f32 mRange;
/* 0x0C */ f32 mPosDst;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ cXyz mPosition;
/* 0x20 */ daNpcF_SPCurve_c mSPCurve;
public:
void initialize();
int setPathInfo(u8, s8, u8);
BOOL chkPassed(cXyz);
BOOL chkPassedDst(cXyz);
void reverse();
BOOL setNextIdx();
int getNextIdx();
int getBeforeIdx();
BOOL getBeforePos(cXyz&);
BOOL getNextPos(cXyz&);
BOOL getDstPos(cXyz, cXyz&);
void setNextIdxDst(cXyz);
daNpcF_Path_c() {
initialize();
}
virtual ~daNpcF_Path_c() {}
int getIdx() { return mIdx; };
void setIdx(int i_idx) { mIdx = i_idx; }
int getArg0() { return mPathInfo->m_points[mIdx].mArg0; }
u8 getArg0(int i_idx) { return mPathInfo->m_points[i_idx].mArg0; }
Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; }
BOOL chkClose() { return dPath_ChkClose(mPathInfo); }
BOOL chkReverse() { return mIsReversed == true; }
void onReverse() { mIsReversed = true; }
void offReverse() { mIsReversed = false; }
dPath* getPathInfo() { return mPathInfo; }
void setRange(f32 i_range) { mRange = i_range; }
int getNumPnts() { return mPathInfo->m_num; }
#if DEBUG
void drawDbgInfoXyz();
#endif
}; // Size: 0x630
class daNpcF_Lookat_c {
private:
/* 0x00 */ cXyz mJointPos[4];
/* 0x30 */ cXyz* mAttnPos_p;
/* 0x34 */ csXyz mAngularMoveDis[4];
/* 0x4C */ csXyz mMinAngle[4];
/* 0x64 */ csXyz mMaxAngle[4];
/* 0x7C */ csXyz mRotAngle[4];
/* 0x94 */ bool field_0x94[4];
/* 0x98 vtable */
public:
void initialize();
void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
cXyz*);
void calc(fopAc_ac_c*, Mtx, csXyz**, BOOL, int, BOOL);
void adjustMoveDisAngle(s16&, s16, s16, s16);
void initCalc(fopAc_ac_c*, Mtx, cXyz*, csXyz*, f32*, cXyz&, BOOL);
void update(cXyz*, csXyz*, f32*);
void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, BOOL);
void setRotAngle();
void clrRotAngle();
daNpcF_Lookat_c() { initialize(); }
virtual ~daNpcF_Lookat_c() {}
cXyz* getAttnPos() { return mAttnPos_p; }
void setAttnPos(cXyz* i_attnPos) { mAttnPos_p = i_attnPos; }
};
class daNpcF_MoveBgActor_c : public daNpcF_c {
private:
public:
+2 -1
View File
@@ -9,6 +9,7 @@ struct daNpcAsh_HIOParam {
class daNpcAsh_Param_c {
public:
daNpcAsh_Param_c() {}
virtual ~daNpcAsh_Param_c() {}
static const daNpcAsh_HIOParam m;
@@ -167,6 +168,6 @@ private:
/* 0xF60 */ u8 mType;
};
STATIC_ASSERT(sizeof(daNpcAsh_c) == 0xF64);
//STATIC_ASSERT(sizeof(daNpcAsh_c) == 0xF64);
#endif /* D_A_NPC_ASH_H */
+2 -17
View File
@@ -80,7 +80,7 @@ public:
int EvCut_BousIntroSumo3(int);
inline void setParam();
inline BOOL main();
inline void playExpression();
inline void playExpression();
inline void playMotion();
inline BOOL ctrlBtk();
inline void setAttnPos();
@@ -93,22 +93,7 @@ public:
s16 getMessageNo() { return (fopAcM_GetParam(this) >> 8) & 0xFFFF; }
s8 getArenaNo() { return fopAcM_GetParam(this) & 0xFF; }
BOOL chkFindPlayer() {
BOOL inArea = FALSE;
if (mActorMngrs[0].getActorP() == NULL) {
inArea = chkPlayerInSpeakArea(this);
} else {
inArea = chkPlayerInTalkArea(this);
}
if (inArea) {
mActorMngrs[0].entry(daPy_getPlayerActorClass());
} else {
mActorMngrs[0].remove();
}
return inArea;
}
inline BOOL chkFindPlayer();
void setLookMode(int i_lookMode) { if (i_lookMode >= 0 && i_lookMode < 4 && i_lookMode != mLookMode) mLookMode = i_lookMode; }
+1 -1
View File
@@ -281,6 +281,6 @@ private:
/* 0xE9B */ u8 mType;
/* 0xE9C */ u8 mWrestlerNoDraw;
};
STATIC_ASSERT(sizeof(daNpcWrestler_c) == 0xea0);
//STATIC_ASSERT(sizeof(daNpcWrestler_c) == 0xea0);
#endif /* D_A_NPC_WRESTLER_H */
+1
View File
@@ -3,6 +3,7 @@
#include "JSystem/J2DGraph/J2DPicture.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "SSystem/SComponent/c_m3d_g_pla.h"
#include "f_op/f_op_view.h"
#include "m_Do/m_Do_ext.h"
+15 -2
View File
@@ -9,25 +9,38 @@
#include "JSystem/J3DGraphBase/J3DMatBlock.h" // IWYU pragma: export
#include "Z2AudioLib/Z2Calc.h" // IWYU pragma: export
// Fixes weak function ordering
// Fixes weak function/RTTI ordering
#include <math> // IWYU pragma: export
#include <cstring> // IWYU pragma: export
#include "Z2AudioLib/Z2AudioArcLoader.h" // IWYU pragma: export
#include "JSystem/JAudio2/JAUStreamAramMgr.h" // IWYU pragma: export
#include "JSystem/JKernel/JKRDisposer.h" // IWYU pragma: export
#include "JSystem/JGadget/linklist.h" // IWYU pragma: export
#include "JSystem/J3DGraphBase/J3DPacket.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DAnimation.h" // IWYU pragma: export
#include "JSystem/JUtility/JUTGamePad.h" // IWYU pragma: export
#include "JSystem/J3DGraphBase/J3DSys.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
#include "JSystem/JHostIO/JHICommonMem.h" // IWYU pragma: export
#include "JSystem/JHostIO/JORReflexible.h" // IWYU pragma: export
#include "SSystem/SComponent/c_m3d_g_sph.h" // IWYU pragma: export
#include "SSystem/SComponent/c_m3d_g_aab.h" // IWYU pragma: export
#include "SSystem/SComponent/c_m3d_g_pla.h" // IWYU pragma: export
#include "SSystem/SComponent/c_bg_s_chk.h" // IWYU pragma: export
#include "SSystem/SComponent/c_bg_s_poly_info.h" // IWYU pragma: export
#include "SSystem/SComponent/c_bg_s_gnd_chk.h" // IWYU pragma: export
#include "SSystem/SComponent/c_m3d_g_cyl.h" // IWYU pragma: export
#include "m_Do/m_Do_hostIO.h" // IWYU pragma: export
#include "f_op/f_op_actor.h" // IWYU pragma: export
#include "d/d_bg_s_gnd_chk.h" // IWYU pragma: export
#include "d/d_bg_s_chk.h" // IWYU pragma: export
#include "d/d_bg_w.h" // IWYU pragma: export
#include "d/d_drawlist.h" // IWYU pragma: export
#include "d/d_com_inf_game.h" // IWYU pragma: export
#include "m_Do/m_Do_graphic.h" // IWYU pragma: export
#include "JSystem/J2DGraph/J2DOrthoGraph.h" // IWYU pragma: export