tp/include/d/actor/d_a_b_go.h

91 lines
2.2 KiB
C++

#ifndef D_A_B_GO_H
#define D_A_B_GO_H
#include "SSystem/SComponent/c_phase.h"
#include "Z2AudioLib/Z2Creature.h"
#include "f_op/f_op_actor.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#define GORON_CHILD_MAX 31
#define RES_IS_MODEL 0x13
enum daB_GO_ANM {
/* 0x04 */ ANM_ATTACK = 4,
/* 0x05 */ ANM_DAMAGE_01,
/* 0x06 */ ANM_DAMAGE_02,
/* 0x07 */ ANM_DEAD_01,
/* 0x08 */ ANM_DEAD_02,
/* 0x09 */ ANM_FALL,
/* 0x0A */ ANM_START_L,
/* 0x0B */ ANM_START_R,
/* 0x0C */ ANM_STEP,
/* 0x0D */ ANM_TRAP,
/* 0x0E */ ANM_WAIT_02,
/* 0x0F */ ANM_WAIT_03,
/* 0x10 */ ANM_WALK,
};
enum daB_GO_Action {
/* 0x0 */ ACT_WAIT,
/* 0x1 */ ACT_WALK,
/* 0x2 */ ACT_ATTACK,
};
/**
* @ingroup actors-enemies
* @class b_go_class
* @brief Goron Golem
*
* @details Unused golem boss made up of several small Gorons.
*
*/
class b_go_class : public fopEn_enemy_c {
public:
b_go_class();
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ mDoExt_McaMorfSO* mpMorf;
/* 0x5B8 */ Z2CreatureEnemy mSound;
/* 0x65C */ int mAnmID;
/* 0x660 */ u8 unk_0x660;
/* 0x661 */ u8 field_0x661[0x668 - 0x661];
/* 0x668 */ s16 unk_0x668;
/* 0x66A */ s16 mActionID;
/* 0x66C */ s16 mMode;
/* 0x66E */ u8 field_0x66e[0x67e - 0x66e];
/* 0x67E */ s16 mAngleToPlayer;
/* 0x680 */ f32 mDistToPlayer;
/* 0x684 */ u8 field_0x684[4];
/* 0x688 */ s16 mTimers[4];
/* 0x690 */ s16 unk_0x690;
/* 0x692 */ s16 field_0x692;
/* 0x694 */ dBgS_AcchCir mAcchCir;
/* 0x6D4 */ dBgS_ObjAcch mAcch;
/* 0x8AC */ dCcD_Stts mStts;
/* 0x8E8 */ dCcD_Sph field_0x8e8;
/* 0xA20 */ dCcD_Sph field_0xa20;
/* 0xB58 */ dCcD_Cyl field_0xb58;
/* 0xC94 */ dCcU_AtInfo mAtInfo;
/* 0xCB8 */ u32 mGoronChildIDs[GORON_CHILD_MAX];
/* 0xD34 */ u8 field_0xd34;
};
STATIC_ASSERT(sizeof(b_go_class) == 0xD38);
class daB_GO_HIO_c {
public:
daB_GO_HIO_c();
virtual ~daB_GO_HIO_c() {}
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mSmallSize;
/* 0x0C */ f32 mNormalSpeed;
/* 0x10 */ f32 mAttackInitRange;
/* 0x14 */ bool mDisplayModelImage;
};
#endif /* D_A_B_GO_H */