#ifndef D_A_B_OH_H #define D_A_B_OH_H #include "SSystem/SComponent/c_phase.h" #include "f_op/f_op_actor.h" #include "d/d_cc_d.h" #include "d/d_cc_uty.h" enum b_oh_action { OH_ACTION_START, OH_ACTION_WAIT, OH_ACTION_ATTACK, OH_ACTION_CAUGHT, OH_ACTION_END = 10, OH_ACTION_NON = 11, }; /** * @ingroup actors-enemies * @class b_oh_class * @brief Morpheel (head) * * @details Lakebed Temple dungeon boss. This is the head part of the boss. * */ class b_oh_class : public fopEn_enemy_c { public: /* 0x05AC */ request_of_phase_process_class mPhase; /* 0x05B4 */ mDoExt_McaMorf* mpMorf; /* 0x05B8 */ mDoExt_invisibleModel mInvisModel; /* 0x05C0 */ mDoExt_btkAnm* mpBtk; /* 0x05C4 */ mDoExt_brkAnm* mpBrk; /* 0x05C8 */ int field_0x5c8; /* 0x05CC */ s16 field_0x5cc; /* 0x05CE */ s16 mAction; /* 0x05D0 */ s16 mActionPhase; /* 0x05D2 */ u8 field_0x5D2[0x05E2 - 0x05D2]; /* 0x05E2 */ s16 mAngleToPlayer; /* 0x05E4 */ f32 mDistToPlayer; /* 0x05E8 */ u8 field_0x5E8[0x05EC - 0x05E8]; /* 0x05EC */ s16 mTimers[4]; /* 0x05F4 */ s16 field_0x5f4; /* 0x05F6 */ s16 field_0x5f6; /* 0x05F8 */ s16 field_0x5f8; /* 0x05FA */ s16 field_0x5fa; /* 0x05FC */ f32 field_0x5fc; /* 0x0600 */ f32 field_0x600; /* 0x0604 */ f32 field_0x604; /* 0x0608 */ f32 field_0x608; /* 0x060C */ f32 field_0x60c; /* 0x0610 */ f32 field_0x610; /* 0x0614 */ f32 field_0x614; /* 0x0618 */ f32 mTentacleLength; /* 0x061C */ csXyz field_0x61c[30]; /* 0x06D0 */ csXyz field_0x6d0[30]; /* 0x0784 */ csXyz field_0x784[30]; /* 0x0838 */ csXyz field_0x838[30]; /* 0x08EC */ f32 field_0x8ec[30]; /* 0x0964 */ f32 field_0x964[30]; /* 0x09DC */ f32 field_0x9dc[30]; /* 0x0A54 */ u8 field_0xa54[0xA58 - 0xA54]; /* 0x0A58 */ cXyz field_0xa58[31]; /* 0x0BCC */ csXyz field_0xbcc[31]; /* 0x0C86 */ u8 field_0xC86[0x0C88 - 0x0C86]; /* 0x0C88 */ int field_0xc88; /* 0x0C8C */ f32 field_0xc8c; /* 0x0C90 */ f32 field_0xc90; /* 0x0C94 */ s16 field_0xc94; /* 0x0C96 */ s16 field_0xc96; /* 0x0C98 */ s16 field_0xc98; /* 0x0C9A */ u8 field_0xC9A[0x0C9C - 0x0C9A]; /* 0x0C9C */ f32 field_0xc9c; /* 0x0CA0 */ s16 field_0xca0; /* 0x0CA2 */ s16 field_0xca2; /* 0x0CA4 */ s16 field_0xca4; /* 0x0CA6 */ u8 field_0xCA6[0x0CA8 - 0x0CA6]; /* 0x0CA8 */ int field_0xca8; /* 0x0CAC */ f32 field_0xcac; /* 0x0CB0 */ dCcD_Stts mCcStts; /* 0x0CEC */ dCcD_Sph mColliders[15]; /* 0x1F34 */ dCcU_AtInfo mAtInfo; /* 0x1F58 */ u8 field_0x1F58[0x1F68 - 0x1F58]; /* 0x1F68 */ cXyz field_0x1f68; /* 0x1F74 */ csXyz field_0x1f74; /* 0x1F7C */ f32 field_0x1f7c; /* 0x1F80 */ u32 field_0x1f80; /* 0x1F84 */ u8 field_0x1F84[0x1F86 - 0x1F84]; /* 0x1F86 */ u8 field_0x1f86; }; STATIC_ASSERT(sizeof(b_oh_class) == 0x1F88); #endif /* D_A_B_OH_H */