tp/include/d/actor/d_a_e_ba.h

104 lines
2.6 KiB
C++

#ifndef D_A_E_BA_H
#define D_A_E_BA_H
#include "Z2AudioLib/Z2Creature.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_uty.h"
#include "d/d_path.h"
/**
* @ingroup actors-enemies
* @class e_ba_class
* @brief Keese
*
* @details
*
*/
class e_ba_class {
public:
enum Type {
/* 0 */ TYPE_NORMAL,
/* 1 */ TYPE_FIRE,
/* 2 */ TYPE_ICE,
};
enum HomeType {
/* 0 */ HOME_ROOF,
/* 1 */ HOME_FLY,
/* 2 */ HOME_APPEAR,
};
enum Action {
/* 0x0 */ ACT_ROOF,
/* 0x1 */ ACT_FIGHT_FLY,
/* 0x2 */ ACT_FIGHT,
/* 0x3 */ ACT_ATTACK,
/* 0x4 */ ACT_RETURN,
/* 0x5 */ ACT_FLY,
/* 0x6 */ ACT_PATH_FLY,
/* 0xA */ ACT_CHANCE = 10,
/* 0xD */ ACT_WOLFBITE = 13,
/* 0xE */ ACT_WIND,
/* 0xF */ ACT_APPEAR,
};
enum Animation {
/* 0x4 */ ANM_APPEAR = 4,
/* 0x5 */ ANM_DEAD,
/* 0x6 */ ANM_FLY,
/* 0x7 */ ANM_FURA2,
/* 0x8 */ ANM_HOLDWAIT,
/* 0x9 */ ANM_HOVERING,
/* 0xA */ ANM_WAIT,
};
/* 0x000 */ fopEn_enemy_c mEnemy;
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ u8 mHomeType;
/* 0x5B5 */ u8 mDistanceParam;
/* 0x5B6 */ u8 mType;
/* 0x5B7 */ u8 mPathIndex;
/* 0x5B8 */ char* mArcName;
/* 0x5BC */ u8 field_0x5bc;
/* 0x5BD */ s8 mPathPoint;
/* 0x5BE */ s8 mPathStep;
/* 0x5C0 */ dPath* mpPath;
/* 0x5C4 */ mDoExt_McaMorfSO* mpMorf;
/* 0x5C8 */ Z2CreatureEnemy mCreatureSound;
/* 0x66C */ int mAnm;
/* 0x670 */ s16 mCounter;
/* 0x672 */ s16 mAction;
/* 0x674 */ s16 mMode;
/* 0x678 */ cXyz mTargetPos;
/* 0x684 */ s16 mPlayerAngleY;
/* 0x688 */ f32 mPlayerDistanceXZ;
/* 0x68C */ f32 mFightFlyDistance;
/* 0x690 */ f32 mSpeedRatio;
/* 0x694 */ f32 mBaseAngleSpeed;
/* 0x698 */ f32 mKnockbackSpeed;
/* 0x69C */ s16 mKnockbackAngle;
/* 0x69E */ csXyz mChanceAngle;
/* 0x6A4 */ s8 mIsDying;
/* 0x6A6 */ s16 mTimer[4];
/* 0x6AE */ s16 mIFrames;
/* 0x6B0 */ cXyz field_0x6b0;
/* 0x6BC */ cXyz mWindOffset;
/* 0x6C8 */ s16 mWindSpinSpeed;
/* 0x6CC */ dBgS_AcchCir mAcchCir;
/* 0x70C */ dBgS_ObjAcch mAcch;
/* 0x8E4 */ dCcD_Stts mStts;
/* 0x920 */ dCcD_Sph mSph;
/* 0xA58 */ dCcU_AtInfo mAtInfo;
/* 0xA7C */ u32 mSmokeKey1;
/* 0xA80 */ u32 mSmokeKey2;
/* 0xA84 */ u32 mParticleKey[4];
/* 0xA94 */ u8 field_0xa94[0xc];
/* 0xAA0 */ bool mHIOInit;
};
STATIC_ASSERT(sizeof(e_ba_class) == 0xAA4);
#endif /* D_A_E_BA_H */