diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2025-08-21 14:07:41 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-21 04:07:41 -0700 |
| commit | ef75333735a80b9ee290544a5f3d4b80388d09cd (patch) | |
| tree | 4efeb2e9c8f8de115dcf598abd615d74fa78027a /include | |
| parent | 7a87b3132fe3d7d7d84757e0fdcfdaaee6d3c1f9 (diff) | |
d_a_obj_msima OK (#2593)
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_obj_msima.h | 39 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_swpush.h | 47 |
2 files changed, 51 insertions, 35 deletions
diff --git a/include/d/actor/d_a_obj_msima.h b/include/d/actor/d_a_obj_msima.h index 4b14f89826..b528a5356f 100644 --- a/include/d/actor/d_a_obj_msima.h +++ b/include/d/actor/d_a_obj_msima.h @@ -4,14 +4,11 @@ #include "f_op/f_op_actor_mng.h" struct ms_chain_s { - /* 80C9CA60 */ ~ms_chain_s(); - /* 80C9CA9C */ ms_chain_s(); - /* 0x00 */ J3DModel* model[35]; /* 0x8C */ f32 field_0x8c; /* 0x90 */ s16 field_0x90; - /* 0x92 */ u8 field_0x92; - /* 0x94 */ cXyz field_0x94; + /* 0x92 */ s8 field_0x92; + /* 0x94 */ cXyz mPos; }; /** @@ -22,15 +19,16 @@ struct ms_chain_s { * @details * */ -class obj_msima_class : public fopAc_ac_c { +class obj_msima_class { public: + /* 0x000 */ fopAc_ac_c mActor; /* 0x568 */ request_of_phase_process_class mPhase; /* 0x570 */ u8 field_0x570; /* 0x574 */ J3DModel* mpModel; /* 0x578 */ mDoExt_brkAnm* mpBrk; /* 0x57C */ mDoExt_btkAnm* mpBtk; - /* 0x580 */ s16 field_0x580; - /* 0x582 */ s16 field_0x582; + /* 0x580 */ s16 mFloatingOscillator; + /* 0x582 */ s16 mAction; /* 0x584 */ s16 field_0x584; /* 0x586 */ s16 field_0x586[2]; /* 0x58C */ f32 field_0x58c; @@ -46,14 +44,14 @@ public: /* 0x5AC */ s16 field_0x5ac; /* 0x5AE */ s16 field_0x5ae; /* 0x5B0 */ cXyz field_0x5b0; - /* 0x5BC */ uint field_0x5bc[2]; + /* 0x5BC */ fpc_ProcID field_0x5bc[2]; /* 0x5C4 */ s8 field_0x5c4[2]; /* 0x5C6 */ u8 field_0x5C6[0x5CC - 0x5C6]; - /* 0x5CC */ Mtx field_0x5cc; + /* 0x5CC */ Mtx mBgMtx; /* 0x5FC */ dBgW* mpBgW; /* 0x600 */ Z2SoundObjSimple mSound; /* 0x620 */ ms_chain_s mChains[4]; - /* 0x8A0 */ u8 field_0x8a0; + /* 0x8A0 */ bool mIsHIOOwner; enum MAGNESIMA_RES_FILE_ID { /* BMDR */ @@ -69,14 +67,29 @@ public: /* DZB */ /* 0x10 */ DZB_S_MAGNE_SIMA = 0x10, }; + + enum Action { + ACTION_START, + ACTION_DROP, + ACTION_FLOAT_1, + ACTION_FLOAT_2, + }; }; STATIC_ASSERT(sizeof(obj_msima_class) == 0x8a4); -class daObj_Msima_HIO_c { +class daObj_Msima_HIO_c : public JORReflexible { public: /* 80C9B40C */ daObj_Msima_HIO_c(); - /* 80C9CAA0 */ ~daObj_Msima_HIO_c(); + /* 80C9CAA0 */ virtual ~daObj_Msima_HIO_c() {} + + void genMessage(JORMContext*); + + /* 0x04 */ s8 mId; + /* 0x08 */ f32 mSize; + /* 0x0C */ s16 mMaxTiltAngle; + /* 0x0E */ s16 mMaxSlopeAngle; + /* 0x10 */ f32 mBasicPosition; }; diff --git a/include/d/actor/d_a_obj_swpush.h b/include/d/actor/d_a_obj_swpush.h index 470ff78e2e..249302e867 100644 --- a/include/d/actor/d_a_obj_swpush.h +++ b/include/d/actor/d_a_obj_swpush.h @@ -24,7 +24,7 @@ namespace daObjSwpush { FLAG_UNK20 = 0x20, }; - class Hio_c { + class Hio_c : public JORReflexible { public: class Attr_c { public: @@ -45,6 +45,21 @@ namespace daObjSwpush { /* 0x2A */ u8 field_0x2a; /* 0x2B */ u8 field_0x2b; }; + + #if DEBUG + void ct() { + if (mCount++ == 0) { + daObj::HioVarious_c::init(this, "踏みスイッチ"); // Foot Switch + } + } + + void default_set(); + void genMessage(JORMContext*); + void dt(); + #endif + + /* 0x4 */ int mCount; + /* 0x8 */ Attr_c field_0x8[5]; }; class Act_c : public fopAc_ac_c { @@ -173,30 +188,18 @@ namespace daObjSwpush { /* 0x5F8 */ cXyz field_0x5f8; }; - #ifdef DEBUG - class Hio_c : public JORReflexible { - public: - void ct() { - if (mCount++ == 0) { - daObj::HioVarious_c::init(this, "踏みスイッチ"); // Foot Switch - } - } - - void default_set() { - for (int i = 0; i < 5; i++) { - field_0x8[i] = Act_c::M_attr[i]; - } + #if DEBUG + void Hio_c::default_set() { + for (int i = 0; i < 5; i++) { + field_0x8[i] = Act_c::M_attr[i]; } + } - void dt() { - if (--mCount == 0) { - daObj::HioVarious_c::clean(this); - } + void Hio_c::dt() { + if (--mCount == 0) { + daObj::HioVarious_c::clean(this); } - - /* 0x4 */ int mCount; - /* 0x8 */ Attr_c field_0x8[5]; - }; + } #endif }; |
