@@ -109,56 +109,13 @@ struct dCcD_SrcCps {
109109 /* 0x30 */ cCcD_SrcCpsAttr mCpsAttr ;
110110}; // Size: 0x4C
111111
112- class dCcD_GStts : public cCcD_GStts {
113- public:
114- /* 80083760 */ dCcD_GStts();
115- /* 800837F8 */ void Ct ();
116- /* 80083830 */ void Move ();
117- /* 8008523C */ virtual ~dCcD_GStts () {}
118- void ClrAt () { mAt = 0 ; }
119- void ClrTg () { mTg = 0 ; }
120- void SetAtApid (fpc_ProcID id) { mAtApid = id; }
121- void SetTgApid (fpc_ProcID id) { mTgApid = id; }
122- u8 GetRoomId () { return mRoomId ; }
123- void SetRoomId (int id) { mRoomId = id; }
124- fpc_ProcID GetAtOldApid () { return mAtOldApid ; }
125- fpc_ProcID GetTgOldApid () { return mTgOldApid ; }
126- bool ChkNoActor () { return field_0x1C & 1 ;}
127- bool ChkNoneActorPerfTblId () { return field_0x08 == 0xFFFF ; }
128- dCcG_At_Spl GetAtSpl () { return (dCcG_At_Spl)mAt ; }
129- void SetAtSpl (dCcG_At_Spl spl) { mAt = spl; }
130- dCcG_Tg_Spl GetTgSpl () { return (dCcG_Tg_Spl)mTg ; }
131- void SetTgSpl (dCcG_Tg_Spl spl) { mTg = spl; }
132- void OnNoActor () { field_0x1C |= 1 ; }
133-
134- // private:
135- /* 0x04 */ u8 mAt ;
136- /* 0x05 */ u8 mTg ;
137- /* 0x06 */ u8 mRoomId ;
138- /* 0x08 */ u16 field_0x08;
139- /* 0x0C */ int mAtApid ;
140- /* 0x10 */ int mAtOldApid ;
141- /* 0x14 */ int mTgApid ;
142- /* 0x18 */ int mTgOldApid ;
143- /* 0x1C */ int field_0x1C;
144- }; // Size = 0x20
145-
146- class dCcD_Stts : public cCcD_Stts , public dCcD_GStts {
147- public:
148- dCcD_Stts () {}
149- /* 80083850 */ virtual cCcD_GStts* GetGStts ();
150- /* 80083860 */ void Init (int weight, int , fopAc_ac_c* pactor);
151- /* 800838F4 */ virtual void Ct ();
152- /* 80083928 */ virtual void ClrAt ();
153- /* 80083934 */ virtual void ClrTg ();
154- /* 800851AC */ virtual ~dCcD_Stts () {}
155-
156- }; // Size = 0x3C
112+ // unused, existence is inferred
113+ struct dCcD_SrcPnt {
114+ };
157115
158116class dCcD_GObjInf ;
159117typedef void (*dCcD_HitCallback)(fopAc_ac_c* i_actorA, dCcD_GObjInf* i_objInfA, fopAc_ac_c* i_actorB, dCcD_GObjInf* i_objInfB);
160118
161-
162119// Attack/Defense/Correction Collider Common Base
163120class dCcD_GAtTgCoCommonBase {
164121public:
@@ -272,6 +229,52 @@ class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase {
272229 void Set (dCcD_SrcGObjCo const & pSrc) { dCcD_GAtTgCoCommonBase::Set (pSrc.mBase ); }
273230}; // Size = 0x1C ?
274231
232+ class dCcD_GStts : public cCcD_GStts {
233+ public:
234+ /* 80083760 */ dCcD_GStts();
235+ /* 800837F8 */ void Ct ();
236+ /* 80083830 */ void Move ();
237+ /* 8008523C */ virtual ~dCcD_GStts () {}
238+ void ClrAt () { mAt = 0 ; }
239+ void ClrTg () { mTg = 0 ; }
240+ void SetAtApid (fpc_ProcID id) { mAtApid = id; }
241+ void SetTgApid (fpc_ProcID id) { mTgApid = id; }
242+ u8 GetRoomId () { return mRoomId ; }
243+ void SetRoomId (int id) { mRoomId = id; }
244+ fpc_ProcID GetAtOldApid () { return mAtOldApid ; }
245+ fpc_ProcID GetTgOldApid () { return mTgOldApid ; }
246+ bool ChkNoActor () { return field_0x1C & 1 ;}
247+ bool ChkNoneActorPerfTblId () { return field_0x08 == 0xFFFF ; }
248+ dCcG_At_Spl GetAtSpl () { return (dCcG_At_Spl)mAt ; }
249+ void SetAtSpl (dCcG_At_Spl spl) { mAt = spl; }
250+ dCcG_Tg_Spl GetTgSpl () { return (dCcG_Tg_Spl)mTg ; }
251+ void SetTgSpl (dCcG_Tg_Spl spl) { mTg = spl; }
252+ void OnNoActor () { field_0x1C |= 1 ; }
253+
254+ // private:
255+ /* 0x04 */ u8 mAt ;
256+ /* 0x05 */ u8 mTg ;
257+ /* 0x06 */ u8 mRoomId ;
258+ /* 0x08 */ u16 field_0x08;
259+ /* 0x0C */ int mAtApid ;
260+ /* 0x10 */ int mAtOldApid ;
261+ /* 0x14 */ int mTgApid ;
262+ /* 0x18 */ int mTgOldApid ;
263+ /* 0x1C */ int field_0x1C;
264+ }; // Size = 0x20
265+
266+ class dCcD_Stts : public cCcD_Stts , public dCcD_GStts {
267+ public:
268+ dCcD_Stts () {}
269+ /* 80083850 */ virtual cCcD_GStts* GetGStts ();
270+ /* 80083860 */ void Init (int weight, int , fopAc_ac_c* pactor);
271+ /* 800838F4 */ virtual void Ct ();
272+ /* 80083928 */ virtual void ClrAt ();
273+ /* 80083934 */ virtual void ClrTg ();
274+ /* 800851AC */ virtual ~dCcD_Stts () {}
275+
276+ }; // Size = 0x3C
277+
275278// Object Info
276279class dCcD_GObjInf : public cCcD_GObjInf {
277280public:
@@ -420,6 +423,36 @@ class dCcD_GObjInf : public cCcD_GObjInf {
420423 /* 0x0E8 */ dCcD_GObjCo mGObjCo ;
421424}; // Size = 0x104
422425
426+ // Point (unused, existence is inferred)
427+ // Including this definition (and its GetShapeAttr impl) causes functions
428+ // from cCcD_PntAttr to be emitted in debug, matching what's seen in ShieldD.
429+ class dCcD_Pnt : public dCcD_GObjInf , public cCcD_PntAttr {
430+ public:
431+ /* 80084814 */ cCcD_ShapeAttr* GetShapeAttr ();
432+ /* 8008506C */ virtual ~dCcD_Pnt () {}
433+ dCcD_Pnt () {}
434+ }; // Size = 0x144
435+
436+ // Capsule
437+ class dCcD_Cps : public dCcD_GObjInf , public cCcD_CpsAttr {
438+ public:
439+ /* 800847D0 */ void Set (dCcD_SrcCps const &);
440+ /* 80084814 */ cCcD_ShapeAttr* GetShapeAttr ();
441+ /* 80084824 */ void CalcAtVec ();
442+ /* 80084854 */ void CalcTgVec ();
443+ /* 8008506C */ virtual ~dCcD_Cps () {}
444+ dCcD_Cps () {}
445+ }; // Size = 0x144
446+
447+ // Triangle
448+ class dCcD_Tri : public dCcD_GObjInf , public cCcD_TriAttr {
449+ public:
450+ /* 80084884 */ void Set (dCcD_SrcTri const &);
451+ /* 800848A4 */ cCcD_ShapeAttr* GetShapeAttr ();
452+ /* 80084EF4 */ virtual ~dCcD_Tri () {}
453+ dCcD_Tri () {}
454+ };
455+
423456// Cylinder
424457class dCcD_Cyl : public dCcD_GObjInf , public cCcD_CylAttr {
425458public:
@@ -443,27 +476,6 @@ class dCcD_Sph : public dCcD_GObjInf, public cCcD_SphAttr {
443476 /* 80084BF4 */ virtual ~dCcD_Sph () {}
444477}; // Size = 0x138
445478
446-
447- // Capsule
448- class dCcD_Cps : public dCcD_GObjInf , public cCcD_CpsAttr {
449- public:
450- /* 800847D0 */ void Set (dCcD_SrcCps const &);
451- /* 80084814 */ cCcD_ShapeAttr* GetShapeAttr ();
452- /* 80084824 */ void CalcAtVec ();
453- /* 80084854 */ void CalcTgVec ();
454- /* 8008506C */ virtual ~dCcD_Cps () {}
455- dCcD_Cps () {}
456- }; // Size = 0x144
457-
458- // Triangle
459- class dCcD_Tri : public dCcD_GObjInf , public cCcD_TriAttr {
460- public:
461- /* 80084884 */ void Set (dCcD_SrcTri const &);
462- /* 800848A4 */ cCcD_ShapeAttr* GetShapeAttr ();
463- /* 80084EF4 */ virtual ~dCcD_Tri () {}
464- dCcD_Tri () {}
465- };
466-
467479dCcD_GObjInf* dCcD_GetGObjInf (cCcD_Obj* param_0);
468480
469481#endif /* D_CC_D_CC_D_H */
0 commit comments