diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/SSystem/SComponent/c_cc_d.h | 6 | ||||
| -rw-r--r-- | include/d/d_cc_d.h | 25 |
2 files changed, 20 insertions, 11 deletions
diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 92646924..6c1ff340 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -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); } diff --git a/include/d/d_cc_d.h b/include/d/d_cc_d.h index f2fb07ea..e22f5f1e 100644 --- a/include/d/d_cc_d.h +++ b/include/d/d_cc_d.h @@ -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() {} |
