mirror of https://github.com/zeldaret/tp.git
91 lines
2.2 KiB
C++
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 */
|