diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_obj_ornament_cloth.h | 62 |
1 files changed, 52 insertions, 10 deletions
diff --git a/include/d/actor/d_a_obj_ornament_cloth.h b/include/d/actor/d_a_obj_ornament_cloth.h index 852ed7d4bb..03fb626d9d 100644 --- a/include/d/actor/d_a_obj_ornament_cloth.h +++ b/include/d/actor/d_a_obj_ornament_cloth.h @@ -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(); -STATIC_ASSERT(sizeof(daObjOnCloth_c) == 0x6c8); + const daObjOnCloth_Attr_c& attr() const { return M_attr; } -class ClothJoint_c { -public: - /* 80595B9C */ ~ClothJoint_c(); - /* 80595CA8 */ ClothJoint_c(); + 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); #endif /* D_A_OBJ_ORNAMENT_CLOTH_H */ |
