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));