diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2021-05-02 10:13:14 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-02 13:13:14 -0400 |
| commit | 2f4904dae297e5d3f4df99fd6c34e61c124a230f (patch) | |
| tree | dde5cb1d3e7733b57b66d89462b4cf4fd0bbc707 /include/SSystem/SComponent | |
| parent | a9c78b5b0bc85f45e4ed5a3e9f1ddc12c8c47308 (diff) | |
move d_a_itembase_static / d_a_item_static / Z2StatusMgr (#123)
* move d_a_itembase_static
* move d_a_item_static
* moved Z2StatusMgr
* clang
* fixes
* clang?
* move d_save
* move d_meter2_info
* some d_meter2_info fixes
* move most d_a_player
* move d_bg_s stuff
* move c_cc_s stuff
* move d_cc stuff
* move d_attention / d_event / d_stage
Diffstat (limited to 'include/SSystem/SComponent')
| -rw-r--r-- | include/SSystem/SComponent/c_angle.h | 1 | ||||
| -rw-r--r-- | include/SSystem/SComponent/c_cc_d.h | 280 | ||||
| -rw-r--r-- | include/SSystem/SComponent/c_cc_s.h | 41 | ||||
| -rw-r--r-- | include/SSystem/SComponent/c_lib.h | 2 | ||||
| -rw-r--r-- | include/SSystem/SComponent/c_m3d_g_cps.h | 6 |
5 files changed, 323 insertions, 7 deletions
diff --git a/include/SSystem/SComponent/c_angle.h b/include/SSystem/SComponent/c_angle.h index a61c441758..39e0bd0e33 100644 --- a/include/SSystem/SComponent/c_angle.h +++ b/include/SSystem/SComponent/c_angle.h @@ -93,6 +93,7 @@ public: cSGlobe(float, short, short); cSGlobe(float, const cSAngle&, const cSAngle&); cSGlobe(const cXyz&); + ~cSGlobe(); cSGlobe& Formal(void); void Val(const cSGlobe&); void Val(float, short, short); diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index f4149343f2..0297ed5e1f 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -1,6 +1,286 @@ #ifndef C_CC_D_H #define C_CC_D_H +#include "SSystem/SComponent/c_m3d_g_aab.h" +#include "SSystem/SComponent/c_m3d_g_cps.h" +#include "SSystem/SComponent/c_m3d_g_cyl.h" +#include "SSystem/SComponent/c_m3d_g_sph.h" +#include "SSystem/SComponent/c_m3d_g_tri.h" +#include "dolphin/gx/GXTexture.h" #include "dolphin/types.h" +#include "f_op/f_op_actor.h" + +class cCcD_ShapeAttr { +public: + struct Shape {}; + + /* 8008556C */ virtual ~cCcD_ShapeAttr(); + /* 802649D8 */ virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const; + /* 802649E0 */ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const; + /* 80084E38 */ virtual void GetCoCP() const; + /* 80084E2C */ virtual void GetCoCP(); + /* 80263A64 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const; + + static f32 m_virtual_center[3]; + +private: + /* 0x00 */ cM3dGAab mAab; +}; + +class cCcD_SphAttr; +class cCcD_CylAttr; +class cCcD_TriAttr; +class cCcD_PntAttr; +class cCcD_AabAttr; + +class cCcD_CpsAttr : public cCcD_ShapeAttr { +public: + /* 80085450 */ virtual ~cCcD_CpsAttr(); + /* 80263DC0 */ virtual void CrossAtTg(cCcD_SphAttr const&, cXyz*) const; + /* 80263E04 */ virtual void CrossAtTg(cCcD_TriAttr const&, cXyz*) const; + /* 80084FE4 */ virtual void CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const; + /* 80084FDC */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const; + /* 80084FD4 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const; + /* 80263D38 */ virtual void CrossAtTg(cCcD_CpsAttr const&, cXyz*) const; + /* 80263D7C */ virtual void CrossAtTg(cCcD_CylAttr const&, cXyz*) const; + /* 80263F24 */ virtual void CrossCo(cCcD_CylAttr const&, f32*) const; + /* 80085024 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const; + /* 8008502C */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const; + /* 8008501C */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const; + /* 80263ED4 */ virtual void CrossCo(cCcD_CpsAttr const&, f32*) const; + /* 80263F74 */ virtual void CrossCo(cCcD_SphAttr const&, f32*) const; + /* 80085034 */ virtual void CrossCo(cCcD_ShapeAttr const&, f32*) const; + /* 80263FC4 */ virtual void CalcAabBox(); + /* 80264014 */ virtual void GetNVec(cXyz const&, cXyz*) const; + +private: + /* 0x20 */ cM3dGCps mCps; +}; + +class cCcD_SphAttr : public cCcD_ShapeAttr { +public: + /* 8008721C */ virtual ~cCcD_SphAttr(); + /* 80264538 */ virtual void CrossAtTg(cCcD_CylAttr const&, cXyz*) const; + /* 802645C0 */ virtual void CrossAtTg(cCcD_TriAttr const&, cXyz*) const; + /* 80084B4C */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const; + /* 80084B54 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const; + /* 80084B5C */ virtual void CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const; + /* 802644EC */ virtual void CrossAtTg(cCcD_CpsAttr const&, cXyz*) const; + /* 8026457C */ virtual void CrossAtTg(cCcD_SphAttr const&, cXyz*) const; + /* 80264688 */ virtual void CrossCo(cCcD_CpsAttr const&, f32*) const; + /* 80084B94 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const; + /* 80084B9C */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const; + /* 80084BA4 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const; + /* 80084BAC */ virtual void CrossCo(cCcD_ShapeAttr const&, f32*) const; + /* 80264644 */ virtual void CrossCo(cCcD_SphAttr const&, f32*) const; + /* 802645F8 */ virtual void CrossCo(cCcD_CylAttr const&, f32*) const; + /* 80084B44 */ virtual void GetCoCP() const; + /* 80037A54 */ virtual void GetCoCP(); + /* 802646E0 */ virtual void CalcAabBox(); + /* 8026476C */ virtual void GetNVec(cXyz const&, cXyz*) const; + /* 80264808 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const; + +private: + /* 0x20 */ cM3dGSph mSph; +}; // Size = 0x30 + +class cCcD_CylAttr : public cCcD_ShapeAttr { +public: + /* 800854E0 */ virtual ~cCcD_CylAttr(); + /* 8026420C */ virtual void CrossAtTg(cCcD_SphAttr const&, cXyz*) const; + /* 802641C8 */ virtual void CrossAtTg(cCcD_CylAttr const&, cXyz*) const; + /* 80084CC8 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const; + /* 80264250 */ virtual void CrossAtTg(cCcD_TriAttr const&, cXyz*) const; + /* 80084CD0 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const; + /* 80084CD8 */ virtual void CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const; + /* 8026417C */ virtual void CrossAtTg(cCcD_CpsAttr const&, cXyz*) const; + /* 80264288 */ virtual void CrossCo(cCcD_CylAttr const&, f32*) const; + /* 80264310 */ virtual void CrossCo(cCcD_CpsAttr const&, f32*) const; + /* 80084D10 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const; + /* 80084D18 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const; + /* 80084D20 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const; + /* 80084D28 */ virtual void CrossCo(cCcD_ShapeAttr const&, f32*) const; + /* 802642CC */ virtual void CrossCo(cCcD_SphAttr const&, f32*) const; + /* 80084CC0 */ virtual void GetCoCP() const; + /* 80037A4C */ virtual void GetCoCP(); + /* 80264368 */ virtual void CalcAabBox(); + /* 802643D0 */ virtual void GetNVec(cXyz const&, cXyz*) const; + /* 802644B8 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const; + +private: + /* 0x20 */ cM3dGCyl mCyl; +}; // Size = 0x34 + +class cCcD_TriAttr { + /* 80084E44 */ bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const; + /* 80263A88 */ void CrossAtTg(cCcD_CpsAttr const&, cXyz*) const; + /* 80263BCC */ void CrossAtTg(cCcD_TriAttr const&, cXyz*) const; + /* 80084E4C */ bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const; + /* 80263B90 */ void CrossAtTg(cCcD_SphAttr const&, cXyz*) const; + /* 80084E54 */ void CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const; + /* 80263B58 */ void CrossAtTg(cCcD_CylAttr const&, cXyz*) const; + /* 80084E9C */ bool CrossCo(cCcD_AabAttr const&, f32*) const; + /* 80084EBC */ void CrossCo(cCcD_ShapeAttr const&, f32*) const; + /* 80084EA4 */ bool CrossCo(cCcD_TriAttr const&, f32*) const; + /* 80084E8C */ bool CrossCo(cCcD_SphAttr const&, f32*) const; + /* 80084EAC */ bool CrossCo(cCcD_CpsAttr const&, f32*) const; + /* 80084E94 */ bool CrossCo(cCcD_CylAttr const&, f32*) const; + /* 80084EB4 */ bool CrossCo(cCcD_PntAttr const&, f32*) const; + /* 80263C04 */ void CalcAabBox(); + /* 80263C9C */ void GetNVec(cXyz const&, cXyz*) const; + /* 80264938 */ ~cCcD_TriAttr(); +}; + +class cCcD_DivideInfo { +public: + /* 80263358 */ void Set(u32, u32, u32); + /* 80263368 */ void Chk(cCcD_DivideInfo const&) const; + +private: + /* 0x00 */ u32 field_0x0; + /* 0x04 */ u32 field_0x4; + /* 0x08 */ u32 field_0x8; + /* 0x0C */ void* vtable; +}; + +class cCcD_DivideArea { +public: + /* 802633A8 */ void SetArea(cM3dGAab const&); + /* 802634D4 */ void CalcDivideInfo(cCcD_DivideInfo*, cM3dGAab const&, u32); + /* 802636A0 */ void CalcDivideInfoOverArea(cCcD_DivideInfo*, cM3dGAab const&); + +private: + cM3dGAab mAab; + void* vtable; +}; + +struct cCcD_SrcObjTg {}; + +struct cCcD_SrcObjHitInf {}; + +struct cCcD_SrcObjAt {}; + +struct cCcD_SrcObj {}; + +class cCcD_GStts { +public: + /* 800837B0 */ ~cCcD_GStts(); + +private: + /* 0x00 */ void* vtable; +}; // Size = 0x4 + +class cCcD_Stts { +public: + /* 801410A4 */ ~cCcD_Stts(); + /* 80263894 */ bool GetGStts() const; + /* 8026389C */ bool GetGStts(); + /* 802638A4 */ void Init(int, int, void*, unsigned int); + /* 80263904 */ void Ct(); + /* 80263934 */ void PlusCcMove(f32, f32, f32); + /* 8026395C */ void ClrCcMove(); + /* 80263970 */ void PlusDmg(int); + /* 80263984 */ void GetWeightF() const; + /* 802649E8 */ void ClrAt(); + /* 802649EC */ void ClrTg(); + +private: + /* 0x00 */ cXyz field_0x00; + /* 0x0C */ fopAc_ac_c* mActor; + /* 0x10 */ int mApid; + /* 0x14 */ u8 mWeight; + /* 0x15 */ u8 field_0x15; + /* 0x16 */ u8 mTg; + /* 0x18 */ void* vtable; +}; // Size = 0x1C + +class cCcD_ObjCommonBase { +public: + /* 8008409C */ ~cCcD_ObjCommonBase(); + /* 802639B0 */ void ct(); + +private: + /* 0x00 */ int mSPrm; + /* 0x04 */ int mRPrm; + /* 0x08 */ void* mHitObj; // cCcD_Obj* type + /* 0x0C */ void* vtable; +}; + +class cCcD_Obj; +#pragma pack(push, 1) +class cCcD_ObjAt : cCcD_ObjCommonBase { +public: + /* 80084040 */ ~cCcD_ObjAt(); + /* 8026483C */ void SetHit(cCcD_Obj*); + /* 8026484C */ void Set(cCcD_SrcObjAt const&); + /* 80264868 */ void ClrHit(); + +private: + /* 0x10 */ int mType; + /* 0x14 */ u8 mAtp; +}; +#pragma pack(pop) + +class cCcD_ObjTg : cCcD_ObjCommonBase { +public: + /* 80083FE4 */ ~cCcD_ObjTg(); + /* 80264880 */ void Set(cCcD_SrcObjTg const&); + /* 80264894 */ void SetGrp(u32); + /* 802648B0 */ void ClrHit(); + /* 802648C8 */ void SetHit(cCcD_Obj*); + +private: + /* 0x10 */ int mType; +}; + +class cCcD_ObjCo : cCcD_ObjCommonBase { +public: + /* 80083F88 */ ~cCcD_ObjCo(); + /* 802648D8 */ void SetHit(cCcD_Obj*); + /* 802648E8 */ void ClrHit(); + /* 80264900 */ void SetIGrp(u32); + /* 8026491C */ void SetVsGrp(u32); +}; + +class cCcD_ObjHitInf { +public: + /* 80083EC8 */ ~cCcD_ObjHitInf(); + /* 802639C4 */ void Set(cCcD_SrcObjHitInf const&); + +private: + /* 0x000 */ cCcD_ObjAt mObjAt; + /* 0x015 */ u8 field_0x15[3]; // padding? + /* 0x018 */ cCcD_ObjTg mObjTg; + /* 0x02C */ cCcD_ObjCo mObjCo; + /* 0x03C */ void* vtable; +}; // Size = 0x40 + +class cCcD_Obj : cCcD_ObjHitInf { +public: + /* 80083DE0 */ ~cCcD_Obj(); + /* 800851A4 */ bool GetGObjInf() const; + /* 800847C8 */ bool GetGObjInf(); + /* 80084BE8 */ bool GetShapeAttr() const; + /* 80085130 */ bool GetShapeAttr(); + /* 80084BF0 */ void Draw(_GXColor const&); + /* 80263A10 */ void ct(); + /* 80263A1C */ void Set(cCcD_SrcObj const&); + void GetAc(); + +private: + /* 0x040 */ int field_0x40; + /* 0x044 */ cCcD_Stts* mStts; + /* 0x048 */ cCcD_DivideInfo mDivideInfo; +}; // Size = 0x58 + +class cCcD_GObjInf : cCcD_Obj { +public: + /* 80083CE8 */ ~cCcD_GObjInf(); + /* 800851A0 */ void GetGObjInf(); + /* 80084BE4 */ void GetGObjInf() const; + /* 80085138 */ void ClrAtHit(); + /* 80085158 */ void ClrTgHit(); + /* 8008517C */ void ClrCoHit(); +}; #endif /* C_CC_D_H */ diff --git a/include/SSystem/SComponent/c_cc_s.h b/include/SSystem/SComponent/c_cc_s.h index ebf07aa319..6e8acc2b79 100644 --- a/include/SSystem/SComponent/c_cc_s.h +++ b/include/SSystem/SComponent/c_cc_s.h @@ -1,6 +1,47 @@ #ifndef C_CC_S_H #define C_CC_S_H +#include "SSystem/SComponent/c_cc_d.h" #include "dolphin/types.h" +class cCcS { +public: + /* 80030BDC */ ~cCcS(); + /* 80264A6C */ cCcS(); + /* 80264A94 */ void Ct(); + /* 80264B60 */ void Dt(); + /* 80264B80 */ void GetWt(u8) const; + /* 80264BA8 */ void Set(cCcD_Obj*); + /* 80264C5C */ void ClrCoHitInf(); + /* 80264CF0 */ void ClrTgHitInf(); + /* 80264D90 */ void ClrAtHitInf(); + /* 80264E2C */ void ChkNoHitAtTg(cCcD_Obj*, cCcD_Obj*); + /* 80264F40 */ void ChkAtTg(); + /* 8026515C */ void ChkNoHitCo(cCcD_Obj*, cCcD_Obj*); + /* 80265230 */ void ChkCo(); + /* 802653A0 */ void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*); + /* 802653C8 */ void SetAtTgCommonHitInf(cCcD_Obj*, cCcD_Obj*, cXyz*); + /* 802655E4 */ void SetCoCommonHitInf(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32); + /* 80265750 */ void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32); + /* 80265BB4 */ void CalcArea(); + /* 80265CCC */ void Move(); + /* 80265D30 */ void DrawClear(); + /* 80265DF4 */ void SetCoGCorrectProc(cCcD_Obj*, cCcD_Obj*); + /* 80265DF8 */ void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*, + cCcD_Stts*, cCcD_GStts*, cCcD_GStts*); + /* 80265DFC */ void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*, + cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, + cCcD_GStts*, cXyz*); + /* 80265E00 */ bool ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*, + cCcD_GStts*); + /* 80265E08 */ bool ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, cCcD_GObjInf const*, + cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*); + /* 80265E10 */ bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*); + /* 80265E18 */ void MoveAfterCheck(); + +private: + u8 field_0x0[10260]; + cCcD_DivideArea mDivideArea; +}; + #endif /* C_CC_S_H */ diff --git a/include/SSystem/SComponent/c_lib.h b/include/SSystem/SComponent/c_lib.h index 10a330ff1b..9e0780aca9 100644 --- a/include/SSystem/SComponent/c_lib.h +++ b/include/SSystem/SComponent/c_lib.h @@ -48,4 +48,4 @@ void MtxPosition(cXyz*, cXyz*); void MtxPush(void); Mtx* MtxPull(void); -#endif
\ No newline at end of file +#endif diff --git a/include/SSystem/SComponent/c_m3d_g_cps.h b/include/SSystem/SComponent/c_m3d_g_cps.h index 6bc09c6462..7bf6132c93 100644 --- a/include/SSystem/SComponent/c_m3d_g_cps.h +++ b/include/SSystem/SComponent/c_m3d_g_cps.h @@ -21,12 +21,6 @@ public: void Set(const cXyz&, const cXyz&, f32); void Set(const cM3dGCpsS&); void SetCps(const cM3dGCps&); - virtual void unk1(void) = 0; - virtual void unk2(void) = 0; - virtual void unk3(void) = 0; - virtual void unk4(void) = 0; - virtual void unk5(void) = 0; - virtual void unk6(void) = 0; }; #endif /* C_M3D_G_CPS_H */ |
