summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h43
-rw-r--r--include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h11
-rw-r--r--include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h8
-rw-r--r--include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h11
-rw-r--r--include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h45
-rw-r--r--include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h21
-rw-r--r--include/rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h11
-rw-r--r--include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h21
-rw-r--r--include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h21
-rw-r--r--include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h26
-rw-r--r--include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h21
-rw-r--r--include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h16
-rw-r--r--include/rel/d/a/e/d_a_e_db/d_a_e_db.h21
-rw-r--r--include/rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h11
-rw-r--r--include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h21
-rw-r--r--include/rel/d/a/e/d_a_e_df/d_a_e_df.h49
-rw-r--r--include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h47
-rw-r--r--include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h22
-rw-r--r--include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h88
-rw-r--r--include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h43
-rw-r--r--include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h55
-rw-r--r--include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h27
-rw-r--r--include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h21
-rw-r--r--include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h26
-rw-r--r--include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h22
-rw-r--r--include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h23
-rw-r--r--include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h47
-rw-r--r--include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h54
-rw-r--r--include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h22
-rw-r--r--include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h21
-rw-r--r--include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h21
-rw-r--r--include/rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h11
-rw-r--r--include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h71
-rw-r--r--include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h45
-rw-r--r--include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h63
-rw-r--r--include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h22
-rw-r--r--include/rel/d/a/e/d_a_e_is/d_a_e_is.h22
-rw-r--r--include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h21
-rw-r--r--include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h51
-rw-r--r--include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h21
-rw-r--r--include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h21
-rw-r--r--include/rel/d/a/e/d_a_e_md/d_a_e_md.h31
-rw-r--r--include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h22
-rw-r--r--include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h22
-rw-r--r--include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h16
-rw-r--r--include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h21
-rw-r--r--include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h16
-rw-r--r--include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h21
-rw-r--r--include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h14
-rw-r--r--include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h21
-rw-r--r--include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h91
-rw-r--r--include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h20
-rw-r--r--include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h44
-rw-r--r--include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h27
-rw-r--r--include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h22
-rw-r--r--include/rel/d/a/e/d_a_e_po/d_a_e_po.h22
-rw-r--r--include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h22
-rw-r--r--include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h21
-rw-r--r--include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h22
-rw-r--r--include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h22
-rw-r--r--include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h17
-rw-r--r--include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h27
-rw-r--r--include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h63
-rw-r--r--include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h21
-rw-r--r--include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h21
-rw-r--r--include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h21
-rw-r--r--include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h61
-rw-r--r--include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h24
-rw-r--r--include/rel/d/a/e/d_a_e_st/d_a_e_st.h26
-rw-r--r--include/rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h11
-rw-r--r--include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h77
-rw-r--r--include/rel/d/a/e/d_a_e_th/d_a_e_th.h25
-rw-r--r--include/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h17
-rw-r--r--include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h21
-rw-r--r--include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h21
-rw-r--r--include/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h16
-rw-r--r--include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h51
-rw-r--r--include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h83
-rw-r--r--include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h16
-rw-r--r--include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h24
-rw-r--r--include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h45
-rw-r--r--include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h58
-rw-r--r--include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h11
-rw-r--r--include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h21
-rw-r--r--include/rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h11
-rw-r--r--include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h26
-rw-r--r--include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h21
-rw-r--r--include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h5
-rw-r--r--include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h22
-rw-r--r--include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h11
-rw-r--r--include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h12
-rw-r--r--include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h21
-rw-r--r--include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h57
-rw-r--r--include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h41
-rw-r--r--include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h36
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 */