Work on d_cc_d debug (#3002)

This commit is contained in:
hatal175
2025-12-29 14:12:01 +02:00
committed by GitHub
parent 1f391dc5bd
commit e77f841d35
162 changed files with 1162 additions and 662 deletions
+22 -14
View File
@@ -78,6 +78,10 @@ struct cCcD_SrcSphAttr {
cM3dGSphS mSph;
};
struct cCcD_SrcCylAttr {
cM3dGCylS mCyl;
};
class cCcD_DivideInfo {
private:
/* 0x00 */ u32 mXDivInfo;
@@ -214,7 +218,7 @@ public:
cCcD_Obj* GetHitObj() { return mHitObj; }
const cCcD_Obj* GetHitObj() const { return mHitObj; }
u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
u32 MskRPrm(u32 mask) { return mRPrm & mask; }
u32 MskRPrm(u32 mask) const { return mRPrm & mask; }
void OnSPrmBit(u32 flag) { mSPrm |= flag; }
void OffSPrmBit(u32 flag) { mSPrm &= ~flag; }
u32 ChkSPrm(u32 prm) const { return MskSPrm(prm); }
@@ -228,7 +232,8 @@ STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCommonBase));
#pragma pack(1)
class cCcD_ObjAt : public cCcD_ObjCommonBase {
public:
cCcD_ObjAt() { mType = 0; }
cCcD_ObjAt() { Ct(); }
void Ct() { mType = 0; }
virtual ~cCcD_ObjAt() {}
void SetHit(cCcD_Obj*);
void Set(cCcD_SrcObjAt const&);
@@ -241,7 +246,7 @@ public:
void SetType(u32 type) { mType = type; }
void SetAtp(int atp) { mAtp = atp; }
void ClrSet() { OffSPrmBit(1); }
u32 ChkHit() { return MskRPrm(1); }
u32 ChkHit() const { return MskRPrm(1); }
protected:
/* 0x10 */ int mType;
@@ -266,7 +271,7 @@ public:
u32 GetGrp() const { return MskSPrm(0x1E); }
bool ChkSet() const { return MskSPrm(1); }
void ClrSet() { OffSPrmBit(1); }
u32 ChkHit() { return MskRPrm(1); }
u32 ChkHit() const { return MskRPrm(1); }
private:
/* 0x10 */ int mType;
@@ -276,6 +281,8 @@ STATIC_ASSERT(0x14 == sizeof(cCcD_ObjTg));
class cCcD_ObjCo : public cCcD_ObjCommonBase {
public:
cCcD_ObjCo() { Ct(); }
void Ct() {}
virtual ~cCcD_ObjCo() {}
void SetHit(cCcD_Obj*);
void ClrHit();
@@ -292,7 +299,7 @@ public:
void OnCoSameActorHit() { OnSPrmBit(cCcD_ObjCommonBase::CO_SPRM_SAME_ACTOR_HIT); }
void OffCoSameActorHit() { OffSPrmBit(cCcD_ObjCommonBase::CO_SPRM_SAME_ACTOR_HIT); }
void ClrSet() { OffSPrmBit(1); }
u32 ChkHit() { return MskRPrm(1); }
u32 ChkHit() const { return MskRPrm(1); }
void Set(cCcD_SrcObjCo const& src) { cCcD_ObjCommonBase::Set(src.mBase); }
};
@@ -368,12 +375,12 @@ public:
void ClrAtHit() { mObjAt.ClrHit(); }
void ClrTgHit() { mObjTg.ClrHit(); }
void ClrCoHit() { mObjCo.ClrHit(); }
u32 ChkAtHit() { return mObjAt.ChkHit(); }
u32 ChkTgHit() { return mObjTg.ChkHit(); }
u32 ChkCoHit() { return mObjCo.ChkHit(); }
cCcD_Obj* GetAtHitObj() { return mObjAt.GetHitObj(); }
cCcD_Obj* GetTgHitObj() { return mObjTg.GetHitObj(); }
cCcD_Obj* GetCoHitObj() { return mObjCo.GetHitObj(); }
u32 ChkAtHit() const { return mObjAt.ChkHit(); }
u32 ChkTgHit() const { return mObjTg.ChkHit(); }
u32 ChkCoHit() const { return mObjCo.ChkHit(); }
cCcD_Obj* GetAtHitObj() const { return (cCcD_Obj*)mObjAt.GetHitObj(); }
cCcD_Obj* GetTgHitObj() const { return (cCcD_Obj*)mObjTg.GetHitObj(); }
cCcD_Obj* GetCoHitObj() const { return (cCcD_Obj*)mObjCo.GetHitObj(); }
u32 ChkAtSPrm(u32 prm) { return mObjAt.ChkSPrm(prm); }
u32 ChkCoSPrm(u32 prm) const { return mObjCo.ChkSPrm(prm); }
void OnTgNoSlingHitInfSet() { mObjTg.OnSPrmBit(0x40); }
@@ -463,9 +470,9 @@ class cCcD_GObjInf : public cCcD_Obj {
public:
cCcD_GObjInf() {}
virtual ~cCcD_GObjInf() {}
virtual void ClrAtHit() { mObjAt.ClrHit(); }
virtual void ClrTgHit() { mObjTg.ClrHit(); }
virtual void ClrCoHit() { mObjCo.ClrHit(); }
virtual void ClrAtHit() { cCcD_ObjHitInf::ClrAtHit(); }
virtual void ClrTgHit() { cCcD_ObjHitInf::ClrTgHit(); }
virtual void ClrCoHit() { cCcD_ObjHitInf::ClrCoHit(); }
virtual cCcD_GObjInf const* GetGObjInf() const { return this; }
virtual cCcD_GObjInf* GetGObjInf() { return this; }
};
@@ -582,6 +589,7 @@ public:
virtual void CalcAabBox();
virtual bool GetNVec(cXyz const&, cXyz*) const;
virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
void Set(const cCcD_SrcCylAttr& src) { cM3dGCyl::Set(src.mCyl); }
const cM3dGCyl* GetShapeP() const { return this; }
+7
View File
@@ -108,4 +108,11 @@ inline bool cM3d_Cross_CylSph(const cM3dGCyl* cyl, const cM3dGSph* sph, Vec* out
return cM3d_Cross_CylSph(cyl, sph, out, &sp10);
}
#ifdef DEBUG
bool cM3d_UpMtx_Base(const Vec& param_1, const Vec& param_2, Mtx param_3);
bool cM3d_UpMtx(const Vec& param_1, Mtx param_2);
#endif
#endif
+2 -1
View File
@@ -18,7 +18,7 @@ public:
void SetStartEnd(const cXyz&, const cXyz&);
void SetStartEnd(const Vec&, const Vec&);
void CalcPos(Vec*, f32) const;
void CalcVec(Vec* pOut) const { VECSubtract(&this->mEnd, &this->mStart, pOut); }
void CalcVec(Vec* pOut) const { PSVECSubtract(&this->mEnd, &this->mStart, pOut); }
void SetEnd(const cXyz&);
void set(const Vec& i_start, const Vec& i_end) { SetStartEnd(i_start, i_end); }
@@ -31,6 +31,7 @@ public:
cXyz& GetEndP(void) { return mEnd; }
cXyz& GetEnd() { return mEnd; }
const cXyz& GetEnd() const { return mEnd; }
f32 GetLen() const { return PSVECDistance(&mStart, &mEnd); }
}; // Size = 0x1C
STATIC_ASSERT(0x1C == sizeof(cM3dGLin));
+17 -2
View File
@@ -103,7 +103,7 @@ struct dCcD_SrcTri {
struct dCcD_SrcCyl {
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
/* 0x30 */ cM3dGCylS mCyl;
/* 0x30 */ cCcD_SrcCylAttr mCylAttr;
}; // Size: 0x44
struct dCcD_SrcCps {
@@ -171,12 +171,13 @@ public:
void SetMtrl(u8 mtrl) { mMtrl = mtrl; }
void SetAtSpl(dCcG_At_Spl spl) { mSpl = spl; }
u8 GetSe() { return mSe; }
u8 GetSpl() { return mSpl; }
dCcG_At_Spl GetSpl() { return (dCcG_At_Spl)mSpl; }
u8 GetMtrl() { return mMtrl; }
u8 GetHitMark() { return mHitMark; }
void SetRVec(cXyz& vec) { mRVec = vec; }
void SetHitPos(cXyz& pos) { mHitPos = pos; }
cXyz* GetHitPosP() { return &mHitPos; }
void ClrHit() { dCcD_GAtTgCoCommonBase::ClrActorInfo(); }
// private:
/* 0x1C */ u8 mSe;
@@ -212,6 +213,7 @@ public:
void SetHitPos(cXyz& pos) { mHitPos = pos; }
cXyz* GetHitPosP() { return &mHitPos; }
u8 GetSe() { return mSe; }
void ClrHit() { dCcD_GAtTgCoCommonBase::ClrActorInfo(); }
private:
/* 0x1C */ u8 mSe;
@@ -231,6 +233,7 @@ class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase {
public:
virtual ~dCcD_GObjCo() {}
void Set(dCcD_SrcGObjCo const& pSrc) { dCcD_GAtTgCoCommonBase::Set(pSrc.mBase); }
void ClrHit() { dCcD_GAtTgCoCommonBase::ClrActorInfo(); }
}; // Size = 0x1C ?
class dCcD_GStts : public cCcD_GStts {
@@ -448,6 +451,9 @@ public:
void CalcTgVec();
virtual ~dCcD_Cps() {}
dCcD_Cps() {}
#if DEBUG
virtual void Draw(const GXColor& color);
#endif
}; // Size = 0x144
// Triangle
@@ -457,6 +463,9 @@ public:
cCcD_ShapeAttr* GetShapeAttr();
virtual ~dCcD_Tri() {}
dCcD_Tri() {}
#if DEBUG
virtual void Draw(const GXColor& color);
#endif
};
// Cylinder
@@ -469,6 +478,9 @@ public:
void MoveCTg(cXyz&);
virtual ~dCcD_Cyl() {}
dCcD_Cyl() {}
#if DEBUG
virtual void Draw(const GXColor& color);
#endif
}; // Size = 0x13C
// Sphere
@@ -480,6 +492,9 @@ public:
void MoveCAt(cXyz&);
virtual cCcD_ShapeAttr* GetShapeAttr();
virtual ~dCcD_Sph() {}
#if DEBUG
virtual void Draw(const GXColor& color);
#endif
}; // Size = 0x138
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* param_0);
+4
View File
@@ -100,6 +100,10 @@ inline void cMtx_copy(const Mtx src, Mtx dst) {
mDoMtx_copy(src, dst);
}
inline void cMtx_trans(Mtx pDest, f32 x, f32 y, f32 z) {
mDoMtx_trans(pDest, x, y, z);
}
inline void cMtx_multVecArray(const Mtx mtx, const Vec* src, Vec* dst, u32 count) {
mDoMtx_multVecArray(mtx, src, dst, count);
}