mirror of https://github.com/zeldaret/tp.git
179 lines
5.0 KiB
C++
179 lines
5.0 KiB
C++
#ifndef D_A_B_GG_H
|
|
#define D_A_B_GG_H
|
|
|
|
#include "f_op/f_op_actor_mng.h"
|
|
#include "d/d_bg_s_acch.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_cc_uty.h"
|
|
|
|
/**
|
|
* @ingroup actors-enemies
|
|
* @class daB_GG_c
|
|
* @brief Aeralfos (Gargoyle)
|
|
*
|
|
* @details City in the Sky dungeon mini-boss.
|
|
*
|
|
*/
|
|
class daB_GG_c : public fopEn_enemy_c {
|
|
public:
|
|
int CreateHeap();
|
|
void initCc();
|
|
void setCcCylinder();
|
|
void G_setCcCylinder();
|
|
void MoveCo();
|
|
int ctrlJoint(J3DJoint*, J3DModel*);
|
|
int HeadctrlJoint(J3DJoint*, J3DModel*);
|
|
void SetAnm(int, int, f32, f32);
|
|
void Yazirushi();
|
|
void SpeedClear();
|
|
void SetAction(u8, u8, u8);
|
|
u8 GetAction(u8, u8, u8);
|
|
void DemoSkip(int);
|
|
static int DemoSkipCallBack(void*, int);
|
|
bool CameraSet();
|
|
void SetStopingCam();
|
|
void SetStopCam(cXyz, f32, f32, s16);
|
|
void SetMoveCam(cXyz, f32, f32, s16, f32, f32);
|
|
void SetMoveCam1(f32, f32);
|
|
void SetReleaseCam();
|
|
void St_CamAction();
|
|
void St_DemoAction();
|
|
void Md_CamAction();
|
|
void Md_DemoAction();
|
|
void Gn_CamAction();
|
|
void Gn_DemoAction();
|
|
void DemoAction();
|
|
void F_WaitAction();
|
|
void F_FookChk();
|
|
void F_MoveAction();
|
|
void F_LV7_W_MoveAction();
|
|
void F_AttackAction();
|
|
void F_DamageAction();
|
|
void AttentionChk();
|
|
void FlyAction();
|
|
bool F_A_TargetMove(cXyz);
|
|
bool F_A_TargetMove(cXyz, u8);
|
|
void F_A_MoveAction();
|
|
void F_A_WaitAction();
|
|
void F_A_Action();
|
|
void FookChk();
|
|
void CutChk();
|
|
void G_MoveAction();
|
|
void FallChk();
|
|
void G_AttackAction();
|
|
void G_DamageAction();
|
|
void G_DeathAction();
|
|
void G_DeathAction1();
|
|
void DeathCam();
|
|
void GroundAction();
|
|
void StopAction();
|
|
void HitChk();
|
|
void Action();
|
|
void HeadAction();
|
|
void SetHeadAngle();
|
|
void SoundChk();
|
|
int Execute();
|
|
void ObjHit();
|
|
void At_Check();
|
|
void MoveAt();
|
|
void F_AtHit();
|
|
void ChanceTime();
|
|
void ArmAngleSet();
|
|
void Guard();
|
|
int Draw();
|
|
int Delete();
|
|
void setBaseMtx();
|
|
void setShieldMtx();
|
|
void setSwordMtx();
|
|
void setSwordMtx1();
|
|
void setHeadMtx();
|
|
void setHeadMtx1();
|
|
int Create();
|
|
|
|
/* 0x05AC */ f32 field_0x5ac;
|
|
/* 0x05B0 */ u8 field_0x5b0;
|
|
/* 0x05B1 */ u8 field_0x5b1;
|
|
/* 0x05B2 */ u8 field_0x5b2;
|
|
/* 0x05B4 */ s16 mInOutPosIdx;
|
|
/* 0x05B6 */ u8 field_0x5b6;
|
|
/* 0x05B7 */ u8 field_0x5b7;
|
|
/* 0x05B8 */ u8 field_0x5B8[0x05BA - 0x05B8];
|
|
/* 0x05BA */ s16 field_0x5ba;
|
|
/* 0x05BC */ f32 field_0x5bc;
|
|
/* 0x05C0 */ f32 field_0x5c0;
|
|
/* 0x05C4 */ u8 field_0x5c4;
|
|
/* 0x05C5 */ u8 mAction;
|
|
/* 0x05C6 */ u8 mSubAction;
|
|
/* 0x05C7 */ u8 mMode;
|
|
/* 0x05C8 */ u8 mPrevAction;
|
|
/* 0x05C9 */ u8 mPrevSubAction;
|
|
/* 0x05CA */ u8 mPrevMode;
|
|
/* 0x05CB */ u8 mCamMode;
|
|
/* 0x05CC */ s16 field_0x5cc;
|
|
/* 0x05CE */ u8 field_0x5ce;
|
|
/* 0x05CF */ u8 field_0x5cf;
|
|
/* 0x05D0 */ u8 field_0x5d0;
|
|
/* 0x05D4 */ int mAnm;
|
|
/* 0x05D8 */ s16 mTimers[4];
|
|
/* 0x05E0 */ s16 field_0x5e0;
|
|
/* 0x05E4 */ cXyz field_0x5e4;
|
|
/* 0x05F0 */ u8 field_0x5f0;
|
|
/* 0x05F4 */ cXyz mCamCenter;
|
|
/* 0x0600 */ cXyz mCamEye;
|
|
/* 0x060C */ cXyz field_0x60c;
|
|
/* 0x0618 */ cXyz field_0x618;
|
|
/* 0x0624 */ cXyz mCamCenterTarget;
|
|
/* 0x0630 */ cXyz mCamEyeTarget;
|
|
/* 0x063C */ f32 mCamFovy;
|
|
/* 0x0640 */ f32 mModelPlaySpeed;
|
|
/* 0x0644 */ f32 field_0x644;
|
|
/* 0x0648 */ f32 field_0x648;
|
|
/* 0x064C */ f32 field_0x64c;
|
|
/* 0x0650 */ f32 field_0x650;
|
|
/* 0x0654 */ u8 field_0x654[0x0658 - 0x0654];
|
|
/* 0x0658 */ s16 field_0x658;
|
|
/* 0x065A */ s16 field_0x65a;
|
|
/* 0x065C */ cXyz field_0x65c;
|
|
/* 0x0668 */ f32 field_0x668;
|
|
/* 0x066C */ u8 field_0x66c;
|
|
/* 0x066D */ u8 field_0x66d;
|
|
/* 0x0670 */ cXyz mSwordPos;
|
|
/* 0x067C */ csXyz mSwordRot;
|
|
/* 0x0684 */ cXyz field_0x684;
|
|
/* 0x0690 */ u8 mType;
|
|
/* 0x0694 */ cXyz mHeadPos;
|
|
/* 0x06A0 */ csXyz mHeadRot;
|
|
/* 0x06A8 */ cXyz field_0x6a8;
|
|
/* 0x06B4 */ csXyz field_0x6b4;
|
|
/* 0x06BA */ u8 field_0x6ba;
|
|
/* 0x06BC */ s16 field_0x6bc;
|
|
/* 0x06BE */ s16 field_0x6be;
|
|
/* 0x06C0 */ u8 field_0x6C0[0x06C4 - 0x06C0];
|
|
/* 0x06C4 */ s16 field_0x6c4;
|
|
/* 0x06C6 */ u8 field_0x6C6[0x06C8 - 0x06C6];
|
|
/* 0x06C8 */ csXyz mArmL1Rot;
|
|
/* 0x06CE */ csXyz mArmL2Rot;
|
|
/* 0x06D4 */ s16 field_0x6d4;
|
|
/* 0x06D6 */ s16 field_0x6d6;
|
|
/* 0x06D8 */ dCcD_Cyl mCcCyl;
|
|
/* 0x0814 */ dCcD_Sph mCcSph[3];
|
|
/* 0x0BBC */ dCcD_Cyl mCcHookCyl;
|
|
/* 0x0CF8 */ dCcD_Sph mCcShieldSph;
|
|
/* 0x0E30 */ mDoExt_McaMorfSO* mpModelMorf;
|
|
/* 0x0E34 */ J3DModel* mpShieldModel;
|
|
/* 0x0E38 */ J3DModel* mpSwordModel;
|
|
/* 0x0E3C */ J3DModel* mpHelmetModel;
|
|
/* 0x0E40 */ request_of_phase_process_class mPhase;
|
|
/* 0x0E48 */ u32 mShadowId;
|
|
/* 0x0E4C */ Z2CreatureEnemy mSound;
|
|
/* 0x0EF0 */ dBgS_AcchCir mAcchCir;
|
|
/* 0x0F30 */ dBgS_ObjAcch mAcch;
|
|
/* 0x1108 */ dCcD_Stts mCcStts;
|
|
/* 0x1144 */ dCcU_AtInfo mAtInfo;
|
|
/* 0x1168 */ u8 mHIOInit;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daB_GG_c) == 0x116c);
|
|
|
|
#endif /* D_A_B_GG_H */
|