#ifndef D_A_RD_H #define D_A_RD_H #include "d/d_npc.h" #include "d/d_jnt_hit.h" #include "m_Do/m_Do_hostIO.h" #include "SSystem/SComponent/c_phase.h" #include "c/c_damagereaction.h" class daRd_HIO_c : public mDoHIO_entry_c { public: daRd_HIO_c(); virtual ~daRd_HIO_c() {} /* 0x04 */ dNpc_HIO_c m04; /* 0x2C */ u8 m2C; /* 0x2D */ u8 m2D[0x30 - 0x2D]; /* 0x30 */ f32 m30; /* 0x34 */ f32 m34; /* 0x38 */ f32 m38; /* 0x3C */ f32 m3C; /* 0x40 */ s16 m40; /* 0x42 */ s16 m42; /* 0x44 */ s16 m44; /* 0x46 */ s16 m46; /* 0x48 */ s16 m48; /* 0x4A */ s16 m4A; /* 0x4C */ s16 m4C; /* 0x4E */ s16 m4E; /* 0x50 */ s16 m50; /* 0x52 */ s16 m52; /* 0x54 */ s16 m54; /* 0x56 */ u8 m56[0x58 - 0x56]; /* 0x58 */ f32 m58; /* 0x5C */ f32 m5C; /* 0x60 */ f32 m60; /* 0x64 */ f32 m64; /* 0x68 */ f32 m68; /* 0x6C */ f32 m6C; /* 0x70 */ f32 m70; /* 0x74 */ f32 m74; /* 0x78 */ s16 m78; /* 0x7A */ s16 m7A; /* 0x7C */ JntHit_HIO_c m7C; }; class daRd_c : public fopEn_enemy_c { public: enum Proc_e { }; static const u32 m_heapsize; static const char m_arc_name[]; static const dCcD_SrcCyl m_cyl_src; daRd_c() {} void isAnm(s8) {} void isIkari() {} void modeProcInit(int) {} void offIkari() {} void onIkari() {} void _searchNearDeadRd(fopAc_ac_c*); void _nodeControl(J3DNode*, J3DModel*); void _nodeHeadControl(J3DNode*, J3DModel*); BOOL _createHeap(); void createArrowHeap(); void checkPlayerInAttack(); void checkPlayerInCry(); void lookBack(); void checkTgHit(); void setCollision(); void setIceCollision(); void setAttention(); void setMtx(); void modeWaitInit(); void modeWait(); void modeDeathInit(); void modeDeath(); void modeDamageInit(); void modeDamage(); void modeParalysisInit(); void modeParalysis(); void modeMoveInit(); void modeMove(); void modeCryInit(); void modeCry(); void modeCryWaitInit(); void modeCryWait(); void modeAttackInit(); void modeAttack(); void modeReturnInit(); void modeReturn(); void modeSilentPrayInit(); void modeSilentPray(); void modeSwWaitInit(); void modeSwWait(); void modeKanokeInit(); void modeKanoke(); void modeProc(daRd_c::Proc_e, int); void setBrkAnm(s8); void setBtkAnm(s8); void setAnm(s8, bool); bool _execute(); void debugDraw(); bool _draw(); void isLinkControl(); void createInit(); void getArg(); s32 _create(); bool _delete(); /* 0x2AC */ int mMode; /* 0x2B0 */ u8 m2B0[0x2B4 - 0x2B0]; /* 0x2B4 */ int m2B4; /* 0x2B8 */ int mAreaRadius; /* 0x2BC */ int m2BC; /* 0x2C0 */ int mSwNo; /* 0x2C4 */ u8 m2C4; /* 0x2C5 */ u8 m2C5; /* 0x2C6 */ u8 m2C6[0x2C8 - 0x2C6]; /* 0x2C8 */ request_of_phase_process_class mPhs; /* 0x2D0 */ mDoExt_McaMorf* mpMorf; /* 0x2D4 */ mDoExt_btkAnm mBtkAnm; /* 0x2E8 */ mDoExt_brkAnm mBrkAnm; /* 0x300 */ u8 m300[0x310 - 0x300]; /* 0x310 */ int m310; /* 0x314 */ int m314; /* 0x318 */ u8 m318[0x31C - 0x318]; /* 0x31C */ dBgS_ObjAcch mAcch; /* 0x4E0 */ dBgS_AcchCir mAcchCir; /* 0x520 */ dCcD_Stts mStts; /* 0x55C */ dCcD_Cyl mCyl; /* 0x68C */ u8 m68C[0x690 - 0x68C]; /* 0x690 */ s32 mShadowId; /* 0x694 */ mDoExt_invisibleModel mInvisModel; /* 0x69C */ dNpc_JntCtrl_c mJntCtrl; /* 0x6D0 */ u32 m6D0; /* 0x6D4 */ int m6D4; /* 0x6D8 */ u8 m6D8; /* 0x6D9 */ u8 m6D9; /* 0x6DA */ u8 m6DA; /* 0x6DB */ u8 m6DB; /* 0x6DC */ u8 m6DC; /* 0x6DD */ u8 m6DD[0x6E0 - 0x6DD]; /* 0x6E0 */ enemyice mEnemyIce; /* 0xA98 */ enemyfire mEnemyFire; /* 0xCC0 */ JntHit_c* mpJntHit; /* 0xCC4 */ cXyz mCC4; /* 0xCD0 */ cXyz mCD0; /* 0xCDC */ s16 mCDC; /* 0xCDE */ u8 mCDE[0xCE0 - 0xCDE]; /* 0xCE0 */ int mCE0; /* 0xCE4 */ int mCE4; /* 0xCE8 */ Mtx mCE8; /* 0xD18 */ s16 mD18; /* 0xD1A */ s16 mD1A; /* 0xD1C */ s16 mD1C; /* 0xD1E */ s16 mD1E; /* 0xD20 */ u8 mD20[0xD34 - 0xD20]; /* 0xD34 */ bool mD34; /* 0xD35 */ u8 mD35[0xD44 - 0xD35]; }; #endif /* D_A_RD_H */