mirror of https://github.com/zeldaret/tp.git
104 lines
2.6 KiB
C++
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 */
|