tp/include/d/actor/d_a_e_df.h

95 lines
2.2 KiB
C++

#ifndef D_A_E_DF_H
#define D_A_E_DF_H
#include "JSystem/JHostIO/JORReflexible.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "f_op/f_op_actor.h"
/**
* @ingroup actors-enemies
* @class daE_DF_c
* @brief Deku Flower
*
* @details
*
*/
class daE_DF_c : public fopEn_enemy_c {
public:
enum {
/* 0x0 */ EAT_TYPE_OBJ,
/* 0x1 */ EAT_TYPE_LINK,
/* 0x2 */ EAT_TYPE_BOMB,
};
enum {
/* 0x0 */ ACT_WAIT,
/* 0x1 */ ACT_EAT,
/* 0x2 */ ACT_DAMAGE,
/* 0x3 */ ACT_MISS,
/* 0x4 */ ANIM_BOUND,
/* 0x5 */ ANIM_BURST,
/* 0x6 */ ANIM_DIE,
/* 0x7 */ ANIM_EAT,
/* 0x8 */ ANIM_EAT_WAIT,
/* 0x9 */ ANIM_SPITOUT,
/* 0xA */ ANIM_WAIT,
};
int CreateHeap();
void initCcCylinder();
void setCcCylinder();
void SetAnm(int, int, f32, f32);
void CameraSet(f32);
bool DemoStart();
void SetReleaseCam();
int ctrlJoint(J3DJoint*, J3DModel*);
void Link_Eat_Pos();
void Set_Angle(cXyz*);
void Obj_Damage();
void DamageAction();
void BombEatAction();
void Spid_Out();
void LinkEatAction();
bool Mogu_Mogu();
void ObjEatAction();
void EatAction();
void SearchAction();
void WaitAction();
void MissAction();
void Action();
int Execute();
void Yazirushi();
int Draw();
int Delete();
void setBaseMtx();
int Create();
/* 0x5AC */ u8 mAction;
/* 0x5AD */ u8 mEatObjType;
/* 0x5AE */ u8 mEatStep;
/* 0x5B0 */ csXyz mChaseAngle;
/* 0x5B8 */ s32 mCarryType;
/* 0x5BC */ u8 mMoguCount;
/* 0x5BE */ s16 mTimer;
/* 0x5C0 */ s32 mAnim;
/* 0x5C4 */ s16 mTargetAngle;
/* 0x5C6 */ s16 mInvincibilityTimer;
/* 0x5C8 */ mDoExt_McaMorfSO* mpMorfSO;
/* 0x5CC */ request_of_phase_process_class mPhaseReq;
/* 0x5D4 */ u8 field_0x5d4[0x5D8 - 0x5D4];
/* 0x5D8 */ Z2CreatureEnemy mCreatureSound;
/* 0x67C */ dCcD_Stts mStts;
/* 0x6B8 */ dCcD_Cyl mCyl;
/* 0x7F4 */ dCcU_AtInfo mAtInfo;
/* 0x818 */ u8 mHIOInit;
/* 0x819 */ u8 mArg0;
/* 0x81C */ cXyz mCenterPos;
/* 0x828 */ cXyz mEyePos;
/* 0x834 */ f32 mFovY;
};
STATIC_ASSERT(sizeof(daE_DF_c) == 0x838);
#endif /* D_A_E_DF_H */