Some d_cc_d work

This commit is contained in:
LagoLunatic
2023-09-23 01:58:35 -04:00
parent a8ccae5d96
commit 7ed024acfd
3 changed files with 172 additions and 107 deletions
+5 -1
View File
@@ -346,10 +346,12 @@ public:
void setRPrm(s32 rprm) { mRPrm = rprm; }
s32 getRPrm() const { return mRPrm; }
cCcD_Obj* GetHitObj() { return mHitObj; }
void ClrObj() { mHitObj = NULL; }
u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
u32 MskRPrm(u32 mask) { return mRPrm & mask; }
void OnSPrmBit(u32 flag) { mSPrm |= flag; }
void OffSPrmBit(u32 flag) { mSPrm &= ~flag; }
void ClrRPrm(u32 flag) { mRPrm &= ~flag; }
void Set(cCcD_SrcObjCommonBase const& src) {
mSPrm = src.mSPrm;
@@ -364,7 +366,7 @@ public:
virtual ~cCcD_ObjAt() {}
void SetHit(cCcD_Obj*);
void Set(cCcD_SrcObjAt const&);
void ClrHit();
void ClrHit() { ClrObj(); }
int GetType() const { return mType; }
u32 GetGrp() const { return MskSPrm(0x1E); }
bool ChkSet() const { return MskSPrm(1); }
@@ -373,6 +375,7 @@ public:
void SetType(u32 type) { mType = type; }
void SetAtp(int atp) { mAtp = atp; }
void ClrSet() { OffSPrmBit(1); }
void OffHitBit() { ClrRPrm(1); }
u32 ChkHit() { return MskRPrm(1); }
protected:
@@ -470,6 +473,7 @@ public:
void SetTgType(u32 type) { mObjTg.SetType(type); }
void OnTgSPrmBit(u32 flag) { mObjTg.OnSPrmBit(flag); }
void OffAtSetBit() { mObjAt.ClrSet(); }
void OffAtHitBit() { mObjAt.OffHitBit(); }
void OnTgSetBit() { mObjTg.OnSPrmBit(1); }
void OffTgSetBit() { mObjTg.ClrSet(); }
void OnCoSetBit() { mObjCo.OnSPrmBit(1); }
+15 -10
View File
@@ -68,7 +68,7 @@ struct dCcD_SrcCps {
class dCcD_GStts : public cCcD_GStts {
public:
dCcD_GStts();
virtual ~dCcD_GStts() {}
virtual ~dCcD_GStts();
void Ct();
void Move();
@@ -108,7 +108,7 @@ public:
virtual void Ct();
virtual void ClrAt();
virtual void ClrTg();
virtual ~dCcD_Stts() {}
virtual ~dCcD_Stts();
}; // Size = 0x3C
@@ -129,15 +129,18 @@ public:
public:
dCcD_GAtTgCoCommonBase() { ct(); }
void ClrActorInfo();
void ClrActorInfo() {
mApid = -1;
mAc = NULL;
}
void ct();
void SetHitApid(unsigned int);
fopAc_ac_c* GetAc();
void Set(dCcD_SrcGAtTgCoCommonBase const&);
void SetEffCounterTimer();
void SubtractEffCounter();
bool ChkEffCounter();
virtual ~dCcD_GAtTgCoCommonBase() {}
void SubtractEffCounter() { mEffCounter -= 1; }
bool ChkEffCounter() { return mEffCounter >= 0; }
virtual ~dCcD_GAtTgCoCommonBase();
void ClrEffCounter() { mEffCounter = 0; }
u32 GetGFlag() const { return mGFlag; }
@@ -152,14 +155,13 @@ public:
bool ChkRPrm(u32 flag) const { return MskRPrm(flag); }
void SetHitCallback(dCcD_HitCallback callback) { mHitCallback = callback; }
dCcD_HitCallback GetHitCallback() { return mHitCallback; }
void ClrHit() { ClrActorInfo(); }
}; // Size = 0x1C
// Attack (At) Collider
class dCcD_GObjAt : public dCcD_GAtTgCoCommonBase {
public:
void Set(dCcD_SrcGObjAt const&);
virtual ~dCcD_GObjAt() {}
virtual ~dCcD_GObjAt();
void SetVec(cXyz& vec) { mVec = vec; }
cXyz& GetVec() { return mVec; }
cXyz* GetVecP() { return &mVec; }
@@ -174,6 +176,7 @@ public:
void SetRVec(cXyz& vec) { mRVec = vec; }
void SetHitPos(cXyz& pos) { mHitPos = pos; }
cXyz* GetHitPosP() { return &mHitPos; }
void ClrHit() { ClrActorInfo(); }
// private:
/* 0x1C */ u8 mSe;
@@ -189,7 +192,7 @@ public:
class dCcD_GObjTg : public dCcD_GAtTgCoCommonBase {
public:
void Set(dCcD_SrcGObjTg const&);
virtual ~dCcD_GObjTg() {}
virtual ~dCcD_GObjTg();
void SetSe(u8 se) { mSe = se; }
void SetVec(cXyz& vec) { mVec = vec; }
cXyz& GetVec() { return mVec; }
@@ -219,7 +222,7 @@ private:
// Correction (Co) Collider
class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase {
public:
virtual ~dCcD_GObjCo() {}
virtual ~dCcD_GObjCo();
void Set(dCcD_SrcGObjCo const& pSrc) { dCcD_GAtTgCoCommonBase::Set(pSrc.mBase); }
}; // Size = 0x1C ?
@@ -363,6 +366,8 @@ public:
void Set(dCcD_SrcCyl const&);
cCcD_ShapeAttr* GetShapeAttr() { return this; }
void StartCAt(cXyz&);
void StartCTg(cXyz&);
void MoveCAtTg(cXyz&);
void MoveCAt(cXyz&);
void MoveCTg(cXyz&);
virtual ~dCcD_Cyl() {}