summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2025-08-21 14:07:41 +0300
committerGitHub <noreply@github.com>2025-08-21 04:07:41 -0700
commitef75333735a80b9ee290544a5f3d4b80388d09cd (patch)
tree4efeb2e9c8f8de115dcf598abd615d74fa78027a /include
parent7a87b3132fe3d7d7d84757e0fdcfdaaee6d3c1f9 (diff)
d_a_obj_msima OK (#2593)
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_obj_msima.h39
-rw-r--r--include/d/actor/d_a_obj_swpush.h47
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
};