diff options
Diffstat (limited to 'include')
96 files changed, 2732 insertions, 88 deletions
diff --git a/include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h b/include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h index fffae02d54..9af749fd8a 100644 --- a/include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h +++ b/include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h @@ -1,4 +1,47 @@ #ifndef D_A_E_AI_H #define D_A_E_AI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_ai_class + * @brief Armos + * + * @details + * + */ +class e_ai_class : public fopEn_enemy_c { + /* 806791BC */ void initCcCylinder(); + /* 80679284 */ void setCcCylinder(); + /* 80679350 */ void anm_init(int, f32, u8, f32); + /* 806793FC */ void Draw(); + /* 806794F4 */ void player_way_check(); + /* 80679538 */ void other_bg_check(fopAc_ac_c*); + /* 80679610 */ void pl_check(f32, s16); + /* 8067968C */ void damage_check(); + /* 80679DC8 */ void e_ai_damage(); + /* 8067A2CC */ void e_ai_attack(); + /* 8067A54C */ void e_ai_move(); + /* 8067AA48 */ void e_ai_wait(); + /* 8067ACA0 */ void e_ai_return(); + /* 8067B024 */ void action(); + /* 8067B2B0 */ void PlayerWaySet(); + /* 8067B31C */ void AttentionSet(); + /* 8067B378 */ void Execute(); + /* 8067B598 */ void setBaseMtx(); + /* 8067B620 */ void Delete(); + /* 8067B6F0 */ void CreateHeap(); + /* 8067B8E4 */ void Create(); + /* 8067BAEC */ e_ai_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xd44 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_ai_class) == 0xd44); + +class daE_AI_HIO_c { + /* 8067916C */ daE_AI_HIO_c(); + /* 8067BF40 */ ~daE_AI_HIO_c(); +}; + #endif /* D_A_E_AI_H */ diff --git a/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h b/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h index f5ec332e1f..007e425366 100644 --- a/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h +++ b/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h @@ -19,10 +19,13 @@ enum e_arrow_type { }; /** -* @ingroup actors-enemies -* @brief Enemy arrow -* -*/ + * @ingroup actors-enemies + * @class e_arrow_class + * @brief Enemy Arrow + * + * @details + * + */ class e_arrow_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h b/include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h index 0c3a7bffc8..e21e1125bd 100644 --- a/include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h +++ b/include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h @@ -8,6 +8,14 @@ #include "d/cc/d_cc_uty.h" #include "d/d_path.h" +/** + * @ingroup actors-enemies + * @class e_ba_class + * @brief Keese + * + * @details + * + */ class e_ba_class : public fopEn_enemy_c { public: enum Type { diff --git a/include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h b/include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h index 32e22d0bf5..88ff4e3c77 100644 --- a/include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h +++ b/include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h @@ -44,10 +44,13 @@ struct bee_s { STATIC_ASSERT(sizeof(bee_s) == 0x74); /** -* @ingroup actors-enemies -* @brief Bee -* -*/ + * @ingroup actors-enemies + * @class e_bee_class + * @brief Bee + * + * @details + * + */ class e_bee_class : public fopAc_ac_c { public: /* 0x0568 */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h b/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h index 43ab3ffe85..97e555f175 100644 --- a/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h +++ b/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h @@ -2,5 +2,50 @@ #define D_A_E_BG_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_BG_c + * @brief Bomb Fish + * + * @details + * + */ +class daE_BG_c : public fopEn_enemy_c { + /* 8068585C */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 80685948 */ void JointCallBack(J3DJoint*, int); + /* 80685994 */ void draw(); + /* 80685B70 */ void setBck(int, u8, f32, f32); + /* 80685C14 */ void setActionMode(int, int); + /* 80685C2C */ void damage_check(); + /* 80685DBC */ void setSparkEffect(); + /* 80685F04 */ void search_esa(); + /* 80685F88 */ void executeBorn(); + /* 80686210 */ void executeSwim(); + /* 80686C90 */ void executeAttack(); + /* 80687B38 */ void executeDamage(); + /* 80687CD8 */ void setBombCarry(int); + /* 80687DEC */ void executeBomb(); + /* 80687FC4 */ void executeBirth(); + /* 8068838C */ void executeHook(); + /* 806883D0 */ void executeEat(); + /* 80689168 */ void action(); + /* 80689544 */ void mtx_set(); + /* 8068966C */ void cc_set(); + /* 806897EC */ void execute(); + /* 80689978 */ void _delete(); + /* 80689A0C */ void CreateHeap(); + /* 80689C38 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xbbc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_BG_c) == 0xbbc); + +class daE_BG_HIO_c { + /* 8068580C */ daE_BG_HIO_c(); + /* 8068A19C */ ~daE_BG_HIO_c(); +}; + #endif /* D_A_E_BG_H */ diff --git a/include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h b/include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h index 7db9cee1c9..75765f338e 100644 --- a/include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h +++ b/include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h @@ -1,4 +1,25 @@ #ifndef D_A_E_BI_H #define D_A_E_BI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_bi_class + * @brief Bomb Insect + * + * @details + * + */ +class e_bi_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xc00 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_bi_class) == 0xc00); + +class daE_BI_HIO_c { + /* 8068A5EC */ daE_BI_HIO_c(); + /* 8068D2DC */ ~daE_BI_HIO_c(); +}; + #endif /* D_A_E_BI_H */ diff --git a/include/rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h b/include/rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h index 64c8f822cd..b105567a29 100644 --- a/include/rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h +++ b/include/rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h @@ -4,10 +4,13 @@ #include "f_op/f_op_actor_mng.h" /** -* @ingroup actors-enemies -* @brief Bombling Leaf -* -*/ + * @ingroup actors-enemies + * @class e_bi_leaf_class + * @brief Bomb Insect - Leaf + * + * @details + * + */ class e_bi_leaf_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h b/include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h index d6acaaf209..c59b9351e6 100644 --- a/include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h +++ b/include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h @@ -1,4 +1,25 @@ #ifndef D_A_E_BS_H #define D_A_E_BS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_bs_class + * @brief Stalkin + * + * @details + * + */ +class e_bs_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xcfc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_bs_class) == 0xcfc); + +class daE_BS_HIO_c { + /* 8068E12C */ daE_BS_HIO_c(); + /* 8069091C */ ~daE_BS_HIO_c(); +}; + #endif /* D_A_E_BS_H */ diff --git a/include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h b/include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h index 7d94c91991..fd39654d1a 100644 --- a/include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h +++ b/include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h @@ -1,4 +1,25 @@ #ifndef D_A_E_BU_H #define D_A_E_BU_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_bu_class + * @brief Bubble + * + * @details + * + */ +class e_bu_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xaa4 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_bu_class) == 0xaa4); + +class daE_BU_HIO_c { + /* 806911AC */ daE_BU_HIO_c(); + /* 806941D4 */ ~daE_BU_HIO_c(); +}; + #endif /* D_A_E_BU_H */ diff --git a/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h b/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h index d4fa544cc2..f5d967017d 100644 --- a/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h +++ b/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h @@ -2,5 +2,31 @@ #define D_A_E_BUG_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_bug_class + * @brief Poison Mite + * + * @details + * + */ +class e_bug_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x7db0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_bug_class) == 0x7db0); + +class daE_Bug_HIO_c { + /* 80694B8C */ daE_Bug_HIO_c(); + /* 80697BEC */ ~daE_Bug_HIO_c(); +}; + +struct bug_s { + /* 80697B4C */ ~bug_s(); + /* 80697BB8 */ bug_s(); +}; + #endif /* D_A_E_BUG_H */ diff --git a/include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h b/include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h index dd9597622c..266ed0ef9e 100644 --- a/include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h +++ b/include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h @@ -1,4 +1,25 @@ #ifndef D_A_E_CR_H #define D_A_E_CR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_cr_class + * @brief Bombskit + * + * @details + * + */ +class e_cr_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa60 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_cr_class) == 0xa60); + +class daE_CR_HIO_c { + /* 8069800C */ daE_CR_HIO_c(); + /* 806997F4 */ ~daE_CR_HIO_c(); +}; + #endif /* D_A_E_CR_H */ diff --git a/include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h b/include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h index 9ba682be2d..03f67532a6 100644 --- a/include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h +++ b/include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h @@ -1,4 +1,20 @@ #ifndef D_A_E_CR_EGG_H #define D_A_E_CR_EGG_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_cr_egg_class + * @brief Bombskit Egg + * + * @details + * + */ +class e_cr_egg_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa0c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_cr_egg_class) == 0xa0c); + #endif /* D_A_E_CR_EGG_H */ diff --git a/include/rel/d/a/e/d_a_e_db/d_a_e_db.h b/include/rel/d/a/e/d_a_e_db/d_a_e_db.h index f9d969b083..bc9bcd55f2 100644 --- a/include/rel/d/a/e/d_a_e_db/d_a_e_db.h +++ b/include/rel/d/a/e/d_a_e_db/d_a_e_db.h @@ -1,4 +1,25 @@ #ifndef D_A_E_DB_H #define D_A_E_DB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_db_class + * @brief Deku Baba + * + * @details + * + */ +class e_db_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x1270 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_db_class) == 0x1270); + +class daE_DB_HIO_c { + /* 8069AAEC */ daE_DB_HIO_c(); + /* 806A13D8 */ ~daE_DB_HIO_c(); +}; + #endif /* D_A_E_DB_H */ diff --git a/include/rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h b/include/rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h index fa30657417..1a479e07e6 100644 --- a/include/rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h +++ b/include/rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h @@ -5,10 +5,13 @@ #include "dolphin/types.h" /** -* @ingroup actors-enemies -* @brief Deku Baba Leaf -* -*/ + * @ingroup actors-enemies + * @class e_db_leaf_class + * @brief Deku Baba - Leaf + * + * @details + * + */ class e_db_leaf_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h b/include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h index 9776ea2039..b17eb827ea 100644 --- a/include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h +++ b/include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h @@ -1,4 +1,25 @@ #ifndef D_A_E_DD_H #define D_A_E_DD_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_dd_class + * @brief Dodongo + * + * @details + * + */ +class e_dd_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xe94 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_dd_class) == 0xe94); + +class daE_DD_HIO_c { + /* 806A226C */ daE_DD_HIO_c(); + /* 806A6D08 */ ~daE_DD_HIO_c(); +}; + #endif /* D_A_E_DD_H */ diff --git a/include/rel/d/a/e/d_a_e_df/d_a_e_df.h b/include/rel/d/a/e/d_a_e_df/d_a_e_df.h index 67f48a5384..f0592f95cb 100644 --- a/include/rel/d/a/e/d_a_e_df/d_a_e_df.h +++ b/include/rel/d/a/e/d_a_e_df/d_a_e_df.h @@ -1,4 +1,53 @@ #ifndef D_A_E_DF_H #define D_A_E_DF_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_DF_c + * @brief Deku Flower + * + * @details + * + */ +class daE_DF_c : public fopEn_enemy_c { + /* 806A7710 */ void CreateHeap(); + /* 806A7828 */ void initCcCylinder(); + /* 806A78A0 */ void setCcCylinder(); + /* 806A78D4 */ void SetAnm(int, int, f32, f32); + /* 806A7980 */ void CameraSet(f32); + /* 806A7B40 */ void DemoStart(); + /* 806A7C3C */ void SetReleaseCam(); + /* 806A7CE0 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806A8030 */ void Link_Eat_Pos(); + /* 806A8098 */ void Set_Angle(cXyz*); + /* 806A816C */ void Obj_Damage(); + /* 806A8244 */ void DamageAction(); + /* 806A8368 */ void BombEatAction(); + /* 806A8790 */ void Spid_Out(); + /* 806A8938 */ void LinkEatAction(); + /* 806A8C80 */ void Mogu_Mogu(); + /* 806A8D98 */ void ObjEatAction(); + /* 806A8ED4 */ void EatAction(); + /* 806A8F2C */ void SearchAction(); + /* 806A91B4 */ void WaitAction(); + /* 806A9254 */ void MissAction(); + /* 806A9304 */ void Action(); + /* 806A9384 */ void Execute(); + /* 806A949C */ void Yazirushi(); + /* 806A94E0 */ void Draw(); + /* 806A9550 */ void Delete(); + /* 806A95B8 */ void setBaseMtx(); + /* 806A9678 */ void Create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x838 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_DF_c) == 0x838); + +class daE_DF_HIO_c { + /* 806A76EC */ daE_DF_HIO_c(); + /* 806A9A84 */ ~daE_DF_HIO_c(); +}; + #endif /* D_A_E_DF_H */ diff --git a/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h b/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h index f4dd50c638..0983f050f4 100644 --- a/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h +++ b/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h @@ -2,5 +2,52 @@ #define D_A_E_DK_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_DK_c + * @brief Bari + * + * @details + * + */ +class daE_DK_c : public fopEn_enemy_c { + /* 806AA228 */ void draw(); + /* 806AA5C8 */ void setBck(int, u8, f32, f32); + /* 806AA68C */ void setBckCore(int, u8, f32, f32); + /* 806AA730 */ void setActionMode(int, int); + /* 806AA73C */ void damage_check(); + /* 806AA8B0 */ void checkPlayerSearch(); + /* 806AAB18 */ void checkPlayerAttack(f32); + /* 806AAC24 */ void checkWaterHeight(); + /* 806AAD68 */ void SphBgcCallBack(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dGPla*, void*); + /* 806AAE10 */ void setElectricEffect(); + /* 806AB054 */ void setCoreDeadEffect(); + /* 806AB158 */ void setBodyDeadEffect(); + /* 806AB29C */ void executeWait(); + /* 806AB684 */ void executeChase(); + /* 806ABA78 */ void executeAttack(); + /* 806ABCC8 */ void executeDamage(); + /* 806ABE3C */ void BodyDeathMove(); + /* 806ABF6C */ void executeDeath(); + /* 806AC390 */ void action(); + /* 806AC5BC */ void mtx_set(); + /* 806AC754 */ void cc_set(); + /* 806AC968 */ void execute(); + /* 806ACA10 */ void _delete(); + /* 806ACAA4 */ void CreateHeap(); + /* 806ACE14 */ void create(); + /* 806AD0AC */ daE_DK_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0xd54 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_DK_c) == 0xd54); + +class daE_DK_HIO_c { + /* 806AA1EC */ daE_DK_HIO_c(); + /* 806AD490 */ ~daE_DK_HIO_c(); +}; + #endif /* D_A_E_DK_H */ diff --git a/include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h b/include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h index 800ec5b624..202de1d31c 100644 --- a/include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h +++ b/include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h @@ -1,4 +1,26 @@ #ifndef D_A_E_DN_H #define D_A_E_DN_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_dn_class + * @brief Lizalfos + * + * @details + * + */ +class e_dn_class : public fopEn_enemy_c { + /* 804EDE58 */ e_dn_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x110c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_dn_class) == 0x110c); + +class daE_DN_HIO_c { + /* 804E51AC */ daE_DN_HIO_c(); + /* 804EE39C */ ~daE_DN_HIO_c(); +}; + #endif /* D_A_E_DN_H */ diff --git a/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h b/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h index 35970bc14c..e9373ed0eb 100644 --- a/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h +++ b/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h @@ -2,5 +2,93 @@ #define D_A_E_DT_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_DT_c + * @brief Deku Toad + * + * @details + * + */ +class daE_DT_c : public fopEn_enemy_c { + /* 806AD97C */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806ADBA0 */ void JointCallBack(J3DJoint*, int); + /* 806ADBEC */ void ctrlJointTuba(J3DJoint*, J3DModel*); + /* 806ADD30 */ void JointCallBackTuba(J3DJoint*, int); + /* 806ADD7C */ void draw(); + /* 806AE5C8 */ void demo_skip(int); + /* 806AE618 */ void DemoSkipCallBack(void*, int); + /* 806AE64C */ void setBck(int, u8, f32, f32); + /* 806AE6F0 */ void checkBck(int); + /* 806AE74C */ void setActionMode(int, int); + /* 806AE758 */ void damage_check(); + /* 806AEB48 */ void setStabPos(); + /* 806AEBD4 */ void checkBeforeBg(f32); + /* 806AED94 */ void checkTongueBg(); + /* 806AEEFC */ void checkWaterSurface(); + /* 806AEFE8 */ void setSmallWaterEffect(); + /* 806AF09C */ void setLargeWaterEffect(); + /* 806AF150 */ void setHamonEffect(int); + /* 806AF240 */ void setJumpEffect(); + /* 806AF2F4 */ void setJumpSizukuEffect(); + /* 806AF3D0 */ void setDamageShibukiEffect(int); + /* 806AF460 */ void setDamageYodareEffect(int); + /* 806AF548 */ void setSwingEffect(); + /* 806AF5CC */ void setStepEffect(); + /* 806AF740 */ void setBombEffect(); + /* 806AF848 */ void setBombSmokeEffect(); + /* 806AF924 */ void setDeadShibukiEffect(); + /* 806AF9D8 */ void setDeadYodareEffect(); + /* 806AFAE0 */ void setBoxTubaEffect(); + /* 806AFBBC */ void setBoxTubaLandEffect(); + /* 806AFD30 */ void getNumberOfOtama(); + /* 806AFE24 */ void setStayOtamaFall(); + /* 806AFEAC */ void setStayOtamaDelete(); + /* 806B0114 */ void checkBombEat(); + /* 806B01B4 */ void isShutterOpen(); + /* 806B0200 */ void executeWait(); + /* 806B0368 */ void executeCry(); + /* 806B063C */ void executeShake(); + /* 806B07C4 */ void executeWalk(); + /* 806B0E9C */ void executeJump(); + /* 806B177C */ void executeDown(); + /* 806B1B60 */ void executeSearch(); + /* 806B1BEC */ void executeDamage(); + /* 806B1D48 */ void executeBombDamage(); + /* 806B1F78 */ void executeDeath(); + /* 806B28E4 */ void pointInSight(cXyz*); + /* 806B29D4 */ void executeOpening(); + /* 806B3B08 */ void calcCamera(); + /* 806B40D8 */ void calcBoxAndTuba(); + /* 806B4724 */ void action(); + /* 806B49F0 */ void mtx_set(); + /* 806B4B24 */ void cc_set(); + /* 806B4FD8 */ void execute(); + /* 806B5158 */ void _delete(); + /* 806B5214 */ void CreateHeap(); + /* 806B5460 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1174 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_DT_c) == 0x1174); + +class daE_DT_HIO_c { + /* 806AD90C */ daE_DT_HIO_c(); + /* 806B5BDC */ ~daE_DT_HIO_c(); +}; + +struct E_DT_n { + static u8 eDt_ShakeFrame[40]; + static u8 eDt_ShakeFrameDemo[40]; + static u8 cc_dt_body_src[64]; + static u8 cc_dt_tongue_src[64]; + static u8 mDt_OtamaNum[4]; + static u8 mDt_OtamaNo[80]; + static u8 m_fall_no[4]; + static u8 m_tongue_pos[12]; +}; + #endif /* D_A_E_DT_H */ diff --git a/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h b/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h index 17a0591584..13fc12399b 100644 --- a/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h +++ b/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h @@ -2,5 +2,48 @@ #define D_A_E_FB_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_FB_c + * @brief Freezard + * + * @details + * + */ +class daE_FB_c : public fopEn_enemy_c { + /* 806B6520 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806B65C0 */ void JointCallBack(J3DJoint*, int); + /* 806B660C */ void draw(); + /* 806B67E0 */ void setBck(int, u8, f32, f32); + /* 806B688C */ void setActionMode(int, int); + /* 806B6898 */ void damage_check(); + /* 806B6D20 */ void mBgLineCheck(); + /* 806B6DF4 */ void search_check(); + /* 806B6F40 */ void executeWait(); + /* 806B70FC */ void executeAttack(); + /* 806B78A0 */ void executeDamage(); + /* 806B7B88 */ void executeBullet(); + /* 806B7DDC */ void action(); + /* 806B80A4 */ void mtx_set(); + /* 806B811C */ void cc_set(); + /* 806B82B4 */ void normal_eff_set(); + /* 806B83F0 */ void dead_eff_set(); + /* 806B8518 */ void execute(); + /* 806B85C8 */ void _delete(); + /* 806B8678 */ void CreateHeap(); + /* 806B88E0 */ void create(); + /* 806B8C1C */ daE_FB_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0xce8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_FB_c) == 0xce8); + +class daE_FB_HIO_c { + /* 806B64AC */ daE_FB_HIO_c(); + /* 806B8EE4 */ ~daE_FB_HIO_c(); +}; + #endif /* D_A_E_FB_H */ diff --git a/include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h b/include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h index b1cb482fdf..4e19249f17 100644 --- a/include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h +++ b/include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h @@ -1,4 +1,59 @@ #ifndef D_A_E_FK_H #define D_A_E_FK_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_FK_c + * @brief Phantom Rider + * + * @details + * + */ +class daE_FK_c : public fopEn_enemy_c { + /* 806B93CC */ void CreateHeap(); + /* 806B9534 */ void initBodySph(); + /* 806B95BC */ void initSwordSph(); + /* 806B9670 */ void SetBodySph(); + /* 806B97A4 */ void SetSwordSph(); + /* 806B98C4 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806B9A28 */ void SetAnm(int, int, f32, f32); + /* 806B9AD8 */ void Yazirushi(); + /* 806B9B2C */ void SpeedSet(); + /* 806B9BB4 */ void TnNeckSet(s16); + /* 806B9C14 */ void HsAngleSet(); + /* 806B9C18 */ void SpeedChk(); + /* 806B9C1C */ void SetAnmSpeed(); + /* 806B9C20 */ void TgChk(); + /* 806B9D00 */ void AtChk(); + /* 806B9D7C */ void OnAt(); + /* 806B9DA4 */ void R_MoveAction(); + /* 806B9E6C */ void StartAction(); + /* 806B9F20 */ void RunAction(); + /* 806BA004 */ void Action(); + /* 806BA024 */ void DeathAction(); + /* 806BA188 */ void DamageChk(); + /* 806BA24C */ void DamageAction(); + /* 806BA330 */ void checkViewArea(); + /* 806BA3B4 */ void AttackAction(); + /* 806BA61C */ void UpDown(); + /* 806BA6EC */ void Execute(); + /* 806BABB8 */ void At_Check(int); + /* 806BACEC */ void Draw(); + /* 806BADB4 */ void Delete(); + /* 806BAE1C */ void setBaseMtx(); + /* 806BAEB0 */ void setEfMtx(); + /* 806BAF74 */ void CreateChk(); + /* 806BB004 */ void Create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xf6c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_FK_c) == 0xf6c); + +class daE_FK_HIO_c { + /* 806B938C */ daE_FK_HIO_c(); + /* 806BB594 */ ~daE_FK_HIO_c(); +}; + #endif /* D_A_E_FK_H */ diff --git a/include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h b/include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h index e8c5a76b9f..63c193e8e1 100644 --- a/include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h +++ b/include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h @@ -1,4 +1,31 @@ #ifndef D_A_E_FM_H #define D_A_E_FM_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_fm_class + * @brief Fyrus + * + * @details + * + */ +class e_fm_class : public fopEn_enemy_c { + /* 804F9B64 */ e_fm_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1b084 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_fm_class) == 0x1b084); + +class daE_FM_HIO_c { + /* 804EF0EC */ daE_FM_HIO_c(); + /* 804FA3D8 */ ~daE_FM_HIO_c(); +}; + +struct chain_s { + /* 804F9E14 */ ~chain_s(); + /* 804F9F14 */ chain_s(); +}; + #endif /* D_A_E_FM_H */ diff --git a/include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h b/include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h index 0a713fbe5e..c98ddfba82 100644 --- a/include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h +++ b/include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h @@ -1,4 +1,25 @@ #ifndef D_A_E_FS_H #define D_A_E_FS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_fs_class + * @brief Wooden Puppet + * + * @details + * + */ +class e_fs_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xb9c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_fs_class) == 0xb9c); + +class daE_Fs_HIO_c { + /* 806BBACC */ daE_Fs_HIO_c(); + /* 806BDF94 */ ~daE_Fs_HIO_c(); +}; + #endif /* D_A_E_FS_H */ diff --git a/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h b/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h index 93e516c9d0..9f39409689 100644 --- a/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h +++ b/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h @@ -2,5 +2,31 @@ #define D_A_E_GA_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +struct ga_s { + /* 804FBAB8 */ ~ga_s(); + /* 804FBAF4 */ ga_s(); +}; + +/** + * @ingroup actors-enemies + * @class e_ga_class + * @brief Decorative Moth + * + * @details + * + */ +class e_ga_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x4d7c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_ga_class) == 0x4d7c); + +class daE_Ga_HIO_c { + /* 804FB0EC */ daE_Ga_HIO_c(); + /* 804FBAF8 */ ~daE_Ga_HIO_c(); +}; + #endif /* D_A_E_GA_H */ diff --git a/include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h b/include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h index 40ed0d557b..9c4ef6e7f9 100644 --- a/include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h +++ b/include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h @@ -1,4 +1,26 @@ #ifndef D_A_E_GB_H #define D_A_E_GB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_gb_class + * @brief Giant Baba + * + * @details + * + */ +class e_gb_class : public fopEn_enemy_c { + /* 806C6B94 */ e_gb_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xef8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_gb_class) == 0xef8); + +class daE_GB_HIO_c { + /* 806C1CEC */ daE_GB_HIO_c(); + /* 806C6F98 */ ~daE_GB_HIO_c(); +}; + #endif /* D_A_E_GB_H */ diff --git a/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h b/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h index 9a901cd44a..73eb51d2f9 100644 --- a/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h +++ b/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h @@ -3,16 +3,14 @@ #include "f_op/f_op_actor_mng.h" -struct daE_GE_HIO_c { - /* 806C7A4C */ daE_GE_HIO_c(); - /* 806CCA58 */ ~daE_GE_HIO_c(); -}; - /** -* @ingroup actors-enemies -* @brief Guay -* -*/ + * @ingroup actors-enemies + * @class daE_GE_c + * @brief Guay + * + * @details + * + */ class daE_GE_c : public fopEn_enemy_c { public: u8 getGroupNo() { @@ -52,11 +50,18 @@ public: /* 806CC278 */ void CreateHeap(); /* 806CC390 */ void create(); +private: /* 0x5AC */ u8 field_0x5ac[1519]; /* 0xB9B */ u8 mGroupNo; /* 0xB9C */ u8 field_0xb9c[4]; static u8 l_actionmenu[108]; }; +STATIC_ASSERT(sizeof(daE_GE_c) == 0xBA0); + +class daE_GE_HIO_c { + /* 806C7A4C */ daE_GE_HIO_c(); + /* 806CCA58 */ ~daE_GE_HIO_c(); +}; #endif /* D_A_E_GE_H */ diff --git a/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h b/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h index 57b6ad57d6..ba7404e7e9 100644 --- a/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h +++ b/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h @@ -2,5 +2,52 @@ #define D_A_E_GI_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_GI_c + * @brief Gibdo + * + * @details + * + */ +class daE_GI_c : public fopEn_enemy_c { + /* 806CD4F4 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806CD594 */ void JointCallBack(J3DJoint*, int); + /* 806CD5E0 */ void draw(); + /* 806CD868 */ void setBck(int, u8, f32, f32); + /* 806CD90C */ void setActionMode(int, int); + /* 806CD938 */ void damage_check(); + /* 806CDD1C */ void setWeaponAtBit(u8); + /* 806CDD8C */ void setCryStop(); + /* 806CDED8 */ void setAttackEffect(); + /* 806CDFB0 */ void setDragSwordEffect(); + /* 806CE0D4 */ void setDeathSmokeEffect(); + /* 806CE184 */ void setDamageEffect(); + /* 806CE3C4 */ void executeSleep(); + /* 806CE6AC */ void executeWait(); + /* 806CE858 */ void executeChase(); + /* 806CEC94 */ void executeAttack(); + /* 806CF0B8 */ void executeDamage(); + /* 806CF410 */ void executeBiteDamage(); + /* 806CF720 */ void PushButtonCount(); + /* 806CF878 */ void action(); + /* 806CFB60 */ void mtx_set(); + /* 806CFBF0 */ void cc_set(); + /* 806CFDF4 */ void execute(); + /* 806D0054 */ void _delete(); + /* 806D00E8 */ void CreateHeap(); + /* 806D027C */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x107c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_GI_c) == 0x107c); + +class daE_GI_HIO_c { + /* 806CD48C */ daE_GI_HIO_c(); + /* 806D098C */ ~daE_GI_HIO_c(); +}; + #endif /* D_A_E_GI_H */ diff --git a/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h b/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h index 98232a8b6e..1549393661 100644 --- a/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h +++ b/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h @@ -2,5 +2,59 @@ #define D_A_E_GM_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_GM_c + * @brief Baby Gohma + * + * @details + * + */ +class daE_GM_c : public fopEn_enemy_c { + /* 806D12C8 */ void setAction(void (daE_GM_c::*)()); + /* 806D136C */ void action(); + /* 806D1580 */ void egg_wait(); + /* 806D1A9C */ void appear(); + /* 806D1CC0 */ void walk(); + /* 806D21A4 */ void create_item(); + /* 806D2294 */ void pechanko_damage(); + /* 806D24C0 */ void wait(); + /* 806D25E8 */ void egg_damage(); + /* 806D289C */ void setDeathLightEffect(); + /* 806D2940 */ void setEggBreakEffect(); + /* 806D29E4 */ void damage(); + /* 806D2DD4 */ void core_damage(); + /* 806D3308 */ void core_delwait(); + /* 806D344C */ void core_piku(); + /* 806D35E4 */ void core_pechanko_damage(); + /* 806D378C */ void hook(); + /* 806D398C */ void rebound(); + /* 806D3EC4 */ void walk2(); + /* 806D4288 */ void dead_wait(); + /* 806D4468 */ void core_wait(); + /* 806D462C */ void core_escape(); + /* 806D4D1C */ void chaseCheck(); + /* 806D4EF4 */ void normal_wait(); + /* 806D545C */ void normal_chase(); + /* 806D578C */ void mtx_set(); + /* 806D59D0 */ void cc_set(); + /* 806D5D54 */ void draw(); + /* 806D631C */ void damage_check(); + /* 806D6708 */ void execute(); + /* 806D6980 */ void _delete(); + /* 806D6AC8 */ void CreateHeap(); + /* 806D6CF0 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xa78 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_GM_c) == 0xa78); + +class daE_GM_HIO_c { + /* 806D126C */ daE_GM_HIO_c(); + /* 806D7428 */ ~daE_GM_HIO_c(); +}; + #endif /* D_A_E_GM_H */ diff --git a/include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h b/include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h index 093bf97ede..deacb7479a 100644 --- a/include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h +++ b/include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h @@ -1,4 +1,26 @@ #ifndef D_A_E_GOB_H #define D_A_E_GOB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_gob_class + * @brief Dangoro + * + * @details + * + */ +class e_gob_class : public fopEn_enemy_c { + /* 806DEA10 */ e_gob_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xde4 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_gob_class) == 0xde4); + +class daE_GOB_HIO_c { + /* 806D808C */ daE_GOB_HIO_c(); + /* 806DECD0 */ ~daE_GOB_HIO_c(); +}; + #endif /* D_A_E_GOB_H */ diff --git a/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h b/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h index 3c0f3276cc..2f989de18b 100644 --- a/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h +++ b/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h @@ -2,5 +2,26 @@ #define D_A_E_GS_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_gs_class + * @brief Ghost Soldier + * + * @details + * + */ +class e_gs_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x6bc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_gs_class) == 0x6bc); + +class daE_GS_HIO_c { + /* 806DF46C */ daE_GS_HIO_c(); + /* 806DFD5C */ ~daE_GS_HIO_c(); +}; + #endif /* D_A_E_GS_H */ diff --git a/include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h b/include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h index ad2881a39b..25bd238447 100644 --- a/include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h +++ b/include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h @@ -1,4 +1,25 @@ #ifndef D_A_E_HB_H #define D_A_E_HB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_hb_class + * @brief Hebi Baba + * + * @details + * + */ +class e_hb_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x1268 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_hb_class) == 0x1268); + +class daE_HB_HIO_c { + /* 804FBD6C */ daE_HB_HIO_c(); + /* 805005D0 */ ~daE_HB_HIO_c(); +}; + #endif /* D_A_E_HB_H */ diff --git a/include/rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h b/include/rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h index 10192cbf89..7641385e74 100644 --- a/include/rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h +++ b/include/rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h @@ -4,10 +4,13 @@ #include "f_op/f_op_actor_mng.h" /** -* @ingroup actors-enemies -* @brief Snake Baba Leaf -* -*/ + * @ingroup actors-enemies + * @class e_hb_leaf_class + * @brief Hebi Baba - Leaf + * + * @details + * + */ class e_hb_leaf_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h b/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h index cdf7f41665..9951a4be0c 100644 --- a/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h +++ b/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h @@ -2,5 +2,76 @@ #define D_A_E_HM_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_HM_c + * @brief Torch Slug + * + * @details + * + */ +class daE_HM_c : public fopEn_enemy_c { + /* 806E043C */ void CreateHeap(); + /* 806E06C0 */ void initCcCylinder(); + /* 806E074C */ void setCcCylinder(); + /* 806E0958 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806E0DB0 */ void Particle_Set(u32&, u16); + /* 806E0E8C */ void SetAnm(int, int, f32, f32); + /* 806E0F38 */ void W_TargetAngle(cXyz, cXyz); + /* 806E0FF4 */ void W_DeathSpSet(); + /* 806E1118 */ void W_DeathAction(); + /* 806E1370 */ void W_DeathMotion(); + /* 806E155C */ void W_MoveCheckWall(); + /* 806E18A0 */ void W_WallCheck(); + /* 806E1A00 */ void WallExecute(); + /* 806E1AA0 */ void WallCreateExecute(); + /* 806E1B5C */ void CreateExecute(); + /* 806E1C28 */ void Tyakuchi_Set(); + /* 806E1E78 */ void UpDeathAction(); + /* 806E20FC */ void UpMoveAction(); + /* 806E2410 */ void UpWaitAction(); + /* 806E2568 */ void UpExecute(); + /* 806E25E8 */ void WallCheck(); + /* 806E2694 */ void MoveCheck(); + /* 806E29B8 */ void ShippuAction(); + /* 806E2B80 */ void ShieldMotion(); + /* 806E2C50 */ void ShieldAction(); + /* 806E2D08 */ void DeathSpSet(); + /* 806E2D40 */ void DeathMotion(); + /* 806E2EA0 */ void DeathCutDown(); + /* 806E2F5C */ void DeathAction(); + /* 806E31B0 */ void AttackAfter(); + /* 806E3208 */ void AttackMotion(); + /* 806E3420 */ void AttackAction(); + /* 806E34C8 */ void FreeMove(); + /* 806E3690 */ void LinkSearch(); + /* 806E3724 */ void WaitAction(); + /* 806E37F4 */ void MemberClear(); + /* 806E3800 */ void DownExecute(); + /* 806E3884 */ void At_Check(); + /* 806E39E8 */ void Obj_Damage(); + /* 806E3BE4 */ void ActionMode(); + /* 806E4008 */ void Yazirushi(); + /* 806E40B8 */ void setStabPos(); + /* 806E40D4 */ void Execute(); + /* 806E434C */ void Draw(); + /* 806E44F0 */ void Delete(); + /* 806E4558 */ void setBaseMtx(); + /* 806E4620 */ void CheckRoof(); + /* 806E486C */ void CheckWall(); + /* 806E4CCC */ void CreateStyle(); + /* 806E4E64 */ void Create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xa88 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_HM_c) == 0xa88); + +class daE_HM_HIO_c { + /* 806E03EC */ daE_HM_HIO_c(); + /* 806E53F8 */ ~daE_HM_HIO_c(); +}; + #endif /* D_A_E_HM_H */ diff --git a/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h b/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h index a030a7fe78..11822d79b7 100644 --- a/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h +++ b/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h @@ -2,5 +2,50 @@ #define D_A_E_HP_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_HP_c + * @brief Huge Poe? + * + * @details + * + */ +class daE_HP_c : public fopEn_enemy_c { + /* 806E5E30 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806E5ED0 */ void JointCallBack(J3DJoint*, int); + /* 806E5F1C */ void LampCtrlJoint(J3DJoint*, J3DModel*); + /* 806E5FCC */ void LampJointCallBack(J3DJoint*, int); + /* 806E6018 */ void draw(); + /* 806E6514 */ void setBck(int, u8, f32, f32); + /* 806E65C0 */ void setActionMode(int, int); + /* 806E65CC */ void mChkDistance(f32); + /* 806E673C */ void damage_check(); + /* 806E6948 */ void executeWait(); + /* 806E6C74 */ void executeMove(); + /* 806E6ED8 */ void executeRetMove(); + /* 806E7228 */ void executeAttack(); + /* 806E7574 */ void executeDamage(); + /* 806E77C0 */ void executeDown(); + /* 806E7E94 */ void executeDead(); + /* 806E814C */ void action(); + /* 806E89C0 */ void mtx_set(); + /* 806E8DE0 */ void cc_set(); + /* 806E8FEC */ void execute(); + /* 806E9198 */ void _delete(); + /* 806E9240 */ void CreateHeap(); + /* 806E951C */ void create(); + /* 806E9900 */ daE_HP_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0xdfc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_HP_c) == 0xdfc); + +class daE_HP_HIO_c { + /* 806E5DEC */ daE_HP_HIO_c(); + /* 806E9D38 */ ~daE_HP_HIO_c(); +}; + #endif /* D_A_E_HP_H */ diff --git a/include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h b/include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h index 6f80a83a03..6dd044828a 100644 --- a/include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h +++ b/include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h @@ -1,4 +1,67 @@ #ifndef D_A_E_HZ_H #define D_A_E_HZ_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_HZ_c + * @brief Tile Worm + * + * @details + * + */ +class daE_HZ_c : public fopEn_enemy_c { + /* 806EA690 */ void setBck(int, u8, f32, f32); + /* 806EA734 */ void checkBck(int); + /* 806EA790 */ void draw(); + /* 806EAADC */ void setActionMode(int); + /* 806EAB68 */ void checkHideStart(); + /* 806EAEDC */ void checkAttackStart(); + /* 806EB05C */ void checkArrowCharge(); + /* 806EB0A4 */ void setTgSetBit(int); + /* 806EB0FC */ void isWait(); + /* 806EB13C */ void checkFall(); + /* 806EB2E8 */ void setCloseSmokeEffect(); + /* 806EB3EC */ void executeWait(); + /* 806EB7B0 */ void getHideSpeed(); + /* 806EB818 */ void executeHide(); + /* 806EBD44 */ void executeAttack(); + /* 806EC068 */ void initBackWalk(); + /* 806EC348 */ void executeAway(); + /* 806ECAEC */ void setWindEnd(); + /* 806ECB64 */ void executeWind(); + /* 806ED5B0 */ void executeChance(); + /* 806ED6C8 */ void initRollDamage(); + /* 806ED7A8 */ void doRollDamage(); + /* 806ED8A4 */ void executeDamage(); + /* 806EDAA8 */ void executeDeath(); + /* 806EDDCC */ void setWindChanceEnd(); + /* 806EDDE8 */ void executeWindChance(); + /* 806EE120 */ void executeWindWalk(); + /* 806EE2A4 */ void setWaterEffect(); + /* 806EE3BC */ void executeWaterDeath(); + /* 806EE820 */ void executeDeathWait(); + /* 806EE978 */ void damage_check(); + /* 806EEE10 */ void checkWaterSurface(); + /* 806EEEE4 */ void action(); + /* 806EF144 */ void mtx_set(); + /* 806EF2C8 */ void cc_set(); + /* 806EF46C */ void execute(); + /* 806EF6B4 */ void _delete(); + /* 806EF770 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806EF880 */ void JointCallBack(J3DJoint*, int); + /* 806EF8CC */ void CreateHeap(); + /* 806EFB54 */ void setInitPos(); + /* 806EFC18 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1238 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_HZ_c) == 0x1238); + +class daE_HZ_HIO_c { + /* 806EA60C */ daE_HZ_HIO_c(); + /* 806F0368 */ ~daE_HZ_HIO_c(); +}; + #endif /* D_A_E_HZ_H */ diff --git a/include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h b/include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h index b322facb90..55392d4e24 100644 --- a/include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h +++ b/include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h @@ -1,4 +1,26 @@ #ifndef D_A_E_HZELDA_H #define D_A_E_HZELDA_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_hzelda_class + * @brief Puppet Zelda + * + * @details + * + */ +class e_hzelda_class : public fopEn_enemy_c { + /* 806F4E48 */ e_hzelda_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1460 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_hzelda_class) == 0x1460); + +class daE_HZELDA_HIO_c { + /* 806F0D4C */ daE_HZELDA_HIO_c(); + /* 806F546C */ ~daE_HZELDA_HIO_c(); +}; + #endif /* D_A_E_HZELDA_H */ diff --git a/include/rel/d/a/e/d_a_e_is/d_a_e_is.h b/include/rel/d/a/e/d_a_e_is/d_a_e_is.h index 644085cebd..00f624ff2c 100644 --- a/include/rel/d/a/e/d_a_e_is/d_a_e_is.h +++ b/include/rel/d/a/e/d_a_e_is/d_a_e_is.h @@ -1,4 +1,26 @@ #ifndef D_A_E_IS_H #define D_A_E_IS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_is_class + * @brief Armos Titan + * + * @details Armos Titans are enemies from early, unreleased versions of the game. + * + */ +class e_is_class : public fopEn_enemy_c { + /* 806F76B4 */ e_is_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xcf8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_is_class) == 0xcf8); + +class daE_IS_HIO_c { + /* 806F5A4C */ daE_IS_HIO_c(); + /* 806F7AC4 */ ~daE_IS_HIO_c(); +}; + #endif /* D_A_E_IS_H */ diff --git a/include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h b/include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h index a58f13abd6..e4b7bf9277 100644 --- a/include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h +++ b/include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h @@ -1,4 +1,25 @@ #ifndef D_A_E_KG_H #define D_A_E_KG_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_kg_class + * @brief Young Gohma + * + * @details + * + */ +class e_kg_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa74 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_kg_class) == 0xa74); + +class daE_KG_HIO_c { + /* 806F7EEC */ daE_KG_HIO_c(); + /* 806F9EE8 */ ~daE_KG_HIO_c(); +}; + #endif /* D_A_E_KG_H */ diff --git a/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h b/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h index d3c4ffaa61..2256c612e3 100644 --- a/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h +++ b/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h @@ -2,5 +2,56 @@ #define D_A_E_KK_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_KK_c + * @brief Chilfos + * + * @details + * + */ +class daE_KK_c : public fopEn_enemy_c { + /* 806FA75C */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806FA7FC */ void JointCallBack(J3DJoint*, int); + /* 806FA848 */ void draw(); + /* 806FAA68 */ void setBck(int, u8, f32, f32); + /* 806FAB14 */ void setWeaponBck(int, u8, f32, f32); + /* 806FABC0 */ void mCutTypeCheck(int); + /* 806FAC80 */ void setActionMode(int, int); + /* 806FAC8C */ void damage_check(); + /* 806FB2EC */ void nextActionCheck(); + /* 806FB4F4 */ void way_gake_check(); + /* 806FB6C0 */ void mDeadEffSet(cXyz&); + /* 806FB7D8 */ void executeWait(); + /* 806FB908 */ void executeIcicleWait(); + /* 806FBB1C */ void executeWalk(); + /* 806FBE98 */ void executeSpearThrow(); + /* 806FC370 */ void executeBackWalk(); + /* 806FC75C */ void executeYoroke(); + /* 806FC8F4 */ void executeGuard(); + /* 806FCA28 */ void executeDamage(); + /* 806FCC34 */ void executeAttack(); + /* 806FD068 */ void executeDead(); + /* 806FD294 */ void executeWeaponMove(); + /* 806FD930 */ void action(); + /* 806FDD0C */ void mtx_set(); + /* 806FDF0C */ void weapon_mtx_set(); + /* 806FE0B8 */ void cc_set(); + /* 806FE2A8 */ void execute(); + /* 806FE3E0 */ void _delete(); + /* 806FE480 */ void CreateHeap(); + /* 806FE6B8 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x13d4 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_KK_c) == 0x13d4); + +class daE_KK_HIO_c { + /* 806FA70C */ daE_KK_HIO_c(); + /* 806FF0F0 */ ~daE_KK_HIO_c(); +}; + #endif /* D_A_E_KK_H */ diff --git a/include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h b/include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h index ba1310cf1a..4df16176f8 100644 --- a/include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h +++ b/include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h @@ -1,4 +1,25 @@ #ifndef D_A_E_KR_H #define D_A_E_KR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_kr_class + * @brief Kargorok + * + * @details + * + */ +class e_kr_class : public fopEn_enemy_c { + /* 80705004 */ e_kr_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xf08 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_kr_class) == 0xf08); + +class e_krHIO_c { + /* 80705574 */ ~e_krHIO_c(); +}; + #endif /* D_A_E_KR_H */ diff --git a/include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h b/include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h index bfafb23127..6a6736e08c 100644 --- a/include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h +++ b/include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h @@ -1,4 +1,25 @@ #ifndef D_A_E_MB_H #define D_A_E_MB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mb_class + * @brief Ook (Diababa Fight) + * + * @details + * + */ +class e_mb_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x8cc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mb_class) == 0x8cc); + +class daE_MB_HIO_c { + /* 8070616C */ daE_MB_HIO_c(); + /* 8070882C */ ~daE_MB_HIO_c(); +}; + #endif /* D_A_E_MB_H */ diff --git a/include/rel/d/a/e/d_a_e_md/d_a_e_md.h b/include/rel/d/a/e/d_a_e_md/d_a_e_md.h index 9183de5f19..8a10fa7f47 100644 --- a/include/rel/d/a/e/d_a_e_md/d_a_e_md.h +++ b/include/rel/d/a/e/d_a_e_md/d_a_e_md.h @@ -1,4 +1,35 @@ #ifndef D_A_E_MD_H #define D_A_E_MD_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_MD_c + * @brief Suit of Armor + * + * @details + * + */ +class daE_MD_c : public fopEn_enemy_c { + /* 80708DF8 */ void initCcCylinder(); + /* 80708E70 */ void setCcCylinder(f32); + /* 807091F0 */ void SetAnm(mDoExt_McaMorfSO*, int, int, f32, f32); + /* 807092C8 */ void At_Check(); + /* 80709378 */ void CheckHit(); + /* 8070992C */ void WaitAction(); + /* 8070994C */ void HalfBreakAction(); + /* 80709A04 */ void VibAction(); + /* 80709ABC */ void DummyAction(); + /* 80709BB4 */ void RealAction(); + /* 80709C3C */ void Action(); + /* 80709CFC */ void Execute(); + /* 80709D58 */ void Delete(); + /* 80709DA8 */ void setBaseMtx(); + /* 8070A044 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xa50 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_MD_c) == 0xa50); + #endif /* D_A_E_MD_H */ diff --git a/include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h b/include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h index 5b6eff96e2..1490af8cdf 100644 --- a/include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h +++ b/include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h @@ -1,4 +1,26 @@ #ifndef D_A_E_MF_H #define D_A_E_MF_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mf_class + * @brief Dynalfos + * + * @details + * + */ +class e_mf_class : public fopEn_enemy_c { + /* 80712F20 */ e_mf_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x10ec - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mf_class) == 0x10ec); + +class daE_MF_HIO_c { + /* 8070A70C */ daE_MF_HIO_c(); + /* 80713464 */ ~daE_MF_HIO_c(); +}; + #endif /* D_A_E_MF_H */ diff --git a/include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h b/include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h index 4852c6f3b7..f5bd841456 100644 --- a/include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h +++ b/include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h @@ -1,4 +1,26 @@ #ifndef D_A_E_MK_H #define D_A_E_MK_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mk_class + * @brief Ook + * + * @details + * + */ +class e_mk_class : public fopEn_enemy_c { + /* 8071C190 */ e_mk_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xcf8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mk_class) == 0xcf8); + +class daE_MK_HIO_c { + /* 8071412C */ daE_MK_HIO_c(); + /* 8071C3EC */ ~daE_MK_HIO_c(); +}; + #endif /* D_A_E_MK_H */ diff --git a/include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h b/include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h index efbb4d2e44..a855a7d18e 100644 --- a/include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h +++ b/include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h @@ -1,4 +1,20 @@ #ifndef D_A_E_MK_BO_H #define D_A_E_MK_BO_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mk_bo_class + * @brief Ook? + * + * @details + * + */ +class e_mk_bo_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x9c0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mk_bo_class) == 0x9c0); + #endif /* D_A_E_MK_BO_H */ diff --git a/include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h b/include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h index 63e5969cc6..977dd24e7e 100644 --- a/include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h +++ b/include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h @@ -1,4 +1,25 @@ #ifndef D_A_E_MM_H #define D_A_E_MM_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mm_class + * @brief Helmasaur + * + * @details + * + */ +class e_mm_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xc1c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mm_class) == 0xc1c); + +class daE_MM_HIO_c { + /* 8071F9CC */ daE_MM_HIO_c(); + /* 80722780 */ ~daE_MM_HIO_c(); +}; + #endif /* D_A_E_MM_H */ diff --git a/include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h b/include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h index 97e6468859..355ca54a1f 100644 --- a/include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h +++ b/include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h @@ -1,4 +1,20 @@ #ifndef D_A_E_MM_MT_H #define D_A_E_MM_MT_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mm_mt_class + * @brief Helmasaur Shell + * + * @details + * + */ +class e_mm_mt_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xba4 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mm_mt_class) == 0xba4); + #endif /* D_A_E_MM_MT_H */ diff --git a/include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h b/include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h index 2b95af2b2f..2478a83483 100644 --- a/include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h +++ b/include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h @@ -1,4 +1,25 @@ #ifndef D_A_E_MS_H #define D_A_E_MS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_ms_class + * @brief Rat + * + * @details + * + */ +class e_ms_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xbbc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_ms_class) == 0xbbc); + +class daE_MS_HIO_c { + /* 80725B8C */ daE_MS_HIO_c(); + /* 8072900C */ ~daE_MS_HIO_c(); +}; + #endif /* D_A_E_MS_H */ diff --git a/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h b/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h index 7d222c9881..4caa528f74 100644 --- a/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h +++ b/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h @@ -30,14 +30,16 @@ struct nest_hahen_s { /* 0x53 */ bool mActive; /* 0x54 */ u8 mTimer; }; - STATIC_ASSERT(sizeof(nest_hahen_s) == 0x58); /** -* @ingroup actors-enemies -* @brief Beehive -* -*/ + * @ingroup actors-enemies + * @class e_nest_class + * @brief Beehive + * + * @details + * + */ class e_nest_class : public fopAc_ac_c { public: enum Type { @@ -104,7 +106,6 @@ public: /* 0xCF0 */ f32 mDemoCameraFovY; /* 0xCF4 */ bool mHIOInit; }; - STATIC_ASSERT(sizeof(e_nest_class) == 0xCF8); class daE_Nest_HIO_c { @@ -115,7 +116,6 @@ public: /* 0x4 */ s8 field_0x4; /* 0x8 */ f32 mScale; }; - STATIC_ASSERT(sizeof(daE_Nest_HIO_c) == 0xC); #endif /* D_A_E_NEST_H */ diff --git a/include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h b/include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h index e4e8ace7e2..3167a4c518 100644 --- a/include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h +++ b/include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h @@ -1,4 +1,25 @@ #ifndef D_A_E_NZ_H #define D_A_E_NZ_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_nz_class + * @brief Ghoul Rat + * + * @details + * + */ +class e_nz_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa88 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_nz_class) == 0xa88); + +class daE_NZ_HIO_c { + /* 807299EC */ daE_NZ_HIO_c(); + /* 8072BC88 */ ~daE_NZ_HIO_c(); +}; + #endif /* D_A_E_NZ_H */ diff --git a/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h b/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h index e12be2c56c..95f6af5e21 100644 --- a/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h +++ b/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h @@ -2,5 +2,96 @@ #define D_A_E_OC_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_OC_c + * @brief Bokoblin + * + * @details + * + */ +class daE_OC_c : public fopEn_enemy_c { + /* 8072C630 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 8072C6E8 */ void JointCallBack(J3DJoint*, int); + /* 8072C734 */ void draw(); + /* 8072CBD4 */ void getVisionAngle(fopAc_ac_c*); + /* 8072CC10 */ void searchOtherOc(); + /* 8072CDA8 */ void setWatchMode(); + /* 8072CE00 */ void searchPlayer(); + /* 8072CF90 */ void searchPlayer2(); + /* 8072D100 */ void searchPlayerShakeHead(); + /* 8072D1DC */ void searchSound(); + /* 8072D364 */ void checkBeforeBg(); + /* 8072D640 */ void checkBeforeBgFind(); + /* 8072D87C */ void checkBeforeFloorBg(f32); + /* 8072D994 */ void checkDamageBg(); + /* 8072DB10 */ void setGroundAngle(); + /* 8072DCBC */ void setActionMode(int, int); + /* 8072DD18 */ void getCutType(); + /* 8072DD8C */ void offTgSph(); + /* 8072DDF4 */ void damage_check(); + /* 8072E274 */ void setBck(int, u8, f32, f32); + /* 8072E31C */ void checkBck(int); + /* 8072E37C */ void setSpitEffect(); + /* 8072E42C */ void getHeadAngle(); + /* 8072E498 */ void setStabPos(); + /* 8072E528 */ void setWaitSound(); + /* 8072E5A4 */ void setWalkSound(); + /* 8072E670 */ void setWalkStSound(); + /* 8072E788 */ void setDashSound(); + /* 8072E910 */ void setWaitStSound(); + /* 8072EA58 */ void setFootNoteSound(); + /* 8072EAA4 */ void executeWait(); + /* 8072F1A8 */ void executeWalk(); + /* 8072F5E0 */ void executeTalk(); + /* 8072F914 */ void executeFind(); + /* 807302E8 */ void setWeaponGroundAngle(); + /* 807305C0 */ void executeAttack(); + /* 80730DC0 */ void executeDamage(); + /* 80731124 */ void executeBigDamage(); + /* 807316F8 */ void executeWatch(); + /* 807319E4 */ void executeSoundWatch(); + /* 80731D18 */ void checkBeforeDeath(); + /* 80731D4C */ void executeDeath(); + /* 80731F5C */ void setWaterEffect(); + /* 80732074 */ void executeWaterDeath(); + /* 807323A4 */ void executeDemoMaster(); + /* 80732B04 */ void executeDemoChild(); + /* 80732E64 */ void checkFall(); + /* 8073301C */ void executeFallDead(); + /* 807331CC */ void executeFall(); + /* 8073332C */ void executeFindStay(); + /* 807335B4 */ void executeMoveOut(); + /* 80733E48 */ void checkWaterSurface(); + /* 80733F20 */ void action(); + /* 807345D8 */ void mtx_set(); + /* 80734698 */ void cc_set(); + /* 807348DC */ void execute(); + /* 80734B6C */ void _delete(); + /* 80734C10 */ void CreateHeap(); + /* 80734DA8 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xe88 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_OC_c) == 0xe88); + +class daE_OC_HIO_c { + /* 8072C5CC */ daE_OC_HIO_c(); + /* 80735630 */ ~daE_OC_HIO_c(); +}; + +struct E_OC_n { + static u8 const oc_attackb_trans[40]; + static u8 const oc_attackc_trans[40]; + static u8 cc_sph_src[64]; + static u8 at_sph_src[64]; + static u8 m_battle_oc[4]; + static u8 m_damage_oc[4]; + static u8 m_death_oc[4]; + static u8 m_talk_oc[4]; +}; + #endif /* D_A_E_OC_H */ diff --git a/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h b/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h index 308f0528ed..ff86f6614a 100644 --- a/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h +++ b/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h @@ -10,11 +10,15 @@ #include "SSystem/SComponent/c_phase.h" /** -* @ingroup actors-enemies -* @brief Morpheel Bomb Fish -* -*/ -struct daE_OctBg_c : public fopEn_enemy_c { + * @ingroup actors-enemies + * @class daE_OctBg_c + * @brief Morpheel Bomb Fish + * + * @details + * + */ +class daE_OctBg_c : public fopEn_enemy_c { +public: typedef void (daE_OctBg_c::*actionFunc)(); /* 8073626C */ void setAction(actionFunc); @@ -50,6 +54,7 @@ struct daE_OctBg_c : public fopEn_enemy_c { u32 checkAction(actionFunc func) { return field_0xb58 == func; } bool checkNormalAttk() { return checkAction(&daE_OctBg_c::normal_attack); } +private: /* 0x5AC */ request_of_phase_process_class mPhase; /* 0x5B4 */ mDoExt_McaMorfSO* field_0x5b4; /* 0x5B8 */ mDoExt_brkAnm* field_0x5b8; @@ -88,10 +93,11 @@ struct daE_OctBg_c : public fopEn_enemy_c { /* 0xBB0 */ u16 field_0xbb0; /* 0xBB2 */ u8 field_0xbb2; /* 0xBB3 */ u8 field_0xbb3; - }; +STATIC_ASSERT(sizeof(daE_OctBg_c) == 0xBB4); -struct daE_OctBg_HIO_c { +class daE_OctBg_HIO_c { +public: /* 8073620C */ daE_OctBg_HIO_c(); /* 80739CB8 */ virtual ~daE_OctBg_HIO_c() {} diff --git a/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h b/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h index 38abd86737..01bd05293c 100644 --- a/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h +++ b/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h @@ -2,5 +2,47 @@ #define D_A_E_OT_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" -#endif /* D_A_E_OT_H */ +/** + * @ingroup actors-enemies + * @class daE_OT_c + * @brief ??? + * + * @details + * + */ +class daE_OT_c : public fopEn_enemy_c { + /* 8073A314 */ void draw(); + /* 8073A454 */ void setBck(int, u8, f32, f32); + /* 8073A4F8 */ void setActionMode(int, int); + /* 8073A510 */ void damage_check(); + /* 8073A7B0 */ void checkWaterSurface(); + /* 8073A838 */ void setWaterEffect(); + /* 8073A99C */ void setEggBreakEffect(); + /* 8073AA40 */ void setDeathLightEffect(); + /* 8073AB38 */ void setEggStay(); + /* 8073AC14 */ void executeEgg(); + /* 8073AF70 */ void executeBorn(); + /* 8073B0D0 */ void executeAttack(); + /* 8073B428 */ void executePanic(); + /* 8073B854 */ void executeDamage(); + /* 8073BB9C */ void action(); + /* 8073BD78 */ void mtx_set(); + /* 8073BE10 */ void cc_set(); + /* 8073BF84 */ void execute(); + /* 8073C058 */ void _delete(); + /* 8073C0EC */ void CreateHeap(); + /* 8073C31C */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xb98 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_OT_c) == 0xb98); + +class daE_OT_HIO_c { + /* 8073A2CC */ daE_OT_HIO_c(); + /* 8073C9B0 */ ~daE_OT_HIO_c(); +}; + + +#endif /* D_A_E_OT_H */
\ No newline at end of file diff --git a/include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h b/include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h index 2ae42f061f..475558d4be 100644 --- a/include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h +++ b/include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h @@ -3,17 +3,20 @@ #include "SSystem/SComponent/c_phase.h" #include "Z2AudioLib/Z2Creature.h" -#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" #include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" #include "d/cc/d_cc_uty.h" #include "d/d_path.h" /** -* @ingroup actors-enemies -* @brief Peahat -* -*/ + * @ingroup actors-enemies + * @class daE_PH_c + * @brief Peahat + * + * @details + * + */ class daE_PH_c : public fopEn_enemy_c { public: /* 8073D48C */ void initCcSph(); @@ -118,4 +121,18 @@ public: /* 0xAD0 */ u8 mInitializedHIO; }; +class daE_PH_HIO_c { +public: + /* 8073D44C */ daE_PH_HIO_c(); + /* 80741B4C */ virtual ~daE_PH_HIO_c() {} + + /* 0x04 */ s8 field_0x4; + /* 0x08 */ f32 mHangPos; + /* 0x0C */ f32 mStopTime; + /* 0x10 */ f32 mSpeed; + /* 0x14 */ f32 mRotationInterpolation; + /* 0x18 */ f32 mRotationYInterpolation; +}; + + #endif /* D_A_E_PH_H */ diff --git a/include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h b/include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h index 330b58f00d..c33cc9a505 100644 --- a/include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h +++ b/include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h @@ -1,11 +1,16 @@ #ifndef D_A_E_PM_H #define D_A_E_PM_H +#include "f_op/f_op_actor_mng.h" + /** -* @ingroup actors-enemies -* @brief Skull Kid -* -*/ + * @ingroup actors-enemies + * @class daE_PM_c + * @brief Skullkid + * + * @details + * + */ class daE_PM_c : public fopEn_enemy_c { public: /* 80741FB4 */ void DemoSkip(int); @@ -68,8 +73,17 @@ public: void AppearSet() { mAppear = true; } +private: /* 0x5AC */ u8 field_0x5ac[0x619 - 0x5AC]; /* 0x619 */ bool mAppear; + /* 0x61A */ u8 field_0x61a[0xb7c - 0x61a]; +}; +STATIC_ASSERT(sizeof(daE_PM_c) == 0xb7c); + +class daE_PM_HIO_c { + /* 80741EEC */ daE_PM_HIO_c(); + /* 8074BA68 */ ~daE_PM_HIO_c(); }; + #endif /* D_A_E_PM_H */ diff --git a/include/rel/d/a/e/d_a_e_po/d_a_e_po.h b/include/rel/d/a/e/d_a_e_po/d_a_e_po.h index 68889b5d20..c0e374d7b8 100644 --- a/include/rel/d/a/e/d_a_e_po/d_a_e_po.h +++ b/include/rel/d/a/e/d_a_e_po/d_a_e_po.h @@ -1,4 +1,26 @@ #ifndef D_A_E_PO_H #define D_A_E_PO_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_po_class + * @brief Poe + * + * @details + * + */ +class e_po_class : public fopEn_enemy_c { + /* 80756900 */ e_po_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xee0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_po_class) == 0xee0); + +class daE_PO_HIO_c { + /* 8074C54C */ daE_PO_HIO_c(); + /* 80756DE8 */ ~daE_PO_HIO_c(); +}; + #endif /* D_A_E_PO_H */ diff --git a/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h b/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h index 76862b840e..db7472e806 100644 --- a/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h +++ b/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h @@ -2,8 +2,17 @@ #define D_A_E_PZ_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" -struct daE_PZ_c { +/** + * @ingroup actors-enemies + * @class daE_PZ_c + * @brief Phantom Zant + * + * @details + * + */ +class daE_PZ_c : public fopEn_enemy_c { void onBombArrowHit() { field_0x845 = 1; } /* 807585BC */ void draw(); @@ -35,8 +44,17 @@ struct daE_PZ_c { /* 8076010C */ void create(); /* 807607EC */ daE_PZ_c(); - /* 0x000 */ u8 base[0x845]; +private: + /* 0x5AC */ u8 field_0x5ac[0x845 - 0x5ac]; /* 0x845 */ u8 field_0x845; + /* 0x846 */ u8 field_0x846[0xef8 - 0x846]; }; +STATIC_ASSERT(sizeof(daE_PZ_c) == 0xEF8); + +class daE_PZ_HIO_c { + /* 8075856C */ daE_PZ_HIO_c(); + /* 80760C60 */ ~daE_PZ_HIO_c(); +}; + #endif /* D_A_E_PZ_H */ diff --git a/include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h b/include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h index 4a5c5a45a4..52abe71879 100644 --- a/include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h +++ b/include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h @@ -1,4 +1,25 @@ #ifndef D_A_E_RB_H #define D_A_E_RB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_rb_class + * @brief Leever + * + * @details + * + */ +class e_rb_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa6c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_rb_class) == 0xa6c); + +class daE_RB_HIO_c { + /* 8076238C */ daE_RB_HIO_c(); + /* 80764838 */ ~daE_RB_HIO_c(); +}; + #endif /* D_A_E_RB_H */ diff --git a/include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h b/include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h index 6c74e78f26..c21e83732b 100644 --- a/include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h +++ b/include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h @@ -1,4 +1,26 @@ #ifndef D_A_E_RD_H #define D_A_E_RD_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_rd_class + * @brief Bulblin + * + * @details + * + */ +class e_rd_class : public fopEn_enemy_c { + /* 80517AE0 */ e_rd_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1368 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_rd_class) == 0x1368); + +class daE_RD_HIO_c { + /* 80504A6C */ daE_RD_HIO_c(); + /* 8051801C */ ~daE_RD_HIO_c(); +}; + #endif /* D_A_E_RD_H */ diff --git a/include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h b/include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h index 677d0e86bc..2f58616312 100644 --- a/include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h +++ b/include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h @@ -1,4 +1,26 @@ #ifndef D_A_E_RDB_H #define D_A_E_RDB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_rdb_class + * @brief King Bulblin + * + * @details + * + */ +class e_rdb_class : public fopEn_enemy_c { + /* 8076AA0C */ e_rdb_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1154 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_rdb_class) == 0x1154); + +class daE_RDB_HIO_c { + /* 807650CC */ daE_RDB_HIO_c(); + /* 8076AF64 */ ~daE_RDB_HIO_c(); +}; + #endif /* D_A_E_RDB_H */ diff --git a/include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h b/include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h index aacfea48e1..462c3ce1bf 100644 --- a/include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h +++ b/include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h @@ -1,8 +1,16 @@ #ifndef D_A_E_RDY_H #define D_A_E_RDY_H -#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-enemies + * @class e_rdy_class + * @brief Shadow Bulblin + * + * @details + * + */ class e_rdy_class : public fopEn_enemy_c { public: /* 80779340 */ e_rdy_class(); @@ -14,7 +22,12 @@ public: /* 0x1372 */ s16 field_0x1372; /* 0x1374 */ u8 field_0x1374[0x142c - 0x1374]; }; - STATIC_ASSERT(sizeof(e_rdy_class) == 0x142C); +class daE_RDY_HIO_c { + /* 8076BDCC */ daE_RDY_HIO_c(); + /* 80779880 */ ~daE_RDY_HIO_c(); +}; + + #endif /* D_A_E_RDY_H */ diff --git a/include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h b/include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h index 54c310fc8b..4420f89be2 100644 --- a/include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h +++ b/include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h @@ -1,4 +1,31 @@ #ifndef D_A_E_S1_H #define D_A_E_S1_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_s1_class + * @brief Shadow Beast + * + * @details + * + */ +class e_s1_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x3084 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_s1_class) == 0x3084); + +class daE_S1_HIO_c { + /* 8077AB8C */ daE_S1_HIO_c(); + /* 80780840 */ ~daE_S1_HIO_c(); +}; + +struct s1_ke_s { + /* 807803F4 */ ~s1_ke_s(); + /* 80780470 */ s1_ke_s(); +}; + + #endif /* D_A_E_S1_H */ diff --git a/include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h b/include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h index 1c57c20492..42154f830b 100644 --- a/include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h +++ b/include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h @@ -1,4 +1,67 @@ #ifndef D_A_E_SB_H #define D_A_E_SB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_SB_c + * @brief Shell Blade + * + * @details + * + */ +class daE_SB_c : public fopEn_enemy_c { + /* 807816D8 */ void CreateHeap(); + /* 807817F0 */ void initCcCylinder(); + /* 80781850 */ void setCcCylinder(); + /* 80781898 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 807819DC */ void Particle_Set(u16); + /* 80781A4C */ void SetAnm(int, int, f32, f32); + /* 80781AF8 */ void MemberClear(); + /* 80781DD4 */ void Shield_Motion(); + /* 80781F30 */ void AttackStop(); + /* 80781F80 */ void AttackSetSP(); + /* 80782180 */ void AttackAngle(); + /* 80782264 */ void AttackSpeedMotion(); + /* 807822B8 */ void Attack_Motion(); + /* 80782650 */ void Bomb_Death_Motion(); + /* 80782714 */ void BombJumpSet(); + /* 8078273C */ void GetHomeSet(); + /* 8078294C */ void HomeJumpMotion(); + /* 807829E8 */ void Jump_Normal_Set(); + /* 80782B7C */ void Jump_Set(); + /* 80782BD4 */ void JumpMiddleMotion(); + /* 80782CC8 */ void Jump_Motion(); + /* 80782E90 */ void Death_Motion(); + /* 80782ED4 */ void Hanekaeri(); + /* 80782EF4 */ void Hit(); + /* 80782F10 */ void ActionCheck(); + /* 80783010 */ void Search(); + /* 80783404 */ void Wait_Motion(); + /* 807834FC */ void Attack(); + /* 807835A0 */ void Shield(); + /* 80783678 */ void Anm_Motion(); + /* 80783854 */ void Search_Bomb(); + /* 80783914 */ void ChanceMotion(); + /* 80783A9C */ void NoChanceMotion(); + /* 80783B4C */ void Obj_Damage(); + /* 80783FBC */ void HashiraVib(); + /* 80784144 */ void Yazirushi(); + /* 807841CC */ void setGroundAngle(); + /* 80784390 */ void Execute(); + /* 807844BC */ void Draw(); + /* 807845D8 */ void Delete(); + /* 80784640 */ void setBaseMtx(); + /* 80784720 */ void Create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xbc0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_SB_c) == 0xbc0); + +class daE_SB_HIO_c { + /* 8078164C */ daE_SB_HIO_c(); + /* 80784CC0 */ ~daE_SB_HIO_c(); +}; + #endif /* D_A_E_SB_H */ diff --git a/include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h b/include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h index 765653929a..e2e7576626 100644 --- a/include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h +++ b/include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h @@ -1,4 +1,25 @@ #ifndef D_A_E_SF_H #define D_A_E_SF_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_sf_class + * @brief Stalfos + * + * @details + * + */ +class e_sf_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x1000 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_sf_class) == 0x1000); + +class daE_SF_HIO_c { + /* 8078512C */ daE_SF_HIO_c(); + /* 8078977C */ ~daE_SF_HIO_c(); +}; + #endif /* D_A_E_SF_H */ diff --git a/include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h b/include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h index c25ec28e6d..9e3417cecf 100644 --- a/include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h +++ b/include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h @@ -1,4 +1,25 @@ #ifndef D_A_E_SG_H #define D_A_E_SG_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_sg_class + * @brief Skullfish + * + * @details + * + */ +class e_sg_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xab0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_sg_class) == 0xab0); + +class daE_SG_HIO_c { + /* 8078A22C */ daE_SG_HIO_c(); + /* 8078DC84 */ ~daE_SG_HIO_c(); +}; + #endif /* D_A_E_SG_H */ diff --git a/include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h b/include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h index 94d3e5055c..ce9bbee7a7 100644 --- a/include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h +++ b/include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h @@ -1,4 +1,25 @@ #ifndef D_A_E_SH_H #define D_A_E_SH_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_sh_class + * @brief Stalhound + * + * @details + * + */ +class e_sh_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xd0c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_sh_class) == 0xd0c); + +class daE_SH_HIO_c { + /* 8078E34C */ daE_SH_HIO_c(); + /* 807918B4 */ ~daE_SH_HIO_c(); +}; + #endif /* D_A_E_SH_H */ diff --git a/include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h b/include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h index d972f0e434..ab3c200e37 100644 --- a/include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h +++ b/include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h @@ -1,4 +1,65 @@ #ifndef D_A_E_SM_H #define D_A_E_SM_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_SM_c + * @brief ChuChu + * + * @details + * + */ +class daE_SM_c : public fopEn_enemy_c { + /* 80792260 */ void SetAnm(int, int, f32, f32); + /* 8079230C */ void Draw(); + /* 807928A4 */ void Particle_Set(u16, cXyz, cXyz, csXyz); + /* 80792914 */ void ArrowCheck(); + /* 80792C20 */ void E_SM_Damage(); + /* 80792E70 */ void SmDamageCheck(); + /* 807936B4 */ void E_SM_Normal(); + /* 80793B64 */ void E_SM_Move(); + /* 80793E18 */ void E_SM_Attack(); + /* 80794100 */ void Action(); + /* 80794338 */ void E_SM_C_Normal(); + /* 807943C4 */ void E_SM_C_Fight(); + /* 80794458 */ void E_SM_C_Near_Escape(); + /* 8079473C */ void E_SM_C_Far_Escape(); + /* 807949CC */ void E_SM_C_Home_Escape(); + /* 807951EC */ void E_SM_C_Escape(); + /* 80795244 */ void E_SM_C_Free(); + /* 80795530 */ void E_SM_C_Death(); + /* 807958A0 */ void C_DamageCheck(); + /* 80795E64 */ void E_SM_C_Hook(); + /* 80796060 */ void CheckViewArea(); + /* 807960E4 */ void CameraSet(); + /* 80796204 */ void SetStopCam(cXyz, f32, f32, s16); + /* 80796324 */ void SetCMoveCam(cXyz, f32, f32); + /* 80796368 */ void SetStopingCam(); + /* 807963EC */ void SetReleaseCam(); + /* 80796490 */ void DemoStart(); + /* 80796628 */ void DemoMid(); + /* 807968A0 */ void E_SM_C_Demo(); + /* 807968E4 */ void CoreAction(); + /* 80796AEC */ void ArrowOn(); + /* 80796D80 */ void Execute(); + /* 80796FC4 */ void setSmBaseMtx(); + /* 80797274 */ void setBaseMtx(); + /* 8079730C */ void CoCoreSet(); + /* 80797444 */ void CoSmSet(); + /* 80797570 */ void Delete(); + /* 8079764C */ void CreateHeap(); + /* 80797784 */ void initCoSph(); + /* 80797858 */ void Create(); + /* 80797CE0 */ daE_SM_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1160 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_SM_c) == 0x1160); + +class daE_Sm_HIO_c { + /* 8079222C */ daE_Sm_HIO_c(); + /* 807980E8 */ ~daE_Sm_HIO_c(); +}; #endif /* D_A_E_SM_H */ diff --git a/include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h b/include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h index 543f9efa17..9e05ef89a7 100644 --- a/include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h +++ b/include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h @@ -1,17 +1,25 @@ #ifndef D_A_E_SM2_H #define D_A_E_SM2_H +#include "f_op/f_op_actor_mng.h" +#include "Z2AudioLib/Z2Creature.h" +#include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" +#include "d/cc/d_cc_uty.h" /** -* @ingroup actors-enemies -* @brief Chuchu 2 -* -*/ + * @ingroup actors-enemies + * @class e_sm2_class + * @brief Chuchu 2 + * + * @details + * + */ class e_sm2_class : public fopEn_enemy_c { public: bool checkYellow() { return field_0x5b7 == 3; } +private: /* 0x5AC */ request_of_phase_process_class mPhase; /* 0x5B4 */ u8 field_0x5b4; /* 0x5B5 */ u8 field_0x5B5[0x5B7 - 0x5B5]; @@ -83,6 +91,14 @@ public: /* 0xFD4 */ u8 field_0xfd4; /* 0xFD5 */ u8 field_0xFD5[0xFD8 - 0xFD5]; /* 0xFD8 */ u32 field_0xfd8; + /* 0xFDC */ u8 field_0xfdc[0xFF0 - 0xFDC]; }; +STATIC_ASSERT(sizeof(e_sm2_class) == 0xff0); + +class daE_SM2_HIO_c { + /* 80798B4C */ daE_SM2_HIO_c(); + /* 8079CE94 */ ~daE_SM2_HIO_c(); +}; + #endif /* D_A_E_SM2_H */ diff --git a/include/rel/d/a/e/d_a_e_st/d_a_e_st.h b/include/rel/d/a/e/d_a_e_st/d_a_e_st.h index d72336db5e..7018863350 100644 --- a/include/rel/d/a/e/d_a_e_st/d_a_e_st.h +++ b/include/rel/d/a/e/d_a_e_st/d_a_e_st.h @@ -1,4 +1,30 @@ #ifndef D_A_E_ST_H #define D_A_E_ST_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_st_class + * @brief Skulltula + * + * @details + * + */ +class e_st_class : public fopEn_enemy_c { + /* 807A5CF4 */ e_st_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1068 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_st_class) == 0x1068); + +class daE_ST_HIO_c { + /* 8079DDEC */ daE_ST_HIO_c(); + /* 807A61FC */ ~daE_ST_HIO_c(); +}; + +struct st_foot { + /* 807A5F5C */ ~st_foot(); + /* 807A5F98 */ st_foot(); +}; #endif /* D_A_E_ST_H */ diff --git a/include/rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h b/include/rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h index 01c811d26e..2ea1285c85 100644 --- a/include/rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h +++ b/include/rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h @@ -4,10 +4,13 @@ #include "f_op/f_op_actor_mng.h" /** -* @ingroup actors-enemies -* @brief Skulltula -* -*/ + * @ingroup actors-enemies + * @class e_st_line_class + * @brief Skulltula Web Line + * + * @details + * + */ class e_st_line_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h b/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h index a971fc398f..8b5f27b3ec 100644 --- a/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h +++ b/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h @@ -2,5 +2,82 @@ #define D_A_E_SW_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_SW_c + * @brief Moldorm + * + * @details + * + */ +class daE_SW_c : public fopEn_enemy_c { + /* 807A7460 */ void bckSet(int, f32, u8, f32); + /* 807A7504 */ void draw(); + /* 807A76E4 */ void setBeforeJumpEffect(); + /* 807A77CC */ void setJumpEffect(); + /* 807A78B4 */ void setSmokeEffect(); + /* 807A7A08 */ void setDiveEffect(); + /* 807A7AC0 */ void setHideEffect(); + /* 807A7B64 */ void setActionMode(s16, s16); + /* 807A7C50 */ void search_bomb(); + /* 807A7CD0 */ void bomb_check(); + /* 807A7D48 */ void setModeBack(); + /* 807A7DAC */ void checkFall(); + /* 807A7EFC */ void checkBeforeWall(); + /* 807A7F88 */ void executeWait(); + /* 807A8290 */ void checkRunChase(); + /* 807A831C */ void executeChaseSlow(); + /* 807A8B98 */ void executeChaseFast(); + /* 807A9580 */ void executeBomb(); + /* 807A9768 */ void executeAttack(); + /* 807A9E58 */ void executeHook(); + /* 807AA050 */ void executeMoveOut(); + /* 807AA44C */ void executeChance(); + /* 807AA784 */ void executeDive(); + /* 807AA91C */ void executeDamage(); + /* 807AAB7C */ void executeDie(); + /* 807AADCC */ void executeMaster(); + /* 807AAF70 */ void checkSuddenAttack(int); + /* 807AB310 */ void executeSuddenAttack(); + /* 807AB5C4 */ void executeFall(); + /* 807AB6C4 */ void action(); + /* 807AB884 */ void mtx_set(); + /* 807AB930 */ void cc_set(); + /* 807ABAB0 */ void damage_check(); + /* 807ABD28 */ void checkGroundSand(); + /* 807ABE50 */ void execute(); + /* 807AC170 */ void _delete(); + /* 807AC204 */ void CreateHeap(); + /* 807AC31C */ void create(); + /* 807ACA40 */ void d_setAction(void (daE_SW_c::*)()); + /* 807ACAE4 */ void d_checkFall(); + /* 807ACCB0 */ void d_damage_check(); + /* 807ACFF8 */ void d_action(); + /* 807AD10C */ void d_bomb_check(); + /* 807AD17C */ void d_bm_chase(); + /* 807AD4A8 */ void d_wait(); + /* 807AD7C0 */ void d_chaseCheck(); + /* 807ADA08 */ void d_chase(); + /* 807ADE50 */ void d_attk(); + /* 807AE4B4 */ void d_chance(); + /* 807AE7F4 */ void d_chance2(); + /* 807AE968 */ void d_dive(); + /* 807AEB08 */ void d_damage(); + /* 807AEE44 */ void d_die(); + /* 807AF01C */ void d_hook(); + /* 807AF4B4 */ void d_fall(); + /* 807AF57C */ void d_execute(); +private: + /* 0x5ac */ u8 field_0x5ac[0xb18 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_SW_c) == 0xb18); + +class daE_SW_HIO_c { + /* 807A740C */ daE_SW_HIO_c(); + /* 807AF870 */ ~daE_SW_HIO_c(); +}; + #endif /* D_A_E_SW_H */ diff --git a/include/rel/d/a/e/d_a_e_th/d_a_e_th.h b/include/rel/d/a/e/d_a_e_th/d_a_e_th.h index 1458c646d4..ea3bd1fd17 100644 --- a/include/rel/d/a/e/d_a_e_th/d_a_e_th.h +++ b/include/rel/d/a/e/d_a_e_th/d_a_e_th.h @@ -1,4 +1,29 @@ #ifndef D_A_E_TH_H #define D_A_E_TH_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_th_class + * @brief Darkhammer + * + * @details + * + */ +class e_th_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x123c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_th_class) == 0x123c); + +class daE_TH_HIO_c { + /* 807B038C */ daE_TH_HIO_c(); + /* 807B3FA4 */ ~daE_TH_HIO_c(); +}; + +struct th_ke_s { + /* 807B3B58 */ ~th_ke_s(); + /* 807B3BD4 */ th_ke_s(); +}; #endif /* D_A_E_TH_H */ diff --git a/include/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h b/include/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h index 157db473d0..ef2583b32a 100644 --- a/include/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h +++ b/include/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h @@ -1,4 +1,21 @@ #ifndef D_A_E_TH_BALL_H #define D_A_E_TH_BALL_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_th_ball_class + * @brief Darkhammer Ball and Chain + * + * @details + * + */ +class e_th_ball_class : public fopEn_enemy_c { + /* 807B7AA8 */ e_th_ball_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1a90 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_th_ball_class) == 0x1a90); + #endif /* D_A_E_TH_BALL_H */ diff --git a/include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h b/include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h index 7bc5edd910..ac19ed7d6b 100644 --- a/include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h +++ b/include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h @@ -1,4 +1,25 @@ #ifndef D_A_E_TK_H #define D_A_E_TK_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_tk_class + * @brief Water Toadpoli + * + * @details + * + */ +class e_tk_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa64 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_tk_class) == 0xa64); + +class daE_TK_HIO_c { + /* 807B81EC */ daE_TK_HIO_c(); + /* 807BA1C4 */ ~daE_TK_HIO_c(); +}; + #endif /* D_A_E_TK_H */ diff --git a/include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h b/include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h index a10b619333..adf0fe8f62 100644 --- a/include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h +++ b/include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h @@ -1,4 +1,25 @@ #ifndef D_A_E_TK2_H #define D_A_E_TK2_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_tk2_class + * @brief Fire Toadpoli + * + * @details + * + */ +class e_tk2_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa50 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_tk2_class) == 0xa50); + +class daE_TK2_HIO_c { + /* 807BA56C */ daE_TK2_HIO_c(); + /* 807BBD00 */ ~daE_TK2_HIO_c(); +}; + #endif /* D_A_E_TK2_H */ diff --git a/include/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h b/include/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h index c00285c551..cdf55ae7a8 100644 --- a/include/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h +++ b/include/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h @@ -1,4 +1,20 @@ #ifndef D_A_E_TK_BALL_H #define D_A_E_TK_BALL_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_tk_ball_class + * @brief Fire/Water Toadpoli Ball + * + * @details + * + */ +class e_tk_ball_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x8cc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_tk_ball_class) == 0x8cc); + #endif /* D_A_E_TK_BALL_H */ diff --git a/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h b/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h index 4e9785a9e2..248442315f 100644 --- a/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h +++ b/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h @@ -2,5 +2,56 @@ #define D_A_E_TT_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_TT_c + * @brief Tektite + * + * @details + * + */ +class daE_TT_c : public fopEn_enemy_c { + /* 807BD7EC */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 807BD8E0 */ void JointCallBack(J3DJoint*, int); + /* 807BD92C */ void draw(); + /* 807BDAE0 */ void setBck(int, u8, f32, f32); + /* 807BDB84 */ void calcHitGroundSpeed(); + /* 807BDBE4 */ void setActionMode(int, int); + /* 807BDC10 */ void getCutType(); + /* 807BDC50 */ void damage_check(); + /* 807BDE5C */ void checkWaterSurface(); + /* 807BDF60 */ void checkFootGround(); + /* 807BE2A8 */ void setBodyLandEffect(); + /* 807BE438 */ void setWaterEffect(); + /* 807BE708 */ void setDeathEyeEffect(); + /* 807BE99C */ void setDeathFootEffect(); + /* 807BEBAC */ void checkPlayerSearch(); + /* 807BED70 */ void executeWait(); + /* 807BF358 */ void executeChase(); + /* 807BF914 */ void executeAttack(); + /* 807BFD38 */ void setDamageInit(); + /* 807BFD60 */ void executeDamage(); + /* 807BFFF4 */ void executeDeath(); + /* 807C033C */ void executeOutRange(); + /* 807C0530 */ void executeFirstAttack(); + /* 807C0C28 */ void action(); + /* 807C0E10 */ void mtx_set(int); + /* 807C0EE8 */ void cc_set(); + /* 807C1024 */ void execute(); + /* 807C1164 */ void _delete(); + /* 807C121C */ void CreateHeap(); + /* 807C13B4 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xad0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_TT_c) == 0xad0); + +class daE_TT_HIO_c { + /* 807BD7AC */ daE_TT_HIO_c(); + /* 807C1AA8 */ ~daE_TT_HIO_c(); +}; + #endif /* D_A_E_TT_H */ diff --git a/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h b/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h index 3955f5756f..6adfd6ed30 100644 --- a/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h +++ b/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h @@ -2,5 +2,88 @@ #define D_A_E_VT_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_VA_c + * @brief ??? + * + * @details + * + */ +class daE_VA_c : public fopEn_enemy_c { + /* 807C267C */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 807C284C */ void JointCallBack(J3DJoint*, int); + /* 807C2898 */ void calcJointNeck(); + /* 807C2A4C */ void calcJointSleeve(); + /* 807C3264 */ void draw(); + /* 807C3818 */ void setBck(int, u8, f32, f32); + /* 807C38BC */ void checkBck(int); + /* 807C3918 */ void setActionMode(int, int); + /* 807C39C4 */ void getWolfCutType(); + /* 807C3A1C */ void onSwordAtBit(); + /* 807C3A50 */ void offSwordShield(); + /* 807C3AB0 */ void setTransDamage(cXyz*); + /* 807C3B58 */ void damage_check(); + /* 807C4844 */ void setFireEffect(int); + /* 807C49B4 */ void setFootEffect(); + /* 807C4B54 */ void setWeponEffect(); + /* 807C4DFC */ void setBugsEffect(); + /* 807C4F10 */ void setWeponLandEffect(); + /* 807C4FCC */ void setWeponGlow(); + /* 807C50A4 */ void setWeponFlashScreen(); + /* 807C5188 */ void setMagicEffect(int); + /* 807C5258 */ void setMagicHitEffect(int); + /* 807C5338 */ void demo_skip(int); + /* 807C53A8 */ void DemoSkipCallBack(void*, int); + /* 807C53DC */ void getRopeLength(int); + /* 807C53FC */ void calcOpRopePos(); + /* 807C5CF0 */ void onRopeCutStatus(int, int, int); + /* 807C5DF4 */ void setVibRope(f32, f32); + /* 807C5EAC */ void setVibTag(int, int); + /* 807C6164 */ void calcTagAngle(); + /* 807C638C */ void calcRopeFirePos(); + /* 807C6564 */ void executeDemoOpWait(); + /* 807C67A4 */ void executeDemoOp(); + /* 807C7534 */ void executeClearWait(); + /* 807C7640 */ void executeClearChase(); + /* 807C783C */ void executeClearAttack(); + /* 807C7A8C */ void executeTransWait(); + /* 807C7C74 */ void executeTransChase(); + /* 807C7ED4 */ void executeTransAttack(); + /* 807C839C */ void executeTransBiteDamage(); + /* 807C8860 */ void executeTransDamage(); + /* 807C8A84 */ void executeTransThrough(); + /* 807C8B78 */ void executeOpaciWait(); + /* 807C915C */ void executeOpaciFly(); + /* 807C9A40 */ void executeOpaciDamage(); + /* 807C9C8C */ void executeOpaciChase(); + /* 807CA364 */ void executeOpaciAttack(); + /* 807CA73C */ void executeOpaciDown(); + /* 807CAA80 */ void executeOpaciDownDamage(); + /* 807CACE0 */ void executeOpaciFlip(); + /* 807CADB8 */ void executeOpaciFadeAway(); + /* 807CB1C4 */ void executeOpaciDeath(); + /* 807CB8CC */ void calcMagicMove(); + /* 807CBC00 */ void setAlphaType(); + /* 807CC004 */ void action(); + /* 807CC4D0 */ void mtx_set(); + /* 807CC864 */ void cc_set(); + /* 807CCD24 */ void execute(); + /* 807CCF64 */ void _delete(); + /* 807CD048 */ void CreateHeap(); + /* 807CD668 */ void create(); + /* 807CDAD8 */ daE_VA_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0x10ffc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_VA_c) == 0x10ffc); + +class daE_VA_HIO_c { + /* 807C25EC */ daE_VA_HIO_c(); + /* 807CE2AC */ ~daE_VA_HIO_c(); +}; + #endif /* D_A_E_VT_H */ diff --git a/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h b/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h index 663729b76e..fc18daa936 100644 --- a/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h +++ b/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h @@ -2,5 +2,21 @@ #define D_A_E_WARPAPPEAR_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_warpappear_class + * @brief Shadow Beast Warp Appear + * + * @details + * + */ +class e_warpappear_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x650 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_warpappear_class) == 0x650); + #endif /* D_A_E_WARPAPPEAR_H */ diff --git a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h index ff2a36b853..3db2295c76 100644 --- a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h +++ b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h @@ -1,6 +1,7 @@ #ifndef D_A_E_WB_H #define D_A_E_WB_H +#include "f_op/f_op_actor_mng.h" #include "rel/d/a/d_a_horse/d_a_horse.h" #include "SSystem/SComponent/c_phase.h" #include "d/cc/d_cc_uty.h" @@ -13,10 +14,13 @@ enum daE_wb_ACT { }; /** -* @ingroup actors-enemies -* @brief Wild Boar -* -*/ + * @ingroup actors-enemies + * @class e_wb_class + * @brief Bullbo + * + * @details + * + */ class e_wb_class : public fopEn_enemy_c { public: BOOL checkWait(); @@ -170,5 +174,17 @@ private: /* 0x17E4 */ u8 field_0x17e4[0x17e8 - 0x17e4]; /* 0x17E8 */ f32 mSpeedRate; }; +STATIC_ASSERT(sizeof(e_wb_class) == 0x17EC); + +struct himo_s { + /* 807E1CCC */ ~himo_s(); + /* 807E1D2C */ himo_s(); +}; + +class daE_WB_HIO_c { + /* 807D248C */ daE_WB_HIO_c(); + /* 807E20DC */ ~daE_WB_HIO_c(); +}; + #endif /* D_A_E_WB_H */
\ No newline at end of file diff --git a/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h b/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h index a9ab8232ee..6e913ca1cf 100644 --- a/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h +++ b/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h @@ -2,5 +2,50 @@ #define D_A_E_WS_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_WS_c + * @brief Wall Skulltula + * + * @details + * + */ +class daE_WS_c : public fopEn_enemy_c { + /* 807E3A6C */ void draw(); + /* 807E3C20 */ void setBck(int, u8, f32, f32); + /* 807E3CC4 */ void setFootSound(); + /* 807E3F90 */ void setActionMode(int); + /* 807E3FAC */ void calcTargetDist(cXyz, cXyz); + /* 807E40C8 */ void calcTargetAngle(cXyz, cXyz); + /* 807E416C */ void checkInSearchRange(cXyz, cXyz); + /* 807E4224 */ void checkPlayerPos(); + /* 807E4568 */ void checkAttackEnd(); + /* 807E470C */ void executeWait(); + /* 807E4AB8 */ void executeAttack(); + /* 807E4E68 */ void executeDown(); + /* 807E5294 */ void executeWindDown(); + /* 807E56D0 */ void damage_check(); + /* 807E58AC */ void action(); + /* 807E5A3C */ void mtx_set(); + /* 807E5AAC */ void cc_set(); + /* 807E5C0C */ void execute(); + /* 807E5CD8 */ void checkInitialWall(); + /* 807E5FB8 */ void checkBeforeBg(s16); + /* 807E63F8 */ void checkWall(); + /* 807E66B4 */ void _delete(); + /* 807E6748 */ void CreateHeap(); + /* 807E6860 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xb80 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_WS_c) == 0xb80); + +class daE_WS_HIO_c { + /* 807E3A0C */ daE_WS_HIO_c(); + /* 807E6E44 */ ~daE_WS_HIO_c(); +}; + #endif /* D_A_E_WS_H */ diff --git a/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h b/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h index 68ee37b99c..2cc915150b 100644 --- a/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h +++ b/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h @@ -2,5 +2,63 @@ #define D_A_E_WW_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_WW_c + * @brief White Wolfos + * + * @details + * + */ +class daE_WW_c : public fopEn_enemy_c { + /* 807E7748 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 807E7800 */ void JointCallBack(J3DJoint*, int); + /* 807E784C */ void setHeadAngle(); + /* 807E79D4 */ void draw(); + /* 807E7ADC */ void setBck(int, u8, f32, f32); + /* 807E7B80 */ void checkBck(int); + /* 807E7BDC */ void setActionMode(int, int); + /* 807E7C20 */ void damage_check(); + /* 807E7E74 */ void setRandamNumber(); + /* 807E7FCC */ void getNearPlayerAngle(); + /* 807E804C */ void setGroundAngle(); + /* 807E830C */ void checkCreateBg(cXyz); + /* 807E8560 */ void checkAttackWall(); + /* 807E8624 */ void setBlurEffect(); + /* 807E8700 */ void setAppearEffect(); + /* 807E8C54 */ void checkSideStep(); + /* 807E8EEC */ void createWolf(cXyz, u8); + /* 807E905C */ void executeMaster(); + /* 807E972C */ void executeWait(); + /* 807E99B8 */ void calcJumpSpeed(); + /* 807E9C1C */ void executeAttack(); + /* 807EA474 */ void checkAttackStart(); + /* 807EA870 */ void executeChase(); + /* 807EB650 */ void executeDamage(); + /* 807EB964 */ void checkMoveOut(); + /* 807EBAE0 */ void executeMoveOut(); + /* 807EC940 */ void checkWalkStart(); + /* 807ECE58 */ void executeWalk(); + /* 807ED674 */ void eWW_posMoveF(); + /* 807ED78C */ void action(); + /* 807EDA78 */ void mtx_set(); + /* 807EDB00 */ void cc_set(); + /* 807EDCC4 */ void execute(); + /* 807EDE8C */ void calcMoveDir(s16*, s16); + /* 807EE440 */ void _delete(); + /* 807EE4D4 */ void CreateHeap(); + /* 807EE63C */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xec8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_WW_c) == 0xec8); + +class daE_WW_HIO_c { + /* 807E76EC */ daE_WW_HIO_c(); + /* 807EEEBC */ ~daE_WW_HIO_c(); +}; + #endif /* D_A_E_WW_H */ diff --git a/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h b/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h index ed3d8ed2a7..64f315d54c 100644 --- a/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h +++ b/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h @@ -9,10 +9,13 @@ #include "f_op/f_op_actor.h" /** -* @ingroup actors-enemies -* @brief Twilit Kargorok -* -*/ + * @ingroup actors-enemies + * @class e_yc_class + * @brief Twilight Kargorok + * + * @details + * + */ class e_yc_class : public fopEn_enemy_c { public: MtxP getLegR3Mtx() { return mpMorf->getModel()->getAnmMtx(28); } diff --git a/include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h b/include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h index 09aea77331..0647966507 100644 --- a/include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h +++ b/include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h @@ -1,4 +1,25 @@ #ifndef D_A_E_YD_H #define D_A_E_YD_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_yd_class + * @brief Twilight Deku Baba + * + * @details + * + */ +class e_yd_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x126c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_yd_class) == 0x126c); + +class daE_YD_HIO_c { + /* 807F2C2C */ daE_YD_HIO_c(); + /* 807F74CC */ ~daE_YD_HIO_c(); +}; + #endif /* D_A_E_YD_H */ diff --git a/include/rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h b/include/rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h index 609aee725d..395bcfb531 100644 --- a/include/rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h +++ b/include/rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h @@ -4,10 +4,13 @@ #include "f_op/f_op_actor_mng.h" /** -* @ingroup actors-enemies -* @brief Shadow Deku Baba Leaf -* -*/ + * @ingroup actors-enemies + * @class e_yd_leaf_class + * @brief Twilight Deku Baba - Leaf + * + * @details + * + */ class e_yd_leaf_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h b/include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h index e66586e09c..336fc08a7d 100644 --- a/include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h +++ b/include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h @@ -1,4 +1,30 @@ #ifndef D_A_E_YG_H #define D_A_E_YG_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_yg_class + * @brief Twilight Vermin + * + * @details + * + */ +class e_yg_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x18a0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_yg_class) == 0x18a0); + +class daE_YG_HIO_c { + /* 807F834C */ daE_YG_HIO_c(); + /* 807FC168 */ ~daE_YG_HIO_c(); +}; + +struct yg_ke_s { + /* 807FBE70 */ ~yg_ke_s(); + /* 807FBEEC */ yg_ke_s(); +}; + #endif /* D_A_E_YG_H */ diff --git a/include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h b/include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h index dcd66535fb..b166f0913e 100644 --- a/include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h +++ b/include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h @@ -1,4 +1,25 @@ #ifndef D_A_E_YH_H #define D_A_E_YH_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_yh_class + * @brief Twilight Hebi Baba + * + * @details + * + */ +class e_yh_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x1274 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_yh_class) == 0x1274); + +class daE_YH_HIO_c { + /* 807FD4CC */ daE_YH_HIO_c(); + /* 80803D48 */ ~daE_YH_HIO_c(); +}; + #endif /* D_A_E_YH_H */ diff --git a/include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h b/include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h index f55b2e9247..5d1fc9875f 100644 --- a/include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h +++ b/include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h @@ -69,7 +69,10 @@ public: /** * @ingroup actors-enemies - * @brief Shadow Keese + * @class e_yk_class + * @brief Twilight Keese + * + * @details * */ class e_yk_class : public fopEn_enemy_c { diff --git a/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h b/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h index 19deafedfb..d68acedbe6 100644 --- a/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h +++ b/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h @@ -3,7 +3,7 @@ #include "SSystem/SComponent/c_phase.h" #include "Z2AudioLib/Z2Creature.h" -#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" #include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" #include "d/cc/d_cc_uty.h" @@ -26,10 +26,13 @@ public: }; /** -* @ingroup actors-enemies -* @brief Shadow Insect -* -*/ + * @ingroup actors-enemies + * @class daE_YM_c + * @brief Twilight Insect + * + * @details + * + */ class daE_YM_c : public fopEn_enemy_c { public: enum daE_YM_Action { @@ -128,7 +131,8 @@ public: void setFriendFlag(u8 i_flag) { mFriendFlag |= i_flag; } u8 getFriendFlag() { return mFriendFlag; } - + +private: /* 0x5AC */ request_of_phase_process_class mPhase; /* 0x5B4 */ mDoExt_McaMorfSO* field_0x5b4; /* 0x5B8 */ mDoExt_brkAnm* field_0x5b8; @@ -216,5 +220,11 @@ public: /* 0xAE8 */ u32 field_0xae8[3]; /* 0xAF4 */ u8 field_0xaf4; }; +STATIC_ASSERT(sizeof(daE_YM_c) == 0xAF8); + +struct E_YM_n { + static dCcD_SrcSph cc_sph_src; +}; + #endif /* D_A_E_YM_H */ diff --git a/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h b/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h index 8c5be52c50..d5662fae74 100644 --- a/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h +++ b/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h @@ -4,10 +4,13 @@ #include "rel/d/a/e/d_a_e_ym/d_a_e_ym.h" /** -* @ingroup actors-tags -* @brief Shadow Insect Tag -* -*/ + * @ingroup actors-enemies + * @class daE_YM_TAG_c + * @brief Twilight Insect Tag + * + * @details + * + */ class daE_YM_TAG_c : public fopAc_ac_c { public: /* 80815E8C */ int execute(); diff --git a/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h b/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h index 3929896210..0031807651 100644 --- a/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h +++ b/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h @@ -4,6 +4,14 @@ #include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-enemies + * @class daE_YMB_c + * @brief Twilight Insect Boss + * + * @details + * + */ class daE_YMB_c : public fopEn_enemy_c { public: /* 8081615C */ void ctrlJoint(J3DJoint*, J3DModel*); @@ -70,7 +78,11 @@ public: /* 80820DD0 */ void create(); int getMaxLockAttack() { return 6; } + +private: + /* 0x5AC */ u8 field_0x5ac[0x1524 - 0x5ac]; }; +STATIC_ASSERT(sizeof(daE_YMB_c) == 0x1524); struct daE_YMB_HIO_c { /* 8081610C */ daE_YMB_HIO_c(); diff --git a/include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h b/include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h index 0423464449..15138c2fae 100644 --- a/include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h +++ b/include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h @@ -1,4 +1,25 @@ #ifndef D_A_E_YR_H #define D_A_E_YR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_yr_class + * @brief Twilight Kargorok Rider? + * + * @details + * + */ +class e_yr_class : public fopEn_enemy_c { + /* 80827D64 */ e_yr_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xf20 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_yr_class) == 0xf20); + +class e_yrHIO_c { + /* 808282CC */ ~e_yrHIO_c(); +}; + #endif /* D_A_E_YR_H */ diff --git a/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h b/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h index 02bc18317b..3845844fbb 100644 --- a/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h +++ b/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h @@ -2,5 +2,62 @@ #define D_A_E_ZH_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_ZH_c + * @brief Zant Head + * + * @details + * + */ +class daE_ZH_c : public fopEn_enemy_c { + /* 8082907C */ void draw(); + /* 808293A8 */ void setBck(int, u8, f32, f32); + /* 80829454 */ void setActionMode(int, int); + /* 80829570 */ void startDemoCheck(); + /* 80829658 */ void mBallBGCheck(); + /* 808298BC */ void mGateOpen(); + /* 808299F8 */ void mColorSet(bool, f32, f32); + /* 80829AD8 */ void mReturnLineMove(); + /* 80829E44 */ void mBallBgLineCheck(); + /* 8082A01C */ void mSearchMove(u8); + /* 8082A390 */ void mStartParticleSet(); + /* 8082A4C8 */ void mCutTypeCheck(); + /* 8082A534 */ void damage_check(); + /* 8082A88C */ void executeStartDemo(); + /* 8082ABDC */ void executeWait(); + /* 8082ACA8 */ void executeBallWait(); + /* 8082B284 */ void executeOpenStart(); + /* 8082B820 */ void executeSearchMove(); + /* 8082BA18 */ void executeBgHitSHMove(); + /* 8082BE20 */ void executeCatchMove(); + /* 8082C670 */ void executeCatchFlyMove(); + /* 8082CD34 */ void executeReturnDemo(); + /* 8082D154 */ void executeFlyDelete(); + /* 8082D2F0 */ void executeDamage(); + /* 8082D97C */ void executeDeadStop(); + /* 8082D9B0 */ void executeEntryCheck(); + /* 8082DB64 */ void tagAction(); + /* 8082DB84 */ void action(); + /* 8082DE18 */ void mtx_set(); + /* 8082DF44 */ void cc_set(); + /* 8082E2FC */ void execute(); + /* 8082E3E8 */ void _delete(); + /* 8082E4E4 */ void CreateHeap(); + /* 8082E730 */ void create(); + /* 8082ECEC */ daE_ZH_c(); + +private: + /* 0x5ac */ u8 field_0x5ac[0xe08 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_ZH_c) == 0xe08); + +class daE_ZH_HIO_c { + /* 8082902C */ daE_ZH_HIO_c(); + /* 8082F160 */ ~daE_ZH_HIO_c(); +}; + #endif /* D_A_E_ZH_H */ diff --git a/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h b/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h index 35e63e3fd0..d27b70acd3 100644 --- a/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h +++ b/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h @@ -2,5 +2,46 @@ #define D_A_E_ZM_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_ZM_c + * @brief Zant Mask + * + * @details + * + */ +class daE_ZM_c : public fopEn_enemy_c { + /* 8082F9A0 */ void draw(); + /* 8082FBD4 */ void setBck(int, u8, f32, f32); + /* 8082FC80 */ void setActionMode(int, int); + /* 8082FC8C */ void damage_check(); + /* 808301E0 */ void mCutTypeCheck(); + /* 8083033C */ void executeSearchPoint(); + /* 80830398 */ void executeWait(); + /* 808309DC */ void executeMove(); + /* 80830AB8 */ void executeAttack(); + /* 80830E28 */ void executeDamage(); + /* 808310C4 */ void executeDead(); + /* 80831474 */ void executeBullet(); + /* 80831930 */ void action(); + /* 80831B08 */ void mtx_set(); + /* 80831B9C */ void cc_set(); + /* 80831D64 */ void execute(); + /* 80831E9C */ void _delete(); + /* 80831F4C */ void CreateHeap(); + /* 80832064 */ void create(); + +private: + /* 0x5ac */ u8 field_0x5ac[0xc3c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_ZM_c) == 0xc3c); + +class daE_ZM_HIO_c { + /* 8082F94C */ daE_ZM_HIO_c(); + /* 80832800 */ ~daE_ZM_HIO_c(); +}; + #endif /* D_A_E_ZM_H */ diff --git a/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h b/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h index a1a60d02a8..c8b12e19f0 100644 --- a/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h +++ b/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h @@ -2,5 +2,43 @@ #define D_A_E_ZS_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_ZS_c + * @brief Staltroop + * + * @details + * + */ +class daE_ZS_c : public fopEn_enemy_c { + /* 808330DC */ void draw(); + /* 808331E4 */ void setBck(int, u8, f32, f32); + /* 80833290 */ void setActionMode(int, int); + /* 8083329C */ void damage_check(); + /* 80833698 */ void mBossHandCheck(); + /* 80833964 */ void executeAppear(); + /* 80833D30 */ void executeWait(); + /* 80833F1C */ void executeDamage(); + /* 80834108 */ void executeDrive(); + /* 808342C8 */ void action(); + /* 80834478 */ void mtx_set(); + /* 80834518 */ void cc_set(); + /* 80834650 */ void execute(); + /* 808346E4 */ void _delete(); + /* 80834778 */ void CreateHeap(); + /* 80834884 */ void create(); + +private: + /* 0x5ac */ u8 field_0x5ac[0xa3c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_ZS_c) == 0xa3c); + +class daE_ZS_HIO_c { + /* 808330AC */ daE_ZS_HIO_c(); + /* 80834DDC */ ~daE_ZS_HIO_c(); +}; + #endif /* D_A_E_ZS_H */ diff --git a/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h b/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h index 4e98f3a3df..0cc5c0d152 100644 --- a/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h +++ b/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h @@ -1,5 +1,41 @@ #ifndef D_A_OBJ_SMALLKEY_H #define D_A_OBJ_SMALLKEY_H +#include "f_op/f_op_actor_mng.h" + +class daKey_c : public fopAc_ac_c { + /* 80CD9F2C */ void initBaseMtx(); + /* 80CD9F68 */ void setBaseMtx(); + /* 80CD9FDC */ void Create(); + /* 80CDA15C */ bool __CreateHeap(); + /* 80CDA164 */ void create(); + /* 80CDA680 */ void bg_check(); + /* 80CDA7E8 */ void actionInitInit(); + /* 80CDA81C */ void actionInit(); + /* 80CDA8C8 */ void actionParentWaitInit(); + /* 80CDA8FC */ void actionParentWait(); + /* 80CDA9AC */ void actionWaitInit(); + /* 80CDAA28 */ void actionWait(); + /* 80CDAB74 */ void initActionOrderGetDemo(); + /* 80CDAC18 */ void actionOrderGetDemo(); + /* 80CDAC94 */ void actionGetDemo(); + /* 80CDAD28 */ void actionInitSwOnWait(); + /* 80CDADD4 */ void actionSwOnWait(); + /* 80CDAE54 */ void actionInitBoomerangCarry(); + /* 80CDAF40 */ void actionBoomerangCarry(); + /* 80CDAFB4 */ void effectSet(); + /* 80CDB0D8 */ void effectStop(); + /* 80CDB128 */ void effectCtrl(); + /* 80CDB2E0 */ void seStartTwinkle_private(u32); + /* 80CDB36C */ void actionInitE_GB(); + /* 80CDB3D8 */ void actionE_GB(); + /* 80CDB404 */ void execute(); + /* 80CDB5D4 */ void draw(); + /* 80CDB628 */ void _delete(); +private: + /* 0x568 */ u8 field_0x568[0x988 - 0x568]; +}; +STATIC_ASSERT(sizeof(daKey_c) == 0x988); + #endif /* D_A_OBJ_SMALLKEY_H */ |
