tp/include/d/actor/d_a_e_tt.h

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 */