Misc framework fixes (#2578)

This commit is contained in:
Max Roncace
2025-08-11 02:22:28 -04:00
committed by GitHub
parent 8785882261
commit ddf4fc0677
15 changed files with 369 additions and 257 deletions
+3
View File
@@ -67,6 +67,9 @@ public:
/* 80558AF8 */ int follow(void*);
/* 80558C4C */ int clothWait(void*);
/* 80558E90 */ int talk(void*);
#if DEBUG
int test(void*);
#endif
/* 8055A3B8 */ daNpc_Kolin_c(
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
daNpcT_motionAnmData_c const* i_motionAnmData,
+3
View File
@@ -115,6 +115,9 @@ public:
/* 80A4738C */ int cutThankYou(int);
/* 80A4742C */ int wait(void*);
/* 80A475D4 */ int talk(void*);
#if DEBUG
int test(void*);
#endif
/* 80A4854C */ daNpc_Kolinb_c(
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
daNpcT_motionAnmData_c const* i_motionAnmData,
+8 -6
View File
@@ -12,12 +12,9 @@
*
*/
struct daNpc_Saru_HIO_c
#ifdef DEBUG
: public mDoHIO_entry_c
#endif
struct daNpc_Saru_HIOParam
{
public:
/* 0x00 */ daNpcT_HIOParam common;
/* 0x8C */ s16 scared_time; // 怯える時間 - Scared Time
/* 0x8E */ s16 field_0x8e;
@@ -31,7 +28,12 @@ public:
void genMessage(JORMContext*);
#endif
static const daNpc_Saru_HIO_c m;
static const daNpc_Saru_HIOParam m;
};
class daNpc_Saru_HIO_c : public mDoHIO_entry_c {
public:
daNpc_Saru_HIOParam param;
};
class daNpc_Saru_c : public daNpcT_c {
+4
View File
@@ -38,6 +38,10 @@ struct daNpc_ykM_HIOParam {
class daNpc_ykM_Param_c : public JORReflexible {
public:
#if DEBUG
virtual void genMessage(JORMContext*);
#endif
/* 80B5D6C8 */ virtual ~daNpc_ykM_Param_c() {}
void genMessage(JORMContext*);
+79 -67
View File
@@ -109,56 +109,13 @@ struct dCcD_SrcCps {
/* 0x30 */ cCcD_SrcCpsAttr mCpsAttr;
}; // Size: 0x4C
class dCcD_GStts : public cCcD_GStts {
public:
/* 80083760 */ dCcD_GStts();
/* 800837F8 */ void Ct();
/* 80083830 */ void Move();
/* 8008523C */ virtual ~dCcD_GStts() {}
void ClrAt() { mAt = 0; }
void ClrTg() { mTg = 0; }
void SetAtApid(fpc_ProcID id) { mAtApid = id; }
void SetTgApid(fpc_ProcID id) { mTgApid = id; }
u8 GetRoomId() { return mRoomId; }
void SetRoomId(int id) { mRoomId = id; }
fpc_ProcID GetAtOldApid() { return mAtOldApid; }
fpc_ProcID GetTgOldApid() { return mTgOldApid; }
bool ChkNoActor() { return field_0x1C & 1;}
bool ChkNoneActorPerfTblId() { return field_0x08 == 0xFFFF; }
dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mAt; }
void SetAtSpl(dCcG_At_Spl spl) { mAt = spl; }
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTg; }
void SetTgSpl(dCcG_Tg_Spl spl) { mTg = spl; }
void OnNoActor() { field_0x1C |= 1; }
// private:
/* 0x04 */ u8 mAt;
/* 0x05 */ u8 mTg;
/* 0x06 */ u8 mRoomId;
/* 0x08 */ u16 field_0x08;
/* 0x0C */ int mAtApid;
/* 0x10 */ int mAtOldApid;
/* 0x14 */ int mTgApid;
/* 0x18 */ int mTgOldApid;
/* 0x1C */ int field_0x1C;
}; // Size = 0x20
class dCcD_Stts : public cCcD_Stts, public dCcD_GStts {
public:
dCcD_Stts() {}
/* 80083850 */ virtual cCcD_GStts* GetGStts();
/* 80083860 */ void Init(int weight, int, fopAc_ac_c* pactor);
/* 800838F4 */ virtual void Ct();
/* 80083928 */ virtual void ClrAt();
/* 80083934 */ virtual void ClrTg();
/* 800851AC */ virtual ~dCcD_Stts() {}
}; // Size = 0x3C
// unused, existence is inferred
struct dCcD_SrcPnt {
};
class dCcD_GObjInf;
typedef void (*dCcD_HitCallback)(fopAc_ac_c* i_actorA, dCcD_GObjInf* i_objInfA, fopAc_ac_c* i_actorB, dCcD_GObjInf* i_objInfB);
// Attack/Defense/Correction Collider Common Base
class dCcD_GAtTgCoCommonBase {
public:
@@ -272,6 +229,52 @@ public:
void Set(dCcD_SrcGObjCo const& pSrc) { dCcD_GAtTgCoCommonBase::Set(pSrc.mBase); }
}; // Size = 0x1C ?
class dCcD_GStts : public cCcD_GStts {
public:
/* 80083760 */ dCcD_GStts();
/* 800837F8 */ void Ct();
/* 80083830 */ void Move();
/* 8008523C */ virtual ~dCcD_GStts() {}
void ClrAt() { mAt = 0; }
void ClrTg() { mTg = 0; }
void SetAtApid(fpc_ProcID id) { mAtApid = id; }
void SetTgApid(fpc_ProcID id) { mTgApid = id; }
u8 GetRoomId() { return mRoomId; }
void SetRoomId(int id) { mRoomId = id; }
fpc_ProcID GetAtOldApid() { return mAtOldApid; }
fpc_ProcID GetTgOldApid() { return mTgOldApid; }
bool ChkNoActor() { return field_0x1C & 1;}
bool ChkNoneActorPerfTblId() { return field_0x08 == 0xFFFF; }
dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mAt; }
void SetAtSpl(dCcG_At_Spl spl) { mAt = spl; }
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTg; }
void SetTgSpl(dCcG_Tg_Spl spl) { mTg = spl; }
void OnNoActor() { field_0x1C |= 1; }
// private:
/* 0x04 */ u8 mAt;
/* 0x05 */ u8 mTg;
/* 0x06 */ u8 mRoomId;
/* 0x08 */ u16 field_0x08;
/* 0x0C */ int mAtApid;
/* 0x10 */ int mAtOldApid;
/* 0x14 */ int mTgApid;
/* 0x18 */ int mTgOldApid;
/* 0x1C */ int field_0x1C;
}; // Size = 0x20
class dCcD_Stts : public cCcD_Stts, public dCcD_GStts {
public:
dCcD_Stts() {}
/* 80083850 */ virtual cCcD_GStts* GetGStts();
/* 80083860 */ void Init(int weight, int, fopAc_ac_c* pactor);
/* 800838F4 */ virtual void Ct();
/* 80083928 */ virtual void ClrAt();
/* 80083934 */ virtual void ClrTg();
/* 800851AC */ virtual ~dCcD_Stts() {}
}; // Size = 0x3C
// Object Info
class dCcD_GObjInf : public cCcD_GObjInf {
public:
@@ -420,6 +423,36 @@ protected:
/* 0x0E8 */ dCcD_GObjCo mGObjCo;
}; // Size = 0x104
// Point (unused, existence is inferred)
// Including this definition (and its GetShapeAttr impl) causes functions
// from cCcD_PntAttr to be emitted in debug, matching what's seen in ShieldD.
class dCcD_Pnt : public dCcD_GObjInf, public cCcD_PntAttr {
public:
/* 80084814 */ cCcD_ShapeAttr* GetShapeAttr();
/* 8008506C */ virtual ~dCcD_Pnt() {}
dCcD_Pnt() {}
}; // Size = 0x144
// Capsule
class dCcD_Cps : public dCcD_GObjInf, public cCcD_CpsAttr {
public:
/* 800847D0 */ void Set(dCcD_SrcCps const&);
/* 80084814 */ cCcD_ShapeAttr* GetShapeAttr();
/* 80084824 */ void CalcAtVec();
/* 80084854 */ void CalcTgVec();
/* 8008506C */ virtual ~dCcD_Cps() {}
dCcD_Cps() {}
}; // Size = 0x144
// Triangle
class dCcD_Tri : public dCcD_GObjInf, public cCcD_TriAttr {
public:
/* 80084884 */ void Set(dCcD_SrcTri const&);
/* 800848A4 */ cCcD_ShapeAttr* GetShapeAttr();
/* 80084EF4 */ virtual ~dCcD_Tri() {}
dCcD_Tri() {}
};
// Cylinder
class dCcD_Cyl : public dCcD_GObjInf, public cCcD_CylAttr {
public:
@@ -443,27 +476,6 @@ public:
/* 80084BF4 */ virtual ~dCcD_Sph() {}
}; // Size = 0x138
// Capsule
class dCcD_Cps : public dCcD_GObjInf, public cCcD_CpsAttr {
public:
/* 800847D0 */ void Set(dCcD_SrcCps const&);
/* 80084814 */ cCcD_ShapeAttr* GetShapeAttr();
/* 80084824 */ void CalcAtVec();
/* 80084854 */ void CalcTgVec();
/* 8008506C */ virtual ~dCcD_Cps() {}
dCcD_Cps() {}
}; // Size = 0x144
// Triangle
class dCcD_Tri : public dCcD_GObjInf, public cCcD_TriAttr {
public:
/* 80084884 */ void Set(dCcD_SrcTri const&);
/* 800848A4 */ cCcD_ShapeAttr* GetShapeAttr();
/* 80084EF4 */ virtual ~dCcD_Tri() {}
dCcD_Tri() {}
};
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* param_0);
#endif /* D_CC_D_CC_D_H */