mirror of
https://github.com/zeldaret/tp
synced 2026-07-08 14:36:36 -04:00
Work on d_cc_d debug (#3002)
This commit is contained in:
@@ -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; }
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user