tp/include/d/actor/d_a_b_gnd.h

196 lines
6.6 KiB
C++

#ifndef D_A_B_GND_H
#define D_A_B_GND_H
#include "d/d_msg_flow.h"
#include "f_op/f_op_actor_mng.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "d/d_bg_s_acch.h"
/**
* @ingroup actors-enemies
* @class b_gnd_class
* @brief Ganondorf
*
* @details Hyrule Castle dungeon boss.
*
*/
struct g_himo_s {
/* 0x0 */ cXyz field_0x0[16];
};
class b_gnd_class : public fopEn_enemy_c {
public:
b_gnd_class();
bool checkAttackChance() { return field_0x2740 != 0; }
bool checkPiyo() { return field_0x1e08 != 0; }
bool checkRide() { return mDrawHorse != 0; }
BOOL checkZeldaEndDemoCut() { return FALSE; }
/* 0x05AC */ request_of_phase_process_class mPhaseReq;
/* 0x05B4 */ request_of_phase_process_class mHorsePhaseReq;
/* 0x05BC */ s16 mMoveMode;
/* 0x05BE */ u8 field_0x5be;
/* 0x05C0 */ cXyz field_0x5c0;
/* 0x05CC */ s16 field_0x5cc;
/* 0x05D0 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x05D4 */ mDoExt_McaMorfSO* mpHorseMorf;
/* 0x05D8 */ mDoExt_McaMorf* mpZeldaModel;
/* 0x05DC */ Z2CreatureEnemy mGndSound;
/* 0x0680 */ Z2CreatureEnemy mHorseSound;
/* 0x0724 */ mDoExt_brkAnm* mpGndCoreBrk;
/* 0x0728 */ mDoExt_btkAnm* mpGndEyeBtk[6];
/* 0x0740 */ u8 field_0x740[0x0744 - 0x0740];
/* 0x0744 */ mDoExt_btpAnm* mpGndEyeBtp;
/* 0x0748 */ int mGndEyeBtkNo;
/* 0x074C */ mDoExt_btpAnm* mpZeldaBtp;
/* 0x0750 */ mDoExt_btkAnm* mpZeldaBtk;
/* 0x0754 */ u8 mDrawZelda;
/* 0x0758 */ int mAnmID;
/* 0x075C */ int mHorseAnmID;
/* 0x0760 */ f32 mPlaySpeed;
/* 0x0764 */ u8 field_0x764[0x0768 - 0x0764];
/* 0x0768 */ J3DModel* mpSwordModel;
/* 0x076C */ J3DModel* mpSheathModel;
/* 0x0770 */ u8 field_0x770;
/* 0x0771 */ u8 mHideSheath;
/* 0x0772 */ s16 field_0x772;
/* 0x0774 */ dKy_tevstr_c mSwordTevstr;
/* 0x0AFC */ s16 mCounter;
/* 0x0AFE */ s16 mActionMode;
/* 0x0B00 */ s16 field_0xb00;
/* 0x0B02 */ u8 field_0xB02[0x0B94 - 0x0B02];
/* 0x0B94 */ J3DModel* mpMantShadowModel[36];
/* 0x0C24 */ s16 mSwordBlurAlpha;
/* 0x0C26 */ s16 mSwordBlurType;
/* 0x0C28 */ s16 field_0xc28;
/* 0x0C2C */ J3DModel* mpSwordBlurModel[2];
/* 0x0C34 */ u8 field_0xC34[0x0C38 - 0x0C34];
/* 0x0C38 */ f32 mPlayerDistXZ;
/* 0x0C3C */ s16 mPlayerAngleY;
/* 0x0C40 */ u32 mShadowID;
/* 0x0C44 */ s16 field_0xc44[10];
/* 0x0C58 */ s16 mDamageInvulnerabilityTimer;
/* 0x0C5A */ s16 field_0xc5a;
/* 0x0C5C */ s16 mHorseLegRot;
/* 0x0C60 */ int field_0xc60;
/* 0x0C64 */ int field_0xc64;
/* 0x0C68 */ s16 field_0xc68;
/* 0x0C6A */ s16 field_0xc6a;
/* 0x0C6C */ f32 field_0xc6c;
/* 0x0C70 */ s16 field_0xc70;
/* 0x0C72 */ s16 field_0xc72;
/* 0x0C74 */ s16 field_0xc74;
/* 0x0C76 */ u8 mGakeChkType;
/* 0x0C77 */ u8 field_0xc77;
/* 0x0C78 */ u8 field_0xc78;
/* 0x0C79 */ u8 field_0xc79;
/* 0x0C7A */ u8 field_0xc7a;
/* 0x0C7B */ u8 field_0xc7b;
/* 0x0C7C */ u8 field_0xc7c;
/* 0x0C7D */ s8 field_0xc7d;
/* 0x0C80 */ cXyz field_0xc80;
/* 0x0C8C */ s16 mGndBodyRotX;
/* 0x0C8E */ s16 mGndHeadRotZ;
/* 0x0C90 */ s16 field_0xc90;
/* 0x0C92 */ s16 field_0xc92;
/* 0x0C94 */ dBgS_AcchCir mAcchCir;
/* 0x0CD4 */ dBgS_ObjAcch mAcch;
/* 0x0EAC */ s16 field_0xeac;
/* 0x0EB0 */ f32 field_0xeb0;
/* 0x0EB4 */ cXyz field_0xeb4;
/* 0x0EC0 */ csXyz field_0xec0;
/* 0x0EC8 */ dCcD_Stts mHorseCcStts;
/* 0x0F04 */ dCcD_Sph mHorseBodySph[2];
/* 0x1174 */ dCcD_Sph mHorseFootSph[4];
/* 0x1654 */ dCcD_Stts mGndCcStts;
/* 0x1690 */ dCcD_Sph mGndSph[3];
/* 0x1A38 */ dCcD_Sph mAtSph;
/* 0x1B70 */ dCcD_Sph mDefSph;
/* 0x1CA8 */ dCcD_Cyl mCoCyl;
/* 0x1DE4 */ dCcU_AtInfo mAtInfo;
/* 0x1E08 */ u8 field_0x1e08;
/* 0x1E09 */ u8 field_0x1e09;
/* 0x1E0A */ u16 field_0x1e0a;
/* 0x1E0C */ u16 field_0x1e0c;
/* 0x1E0E */ u8 field_0x1e0e;
/* 0x1E0F */ s8 field_0x1e0f;
/* 0x1E10 */ f32 field_0x1e10;
/* 0x1E14 */ cXyz field_0x1e14;
/* 0x1E20 */ cXyz field_0x1e20;
/* 0x1E2C */ Z2SoundObjSimple field_0x1e2c;
/* 0x1E4C */ f32 field_0x1e4c;
/* 0x1E50 */ csXyz field_0x1e50;
/* 0x1E56 */ s8 field_0x1e56[5];
/* 0x1E5C */ cXyz mLightBallPos[5];
/* 0x1E98 */ cXyz field_0x1e98[5];
/* 0x1ED4 */ cXyz field_0x1ed4[5];
/* 0x1F10 */ Z2SoundObjSimple mLightBallSound[5];
/* 0x1FB0 */ u8 mInitHIO;
/* 0x1FB4 */ fpc_ProcID mMantChildID;
/* 0x1FB8 */ cXyz field_0x1fb8;
/* 0x1FC4 */ int mDrawHorse;
/* 0x1FC8 */ s16 field_0x1fc8;
/* 0x1FCA */ s16 mGndArmRRotX;
/* 0x1FCC */ s16 mGndShoulderLRotY;
/* 0x1FD0 */ f32 field_0x1fd0;
/* 0x1FD4 */ s16 field_0x1fd4;
/* 0x1FD6 */ s16 field_0x1fd6;
/* 0x1FD8 */ cXyz field_0x1fd8[2];
/* 0x1FF0 */ g_himo_s field_0x1ff0[2];
/* 0x2170 */ mDoExt_3DlineMat1_c mHorseReins[2];
/* 0x21E8 */ mDoExt_3DlineMat1_c field_0x21e8;
/* 0x2224 */ dKy_tevstr_c field_0x2224;
/* 0x25AC */ u32 field_0x25ac[2];
/* 0x25B4 */ u32 field_0x25b4;
/* 0x25B8 */ u32 field_0x25b8;
/* 0x25BC */ u32 field_0x25bc;
/* 0x25C0 */ u32 field_0x25c0;
/* 0x25C4 */ u32 field_0x25c4;
/* 0x25C8 */ u32 field_0x25c8;
/* 0x25CC */ u32 field_0x25cc;
/* 0x25D0 */ u32 field_0x25d0;
/* 0x25D4 */ u32 field_0x25d4;
/* 0x25D8 */ u32 field_0x25d8;
/* 0x25DC */ u32 field_0x25dc;
/* 0x25E0 */ u32 field_0x25e0;
/* 0x25E4 */ u32 field_0x25e4[3];
/* 0x25F0 */ u32 field_0x25f0[6];
/* 0x2608 */ u32 field_0x2608[5][6];
/* 0x2680 */ u32 field_0x2680[2];
/* 0x2688 */ u32 field_0x2688;
/* 0x268C */ u32 field_0x268c[3];
/* 0x2698 */ u8 field_0x2698;
/* 0x2699 */ u8 field_0x2699;
/* 0x269C */ cXyz field_0x269c;
/* 0x26A8 */ cXyz field_0x26a8[2];
/* 0x26C0 */ s16 mGndLegRotX;
/* 0x26C2 */ s16 field_0x26c2;
/* 0x26C4 */ s16 mDemoCamMode;
/* 0x26C6 */ s16 mDemoCamTimer;
/* 0x26C8 */ cXyz mDemoCamEye;
/* 0x26D4 */ cXyz mDemoCamCenter;
/* 0x26E0 */ cXyz mDemoCamEyeTarget;
/* 0x26EC */ cXyz mDemoCamCenterTarget;
/* 0x26F8 */ cXyz mDemoCamEyeSpd;
/* 0x2704 */ cXyz mDemoCamCenterSpd;
/* 0x2710 */ cXyz field_0x2710;
/* 0x271C */ s16 field_0x271c;
/* ox2720 */ cXyz field_0x2720;
/* 0x272C */ s16 field_0x272c;
/* 0x2730 */ f32 mTubazeriPushValue;
/* 0x2734 */ f32 mTubazeriPushAmount;
/* 0x2738 */ u8 mNoDrawTimer;
/* 0x2739 */ u8 field_0x2739;
/* 0x273C */ f32 mKankyoBlend;
/* 0x2740 */ u8 field_0x2740;
/* 0x2744 */ dMsgFlow_c mMsgFlow;
};
STATIC_ASSERT(sizeof(b_gnd_class) == 0x2790);
#endif /* D_A_B_GND_H */