mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
d_cc_d_nonmatching
This commit is contained in:
@@ -124,9 +124,20 @@ public:
|
|||||||
cCcD_TriAttr() {}
|
cCcD_TriAttr() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct cCcD_SrcCpsAttr {
|
||||||
|
cM3dGCpsS mCps;
|
||||||
|
};
|
||||||
|
|
||||||
class cCcD_CpsAttr : public cCcD_ShapeAttr, public cM3dGCps {
|
class cCcD_CpsAttr : public cCcD_ShapeAttr, public cM3dGCps {
|
||||||
public:
|
public:
|
||||||
cCcD_CpsAttr() {}
|
cCcD_CpsAttr() {}
|
||||||
|
void Set(const cCcD_SrcCpsAttr& pSrc) {
|
||||||
|
cM3dGCps::Set(pSrc.mCps);
|
||||||
|
}
|
||||||
|
void Set(const cXyz& pStart, const cXyz& pEnd, float radius) {
|
||||||
|
cM3dGCps::Set(pStart, pEnd, radius);
|
||||||
|
}
|
||||||
|
|
||||||
/* 80085450 */ virtual ~cCcD_CpsAttr() {}
|
/* 80085450 */ virtual ~cCcD_CpsAttr() {}
|
||||||
/* 80263DC0 */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
/* 80263DC0 */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||||
/* 80263E04 */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
/* 80263E04 */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||||
@@ -152,13 +163,15 @@ public:
|
|||||||
|
|
||||||
STATIC_ASSERT(0x40 == sizeof(cCcD_CpsAttr));
|
STATIC_ASSERT(0x40 == sizeof(cCcD_CpsAttr));
|
||||||
|
|
||||||
class cCcD_SrcSphAttr : public cM3dGSphS {};
|
struct cCcD_SrcSphAttr {
|
||||||
|
cM3dGSphS mSph;
|
||||||
|
};
|
||||||
|
|
||||||
class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph {
|
class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph {
|
||||||
public:
|
public:
|
||||||
cCcD_SphAttr() {}
|
cCcD_SphAttr() {}
|
||||||
void Set(const cCcD_SrcSphAttr& src) {
|
void Set(const cCcD_SrcSphAttr& src) {
|
||||||
cM3dGSph::Set(src);
|
cM3dGSph::Set(src.mSph);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 8008721C */ virtual ~cCcD_SphAttr() {}
|
/* 8008721C */ virtual ~cCcD_SphAttr() {}
|
||||||
@@ -339,8 +352,9 @@ public:
|
|||||||
s32 getSPrm() const { return mSPrm; }
|
s32 getSPrm() const { return mSPrm; }
|
||||||
void setRPrm(s32 rprm) { mRPrm = rprm; }
|
void setRPrm(s32 rprm) { mRPrm = rprm; }
|
||||||
s32 getRPrm() const { return mRPrm; }
|
s32 getRPrm() const { return mRPrm; }
|
||||||
cCcD_Obj* getHitObj() { return mHitObj; }
|
cCcD_Obj* GetHitObj() { return mHitObj; }
|
||||||
u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
|
u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
|
||||||
|
u32 MskRPrm(u32 mask) { return mRPrm & mask; }
|
||||||
void OnSPrmBit(u32 flag) { mSPrm |= flag; }
|
void OnSPrmBit(u32 flag) { mSPrm |= flag; }
|
||||||
void OffSPrmBit(u32 flag) { mSPrm &= ~flag; }
|
void OffSPrmBit(u32 flag) { mSPrm &= ~flag; }
|
||||||
};
|
};
|
||||||
@@ -362,6 +376,7 @@ public:
|
|||||||
void SetType(u32 type) { mType = type; }
|
void SetType(u32 type) { mType = type; }
|
||||||
void SetAtp(int atp) { mAtp = atp; }
|
void SetAtp(int atp) { mAtp = atp; }
|
||||||
void ClrSet() { OffSPrmBit(1); }
|
void ClrSet() { OffSPrmBit(1); }
|
||||||
|
u32 ChkHit() { return MskRPrm(1); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/* 0x10 */ int mType;
|
/* 0x10 */ int mType;
|
||||||
@@ -383,6 +398,7 @@ public:
|
|||||||
u32 GetGrp() const { return MskSPrm(0x1E); }
|
u32 GetGrp() const { return MskSPrm(0x1E); }
|
||||||
bool ChkSet() const { return MskSPrm(1); }
|
bool ChkSet() const { return MskSPrm(1); }
|
||||||
void ClrSet() { OffSPrmBit(1); }
|
void ClrSet() { OffSPrmBit(1); }
|
||||||
|
u32 ChkHit() { return MskRPrm(1); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/* 0x10 */ int mType;
|
/* 0x10 */ int mType;
|
||||||
@@ -404,6 +420,7 @@ public:
|
|||||||
u32 ChkNoCrr() const { return MskSPrm(0x100); }
|
u32 ChkNoCrr() const { return MskSPrm(0x100); }
|
||||||
u32 ChkSph3DCrr() const { return MskSPrm(0x80); }
|
u32 ChkSph3DCrr() const { return MskSPrm(0x80); }
|
||||||
void ClrSet() { OffSPrmBit(1); }
|
void ClrSet() { OffSPrmBit(1); }
|
||||||
|
u32 ChkHit() { return MskRPrm(1); }
|
||||||
};
|
};
|
||||||
|
|
||||||
STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCo));
|
STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCo));
|
||||||
@@ -460,6 +477,15 @@ public:
|
|||||||
void OnCoSPrmBit(u32 flag) { mObjCo.OnSPrmBit(flag); }
|
void OnCoSPrmBit(u32 flag) { mObjCo.OnSPrmBit(flag); }
|
||||||
void SetTgSPrm(u32 prm) { mObjTg.SetSPrm(prm); }
|
void SetTgSPrm(u32 prm) { mObjTg.SetSPrm(prm); }
|
||||||
void SetCoSPrm(u32 prm) { mObjCo.SetSPrm(prm); }
|
void SetCoSPrm(u32 prm) { mObjCo.SetSPrm(prm); }
|
||||||
|
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(); }
|
||||||
|
|
||||||
}; // Size = 0x40
|
}; // Size = 0x40
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public:
|
|||||||
bool cross(const cM3dGSph*, cXyz*) const;
|
bool cross(const cM3dGSph*, cXyz*) const;
|
||||||
bool cross(const cM3dGCyl*, cXyz*) const;
|
bool cross(const cM3dGCyl*, cXyz*) const;
|
||||||
void calcMinMax(cXyz*, cXyz*);
|
void calcMinMax(cXyz*, cXyz*);
|
||||||
const cXyz& GetCP(void) const { return mCenter; }
|
const cXyz* GetCP(void) const { return &mCenter; }
|
||||||
f32 GetR(void) const { return mRadius; }
|
f32 GetR(void) const { return mRadius; }
|
||||||
f32 GetH(void) const { return mHeight; }
|
f32 GetH(void) const { return mHeight; }
|
||||||
cXyz& GetC() { return mCenter; }
|
cXyz& GetC() { return mCenter; }
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ public:
|
|||||||
bool cross(const cM3dGCyl*, cXyz*) const;
|
bool cross(const cM3dGCyl*, cXyz*) const;
|
||||||
void GetMinMaxCube(cXyz&, cXyz&) const;
|
void GetMinMaxCube(cXyz&, cXyz&) const;
|
||||||
const cXyz& GetC(void) const { return mCenter; }
|
const cXyz& GetC(void) const { return mCenter; }
|
||||||
|
const cXyz* GetCP() const { return &mCenter; }
|
||||||
const f32 GetR(void) const { return mRadius; }
|
const f32 GetR(void) const { return mRadius; }
|
||||||
f32 GetCX(void) const { return mCenter.x; }
|
f32 GetCX(void) const { return mCenter.x; }
|
||||||
f32 GetCY(void) const { return mCenter.y; }
|
f32 GetCY(void) const { return mCenter.y; }
|
||||||
|
|||||||
+40
-14
@@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "SSystem/SComponent/c_cc_d.h"
|
#include "SSystem/SComponent/c_cc_d.h"
|
||||||
|
#include "Z2AudioLib/Z2SeMgr.h"
|
||||||
#include "dolphin/types.h"
|
#include "dolphin/types.h"
|
||||||
|
|
||||||
enum dCcD_hitSe {
|
enum dCcD_hitSe {
|
||||||
@@ -66,16 +67,20 @@ struct dCcD_SrcGObjTg {
|
|||||||
/* 0x4 */ dCcD_SrcGAtTgCoCommonBase mBase;
|
/* 0x4 */ dCcD_SrcGAtTgCoCommonBase mBase;
|
||||||
}; // Size: 0x8
|
}; // Size: 0x8
|
||||||
|
|
||||||
|
struct dCcD_SrcGObjCo {
|
||||||
|
/* 0x0 */ dCcD_SrcGAtTgCoCommonBase mBase;
|
||||||
|
}; // Size: 0x4
|
||||||
|
|
||||||
struct dCcD_SrcGObjInf {
|
struct dCcD_SrcGObjInf {
|
||||||
/* 0x00 */ cCcD_SrcObj mObj;
|
/* 0x00 */ cCcD_SrcObj mObj;
|
||||||
/* 0x1C */ dCcD_SrcGObjAt mGObjAt;
|
/* 0x1C */ dCcD_SrcGObjAt mGObjAt;
|
||||||
/* 0x24 */ dCcD_SrcGObjTg mGObjTg;
|
/* 0x24 */ dCcD_SrcGObjTg mGObjTg;
|
||||||
/* 0x2C */ dCcD_SrcGAtTgCoCommonBase mGObjCo;
|
/* 0x2C */ dCcD_SrcGObjCo mGObjCo;
|
||||||
}; // Size: 0x30
|
}; // Size: 0x30
|
||||||
|
|
||||||
struct dCcD_SrcSph {
|
struct dCcD_SrcSph {
|
||||||
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
||||||
/* 0x30 */ cM3dGSphS mSph;
|
/* 0x30 */ cCcD_SrcSphAttr mSphAttr;
|
||||||
}; // Size: 0x40
|
}; // Size: 0x40
|
||||||
|
|
||||||
struct dCcD_SrcTri {
|
struct dCcD_SrcTri {
|
||||||
@@ -89,7 +94,7 @@ struct dCcD_SrcCyl {
|
|||||||
|
|
||||||
struct dCcD_SrcCps {
|
struct dCcD_SrcCps {
|
||||||
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
||||||
/* 0x30 */ cM3dGCpsS mCps;
|
/* 0x30 */ cCcD_SrcCpsAttr mCpsAttr;
|
||||||
}; // Size: 0x4C
|
}; // Size: 0x4C
|
||||||
|
|
||||||
class dCcD_GStts : public cCcD_GStts {
|
class dCcD_GStts : public cCcD_GStts {
|
||||||
@@ -98,6 +103,7 @@ public:
|
|||||||
/* 800837F8 */ void Ct();
|
/* 800837F8 */ void Ct();
|
||||||
/* 80083830 */ void Move();
|
/* 80083830 */ void Move();
|
||||||
/* 8008523C */ virtual ~dCcD_GStts() {}
|
/* 8008523C */ virtual ~dCcD_GStts() {}
|
||||||
|
void ClrAt() { mAt = 0; }
|
||||||
void ClrTg() { mTg = 0; }
|
void ClrTg() { mTg = 0; }
|
||||||
void SetAtApid(unsigned int id) { mAtApid = id; }
|
void SetAtApid(unsigned int id) { mAtApid = id; }
|
||||||
void SetTgApid(unsigned int id) { mTgApid = id; }
|
void SetTgApid(unsigned int id) { mTgApid = id; }
|
||||||
@@ -111,6 +117,7 @@ public:
|
|||||||
void SetAtSpl(dCcG_At_Spl spl) { mAt = spl; }
|
void SetAtSpl(dCcG_At_Spl spl) { mAt = spl; }
|
||||||
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTg; }
|
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTg; }
|
||||||
void SetTgSpl(dCcG_Tg_Spl spl) { mTg = spl; }
|
void SetTgSpl(dCcG_Tg_Spl spl) { mTg = spl; }
|
||||||
|
void OnNoActor() { field_0x1C |= 1; }
|
||||||
|
|
||||||
// private:
|
// private:
|
||||||
/* 0x04 */ u8 mAt;
|
/* 0x04 */ u8 mAt;
|
||||||
@@ -127,11 +134,11 @@ public:
|
|||||||
class dCcD_Stts : public cCcD_Stts, public dCcD_GStts {
|
class dCcD_Stts : public cCcD_Stts, public dCcD_GStts {
|
||||||
public:
|
public:
|
||||||
dCcD_Stts() {}
|
dCcD_Stts() {}
|
||||||
/* 80083850 */ cCcD_GStts* GetGStts();
|
/* 80083850 */ virtual cCcD_GStts* GetGStts();
|
||||||
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
|
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
|
||||||
/* 800838F4 */ void Ct();
|
/* 800838F4 */ virtual void Ct();
|
||||||
/* 80083928 */ void ClrAt();
|
/* 80083928 */ virtual void ClrAt();
|
||||||
/* 80083934 */ void ClrTg();
|
/* 80083934 */ virtual void ClrTg();
|
||||||
/* 800851AC */ virtual ~dCcD_Stts() {}
|
/* 800851AC */ virtual ~dCcD_Stts() {}
|
||||||
|
|
||||||
}; // Size = 0x3C
|
}; // Size = 0x3C
|
||||||
@@ -164,7 +171,7 @@ public:
|
|||||||
/* 80083748 */ bool ChkEffCounter();
|
/* 80083748 */ bool ChkEffCounter();
|
||||||
/* 80083CA0 */ virtual ~dCcD_GAtTgCoCommonBase() {}
|
/* 80083CA0 */ virtual ~dCcD_GAtTgCoCommonBase() {}
|
||||||
|
|
||||||
void ResetEffCounter() { mEffCounter = 0; }
|
void ClrEffCounter() { mEffCounter = 0; }
|
||||||
u32 GetGFlag() const { return mGFlag; }
|
u32 GetGFlag() const { return mGFlag; }
|
||||||
u32 GetRPrm() const { return mRPrm; }
|
u32 GetRPrm() const { return mRPrm; }
|
||||||
u32 MskSPrm(u32 mask) const { return mGFlag & mask; }
|
u32 MskSPrm(u32 mask) const { return mGFlag & mask; }
|
||||||
@@ -173,9 +180,11 @@ public:
|
|||||||
void OnSPrm(u32 flag) { mGFlag |= flag; }
|
void OnSPrm(u32 flag) { mGFlag |= flag; }
|
||||||
void OnRPrm(u32 flag) { mRPrm |= flag; }
|
void OnRPrm(u32 flag) { mRPrm |= flag; }
|
||||||
void OffSPrm(u32 flag) { mGFlag &= ~flag; }
|
void OffSPrm(u32 flag) { mGFlag &= ~flag; }
|
||||||
|
void OffRPrm(u32 flag) { mRPrm &= ~flag; }
|
||||||
bool ChkRPrm(u32 flag) const { return MskRPrm(flag); }
|
bool ChkRPrm(u32 flag) const { return MskRPrm(flag); }
|
||||||
void SetHitCallback(dCcD_HitCallback callback) { mHitCallback = callback; }
|
void SetHitCallback(dCcD_HitCallback callback) { mHitCallback = callback; }
|
||||||
dCcD_HitCallback GetHitCallback() { return mHitCallback; }
|
dCcD_HitCallback GetHitCallback() { return mHitCallback; }
|
||||||
|
void ClrHit() { ClrActorInfo(); }
|
||||||
}; // Size = 0x1C
|
}; // Size = 0x1C
|
||||||
|
|
||||||
|
|
||||||
@@ -243,6 +252,7 @@ private:
|
|||||||
class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase {
|
class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase {
|
||||||
public:
|
public:
|
||||||
/* 80083B8C */ virtual ~dCcD_GObjCo() {}
|
/* 80083B8C */ virtual ~dCcD_GObjCo() {}
|
||||||
|
void Set(dCcD_SrcGObjCo const& pSrc) { dCcD_GAtTgCoCommonBase::Set(pSrc.mBase); }
|
||||||
}; // Size = 0x1C ?
|
}; // Size = 0x1C ?
|
||||||
|
|
||||||
// Object Info
|
// Object Info
|
||||||
@@ -250,21 +260,21 @@ class dCcD_GObjInf : public cCcD_GObjInf {
|
|||||||
public:
|
public:
|
||||||
/* 80083A28 */ dCcD_GObjInf();
|
/* 80083A28 */ dCcD_GObjInf();
|
||||||
/* 800840E4 */ virtual ~dCcD_GObjInf();
|
/* 800840E4 */ virtual ~dCcD_GObjInf();
|
||||||
/* 80084268 */ cCcD_GObjInf* GetGObjInf();
|
/* 80084268 */ virtual cCcD_GObjInf* GetGObjInf();
|
||||||
/* 8008426C */ virtual void ClrAtHit();
|
/* 8008426C */ virtual void ClrAtHit();
|
||||||
/* 800842C0 */ u32 ChkAtHit();
|
/* 800842C0 */ u32 ChkAtHit();
|
||||||
/* 80084318 */ void ResetAtHit();
|
/* 80084318 */ void ResetAtHit();
|
||||||
/* 80084358 */ cCcD_Obj* GetAtHitObj();
|
/* 80084358 */ cCcD_Obj* GetAtHitObj();
|
||||||
/* 800843A8 */ cCcD_GObjInf* GetAtHitGObj();
|
/* 800843A8 */ cCcD_GObjInf* GetAtHitGObj();
|
||||||
/* 800843DC */ bool ChkAtNoGuard();
|
/* 800843DC */ u8 ChkAtNoGuard();
|
||||||
/* 800843FC */ void ClrTgHit();
|
/* 800843FC */ virtual void ClrTgHit();
|
||||||
/* 80084460 */ u32 ChkTgHit();
|
/* 80084460 */ u32 ChkTgHit();
|
||||||
/* 800844B8 */ void ResetTgHit();
|
/* 800844B8 */ void ResetTgHit();
|
||||||
/* 800844F8 */ cCcD_Obj* GetTgHitObj();
|
/* 800844F8 */ cCcD_Obj* GetTgHitObj();
|
||||||
/* 80084548 */ dCcD_GObjInf* GetTgHitGObj();
|
/* 80084548 */ dCcD_GObjInf* GetTgHitGObj();
|
||||||
/* 8008457C */ u8 GetTgHitObjSe();
|
/* 8008457C */ u8 GetTgHitObjSe();
|
||||||
/* 800845B0 */ static u32 getHitSeID(u8, int);
|
/* 800845B0 */ static Z2SoundID getHitSeID(u8, int);
|
||||||
/* 8008460C */ void ClrCoHit();
|
/* 8008460C */ virtual void ClrCoHit();
|
||||||
/* 80084658 */ u32 ChkCoHit();
|
/* 80084658 */ u32 ChkCoHit();
|
||||||
/* 800846B0 */ void ResetCoHit();
|
/* 800846B0 */ void ResetCoHit();
|
||||||
/* 800846F0 */ cCcD_Obj* GetCoHitObj();
|
/* 800846F0 */ cCcD_Obj* GetCoHitObj();
|
||||||
@@ -273,6 +283,7 @@ public:
|
|||||||
fopAc_ac_c* GetCoHitAc() { return mGObjCo.GetAc(); }
|
fopAc_ac_c* GetCoHitAc() { return mGObjCo.GetAc(); }
|
||||||
|
|
||||||
void SetAtVec(cXyz& vec) { mGObjAt.SetVec(vec); }
|
void SetAtVec(cXyz& vec) { mGObjAt.SetVec(vec); }
|
||||||
|
void SetTgVec(cXyz& vec) { mGObjTg.SetVec(vec); }
|
||||||
bool ChkAtNoMass() const { return mGObjAt.ChkSPrm(8); }
|
bool ChkAtNoMass() const { return mGObjAt.ChkSPrm(8); }
|
||||||
void OnAtNoHitMark() { mGObjAt.OnSPrm(2); }
|
void OnAtNoHitMark() { mGObjAt.OnSPrm(2); }
|
||||||
void OffAtNoHitMark() { mGObjAt.OffSPrm(2); }
|
void OffAtNoHitMark() { mGObjAt.OffSPrm(2); }
|
||||||
@@ -326,8 +337,14 @@ public:
|
|||||||
void SetAtHitApid(unsigned int apid) { mGObjAt.SetHitApid(apid); }
|
void SetAtHitApid(unsigned int apid) { mGObjAt.SetHitApid(apid); }
|
||||||
void SetTgHitApid(unsigned int apid) { mGObjTg.SetHitApid(apid); }
|
void SetTgHitApid(unsigned int apid) { mGObjTg.SetHitApid(apid); }
|
||||||
void OnCoHitNoActor() { mGObjCo.OnRPrm(1); }
|
void OnCoHitNoActor() { mGObjCo.OnRPrm(1); }
|
||||||
|
void OffCoHitNoActor() { mGObjCo.OffRPrm(1); }
|
||||||
void OnAtHitNoActor() { mGObjAt.OnRPrm(2); }
|
void OnAtHitNoActor() { mGObjAt.OnRPrm(2); }
|
||||||
|
void OffAtHitNoActor() { mGObjAt.OffRPrm(2); }
|
||||||
void OnTgHitNoActor() { mGObjTg.OnRPrm(1); }
|
void OnTgHitNoActor() { mGObjTg.OnRPrm(1); }
|
||||||
|
void OffTgHitNoActor() { mGObjTg.OffRPrm(1); }
|
||||||
|
bool ChkCoHitNoActor() const { return mGObjCo.ChkRPrm(1); }
|
||||||
|
bool ChkAtHitNoActor() const { return mGObjAt.ChkRPrm(2); }
|
||||||
|
bool ChkTgHitNoActor() const { return mGObjTg.ChkRPrm(1); }
|
||||||
bool ChkTgWolfSpNoDamage() { return mGObjTg.ChkSPrm(0x800); }
|
bool ChkTgWolfSpNoDamage() { return mGObjTg.ChkSPrm(0x800); }
|
||||||
bool ChkAtNoHitMark() { return mGObjAt.ChkSPrm(2); }
|
bool ChkAtNoHitMark() { return mGObjAt.ChkSPrm(2); }
|
||||||
bool ChkTgNoHitMark() { return mGObjTg.ChkSPrm(4); }
|
bool ChkTgNoHitMark() { return mGObjTg.ChkSPrm(4); }
|
||||||
@@ -338,17 +355,26 @@ public:
|
|||||||
int GetAtHitMark() { return mGObjAt.GetHitMark(); }
|
int GetAtHitMark() { return mGObjAt.GetHitMark(); }
|
||||||
bool ChkAtEffCounter() { return mGObjAt.ChkEffCounter(); }
|
bool ChkAtEffCounter() { return mGObjAt.ChkEffCounter(); }
|
||||||
bool ChkTgEffCounter() { return mGObjTg.ChkEffCounter(); }
|
bool ChkTgEffCounter() { return mGObjTg.ChkEffCounter(); }
|
||||||
|
void ClrAtEffCounter() { mGObjAt.ClrEffCounter(); }
|
||||||
|
void ClrTgEffCounter() { mGObjTg.ClrEffCounter(); }
|
||||||
|
void ClrCoEffCounter() { mGObjCo.ClrEffCounter(); }
|
||||||
void SetAtEffCounterTimer() { mGObjAt.SetEffCounterTimer(); }
|
void SetAtEffCounterTimer() { mGObjAt.SetEffCounterTimer(); }
|
||||||
void SetTgEffCounterTimer() { mGObjTg.SetEffCounterTimer(); }
|
void SetTgEffCounterTimer() { mGObjTg.SetEffCounterTimer(); }
|
||||||
|
void SubtractAtEffCounter() { mGObjAt.SubtractEffCounter(); }
|
||||||
|
void SubtractTgEffCounter() { mGObjTg.SubtractEffCounter(); }
|
||||||
|
void SubtractCoEffCounter() { mGObjCo.SubtractEffCounter(); }
|
||||||
void OnTgShieldHit() { mGObjTg.OnRPrm(2); }
|
void OnTgShieldHit() { mGObjTg.OnRPrm(2); }
|
||||||
|
void OffTgShieldHit() { mGObjTg.OffRPrm(2); }
|
||||||
void OnAtShieldHit() { mGObjAt.OnRPrm(1); }
|
void OnAtShieldHit() { mGObjAt.OnRPrm(1); }
|
||||||
|
void OffAtShieldHit() { mGObjAt.OffRPrm(1); }
|
||||||
|
void OffTgMagneHit() { mGObjTg.OffRPrm(4); }
|
||||||
void SetTgRVec(cXyz& vec) { mGObjTg.SetRVec(vec); }
|
void SetTgRVec(cXyz& vec) { mGObjTg.SetRVec(vec); }
|
||||||
void SetAtRVec(cXyz& vec) { mGObjAt.SetRVec(vec); }
|
void SetAtRVec(cXyz& vec) { mGObjAt.SetRVec(vec); }
|
||||||
void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); }
|
void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); }
|
||||||
void SetAtHitPos(cXyz& pos) { mGObjAt.SetHitPos(pos); }
|
void SetAtHitPos(cXyz& pos) { mGObjAt.SetHitPos(pos); }
|
||||||
u32 GetTgHitObjHitSeID(int i_soundID) { return getHitSeID(GetTgHitObjSe(),i_soundID); }
|
u32 GetTgHitObjHitSeID(int i_soundID) { return getHitSeID(GetTgHitObjSe(),i_soundID); }
|
||||||
|
|
||||||
static u32 const m_hitSeID[24];
|
static const Z2SoundID m_hitSeID[24];
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/* 0x058 */ dCcD_GObjAt mGObjAt;
|
/* 0x058 */ dCcD_GObjAt mGObjAt;
|
||||||
|
|||||||
@@ -296,17 +296,17 @@ bool cM3d_Cross_AabAab(const cM3dGAab* pAabA, const cM3dGAab* pAabB) {
|
|||||||
/* 80268B0C-80268BB4 26344C 00A8+00 0/0 4/4 0/0 .text cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl
|
/* 80268B0C-80268BB4 26344C 00A8+00 0/0 4/4 0/0 .text cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl
|
||||||
*/
|
*/
|
||||||
bool cM3d_Cross_AabCyl(const cM3dGAab* pAab, const cM3dGCyl* pCyl) {
|
bool cM3d_Cross_AabCyl(const cM3dGAab* pAab, const cM3dGCyl* pCyl) {
|
||||||
if (pAab->getMinP().x > pCyl->GetCP().x + pCyl->GetR()) {
|
if (pAab->getMinP().x > pCyl->GetCP()->x + pCyl->GetR()) {
|
||||||
return false;
|
return false;
|
||||||
} else if (pAab->getMaxP().x < pCyl->GetCP().x - pCyl->GetR()) {
|
} else if (pAab->getMaxP().x < pCyl->GetCP()->x - pCyl->GetR()) {
|
||||||
return false;
|
return false;
|
||||||
} else if (pAab->getMinP().z > pCyl->GetCP().z + pCyl->GetR()) {
|
} else if (pAab->getMinP().z > pCyl->GetCP()->z + pCyl->GetR()) {
|
||||||
return false;
|
return false;
|
||||||
} else if (pAab->getMaxP().z < pCyl->GetCP().z - pCyl->GetR()) {
|
} else if (pAab->getMaxP().z < pCyl->GetCP()->z - pCyl->GetR()) {
|
||||||
return false;
|
return false;
|
||||||
} else if (pAab->getMinP().y > pCyl->GetCP().y + pCyl->GetH()) {
|
} else if (pAab->getMinP().y > pCyl->GetCP()->y + pCyl->GetH()) {
|
||||||
return false;
|
return false;
|
||||||
} else if (pAab->getMaxP().y < pCyl->GetCP().y) {
|
} else if (pAab->getMaxP().y < pCyl->GetCP()->y) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
@@ -1002,11 +1002,11 @@ static int cM3d_Cross_CylPntPnt(const cM3dGCyl* pCylinder, const Vec* pVecStart,
|
|||||||
|
|
||||||
/* 8026D0B0-8026D114 2679F0 0064+00 2/2 0/0 0/0 .text cM3d_Cross_CylPnt__FPC8cM3dGCylPC3Vec */
|
/* 8026D0B0-8026D114 2679F0 0064+00 2/2 0/0 0/0 .text cM3d_Cross_CylPnt__FPC8cM3dGCylPC3Vec */
|
||||||
bool cM3d_Cross_CylPnt(const cM3dGCyl* pCylinder, const Vec* pPoint) {
|
bool cM3d_Cross_CylPnt(const cM3dGCyl* pCylinder, const Vec* pPoint) {
|
||||||
f32 dX = pCylinder->GetCP().getXDiff(pPoint);
|
f32 dX = pCylinder->GetCP()->getXDiff(pPoint);
|
||||||
f32 dZ = pCylinder->GetCP().getZDiff(pPoint);
|
f32 dZ = pCylinder->GetCP()->getZDiff(pPoint);
|
||||||
f32 maxY = pCylinder->GetCP().y + pCylinder->GetH();
|
f32 maxY = pCylinder->GetCP()->y + pCylinder->GetH();
|
||||||
if (dX * dX + dZ * dZ < pCylinder->GetR() * pCylinder->GetR() &&
|
if (dX * dX + dZ * dZ < pCylinder->GetR() * pCylinder->GetR() &&
|
||||||
pCylinder->GetCP().y < pPoint->y && maxY > pPoint->y) {
|
pCylinder->GetCP()->y < pPoint->y && maxY > pPoint->y) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -70,10 +70,12 @@ static dCcD_SrcCps l_atCpsSrc = {
|
|||||||
{0},
|
{0},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{0.0f, 0.0f, 0.0f},
|
||||||
20.0f,
|
{0.0f, 0.0f, 0.0f},
|
||||||
},
|
20.0f,
|
||||||
|
},
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 804A2F18-804A31F8 000158 02E0+00 1/1 0/0 0/0 .text create__8daCrod_cFv */
|
/* 804A2F18-804A31F8 000158 02E0+00 1/1 0/0 0/0 .text create__8daCrod_cFv */
|
||||||
|
|||||||
@@ -51,9 +51,11 @@ static dCcD_SrcSph cc_sph_src = {
|
|||||||
{0},
|
{0},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{
|
||||||
100.0f,
|
{0.0f, 0.0f, 0.0f},
|
||||||
},
|
100.0f,
|
||||||
|
},
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 8046B400-8046B53C 000120 013C+00 1/0 0/0 0/0 .text daHitobj_Create__FP10fopAc_ac_c */
|
/* 8046B400-8046B53C 000120 013C+00 1/0 0/0 0/0 .text daHitobj_Create__FP10fopAc_ac_c */
|
||||||
|
|||||||
@@ -436,9 +436,11 @@ dCcD_SrcSph E_YM_n::cc_sph_src = {
|
|||||||
{0},
|
{0},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{
|
||||||
40.0f,
|
{0.0f, 0.0f, 0.0f},
|
||||||
},
|
40.0f,
|
||||||
|
},
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 80815B7C-80815B84 000078 0008+00 0/0 0/0 0/0 .data w_eff_id$5427 */
|
/* 80815B7C-80815B84 000078 0008+00 0/0 0/0 0/0 .data w_eff_id$5427 */
|
||||||
|
|||||||
@@ -198,9 +198,11 @@ const static dCcD_SrcSph l_sph_src = {
|
|||||||
{0},
|
{0},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{
|
||||||
50.0f,
|
{0.0f, 0.0f, 0.0f},
|
||||||
},
|
50.0f,
|
||||||
|
},
|
||||||
|
}
|
||||||
};
|
};
|
||||||
COMPILER_STRIP_GATE(0x80CECABC, &l_sph_src);
|
COMPILER_STRIP_GATE(0x80CECABC, &l_sph_src);
|
||||||
#pragma pop
|
#pragma pop
|
||||||
|
|||||||
@@ -410,9 +410,11 @@ static const dCcD_SrcSph l_sph_src = {
|
|||||||
{0},
|
{0},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{
|
||||||
100.0f,
|
{0.0f, 0.0f, 0.0f},
|
||||||
},
|
100.0f,
|
||||||
|
},
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 80D23E0C-80D23E10 000040 0004+00 2/6 0/0 0/0 .rodata @3715 */
|
/* 80D23E0C-80D23E10 000040 0004+00 2/6 0/0 0/0 .rodata @3715 */
|
||||||
|
|||||||
@@ -378,9 +378,11 @@ static int daObj_Web0_Create(fopAc_ac_c* i_this) {
|
|||||||
{0},
|
{0},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{
|
||||||
40.0f,
|
{0.0f, 0.0f, 0.0f},
|
||||||
},
|
40.0f,
|
||||||
|
},
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
int phase = dComIfG_resLoad(&_this->mPhase, "Obj_web0");
|
int phase = dComIfG_resLoad(&_this->mPhase, "Obj_web0");
|
||||||
|
|||||||
@@ -11287,8 +11287,10 @@ static dCcD_SrcSph l_sphSrc = {
|
|||||||
{0},
|
{0},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{
|
||||||
40.0f,
|
{0.0f, 0.0f, 0.0f},
|
||||||
|
40.0f,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -11316,9 +11318,11 @@ static dCcD_SrcCps l_atCpsSrc = {
|
|||||||
{0},
|
{0},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{
|
||||||
{0.0f, 0.0f, 0.0f},
|
{0.0f, 0.0f, 0.0f},
|
||||||
20.0f,
|
{0.0f, 0.0f, 0.0f},
|
||||||
|
20.0f,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -16,13 +16,13 @@
|
|||||||
|
|
||||||
/* 8008364C-80083660 07DF8C 0014+00 3/3 0/0 0/0 .text ClrActorInfo__22dCcD_GAtTgCoCommonBaseFv */
|
/* 8008364C-80083660 07DF8C 0014+00 3/3 0/0 0/0 .text ClrActorInfo__22dCcD_GAtTgCoCommonBaseFv */
|
||||||
void dCcD_GAtTgCoCommonBase::ClrActorInfo() {
|
void dCcD_GAtTgCoCommonBase::ClrActorInfo() {
|
||||||
mApid = 0xFFFFFFFF;
|
mApid = -1;
|
||||||
mAc = NULL;
|
mAc = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80083660-80083678 07DFA0 0018+00 1/1 0/0 0/0 .text ct__22dCcD_GAtTgCoCommonBaseFv */
|
/* 80083660-80083678 07DFA0 0018+00 1/1 0/0 0/0 .text ct__22dCcD_GAtTgCoCommonBaseFv */
|
||||||
void dCcD_GAtTgCoCommonBase::ct() {
|
void dCcD_GAtTgCoCommonBase::ct() {
|
||||||
mGFlag = NULL;
|
mGFlag = 0;
|
||||||
mRPrm = 0;
|
mRPrm = 0;
|
||||||
mHitCallback = NULL;
|
mHitCallback = NULL;
|
||||||
mEffCounter = 0;
|
mEffCounter = 0;
|
||||||
@@ -36,18 +36,16 @@ void dCcD_GAtTgCoCommonBase::SetHitApid(unsigned int hitApid) {
|
|||||||
|
|
||||||
/* 80083688-80083704 07DFC8 007C+00 6/6 17/17 43/43 .text GetAc__22dCcD_GAtTgCoCommonBaseFv */
|
/* 80083688-80083704 07DFC8 007C+00 6/6 17/17 43/43 .text GetAc__22dCcD_GAtTgCoCommonBaseFv */
|
||||||
fopAc_ac_c* dCcD_GAtTgCoCommonBase::GetAc() {
|
fopAc_ac_c* dCcD_GAtTgCoCommonBase::GetAc() {
|
||||||
if (mApid == 0xFFFFFFFF) {
|
if (mApid == -1) {
|
||||||
return NULL;
|
return NULL;
|
||||||
} else {
|
|
||||||
if (mAc == NULL) {
|
|
||||||
u32 apid = mApid;
|
|
||||||
mAc = static_cast<fopAc_ac_c*>(fopAcIt_Judge(fpcSch_JudgeByID, &apid));
|
|
||||||
if (mAc == NULL) {
|
|
||||||
mApid = 0xFFFFFFFF;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return mAc;
|
|
||||||
}
|
}
|
||||||
|
if (mAc == NULL) {
|
||||||
|
mAc = fopAcM_SearchByID(mApid);
|
||||||
|
if (mAc == NULL) {
|
||||||
|
mApid = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return mAc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80083704-80083718 07E044 0014+00 3/3 0/0 0/0 .text
|
/* 80083704-80083718 07E044 0014+00 3/3 0/0 0/0 .text
|
||||||
@@ -82,11 +80,11 @@ dCcD_GStts::dCcD_GStts() {
|
|||||||
mAt = 0;
|
mAt = 0;
|
||||||
mTg = 0;
|
mTg = 0;
|
||||||
mRoomId = 0;
|
mRoomId = 0;
|
||||||
field_0x08 = 0xFFFF;
|
field_0x08 = -1;
|
||||||
mAtApid = 0xFFFFFFFF;
|
mAtApid = -1;
|
||||||
mAtOldApid = 0xFFFFFFFF;
|
mAtOldApid = -1;
|
||||||
mTgApid = 0xFFFFFFFF;
|
mTgApid = -1;
|
||||||
mTgOldApid = 0xFFFFFFFF;
|
mTgOldApid = -1;
|
||||||
field_0x1C = 0;
|
field_0x1C = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,11 +93,11 @@ void dCcD_GStts::Ct() {
|
|||||||
mAt = 0;
|
mAt = 0;
|
||||||
mTg = 0;
|
mTg = 0;
|
||||||
mRoomId = 0;
|
mRoomId = 0;
|
||||||
field_0x08 = 0xFFFF;
|
field_0x08 = -1;
|
||||||
mAtApid = 0xFFFFFFFF;
|
mAtApid = -1;
|
||||||
mAtOldApid = 0xFFFFFFFF;
|
mAtOldApid = -1;
|
||||||
mTgApid = 0xFFFFFFFF;
|
mTgApid = -1;
|
||||||
mTgOldApid = 0xFFFFFFFF;
|
mTgOldApid = -1;
|
||||||
field_0x1C = 0;
|
field_0x1C = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,7 +120,7 @@ void dCcD_Stts::Init(int param_0, int param_1, fopAc_ac_c* pActor) {
|
|||||||
if (pActor != NULL) {
|
if (pActor != NULL) {
|
||||||
actorPid = fopAcM_GetID(pActor);
|
actorPid = fopAcM_GetID(pActor);
|
||||||
} else {
|
} else {
|
||||||
actorPid = 0xFFFFFFFF;
|
actorPid = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
cCcD_Stts::Init(param_0, param_1, pActor, actorPid);
|
cCcD_Stts::Init(param_0, param_1, pActor, actorPid);
|
||||||
@@ -132,13 +130,13 @@ void dCcD_Stts::Init(int param_0, int param_1, fopAc_ac_c* pActor) {
|
|||||||
roomNo = fopAcM_GetRoomNo(pActor);
|
roomNo = fopAcM_GetRoomNo(pActor);
|
||||||
} else {
|
} else {
|
||||||
roomNo = 0;
|
roomNo = 0;
|
||||||
field_0x1C |= 1;
|
OnNoActor();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (roomNo != -1) {
|
if (roomNo != -1) {
|
||||||
mRoomId = roomNo;
|
SetRoomId(roomNo);
|
||||||
} else {
|
} else {
|
||||||
mRoomId = 0;
|
SetRoomId(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,7 +148,8 @@ void dCcD_Stts::Ct() {
|
|||||||
|
|
||||||
/* 80083928-80083934 07E268 000C+00 1/0 0/0 0/0 .text ClrAt__9dCcD_SttsFv */
|
/* 80083928-80083934 07E268 000C+00 1/0 0/0 0/0 .text ClrAt__9dCcD_SttsFv */
|
||||||
void dCcD_Stts::ClrAt() {
|
void dCcD_Stts::ClrAt() {
|
||||||
mAt = 0;
|
cCcD_Stts::ClrAt();
|
||||||
|
dCcD_GStts::ClrAt();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80083934-80083944 07E274 0010+00 1/0 0/0 0/0 .text ClrTg__9dCcD_SttsFv */
|
/* 80083934-80083944 07E274 0010+00 1/0 0/0 0/0 .text ClrTg__9dCcD_SttsFv */
|
||||||
@@ -191,18 +190,18 @@ cCcD_GObjInf* dCcD_GObjInf::GetGObjInf() {
|
|||||||
|
|
||||||
/* 8008426C-800842C0 07EBAC 0054+00 5/0 0/0 0/0 .text ClrAtHit__12dCcD_GObjInfFv */
|
/* 8008426C-800842C0 07EBAC 0054+00 5/0 0/0 0/0 .text ClrAtHit__12dCcD_GObjInfFv */
|
||||||
void dCcD_GObjInf::ClrAtHit() {
|
void dCcD_GObjInf::ClrAtHit() {
|
||||||
mObjAt.ClrHit();
|
cCcD_ObjHitInf::ClrAtHit();
|
||||||
mGObjAt.ClrActorInfo();
|
mGObjAt.ClrHit();
|
||||||
mGObjAt.mRPrm &= ~1;
|
OffAtShieldHit();
|
||||||
mGObjAt.mRPrm &= ~2;
|
OffAtHitNoActor();
|
||||||
mGObjAt.SubtractEffCounter();
|
SubtractAtEffCounter();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 800842C0-80084318 07EC00 0058+00 0/0 12/12 78/78 .text ChkAtHit__12dCcD_GObjInfFv */
|
/* 800842C0-80084318 07EC00 0058+00 0/0 12/12 78/78 .text ChkAtHit__12dCcD_GObjInfFv */
|
||||||
s32 dCcD_GObjInf::ChkAtHit() {
|
u32 dCcD_GObjInf::ChkAtHit() {
|
||||||
if ((mObjAt.getRPrm() & 1) == 0) {
|
if (cCcD_ObjHitInf::ChkAtHit() == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
} else if ((mGObjAt.mRPrm & 2) == 0 && mGObjAt.GetAc() == NULL) {
|
} else if (ChkAtHitNoActor() == 0 && GetAtHitAc() == NULL) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
return 1;
|
return 1;
|
||||||
@@ -212,15 +211,15 @@ s32 dCcD_GObjInf::ChkAtHit() {
|
|||||||
/* 80084318-80084358 07EC58 0040+00 0/0 10/10 7/7 .text ResetAtHit__12dCcD_GObjInfFv */
|
/* 80084318-80084358 07EC58 0040+00 0/0 10/10 7/7 .text ResetAtHit__12dCcD_GObjInfFv */
|
||||||
void dCcD_GObjInf::ResetAtHit() {
|
void dCcD_GObjInf::ResetAtHit() {
|
||||||
ClrAtHit();
|
ClrAtHit();
|
||||||
mGObjAt.mEffCounter = 0;
|
ClrAtEffCounter();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80084358-800843A8 07EC98 0050+00 1/1 0/0 31/31 .text GetAtHitObj__12dCcD_GObjInfFv */
|
/* 80084358-800843A8 07EC98 0050+00 1/1 0/0 31/31 .text GetAtHitObj__12dCcD_GObjInfFv */
|
||||||
cCcD_Obj* dCcD_GObjInf::GetAtHitObj() {
|
cCcD_Obj* dCcD_GObjInf::GetAtHitObj() {
|
||||||
if ((mGObjAt.mRPrm & 2) == 0 && mGObjAt.GetAc() == NULL) {
|
if (ChkAtHitNoActor() == 0 && GetAtHitAc() == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
return mObjAt.getHitObj();
|
return cCcD_ObjHitInf::GetAtHitObj();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -235,36 +234,25 @@ cCcD_GObjInf* dCcD_GObjInf::GetAtHitGObj() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 800843DC-800843FC 07ED1C 0020+00 0/0 1/1 0/0 .text ChkAtNoGuard__12dCcD_GObjInfFv */
|
/* 800843DC-800843FC 07ED1C 0020+00 0/0 1/1 0/0 .text ChkAtNoGuard__12dCcD_GObjInfFv */
|
||||||
#ifdef NONMATCHING
|
u8 dCcD_GObjInf::ChkAtNoGuard() {
|
||||||
bool dCcD_GObjInf::ChkAtNoGuard() {
|
return GetAtSpl() >= 12;
|
||||||
return 12 < mGObjAt.mSpl;
|
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
#pragma push
|
|
||||||
#pragma optimization_level 0
|
|
||||||
#pragma optimizewithasm off
|
|
||||||
asm bool dCcD_GObjInf::ChkAtNoGuard() {
|
|
||||||
nofralloc
|
|
||||||
#include "asm/d/cc/d_cc_d/ChkAtNoGuard__12dCcD_GObjInfFv.s"
|
|
||||||
}
|
|
||||||
#pragma pop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* 800843FC-80084460 07ED3C 0064+00 5/0 0/0 0/0 .text ClrTgHit__12dCcD_GObjInfFv */
|
/* 800843FC-80084460 07ED3C 0064+00 5/0 0/0 0/0 .text ClrTgHit__12dCcD_GObjInfFv */
|
||||||
void dCcD_GObjInf::ClrTgHit() {
|
void dCcD_GObjInf::ClrTgHit() {
|
||||||
mObjTg.ClrHit();
|
cCcD_ObjHitInf::ClrTgHit();
|
||||||
mGObjTg.ClrActorInfo();
|
mGObjTg.ClrHit();
|
||||||
mGObjTg.mRPrm &= ~1;
|
OffTgHitNoActor();
|
||||||
mGObjTg.mRPrm &= ~2;
|
OffTgShieldHit();
|
||||||
mGObjTg.mRPrm &= ~4;
|
OffTgMagneHit();
|
||||||
mGObjTg.SubtractEffCounter();
|
SubtractTgEffCounter();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80084460-800844B8 07EDA0 0058+00 0/0 6/6 305/305 .text ChkTgHit__12dCcD_GObjInfFv */
|
/* 80084460-800844B8 07EDA0 0058+00 0/0 6/6 305/305 .text ChkTgHit__12dCcD_GObjInfFv */
|
||||||
bool dCcD_GObjInf::ChkTgHit() {
|
u32 dCcD_GObjInf::ChkTgHit() {
|
||||||
if ((mObjTg.getRPrm() & 1) == 0) {
|
if (cCcD_ObjHitInf::ChkTgHit() == 0) {
|
||||||
return false;
|
return false;
|
||||||
} else if ((mGObjTg.mRPrm & 1) == 0 && mGObjTg.GetAc() == NULL) {
|
} else if (ChkTgHitNoActor() == 0 && GetTgHitAc() == NULL) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
@@ -274,16 +262,16 @@ bool dCcD_GObjInf::ChkTgHit() {
|
|||||||
/* 800844B8-800844F8 07EDF8 0040+00 0/0 1/1 5/5 .text ResetTgHit__12dCcD_GObjInfFv */
|
/* 800844B8-800844F8 07EDF8 0040+00 0/0 1/1 5/5 .text ResetTgHit__12dCcD_GObjInfFv */
|
||||||
void dCcD_GObjInf::ResetTgHit() {
|
void dCcD_GObjInf::ResetTgHit() {
|
||||||
ClrTgHit();
|
ClrTgHit();
|
||||||
mGObjTg.mEffCounter = 0;
|
ClrTgEffCounter();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 800844F8-80084548 07EE38 0050+00 1/1 3/3 228/228 .text GetTgHitObj__12dCcD_GObjInfFv
|
/* 800844F8-80084548 07EE38 0050+00 1/1 3/3 228/228 .text GetTgHitObj__12dCcD_GObjInfFv
|
||||||
*/
|
*/
|
||||||
cCcD_Obj* dCcD_GObjInf::GetTgHitObj() {
|
cCcD_Obj* dCcD_GObjInf::GetTgHitObj() {
|
||||||
if ((mGObjTg.mRPrm & 1) == 0 && mGObjTg.GetAc() == NULL) {
|
if (ChkTgHitNoActor() == 0 && GetTgHitAc() == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
return mObjTg.getHitObj();
|
return cCcD_ObjHitInf::GetTgHitObj();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -304,13 +292,13 @@ u8 dCcD_GObjInf::GetTgHitObjSe() {
|
|||||||
if (objInf == NULL) {
|
if (objInf == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
return objInf->mGObjAt.mSe;
|
return objInf->GetAtSe();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ############################################################################################## */
|
/* ############################################################################################## */
|
||||||
/* 8037A780-8037A7E0 006DE0 0060+00 1/1 0/0 0/0 .rodata m_hitSeID__12dCcD_GObjInf */
|
/* 8037A780-8037A7E0 006DE0 0060+00 1/1 0/0 0/0 .rodata m_hitSeID__12dCcD_GObjInf */
|
||||||
u32 const dCcD_GObjInf::m_hitSeID[24] = {
|
Z2SoundID const dCcD_GObjInf::m_hitSeID[24] = {
|
||||||
Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD, Z2SE_HIT_SHIELD_ATTACK,
|
Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD, Z2SE_HIT_SHIELD_ATTACK,
|
||||||
Z2SE_HIT_WOLFKICK, Z2SE_HIT_HOOKSHOT_STICK, Z2SE_HIT_METAL_WEAPON,
|
Z2SE_HIT_WOLFKICK, Z2SE_HIT_HOOKSHOT_STICK, Z2SE_HIT_METAL_WEAPON,
|
||||||
Z2SE_HIT_STONE_WEAPON, Z2SE_HIT_HARD_BODY, Z2SE_HIT_SOFT_BODY,
|
Z2SE_HIT_STONE_WEAPON, Z2SE_HIT_HARD_BODY, Z2SE_HIT_SOFT_BODY,
|
||||||
@@ -322,7 +310,7 @@ u32 const dCcD_GObjInf::m_hitSeID[24] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* 800845B0-8008460C 07EEF0 005C+00 0/0 3/3 32/32 .text getHitSeID__12dCcD_GObjInfFUci */
|
/* 800845B0-8008460C 07EEF0 005C+00 0/0 3/3 32/32 .text getHitSeID__12dCcD_GObjInfFUci */
|
||||||
u32 dCcD_GObjInf::getHitSeID(u8 seIdx, int useRebound) {
|
Z2SoundID dCcD_GObjInf::getHitSeID(u8 seIdx, int useRebound) {
|
||||||
if (useRebound) {
|
if (useRebound) {
|
||||||
if (seIdx == 23) {
|
if (seIdx == 23) {
|
||||||
return Z2SE_HIT_AL_ARROW_REBOUND;
|
return Z2SE_HIT_AL_ARROW_REBOUND;
|
||||||
@@ -339,17 +327,17 @@ u32 dCcD_GObjInf::getHitSeID(u8 seIdx, int useRebound) {
|
|||||||
|
|
||||||
/* 8008460C-80084658 07EF4C 004C+00 5/0 0/0 0/0 .text ClrCoHit__12dCcD_GObjInfFv */
|
/* 8008460C-80084658 07EF4C 004C+00 5/0 0/0 0/0 .text ClrCoHit__12dCcD_GObjInfFv */
|
||||||
void dCcD_GObjInf::ClrCoHit() {
|
void dCcD_GObjInf::ClrCoHit() {
|
||||||
mObjCo.ClrHit();
|
cCcD_ObjHitInf::ClrCoHit();
|
||||||
mGObjCo.ClrActorInfo();
|
mGObjCo.ClrHit();
|
||||||
mGObjCo.mRPrm &= ~1;
|
OffCoHitNoActor();
|
||||||
mGObjCo.SubtractEffCounter();
|
SubtractCoEffCounter();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80084658-800846B0 07EF98 0058+00 0/0 5/5 74/74 .text ChkCoHit__12dCcD_GObjInfFv */
|
/* 80084658-800846B0 07EF98 0058+00 0/0 5/5 74/74 .text ChkCoHit__12dCcD_GObjInfFv */
|
||||||
bool dCcD_GObjInf::ChkCoHit() {
|
u32 dCcD_GObjInf::ChkCoHit() {
|
||||||
if ((mObjCo.getRPrm() & 1) == 0) {
|
if (cCcD_ObjHitInf::ChkCoHit() == 0) {
|
||||||
return false;
|
return false;
|
||||||
} else if ((mGObjCo.mRPrm & 1) == 0 && mGObjCo.GetAc() == NULL) {
|
} else if (ChkCoHitNoActor() == 0 && GetCoHitAc() == NULL) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
@@ -359,15 +347,15 @@ bool dCcD_GObjInf::ChkCoHit() {
|
|||||||
/* 800846B0-800846F0 07EFF0 0040+00 0/0 1/1 2/2 .text ResetCoHit__12dCcD_GObjInfFv */
|
/* 800846B0-800846F0 07EFF0 0040+00 0/0 1/1 2/2 .text ResetCoHit__12dCcD_GObjInfFv */
|
||||||
void dCcD_GObjInf::ResetCoHit() {
|
void dCcD_GObjInf::ResetCoHit() {
|
||||||
ClrCoHit();
|
ClrCoHit();
|
||||||
mGObjCo.ResetEffCounter();
|
ClrCoEffCounter();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 800846F0-80084740 07F030 0050+00 0/0 0/0 36/36 .text GetCoHitObj__12dCcD_GObjInfFv */
|
/* 800846F0-80084740 07F030 0050+00 0/0 0/0 36/36 .text GetCoHitObj__12dCcD_GObjInfFv */
|
||||||
cCcD_Obj* dCcD_GObjInf::GetCoHitObj() {
|
cCcD_Obj* dCcD_GObjInf::GetCoHitObj() {
|
||||||
if ((mGObjCo.mRPrm & 1) == 0 && mGObjCo.GetAc() == NULL) {
|
if (ChkCoHitNoActor() == 0 && GetCoHitAc() == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
return mObjCo.getHitObj();
|
return cCcD_ObjHitInf::GetCoHitObj();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -387,7 +375,7 @@ dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* p_obj) {
|
|||||||
/* 800847D0-80084814 07F110 0044+00 0/0 1/1 20/20 .text Set__8dCcD_CpsFRC11dCcD_SrcCps */
|
/* 800847D0-80084814 07F110 0044+00 0/0 1/1 20/20 .text Set__8dCcD_CpsFRC11dCcD_SrcCps */
|
||||||
void dCcD_Cps::Set(dCcD_SrcCps const& src) {
|
void dCcD_Cps::Set(dCcD_SrcCps const& src) {
|
||||||
dCcD_GObjInf::Set(src.mObjInf);
|
dCcD_GObjInf::Set(src.mObjInf);
|
||||||
cCcD_CpsAttr::Set(src.mCps);
|
cCcD_CpsAttr::Set(src.mCpsAttr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80084814-80084824 07F154 0010+00 1/0 0/0 0/0 .text GetShapeAttr__8dCcD_CpsFv */
|
/* 80084814-80084824 07F154 0010+00 1/0 0/0 0/0 .text GetShapeAttr__8dCcD_CpsFv */
|
||||||
@@ -397,14 +385,14 @@ cCcD_ShapeAttr* dCcD_Cps::GetShapeAttr() {
|
|||||||
|
|
||||||
/* 80084824-80084854 07F164 0030+00 0/0 0/0 6/6 .text CalcAtVec__8dCcD_CpsFv */
|
/* 80084824-80084854 07F164 0030+00 0/0 0/0 6/6 .text CalcAtVec__8dCcD_CpsFv */
|
||||||
void dCcD_Cps::CalcAtVec() {
|
void dCcD_Cps::CalcAtVec() {
|
||||||
cXyz& dest = mGObjAt.GetVec();
|
cXyz* dest = GetAtVecP();
|
||||||
PSVECSubtract(&GetEndP(), &GetStartP(), &dest);
|
CalcVec(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80084854-80084884 07F194 0030+00 0/0 0/0 2/2 .text CalcTgVec__8dCcD_CpsFv */
|
/* 80084854-80084884 07F194 0030+00 0/0 0/0 2/2 .text CalcTgVec__8dCcD_CpsFv */
|
||||||
void dCcD_Cps::CalcTgVec() {
|
void dCcD_Cps::CalcTgVec() {
|
||||||
cXyz& dest = mGObjTg.GetVec();
|
cXyz* dest = GetTgVecP();
|
||||||
PSVECSubtract(&GetEndP(), &GetStartP(), &dest);
|
CalcVec(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80084884-800848A4 07F1C4 0020+00 0/0 0/0 5/5 .text Set__8dCcD_TriFRC11dCcD_SrcTri */
|
/* 80084884-800848A4 07F1C4 0020+00 0/0 0/0 5/5 .text Set__8dCcD_TriFRC11dCcD_SrcTri */
|
||||||
@@ -431,28 +419,24 @@ cCcD_ShapeAttr* dCcD_Cyl::GetShapeAttr() {
|
|||||||
|
|
||||||
/* 80084908-80084954 07F248 004C+00 0/0 3/3 3/3 .text StartCAt__8dCcD_CylFR4cXyz */
|
/* 80084908-80084954 07F248 004C+00 0/0 3/3 3/3 .text StartCAt__8dCcD_CylFR4cXyz */
|
||||||
void dCcD_Cyl::StartCAt(cXyz& pos) {
|
void dCcD_Cyl::StartCAt(cXyz& pos) {
|
||||||
cXyz zero = cXyz::Zero;
|
cXyz zero(cXyz::Zero);
|
||||||
mGObjAt.SetVec(zero);
|
SetAtVec(zero);
|
||||||
SetC(pos);
|
SetC(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void vecDiff(cXyz& out, const cXyz& a, const cXyz& b) {
|
|
||||||
out = a - b;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 80084954-800849C4 07F294 0070+00 0/0 3/3 4/4 .text MoveCAt__8dCcD_CylFR4cXyz */
|
/* 80084954-800849C4 07F294 0070+00 0/0 3/3 4/4 .text MoveCAt__8dCcD_CylFR4cXyz */
|
||||||
void dCcD_Cyl::MoveCAt(cXyz& pos) {
|
void dCcD_Cyl::MoveCAt(cXyz& pos) {
|
||||||
cXyz diff;
|
const cXyz* center = GetCP();
|
||||||
vecDiff(diff, pos, GetCP());
|
cXyz diff = pos - *center;
|
||||||
mGObjAt.SetVec(diff);
|
SetAtVec(diff);
|
||||||
SetC(pos);
|
SetC(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 800849C4-80084A34 07F304 0070+00 0/0 0/0 1/1 .text MoveCTg__8dCcD_CylFR4cXyz */
|
/* 800849C4-80084A34 07F304 0070+00 0/0 0/0 1/1 .text MoveCTg__8dCcD_CylFR4cXyz */
|
||||||
void dCcD_Cyl::MoveCTg(cXyz& pos) {
|
void dCcD_Cyl::MoveCTg(cXyz& pos) {
|
||||||
cXyz diff;
|
const cXyz* center = GetCP();
|
||||||
vecDiff(diff, pos, GetCP());
|
cXyz diff = pos - *center;
|
||||||
mGObjTg.SetVec(diff);
|
SetTgVec(diff);
|
||||||
SetC(pos);
|
SetC(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -460,7 +444,7 @@ void dCcD_Cyl::MoveCTg(cXyz& pos) {
|
|||||||
*/
|
*/
|
||||||
void dCcD_Sph::Set(dCcD_SrcSph const& src) {
|
void dCcD_Sph::Set(dCcD_SrcSph const& src) {
|
||||||
dCcD_GObjInf::Set(src.mObjInf);
|
dCcD_GObjInf::Set(src.mObjInf);
|
||||||
cCcD_SphAttr::Set(src.mSph);
|
cCcD_SphAttr::Set(src.mSphAttr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 80084A78-80084AC4 07F3B8 004C+00 0/0 3/3 25/25 .text StartCAt__8dCcD_SphFR4cXyz */
|
/* 80084A78-80084AC4 07F3B8 004C+00 0/0 3/3 25/25 .text StartCAt__8dCcD_SphFR4cXyz */
|
||||||
@@ -472,9 +456,9 @@ void dCcD_Sph::StartCAt(cXyz& pos) {
|
|||||||
|
|
||||||
/* 80084AC4-80084B34 07F404 0070+00 0/0 2/2 23/23 .text MoveCAt__8dCcD_SphFR4cXyz */
|
/* 80084AC4-80084B34 07F404 0070+00 0/0 2/2 23/23 .text MoveCAt__8dCcD_SphFR4cXyz */
|
||||||
void dCcD_Sph::MoveCAt(cXyz& pos) {
|
void dCcD_Sph::MoveCAt(cXyz& pos) {
|
||||||
cXyz diff;
|
const cXyz* center = GetCP();
|
||||||
vecDiff(diff, pos, GetC());
|
cXyz diff = pos - *center;
|
||||||
mGObjAt.SetVec(diff);
|
SetAtVec(diff);
|
||||||
SetC(pos);
|
SetC(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -700,8 +700,8 @@ bool dCcS::chkCameraPoint(cXyz const& param_0, cCcD_ShapeAttr::Shape* param_1, f
|
|||||||
cCcD_SphAttr sp48;
|
cCcD_SphAttr sp48;
|
||||||
cCcD_SrcSphAttr sp1C;
|
cCcD_SrcSphAttr sp1C;
|
||||||
|
|
||||||
sp1C.mCenter = param_0;
|
sp1C.mSph.mCenter = param_0;
|
||||||
sp1C.mRadius = 1.0f;
|
sp1C.mSph.mRadius = 1.0f;
|
||||||
sp48.Set(sp1C);
|
sp48.Set(sp1C);
|
||||||
sp48.CalcAabBox();
|
sp48.CalcAabBox();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user