mirror of https://github.com/zeldaret/tp.git
94 lines
2.5 KiB
C++
94 lines
2.5 KiB
C++
#ifndef D_A_E_TT_H
|
|
#define D_A_E_TT_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_mng.h"
|
|
|
|
/**
|
|
* @ingroup actors-enemies
|
|
* @class daE_TT_c
|
|
* @brief Tektite
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daE_TT_c : public fopEn_enemy_c {
|
|
public:
|
|
int ctrlJoint(J3DJoint*, J3DModel*);
|
|
static int JointCallBack(J3DJoint*, int);
|
|
int draw();
|
|
void setBck(int, u8, f32, f32);
|
|
void calcHitGroundSpeed();
|
|
void setActionMode(int, int);
|
|
int getCutType();
|
|
void damage_check();
|
|
void checkWaterSurface();
|
|
void checkFootGround();
|
|
void setBodyLandEffect();
|
|
void setWaterEffect();
|
|
void setDeathEyeEffect();
|
|
void setDeathFootEffect();
|
|
bool checkPlayerSearch();
|
|
void executeWait();
|
|
void executeChase();
|
|
void executeAttack();
|
|
void setDamageInit();
|
|
void executeDamage();
|
|
void executeDeath();
|
|
void executeOutRange();
|
|
void executeFirstAttack();
|
|
void action();
|
|
void mtx_set(int);
|
|
void cc_set();
|
|
int execute();
|
|
int _delete();
|
|
int CreateHeap();
|
|
int create();
|
|
|
|
private:
|
|
/* 0x5AC */ request_of_phase_process_class mPhaseReq;
|
|
/* 0x5B4 */ request_of_phase_process_class mPhaseReq2;
|
|
/* 0x5BC */ mDoExt_McaMorfSO* mpMorfSO;
|
|
/* 0x5C0 */ Z2CreatureEnemy mSound;
|
|
/* 0x664 */ dBgS_ObjGndChk_All mGndChk;
|
|
/* 0x6B8 */ int mAction;
|
|
/* 0x6BC */ int mMode;
|
|
/* 0x6C0 */ u32 mShadowKey;
|
|
/* 0x6C4 */ u8 field_0x6C4[0x6C8 - 0x6C4];
|
|
/* 0x6C8 */ f32 mDeathColor;
|
|
/* 0x6CC */ f32 mTransOffsetVelocity;
|
|
/* 0x6D0 */ f32 mTransOffset;
|
|
/* 0x6D4 */ f32 field_0x6d4;
|
|
/* 0x6D8 */ s16 mFootJoints[4];
|
|
/* 0x6E0 */ s16 field_0x6e0;
|
|
/* 0x6E4 */ char* mpResName;
|
|
/* 0x6E8 */ u16 mDamageCooldownTimer;
|
|
/* 0x6EA */ u8 mGenericTimer;
|
|
/* 0x6EC */ int mAttackTimer;
|
|
/* 0x6F0 */ int field_0x6f0;
|
|
/* 0x6F4 */ u8 mPlayerCutTimer;
|
|
/* 0x6F5 */ u8 mPlayerCutType;
|
|
/* 0x6F6 */ u8 mTektiteType;
|
|
/* 0x6F7 */ u8 field_0x6f7;
|
|
/* 0x6F8 */ u8 mPlayerOnHorse;
|
|
/* 0x6F9 */ u8 mSwitchFlag;
|
|
/* 0x6FA */ u8 mTektiteOnWater;
|
|
/* 0x6FB */ u8 field_0x6fb; // only set, not used
|
|
/* 0x6FC */ dBgS_AcchCir mAcchCir;
|
|
/* 0x73C */ dBgS_ObjAcch mObjAcch;
|
|
/* 0x914 */ dCcD_Stts mStts;
|
|
/* 0x950 */ dCcD_Sph mSphere;
|
|
/* 0xA88 */ dCcU_AtInfo mAtInfo;
|
|
/* 0xAAC */ u32 mPolyColors[4];
|
|
/* 0xABC */ u32 mDeathParticle;
|
|
/* 0xAC0 */ u32 mDeathParticle2;
|
|
/* 0xAC4 */ u8 field_0xAC4[0xACC - 0xAC4];
|
|
/* 0xACC */ u8 mHIOInit;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daE_TT_c) == 0xad0);
|
|
|
|
#endif /* D_A_E_TT_H */
|