diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2023-01-15 11:10:23 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-15 12:10:23 -0700 |
| commit | 5e05ae38f8541fddd79341bdcf75488b07ca9122 (patch) | |
| tree | 57e2806b6e48586e0d9bbde6d221236888137d04 /include/SSystem | |
| parent | c90f9dfde9a3ee5dfa13475e2199ee491671507b (diff) | |
d_a_b_oh2 / d_a_obj_web0 / d_a_obj_web1 (#243)
* d_a_obj_web0 / d_a_obj_web1
* remove asm
* d_a_set_bgobj
* d_cc_s work
* remove asm
* build fix
* fix tp.py progress check and rel sha1 check
* clean up some bg files
Diffstat (limited to 'include/SSystem')
| -rw-r--r-- | include/SSystem/SComponent/c_bg_w.h | 2 | ||||
| -rw-r--r-- | include/SSystem/SComponent/c_cc_d.h | 46 | ||||
| -rw-r--r-- | include/SSystem/SComponent/c_cc_s.h | 3 | ||||
| -rw-r--r-- | include/SSystem/SComponent/c_m3d_g_cps.h | 8 | ||||
| -rw-r--r-- | include/SSystem/SComponent/c_m3d_g_sph.h | 6 | ||||
| -rw-r--r-- | include/SSystem/SComponent/c_xyz.h | 1 |
6 files changed, 40 insertions, 26 deletions
diff --git a/include/SSystem/SComponent/c_bg_w.h b/include/SSystem/SComponent/c_bg_w.h index 4e755a9cee..54f9682c01 100644 --- a/include/SSystem/SComponent/c_bg_w.h +++ b/include/SSystem/SComponent/c_bg_w.h @@ -13,7 +13,7 @@ public: /* 802681D4 */ bool ChkUsed() const; /* 802681C0 */ void Regist(int); - /* 8007E5F8 */ virtual ~cBgW_BgId(); + /* 8007E5F8 */ virtual ~cBgW_BgId() {} cBgW_BgId() { Ct(); } void Ct() { m_id = 0x100; } diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 40c9f774a1..581025392e 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -30,7 +30,10 @@ enum cCcD_ObjAtType { /* 0x00000010 */ AT_TYPE_SHIELD_ATTACK = (1 << 4), /* 0x00000020 */ AT_TYPE_BOMB = (1 << 5), /* 0x00000080 */ AT_TYPE_SLINGSHOT = (1 << 7), + /* 0x00000200 */ AT_TYPE_LANTERN_SWING = (1 << 9), /* 0x00000400 */ AT_TYPE_CSTATUE_SWING = (1 << 10), + /* 0x00000800 */ AT_TYPE_800 = (1 << 11), + /* 0x00001000 */ AT_TYPE_1000 = (1 << 12), /* 0x00002000 */ AT_TYPE_ARROW = (1 << 13), /* 0x00004000 */ AT_TYPE_HOOKSHOT = (1 << 14), /* 0x00010000 */ AT_TYPE_BOOMERANG = (1 << 16), @@ -41,6 +44,7 @@ enum cCcD_ObjAtType { /* 0x00800000 */ AT_TYPE_COPY_ROD = (1 << 23), /* 0x04000000 */ AT_TYPE_MASTER_SWORD = (1 << 26), /* 0x08000000 */ AT_TYPE_MIDNA_LOCK = (1 << 27), + /* 0x10000000 */ AT_TYPE_10000000 = (1 << 28), /* 0x40000000 */ AT_TYPE_WOLF_CUT_TURN = (1 << 30), /* 0x80000000 */ AT_TYPE_WOLF_ATTACK = (1 << 31), }; @@ -53,7 +57,7 @@ public: struct Shape { /* 80167BBC */ ~Shape(); - /* 0x00 */ u32 _0; + /* 0x00 */ int _0; /* 0x04 */ f32 _4; /* 0x08 */ f32 _8; /* 0x0C */ f32 _C; @@ -146,9 +150,15 @@ public: STATIC_ASSERT(0x40 == sizeof(cCcD_CpsAttr)); +class cCcD_SrcSphAttr : public cM3dGSphS {}; + class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph { public: cCcD_SphAttr() {} + void Set(const cCcD_SrcSphAttr& src) { + cM3dGSph::Set(src); + } + /* 8008721C */ virtual ~cCcD_SphAttr() {} /* 80084B44 */ virtual const cXyz& GetCoCP() const { return mCenter; } /* 80037A54 */ virtual cXyz& GetCoCP() { return mCenter; } @@ -248,26 +258,26 @@ public: STATIC_ASSERT(0x40 == sizeof(cCcD_DivideArea)); struct cCcD_SrcObjTg { - s32 mType; - s32 mSPrm; -}; + /* 0x0 */ s32 mType; + /* 0x4 */ s32 mSPrm; +}; // Size: 0x8 struct cCcD_SrcObjAt { - s32 mType; - u8 mAtp; - s32 mSPrm; -}; + /* 0x0 */ s32 mType; + /* 0x4 */ u8 mAtp; + /* 0x8 */ s32 mSPrm; +}; // Size: 0xC struct cCcD_SrcObjHitInf { - cCcD_SrcObjAt mObjAt; - cCcD_SrcObjTg mObjTg; - s32 mSPrm; -}; + /* 0x00 */ cCcD_SrcObjAt mObjAt; + /* 0x0C */ cCcD_SrcObjTg mObjTg; + /* 0x14 */ s32 mSPrm; +}; // Size: 0x18 struct cCcD_SrcObj { - int field_0x0; - cCcD_SrcObjHitInf mSrcObjHitInf; -}; + /* 0x0 */ int field_0x0; + /* 0x4 */ cCcD_SrcObjHitInf mSrcObjHitInf; +}; // Size: 0x1C class cCcD_GStts { public: @@ -299,11 +309,14 @@ public: /* 80263984 */ f32 GetWeightF() const; /* 802649E8 vt[7] */ virtual void ClrAt() {} /* 802649EC vt[8] */ virtual void ClrTg() { mTg = 0; } + u8 GetWeightUc() const { return mWeight; } void SetWeight(u8 weight) { mWeight = weight; } fopAc_ac_c* GetAc() { return mActor; } + fopAc_ac_c* GetActor() const { return mActor; } void SetActor(void* ac) { mActor = (fopAc_ac_c*)ac; } cXyz* GetCCMoveP() { return &mXyz; } + unsigned int GetApid() const { return mApid; } }; // Size = 0x1C STATIC_ASSERT(0x1C == sizeof(cCcD_Stts)); @@ -409,7 +422,7 @@ public: u32 GetAtGrp() const { return mObjAt.GetGrp(); } u32 GetCoGrp() const { return mObjCo.GetGrp(); } int GetTgType() const { return mObjTg.GetType(); } - int GetAtType() const { return mObjAt.GetType(); } + u32 GetAtType() const { return mObjAt.GetType(); } bool ChkTgSet() const { return mObjTg.ChkSet(); } bool ChkAtSet() const { return mObjAt.ChkSet(); } bool ChkCoSet() const { return mObjCo.ChkSet(); } @@ -463,6 +476,7 @@ public: cCcD_Stts* GetStts() { return mStts; } void SetStts(cCcD_Stts* stts) { mStts = stts; } cCcD_DivideInfo& GetDivideInfo() { return mDivideInfo; } + cCcD_DivideInfo* GetPDivideInfo() { return &mDivideInfo; } int ChkBsRevHit() const { return field_0x40 & 2; } private: diff --git a/include/SSystem/SComponent/c_cc_s.h b/include/SSystem/SComponent/c_cc_s.h index 7f65a3a121..32c0cc8fb6 100644 --- a/include/SSystem/SComponent/c_cc_s.h +++ b/include/SSystem/SComponent/c_cc_s.h @@ -11,7 +11,7 @@ enum WeightType { }; class cCcS { -private: +public: /* 0x0000 */ cCcD_Obj* mpObjAt[0x100]; /* 0x0400 */ cCcD_Obj* mpObjTg[0x300]; /* 0x1000 */ cCcD_Obj* mpObjCo[0x100]; @@ -23,7 +23,6 @@ private: /* 0x2808 */ cCcD_DivideArea mDivideArea; /* 0x2848 vtable */ -public: /* 80264A6C */ cCcS(); /* 80264A94 */ void Ct(); /* 80264B60 */ void Dt(); diff --git a/include/SSystem/SComponent/c_m3d_g_cps.h b/include/SSystem/SComponent/c_m3d_g_cps.h index 14315a9fc3..20104043da 100644 --- a/include/SSystem/SComponent/c_m3d_g_cps.h +++ b/include/SSystem/SComponent/c_m3d_g_cps.h @@ -7,10 +7,10 @@ #include "dolphin/types.h" struct cM3dGCpsS { - Vec mStart; - Vec mEnd; - f32 mRadius; -}; + /* 0x00 */ Vec mStart; + /* 0x0C */ Vec mEnd; + /* 0x18 */ f32 mRadius; +}; // Size: 0x1C class cM3dGCps : public cM3dGLin { public: diff --git a/include/SSystem/SComponent/c_m3d_g_sph.h b/include/SSystem/SComponent/c_m3d_g_sph.h index de48572064..cc00a53c8b 100644 --- a/include/SSystem/SComponent/c_m3d_g_sph.h +++ b/include/SSystem/SComponent/c_m3d_g_sph.h @@ -7,9 +7,9 @@ #include "dolphin/types.h" struct cM3dGSphS { - Vec mCenter; - f32 mRadius; -}; + /* 0x0 */ Vec mCenter; + /* 0xC */ f32 mRadius; +}; // Size: 0x10 class cM3dGSph { private: diff --git a/include/SSystem/SComponent/c_xyz.h b/include/SSystem/SComponent/c_xyz.h index b875f06b23..ada8df1193 100644 --- a/include/SSystem/SComponent/c_xyz.h +++ b/include/SSystem/SComponent/c_xyz.h @@ -136,6 +136,7 @@ struct cXyz : Vec { f32 getMagXZ() const { return cXyz(this->x, 0, this->z).getSquareMag(); } f32 getDotProduct(const Vec& other) const { return PSVECDotProduct(this, &other); } + f32 inprod(const Vec& other) const { return getDotProduct(other); } }; #endif /* C_XYZ_H */ |
