mirror of https://github.com/zeldaret/tp.git
91 lines
2.2 KiB
C++
91 lines
2.2 KiB
C++
#ifndef D_A_E_OT_H
|
|
#define D_A_E_OT_H
|
|
|
|
#include "SSystem/SComponent/c_phase.h"
|
|
#include "d/actor/d_a_e_dt.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 daE_OT_c
|
|
* @brief Toado
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daE_OT_c : public fopEn_enemy_c {
|
|
public:
|
|
int draw();
|
|
void setBck(int, u8, f32, f32);
|
|
void setActionMode(int, int);
|
|
void damage_check();
|
|
void checkWaterSurface();
|
|
void setWaterEffect();
|
|
void setEggBreakEffect();
|
|
void setDeathLightEffect();
|
|
void setEggStay();
|
|
void executeEgg();
|
|
void executeBorn();
|
|
void executeAttack();
|
|
void executePanic();
|
|
void executeDamage();
|
|
void action();
|
|
void mtx_set();
|
|
void cc_set();
|
|
int execute();
|
|
int _delete();
|
|
int CreateHeap();
|
|
cPhs__Step create();
|
|
|
|
int getChildNo() { return mChildNo; }
|
|
int getActionMode() { return mAction; }
|
|
void setShakeEgg() { mMode = 4; }
|
|
void setDeleteEgg() { mMode = 6; }
|
|
void setFallEgg() { mMode = 8; }
|
|
|
|
enum Action {
|
|
/* 0x0 */ ACT_EGG,
|
|
/* 0x1 */ ACT_BORN,
|
|
/* 0x2 */ ACT_ATTACK,
|
|
/* 0x3 */ ACT_PANIC,
|
|
/* 0x4 */ ACT_DAMAGE,
|
|
};
|
|
|
|
private:
|
|
/* 0x5AC */ request_of_phase_process_class mPhase;
|
|
/* 0x5B4 */ mDoExt_McaMorfSO* mpMorf;
|
|
/* 0x5B8 */ J3DModel* mpEggModel;
|
|
/* 0x5BC */ mDoExt_btkAnm* mpEggAnm;
|
|
/* 0x5C0 */ Z2CreatureEnemy mSound;
|
|
/* 0x664 */ cXyz mEggPos;
|
|
/* 0x670 */ daE_DT_c* mpToadActor;
|
|
/* 0x674 */ int mAction;
|
|
/* 0x678 */ int mMode;
|
|
/* 0x67C */ u32 mShadowKey;
|
|
/* 0x680 */ f32 mScale;
|
|
/* 0x684 */ f32 mAnmSpeed;
|
|
/* 0x688 */ f32 mWaterSurface;
|
|
/* 0x68C */ int mChildNo;
|
|
/* 0x690 */ s16 mTargetAngleY;
|
|
/* 0x692 */ u8 mDemoMode;
|
|
/* 0x693 */ bool mHatched;
|
|
/* 0x694 */ u8 mTimer1;
|
|
/* 0x695 */ u8 mTimer2;
|
|
/* 0x698 */ dBgS_AcchCir mAcchCir;
|
|
/* 0x6D8 */ dBgS_ObjAcch mAcch;
|
|
/* 0x8B0 */ dCcD_Stts mCcStts;
|
|
/* 0x8EC */ dCcD_Sph mCcSph;
|
|
/* 0xA24 */ dCcD_Sph mAtSph;
|
|
/* 0xB5C */ dCcU_AtInfo mAtInfo;
|
|
/* 0xB80 */ u32 mWaterEffectKey[4];
|
|
/* 0xB90 */ u32 mRippleKey;
|
|
/* 0xB94 */ bool mHIOInit;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daE_OT_c) == 0xb98);
|
|
|
|
#endif /* D_A_E_OT_H */
|