d_a_obj_msima OK (#2593)

This commit is contained in:
hatal175
2025-08-21 14:07:41 +03:00
committed by GitHub
parent 7a87b3132f
commit ef75333735
10 changed files with 640 additions and 955 deletions
+26 -13
View File
@@ -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;
};
+25 -22
View File
@@ -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
}
#if DEBUG
void Hio_c::default_set() {
for (int i = 0; i < 5; i++) {
field_0x8[i] = Act_c::M_attr[i];
}
}
void default_set() {
for (int i = 0; i < 5; i++) {
field_0x8[i] = Act_c::M_attr[i];
}
void Hio_c::dt() {
if (--mCount == 0) {
daObj::HioVarious_c::clean(this);
}
void dt() {
if (--mCount == 0) {
daObj::HioVarious_c::clean(this);
}
}
/* 0x4 */ int mCount;
/* 0x8 */ Attr_c field_0x8[5];
};
}
#endif
};