d_a_obj_ornament_cloth matching (#2643)

* initial work

* More work. Also just realized I pushed TU work to my main fork lol

* about halfway through

* matching
This commit is contained in:
Carco_21
2025-09-09 15:36:38 -07:00
committed by GitHub
parent aaaa0ba464
commit 8cbe4a2b5c
3 changed files with 356 additions and 289 deletions
+53 -11
View File
@@ -10,7 +10,38 @@
*
* @details
*
*/
*/
class daObjOnCloth_Attr_c {
public:
/* 0x00 */ f32 gravity;
/* 0x04 */ f32 offset;
/* 0x08 */ f32 windRate;
/* 0x0C */ f32 speedRate;
/* 0x10 */ f32 revPowRate;
/* 0x14 */ f32 playerReactionDist;
/* 0x18 */ f32 playerReactionSpeed;
/* 0x1C */ f32 playerReactionCoeff;
/* 0x20 */ f32 reflectReducePowCoeff;
/* 0x24 */ s16 rotationLimit[3];
/* 0x2A */ s16 delayedVibrationFrame;
/* 0x2C */ u8 jointDisplay;
};
class ClothJoint_c {
public:
/* 80595B9C */ ~ClothJoint_c();
/* 80595CA8 */ ClothJoint_c();
/* 0x00 */ cXyz field_0x0;
/* 0x0C */ cXyz field_0xc;
/* 0x18 */ cXyz field_0x18;
/* 0x24 */ cXyz field_0x24;
/* 0x30 */ csXyz field_0x30;
/* 0x36 */ u8 field_0x36;
/* 0x37 */ u8 field_0x37;
};
class daObjOnCloth_c : public fopAc_ac_c {
public:
/* 80595038 */ void create_init();
@@ -20,18 +51,29 @@ public:
/* 805954B0 */ void calcJointAngle();
/* 80595638 */ void checkPlayerMove();
static u8 const M_attr[48];
private:
/* 0x568 */ u8 field_0x568[0x6c8 - 0x568];
f32 getColorType() { return fopAcM_GetParam(this) & 0xFF; }
inline void getJointAngle(csXyz& jointAngle, int param_2) { jointAngle = mClothJoints[param_2].field_0x30; }
inline int createHeap();
inline int draw();
inline int execute();
inline ~daObjOnCloth_c();
inline cPhs__Step create();
const daObjOnCloth_Attr_c& attr() const { return M_attr; }
static daObjOnCloth_Attr_c const M_attr;
/* 0x568 */ J3DModel* mpModel;
/* 0x56C */ mDoExt_btkAnm* mBtkAnm;
/* 0x570 */ request_of_phase_process_class mPhase;
/* 0x578 */ Mtx mMtx;
/* 0x5A8 */ ClothJoint_c mClothJoints[3];
/* 0x650 */ f32 field_0x650[2];
/* 0x658 */ u8 field_0x658[0x688 - 0x658];
/* 0x688 */ f32 field_0x688;
/* 0x68C */ u8 field_0x68c[0x6c8 - 0x68c];
};
STATIC_ASSERT(sizeof(daObjOnCloth_c) == 0x6c8);
class ClothJoint_c {
public:
/* 80595B9C */ ~ClothJoint_c();
/* 80595CA8 */ ClothJoint_c();
};
#endif /* D_A_OBJ_ORNAMENT_CLOTH_H */