diff options
| author | Arnaut Scholten <44735497+ArnautS@users.noreply.github.com> | 2025-05-31 19:42:17 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-31 20:42:17 +0300 |
| commit | 2835276bfeecde6c6d09f855df58bcd9f96ad702 (patch) | |
| tree | 8cd0aca01801724c4cc7839b823e5ce55f8b063d /include | |
| parent | 7b550fafb5ea4f64225bd4c281cb50214dcb6833 (diff) | |
d_a_obj_laundry_rope Matching (#2464)
* Add create implementation
* Add create_init
* Almost all matching
* Full match
* Matching laundry rope
* Cleanup
* Fix PR comments
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_obj_laundry_rope.h | 55 |
1 files changed, 52 insertions, 3 deletions
diff --git a/include/d/actor/d_a_obj_laundry_rope.h b/include/d/actor/d_a_obj_laundry_rope.h index d77b048b11..3c7c2648bc 100644 --- a/include/d/actor/d_a_obj_laundry_rope.h +++ b/include/d/actor/d_a_obj_laundry_rope.h @@ -1,7 +1,24 @@ #ifndef D_A_OBJ_LAUNDRY_ROPE_H #define D_A_OBJ_LAUNDRY_ROPE_H -#include "f_op/f_op_actor_mng.h" +#include "d/d_cc_d.h" +#include "f_op/f_op_actor.h" + +struct daObjLndRope_Attr_c { + f32 mGravity; + f32 field_0x4; + f32 field_0x8; + f32 field_0xc; + f32 field_0x10; +}; + +struct daObjLndRope_Hio_c { + f32 mGravity; + f32 field_0x4; + f32 field_0x8; + f32 field_0xc; + f32 field_0x10; +}; /** * @ingroup actors-objects @@ -18,10 +35,42 @@ public: /* 80C52890 */ void setBaseMtx(); /* 80C528E0 */ void setNormalRopePos(); - static u8 const M_attr[20]; + inline ~daObjLndRope_c(); + inline int create(); + inline int createHeap(); + inline int draw(); + inline int execute(); + inline u8 getPathId(); + inline cXyz* getRopeStartPos(); + inline float getStartRate(cXyz* param_1); + + + #ifdef DEBUG + const daObjLndRope_Hio_c* attr() const { + return &M_Hio; + }; + #else + const daObjLndRope_Attr_c* attr() const { + return &mAttr; + }; + #endif + + static const daObjLndRope_Attr_c mAttr; + static const daObjLndRope_Hio_c M_Hio; private: - /* 0x568 */ u8 field_0x568[0x1774 - 0x568]; + /* 0x0568 */ mDoExt_3DlineMat1_c mRopeMat; + /* 0x05a4 */ request_of_phase_process_class mPhase; + /* 0x05ac */ Mtx mMtx; + /* 0x05dc */ dCcD_Stts mStts; + /* 0x0618 */ dCcD_Sph mSphs[13]; + /* 0x15f0 */ cXyz mPositions1[13]; + /* 0x168c */ cXyz mPositions2[13]; + /* 0x1728 */ fpc_ProcID mProcIds[13]; + /* 0x175c */ cXyz mPos; + /* 0x1768 */ f32 mScale; + /* 0x176c */ f32 mSegmentLength; + /* 0x1770 */ u8 mFlag; }; STATIC_ASSERT(sizeof(daObjLndRope_c) == 0x1774); |
