diff options
| author | Stbn-antier <99532548+Stbn-antier@users.noreply.github.com> | 2025-07-31 02:27:05 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-30 20:27:05 +0300 |
| commit | c32789eb607b0ca2cb63bd5b9e5f712985bd579e (patch) | |
| tree | 0c98e355ec5d13af14721e8693307f3edabb6a63 /include | |
| parent | ec9e4cf26860e9effab9d2ef49e8f8074dcefb65 (diff) | |
d_a_bd Matching (#2560)
* Matching daPoFire
* Adressed comments
* Matching text
* Some cleanup
* Adressed review comments, added CUT_TYPE_NONE in cut type enum
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_bd.h | 91 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc_kkri.h | 14 | ||||
| -rw-r--r-- | include/d/actor/d_a_player.h | 3 |
3 files changed, 100 insertions, 8 deletions
diff --git a/include/d/actor/d_a_bd.h b/include/d/actor/d_a_bd.h index 0cacdf28f5..a5e41c7a83 100644 --- a/include/d/actor/d_a_bd.h +++ b/include/d/actor/d_a_bd.h @@ -1,6 +1,8 @@ #ifndef D_A_BD_H #define D_A_BD_H +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" #include "f_op/f_op_actor_mng.h" /** @@ -11,18 +13,95 @@ * @details Used by birds that sit on Coro's head. * */ -class bd_class : public fopEn_enemy_c { -private: - /* 0x5ac */ u8 field_0x5ac[0x9ec - 0x5ac]; + +enum da_BD_ANM { + ANM_FLY = 5, + ANM_KAKKU, + ANM_KAKKU1, + ANM_PITA_DOWN, + ANM_PITA_LEFTUP, + ANM_PITA_RIGHT, + ANM_PYON, +}; + +enum Action_bd { + ACT_GROUND = 0, + ACT_FLY = 1, + ACT_DROP = 2, + ACT_LANDING = 3, + ACT_LANDING2 = 4, + ACT_LANDING3 = 5, + ACT_ROPE = 6, + ACT_KKRI = 7, +}; + +class bd_class { +public: + /* 0x000 */ fopEn_enemy_c enemy; + /* 0x5AC */ request_of_phase_process_class mPhase; + /* 0x5B4 */ u8 field_0x5B4; + /* 0x5B5 */ u8 field_0x5B5; + /* 0x5B6 */ u8 field_0x5B6; + /* 0x5B7 */ u8 field_0x5B7; + /* 0x5B8 */ u8 field_0x5B8; + /* 0x5B9 */ u8 field_0x5B9; + /* 0x5B8 */ char pad5B8[0x8]; // Padding + /* 0x5C2 */ s8 field_0x5C2; + /* 0x5C4 */ cXyz field_0x5C4; + /* 0x5D0 */ s16 mTargetAngleY; + /* 0x5D4 */ actor_place* field_0x5D4; + /* 0x5D8 */ s16 field_0x5D8; + /* 0x5DC */ f32 field_0x5DC; + /* 0x5E0 */ f32 field_0x5E0; + /* 0x5E4 */ mDoExt_McaMorf* mpMorf; + /* 0x5E8 */ mDoExt_btkAnm* mpBtk; + /* 0x5EC */ s8 field_0x5EC; + /* 0x5F0 */ s32 mAnmID; + /* 0x5F4 */ s16 mChirpDist; + /* 0x5F8 */ Z2SoundObjSimple mSound; + /* 0x618 */ s16 field_0x618; + /* 0x61A */ s16 mActionID; + /* 0x61C */ s16 field_0x61C; + /* 0x61E */ s16 field_0x61E; + /* 0x620 */ f32 field_0x620; + /* 0x624 */ f32 field_0x624; + /* 0x628 */ s16 field_0x628; + /* 0x62C */ cXyz* field_0x62C; + /* 0x630 */ int field_0x630; + /* 0x634 */ cXyz field_0x634; + /* 0x640 */ s16 field_0x640; + /* 0x642 */ s16 field_0x642; + /* 0x644 */ char pad644[1]; // Padding + /* 0x645 */ s8 field_0x645; + /* 0x646 */ char pad646[0x64C - 0x646]; // Padding + /* 0x64C */ s16 field_0x64C[4]; + /* 0x654 */ s16 field_0x654; + /* 0x656 */ s8 field_0x656; + /* 0x658 */ s16 field_0x658; + /* 0x65C */ dBgS_AcchCir mAcchCir; + /* 0x69C */ dBgS_ObjAcch mBgc; + /* 0x874 */ dCcD_Stts mStts; + /* 0x8B0 */ dCcD_Sph mSphere; + /* 0x9E8 */ u8 field_0x9E8; }; STATIC_ASSERT(sizeof(bd_class) == 0x9ec); -class daBd_HIO_c { +class daBd_HIO_c : public JORReflexible { public: /* 804D6C4C */ daBd_HIO_c(); - /* 804D9CB8 */ ~daBd_HIO_c(); -}; + /* 804D9CB8 */ virtual ~daBd_HIO_c() {} + void genMessage(JORMContext*); + + /* 0x04 */ s8 id; + /* 0x08 */ f32 mBasicSize; + /* 0x0C */ f32 mFlightSpeed; + /* 0x10 */ f32 mGroundSpeed; + /* 0x14 */ s16 mFlightTime; + /* 0x18 */ f32 mLinkDetectRange; + /* 0x1C */ s16 mChirpDist; + /* 0x1E */ s8 field_0x1E; +}; #endif /* D_A_BD_H */ diff --git a/include/d/actor/d_a_npc_kkri.h b/include/d/actor/d_a_npc_kkri.h index 87978fe34f..6dbf9cbfe1 100644 --- a/include/d/actor/d_a_npc_kkri.h +++ b/include/d/actor/d_a_npc_kkri.h @@ -57,11 +57,23 @@ public: /* 80553404 */ void checkChangeJoint(int); /* 80553414 */ void checkRemoveJoint(int); + MtxP getBd3Mtx() { + return mpMorf->getModel()->getAnmMtx(0x11); + } + MtxP getBd2Mtx() { + return mpMorf->getModel()->getAnmMtx(6); + } + MtxP getBd1Mtx() { + return mpMorf->getModel()->getAnmMtx(5); + } + static void* mCutNameList[3]; static u8 mCutList[36]; private: - /* 0x568 */ u8 field_0x568[0xfdc - 0x568]; + /* 0x568 */ u8 field_0x568[0x578 - 0x568]; + /* 0x578 */ mDoExt_McaMorfSO* mpMorf; + /* 0x57C */ u8 field_0x57C[0xfdc - 0x57C]; }; STATIC_ASSERT(sizeof(daNpc_Kkri_c) == 0xfdc); diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index b3c6e716f1..03fa2109cf 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -599,7 +599,8 @@ public: }; enum CutType { - /* 0x01 */ CUT_TYPE_NM_VERTICAL = 1, + /* 0x00 */ CUT_TYPE_NONE, + /* 0x01 */ CUT_TYPE_NM_VERTICAL, /* 0x02 */ CUT_TYPE_NM_STAB, /* 0x03 */ CUT_TYPE_NM_RIGHT, /* 0x04 */ CUT_TYPE_NM_LEFT, |
