tp/include/d/actor/d_a_e_yc.h

102 lines
2.7 KiB
C++

#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 {
daE_YC_HIO_c();
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 */