mirror of https://github.com/zeldaret/tp.git
129 lines
3.5 KiB
C++
129 lines
3.5 KiB
C++
#ifndef D_A_E_PZ_H
|
|
#define D_A_E_PZ_H
|
|
|
|
#include "f_op/f_op_actor_mng.h"
|
|
#include "d/d_bg_s_acch.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_cc_uty.h"
|
|
|
|
/**
|
|
* @ingroup actors-enemies
|
|
* @class daE_PZ_c
|
|
* @brief Phantom Zant
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daE_PZ_c : public fopEn_enemy_c {
|
|
public:
|
|
enum Action_e {
|
|
ACTION_SEARCH_POINT_e,
|
|
ACTION_OPENING_DEMO_e,
|
|
ACTION_WAIT_e,
|
|
ACTION_ATTACK_e,
|
|
ACTION_DAMAGE_e,
|
|
ACTION_DEAD_e,
|
|
};
|
|
|
|
void onBombArrowHit() { mBombArrowHit = true; }
|
|
|
|
int draw();
|
|
void setBck(int, u8, f32, f32);
|
|
void setActionMode(int, int);
|
|
void mEntrySUB(bool);
|
|
bool mPzScaleSet(bool);
|
|
void mEnemyScaleSet();
|
|
u8 getCutType();
|
|
void mSetFirePos();
|
|
void damage_check();
|
|
void executeSearchPoint();
|
|
void executeOpeningDemo();
|
|
void mPointerSet();
|
|
void executeWait();
|
|
void executeAttack();
|
|
void executeDamage();
|
|
void executeDead();
|
|
void executeSummonsBullet();
|
|
void executeBullet();
|
|
void action();
|
|
void action_fire();
|
|
void fire_mtx_set();
|
|
void mtx_set();
|
|
void cc_set();
|
|
int execute();
|
|
int _delete();
|
|
int CreateHeap();
|
|
int create();
|
|
daE_PZ_c();
|
|
|
|
/* 0x5AC */ request_of_phase_process_class mPhase;
|
|
/* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf;
|
|
/* 0x5B8 */ mDoExt_McaMorfSO* mpBallModelMorf;
|
|
/* 0x5BC */ J3DModel* mpPortalModel;
|
|
/* 0x5C0 */ mDoExt_btkAnm* mpPortalBtk;
|
|
/* 0x5C4 */ mDoExt_brkAnm* mpPortalBrk[2];
|
|
/* 0x5CC */ mDoExt_brkAnm* mpBallBrk;
|
|
/* 0x5D0 */ mDoExt_btkAnm* mpPzBtk;
|
|
/* 0x5D4 */ mDoExt_brkAnm* mpPzBrk;
|
|
/* 0x5D8 */ int field_0x5d8;
|
|
/* 0x5DC */ Z2CreatureEnemy field_0x5dc;
|
|
/* 0x680 */ int mActionMode;
|
|
/* 0x684 */ int mMoveMode;
|
|
/* 0x688 */ u32 mShadowKey;
|
|
/* 0x68C */ int mAnm;
|
|
/* 0x690 */ cXyz mPointPos[10];
|
|
/* 0x708 */ cXyz field_0x708[10];
|
|
/* 0x780 */ u8 field_0x780[10];
|
|
/* 0x78A */ u8 mPointNum;
|
|
/* 0x78B */ u8 mCurrentPoint;
|
|
/* 0x78C */ u8 field_0x78c;
|
|
/* 0x790 */ cXyz field_0x790;
|
|
/* 0x79C */ cXyz mPzScale;
|
|
/* 0x7A8 */ cXyz field_0x7a8;
|
|
/* 0x7B4 */ u8 field_0x7B4[0x7BC - 0x7B4];
|
|
/* 0x7BC */ f32 field_0x7bc;
|
|
/* 0x7C0 */ f32 field_0x7c0;
|
|
/* 0x7C4 */ f32 field_0x7c4;
|
|
/* 0x7C8 */ f32 field_0x7c8;
|
|
/* 0x7CC */ f32 field_0x7cc;
|
|
/* 0x7D0 */ u8 field_0x7d0;
|
|
/* 0x7D1 */ u8 field_0x7d1;
|
|
/* 0x7D2 */ u8 field_0x7d2;
|
|
/* 0x7D3 */ u8 field_0x7d3;
|
|
/* 0x7D4 */ u8 arg0;
|
|
/* 0x7D5 */ u8 arg1;
|
|
/* 0x7D6 */ u8 bitSw;
|
|
/* 0x7D7 */ u8 field_0x7d7;
|
|
/* 0x7D8 */ u8 field_0x7d8;
|
|
/* 0x7DC */ fpc_ProcID field_0x7dc[25];
|
|
/* 0x840 */ u8 field_0x840;
|
|
/* 0x841 */ u8 field_0x841;
|
|
/* 0x842 */ u8 field_0x842;
|
|
/* 0x843 */ u8 field_0x843;
|
|
/* 0x844 */ u8 field_0x844;
|
|
/* 0x845 */ u8 mBombArrowHit;
|
|
/* 0x846 */ u8 field_0x846;
|
|
/* 0x847 */ u8 field_0x847;
|
|
/* 0x848 */ u8 field_0x848;
|
|
/* 0x84C */ int field_0x84c;
|
|
/* 0x850 */ dBgS_AcchCir mAcchCir;
|
|
/* 0x890 */ dBgS_ObjAcch mAcch;
|
|
/* 0xA68 */ u32 field_0xa68[3];
|
|
/* 0xA74 */ u32 field_0xa74[2];
|
|
/* 0xA7C */ u8 field_0xA7C[0xAB4 - 0xA7C];
|
|
/* 0xAB4 */ u32 field_0xab4[2];
|
|
/* 0xABC */ cXyz mDemoCameraEye;
|
|
/* 0xAC8 */ cXyz mDemoCameraCenter;
|
|
/* 0xAD4 */ dCcD_Stts mColliderStts;
|
|
/* 0xB10 */ dCcD_Cyl mCylCollider;
|
|
/* 0xC4C */ dCcD_Cyl mWarpCylCollider;
|
|
/* 0xD88 */ dCcD_Sph mBulletAtCollider;
|
|
/* 0xEC0 */ dCcU_AtInfo mAtInfo;
|
|
/* 0xEE4 */ u8 mInitHIO;
|
|
/* 0xEE5 */ u8 field_0xee5[0xEF8 - 0xEE5];
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daE_PZ_c) == 0xEF8);
|
|
|
|
#endif /* D_A_E_PZ_H */
|