summaryrefslogtreecommitdiff
path: root/include/SSystem/SComponent
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2021-05-02 10:13:14 -0700
committerGitHub <noreply@github.com>2021-05-02 13:13:14 -0400
commit2f4904dae297e5d3f4df99fd6c34e61c124a230f (patch)
treedde5cb1d3e7733b57b66d89462b4cf4fd0bbc707 /include/SSystem/SComponent
parenta9c78b5b0bc85f45e4ed5a3e9f1ddc12c8c47308 (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.h1
-rw-r--r--include/SSystem/SComponent/c_cc_d.h280
-rw-r--r--include/SSystem/SComponent/c_cc_s.h41
-rw-r--r--include/SSystem/SComponent/c_lib.h2
-rw-r--r--include/SSystem/SComponent/c_m3d_g_cps.h6
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 */