#ifndef D_A_E_YC_H #define D_A_E_YC_H #include "SSystem/SComponent/c_phase.h" #include "Z2AudioLib/Z2Creature.h" #include "d/d_bg_s_acch.h" #include "d/d_cc_d.h" #include "d/d_cc_uty.h" #include "f_op/f_op_actor.h" /** * @ingroup actors-enemies * @class e_yc_class * @brief Twilight Kargorok * * @details * */ class e_yc_class : public fopEn_enemy_c { public: MtxP getLegR3Mtx() { return mpMorf->getModel()->getAnmMtx(28); } /* 0x5AC */ request_of_phase_process_class mPhase; /* 0x5B4 */ u8 mParam; /* 0x5B8 */ mDoExt_McaMorfSO* mpMorf; /* 0x5BC */ Z2CreatureEnemy mCreatureSound; /* 0x660 */ int mAnm; /* 0x664 */ int mFlyAnmMode; /* 0x668 */ u32 mShadowKey; /* 0x66C */ s16 mCounter; /* 0x66E */ s16 mAction; /* 0x670 */ s16 mMode; /* 0x674 */ cXyz mTargetPos; /* 0x680 */ s16 mAngleToPlayer; /* 0x684 */ f32 mDistToPlayer; /* 0x688 */ f32 mAngleSpeedRatio; /* 0x68C */ f32 mAngleXSpeedRatio; /* 0x690 */ f32 mMaxAngleSpeed; /* 0x694 */ f32 field_0x694; /* 0x698 */ f32 field_0x698; /* 0x69C */ f32 field_0x69c; /* 0x6A0 */ s16 field_0x6a0; /* 0x6A2 */ s16 mTimer[4]; /* 0x6AA */ s16 mCcDisableTimer; /* 0x6AC */ u32 mRiderID; /* 0x6B0 */ u8 field_0x6b0; /* 0x6B1 */ u8 field_0x6b1; /* 0x6B2 */ s8 mNoDrawFlag; /* 0x6B3 */ s8 mWolfBiteDamageCount; /* 0x6B4 */ dBgS_AcchCir mAcchCir; /* 0x6F4 */ dBgS_ObjAcch mAcch; /* 0x8CC */ dCcD_Stts mCcStts; /* 0x908 */ dCcD_Sph mCcSph; /* 0xA40 */ dCcD_Sph mAtSph; /* 0xB78 */ dCcU_AtInfo mAtInfo; /* 0xB9C */ u32 mParticleKey[2]; /* 0xBA4 */ bool mHIOInit; enum Action { /* 0x00 */ ACT_FLY, /* 0x0A */ ACT_F_FLY = 10, /* 0x0B */ ACT_HOVERING, /* 0x0C */ ACT_ATTACK, /* 0x14 */ ACT_WOLFBITE = 20, }; enum Animation { /* 0x04 */ ANM_CATCH_END = 4, /* 0x05 */ ANM_CATCH_MIDDLE, /* 0x06 */ ANM_CATCH_START, /* 0x07 */ ANM_CRASH, /* 0x08 */ ANM_CRASH2, /* 0x09 */ ANM_FLY, /* 0x0A */ ANM_FLY_BRAKE, /* 0x0B */ ANM_FLY_DASH_WL, /* 0x0C */ ANM_FLY_GLIDE, /* 0x0D */ ANM_FLY_GLIDE_WL, /* 0x0E */ ANM_FLY_LIMIT_WL, /* 0x0F */ ANM_FLY_WL, /* 0x10 */ ANM_HANGED, /* 0x11 */ ANM_HANGED_BRUSH, /* 0x12 */ ANM_HANGED_BRUSH2, /* 0x13 */ ANM_HANGED_DAMAGE, /* 0x14 */ ANM_HANGED_WAIT, /* 0x15 */ ANM_HOVERING, }; }; STATIC_ASSERT(sizeof(e_yc_class) == 0xBA8); struct daE_YC_HIO_c { /* 807EFECC */ daE_YC_HIO_c(); /* 807F27BC */ virtual ~daE_YC_HIO_c() {} /* 0x4 */ s8 field_0x4; /* 0x8 */ f32 mScale; }; STATIC_ASSERT(sizeof(daE_YC_HIO_c) == 0xC); #endif /* D_A_E_YC_H */