tp/include/d/actor/d_a_obj_kuwagata.h

88 lines
2.2 KiB
C++

#ifndef D_A_OBJ_KUWAGATA_H
#define D_A_OBJ_KUWAGATA_H
#include "SSystem/SComponent/c_phase.h"
#include "d/actor/d_a_player.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_insect.h"
/**
* @ingroup actors-objects
* @class daObjKUW_c
* @brief Insect - Stag Beetle
*
* @details
*
*/
class daObjKUW_c : public dInsect_c {
public:
enum Action {
/* 0 */ ACTION_WAIT,
/* 1 */ ACTION_MOVE,
/* 2 */ ACTION_WALK,
};
void InitCcSph();
void SetCcSph();
int CreateHeap();
void ShopWaitAction();
void WaitAction();
BOOL WallCheck();
void SpeedSet();
void WallWalk();
void WalkAction();
void MoveAction();
void Action();
void ShopAction();
void Insect_Release();
void Z_BufferChk();
void ParticleSet();
void BoomChk();
void ObjHit();
int Execute();
int Delete();
void setBaseMtx();
bool CreateChk();
int create();
inline int Draw();
private:
/* 0x590 */ dCcD_Stts mStts;
/* 0x5CC */ dCcD_Sph mSph;
/* 0x704 */ daPy_boomerangMove_c mBoomerangMove;
/* 0x710 */ dBgS_AcchCir mAcchCir;
/* 0x750 */ dBgS_ObjAcch mAcch;
/* 0x928 */ dBgS_GndChk mGndChk;
/* 0x97C */ int field_0x97c;
/* 0x980 */ u8 mAction;
/* 0x981 */ u8 mSubAction;
/* 0x982 */ s16 mTimers[3];
/* 0x988 */ f32 mSpeedFTarget;
/* 0x98C */ f32 mSpeedYTarget;
/* 0x990 */ s16 mAngleTarget;
/* 0x992 */ u8 field_0x992[0x99a - 0x992];
/* 0x99A */ csXyz field_0x99a;
/* 0x9A0 */ s16 field_0x9a0;
/* 0x9A2 */ s16 field_0x9a2;
/* 0x9A4 */ u8 field_0x9a4[0x9a8 - 0x9a4];
/* 0x9A8 */ f32 mParticleScale;
/* 0x9AC */ f32 mParticleScaleTarget;
/* 0x9B0 */ mDoExt_brkAnm* mpBrkAnm;
/* 0x9B4 */ mDoExt_btkAnm* mpBtkAnm;
/* 0x9B8 */ f32 field_0x9b8;
/* 0x9BC */ u32 field_0x9bc;
/* 0x9C0 */ u8 field_0x9c0;
/* 0x9C1 */ u8 field_0x9c1;
/* 0x9C2 */ u8 field_0x9c2;
/* 0x9C4 */ Z2Creature mSound;
/* 0xA54 */ int field_0xa54;
/* 0xA58 */ mDoExt_McaMorfSO* mpMorf;
/* 0xA5C */ request_of_phase_process_class mPhase;
/* 0xA64 */ bool mIsHIOOwner;
};
STATIC_ASSERT(sizeof(daObjKUW_c) == 0xa68);
#endif /* D_A_OBJ_KUWAGATA_H */