diff options
| author | Pheenoh <pheenoh@gmail.com> | 2024-05-29 01:49:10 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-29 00:49:10 -0700 |
| commit | 2e7510db5fecda69fa5719ff664a29a6649e73ba (patch) | |
| tree | b823948bb84531abae5df312ebd21c86882c5e24 /include/rel | |
| parent | 7c7bc7fbd03f60b4f7555f62e91a289c8c6d2b15 (diff) | |
Setup d_a_obj Actors (#2161)
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* finish
* add class comments
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* checkpoint
* finish
* add class comments
* rm duplicate comments
* fix build
Diffstat (limited to 'include/rel')
372 files changed, 10174 insertions, 292 deletions
diff --git a/include/rel/d/a/b/d_a_b_yo/d_a_b_yo.h b/include/rel/d/a/b/d_a_b_yo/d_a_b_yo.h index 98ef985bfa..a41e6fe5bc 100644 --- a/include/rel/d/a/b/d_a_b_yo/d_a_b_yo.h +++ b/include/rel/d/a/b/d_a_b_yo/d_a_b_yo.h @@ -1,7 +1,6 @@ #ifndef D_A_B_YO_H #define D_A_B_YO_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" /** 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 97e555f175..c8f24eb040 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_BG_H #define D_A_E_BG_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 f5d967017d..6f273f4582 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_BUG_H #define D_A_E_BUG_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 0983f050f4..a5a42876b1 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_DK_H #define D_A_E_DK_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 e9373ed0eb..799df46364 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_DT_H #define D_A_E_DT_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 13fc12399b..e7a0e7ad9a 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_FB_H #define D_A_E_FB_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 9f39409689..9d2da2d9e9 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_GA_H #define D_A_E_GA_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" struct ga_s { 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 ba7404e7e9..5321654d0d 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_GI_H #define D_A_E_GI_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 1549393661..edd1a7fc9d 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_GM_H #define D_A_E_GM_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 2f989de18b..f6a9e82d37 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_GS_H #define D_A_E_GS_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" /** 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 9951a4be0c..7b347033d5 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_HM_H #define D_A_E_HM_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 11822d79b7..36cf6be312 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_HP_H #define D_A_E_HP_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 2256c612e3..ca9200c53d 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_KK_H #define D_A_E_KK_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 95f6af5e21..f791eab64f 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_OC_H #define D_A_E_OC_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" /** 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 01bd05293c..8d2cfb3348 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_OT_H #define D_A_E_OT_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 db7472e806..6cadb83672 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_PZ_H #define D_A_E_PZ_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" /** 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 8b5f27b3ec..d2f67ecdc7 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_SW_H #define D_A_E_SW_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 248442315f..0dca36acc2 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_TT_H #define D_A_E_TT_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 e94b2cb476..9c42889a8f 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 @@ -146,6 +146,7 @@ public: /* 807CD668 */ int create(); /* 807CDAD8 */ daE_VA_c(); +private: /* 0x005AC */ request_of_phase_process_class mPhase; /* 0x005B4 */ mDoExt_McaMorfSO* mpMorf; /* 0x005B8 */ mDoExt_McaMorfSO* mpEndEfMorf; @@ -286,6 +287,7 @@ public: /* 807C25EC */ daE_VA_HIO_c(); /* 807CE2AC */ virtual ~daE_VA_HIO_c(); +private: /* 0x04 */ s8 field_0x04; /* 0x08 */ f32 mModelSize; /* 0x0C */ f32 mAttackRange; 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 fc18daa936..b0499bde6b 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_WARPAPPEAR_H #define D_A_E_WARPAPPEAR_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" /** 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 6e913ca1cf..6838ec6647 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_WS_H #define D_A_E_WS_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 2cc915150b..4919634037 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_WW_H #define D_A_E_WW_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" /** 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 0031807651..6c640281ba 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_YMB_H #define D_A_E_YMB_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 3845844fbb..1f10a67134 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_ZH_H #define D_A_E_ZH_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 d27b70acd3..42932f59e6 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_ZM_H #define D_A_E_ZM_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.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 c8b12e19f0..99c7be1585 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 @@ -1,7 +1,6 @@ #ifndef D_A_E_ZS_H #define D_A_E_ZS_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" /** diff --git a/include/rel/d/a/obj/d_a_obj_Lv5Key/d_a_obj_Lv5Key.h b/include/rel/d/a/obj/d_a_obj_Lv5Key/d_a_obj_Lv5Key.h index 4c5c2f6621..7fd0dd06f1 100644 --- a/include/rel/d/a/obj/d_a_obj_Lv5Key/d_a_obj_Lv5Key.h +++ b/include/rel/d/a/obj/d_a_obj_Lv5Key/d_a_obj_Lv5Key.h @@ -1,10 +1,21 @@ #ifndef D_A_OBJ_LV5KEY_H #define D_A_OBJ_LV5KEY_H -#include "dolphin/types.h" -#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" -struct daObjLv5Key_c : public fopAc_ac_c { + + + +/** + * @ingroup actors-objects + * @class daObjLv5Key_c + * @brief Snowpeak Ruins Key + * + * @details + * + */ +class daObjLv5Key_c : public fopAc_ac_c { +public: /* 80B9B9B8 */ void CreateHeap(); /* 80B9BA94 */ void Init(); /* 80B9BB5C */ void setBgc(); @@ -29,8 +40,12 @@ struct daObjLv5Key_c : public fopAc_ac_c { void keylock_shake_start() { setStatus(1); } bool is_open() { return mStatus == 3; } +private: /* 0x568 */ u8 field_0x568[0x945 - 0x568]; /* 0x945 */ s8 mStatus; + /* 0x946 */ u8 field_0x946[0x97c - 0x946]; }; +STATIC_ASSERT(sizeof(daObjLv5Key_c) == 0x97c); + #endif /* D_A_OBJ_LV5KEY_H */ diff --git a/include/rel/d/a/obj/d_a_obj_Turara/d_a_obj_Turara.h b/include/rel/d/a/obj/d_a_obj_Turara/d_a_obj_Turara.h index e9a108206b..5488d15572 100644 --- a/include/rel/d/a/obj/d_a_obj_Turara/d_a_obj_Turara.h +++ b/include/rel/d/a/obj/d_a_obj_Turara/d_a_obj_Turara.h @@ -1,6 +1,52 @@ #ifndef D_A_OBJ_TURARA_H #define D_A_OBJ_TURARA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTurara_c + * @brief Icicle + * + * @details + * + */ +class daTurara_c : public fopAc_ac_c { +public: + /* 80B9CC9C */ void setBaseMtx(); + /* 80B9CD74 */ void CreateHeap(); + /* 80B9CED8 */ void create(); + /* 80B9D468 */ void setFallStat(); + /* 80B9D4CC */ void Execute(f32 (**)[3][4]); + /* 80B9D548 */ void move(); + /* 80B9D72C */ void init_modeWait(); + /* 80B9D738 */ void modeWait(); + /* 80B9D998 */ void eventStart(); + /* 80B9D9BC */ void init_modeDropInit(); + /* 80B9DA00 */ void modeDropInit(); + /* 80B9DA44 */ void init_modeDrop(); + /* 80B9DB44 */ void modeDrop(); + /* 80B9DB90 */ void bgCheck(); + /* 80B9DBD0 */ void init_modeDropEnd(); + /* 80B9DE48 */ void modeDropEnd(); + /* 80B9E078 */ void init_modeDropEnd2(); + /* 80B9E338 */ void modeDropEnd2(); + /* 80B9E388 */ void Draw(); + /* 80B9E478 */ void Delete(); + /* 80B9E710 */ ~daTurara_c(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x998 - 0x568]; +}; +STATIC_ASSERT(sizeof(daTurara_c) == 0x998); + +class daTurara_HIO_c { +public: + /* 80B9CB8C */ daTurara_HIO_c(); + /* 80B9E5B4 */ ~daTurara_HIO_c(); +}; #endif /* D_A_OBJ_TURARA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_TvCdlst/d_a_obj_TvCdlst.h b/include/rel/d/a/obj/d_a_obj_TvCdlst/d_a_obj_TvCdlst.h index e9a4f0ad36..d087b4bb62 100644 --- a/include/rel/d/a/obj/d_a_obj_TvCdlst/d_a_obj_TvCdlst.h +++ b/include/rel/d/a/obj/d_a_obj_TvCdlst/d_a_obj_TvCdlst.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_TVCDLST_H #define D_A_OBJ_TVCDLST_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTvCdlst_c + * @brief Ordon Torch Stand + * + * @details + * + */ +class daTvCdlst_c : public fopAc_ac_c { +public: + /* 80B9ED40 */ void setBaseMtx(); + /* 80B9EDC8 */ void CreateHeap(); + /* 80B9EE34 */ void create(); + /* 80B9F144 */ void createHeapCallBack(fopAc_ac_c*); + /* 80B9F164 */ void lightInit(); + /* 80B9F1F0 */ void setLight(); + /* 80B9F220 */ void cutLight(); + /* 80B9F250 */ void pointLightProc(); + /* 80B9F300 */ void Execute(); + /* 80B9F634 */ void Draw(); + /* 80B9F6D8 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x754 - 0x568]; +}; +STATIC_ASSERT(sizeof(daTvCdlst_c) == 0x754); + +class daTvCdlst_HIO_c { +public: + /* 80B9ECCC */ daTvCdlst_HIO_c(); + /* 80B9F7B0 */ ~daTvCdlst_HIO_c(); +}; + #endif /* D_A_OBJ_TVCDLST_H */ diff --git a/include/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h b/include/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h index 8545ca6653..61fca42588 100644 --- a/include/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h +++ b/include/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h @@ -1,5 +1,40 @@ #ifndef D_A_OBJ_Y_TAIHOU_H #define D_A_OBJ_Y_TAIHOU_H +#include "f_op/f_op_actor_mng.h" +#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h" + +/** + * @ingroup actors-objects + * @class daObjYtaihou_c + * @brief Snowpeak Ruins Cannon + * + * @details + * + */ +class daObjYtaihou_c : public fopAc_ac_c { +public: + /* 80B9FDE8 */ void create1st(); + /* 80B9FEB0 */ void setIronBall(daObjCarry_c*); + /* 80B9FF08 */ void getEvent(u8); + /* 80B9FF1C */ void loadAngle(); + /* 80B9FFAC */ void saveAngle(); + /* 80BA0060 */ void setNextAngle(); + /* 80BA0084 */ void setMtx(); + /* 80BA0208 */ void rotateCheck(); + /* 80BA045C */ void shotCheck(); + /* 80BA0964 */ void eventStart(); + /* 80BA0974 */ void CreateHeap(); + /* 80BA09E4 */ void Create(); + /* 80BA0A94 */ void Execute(f32 (**)[3][4]); + /* 80BA0B4C */ void Draw(); + /* 80BA0C1C */ void Delete(); + /* 80BA0FA4 */ ~daObjYtaihou_c(); + +private: + /* 0x568 */ u8 field_0x568[0x778 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjYtaihou_c) == 0x778); + #endif /* D_A_OBJ_Y_TAIHOU_H */ diff --git a/include/rel/d/a/obj/d_a_obj_amiShutter/d_a_obj_amiShutter.h b/include/rel/d/a/obj/d_a_obj_amiShutter/d_a_obj_amiShutter.h index c75f54882c..285911d630 100644 --- a/include/rel/d/a/obj/d_a_obj_amiShutter/d_a_obj_amiShutter.h +++ b/include/rel/d/a/obj/d_a_obj_amiShutter/d_a_obj_amiShutter.h @@ -1,6 +1,48 @@ #ifndef D_A_OBJ_AMISHUTTER_H #define D_A_OBJ_AMISHUTTER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daAmiShutter_c + * @brief Drain Gate + * + * @details + * + */ +class daAmiShutter_c : public fopAc_ac_c { + /* 80BA155C */ void setBaseMtx(); + /* 80BA15E4 */ void CreateHeap(); + /* 80BA1650 */ void create(); + /* 80BA182C */ void Execute(f32 (**)[3][4]); + /* 80BA1888 */ void moveShutter(); + /* 80BA1974 */ void playerAreaCheck(); + /* 80BA1B4C */ void init_modeWait(); + /* 80BA1B58 */ void modeWait(); + /* 80BA1BCC */ void init_modeWaitEvent(); + /* 80BA1BD8 */ void modeWaitEvent(); + /* 80BA1C90 */ void eventStart(); + /* 80BA1CB4 */ void init_modeClose(); + /* 80BA1D48 */ void modeClose(); + /* 80BA1DCC */ void init_modeCloseEvent(); + /* 80BA1E60 */ void modeCloseEvent(); + /* 80BA1EEC */ void init_modeCloseEnd(); + /* 80BA1F7C */ void modeCloseEnd(); + /* 80BA1F80 */ void init_modeOpen(); + /* 80BA2004 */ void modeOpen(); + /* 80BA2080 */ void Draw(); + /* 80BA2124 */ void Delete(); + /* 80BA22E8 */ ~daAmiShutter_c(); +private: + /* 0x568 */ u8 field_0x568[0x5dc - 0x568]; +}; +STATIC_ASSERT(sizeof(daAmiShutter_c) == 0x5dc); + +class daAmiShutter_HIO_c { + /* 80BA14CC */ daAmiShutter_HIO_c(); + /* 80BA21E0 */ ~daAmiShutter_HIO_c(); +}; + #endif /* D_A_OBJ_AMISHUTTER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h b/include/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h index 51e3884baf..88c4c4a74e 100644 --- a/include/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h +++ b/include/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h @@ -8,6 +8,14 @@ #include "d/a/d_a_player.h" #include "d/d_insect.h" +/** + * @ingroup actors-objects + * @class daObjARI_c + * @brief Insect - Ant + * + * @details + * + */ class daObjARI_c : public dInsect_c { public: /* 80BA26BC */ void InitCcSph(); @@ -32,6 +40,7 @@ public: /* 80BA483C */ bool CreateChk(); /* 80BA49E8 */ cPhs__Step create(); +private: /* 0x590 */ dBgS_GndChk mGndChk; /* 0x5E4 */ u8 field_0x5e4[4]; /* 0x5E8 */ u8 mAction; diff --git a/include/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h b/include/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h index 86771a2945..afd1495735 100644 --- a/include/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h +++ b/include/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h @@ -1,5 +1,43 @@ #ifndef D_A_OBJ_AUTOMATA_H #define D_A_OBJ_AUTOMATA_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_AutoMata_c + * @brief Falbi's Music Box + * + * @details + * + */ +class daObj_AutoMata_c : public fopAc_ac_c { +public: + /* 80BA56EC */ ~daObj_AutoMata_c(); + /* 80BA5990 */ void create(); + /* 80BA5F88 */ void CreateHeap(); + /* 80BA60A0 */ void Delete(); + /* 80BA60D4 */ void Execute(); + /* 80BA639C */ void Draw(); + /* 80BA6480 */ void createHeapCallBack(fopAc_ac_c*); + /* 80BA64A0 */ void srchTHouse(fopAc_ac_c*, void*); + /* 80BA6500 */ void setAnm(int, bool); + /* 80BA6634 */ void setEnvTevColor(); + /* 80BA6690 */ void setRoomNo(); + /* 80BA66D4 */ void setMtx(); + /* 80BA674C */ void setSe(); + +private: + /* 0x568 */ u8 field_0x568[0xb38 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_AutoMata_c) == 0xb38); + +class daObj_AutoMata_Param_c { +public: + /* 80BA6BA4 */ ~daObj_AutoMata_Param_c(); + + static u8 const m[12]; +}; + #endif /* D_A_OBJ_AUTOMATA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_avalanche/d_a_obj_avalanche.h b/include/rel/d/a/obj/d_a_obj_avalanche/d_a_obj_avalanche.h index 4d94769be7..d1d1c7446f 100644 --- a/include/rel/d/a/obj/d_a_obj_avalanche/d_a_obj_avalanche.h +++ b/include/rel/d/a/obj/d_a_obj_avalanche/d_a_obj_avalanche.h @@ -7,6 +7,14 @@ class dBgW; +/** + * @ingroup actors-objects + * @class daObjAvalanche_c + * @brief Avalanche + * + * @details + * + */ class daObjAvalanche_c : public dBgS_MoveBgActor { public: enum Action { diff --git a/include/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h b/include/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h index 6313903559..b72e62e3a4 100644 --- a/include/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h +++ b/include/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h @@ -7,6 +7,14 @@ #include "d/cc/d_cc_d.h" #include "SSystem/SComponent/c_phase.h" +/** + * @ingroup actors-objects + * @class daObj_Balloon_c + * @brief Balloon + * + * @details + * + */ class daObj_Balloon_c : public fopAc_ac_c { public: /* 80BA7FF4 */ int draw(); diff --git a/include/rel/d/a/obj/d_a_obj_barDesk/d_a_obj_barDesk.h b/include/rel/d/a/obj/d_a_obj_barDesk/d_a_obj_barDesk.h index 077047d57a..b16eb25245 100644 --- a/include/rel/d/a/obj/d_a_obj_barDesk/d_a_obj_barDesk.h +++ b/include/rel/d/a/obj/d_a_obj_barDesk/d_a_obj_barDesk.h @@ -6,6 +6,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/cc/d_cc_d.h" +/** + * @ingroup actors-objects + * @class daBarDesk_c + * @brief Kakariko House Desk + * + * @details + * + */ class daBarDesk_c : public dBgS_MoveBgActor { public: /* 80BA9200 */ void setBaseMtx(); diff --git a/include/rel/d/a/obj/d_a_obj_batta/d_a_obj_batta.h b/include/rel/d/a/obj/d_a_obj_batta/d_a_obj_batta.h index cfb06ca694..98c912dc94 100644 --- a/include/rel/d/a/obj/d_a_obj_batta/d_a_obj_batta.h +++ b/include/rel/d/a/obj/d_a_obj_batta/d_a_obj_batta.h @@ -1,6 +1,46 @@ #ifndef D_A_OBJ_BATTA_H #define D_A_OBJ_BATTA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_insect.h" + +/** + * @ingroup actors-objects + * @class daObjBATTA_c + * @brief Insect - Grasshopper + * + * @details + * + */ +class daObjBATTA_c : public dInsect_c { +public: + /* 80BA9E5C */ void setAction(void (daObjBATTA_c::*)()); + /* 80BAA1C8 */ void wait(); + /* 80BAA47C */ void turn(); + /* 80BAAA18 */ void jump(); + /* 80BAAD30 */ void fly_up(); + /* 80BAB234 */ void fly_down(); + /* 80BAB500 */ void bin_wait(); + /* 80BAB6C8 */ void bin_action(); + /* 80BAB820 */ void hook(); + /* 80BAB934 */ void boomerang(); + /* 80BABA98 */ void batta_setParticle(); + /* 80BABCA4 */ void action(); + /* 80BABD6C */ void hit_check(); + /* 80BABE20 */ void execute(); + /* 80BABFA4 */ void _delete(); + /* 80BAC00C */ void mtx_set(); + /* 80BAC194 */ void create(); + +private: + /* 0x590 */ u8 field_0x568[0x9f8 - 0x590]; +}; +STATIC_ASSERT(sizeof(daObjBATTA_c) == 0x9f8); + +class daObj_BattaHIO_c { +public: + /* 80BA9E2C */ daObj_BattaHIO_c(); + /* 80BAC874 */ ~daObj_BattaHIO_c(); +}; #endif /* D_A_OBJ_BATTA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h b/include/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h index 67a9d12b0a..7657dbe583 100644 --- a/include/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h +++ b/include/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h @@ -5,6 +5,14 @@ #include "d/cc/d_cc_d.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjBBox_c + * @brief B Box + * + * @details + * + */ class daObjBBox_c : public dBgS_MoveBgActor { public: /* 80BACD38 */ void initBaseMtx(); @@ -23,6 +31,7 @@ private: /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ dCcD_Stts mStts; /* 0x5E8 */ dCcD_Cyl mCyl; -}; // Size: 0x724 +}; +STATIC_ASSERT(sizeof(daObjBBox_c) == 0x724); #endif /* D_A_OBJ_BBOX_H */ diff --git a/include/rel/d/a/obj/d_a_obj_bed/d_a_obj_bed.h b/include/rel/d/a/obj/d_a_obj_bed/d_a_obj_bed.h index 14a2876b7c..95fbca663e 100644 --- a/include/rel/d/a/obj/d_a_obj_bed/d_a_obj_bed.h +++ b/include/rel/d/a/obj/d_a_obj_bed/d_a_obj_bed.h @@ -8,6 +8,14 @@ class dBgW; +/** + * @ingroup actors-objects + * @class daObj_Bed_c + * @brief Bed + * + * @details + * + */ class daObj_Bed_c : public fopAc_ac_c { public: /* 0x568 */ u8 field_0x568[4]; diff --git a/include/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h b/include/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h index cb2fabd9e9..2389ef51d9 100644 --- a/include/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h +++ b/include/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h @@ -1,5 +1,85 @@ #ifndef D_A_OBJ_BEMOS_H #define D_A_OBJ_BEMOS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjBm_c + * @brief Beamos (Movable Object) + * + * @details + * + */ +class daObjBm_c : public fopAc_ac_c { +public: + class BgcSrc_c {}; + + class Bgc_c { + public: + /* 80BB0E0C */ Bgc_c(); + /* 80BB0ED4 */ void wall_pos(fopAc_ac_c const*, daObjBm_c::BgcSrc_c const*, int, s16, f32); + /* 80BB1154 */ void chk_wall_pre(fopAc_ac_c const*, daObjBm_c::BgcSrc_c const*, int, s16); + + static u8 const M_lin20[368]; + static u8 M_lin5[80]; + static u8 M_gnd_work[1932]; + static u8 M_wrt_work[84]; + static u8 M_wall_work[2576]; + }; + + /* 80BAE36C */ void PPCallBack(fopAc_ac_c*, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel); + /* 80BAE5FC */ void initBaseMtx(); + /* 80BAE68C */ void setBaseMtx(); + /* 80BAE778 */ int Create(); + /* 80BAEADC */ int CreateHeap(); + /* 80BAEFD8 */ void create1st(); + /* 80BAF09C */ int Execute(f32 (**)[3][4]); + /* 80BAF29C */ void main_proc_call(); + /* 80BAF328 */ void initActionEnBemos(); + /* 80BAF37C */ void initActionObjBemos(); + /* 80BAF46C */ void actionEnBemos(); + /* 80BAF750 */ void actionObjBemos(); + /* 80BAF80C */ void setCrawCO(); + /* 80BAF8F8 */ void calcBeamPos(); + /* 80BAFC08 */ void calcBeamLenAndAt(); + /* 80BAFFA8 */ void checkFindPlayer(); + /* 80BB0104 */ void checkSearchPlayer(); + /* 80BB0260 */ void getSearchDistance(); + /* 80BB02B8 */ void getBeamSearchDistance(); + /* 80BB0310 */ void effect_proc(); + /* 80BB0580 */ void effectWait(); + /* 80BB0584 */ void initEffectSet0(); + /* 80BB0718 */ void effectSet0(); + /* 80BB071C */ void effectSet1(); + /* 80BB0720 */ void effectEnd(); + /* 80BB0724 */ void check_to_walk(); + /* 80BB0824 */ void mode_wait_init(); + /* 80BB0888 */ void mode_wait(); + /* 80BB09C8 */ void mode_walk_init(); + /* 80BB09E0 */ void mode_walk(); + /* 80BB0DA8 */ void mode_afl(); + /* 80BB0DC0 */ void mode_dead_init(); + /* 80BB0DE4 */ void mode_dead(); + /* 80BB0DE8 */ void clr_moment_cnt(); + /* 80BB1194 */ void initActionSwWait(); + /* 80BB11D4 */ void actionSwWait(); + /* 80BB14C8 */ void initActionWarning(); + /* 80BB154C */ void actionWarning(); + /* 80BB1654 */ void initActionFindPlayer(); + /* 80BB1814 */ void actionFindPlayer(); + /* 80BB1960 */ void initActionAttack(); + /* 80BB1BD0 */ void actionAttack(); + /* 80BB248C */ void initActionDead(); + /* 80BB2700 */ void actionDead(); + /* 80BB2AB0 */ int Draw(); + /* 80BB2C8C */ int Delete(); + + static u8 const M_dir_base[8]; +private: + /* 0x568 */ u8 field_0x568[0x1258 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjBm_c) == 0x1258); + #endif /* D_A_OBJ_BEMOS_H */ diff --git a/include/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h b/include/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h index 350bf297a3..e335ce36a6 100644 --- a/include/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h +++ b/include/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h @@ -1,5 +1,48 @@ #ifndef D_A_OBJ_BHASHI_H #define D_A_OBJ_BHASHI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjBHASHI_c + * @brief Morpheel Room Pillar? + * + * @details + * + */ +class daObjBHASHI_c : public fopAc_ac_c { +public: + /* 80576A58 */ void initCcCylinder(); + /* 80576AC4 */ void setCcCylinder(); + /* 80576B78 */ void Set_Hahen(); + /* 80576C50 */ void Set_Speed(s16, s16, f32, f32); + /* 80577500 */ void Obj_Damage(cXyz); + /* 805771EC */ void Obj_Damage(); + /* 80577E24 */ void Rolling(cXyz*, f32, f32); + /* 805781FC */ void setBaseMtx(); + /* 80578330 */ void CreateHeap(); + /* 8057842C */ void create(); + /* 80578788 */ void Create(); + /* 805787CC */ void Execute(f32 (**)[3][4]); + /* 805788EC */ void Draw(); + /* 805789E8 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x1464 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjBHASHI_c) == 0x1464); + +class Hahen_c { +public: + /* 80577794 */ Hahen_c(); + /* 805777A4 */ void Wall_Check(); + /* 80577868 */ void HahenMotion(); + /* 80577C1C */ void CheckCull(); + /* 80577DA4 */ void checkViewArea(); + /* 80577FE0 */ void Roll_Set(cXyz*, f32, s16); + /* 80578744 */ ~Hahen_c(); +}; + #endif /* D_A_OBJ_BHASHI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_bhbridge/d_a_obj_bhbridge.h b/include/rel/d/a/obj/d_a_obj_bhbridge/d_a_obj_bhbridge.h index 52971f6505..be1fcd19b9 100644 --- a/include/rel/d/a/obj/d_a_obj_bhbridge/d_a_obj_bhbridge.h +++ b/include/rel/d/a/obj/d_a_obj_bhbridge/d_a_obj_bhbridge.h @@ -1,6 +1,32 @@ #ifndef D_A_OBJ_BHBRIDGE_H #define D_A_OBJ_BHBRIDGE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjBhbridge_c + * @brief BH Bridge? + * + * @details + * + */ +class daObjBhbridge_c : public fopAc_ac_c { +public: + /* 80BB5318 */ void RideOn_Angle(s16&, f32, s16, f32); + /* 80BB5380 */ void Check_RideOn(); + /* 80BB558C */ void initBaseMtx(); + /* 80BB55B8 */ void setBaseMtx(); + /* 80BB5934 */ void CreateHeap(); + /* 80BB59AC */ void Create(); + /* 80BB5A14 */ void Execute(f32 (**)[3][4]); + /* 80BB5E10 */ void Draw(); + /* 80BB5EB4 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x810 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjBhbridge_c) == 0x810); + #endif /* D_A_OBJ_BHBRIDGE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_bk_leaf/d_a_obj_bk_leaf.h b/include/rel/d/a/obj/d_a_obj_bk_leaf/d_a_obj_bk_leaf.h index bc10c61533..ce0ee8f3dd 100644 --- a/include/rel/d/a/obj/d_a_obj_bk_leaf/d_a_obj_bk_leaf.h +++ b/include/rel/d/a/obj/d_a_obj_bk_leaf/d_a_obj_bk_leaf.h @@ -3,6 +3,14 @@ #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daBkLeaf_c + * @brief Baba Stem Leaf + * + * @details + * + */ class daBkLeaf_c : public fopAc_ac_c { public: /* 80BB60F8 */ void setBokkuri(); diff --git a/include/rel/d/a/obj/d_a_obj_bkdoor/d_a_obj_bkdoor.h b/include/rel/d/a/obj/d_a_obj_bkdoor/d_a_obj_bkdoor.h index 037c932643..9c18760089 100644 --- a/include/rel/d/a/obj/d_a_obj_bkdoor/d_a_obj_bkdoor.h +++ b/include/rel/d/a/obj/d_a_obj_bkdoor/d_a_obj_bkdoor.h @@ -6,6 +6,14 @@ class J3DModel; +/** + * @ingroup actors-objects + * @class daObjBkDoor_c + * @brief Ranch Door + * + * @details + * + */ class daObjBkDoor_c : public dBgS_MoveBgActor { public: /* 80578D4C */ void initBaseMtx(); diff --git a/include/rel/d/a/obj/d_a_obj_bky_rock/d_a_obj_bky_rock.h b/include/rel/d/a/obj/d_a_obj_bky_rock/d_a_obj_bky_rock.h index b341704b66..8440a726fb 100644 --- a/include/rel/d/a/obj/d_a_obj_bky_rock/d_a_obj_bky_rock.h +++ b/include/rel/d/a/obj/d_a_obj_bky_rock/d_a_obj_bky_rock.h @@ -1,6 +1,50 @@ #ifndef D_A_OBJ_BKY_ROCK_H #define D_A_OBJ_BKY_ROCK_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daBkyRock_c + * @brief Bomb Shack Rock + * + * @details + * + */ +class daBkyRock_c : public fopAc_ac_c { +public: + struct _pieceData { + public: + /* 80BB6914 */ _pieceData(); + }; + + /* 80BB6858 */ daBkyRock_c(); + /* 80BB6B5C */ ~daBkyRock_c(); + /* 80BB6C4C */ void create(); + /* 80BB6D60 */ void execute(); + /* 80BB6D84 */ void draw(); + /* 80BB6EB8 */ void Delete(); + /* 80BB6F64 */ void setModelMtx(); + /* 80BB6FD4 */ void createHeap(); + /* 80BB7144 */ void init(); + /* 80BB72FC */ void middleExe(); + /* 80BB7364 */ void exeModeNoDamage(); + /* 80BB7458 */ void exeModeDamage(); + /* 80BB75D8 */ void exeModePiece(); + /* 80BB7690 */ void chkHitBombArrow(); + /* 80BB776C */ void initChangeModeBefore(); + /* 80BB77FC */ void initChangeModeAfter(); + /* 80BB7818 */ void pieceMove(); + /* 80BB7988 */ void pieceMoveInit(); + /* 80BB7C18 */ void callBombEmt(int, u16 const*); + + static u8 const s_CcDCyl[68]; + static u8 s_exeProc[36]; + +private: + /* 0x568 */ u8 field_0x568[0xf50 - 0x568]; +}; +STATIC_ASSERT(sizeof(daBkyRock_c) == 0xf50); + #endif /* D_A_OBJ_BKY_ROCK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_bmWindow/d_a_obj_bmWindow.h b/include/rel/d/a/obj/d_a_obj_bmWindow/d_a_obj_bmWindow.h index 32c68956ff..c6a216dff4 100644 --- a/include/rel/d/a/obj/d_a_obj_bmWindow/d_a_obj_bmWindow.h +++ b/include/rel/d/a/obj/d_a_obj_bmWindow/d_a_obj_bmWindow.h @@ -6,6 +6,14 @@ #include "d/cc/d_cc_d.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daBmWindow_c + * @brief Boomerang Window? + * + * @details + * + */ class daBmWindow_c : public dBgS_MoveBgActor { public: @@ -31,6 +39,7 @@ public: /* 80BB9494 */ int Draw(); /* 80BB9548 */ int Delete(); +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ J3DModel* mModel; /* 0x5AC */ u8 mMode; @@ -60,6 +69,7 @@ public: static dCcD_SrcGObjInf const mCcDObjInfo; static dCcD_SrcCyl mCcDCyl; }; +STATIC_ASSERT(sizeof(daBmWindow_c) == 0xEE0); class daBmWindow_HIO_c : public fOpAcm_HIO_entry_c { public: diff --git a/include/rel/d/a/obj/d_a_obj_bmshutter/d_a_obj_bmshutter.h b/include/rel/d/a/obj/d_a_obj_bmshutter/d_a_obj_bmshutter.h index d856cb6608..5066dfe9c8 100644 --- a/include/rel/d/a/obj/d_a_obj_bmshutter/d_a_obj_bmshutter.h +++ b/include/rel/d/a/obj/d_a_obj_bmshutter/d_a_obj_bmshutter.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_BMSHUTTER_H #define D_A_OBJ_BMSHUTTER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjBmSh_c + * @brief Boomerang Shutter + * + * @details + * + */ +class daObjBmSh_c : public fopAc_ac_c { +public: + /* 80BB9A58 */ void initBaseMtx(); + /* 80BB9AE4 */ void setBaseMtx(); + /* 80BB9B84 */ void Create(); + /* 80BB9C50 */ void CreateHeap(); + /* 80BB9CC0 */ void create(); + /* 80BB9DB4 */ void Execute(f32 (**)[3][4]); + /* 80BB9F34 */ void checkSw(); + /* 80BB9FBC */ void checkAnySw(); + /* 80BBA044 */ void checkMySw(); + /* 80BBA080 */ void event_proc_call(); + /* 80BBA13C */ void actionWait(); + /* 80BBA1A4 */ void actionOrderEvent(); + /* 80BBA20C */ void actionEvent(); + /* 80BBA268 */ void actionDead(); + /* 80BBA26C */ void mode_proc_call(); + /* 80BBA394 */ void modeWait(); + /* 80BBA5B4 */ void modeMove(); + /* 80BBA640 */ void modeEnd(); + /* 80BBA644 */ void Draw(); + /* 80BBA6E8 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5dc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjBmSh_c) == 0x5dc); + #endif /* D_A_OBJ_BMSHUTTER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.h b/include/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.h index cb630d6b2b..92f7b14548 100644 --- a/include/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.h +++ b/include/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.h @@ -4,6 +4,14 @@ #include "d/com/d_com_inf_game.h" #include "d/d_bomb.h" +/** + * @ingroup actors-objects + * @class daObjBombf_c + * @brief Bomb Flower + * + * @details + * + */ class daObjBombf_c : public fopAc_ac_c { public: /* 80BBA9F8 */ bool createHeap(); @@ -13,6 +21,7 @@ public: /* 80BBACC0 */ int execute(); /* 80BBADF8 */ int draw(); +private: /* 0x568 */ request_of_phase_process_class field_0x568; /* 0x570 */ J3DModel* field_0x570; /* 0x574 */ u32 field_0x574; @@ -21,6 +30,7 @@ public: /* 0x580 */ u16 field_0x580; /* 0x582 */ u8 field_0x582; /* 0x584 */ f32 field_0x584; -}; // Size: 0x588 +}; +STATIC_ASSERT(sizeof(daObjBombf_c) == 0x588); #endif /* D_A_OBJ_BOMBF_H */ diff --git a/include/rel/d/a/obj/d_a_obj_bosswarp/d_a_obj_bosswarp.h b/include/rel/d/a/obj/d_a_obj_bosswarp/d_a_obj_bosswarp.h index 4b5d4fe262..76c987118c 100644 --- a/include/rel/d/a/obj/d_a_obj_bosswarp/d_a_obj_bosswarp.h +++ b/include/rel/d/a/obj/d_a_obj_bosswarp/d_a_obj_bosswarp.h @@ -4,6 +4,14 @@ #include "f_op/f_op_actor_mng.h" #include "d/msg/d_msg_flow.h" +/** + * @ingroup actors-objects + * @class daObjBossWarp_c + * @brief Boss Warp + * + * @details + * + */ class daObjBossWarp_c : public fopAc_ac_c { public: enum Action { @@ -52,6 +60,7 @@ public: bool isFirst() { return fopAcM_GetParamBit(this, 0x1b, 1); } void setAction(u8 action) { mAction = action; } +private: /* 0x568 */ request_of_phase_process_class mPhaseReq; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ mDoExt_btkAnm* mpBtkAnm[2]; @@ -79,7 +88,6 @@ public: /* 0x620 */ cXyz field_0x620; /* 0x62C */ bool mScalingUp; }; - STATIC_ASSERT(sizeof(daObjBossWarp_c) == 0x630); #endif /* D_A_OBJ_BOSSWARP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h b/include/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h index 6911a0b973..226e899bc3 100644 --- a/include/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h +++ b/include/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h @@ -1,5 +1,46 @@ #ifndef D_A_OBJ_BOUMATO_H #define D_A_OBJ_BOUMATO_H +#include "f_op/f_op_actor_mng.h" +#include "d/cc/d_cc_d.h" + +/** + * @ingroup actors-objects + * @class daObj_BouMato_c + * @brief Stick Target + * + * @details + * + */ +class daObj_BouMato_c : public fopAc_ac_c { +public: + /* 80BBAFEC */ ~daObj_BouMato_c(); + /* 80BBB230 */ void create(); + /* 80BBB770 */ void CreateHeap(); + /* 80BBB800 */ void Delete(); + /* 80BBB834 */ void Execute(); + /* 80BBBD80 */ void Draw(); + /* 80BBBE50 */ void createHeapCallBack(fopAc_ac_c*); + /* 80BBBE70 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); + /* 80BBBEA0 */ void srchArrow(void*, void*); + /* 80BBBF4C */ void deleteStuckArrow(); + /* 80BBBFF8 */ void getResName(); + /* 80BBC008 */ void setSwayParam(fopAc_ac_c*); + /* 80BBC19C */ void setEnvTevColor(); + /* 80BBC1F8 */ void setRoomNo(); + /* 80BBC23C */ void setMtx(); + +private: + /* 0x568 */ u8 field_0x568[0xa40 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_BouMato_c) == 0xa40); + +class daObj_BouMato_Param_c { +public: + /* 80BBC404 */ ~daObj_BouMato_Param_c(); + + static u8 const m[28]; +}; + #endif /* D_A_OBJ_BOUMATO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h b/include/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h index f7029f2e06..e304a64223 100644 --- a/include/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h +++ b/include/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h @@ -1,5 +1,21 @@ #ifndef D_A_OBJ_BRAKEEFF_H #define D_A_OBJ_BRAKEEFF_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_brakeeff_class + * @brief ??? + * + * @details + * + */ +class obj_brakeeff_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x73c - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_brakeeff_class) == 0x73c); + #endif /* D_A_OBJ_BRAKEEFF_H */ diff --git a/include/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h b/include/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h index 6997d43c72..324f3a8d05 100644 --- a/include/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h +++ b/include/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h @@ -1,5 +1,27 @@ #ifndef D_A_OBJ_BRG_H #define D_A_OBJ_BRG_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_brg_class + * @brief Bridge + * + * @details + * + */ +class obj_brg_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0xb1f8 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_brg_class) == 0xb1f8); + +struct br_s { +public: + /* 80BC1F54 */ ~br_s(); + /* 80BC2000 */ br_s(); +}; + #endif /* D_A_OBJ_BRG_H */ diff --git a/include/rel/d/a/obj/d_a_obj_bsGate/d_a_obj_bsGate.h b/include/rel/d/a/obj/d_a_obj_bsGate/d_a_obj_bsGate.h index 6f9430e92b..d5f5394d6e 100644 --- a/include/rel/d/a/obj/d_a_obj_bsGate/d_a_obj_bsGate.h +++ b/include/rel/d/a/obj/d_a_obj_bsGate/d_a_obj_bsGate.h @@ -5,6 +5,14 @@ #include "m_Do/m_Do_hostIO.h" #include "d/bg/d_bg_s_movebg_actor.h" +/** + * @ingroup actors-objects + * @class daBsGate_c + * @brief Boss Gate + * + * @details + * + */ class daBsGate_c : public dBgS_MoveBgActor { public: enum Mode { @@ -27,6 +35,7 @@ public: /* 80BC2F94 */ int Draw(); /* 80BC3038 */ int Delete(); +private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ u8 mMode; @@ -36,7 +45,6 @@ public: /* 0x5B0 */ f32 mTargetDist; /* 0x5B4 */ f32 mOpenDist; }; - STATIC_ASSERT(sizeof(daBsGate_c) == 0x5B8); class daBsGate_HIO_c : public mDoHIO_entry_c { diff --git a/include/rel/d/a/obj/d_a_obj_bubblePilar/d_a_obj_bubblePilar.h b/include/rel/d/a/obj/d_a_obj_bubblePilar/d_a_obj_bubblePilar.h index 0de130f3f2..89b61d297e 100644 --- a/include/rel/d/a/obj/d_a_obj_bubblePilar/d_a_obj_bubblePilar.h +++ b/include/rel/d/a/obj/d_a_obj_bubblePilar/d_a_obj_bubblePilar.h @@ -1,6 +1,42 @@ #ifndef D_A_OBJ_BUBBLEPILAR_H #define D_A_OBJ_BUBBLEPILAR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daBubbPilar_c + * @brief Bubble Pillar + * + * @details + * + */ +class daBubbPilar_c : public fopAc_ac_c { +public: + /* 80BC3460 */ void setBaseMtx(); + /* 80BC3518 */ void CreateHeap(); + /* 80BC35D0 */ void create(); + /* 80BC3934 */ void Execute(f32 (**)[3][4]); + /* 80BC3AB8 */ void initModeWait(); + /* 80BC3AC4 */ void modeWait(); + /* 80BC3C74 */ void initModeEffOn(); + /* 80BC3C98 */ void modeEffOn(); + /* 80BC3DB0 */ void Draw(); + /* 80BC3E8C */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x750 - 0x568]; +}; +STATIC_ASSERT(sizeof(daBubbPilar_c) == 0x750); + +class daBubbPilar_HIO_c { +public: + /* 80BC33EC */ daBubbPilar_HIO_c(); + /* 80BC3F90 */ ~daBubbPilar_HIO_c(); +}; + #endif /* D_A_OBJ_BUBBLEPILAR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h b/include/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h index 1e5174ae35..3968edac74 100644 --- a/include/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h +++ b/include/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h @@ -1,5 +1,31 @@ #ifndef D_A_OBJ_BURNBOX_H #define D_A_OBJ_BURNBOX_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjBurnBox_c + * @brief Burn Box + * + * @details + * + */ +class daObjBurnBox_c : public fopAc_ac_c { +public: + /* 8046E698 */ void initBaseMtx(); + /* 8046E6D4 */ void setBaseMtx(); + /* 8046E738 */ void Create(); + /* 8046E8BC */ void CreateHeap(); + /* 8046E93C */ void create1st(); + /* 8046E9EC */ void Execute(f32 (**)[3][4]); + /* 8046EABC */ void Draw(); + /* 8046EC10 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x740 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjBurnBox_c) == 0x740); + #endif /* D_A_OBJ_BURNBOX_H */ diff --git a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h index ad61c95158..3f9b773d3e 100644 --- a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h +++ b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h @@ -5,22 +5,12 @@ #include "f_op/f_op_actor_mng.h" #include "d/com/d_com_inf_game.h" -struct daObjCarry_Data { - /* 0x0000 */ u8 field_0x0000[0x0030 - 0x0000]; - /* 0x0030 */ float field_0x0030; - /* 0x0034 */ u8 field_0x0034; - /* 0x0035 */ u8 field_0x0035[0x0038 - 0x0035]; - /* 0x0038 */ float field_0x0038; - /* 0x003C */ float field_0x003c; - /* 0x0040 */ float field_0x0040; - /* 0x0044 */ u8 field_0x0044[0x94-0x44]; -}; - /** * @ingroup actors-objects + * @class daObjCarry_c * @brief Carryable Object * - * This is a multi-use class for carryable objects. + * @details This is a multi-use class for carryable objects. * It's used by: small and large blue pot, small and large red pot, box, cannon ball, barrel, skull, deku nut, Sols, small and large Twilight pots. * */ @@ -317,4 +307,15 @@ private: }; STATIC_ASSERT(sizeof(daObjCarry_c) == 0xE28); +struct daObjCarry_Data { + /* 0x0000 */ u8 field_0x0000[0x0030 - 0x0000]; + /* 0x0030 */ float field_0x0030; + /* 0x0034 */ u8 field_0x0034; + /* 0x0035 */ u8 field_0x0035[0x0038 - 0x0035]; + /* 0x0038 */ float field_0x0038; + /* 0x003C */ float field_0x003c; + /* 0x0040 */ float field_0x0040; + /* 0x0044 */ u8 field_0x0044[0x94-0x44]; +}; + #endif /* D_A_OBJ_CARRY_H */ diff --git a/include/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.h b/include/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.h index c9c63fa43a..d5645976db 100644 --- a/include/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.h +++ b/include/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.h @@ -4,13 +4,22 @@ #include "f_op/f_op_actor_mng.h" #include "d/bg/d_bg_w.h" -struct daObjCatDoor_Door_c { +class daObjCatDoor_Door_c { +public: /* 0x00 */ J3DModel* pmodel; /* 0x04 */ dBgW bgw; /* 0xe0 */ Mtx mtx; /* 0xf4 */ s16 angle; }; +/** + * @ingroup actors-objects + * @class daObjCatDoor_c + * @brief Cat Door + * + * @details + * + */ class daObjCatDoor_c : public fopAc_ac_c { public: inline ~daObjCatDoor_c(); diff --git a/include/rel/d/a/obj/d_a_obj_cb/d_a_obj_cb.h b/include/rel/d/a/obj/d_a_obj_cb/d_a_obj_cb.h index 5f2123db49..cb3e167e18 100644 --- a/include/rel/d/a/obj/d_a_obj_cb/d_a_obj_cb.h +++ b/include/rel/d/a/obj/d_a_obj_cb/d_a_obj_cb.h @@ -1,6 +1,27 @@ #ifndef D_A_OBJ_CB_H #define D_A_OBJ_CB_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_cb_class + * @brief Castle Block? + * + * @details + * + */ +class obj_cb_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x97c - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_cb_class) == 0x97c); + +class daObj_Cb_HIO_c { +public: + /* 80BC4B2C */ daObj_Cb_HIO_c(); + /* 80BC573C */ ~daObj_Cb_HIO_c(); +}; + #endif /* D_A_OBJ_CB_H */ diff --git a/include/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h b/include/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h index 71766d4a2f..52bbcdd98d 100644 --- a/include/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h +++ b/include/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h @@ -1,5 +1,44 @@ #ifndef D_A_OBJ_CBLOCK_H #define D_A_OBJ_CBLOCK_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjCBlk_c + * @brief Castle Block? + * + * @details + * + */ +class daObjCBlk_c : public fopAc_ac_c { +public: + struct chain_s { + public: + /* 80BC5E58 */ ~chain_s(); + /* 80BC5E94 */ chain_s(); + }; + + /* 80BC5A0C */ void initBaseMtx(); + /* 80BC5A48 */ void setBaseMtx(); + /* 80BC5ABC */ void Create(); + /* 80BC5CF8 */ void CreateHeap(); + /* 80BC5E98 */ void create(); + /* 80BC6260 */ void Execute(f32 (**)[3][4]); + /* 80BC6270 */ void initWait(); + /* 80BC627C */ void modeWait(); + /* 80BC6414 */ void initWalk(); + /* 80BC6430 */ void modeWalk(); + /* 80BC65CC */ void getChainBasePos(cXyz*); + /* 80BC6648 */ void setPower(f32); + /* 80BC66DC */ void checkWall(); + /* 80BC6868 */ bool Draw(); + /* 80BC6870 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0xca8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjCBlk_c) == 0xca8); + #endif /* D_A_OBJ_CBLOCK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h b/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h index eafbdabf4c..30d401edb1 100644 --- a/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h +++ b/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjBoard_c + * @brief Clear Board + * + * @details Actor used to function as an invisible wall. + * + */ class daObjBoard_c : public dBgS_MoveBgActor { public: /* 8057B958 */ void initBaseMtx(); @@ -23,6 +31,7 @@ public: private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ Mtx field_0x5a8; -}; // Size: 0x5D8 +}; +STATIC_ASSERT(sizeof(daObjBoard_c) == 0x5D8); #endif /* D_A_OBJ_CBOARD_H */ diff --git a/include/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h b/include/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h index cedd0725b8..c84b095cd9 100644 --- a/include/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h +++ b/include/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h @@ -4,6 +4,14 @@ #include "SSystem/SComponent/c_phase.h" #include "d/bg/d_bg_s_movebg_actor.h" +/** + * @ingroup actors-objects + * @class daObjCdoor_c + * @brief Chain Door + * + * @details + * + */ class daObjCdoor_c : public dBgS_MoveBgActor { public: enum Mode { @@ -43,6 +51,7 @@ public: int getSwitchNum() { return mSw; } void setChainID(u32 i_id) { mChainID = i_id; } +private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ bool mEnd; diff --git a/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h b/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h index 40e20b1b61..be5ed12c3f 100644 --- a/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h +++ b/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h @@ -7,6 +7,14 @@ class daObjChandelier_c; typedef void (daObjChandelier_c::*daObjChandelier_proc)(); +/** + * @ingroup actors-objects + * @class daObjChandelier_c + * @brief Hyrule Castle Chandelier + * + * @details + * + */ class daObjChandelier_c : public dBgS_MoveBgActor, public request_of_phase_process_class { public: enum Mode { @@ -39,6 +47,7 @@ public: u8 getSW_0() { return fopAcM_GetParamBit(this, 4, 8); } s32 getArg_0() { return fopAcM_GetParamBit(this, 0, 4); } +private: /* 0x5A8 */ cXyz field_0x5a8; /* 0x5B4 */ Mtx mMtx; /* 0x5E4 */ u8 field_0x5e4[4]; diff --git a/include/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h b/include/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h index e15e29b67a..10a07ef35b 100644 --- a/include/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h +++ b/include/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h @@ -6,6 +6,14 @@ #include "d/com/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjChest_c + * @brief Cabinet + * + * @details + * + */ class daObjChest_c : public dBgS_MoveBgActor { public: enum daObjChest_Action { @@ -31,6 +39,7 @@ public: u8 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); } u32 getArg0() { return fopAcM_GetParamBit(this, 8, 4); } +private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ dBgS_ObjAcch mObjAcch; @@ -48,6 +57,7 @@ public: /* 0xA9A */ s16 mRandomRotX; /* 0xA9C */ f32 field_0xa9c; /* 0xAA0 */ f32 mScaleY; -}; // Size: 0xAA4 +}; +STATIC_ASSERT(sizeof(daObjChest_c) == 0xAA4); #endif /* D_A_OBJ_CHEST_H */ diff --git a/include/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h b/include/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h index b16caa4962..5cdebfdced 100644 --- a/include/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h +++ b/include/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h @@ -8,6 +8,14 @@ #include "d/a/d_a_player.h" #include "d/d_insect.h" +/** + * @ingroup actors-objects + * @class daObjCHO_c + * @brief Insect - Butterfly + * + * @details + * + */ class daObjCHO_c : public dInsect_c { public: enum Action { @@ -38,6 +46,7 @@ public: /* 80BCC01C */ cPhs__Step create(); inline int Draw(); +private: /* 0x590 */ dBgS_AcchCir mAcchCir; /* 0x5D0 */ dBgS_ObjAcch mAcch; /* 0x7A8 */ dCcD_Stts mCcStts; diff --git a/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h b/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h index 0e40f05329..6201637e39 100644 --- a/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h +++ b/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daCowdoor_c + * @brief Ordon Ranch Stable Door + * + * @details + * + */ class daCowdoor_c : public dBgS_MoveBgActor { public: /* 80BCC7F8 */ void setBaseMtx(); @@ -14,8 +22,10 @@ public: /* 80BCCA48 */ int Draw(); /* 80BCCAEC */ int Delete(); +private: /* 0x5A0 */ request_of_phase_process_class field_0x5a0; /* 0x5A8 */ J3DModel* field_0x5a8; -}; // Size: 0x5AC +}; +STATIC_ASSERT(sizeof(daCowdoor_c) == 0x5AC); #endif /* D_A_OBJ_COWDOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h b/include/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h index b62b382e80..43539203b2 100644 --- a/include/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h +++ b/include/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h @@ -4,6 +4,14 @@ #include "f_op/f_op_actor_mng.h" #include "d/cc/d_cc_d.h" +/** + * @ingroup actors-objects + * @class daObjCrope_c + * @brief Wolf Tightrope + * + * @details + * + */ class daObjCrope_c : public fopAc_ac_c { public: /* 80BCCCD8 */ int createHeap(); @@ -37,6 +45,7 @@ public: setBackJoint(-1); } +private: /* 0x0568 */ request_of_phase_process_class mPhase; /* 0x0570 */ dCcD_Stts mCcStts; /* 0x05AC */ dCcD_Sph mCollider; @@ -54,5 +63,7 @@ public: /* 0x0BD8 */ cXyz field_0xbd8[98]; /* 0x1070 */ mDoExt_3DlineMat1_c mLineMat; }; +STATIC_ASSERT(sizeof(daObjCrope_c) == 0x10ac); + #endif /* D_A_OBJ_CROPE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_crvfence/d_a_obj_crvfence.h b/include/rel/d/a/obj/d_a_obj_crvfence/d_a_obj_crvfence.h index 87fed19811..ac5cc2f4e6 100644 --- a/include/rel/d/a/obj/d_a_obj_crvfence/d_a_obj_crvfence.h +++ b/include/rel/d/a/obj/d_a_obj_crvfence/d_a_obj_crvfence.h @@ -1,6 +1,39 @@ #ifndef D_A_OBJ_CRVFENCE_H #define D_A_OBJ_CRVFENCE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjCRVFENCE_c + * @brief Caravan Fence + * + * @details + * + */ +class daObjCRVFENCE_c : public fopAc_ac_c { +public: + /* 80BCEC98 */ void CheckVec(); + /* 80BCED60 */ void Wall_Check(cXyz, cXyz); + /* 80BCEE60 */ void BgRelease(); + /* 80BCEED0 */ void PosSet(cXyz*); + /* 80BCEF30 */ void FenceMove(u8&, cXyz*, csXyz*, cXyz*, s16&); + /* 80BCF0B0 */ void BrokenAction(); + /* 80BCF404 */ void NormalAction(); + /* 80BCF7DC */ void checkViewArea(cXyz*); + /* 80BCF860 */ void Action(); + /* 80BCF8A4 */ void setBaseMtx(); + /* 80BCF9E4 */ void CreateHeap(); + /* 80BCFAE4 */ void create(); + /* 80BCFFC8 */ void Create(); + /* 80BD000C */ void Execute(f32 (**)[3][4]); + /* 80BD0058 */ void Draw(); + /* 80BD013C */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x103c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjCRVFENCE_c) == 0x103c); + #endif /* D_A_OBJ_CRVFENCE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_crvgate/d_a_obj_crvgate.h b/include/rel/d/a/obj/d_a_obj_crvgate/d_a_obj_crvgate.h index da6f91fab4..cff6bbfbc1 100644 --- a/include/rel/d/a/obj/d_a_obj_crvgate/d_a_obj_crvgate.h +++ b/include/rel/d/a/obj/d_a_obj_crvgate/d_a_obj_crvgate.h @@ -1,6 +1,51 @@ #ifndef D_A_OBJ_CRVGATE_H #define D_A_OBJ_CRVGATE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjCRVGATE_c + * @brief Caravan Gate + * + * @details + * + */ +class daObjCRVGATE_c : public fopAc_ac_c { +public: + /* 80BD0398 */ void initCcCylinder(); + /* 80BD0500 */ void setCcCylinder(); + /* 80BD069C */ void checkOpen(); + /* 80BD0880 */ void actionStartEvent(); + /* 80BD0978 */ void actionWaitEvent(); + /* 80BD0A64 */ void Demo_Set(); + /* 80BD0B7C */ void SetOpen(); + /* 80BD0B88 */ void actionDemoEvent(); + /* 80BD0D28 */ void event_proc_call(); + /* 80BD0D90 */ void CheckVec(); + /* 80BD0E1C */ void KeyVib(); + /* 80BD0F9C */ void DoorVib(); + /* 80BD10C0 */ void VibStop(); + /* 80BD10D0 */ void CloseVibration(); + /* 80BD1110 */ void CloseAction(); + /* 80BD18E0 */ void OpenAction(); + /* 80BD21E4 */ void HakaiMotion(); + /* 80BD22C8 */ void DoorAction(); + /* 80BD2338 */ void B_CloseAction(); + /* 80BD245C */ void SetB_Close(); + /* 80BD2528 */ void setBaseMtx(); + /* 80BD2670 */ void CreateHeap(); + /* 80BD2758 */ void SetDoor(); + /* 80BD28C0 */ void create(); + /* 80BD2E88 */ void Create(); + /* 80BD2ECC */ void Execute(f32 (**)[3][4]); + /* 80BD2FB8 */ void Draw(); + /* 80BD3074 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0xde4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjCRVGATE_c) == 0xde4); + #endif /* D_A_OBJ_CRVGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_crvhahen/d_a_obj_crvhahen.h b/include/rel/d/a/obj/d_a_obj_crvhahen/d_a_obj_crvhahen.h index 6203ebc5e8..0e6fbd49d1 100644 --- a/include/rel/d/a/obj/d_a_obj_crvhahen/d_a_obj_crvhahen.h +++ b/include/rel/d/a/obj/d_a_obj_crvhahen/d_a_obj_crvhahen.h @@ -1,6 +1,32 @@ #ifndef D_A_OBJ_CRVHAHEN_H #define D_A_OBJ_CRVHAHEN_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjCRVHAHEN_c + * @brief Caravan Wood + * + * @details + * + */ +class daObjCRVHAHEN_c : public fopAc_ac_c { +public: + /* 80BD342C */ void HahenSet(cXyz, cXyz, cXyz, cXyz, f32); + /* 80BD3628 */ void Wall_Check(cXyz, cXyz); + /* 80BD3720 */ void Hahen_Hakai(int, int); + /* 80BD38DC */ void CheckCull(); + /* 80BD3A9C */ void checkViewArea(cXyz*); + /* 80BD3B20 */ void Execute(); + /* 80BD3B74 */ void Delete(); + /* 80BD3C0C */ void setBaseMtx(); + /* 80BD3DBC */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0x794 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjCRVHAHEN_c) == 0x794); + #endif /* D_A_OBJ_CRVHAHEN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h b/include/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h index cf1b3c1050..c2266eced3 100644 --- a/include/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h +++ b/include/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h @@ -1,5 +1,35 @@ #ifndef D_A_OBJ_CRVLH_DOWN_H #define D_A_OBJ_CRVLH_DOWN_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjCRVLH_DW_c + * @brief Bulblin Tower (Lower Half) + * + * @details + * + */ +class daObjCRVLH_DW_c : public fopAc_ac_c { +public: + /* 80BD4138 */ void initCcCylinder(); + /* 80BD41A4 */ void SetCcSyl(); + /* 80BD4268 */ void BgRelease(); + /* 80BD42D8 */ void Break(); + /* 80BD45A4 */ void Obj_Hit(); + /* 80BD4644 */ void setBaseMtx(); + /* 80BD46EC */ void CreateHeap(); + /* 80BD4764 */ void create(); + /* 80BD4A84 */ void Create(); + /* 80BD4AC8 */ void Execute(f32 (**)[3][4]); + /* 80BD4C44 */ void Draw(); + /* 80BD4CC8 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x74c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjCRVLH_DW_c) == 0x74c); + #endif /* D_A_OBJ_CRVLH_DOWN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_crvlh_up/d_a_obj_crvlh_up.h b/include/rel/d/a/obj/d_a_obj_crvlh_up/d_a_obj_crvlh_up.h index ba489d2318..56e5cc3aea 100644 --- a/include/rel/d/a/obj/d_a_obj_crvlh_up/d_a_obj_crvlh_up.h +++ b/include/rel/d/a/obj/d_a_obj_crvlh_up/d_a_obj_crvlh_up.h @@ -1,6 +1,33 @@ #ifndef D_A_OBJ_CRVLH_UP_H #define D_A_OBJ_CRVLH_UP_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjCRVLH_UP_c + * @brief Bulblin Tower (Upper Half) + * + * @details + * + */ +class daObjCRVLH_UP_c : public fopAc_ac_c { +public: + /* 80BD4F1C */ void HakaiSet(); + /* 80BD4FB0 */ void UpMotion(); + /* 80BD4FD8 */ void Hakai(); + /* 80BD5254 */ void setBaseMtx(); + /* 80BD5378 */ void CreateHeap(); + /* 80BD53F0 */ void create(); + /* 80BD56EC */ void Create(); + /* 80BD5730 */ void Execute(f32 (**)[3][4]); + /* 80BD593C */ void Draw(); + /* 80BD59C0 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x770 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjCRVLH_UP_c) == 0x770); + #endif /* D_A_OBJ_CRVLH_UP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_crvsteel/d_a_obj_crvsteel.h b/include/rel/d/a/obj/d_a_obj_crvsteel/d_a_obj_crvsteel.h index d95f8f3b00..b5327594dc 100644 --- a/include/rel/d/a/obj/d_a_obj_crvsteel/d_a_obj_crvsteel.h +++ b/include/rel/d/a/obj/d_a_obj_crvsteel/d_a_obj_crvsteel.h @@ -1,6 +1,35 @@ #ifndef D_A_OBJ_CRVSTEEL_H #define D_A_OBJ_CRVSTEEL_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjCRVSTEEL_c + * @brief Caravan Steel + * + * @details + * + */ +class daObjCRVSTEEL_c : public fopAc_ac_c { +public: + /* 80BD5BFC */ void OpenSet(f32, f32); + /* 80BD5C18 */ void CloseSet(f32); + /* 80BD5C28 */ void CloseExecute(); + /* 80BD5CA0 */ void OpenExecute(); + /* 80BD5CC8 */ void Action(); + /* 80BD5D10 */ void setBaseMtx(); + /* 80BD5DB8 */ void CreateHeap(); + /* 80BD5E30 */ void create(); + /* 80BD60A8 */ void Create(); + /* 80BD60EC */ void Execute(f32 (**)[3][4]); + /* 80BD6138 */ void Draw(); + /* 80BD61BC */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x848 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjCRVSTEEL_c) == 0x848); + #endif /* D_A_OBJ_CRVSTEEL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_crystal/d_a_obj_crystal.h b/include/rel/d/a/obj/d_a_obj_crystal/d_a_obj_crystal.h index ec42e9c70a..692701b53e 100644 --- a/include/rel/d/a/obj/d_a_obj_crystal/d_a_obj_crystal.h +++ b/include/rel/d/a/obj/d_a_obj_crystal/d_a_obj_crystal.h @@ -3,6 +3,14 @@ #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjCrystal_c + * @brief Crystal Switch + * + * @details + * + */ class daObjCrystal_c : public fopAc_ac_c { public: /* 80BD63B8 */ void initBaseMtx(); @@ -14,10 +22,12 @@ public: /* 80BD673C */ int draw(); /* 80BD67C8 */ int _delete(); +private: /* 0x568 */ request_of_phase_process_class mPhase; /* 0x570 */ J3DModel* mpModel[2]; /* 0x578 */ JPABaseEmitter* mpEmitter; /* 0x57C */ u16 mJointID; }; +STATIC_ASSERT(sizeof(daObjCrystal_c) == 0x580); #endif /* D_A_OBJ_CRYSTAL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h b/include/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h index 49d71cc17d..d70aa084be 100644 --- a/include/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h +++ b/include/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h @@ -1,5 +1,55 @@ #ifndef D_A_OBJ_CWALL_H #define D_A_OBJ_CWALL_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjCwall_c + * @brief Chain Wall + * + * @details + * + */ +class daObjCwall_c : public fopAc_ac_c { +public: + struct chain_s { + public: + /* 80BD6E94 */ ~chain_s(); + /* 80BD6ED0 */ chain_s(); + }; + + + /* 80BD6A4C */ void initBaseMtx(); + /* 80BD6A88 */ void setBaseMtx(); + /* 80BD6AEC */ void Create(); + /* 80BD6D08 */ void CreateHeap(); + /* 80BD6ED4 */ void create1st(); + /* 80BD6F80 */ void Execute(f32 (**)[3][4]); + /* 80BD7288 */ void setTension(); + /* 80BD7718 */ void calcSePos(); + /* 80BD7788 */ void getChainBasePos(cXyz*); + /* 80BD7804 */ void setChainMtx(); + /* 80BD7AD4 */ void chain_control(); + /* 80BD7ED8 */ void chain_control2(); + /* 80BD84C0 */ void block_mode_proc_call(); + /* 80BD8594 */ void initWait(); + /* 80BD85C0 */ void modeWait(); + /* 80BD8748 */ void initWalk(); + /* 80BD8778 */ void modeWalk(); + /* 80BD8BC8 */ void initClose(); + /* 80BD8BF0 */ void modeClose(); + /* 80BD935C */ void setPower(f32, s16*); + /* 80BD9414 */ void checkWall(); + /* 80BD95A0 */ void checkPullNow(); + /* 80BD977C */ void checkPull(); + /* 80BD9848 */ void Draw(); + /* 80BD9948 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0xf5c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjCwall_c) == 0xf5c); + #endif /* D_A_OBJ_CWALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_damCps/d_a_obj_damCps.h b/include/rel/d/a/obj/d_a_obj_damCps/d_a_obj_damCps.h index 4e769ffe96..e395ed8137 100644 --- a/include/rel/d/a/obj/d_a_obj_damCps/d_a_obj_damCps.h +++ b/include/rel/d/a/obj/d_a_obj_damCps/d_a_obj_damCps.h @@ -1,6 +1,6 @@ #ifndef D_A_OBJ_DAMCPS_H #define D_A_OBJ_DAMCPS_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" #endif /* D_A_OBJ_DAMCPS_H */ diff --git a/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h b/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h index 38d91a8640..e9f35f2abe 100644 --- a/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h +++ b/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h @@ -1,5 +1,49 @@ #ifndef D_A_OBJ_DAN_H #define D_A_OBJ_DAN_H +#include "f_op/f_op_actor_mng.h" +#include "d/d_insect.h" + +/** + * @ingroup actors-objects + * @class daObjDAN_c + * @brief Insect - Pillbug + * + * @details + * + */ +class daObjDAN_c : public fopAc_ac_c { +public: + /* 80BDA5B4 */ void InitCcSph(); + /* 80BDA620 */ void SetCcSph(); + /* 80BDA698 */ void CreateHeap(); + /* 80BDAA3C */ void SpeedSet(); + /* 80BDAA9C */ void LinkChk(); + /* 80BDAB14 */ void MoveAction(); + /* 80BDAC10 */ void DamageAction(); + /* 80BDAFDC */ void Action(); + /* 80BDB074 */ void checkGroundPos(); + /* 80BDB0D8 */ void Insect_Release(); + /* 80BDB0E8 */ void Z_BufferChk(); + /* 80BDB264 */ void ParticleSet(); + /* 80BDB388 */ void ObjHit(); + /* 80BDB4E0 */ void BoomChk(); + /* 80BDB62C */ void Execute(); + /* 80BDB928 */ void Delete(); + /* 80BDB990 */ void setBaseMtx(); + /* 80BDBB0C */ void CreateChk(); + /* 80BDBCB8 */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0xa6c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjDAN_c) == 0xa6c); + + +class daObj_DanHIO_c { +public: + /* 80BDA58C */ daObj_DanHIO_c(); + /* 80BDC2F0 */ ~daObj_DanHIO_c(); +}; #endif /* D_A_OBJ_DAN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h b/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h index 69caac380c..104f9cef17 100644 --- a/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h +++ b/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjDigholl_c + * @brief Wolf Dig Place (Passage) + * + * @details + * + */ class daObjDigholl_c : public fopAc_ac_c { public: /* 80BDC618 */ int create(); @@ -10,6 +18,7 @@ public: /* 80BDC7D8 */ int execute(); /* 80BDCB0C */ int draw(); +private: /* 0x568 */ u8 field_0x568; /* 0x569 */ u8 field_0x569; /* 0x56A */ u8 field_0x56a; diff --git a/include/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.h b/include/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.h index 5ce77d9a1e..043151fc23 100644 --- a/include/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.h +++ b/include/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.h @@ -4,11 +4,20 @@ #include "d/d_path.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjDigpl_c + * @brief Wolf Dig Place (Treasure) + * + * @details + * + */ class daObjDigpl_c : public fopAc_ac_c { public: /* 8057BF98 */ int create(); /* 8057C1EC */ int execute(); +private: /* 0x568 */ u8 mType; /* 0x569 */ u8 mSwitch; /* 0x56A */ u8 mDigFlg; @@ -18,10 +27,12 @@ public: /* 0x5A0 */ int mUsedDigFlags[6]; /* 0x5B8 */ dPath* mpDigPoints; +public: /* 8057C158 */ virtual ~daObjDigpl_c(); u8 getSceneNum() { return (fopAcM_GetParam(this) >> 0xC) & 0xFF; } int getItemNum() { return getSceneNum(); } }; +STATIC_ASSERT(sizeof(daObjDigpl_c) == 0x5C0); #endif /* D_A_OBJ_DIGPLACE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.h b/include/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.h index 135e8f842b..1fc14354a5 100644 --- a/include/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.h +++ b/include/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.h @@ -8,6 +8,14 @@ class J3DModel; +/** + * @ingroup actors-objects + * @class daObjDigSnow_c + * @brief Wolf Dig Place (Snow) + * + * @details + * + */ class daObjDigSnow_c : public dBgS_MoveBgActor { public: enum Mode_e { diff --git a/include/rel/d/a/obj/d_a_obj_dmelevator/d_a_obj_dmelevator.h b/include/rel/d/a/obj/d_a_obj_dmelevator/d_a_obj_dmelevator.h index 91eba52b0b..2a107df46c 100644 --- a/include/rel/d/a/obj/d_a_obj_dmelevator/d_a_obj_dmelevator.h +++ b/include/rel/d/a/obj/d_a_obj_dmelevator/d_a_obj_dmelevator.h @@ -3,5 +3,96 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjDmElevator_c + * @brief Death Mountain Elevator + * + * @details + * + */ +class daObjDmElevator_c : public dBgS_MoveBgActor { +public: + /* 80BDDD38 */ void initBaseMtx(); + /* 80BDDD90 */ void setBaseMtx(); + /* 80BDDEFC */ int Create(); + /* 80BDE0A4 */ int init(); + /* 80BDE2F8 */ int CreateHeap(); + /* 80BDE448 */ int create1st(); + /* 80BDE500 */ int Execute(Mtx**); + /* 80BDE5F8 */ void setting_ride_flag(); + /* 80BDE6FC */ void event_sw_proc_call(); + /* 80BDE7A0 */ void actionSwPauseNoneInit(); + /* 80BDE7AC */ void actionSwPauseNone(); + /* 80BDE7B0 */ void actionSwPauseOrderInit(); + /* 80BDE808 */ void actionSwPauseOrder(); + /* 80BDE83C */ void actionSwPauseInit(); + /* 80BDE868 */ void actionSwPause(); + /* 80BDE8D0 */ void calc_top_pos(); + /* 80BDE960 */ void mode_sw_proc_call(); + /* 80BDEA1C */ void modeSwWaitLowerInit(); + /* 80BDEA44 */ void modeSwWaitLower(); + /* 80BDEB88 */ void modeSwLowerInit(); + /* 80BDEC10 */ void modeSwLower(); + /* 80BDEC94 */ void modeSwWaitUpperInit(); + /* 80BDECB4 */ void modeSwWaitUpper(); + /* 80BDECE0 */ void modeSwUpperInit(); + /* 80BDED64 */ void modeSwUpper(); + /* 80BDEDE0 */ void event_proc_call(); + /* 80BDEECC */ void actionWait(); + /* 80BDEF60 */ void actionOrderEvent(); + /* 80BDF000 */ void actionEvent(); + /* 80BDF068 */ void actionStartEvent(); + /* 80BDF0A0 */ void actionMoveStart(); + /* 80BDF168 */ void actionDead(); + /* 80BDF16C */ int demoProc(); + /* 80BDF320 */ void moveInit(); + /* 80BDF3B8 */ int moveProc(); + /* 80BDF618 */ int Draw(); + /* 80BDF6DC */ int Delete(); + + u32 getPathID() { return fopAcM_GetParamBit(this, 8, 8); } + +private: + /* 0x5A0 */ request_of_phase_process_class mPhaseReq; + /* 0x5A8 */ request_of_phase_process_class mPhaseReq2; + /* 0x5B0 */ J3DModel* mpElevatorModel; + /* 0x5B4 */ J3DModel* mpSwitchModel; + /* 0x5B8 */ Z2SoundObjSimple mSoundObj; + /* 0x5D8 */ u8 field_0x5D8[0x5DC - 0x5D8]; + /* 0x5DC */ s32 field_0x5dc; + /* 0x5E0 */ u8 field_0x5e0; + /* 0x5E1 */ u8 field_0x5e1; + /* 0x5E2 */ u8 field_0x5e2; + /* 0x5E3 */ u8 field_0x5e3; + /* 0x5E4 */ s16 field_0x5e4; + /* 0x5E6 */ s16 field_0x5e6; + /* 0x5E8 */ dBgW* mpBgW; + /* 0x5EC */ Mtx mMtx; + /* 0x61C */ cXyz mXyz; + /* 0x628 */ u8 field_0x628; + /* 0x629 */ u8 field_0x629; + /* 0x62A */ u8 field_0x62a; + /* 0x62B */ u8 field_0x62b; + /* 0x62C */ u8 field_0x62C[0x62D - 0x62C]; + /* 0x62D */ u8 field_0x62d; + /* 0x62E */ u8 field_0x62e; + /* 0x62F */ u8 field_0x62f; + /* 0x630 */ u8 field_0x630; + /* 0x631 */ u8 field_0x631; + /* 0x632 */ u8 field_0x632; + /* 0x633 */ u8 field_0x633; + /* 0x634 */ u8 field_0x634; + /* 0x635 */ u8 field_0x635; + /* 0x636 */ u8 field_0x636; + /* 0x637 */ u8 field_0x637; + /* 0x638 */ f32 field_0x638; + /* 0x63C */ f32 field_0x63c; + /* 0x640 */ f32 field_0x640; +}; +STATIC_ASSERT(sizeof(daObjDmElevator_c) == 0x644); + #endif /* D_A_OBJ_DMELEVATOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h b/include/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h index 7e1c81c04e..65273a162a 100644 --- a/include/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h +++ b/include/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h @@ -1,5 +1,43 @@ #ifndef D_A_OBJ_DROP_H #define D_A_OBJ_DROP_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjDrop_c + * @brief Tear of Light + * + * @details + * + */ +class daObjDrop_c : public fopAc_ac_c { +public: + /* 80BDFD8C */ void Create(); + /* 80BDFE58 */ void create(); + /* 80BE0358 */ void dropGet(); + /* 80BE0430 */ void checkGetArea(); + /* 80BE05DC */ void checkCompleteDemo(); + /* 80BE0658 */ void createLineEffect(); + /* 80BE071C */ void removeLineEffect(); + /* 80BE077C */ void createBodyEffect(); + /* 80BE0840 */ void removeBodyEffect(); + /* 80BE08A0 */ void modeInit(); + /* 80BE0994 */ void modeNoParent(); + /* 80BE09F4 */ void modeParentWait(); + /* 80BE0C08 */ void modeWait(); + /* 80BE1928 */ bool actionCompleteWait(); + /* 80BE1930 */ void actionOrderCompleteDemo(); + /* 80BE19D0 */ void actionCompleateDemo(); + /* 80BE1ACC */ void actionWaitCompleteGetDemo(); + /* 80BE1B5C */ void actionCompleteGetDemo(); + /* 80BE1BC4 */ void execute(); + /* 80BE1DCC */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0xa7c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjDrop_c) == 0xa7c); + #endif /* D_A_OBJ_DROP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_dust/d_a_obj_dust.h b/include/rel/d/a/obj/d_a_obj_dust/d_a_obj_dust.h index f179d8814c..b1d0accb8d 100644 --- a/include/rel/d/a/obj/d_a_obj_dust/d_a_obj_dust.h +++ b/include/rel/d/a/obj/d_a_obj_dust/d_a_obj_dust.h @@ -1,6 +1,33 @@ #ifndef D_A_OBJ_DUST_H #define D_A_OBJ_DUST_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjDust_c + * @brief Dust + * + * @details + * + */ +class daObjDust_c : public fopAc_ac_c { +public: + /* 80BE22B8 */ void Search_Ymb(); + /* 80BE2490 */ void RideOn_Angle(s16&, f32, s16, f32); + /* 80BE24F8 */ void Check_RideOn(); + /* 80BE2708 */ void initBaseMtx(); + /* 80BE2734 */ void setBaseMtx(); + /* 80BE2A70 */ void CreateHeap(); + /* 80BE2AE8 */ void Create(); + /* 80BE2B30 */ void Execute(f32 (**)[3][4]); + /* 80BE2E9C */ void Draw(); + /* 80BE2F40 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x84c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjDust_c) == 0x84c); + #endif /* D_A_OBJ_DUST_H */ diff --git a/include/rel/d/a/obj/d_a_obj_eff/d_a_obj_eff.h b/include/rel/d/a/obj/d_a_obj_eff/d_a_obj_eff.h index 7de0959503..966117ecdf 100644 --- a/include/rel/d/a/obj/d_a_obj_eff/d_a_obj_eff.h +++ b/include/rel/d/a/obj/d_a_obj_eff/d_a_obj_eff.h @@ -3,7 +3,22 @@ #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @namespace daObjEff + * @brief Object Effect? + * + * @details + * + */ namespace daObjEff { +/** + * @class Act_c + * @brief Actor Object Effect? + * + * @details + * + */ class Act_c : public fopAc_ac_c { public: enum Prm_e { @@ -21,4 +36,11 @@ public: }; }; // namespace daObjEff +struct daObj { +public: + template <typename T> + static int PrmAbstract(const fopAc_ac_c* param_0, T param_1, T param_2); +}; + + #endif /* D_A_OBJ_EFF_H */ diff --git a/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h b/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h index 64ad81de56..04221e4ba8 100644 --- a/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h +++ b/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjE_CREATE_c + * @brief Enemy Spawner + * + * @details + * + */ class daObjE_CREATE_c : public fopAc_ac_c { public: /* 80BE31BC */ void NormalAction(); @@ -28,7 +36,8 @@ private: /* 0x582 */ s16 mKillCheckDelayTimer; /* 0x584 */ u8 mAction; /* 0x588 */ u8 unused[12]; -}; // Size: 0x594 +}; +STATIC_ASSERT(sizeof(daObjE_CREATE_c) == 0x594); enum daObjE_EnemyType { ENEMY_NONE, diff --git a/include/rel/d/a/obj/d_a_obj_fallobj/d_a_obj_fallobj.h b/include/rel/d/a/obj/d_a_obj_fallobj/d_a_obj_fallobj.h index 897daf799b..cd4415db42 100644 --- a/include/rel/d/a/obj/d_a_obj_fallobj/d_a_obj_fallobj.h +++ b/include/rel/d/a/obj/d_a_obj_fallobj/d_a_obj_fallobj.h @@ -3,5 +3,61 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjFallObj_c + * @brief Fall Object? + * + * @details + * + */ +class daObjFallObj_c : public dBgS_MoveBgActor { +public: +public: + /* 80BE39B8 */ void initBaseMtx(); + /* 80BE3A24 */ void setBaseMtx(); + /* 80BE3A88 */ int Create(); + /* 80BE3BA8 */ void getFallTime(); + /* 80BE3BD4 */ void getFallHeight(); + /* 80BE3C28 */ int CreateHeap(); + /* 80BE3C98 */ int create1st(); + /* 80BE3D24 */ int Execute(Mtx**); + /* 80BE4138 */ void action(); + /* 80BE4228 */ void action_wait(bool); + /* 80BE42C0 */ void action_fallStart(); + /* 80BE43E4 */ void action_countdown(); + /* 80BE45F4 */ void action_fall(); + /* 80BE466C */ void action_end(); + /* 80BE4670 */ void action_follow_fall(); + /* 80BE4700 */ void checkHang(); + /* 80BE47A0 */ void checkHang2(); + /* 80BE48A4 */ int Draw(); + /* 80BE4948 */ int Delete(); + + u32 getTime() { return fopAcM_GetParamBit(this, 8, 8); } + u32 getPos() { return fopAcM_GetParamBit(this, 0x14, 8); } + BOOL checkFallStart() { return fopAcM_SearchByID(parentActorID)->speed.y != 0.0f; } + +private: + /* 0x5A0 */ request_of_phase_process_class mPhaseReq; + /* 0x5A8 */ Mtx mMtx; + /* 0x5D8 */ u8 field_0x5d8; + /* 0x5D9 */ u8 field_0x5d9; + /* 0x5DA */ s16 field_0x5da; + /* 0x5DC */ s16 field_0x5dc; + /* 0x5DE */ s16 field_0x5de; + /* 0x5E0 */ s32 field_0x5e0; + /* 0x5E4 */ u8 field_0x5e4; + /* 0x5E5 */ u8 field_0x5e5; + /* 0x5E8 */ J3DModel* mpModel; + /* 0x5EC */ s32 field_0x5ec; + /* 0x5F0 */ u8 field_0x5f0; + /* 0x5F1 */ u8 field_0x5f1; + /* 0x5F4 */ Z2SoundObjSimple mSoundObj; +}; +STATIC_ASSERT(sizeof(daObjFallObj_c) == 0x614); + #endif /* D_A_OBJ_FALLOBJ_H */ diff --git a/include/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h b/include/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h index c00a18230f..283498b55a 100644 --- a/include/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h +++ b/include/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h @@ -5,7 +5,16 @@ #include "d/cc/d_cc_d.h" #include "f_op/f_op_actor_mng.h" -struct daObjFan_c : public dBgS_MoveBgActor { +/** + * @ingroup actors-objects + * @class daObjFan_c + * @brief (City in the Sky?) Fan) + * + * @details + * + */ +class daObjFan_c : public dBgS_MoveBgActor { +public: /* 80BE4D98 */ fopAc_ac_c* search_tornado(); /* 80BE4E08 */ void initBaseMtx(); /* 80BE4E44 */ void setBaseMtx(); @@ -20,6 +29,7 @@ struct daObjFan_c : public dBgS_MoveBgActor { u8 getType() { return fopAcM_GetParamBit(this,0,4); } +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ J3DModel* mModel; /* 0x5AC */ dBgW* field_0x5ac; @@ -31,5 +41,6 @@ struct daObjFan_c : public dBgS_MoveBgActor { /* 0xAD4 */ u8 field_0xad4; /* 0xAD8 */ cXyz field_0xad8; }; +STATIC_ASSERT(sizeof(daObjFan_c) == 0xAE4); #endif /* D_A_OBJ_FAN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_fchain/d_a_obj_fchain.h b/include/rel/d/a/obj/d_a_obj_fchain/d_a_obj_fchain.h index 27023248e8..4ba07b079b 100644 --- a/include/rel/d/a/obj/d_a_obj_fchain/d_a_obj_fchain.h +++ b/include/rel/d/a/obj/d_a_obj_fchain/d_a_obj_fchain.h @@ -1,6 +1,36 @@ #ifndef D_A_OBJ_FCHAIN_H #define D_A_OBJ_FCHAIN_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daObjFchain_shape_c { +public: + /* 80BE7194 */ void draw(); + /* 80BE73D4 */ ~daObjFchain_shape_c(); +}; + +/** + * @ingroup actors-objects + * @class daObjFchain_c + * @brief Wolf Chain Shackle + * + * @details + * + */ +class daObjFchain_c : public fopAc_ac_c { +public: + /* 80BE5FF8 */ void createHeap(); + /* 80BE6074 */ void create(); + /* 80BE63C8 */ ~daObjFchain_c(); + /* 80BE64E0 */ void checkPlayerFoot(cXyz const*, cXyz const*, cXyz*); + /* 80BE66B4 */ void setGroundVec(cXyz*, f32); + /* 80BE6868 */ void execute(); + /* 80BE7324 */ void draw(); + +private: + /* 0x568 */ u8 field_0x568[0x928 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjFchain_c) == 0x928); + #endif /* D_A_OBJ_FCHAIN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h b/include/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h index 58b6bae5ae..84a13de0a1 100644 --- a/include/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h +++ b/include/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h @@ -3,5 +3,61 @@ #include "d/com/d_com_inf_game.h" #include "m_Do/m_Do_hostIO.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daFireWood_c + * @brief Kakariko Stove Flame? + * + * @details + * + */ +class daFireWood_c : public fopAc_ac_c { +public: + /* 80BE76B0 */ void setBaseMtx(); + /* 80BE7708 */ void create(); + /* 80BE79A0 */ void lightInit(); + /* 80BE7A14 */ void setLight(); + /* 80BE7A38 */ void Execute(); + /* 80BE7E74 */ bool Draw(); + /* 80BE7E7C */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x574 - 0x568]; + /* 0x574 */ dCcD_Stts mStts; + /* 0x5B0 */ dCcD_Cyl mCyl; + /* 0x6EC */ cXyz field_0x6ec; + /* 0x6F8 */ u8 field_0x6f8; + /* 0x6F9 */ u8 field_0x6f9; + /* 0x6FC */ u32 field_0x6fc[4]; + /* 0x70C */ u8 field_0x70c; + /* 0x710 */ cXyz field_0x710; + /* 0x71C */ LIGHT_INFLUENCE mLightInfluence; + /* 0x73C */ u8 field_0x73c; +}; +STATIC_ASSERT(sizeof(daFireWood_c) == 0x740); + +#ifdef NONMATCHING +class daFireWood_HIO_c : public mDoHIO_entry_c { +public: + /* 80BE762C */ daFireWood_HIO_c(); + /* 80BE7F24 */ virtual ~daFireWood_HIO_c(); + + /* 0x4 */ f32 field_0x4; + /* 0x8 */ f32 field_0x8; + /* 0xC */ u8 field_0xc; +}; +#else +struct daFireWood_HIO_c { + /* 80BE762C */ daFireWood_HIO_c(); + /* 80BE7F24 */ ~daFireWood_HIO_c(); +}; +#endif + + #endif /* D_A_OBJ_FIREWOOD_H */ diff --git a/include/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h b/include/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h index 2953c37672..feb8553af5 100644 --- a/include/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h +++ b/include/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h @@ -2,5 +2,56 @@ #define D_A_OBJ_FIREWOOD2_H #include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daFireWood2_c + * @brief Torch Stand + * + * @details + * + */ +class daFireWood2_c : public fopAc_ac_c { +public: + /* 80BE82D0 */ void setBaseMtx(); + /* 80BE8328 */ void create(); + /* 80BE8640 */ void lightInit(); + /* 80BE86CC */ void setLight(); + /* 80BE86FC */ void cutLight(); + /* 80BE872C */ void pointLightProc(); + /* 80BE87DC */ void Execute(); + /* 80BE8D98 */ int Draw(); + /* 80BE8DA0 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x574 - 0x568]; + /* 0x574 */ dCcD_Stts mStts; + /* 0x5B0 */ dCcD_Cyl mCyl; + /* 0x6EC */ cXyz field_0x6ec; + /* 0x6F8 */ u8 field_0x6f8; + /* 0x6F9 */ u8 field_0x6f9; + /* 0x6FA */ u8 field_0x6fa; + /* 0x6FB */ u8 field_0x6fb; + /* 0x6FC */ u32 field_0x6fc; + /* 0x700 */ u32 field_0x700; + /* 0x704 */ u32 field_0x704; + /* 0x708 */ u32 field_0x708; + /* 0x70C */ cXyz field_0x70c; + /* 0x718 */ u8 field_0x718; + /* 0x71C */ f32 field_0x71c; + /* 0x720 */ LIGHT_INFLUENCE mLightInfluence; +}; +STATIC_ASSERT(sizeof(daFireWood2_c) == 0x740); + +class daFireWood2_HIO_c { +public: + /* 80BE824C */ daFireWood2_HIO_c(); + /* 80BE8E54 */ ~daFireWood2_HIO_c(); +}; + #endif /* D_A_OBJ_FIREWOOD2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h b/include/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h index 9ff2adfe26..f7297a0f0e 100644 --- a/include/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h +++ b/include/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h @@ -1,5 +1,37 @@ #ifndef D_A_OBJ_FIREPILLAR_H #define D_A_OBJ_FIREPILLAR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjFPillar_c + * @brief Fire Pillar + * + * @details + * + */ +class daObjFPillar_c : public fopAc_ac_c { +public: + /* 80BE9118 */ void initBaseMtx(); + /* 80BE9138 */ void setBaseMtx(); + /* 80BE9190 */ void Create(); + /* 80BE9230 */ void create(); + /* 80BE94E4 */ void execute(); + /* 80BE9610 */ void action(); + /* 80BE96B4 */ void actionOffInit(); + /* 80BE96E0 */ void actionOff(); + /* 80BE9784 */ void actionOnWaitInit(); + /* 80BE97B8 */ void actionOnWait(); + /* 80BE986C */ void actionOnInit(); + /* 80BE98A0 */ void actionOn(); + /* 80BE9984 */ void draw(); + /* 80BE99B8 */ bool _delete(); + +private: + /* 0x568 */ u8 field_0x568[0x974 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjFPillar_c) == 0x974); + #endif /* D_A_OBJ_FIREPILLAR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h b/include/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h index e438b92892..689f8febfd 100644 --- a/include/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h +++ b/include/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h @@ -1,5 +1,38 @@ #ifndef D_A_OBJ_FIREPILLAR2_H #define D_A_OBJ_FIREPILLAR2_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjFPillar2_c + * @brief Lava Fire Pillar + * + * @details + * + */ +class daObjFPillar2_c : public fopAc_ac_c { +public: + /* 80BE9CD8 */ void initBaseMtx(); + /* 80BE9D5C */ void setBaseMtx(); + /* 80BE9DDC */ void Create(); + /* 80BEA034 */ void CreateHeap(); + /* 80BEA228 */ void create(); + /* 80BEA584 */ void execute(); + /* 80BEA734 */ void action(); + /* 80BEA808 */ void actionOffInit(); + /* 80BEA854 */ void actionOff(); + /* 80BEA98C */ void actionOnWaitInit(); + /* 80BEAAE4 */ void actionOnWait(); + /* 80BEAC68 */ void actionOnInit(); + /* 80BEADD0 */ void actionOn(); + /* 80BEB1B4 */ void draw(); + /* 80BEB278 */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0x9ec - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjFPillar2_c) == 0x9ec); + #endif /* D_A_OBJ_FIREPILLAR2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_flag/d_a_obj_flag.h b/include/rel/d/a/obj/d_a_obj_flag/d_a_obj_flag.h index fbdd520c42..f45aac605d 100644 --- a/include/rel/d/a/obj/d_a_obj_flag/d_a_obj_flag.h +++ b/include/rel/d/a/obj/d_a_obj_flag/d_a_obj_flag.h @@ -1,6 +1,38 @@ #ifndef D_A_OBJ_FLAG_H #define D_A_OBJ_FLAG_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class FlagJoint_c { +public: + /* 80BEC3BC */ ~FlagJoint_c(); + /* 80BEC4E0 */ FlagJoint_c(); +}; + +/** + * @ingroup actors-objects + * @class daObjFlag_c + * @brief Flag 1 + * + * @details + * + */ +class daObjFlag_c : public fopAc_ac_c { +public: + /* 80BEB778 */ void create_init(); + /* 80BEB8F0 */ void initBaseMtx(); + /* 80BEB984 */ void getJointAngle(csXyz*, int); + /* 80BEB9AC */ void calcJointAngle(); + /* 80BEBC58 */ void calcAngleSwingZ(FlagJoint_c*, f32); + /* 80BEBDAC */ void calcAngleSwingX(FlagJoint_c*, f32); + /* 80BEBE64 */ void getSwingY(f32); + + static u8 const M_attr[52]; + +private: + /* 0x568 */ u8 field_0x568[0x5ec - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjFlag_c) == 0x5ec); + #endif /* D_A_OBJ_FLAG_H */ diff --git a/include/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h b/include/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h index 0464efc9f5..69cfbbed7f 100644 --- a/include/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h +++ b/include/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h @@ -1,5 +1,49 @@ #ifndef D_A_OBJ_FLAG2_H #define D_A_OBJ_FLAG2_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjFlag2_c + * @brief Flag 2 + * + * @details + * + */ +class daObjFlag2_c : public fopAc_ac_c { +public: + /* 80BED22C */ void create_init(); + /* 80BED368 */ void initBaseMtx(); + /* 80BED3B8 */ void initCollision(); + /* 80BED44C */ void setCollision(); + /* 80BED480 */ void createHeap(); + /* 80BED6A0 */ void create(); + /* 80BED7A4 */ daObjFlag2_c(); + /* 80BEDCE0 */ void draw(); + /* 80BEDEE0 */ ~daObjFlag2_c(); + + static u8 const M_attr[20]; + +private: + /* 0x568 */ u8 field_0x568[0x10c0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjFlag2_c) == 0x10c0); + +class FlagCloth_c { +public: + /* 80BEC658 */ void initFlagPos(cXyz*, fopAc_ac_c*); + /* 80BEC7CC */ void calcFlagFactor(cXyz*, cXyz*, cXyz*, int); + /* 80BEC928 */ void calcFlagFactorSub(cXyz*, cXyz*, cXyz*, f32); + /* 80BECAE0 */ void calcFlagNormal(cXyz*, int); + /* 80BECC34 */ void calcFlagNormalBack(); + /* 80BECC78 */ void initCcSphere(fopAc_ac_c*); + /* 80BECCE4 */ void setCcSphere(); + /* 80BECD98 */ void execute(); + /* 80BECF30 */ void draw(); + /* 80BED9C4 */ ~FlagCloth_c(); + /* 80BEE0B8 */ void getTargetPos(); +}; + #endif /* D_A_OBJ_FLAG2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_flag3/d_a_obj_flag3.h b/include/rel/d/a/obj/d_a_obj_flag3/d_a_obj_flag3.h index 53cbda8ffc..266f20d29d 100644 --- a/include/rel/d/a/obj/d_a_obj_flag3/d_a_obj_flag3.h +++ b/include/rel/d/a/obj/d_a_obj_flag3/d_a_obj_flag3.h @@ -1,6 +1,41 @@ #ifndef D_A_OBJ_FLAG3_H #define D_A_OBJ_FLAG3_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjFlag3_c + * @brief Flag 3 + * + * @details + * + */ +class daObjFlag3_c : public fopAc_ac_c { +public: + /* 80BEEA78 */ void createHeap(); + /* 80BEED3C */ void execute(); + /* 80BEF700 */ ~daObjFlag3_c(); + /* 80BEF95C */ void create(); + /* 80BEFBC4 */ void create_init(); + + static u8 const M_attr[20]; + +private: + /* 0x568 */ u8 field_0x568[0x1340 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjFlag3_c) == 0x1340); + +class FlagCloth2_c { +public: + /* 80BEEDE4 */ void execute(); + /* 80BEEF74 */ void calcFlagNormal(cXyz*, int); + /* 80BEF278 */ void calcFlagFactor(cXyz*, cXyz*, cXyz*, int); + /* 80BEF790 */ ~FlagCloth2_c(); + /* 80BEFD08 */ void initFlagPos(cXyz*, fopAc_ac_c*); + /* 80BF00A0 */ void draw(); + /* 80BF0434 */ void getTargetPos(); +}; + #endif /* D_A_OBJ_FLAG3_H */ diff --git a/include/rel/d/a/obj/d_a_obj_fmobj/d_a_obj_fmobj.h b/include/rel/d/a/obj/d_a_obj_fmobj/d_a_obj_fmobj.h index 18474ac383..6d900bffb5 100644 --- a/include/rel/d/a/obj/d_a_obj_fmobj/d_a_obj_fmobj.h +++ b/include/rel/d/a/obj/d_a_obj_fmobj/d_a_obj_fmobj.h @@ -5,6 +5,14 @@ class dBgW; +/** + * @ingroup actors-objects + * @class obj_fmobj_class + * @brief Fyrus Object? + * + * @details + * + */ class obj_fmobj_class : public fopAc_ac_c { public: /* 0x568 */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/obj/d_a_obj_food/d_a_obj_food.h b/include/rel/d/a/obj/d_a_obj_food/d_a_obj_food.h index 5b05e50999..f966748fd0 100644 --- a/include/rel/d/a/obj/d_a_obj_food/d_a_obj_food.h +++ b/include/rel/d/a/obj/d_a_obj_food/d_a_obj_food.h @@ -6,6 +6,14 @@ #include "d/cc/d_cc_d.h" #include "f_op/f_op_actor.h" +/** + * @ingroup actors-objects + * @class obj_food_class + * @brief Dog Bone + * + * @details + * + */ class obj_food_class : public fopAc_ac_c { public: enum Type { diff --git a/include/rel/d/a/obj/d_a_obj_fw/d_a_obj_fw.h b/include/rel/d/a/obj/d_a_obj_fw/d_a_obj_fw.h index 81febd44a1..04857b3e25 100644 --- a/include/rel/d/a/obj/d_a_obj_fw/d_a_obj_fw.h +++ b/include/rel/d/a/obj/d_a_obj_fw/d_a_obj_fw.h @@ -1,6 +1,27 @@ #ifndef D_A_OBJ_FW_H #define D_A_OBJ_FW_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_fw_class + * @brief Firewood + * + * @details + * + */ +class obj_fw_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x628 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_fw_class) == 0x628); + +class daObj_Fw_HIO_c { +public: + /* 80BF204C */ daObj_Fw_HIO_c(); + /* 80BF2AB0 */ ~daObj_Fw_HIO_c(); +}; + #endif /* D_A_OBJ_FW_H */ diff --git a/include/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h b/include/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h index 48d8d6cb4d..9aa9a7ae0c 100644 --- a/include/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h +++ b/include/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h @@ -1,5 +1,46 @@ #ifndef D_A_OBJ_GADGET_H #define D_A_OBJ_GADGET_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_Gadget_c + * @brief Gadget + * + * @details + * + */ +class daObj_Gadget_c : public fopAc_ac_c { +public: + /* 80BF2D2C */ ~daObj_Gadget_c(); + /* 80BF2F28 */ void create(); + /* 80BF3478 */ void CreateHeap(); + /* 80BF3504 */ void Delete(); + /* 80BF3538 */ void Execute(); + /* 80BF3FAC */ void Draw(); + /* 80BF4130 */ void createHeapCallBack(fopAc_ac_c*); + /* 80BF4150 */ void setEnvTevColor(); + /* 80BF41AC */ void setRoomNo(); + /* 80BF41F0 */ void reset(); + /* 80BF424C */ void setMtx(); + /* 80BF4354 */ void calcRollAngle(s16, int); + /* 80BF43F4 */ void getWallAngle(s16, s16*); + /* 80BF4584 */ void setSmokePrtcl(); + /* 80BF4600 */ void setWaterPrtcl(); + /* 80BF4728 */ void setHamonPrtcl(); + +private: + /* 0x568 */ u8 field_0x568[0xa4c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_Gadget_c) == 0xa4c); + +class daObj_Gadget_Param_c { +public: + /* 80BF48D8 */ ~daObj_Gadget_Param_c(); + + static u8 const m[44]; +}; + #endif /* D_A_OBJ_GADGET_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ganonwall/d_a_obj_ganonwall.h b/include/rel/d/a/obj/d_a_obj_ganonwall/d_a_obj_ganonwall.h index 861155616b..642351ce58 100644 --- a/include/rel/d/a/obj/d_a_obj_ganonwall/d_a_obj_ganonwall.h +++ b/include/rel/d/a/obj/d_a_obj_ganonwall/d_a_obj_ganonwall.h @@ -2,5 +2,40 @@ #define D_A_OBJ_GANONWALL_H #include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjGWall_c + * @brief Gannon Wall + * + * @details + * + */ +class daObjGWall_c : public fopAc_ac_c { +public: + /* 80BF4D18 */ void initBaseMtx(); + /* 80BF4D54 */ void setBaseMtx(); + /* 80BF4DA8 */ int Create(); + /* 80BF4E8C */ int CreateHeap(); + /* 80BF4FF0 */ int create(); + /* 80BF50A4 */ int execute(); + /* 80BF50CC */ int checkDraw(); + /* 80BF5168 */ int draw(); + /* 80BF5530 */ int _delete(); + + u32 getEventBit1() { return fopAcM_GetParamBit(this, 0, 10); } + u32 getEventBit2() { return fopAcM_GetParamBit(this, 10, 10); } + +private: + /* 0x568 */ request_of_phase_process_class mPhaseReq; + /* 0x570 */ J3DModel* mpModel; + /* 0x574 */ mDoExt_btkAnm* mpBtkAnm; + /* 0x578 */ u16 field_0x578; + /* 0x57A */ u16 field_0x57a; + /* 0x57C */ s16 field_0x57c; +}; +STATIC_ASSERT(sizeof(daObjGWall_c) == 0x580); + #endif /* D_A_OBJ_GANONWALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ganonwall2/d_a_obj_ganonwall2.h b/include/rel/d/a/obj/d_a_obj_ganonwall2/d_a_obj_ganonwall2.h index 686fef963d..964280c9fa 100644 --- a/include/rel/d/a/obj/d_a_obj_ganonwall2/d_a_obj_ganonwall2.h +++ b/include/rel/d/a/obj/d_a_obj_ganonwall2/d_a_obj_ganonwall2.h @@ -1,6 +1,31 @@ #ifndef D_A_OBJ_GANONWALL2_H #define D_A_OBJ_GANONWALL2_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjGWall2_c + * @brief Ganon Wall 2 + * + * @details + * + */ +class daObjGWall2_c : public fopAc_ac_c { +public: + /* 80BF57D8 */ void initBaseMtx(); + /* 80BF5814 */ void setBaseMtx(); + /* 80BF5878 */ void Create(); + /* 80BF5950 */ void CreateHeap(); + /* 80BF5AB4 */ void create1st(); + /* 80BF5B74 */ void Execute(f32 (**)[3][4]); + /* 80BF5C0C */ void Draw(); + /* 80BF6004 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5c0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjGWall2_c) == 0x5c0); + #endif /* D_A_OBJ_GANONWALL2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_gb/d_a_obj_gb.h b/include/rel/d/a/obj/d_a_obj_gb/d_a_obj_gb.h index f102421013..3f9533b6be 100644 --- a/include/rel/d/a/obj/d_a_obj_gb/d_a_obj_gb.h +++ b/include/rel/d/a/obj/d_a_obj_gb/d_a_obj_gb.h @@ -1,6 +1,21 @@ #ifndef D_A_OBJ_GB_H #define D_A_OBJ_GB_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_gb_class + * @brief Ganondorf Barrier + * + * @details + * + */ +class obj_gb_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x6bc - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_gb_class) == 0x6bc); + #endif /* D_A_OBJ_GB_H */ diff --git a/include/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h b/include/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h index 92be3b93a3..393f464bdb 100644 --- a/include/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h +++ b/include/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h @@ -1,5 +1,61 @@ #ifndef D_A_OBJ_GEYSER_H #define D_A_OBJ_GEYSER_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjGeyser_c + * @brief Geyser + * + * @details + * + */ +class daObjGeyser_c : public fopAc_ac_c { +public: + /* 80BF6F18 */ void initBaseMtx(); + /* 80BF6F38 */ void setBaseMtx(); + /* 80BF6F80 */ void Create(); + /* 80BF70E0 */ void CreateHeap(); + /* 80BF7174 */ void create1st(); + /* 80BF7288 */ void Execute(f32 (**)[3][4]); + /* 80BF744C */ void action(); + /* 80BF75B8 */ void actionOff2Init(); + /* 80BF75C4 */ void actionOff2(); + /* 80BF7838 */ void actionOnWait2Init(); + /* 80BF787C */ void actionOnWait2(); + /* 80BF7C54 */ void actionOn2Init(); + /* 80BF7CA0 */ void actionOn2(); + /* 80BF8158 */ void actionDisappearInit(u8); + /* 80BF8178 */ void actionDisappear(); + /* 80BF823C */ void actionOffInit(); + /* 80BF8268 */ void actionOff(); + /* 80BF82D0 */ void actionOnWaitInit(); + /* 80BF8344 */ void actionOnWait(); + /* 80BF83E4 */ void actionOnInit(); + /* 80BF846C */ void actionOn(); + /* 80BF8584 */ void setPntWind(); + /* 80BF863C */ void cutPntWind(); + /* 80BF8660 */ void movePntWind(); + /* 80BF8870 */ void Draw(); + /* 80BF8914 */ void setEmitterPre00(); + /* 80BF89AC */ void setEmitterSrc00Sand(); + /* 80BF89B0 */ void setEmitterSrc01Smk(); + /* 80BF8A54 */ void stopEmitterPre00(); + /* 80BF8A80 */ void stopEmitterSrc00Sand(); + /* 80BF8AAC */ void stopEmitterSrc01Smk(); + /* 80BF8AD8 */ void setEmitterClm00(); + /* 80BF8B70 */ void setEmitterSmk01(); + /* 80BF8C08 */ void setEmitterSmk02(); + /* 80BF8CA0 */ void stopEmitterClm00(); + /* 80BF8CCC */ void stopEmitterSmk01(); + /* 80BF8CF8 */ void stopEmitterSmk02(); + /* 80BF8D24 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x7f0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjGeyser_c) == 0x7f0); + #endif /* D_A_OBJ_GEYSER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_glowSphere/d_a_obj_glowSphere.h b/include/rel/d/a/obj/d_a_obj_glowSphere/d_a_obj_glowSphere.h index 2bd4602139..ea75fa3fe8 100644 --- a/include/rel/d/a/obj/d_a_obj_glowSphere/d_a_obj_glowSphere.h +++ b/include/rel/d/a/obj/d_a_obj_glowSphere/d_a_obj_glowSphere.h @@ -1,6 +1,71 @@ #ifndef D_A_OBJ_GLOWSPHERE_H #define D_A_OBJ_GLOWSPHERE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daGlwSph_c + * @brief STAR Game Glow Sphere + * + * @details + * + */ +class daGlwSph_c : public fopAc_ac_c { +public: + /* 80BF9430 */ void getSphMng(); + /* 80BF943C */ void setBaseMtx(); + /* 80BF94AC */ void createHeapCallBack(fopAc_ac_c*); + /* 80BF94CC */ void CreateHeap(); + /* 80BF95D4 */ void create(); + /* 80BF9B1C */ void execute(); + /* 80BF9BC0 */ void actionMain(); + /* 80BF9DF0 */ void effectSet(); + /* 80BF9F30 */ void getSE(); + /* 80BFA010 */ void getVibe(); + /* 80BFA064 */ void actionWaitInit(); + /* 80BFA070 */ void actionWait(); + /* 80BFA074 */ void actionGetInit(); + /* 80BFA130 */ void actionGet(); + /* 80BFA1E0 */ void actionMoveInit(); + /* 80BFA204 */ void actionMove(); + /* 80BFA2A4 */ void draw(); + /* 80BFA3EC */ void _delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDSph[64]; + static u8 mSphMng[964]; + +private: + /* 0x568 */ u8 field_0x568[0x98c - 0x568]; +}; +STATIC_ASSERT(sizeof(daGlwSph_c) == 0x98C); + +class daGlwSph_HIO_c { +public: + /* 80BF934C */ daGlwSph_HIO_c(); + /* 80BFA76C */ ~daGlwSph_HIO_c(); +}; + +class _GlSph_Mng_c { +public: + /* 80BFA4B8 */ void _clrLstBuf(); + /* 80BFA4DC */ void entry(daGlwSph_c*); + /* 80BFA528 */ void remove(daGlwSph_c*); + /* 80BFA55C */ void _setting_main(); + /* 80BFA5C4 */ void _chkAllGet_main(); + /* 80BFA60C */ void SphSeProc(); + /* 80BFA6D8 */ void clrSphSe(); + /* 80BFA6E8 */ void getSphSe(); + /* 80BFA6F8 */ void incSphSe(); + /* 80BFA890 */ ~_GlSph_Mng_c(); +}; + +class _GlSph_LstInfo_c{ +public: + /* 80BFA900 */ ~_GlSph_LstInfo_c(); + /* 80BFA93C */ _GlSph_LstInfo_c(); +}; + #endif /* D_A_OBJ_GLOWSPHERE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h b/include/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h index 3241dddc0f..78b941c25f 100644 --- a/include/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h +++ b/include/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h @@ -1,5 +1,33 @@ #ifndef D_A_OBJ_GM_H #define D_A_OBJ_GM_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_gm_class + * @brief Gohma Egg Container + * + * @details + * + */ +class obj_gm_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0xaf4 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_gm_class) == 0xaf4); + +class daObj_Gm_HIO_c { +public: + /* 80BFB14C */ daObj_Gm_HIO_c(); + /* 80BFD284 */ ~daObj_Gm_HIO_c(); +}; + +struct daObj { +public: + /* 800372A0 */ void make_eff_break_gm_kotubo(fopAc_ac_c*); + /* 80037330 */ void make_eff_break_gm_ootubo(fopAc_ac_c*); +}; + #endif /* D_A_OBJ_GM_H */ diff --git a/include/rel/d/a/obj/d_a_obj_goGate/d_a_obj_goGate.h b/include/rel/d/a/obj/d_a_obj_goGate/d_a_obj_goGate.h index a82777a557..827e2330d5 100644 --- a/include/rel/d/a/obj/d_a_obj_goGate/d_a_obj_goGate.h +++ b/include/rel/d/a/obj/d_a_obj_goGate/d_a_obj_goGate.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_GOGATE_H #define D_A_OBJ_GOGATE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daGoGate_c + * @brief Goron Gate + * + * @details + * + */ +class daGoGate_c : public fopAc_ac_c { +public: + /* 80BFD724 */ void setBaseMtx(); + /* 80BFD7C0 */ void CreateHeap(); + /* 80BFD82C */ void create(); + /* 80BFD984 */ void Execute(f32 (**)[3][4]); + /* 80BFD9D4 */ void moveGate(); + /* 80BFDAD8 */ void init_modeWait(); + /* 80BFDAE4 */ void modeWait(); + /* 80BFDAE8 */ void init_modeMoveOpen(); + /* 80BFDAF4 */ void modeMoveOpen(); + /* 80BFDC04 */ void init_modeMoveClose(); + /* 80BFDC10 */ void modeMoveClose(); + /* 80BFDD20 */ void setSe(); + /* 80BFDDDC */ void Draw(); + /* 80BFDE80 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5b8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daGoGate_c) == 0x5b8); + +class daGoGate_HIO_c { +public: + /* 80BFD6AC */ daGoGate_HIO_c(); + /* 80BFDF3C */ ~daGoGate_HIO_c(); +}; + #endif /* D_A_OBJ_GOGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h b/include/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h index 110f5c6dae..afe8b99c22 100644 --- a/include/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h +++ b/include/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h @@ -1,5 +1,48 @@ #ifndef D_A_OBJ_GOMIKABE_H #define D_A_OBJ_GOMIKABE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjGOMIKABE_c + * @brief Garbage Wall + * + * @details + * + */ +class daObjGOMIKABE_c : public fopAc_ac_c { +public: + /* 80BFE244 */ void initCcCylinder(); + /* 80BFE2CC */ void SetCcCyl(); + /* 80BFE47C */ void WaitAction(); + /* 80BFE4C4 */ void BreakChk(); + /* 80BFE52C */ void BreakSet(); + /* 80BFEA60 */ void getWaterStream(cXyz&, cXyz&, f32); + /* 80BFEB90 */ void SpeedSet(); + /* 80BFED54 */ void BreakAction(); + /* 80BFED74 */ void CheckCull(); + /* 80BFEE24 */ void checkViewArea(cXyz); + /* 80BFEEA8 */ void Action(); + /* 80BFEF20 */ void setBaseMtx(); + /* 80BFEF84 */ void setBaseMtx2(); + /* 80BFF064 */ void CreateHeap(); + /* 80BFF164 */ void create(); + /* 80BFF8D8 */ void Create(); + /* 80BFF938 */ void Execute(f32 (**)[3][4]); + /* 80BFFA00 */ void Draw(); + /* 80BFFB1C */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x13c4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjGOMIKABE_c) == 0x13c4); + +class daObjGOMIKABE_HIO_c { +public: + /* 80BFE22C */ daObjGOMIKABE_HIO_c(); + /* 80BFFB74 */ ~daObjGOMIKABE_HIO_c(); +}; + #endif /* D_A_OBJ_GOMIKABE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_gpTaru/d_a_obj_gpTaru.h b/include/rel/d/a/obj/d_a_obj_gpTaru/d_a_obj_gpTaru.h index 18b06f846e..706f1e0f91 100644 --- a/include/rel/d/a/obj/d_a_obj_gpTaru/d_a_obj_gpTaru.h +++ b/include/rel/d/a/obj/d_a_obj_gpTaru/d_a_obj_gpTaru.h @@ -1,6 +1,58 @@ #ifndef D_A_OBJ_GPTARU_H #define D_A_OBJ_GPTARU_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daGpTaru_c + * @brief Gunpowder Barrel + * + * @details + * + */ +class daGpTaru_c : public fopAc_ac_c { +public: + /* 8057D1F8 */ void setBaseMtx(); + /* 8057D2D0 */ void CreateHeap(); + /* 8057D33C */ void create(); + /* 8057D7CC */ void createHeapCallBack(fopAc_ac_c*); + /* 8057DB3C */ void chkSinkAll(); + /* 8057DB60 */ void chkWaterLineIn(); + /* 8057DB84 */ void bgCheck(); + /* 8057E224 */ void Execute(); + /* 8057E494 */ void mode_proc_call(); + /* 8057E5DC */ void mode_init_wait(); + /* 8057E618 */ void mode_proc_wait(); + /* 8057E63C */ void mode_init_carry(); + /* 8057E660 */ void mode_proc_carry(); + /* 8057E700 */ void mode_init_drop(); + /* 8057E72C */ void mode_proc_drop(); + /* 8057E750 */ void mode_init_roll(); + /* 8057E768 */ void mode_proc_roll(); + /* 8057EBA4 */ void mode_init_exploInit(); + /* 8057EC60 */ void mode_proc_exploInit(); + /* 8057EE2C */ void mode_init_explosion(); + /* 8057EFB0 */ void mode_proc_explosion(); + /* 8057EFFC */ void mode_init_sink(); + /* 8057F014 */ void mode_proc_sink(); + /* 8057F104 */ void breakEffSet(); + /* 8057F284 */ void Draw(); + /* 8057F328 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x9ac - 0x568]; +}; +STATIC_ASSERT(sizeof(daGpTaru_c) == 0x9ac); + +class daGpTaru_HIO_c { +public: + /* 8057D0CC */ daGpTaru_HIO_c(); + /* 8057F458 */ ~daGpTaru_HIO_c(); +}; + #endif /* D_A_OBJ_GPTARU_H */ diff --git a/include/rel/d/a/obj/d_a_obj_gra2/d_a_obj_gra2.h b/include/rel/d/a/obj/d_a_obj_gra2/d_a_obj_gra2.h index 39b7c49406..daa020e3c0 100644 --- a/include/rel/d/a/obj/d_a_obj_gra2/d_a_obj_gra2.h +++ b/include/rel/d/a/obj/d_a_obj_gra2/d_a_obj_gra2.h @@ -1,6 +1,166 @@ #ifndef D_A_OBJ_GRA2_H #define D_A_OBJ_GRA2_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_GrA_c + * @brief Goron A + * + * @details + * + */ +class daObj_GrA_c : public fopAc_ac_c { +public: + class daObj_GrA_prtclMngr_c { + public: + /* 80C04E14 */ ~daObj_GrA_prtclMngr_c(); + /* 80C04E50 */ daObj_GrA_prtclMngr_c(); + }; + + /* 80BFFF58 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 80BFFF70 */ daObj_GrA_c(); + /* 80C0011C */ ~daObj_GrA_c(); + /* 80C003CC */ void create(); + /* 80C00614 */ void CreateHeap(); + /* 80C00790 */ void Delete(); + /* 80C00804 */ void Execute(f32 (**)[3][4]); + /* 80C00A44 */ void Draw(); + /* 80C00ACC */ void jointCtrl(J3DJoint*, J3DModel*); + /* 80C00D5C */ void getResName(); + /* 80C00D74 */ void getMode(); + /* 80C00DF8 */ void getPathNo(); + /* 80C00E04 */ void getTagNo(); + /* 80C00E10 */ void getJumpType(); + /* 80C00E1C */ void isDelete(); + /* 80C00EFC */ void restart(); + /* 80C010D4 */ void init(); + /* 80C013B0 */ void setBaseAnm(int, f32); + /* 80C014F4 */ void setFaceAnm(int, bool, f32); + /* 80C01698 */ void setFaceBtp(int); + /* 80C0178C */ void setBaseMotion(int, f32); + /* 80C017AC */ void setFaceMotion(int, f32); + /* 80C017F0 */ void calcMotion(); + /* 80C018C0 */ void checkProcess(int (daObj_GrA_c::*)(void*)); + /* 80C018F4 */ void setProcess(int (daObj_GrA_c::*)(void*)); + /* 80C019B8 */ void setParam(); + /* 80C01C18 */ void checkEvent(); + /* 80C01D7C */ void mainProc(); + /* 80C01FE4 */ void adjustShapeAngle(); + /* 80C01FE8 */ void setMtx(int); + /* 80C02614 */ void setCollisions(); + /* 80C02970 */ void setAttnPos(); + /* 80C02A5C */ void drawOtherMdls(); + /* 80C02A60 */ bool dbgDraw(); + /* 80C02A68 */ void ppMoveInit(); + /* 80C02AD4 */ void setLookMode(int); + /* 80C02AE8 */ void lookat(); + /* 80C0308C */ void hitChk(); + /* 80C031E4 */ void wait(void*); + /* 80C0335C */ void talk(void*); + /* 80C035B8 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*); + /* 80C03720 */ void checkTagGraSub(fopAc_ac_c*); + /* 80C03764 */ void fallAbyssCheck(); + /* 80C03830 */ void setPrtcl(); + /* 80C03B14 */ void base000(int); + /* 80C03B48 */ void base001(int); + /* 80C03B7C */ void base003(int); + /* 80C03C1C */ void base004(int); + /* 80C03CBC */ void base005(int); + /* 80C03D54 */ void base006(int); + /* 80C03D88 */ void base007(int); + /* 80C03DF0 */ void base008(int); + /* 80C03E74 */ void base009(int); + /* 80C03F14 */ void base010(int); + /* 80C03FC0 */ void base013(int); + /* 80C04118 */ void base016(int); + /* 80C04180 */ void base017(int); + /* 80C041E8 */ void base018(int); + /* 80C04260 */ void base019(int); + /* 80C042D4 */ void base020(int); + /* 80C04308 */ void base021(int); + /* 80C0433C */ void base022(int); + /* 80C04370 */ void base023(int); + /* 80C043A4 */ void base024(int); + /* 80C043D8 */ void base025(int); + /* 80C0440C */ void base026(int); + /* 80C04440 */ void face000(int); + /* 80C04478 */ void face003(int); + /* 80C04518 */ void face004(int); + /* 80C045B8 */ void face005(int); + /* 80C045F0 */ void face006(int); + /* 80C04628 */ void face007(int); + /* 80C04660 */ void face008(int); + /* 80C04700 */ void face009(int); + /* 80C047A0 */ void face010(int); + /* 80C047D8 */ void face011(int); + /* 80C04810 */ void face012(int); + /* 80C04848 */ void face016(int); + /* 80C04880 */ void face017(int); + /* 80C048B8 */ void face999(int); + /* 80C048F8 */ void evtcutTalk(int, int); + /* 80C04A0C */ void setFaceTalkAfter(); + /* 80C0536C */ void getSrchCircleR(); + /* 80C053C4 */ void standWait(void*); + /* 80C05920 */ void walk(void*); + /* 80C05F64 */ void defence(void*); + /* 80C061F4 */ void toStone(void*); + /* 80C067D8 */ void step(void*); + /* 80C06CDC */ void rollReturn(void*); + /* 80C0780C */ void soldierDemoSkip(); + /* 80C078A8 */ void soldierDemo(void*); + /* 80C07C40 */ void getSrchLinkR(); + /* 80C07C98 */ void getSrchGraR(); + /* 80C07CF0 */ void getSpeed(); + /* 80C07D38 */ void standRoll(void*); + /* 80C083F0 */ void rollDemo(void*); + /* 80C08804 */ void rollAttack(void*); + /* 80C09298 */ void rollAttacked(void*); + /* 80C09918 */ void rollEscape(void*); + /* 80C09F08 */ void rollLanding(); + /* 80C0A018 */ void thrown(void*); + /* 80C0A120 */ void demo_camera(); + /* 80C0AF94 */ void rollAttackedDemo(); + /* 80C0B9AC */ void graThrowDemo(); + /* 80C0BD90 */ void setCarryStatus(); + /* 80C0BE5C */ void checkThrow(); + /* 80C0BF34 */ void calcCatchPos(f32, int); + /* 80C0C348 */ void initCrazyBeforeCatch(int); + /* 80C0C364 */ void executeCrazyBeforeCatch(); + /* 80C0C3E0 */ void initCrazyCatch(int); + /* 80C0C478 */ void executeCrazyCatch(); + /* 80C0C5F0 */ void initCrazyThrow(int); + /* 80C0C690 */ void executeCrazyThrow(); + /* 80C0C84C */ void initCrazyAttack(); + /* 80C0CA64 */ void executeCrazyJumping(); + /* 80C0CDBC */ void modeChangeCheck(); + /* 80C0CF98 */ void checkGraSub(fopAc_ac_c*); + /* 80C0D000 */ void waitDemo(void*); + /* 80C0D2FC */ void skipDemoGra(); + /* 80C0D3E0 */ void startDemo(void*); + /* 80C0EFC4 */ void turn(s16, f32, int); + /* 80C0F17C */ void turn_step(s16, int, int, int); + /* 80C0F330 */ void chkFindPlayer2(int, s16); + /* 80C0F668 */ void chkPointInArea(cXyz, cXyz, cXyz, s16); + /* 80C0F5A4 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16); + /* 80C0F6E0 */ void chkActorInSight2(fopAc_ac_c*, f32, s16); + /* 80C0F7EC */ void getAttentionPos(fopAc_ac_c*); + /* 80C0F860 */ void standWaitJump(void*); + + static u8 mBaseMotionList[264]; + static u8 mFaceMotionList[168]; + +private: + /* 0x568 */ u8 field_0x568[0x20a4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_GrA_c) == 0x20a4); + +class daObj_GrA_Param_c { +public: + /* 80C04B1C */ ~daObj_GrA_Param_c(); + + static u8 const m[192]; +}; #endif /* D_A_OBJ_GRA2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h b/include/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h index ffd623b44f..92f6fb7a13 100644 --- a/include/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h +++ b/include/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h @@ -4,17 +4,27 @@ #include "d/com/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjGraWall_c + * @brief Goron Wall? + * + * @details + * + */ class daObjGraWall_c : public fopAc_ac_c { - public: +public: /* 80C10BF8 */ int Create(); /* 80C10DD8 */ int Execute(); /* 80C10E78 */ int Delete(); /* 80C10E80 */ void col_init(); /* 80C10ED4 */ void col_set(); +private: /* 0x568 */ dCcD_Stts mStts; /* 0x5A4 */ dCcD_Cyl mCyl; /* 0x6E0 */ u8 field_0x6e0; -}; // Size: 0x6E4 +}; +STATIC_ASSERT(sizeof(daObjGraWall_c) == 0x6E4); #endif /* D_A_OBJ_GRAWALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_gra_rock/d_a_obj_gra_rock.h b/include/rel/d/a/obj/d_a_obj_gra_rock/d_a_obj_gra_rock.h index 775f91092b..c42f119708 100644 --- a/include/rel/d/a/obj/d_a_obj_gra_rock/d_a_obj_gra_rock.h +++ b/include/rel/d/a/obj/d_a_obj_gra_rock/d_a_obj_gra_rock.h @@ -1,6 +1,40 @@ #ifndef D_A_OBJ_GRA_ROCK_H #define D_A_OBJ_GRA_ROCK_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/cc/d_cc_d.h" + +/** + * @ingroup actors-objects + * @class daObjGraRock_c + * @brief Goron Entombing Rock + * + * @details + * + */ +class daObjGraRock_c : public fopAc_ac_c { +public: + /* 80C110F8 */ void setAttnPos(); + /* 80C11444 */ void setBaseMtx(); + /* 80C114C0 */ void setPrtcl(); + /* 80C1157C */ void bombParticleSet(); + /* 80C11730 */ void setEnvTevColor(); + /* 80C1178C */ void setRoomNo(); + /* 80C117D0 */ void col_set(); + /* 80C11964 */ void checkHitAt(cCcD_Obj*); + /* 80C11970 */ void Create(); + /* 80C11B68 */ void CreateHeap(); + /* 80C11C64 */ void create(); + /* 80C11FF0 */ void Execute(f32 (**)[3][4]); + /* 80C120FC */ void Draw(); + /* 80C121C4 */ void Delete(); + + static u8 const mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x9cc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjGraRock_c) == 0x9cc); + #endif /* D_A_OBJ_GRA_ROCK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_grave_stone/d_a_obj_grave_stone.h b/include/rel/d/a/obj/d_a_obj_grave_stone/d_a_obj_grave_stone.h index 749c444e51..167b332937 100644 --- a/include/rel/d/a/obj/d_a_obj_grave_stone/d_a_obj_grave_stone.h +++ b/include/rel/d/a/obj/d_a_obj_grave_stone/d_a_obj_grave_stone.h @@ -5,6 +5,14 @@ #include "d/cc/d_cc_d.h" #include "d/particle/d_particle_copoly.h" +/** + * @ingroup actors-objects + * @class daGraveStone_c + * @brief Zora Gravestone + * + * @details + * + */ class daGraveStone_c : public dBgS_MoveBgActor { public: class daObj_GrvStn_prtclMngr_c { @@ -31,6 +39,7 @@ public: /* 80C13078 */ int Draw(); /* 80C1311C */ int Delete(); +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ dBgS_ObjAcch mAcch; diff --git a/include/rel/d/a/obj/d_a_obj_groundwater/d_a_obj_groundwater.h b/include/rel/d/a/obj/d_a_obj_groundwater/d_a_obj_groundwater.h index 6fec5796aa..719e1e871a 100644 --- a/include/rel/d/a/obj/d_a_obj_groundwater/d_a_obj_groundwater.h +++ b/include/rel/d/a/obj/d_a_obj_groundwater/d_a_obj_groundwater.h @@ -1,6 +1,46 @@ #ifndef D_A_OBJ_GROUNDWATER_H #define D_A_OBJ_GROUNDWATER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daGrdWater_c + * @brief Ground Water + * + * @details + * + */ +class daGrdWater_c : public fopAc_ac_c { +public: + /* 80C13540 */ void setBaseMtx(); + /* 80C13618 */ void CreateHeap(); + /* 80C139E4 */ void create(); + /* 80C13DB0 */ daGrdWater_c(); + /* 80C13FEC */ void Execute(f32 (**)[3][4]); + /* 80C14194 */ void init_modeWait(); + /* 80C141A0 */ void modeWait(); + /* 80C141A4 */ void init_modeLevelUpA(); + /* 80C1423C */ void modeLevelUpA(); + /* 80C142AC */ void init_modeLevelDownA(); + /* 80C14320 */ void modeLevelDownA(); + /* 80C1437C */ void init_modeLevelUpB(); + /* 80C14414 */ void modeLevelUpB(); + /* 80C14484 */ void init_modeLevelDownB(); + /* 80C144F8 */ void modeLevelDownB(); + /* 80C14554 */ void Draw(); + /* 80C147EC */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x6f4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daGrdWater_c) == 0x6f4); + +class daGrdWater_HIO_c { +public: + /* 80C134AC */ daGrdWater_HIO_c(); + /* 80C148A8 */ ~daGrdWater_HIO_c(); +}; + #endif /* D_A_OBJ_GROUNDWATER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_grz_rock/d_a_obj_grz_rock.h b/include/rel/d/a/obj/d_a_obj_grz_rock/d_a_obj_grz_rock.h index 34a7d0c3f7..2dc13e477f 100644 --- a/include/rel/d/a/obj/d_a_obj_grz_rock/d_a_obj_grz_rock.h +++ b/include/rel/d/a/obj/d_a_obj_grz_rock/d_a_obj_grz_rock.h @@ -1,6 +1,33 @@ #ifndef D_A_OBJ_GRZ_ROCK_H #define D_A_OBJ_GRZ_ROCK_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjGrzRock_c + * @brief Hidden Village Rockslide + * + * @details + * + */ +class daObjGrzRock_c : public fopAc_ac_c { +public: + /* 80C14BD8 */ void setBaseMtx(); + /* 80C14C54 */ void setEnvTevColor(); + /* 80C14CB0 */ void setRoomNo(); + /* 80C14CF0 */ void setPrtcl(); + /* 80C14DA0 */ void Create(); + /* 80C14EE0 */ void CreateHeap(); + /* 80C14F50 */ void create(); + /* 80C1514C */ void Execute(f32 (**)[3][4]); + /* 80C151A4 */ void Draw(); + /* 80C15248 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x804 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjGrzRock_c) == 0x804); + #endif /* D_A_OBJ_GRZ_ROCK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_h_saku/d_a_obj_h_saku.h b/include/rel/d/a/obj/d_a_obj_h_saku/d_a_obj_h_saku.h index e987671985..8a736f890a 100644 --- a/include/rel/d/a/obj/d_a_obj_h_saku/d_a_obj_h_saku.h +++ b/include/rel/d/a/obj/d_a_obj_h_saku/d_a_obj_h_saku.h @@ -1,6 +1,33 @@ #ifndef D_A_OBJ_H_SAKU_H #define D_A_OBJ_H_SAKU_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjH_Saku_c + * @brief H - Fence + * + * @details + * + */ +class daObjH_Saku_c : public fopAc_ac_c { +public: + /* 80C1552C */ void BreakSet(); + /* 80C15810 */ void SpeedSet(cXyz*, cXyz*, f32); + /* 80C15A4C */ void Action(); + /* 80C15E00 */ void initBaseMtx(); + /* 80C15E44 */ void setBaseMtx(); + /* 80C161E8 */ void CreateHeap(); + /* 80C1629C */ void Create(); + /* 80C162F4 */ void Execute(f32 (**)[3][4]); + /* 80C16340 */ void Draw(); + /* 80C1641C */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x850 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjH_Saku_c) == 0x850); + #endif /* D_A_OBJ_H_SAKU_H */ diff --git a/include/rel/d/a/obj/d_a_obj_hakai_brl/d_a_obj_hakai_brl.h b/include/rel/d/a/obj/d_a_obj_hakai_brl/d_a_obj_hakai_brl.h index a8ac29ec89..34a1aded88 100644 --- a/include/rel/d/a/obj/d_a_obj_hakai_brl/d_a_obj_hakai_brl.h +++ b/include/rel/d/a/obj/d_a_obj_hakai_brl/d_a_obj_hakai_brl.h @@ -1,6 +1,36 @@ #ifndef D_A_OBJ_HAKAI_BRL_H #define D_A_OBJ_HAKAI_BRL_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjHBarrel_c + * @brief Destructable Barrel + * + * @details + * + */ +class daObjHBarrel_c : public fopAc_ac_c { +public: + /* 80C16758 */ daObjHBarrel_c(); + /* 80C16918 */ ~daObjHBarrel_c(); + /* 80C16A98 */ void createHeap(); + /* 80C16B08 */ void create(); + /* 80C16BF8 */ void Delete(); + /* 80C16C44 */ void draw(); + /* 80C16CA8 */ void execute(); + /* 80C16D50 */ void init(); + /* 80C16DEC */ void setModelMtx(); + /* 80C16E50 */ void hitAction(); + /* 80C17090 */ void callEmt(); + + static u8 const s_CcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x710 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjHBarrel_c) == 0x710); + #endif /* D_A_OBJ_HAKAI_BRL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_hakai_ftr/d_a_obj_hakai_ftr.h b/include/rel/d/a/obj/d_a_obj_hakai_ftr/d_a_obj_hakai_ftr.h index 000c9ae024..87b7ed8db4 100644 --- a/include/rel/d/a/obj/d_a_obj_hakai_ftr/d_a_obj_hakai_ftr.h +++ b/include/rel/d/a/obj/d_a_obj_hakai_ftr/d_a_obj_hakai_ftr.h @@ -1,6 +1,36 @@ #ifndef D_A_OBJ_HAKAI_FTR_H #define D_A_OBJ_HAKAI_FTR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjHFtr_c + * @brief Destruction Furniture + * + * @details + * + */ +class daObjHFtr_c : public fopAc_ac_c { +public: + /* 80C174B8 */ daObjHFtr_c(); + /* 80C17778 */ ~daObjHFtr_c(); + /* 80C17874 */ void createHeap(); + /* 80C179B0 */ void create(); + /* 80C17AC0 */ void Delete(); + /* 80C17B30 */ void draw(); + /* 80C17BD4 */ void execute(); + /* 80C17CD0 */ void init(); + /* 80C17E10 */ void setModelMtx(); + /* 80C17E74 */ void chkHit(); + /* 80C17EDC */ void callEmt(); + + static u8 const s_CcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x860 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjHFtr_c) == 0x860); + #endif /* D_A_OBJ_HAKAI_FTR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_hasu2/d_a_obj_hasu2.h b/include/rel/d/a/obj/d_a_obj_hasu2/d_a_obj_hasu2.h index 32b3591ceb..5806c88224 100644 --- a/include/rel/d/a/obj/d_a_obj_hasu2/d_a_obj_hasu2.h +++ b/include/rel/d/a/obj/d_a_obj_hasu2/d_a_obj_hasu2.h @@ -1,6 +1,37 @@ #ifndef D_A_OBJ_HASU2_H #define D_A_OBJ_HASU2_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +namespace nObjMHasu { +/** + * @ingroup actors-objects + * @class daObjMHasu_c + * @brief Lily Pad? + * + * @details + * + */ +class daObjMHasu_c : public fopAc_ac_c { +public: + /* 80C182DC */ daObjMHasu_c(); + /* 80C18340 */ void create1st(); + /* 80C183D0 */ void setMtx(); + /* 80C18440 */ void CreateHeap(); + /* 80C184B0 */ void Create(); + /* 80C185A4 */ void Execute(f32 (**)[3][4]); + /* 80C18600 */ void Draw(); + /* 80C186A4 */ void Delete(); + /* 80C186E0 */ void upDownHasu(); + /* 80C18888 */ void updateCount(u8); + /* 80C188A0 */ void setHasuCount(f32); + /* 80C189E0 */ ~daObjMHasu_c(); + +private: + /* 0x568 */ u8 field_0x568[0x634 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjMHasu_c) == 0x634); +} // namespace nObjMHasu + #endif /* D_A_OBJ_HASU2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h b/include/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h index 16d98c8496..f7f5c8d7ad 100644 --- a/include/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h +++ b/include/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h @@ -1,5 +1,21 @@ #ifndef D_A_OBJ_HB_H #define D_A_OBJ_HB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_hb_class + * @brief Huge Baba Seed + * + * @details + * + */ +class obj_hb_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0xa8c - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_hb_class) == 0xa8c); + #endif /* D_A_OBJ_HB_H */ diff --git a/include/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h b/include/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h index fc66e643e9..db5cc62ba5 100644 --- a/include/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h +++ b/include/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h @@ -6,6 +6,14 @@ #include "d/event/d_event_lib.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjHBombkoya_c + * @brief Destructable Bomb House + * + * @details + * + */ class daObjHBombkoya_c : public dBgS_MoveBgActor, public request_of_phase_process_class, public dEvLib_callback_c { @@ -31,6 +39,7 @@ public: int getSwNo() { return fopAcM_GetParamBit(this, 0, 8); } int getSw2No() { return fopAcM_GetParamBit(this, 8, 8); } +private: /* 0x5A8 */ // dEvLib_callback_c /* 0x5B8 */ Mtx mBgMtx; /* 0x5E8 */ Mtx mMtx; @@ -41,5 +50,7 @@ public: /* 0x648 */ dCcD_Stts mStts; /* 0x684 */ dCcD_Cyl mCyl; }; +STATIC_ASSERT(sizeof(daObjHBombkoya_c) == 0x7c0); + #endif /* D_A_OBJ_HBOMBKOYA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_heavySw/d_a_obj_heavySw.h b/include/rel/d/a/obj/d_a_obj_heavySw/d_a_obj_heavySw.h index 6dec3060c9..1537c123fe 100644 --- a/include/rel/d/a/obj/d_a_obj_heavySw/d_a_obj_heavySw.h +++ b/include/rel/d/a/obj/d_a_obj_heavySw/d_a_obj_heavySw.h @@ -6,6 +6,14 @@ #include "d/com/d_com_inf_game.h" #include "m_Do/m_Do_hostIO.h" +/** + * @ingroup actors-objects + * @class daHeavySw_c + * @brief Heavy Switch + * + * @details + * + */ class daHeavySw_c : public dBgS_MoveBgActor { public: enum Mode_e { MODE_WAIT, MODE_RIDE, MODE_MOVE_INIT, MODE_MOVE, MODE_MOVE_END }; diff --git a/include/rel/d/a/obj/d_a_obj_hfuta/d_a_obj_hfuta.h b/include/rel/d/a/obj/d_a_obj_hfuta/d_a_obj_hfuta.h index 7f0968f224..bf01f348cb 100644 --- a/include/rel/d/a/obj/d_a_obj_hfuta/d_a_obj_hfuta.h +++ b/include/rel/d/a/obj/d_a_obj_hfuta/d_a_obj_hfuta.h @@ -1,6 +1,35 @@ #ifndef D_A_OBJ_HFUTA_H #define D_A_OBJ_HFUTA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjFuta_c + * @brief Crawling? + * + * @details + * + */ +class daObjFuta_c : public fopAc_ac_c { +public: + /* 80C1DD8C */ void initBaseMtx(); + /* 80C1DDC8 */ void setBaseMtx(); + /* 80C1DE94 */ void Create(); + /* 80C1DF2C */ void CreateHeap(); + /* 80C1DF9C */ void create1st(); + /* 80C1E020 */ void Execute(f32 (**)[3][4]); + /* 80C1EB38 */ void mode_proc_call(); + /* 80C1EBDC */ void mode_wait(); + /* 80C1EC44 */ void mode_move(); + /* 80C1ECB4 */ void mode_end(); + /* 80C1ECC4 */ void Draw(); + /* 80C1ED68 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5cc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjFuta_c) == 0x5cc); + #endif /* D_A_OBJ_HFUTA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h b/include/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h index 501906d0cd..3514b3dd18 100644 --- a/include/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h +++ b/include/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h @@ -1,5 +1,41 @@ #ifndef D_A_OBJ_HHASHI_H #define D_A_OBJ_HHASHI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjHHASHI_c + * @brief Pillar + * + * @details + * + */ +class daObjHHASHI_c : public fopAc_ac_c { +public: + /* 8057F9B8 */ void initCcCylinder(); + /* 8057FA18 */ void setCcCylinder(); + /* 8057FA90 */ void Set_Hahen(cXyz*); + /* 8057FDA8 */ void Set_Speed(s16, s16, f32, f32, f32, f32); + /* 805801B0 */ void Obj_Damage(); + /* 80580358 */ void Wall_Check(s16); + /* 8058043C */ void Hahen_Motion(s16); + /* 805805F4 */ void CheckCull(); + /* 805807C4 */ void checkViewArea(int); + /* 80580854 */ void Rolling(cXyz*, f32, f32, s8); + /* 80580A48 */ void Roll_Set(cXyz*, f32, s16); + /* 80580C80 */ void setBaseMtx(); + /* 80580DA4 */ void CreateHeap(); + /* 80580EA0 */ void create(); + /* 805811CC */ void Create(); + /* 80581210 */ void Execute(f32 (**)[3][4]); + /* 805812BC */ void Draw(); + /* 8058140C */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x119c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjHHASHI_c) == 0x119c); + #endif /* D_A_OBJ_HHASHI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_hsTarget/d_a_obj_hsTarget.h b/include/rel/d/a/obj/d_a_obj_hsTarget/d_a_obj_hsTarget.h index 3fcb200228..f2bd7fea17 100644 --- a/include/rel/d/a/obj/d_a_obj_hsTarget/d_a_obj_hsTarget.h +++ b/include/rel/d/a/obj/d_a_obj_hsTarget/d_a_obj_hsTarget.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_hostIO.h" +/** + * @ingroup actors-objects + * @class daHsTarget_c + * @brief Clawshot Target + * + * @details + * + */ class daHsTarget_c : public dBgS_MoveBgActor { public: /* 80C1F490 */ void setBaseMtx(); @@ -15,10 +23,12 @@ public: u8 getModelType() { return fopAcM_GetParamBit(this, 0, 4); } +private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ u8 mIndex; -}; // Size: 0x5B0 +}; +STATIC_ASSERT(sizeof(daHsTarget_c) == 0x5B0); class daHsTarget_HIO_c : mDoHIO_entry_c { public: diff --git a/include/rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h b/include/rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h index ece0ef97be..10af13992a 100644 --- a/include/rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h +++ b/include/rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h @@ -5,6 +5,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/cc/d_cc_d.h" +/** + * @ingroup actors-objects + * @class daObjIce_l_c + * @brief Ice (Large) + * + * @details + * + */ class daObjIce_l_c : public dBgS_MoveBgActor { public: /* 80C1F9F8 */ void RideOn_Angle(s16&, f32, s16, f32); @@ -19,6 +27,7 @@ public: /* 80C206AC */ virtual int Draw(); /* 80C20750 */ virtual int Delete(); +private: /* 0x5A0 */ f32 field_0x5a0; /* 0x5A4 */ f32 field_0x5a4; /* 0x5A8 */ u8 field_0x5A8[0x5AC - 0x5A8]; @@ -47,5 +56,6 @@ public: /* 0x634 */ J3DModel* mpModel; /* 0x638 */ request_of_phase_process_class mPhase; }; +STATIC_ASSERT(sizeof(daObjIce_l_c) == 0x640); #endif /* D_A_OBJ_ICE_L_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ice_s/d_a_obj_ice_s.h b/include/rel/d/a/obj/d_a_obj_ice_s/d_a_obj_ice_s.h index f079fdc801..e43ea568c7 100644 --- a/include/rel/d/a/obj/d_a_obj_ice_s/d_a_obj_ice_s.h +++ b/include/rel/d/a/obj/d_a_obj_ice_s/d_a_obj_ice_s.h @@ -1,6 +1,40 @@ #ifndef D_A_OBJ_ICE_S_H #define D_A_OBJ_ICE_S_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjIce_s_c + * @brief Ice (Small) + * + * @details + * + */ +class daObjIce_s_c : public fopAc_ac_c { +public: + /* 80C209DC */ void RideOn_Angle(s16&, f32, s16, f32); + /* 80C20A44 */ void Check_LinkRideOn(cXyz); + /* 80C20C98 */ void Check_RideOn(cXyz); + /* 80C20EC0 */ void initBaseMtx(); + /* 80C20EEC */ void setBaseMtx(); + /* 80C212CC */ void create(); + /* 80C2157C */ void CreateHeap(); + /* 80C215F4 */ void Create(); + /* 80C21634 */ void Execute(f32 (**)[3][4]); + /* 80C21964 */ void Draw(); + /* 80C21A08 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x644 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjIce_s_c) == 0x644); + +class daOBJ_ICE_S_HIO_c { +public: + /* 80C209AC */ daOBJ_ICE_S_HIO_c(); + /* 80C21A60 */ ~daOBJ_ICE_S_HIO_c(); +}; + #endif /* D_A_OBJ_ICE_S_H */ diff --git a/include/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h b/include/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h index 8cc1ecead7..0d7d2eb3e2 100644 --- a/include/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h +++ b/include/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h @@ -1,5 +1,54 @@ #ifndef D_A_OBJ_ICEBLOCK_H #define D_A_OBJ_ICEBLOCK_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjIceBlk_c + * @brief Sliding Ice Block + * + * @details + * + */ +class daObjIceBlk_c : public fopAc_ac_c { +public: + /* 80C21CD8 */ void PPCallBack(fopAc_ac_c*, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel); + /* 80C21DC4 */ void initBaseMtx(); + /* 80C21E24 */ void setBaseMtx(); + /* 80C21EA4 */ void getPointNo(); + /* 80C21F2C */ void loadCurrentPos(); + /* 80C21FC8 */ void saveCurrentPos(); + /* 80C22200 */ void enablePushPull(); + /* 80C2224C */ void disablePushPull(); + /* 80C22298 */ void Create(); + /* 80C22618 */ void CreateHeap(); + /* 80C227F4 */ void create1st(); + /* 80C228B4 */ void Execute(f32 (**)[3][4]); + /* 80C2294C */ void checkWalk(); + /* 80C22B04 */ void clrCounter(); + /* 80C22B28 */ void mode_proc_call(); + /* 80C22EF8 */ void mode_init_wait(); + /* 80C22F74 */ void mode_proc_wait(); + /* 80C23058 */ void mode_init_walk(); + /* 80C23088 */ void mode_proc_walk(); + /* 80C23388 */ void setEffect(); + /* 80C2350C */ void checkWallPre(s16); + /* 80C236C8 */ void checkBgHit(); + /* 80C237B0 */ void bgCheck(); + /* 80C23860 */ void init_bgCheck(); + /* 80C238B0 */ void checkFall(); + /* 80C23A50 */ void event_proc_call(); + /* 80C23B0C */ void actionWait(); + /* 80C23B70 */ void actionOrderEvent(); + /* 80C23C1C */ void actionEvent(); + /* 80C23CA0 */ void actionDead(); + /* 80C23CA4 */ void Draw(); + /* 80C23DA8 */ void Delete(); +private: + /* 0x568 */ u8 field_0x568[0x9ec - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjIceBlk_c) == 0x9ec); + #endif /* D_A_OBJ_ICEBLOCK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h b/include/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h index 1243fe935d..0ce3b109ed 100644 --- a/include/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h +++ b/include/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h @@ -1,8 +1,18 @@ #ifndef D_A_OBJ_ICELEAF_H #define D_A_OBJ_ICELEAF_H +#include "f_op/f_op_actor_mng.h" #include "d/cc/d_cc_d.h" +#include "d/bg/d_bg_s_acch.h" +/** + * @ingroup actors-objects + * @class daObjIceLeaf_c + * @brief Ice Leaf + * + * @details + * + */ class daObjIceLeaf_c : public fopAc_ac_c { public: /* 80C24738 */ void initBaseMtx(); @@ -29,6 +39,7 @@ public: void offRide() { mRide = false; } void setBreakEffect() { mBreakEffect = true; } +private: /* 0x568 */ request_of_phase_process_class mPhase; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ dBgS_ObjAcch mAcch; @@ -49,5 +60,7 @@ public: /* 0x964 */ cXyz field_0x964; /* 0x970 */ cXyz field_0x970; }; +STATIC_ASSERT(sizeof(daObjIceLeaf_c) == 0x97c); + #endif /* D_A_OBJ_ICELEAF_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ihasi/d_a_obj_ihasi.h b/include/rel/d/a/obj/d_a_obj_ihasi/d_a_obj_ihasi.h index df2606add7..81abb1d38b 100644 --- a/include/rel/d/a/obj/d_a_obj_ihasi/d_a_obj_ihasi.h +++ b/include/rel/d/a/obj/d_a_obj_ihasi/d_a_obj_ihasi.h @@ -1,6 +1,21 @@ #ifndef D_A_OBJ_IHASI_H #define D_A_OBJ_IHASI_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_ihasi_class + * @brief Ice Bridge? + * + * @details + * + */ +class obj_ihasi_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x5c4 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_ihasi_class) == 0x5c4); + #endif /* D_A_OBJ_IHASI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ikada/d_a_obj_ikada.h b/include/rel/d/a/obj/d_a_obj_ikada/d_a_obj_ikada.h index 0bff8042a3..5b2167831b 100644 --- a/include/rel/d/a/obj/d_a_obj_ikada/d_a_obj_ikada.h +++ b/include/rel/d/a/obj/d_a_obj_ikada/d_a_obj_ikada.h @@ -1,6 +1,32 @@ #ifndef D_A_OBJ_IKADA_H #define D_A_OBJ_IKADA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjIkada_c + * @brief Raft + * + * @details + * + */ +class daObjIkada_c : public fopAc_ac_c { +public: + /* 80C269B8 */ void RideOn_Angle(s16&, f32, s16, f32); + /* 80C26A20 */ void Check_RideOn(); + /* 80C26C50 */ void initBaseMtx(); + /* 80C26C7C */ void setBaseMtx(); + /* 80C27028 */ void CreateHeap(); + /* 80C270A0 */ void Create(); + /* 80C270E0 */ void Execute(f32 (**)[3][4]); + /* 80C27400 */ void Draw(); + /* 80C274A4 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x844 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjIkada_c) == 0x844); + #endif /* D_A_OBJ_IKADA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h b/include/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h index 8ca4e5e4a1..a0ea465f2a 100644 --- a/include/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h +++ b/include/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h @@ -1,5 +1,32 @@ #ifndef D_A_OBJ_INOBONE_H #define D_A_OBJ_INOBONE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjIBone_c + * @brief Boar Bone + * + * @details + * + */ +class daObjIBone_c : public fopAc_ac_c { +public: + /* 80C27830 */ void initBaseMtx(); + /* 80C2786C */ void setBaseMtx(); + /* 80C278CC */ void Create(); + /* 80C279A8 */ void CreateHeap(); + /* 80C27A20 */ void create(); + /* 80C27C4C */ void execute(); + /* 80C27E48 */ void setBreakEffect(); + /* 80C27FEC */ void draw(); + /* 80C28050 */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0x84c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjIBone_c) == 0x84c); + #endif /* D_A_OBJ_INOBONE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ita/d_a_obj_ita.h b/include/rel/d/a/obj/d_a_obj_ita/d_a_obj_ita.h index 01eaf68254..91bb276dc0 100644 --- a/include/rel/d/a/obj/d_a_obj_ita/d_a_obj_ita.h +++ b/include/rel/d/a/obj/d_a_obj_ita/d_a_obj_ita.h @@ -1,6 +1,38 @@ #ifndef D_A_OBJ_ITA_H #define D_A_OBJ_ITA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjIta_c + * @brief Plank + * + * @details + * + */ +class daObjIta_c : public fopAc_ac_c { +public: + /* 80C283AC */ void Search_Ymb(); + /* 80C28674 */ void Check_RideOn(); + /* 80C28788 */ void initBaseMtx(); + /* 80C287B4 */ void setBaseMtx(); + /* 80C28928 */ void create(); + /* 80C28BB0 */ void CreateHeap(); + /* 80C28C28 */ void Create(); + /* 80C28C70 */ void Execute(f32 (**)[3][4]); + /* 80C290AC */ void Draw(); + /* 80C29150 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x8dc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjIta_c) == 0x8dc); + +class daObj_ITA_HIO_c { +public: + /* 80C2836C */ daObj_ITA_HIO_c(); + /* 80C29184 */ ~daObj_ITA_HIO_c(); +}; #endif /* D_A_OBJ_ITA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h b/include/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h index abb1f2d6f2..5e60f258a4 100644 --- a/include/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h +++ b/include/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h @@ -1,5 +1,45 @@ #ifndef D_A_OBJ_ITAMATO_H #define D_A_OBJ_ITAMATO_H +#include "f_op/f_op_actor_mng.h" +#include "d/cc/d_cc_d.h" + +/** + * @ingroup actors-objects + * @class daObj_ItaMato_c + * @brief Plank Target + * + * @details + * + */ +class daObj_ItaMato_c : public fopAc_ac_c { +public: + /* 80C294EC */ ~daObj_ItaMato_c(); + /* 80C2971C */ void create(); + /* 80C29CD8 */ void CreateHeap(); + /* 80C29DAC */ void Delete(); + /* 80C29DE0 */ void Execute(); + /* 80C2A44C */ void Draw(); + /* 80C2A5D0 */ void createHeapCallBack(fopAc_ac_c*); + /* 80C2A5F0 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); + /* 80C2A620 */ void getResName(); + /* 80C2A630 */ void setSwayParam(fopAc_ac_c*); + /* 80C2A7C4 */ void setPrtcls(); + /* 80C2A890 */ void setEnvTevColor(); + /* 80C2A8EC */ void setRoomNo(); + /* 80C2A930 */ void setMtx(); + +private: + /* 0x568 */ u8 field_0x568[0xa20 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_ItaMato_c) == 0xa20); + +class daObj_ItaMato_Param_c { +public: + /* 80C2AB04 */ ~daObj_ItaMato_Param_c(); + + static u8 const m[20]; +}; + #endif /* D_A_OBJ_ITAMATO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h b/include/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h index d881ad8801..04a37739fd 100644 --- a/include/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h +++ b/include/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h @@ -1,5 +1,29 @@ #ifndef D_A_OBJ_ITO_H #define D_A_OBJ_ITO_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_ito_class + * @brief ??? + * + * @details + * + */ +class obj_ito_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x150c - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_ito_class) == 0x150c); + +struct ito_s {}; + +class daObj_Ito_HIO_c { +public: + /* 8047B2EC */ daObj_Ito_HIO_c(); + /* 8047D778 */ ~daObj_Ito_HIO_c(); +}; + #endif /* D_A_OBJ_ITO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h b/include/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h index cdea06675a..dcbecb4391 100644 --- a/include/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h +++ b/include/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h @@ -8,7 +8,16 @@ #include "d/a/d_a_player.h" #include "d/d_insect.h" -struct daObjKABUTO_c : public dInsect_c { +/** + * @ingroup actors-objects + * @class daObjKABUTO_c + * @brief Insect - Beetle + * + * @details + * + */ +class daObjKABUTO_c : public dInsect_c { +public: enum Action { /* 0 */ ACT_WAIT, /* 1 */ ACT_MOVE, @@ -38,6 +47,7 @@ struct daObjKABUTO_c : public dInsect_c { /* 80C2D724 */ cPhs__Step create(); inline int Draw(); +private: /* 0x590 */ dCcD_Stts mCcStts; /* 0x5CC */ dCcD_Sph mCcSph; /* 0x704 */ daPy_boomerangMove_c mBoomerangMove; @@ -74,7 +84,8 @@ struct daObjKABUTO_c : public dInsect_c { STATIC_ASSERT(sizeof(daObjKABUTO_c) == 0xA14); -struct daObj_KabHIO_c { +class daObj_KabHIO_c { +public: /* 80C2AE6C */ daObj_KabHIO_c(); /* 80C2E068 */ virtual ~daObj_KabHIO_c() {} diff --git a/include/rel/d/a/obj/d_a_obj_kag/d_a_obj_kag.h b/include/rel/d/a/obj/d_a_obj_kag/d_a_obj_kag.h index 342814f948..a0427d5a8f 100644 --- a/include/rel/d/a/obj/d_a_obj_kag/d_a_obj_kag.h +++ b/include/rel/d/a/obj/d_a_obj_kag/d_a_obj_kag.h @@ -1,6 +1,45 @@ #ifndef D_A_OBJ_KAG_H #define D_A_OBJ_KAG_H -#include "dolphin/types.h" +#include "d/d_insect.h" + +/** + * @ingroup actors-objects + * @class daObjKAG_c + * @brief Insect - Dayfly + * + * @details + * + */ +class daObjKAG_c : public dInsect_c { +public: + /* 80C2E434 */ void setAction(void (daObjKAG_c::*)()); + /* 80C2E7A0 */ void Kag_Bgcheck(cXyz*, csXyz*, cXyz*); + /* 80C2EA40 */ void fly(); + /* 80C2F764 */ void wait(); + /* 80C2F8C4 */ void walk(); + /* 80C2FD94 */ void bin_wait(); + /* 80C2FF10 */ void bin_action(); + /* 80C30070 */ void hook(); + /* 80C30274 */ void boomerang(); + /* 80C303C4 */ void action(); + /* 80C30424 */ void checkGroundPos(); + /* 80C30498 */ void hit_check(); + /* 80C3054C */ void execute(); + /* 80C306EC */ void _delete(); + /* 80C30754 */ void setBaseMtx(); + /* 80C308F0 */ void create(); + /* 80C30E54 */ void kag_setParticle(); + +private: + /* 0x590 */ u8 field_0x568[0x860 - 0x590]; +}; +STATIC_ASSERT(sizeof(daObjKAG_c) == 0x860); + +class daObj_KagHIO_c { +public: + /* 80C2E40C */ daObj_KagHIO_c(); + /* 80C31060 */ ~daObj_KagHIO_c(); +}; #endif /* D_A_OBJ_KAG_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kage/d_a_obj_kage.h b/include/rel/d/a/obj/d_a_obj_kage/d_a_obj_kage.h index 4fc63d8716..2cf46c68e2 100644 --- a/include/rel/d/a/obj/d_a_obj_kage/d_a_obj_kage.h +++ b/include/rel/d/a/obj/d_a_obj_kage/d_a_obj_kage.h @@ -1,6 +1,21 @@ #ifndef D_A_OBJ_KAGE_H #define D_A_OBJ_KAGE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_kage_class + * @brief House - Cage + * + * @details + * + */ +class obj_kage_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x5b4 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_kage_class) == 0x5b4); + #endif /* D_A_OBJ_KAGE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h b/include/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h index 3cb12e6403..06484078f7 100644 --- a/include/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h +++ b/include/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h @@ -1,5 +1,46 @@ #ifndef D_A_OBJ_KAGO_H #define D_A_OBJ_KAGO_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_Kago_c + * @brief Basket + * + * @details + * + */ +class daObj_Kago_c : public fopAc_ac_c { +public: + /* 80C31AEC */ ~daObj_Kago_c(); + /* 80C31D5C */ void create(); + /* 80C323D0 */ void CreateHeap(); + /* 80C324B0 */ void Delete(); + /* 80C324E4 */ void Execute(); + /* 80C332D0 */ void Draw(); + /* 80C333F0 */ void createHeapCallBack(fopAc_ac_c*); + /* 80C33410 */ void isDelete(); + /* 80C334B4 */ void setEnvTevColor(); + /* 80C33510 */ void setRoomNo(); + /* 80C33554 */ void reset(); + /* 80C3359C */ void setMtx(); + /* 80C33620 */ void getWallAngle(s16, s16*); + /* 80C337B0 */ void setGoalPosAndAngle(); + /* 80C338D0 */ void setSmokePrtcl(); + /* 80C33958 */ void setWaterPrtcl(); + /* 80C33A58 */ void setHamonPrtcl(); +private: + /* 0x568 */ u8 field_0x568[0xba8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_Kago_c) == 0xba8); + +class daObj_Kago_Param_c { +public: + /* 80C33C14 */ ~daObj_Kago_Param_c(); + + static u8 const m[44]; +}; + #endif /* D_A_OBJ_KAGO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h b/include/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h index aa69b1385f..459a240d08 100644 --- a/include/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h +++ b/include/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h @@ -1,5 +1,31 @@ #ifndef D_A_OBJ_KAISOU_H #define D_A_OBJ_KAISOU_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjKaisou_c + * @brief Seaweed + * + * @details + * + */ +class daObjKaisou_c : public fopAc_ac_c { +public: + /* 80C34058 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 80C34390 */ void initCcCylinder(); + /* 80C343F0 */ void setCcCylinder(); + /* 80C34438 */ void ObjHit(); + /* 80C34824 */ void Execute(); + /* 80C34A98 */ void Delete(); + /* 80C34ACC */ void setBaseMtx(); + /* 80C34BD8 */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0x79c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKaisou_c) == 0x79c); + #endif /* D_A_OBJ_KAISOU_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h b/include/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h index 707efda5dd..1ba5f2f21b 100644 --- a/include/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h +++ b/include/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h @@ -1,5 +1,51 @@ #ifndef D_A_OBJ_KAMAKIRI_H #define D_A_OBJ_KAMAKIRI_H +#include "d/d_insect.h" + +/** + * @ingroup actors-objects + * @class daObjKAM_c + * @brief Insect - Mantis + * + * @details + * + */ +class daObjKAM_c : public fopAc_ac_c { +public: + /* 80C351BC */ void InitCcSph(); + /* 80C35228 */ void SetCcSph(); + /* 80C352A0 */ void CreateHeap(); + /* 80C35684 */ void ShopWaitAction(); + /* 80C357EC */ void WaitAction(); + /* 80C35970 */ void WallCheck(); + /* 80C35BE4 */ void SpeedSet(); + /* 80C35CF0 */ void WallWalk(); + /* 80C36138 */ void WalkAction(); + /* 80C36338 */ void MoveAction(); + /* 80C36B20 */ void Action(); + /* 80C36BE4 */ void ShopAction(); + /* 80C36CA0 */ void Insect_Release(); + /* 80C36CB8 */ void Z_BufferChk(); + /* 80C36E34 */ void ParticleSet(); + /* 80C36F58 */ void BoomChk(); + /* 80C37324 */ void ObjHit(); + /* 80C374AC */ void Execute(); + /* 80C37724 */ void Delete(); + /* 80C3778C */ void setBaseMtx(); + /* 80C378F4 */ void CreateChk(); + /* 80C37AA0 */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0xa68 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKAM_c) == 0xa68); + +class daObj_KamHIO_c { +public: + /* 80C3518C */ daObj_KamHIO_c(); + /* 80C38360 */ ~daObj_KamHIO_c(); +}; + #endif /* D_A_OBJ_KAMAKIRI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kanban2/d_a_obj_kanban2.h b/include/rel/d/a/obj/d_a_obj_kanban2/d_a_obj_kanban2.h index bde75bba84..a770de044c 100644 --- a/include/rel/d/a/obj/d_a_obj_kanban2/d_a_obj_kanban2.h +++ b/include/rel/d/a/obj/d_a_obj_kanban2/d_a_obj_kanban2.h @@ -1,6 +1,61 @@ #ifndef D_A_OBJ_KANBAN2_H #define D_A_OBJ_KANBAN2_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_Kanban2_c + * @brief Sign 2 + * + * @details + * + */ +class daObj_Kanban2_c : public fopAc_ac_c { +public: + /* 80581790 */ void draw(); + /* 80581938 */ void setKanbanSE(int); + /* 805819BC */ void createBreakParts(u32, csXyz); + /* 805819FC */ void createWallHitBreak(); + /* 80581B5C */ void getKanbanCutType(); + /* 80581C48 */ void getKanbanWolfCutType(); + /* 80581D04 */ void damage_check(); + /* 8058221C */ void float_damage_check(); + /* 805822F0 */ void deletePart(); + /* 805825A4 */ void getWallAngle(); + /* 8058271C */ void setGroundAngle(); + /* 80582894 */ void checkWaterSurface(); + /* 80582944 */ void checkPataGround(s16, s16); + /* 80582A68 */ void setCullMtx(); + /* 80582AAC */ void setSmokeEffect(cXyz); + /* 80582AFC */ void setWaterEffect(); + /* 80582C40 */ void setCenterPos(); + /* 80582E68 */ void checkCarryOn(); + /* 80582EF0 */ void setActionMode(int, int); + /* 80582F40 */ void calcNormalSwing(); + /* 80583364 */ void executeNormal(); + /* 80583598 */ void initPart(); + /* 80583A2C */ void executePart(); + /* 8058437C */ void executeFloat(); + /* 80584884 */ void executeCarry(); + /* 805849CC */ void action(); + /* 80584AD8 */ void mtx_set(); + /* 80584CFC */ void cc_set(); + /* 80584DF0 */ void execute(); + /* 80584ED8 */ void _delete(); + /* 80584F64 */ void CreateHeap(); + /* 805850E8 */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0xa50 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_Kanban2_c) == 0xa50); + +class daObj_Kanban2_HIO_c { +public: + /* 8058176C */ daObj_Kanban2_HIO_c(); + /* 80585578 */ ~daObj_Kanban2_HIO_c(); +}; + #endif /* D_A_OBJ_KANBAN2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h b/include/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h index 881e1c7eab..3d9f222d69 100644 --- a/include/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h +++ b/include/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h @@ -1,4 +1,70 @@ #ifndef D_A_OBJ_KANTERA_H #define D_A_OBJ_KANTERA_H +#include "d/a/d_a_itembase.h" + +#ifdef NONMATCHING +/** + * @ingroup actors-objects + * @class daItemKantera_c + * @brief Lantern + * + * @details + * + */ +class daItemKantera_c : public daItemBase_c { +public: + /* 80C389BC */ void initBaseMtx(); + /* 80C389F8 */ void setBaseMtx(); + /* 80C38A64 */ int Create(); + /* 80C38BA8 */ int __CreateHeap(); + /* 80C38BB0 */ int create(); + /* 80C38F78 */ void bg_check(); + /* 80C39068 */ int actionInit(); + /* 80C390A0 */ int actionWaitInit(); + /* 80C3911C */ int actionWait(); + /* 80C39234 */ int initActionOrderGetDemo(); + /* 80C392D0 */ int actionOrderGetDemo(); + /* 80C3934C */ int actionGetDemo(); + /* 80C393B0 */ int execute(); + /* 80C394DC */ int draw(); + /* 80C39530 */ int _delete(); + + void setStatus(u8 i_status) { mStatus = i_status; } + +private: + /* 0x92C */ u32 field_0x92c; + /* 0x930 */ s32 field_0x930; + /* 0x934 */ u8 mStatus; + /* 0x935 */ u8 field_0x935; + /* 0x936 */ u8 field_0x936; + /* 0x937 */ u8 field_0x937; + /* 0x938 */ s16 field_0x938; + /* 0x93A */ s16 field_0x93a; + /* 0x93C */ cXyz field_0x93c; +}; +STATIC_ASSERT(sizeof(daItemKantera_c) == 0x948); +#else +struct daItemKantera_c { + /* 80C389BC */ void initBaseMtx(); + /* 80C389F8 */ void setBaseMtx(); + /* 80C38A64 */ int Create(); + /* 80C38BA8 */ int __CreateHeap(); + /* 80C38BB0 */ int create(); + /* 80C38F78 */ void bg_check(); + /* 80C39068 */ int actionInit(); + /* 80C390A0 */ int actionWaitInit(); + /* 80C3911C */ int actionWait(); + /* 80C39234 */ int initActionOrderGetDemo(); + /* 80C392D0 */ int actionOrderGetDemo(); + /* 80C3934C */ int actionGetDemo(); + /* 80C393B0 */ int execute(); + /* 80C394DC */ int draw(); + /* 80C39530 */ int _delete(); + +private: + /* 0x000 */ u8 field_0x0[0x948]; +}; +#endif + #endif /* D_A_OBJ_KANTERA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h b/include/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h index d681497302..beafc48c79 100644 --- a/include/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h +++ b/include/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h @@ -1,5 +1,48 @@ #ifndef D_A_OBJ_KATATSUMURI_H #define D_A_OBJ_KATATSUMURI_H +#include "d/d_insect.h" + +/** + * @ingroup actors-objects + * @class daObjKAT_c + * @brief Insect - Snail + * + * @details + * + */ +class daObjKAT_c : public fopAc_ac_c { +public: + /* 80C39994 */ void InitCcSph(); + /* 80C39A00 */ void SetCcSph(); + /* 80C39A58 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 80C39B98 */ void CreateHeap(); + /* 80C39F0C */ void WallWalk(); + /* 80C3A4D8 */ void MoveAction(); + /* 80C3A628 */ void Action(); + /* 80C3A680 */ void Insect_Release(); + /* 80C3A698 */ void checkGround(); + /* 80C3A8C8 */ void F_MoveAction(); + /* 80C3A95C */ void FallAction(); + /* 80C3A990 */ void ParticleSet(); + /* 80C3AAB4 */ void BoomChk(); + /* 80C3ADC8 */ void ObjHit(); + /* 80C3AEC8 */ void Execute(); + /* 80C3B754 */ void Z_BufferChk(); + /* 80C3B8D0 */ void Delete(); + /* 80C3B938 */ void setBaseMtx(); + /* 80C3BAAC */ void CreateChk(); + /* 80C3BC58 */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0xa74 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKAT_c) == 0xa74); + +class daObj_KatHIO_c { +public: + /* 80C3996C */ daObj_KatHIO_c(); + /* 80C3C5CC */ ~daObj_KatHIO_c(); +}; #endif /* D_A_OBJ_KATATSUMURI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h b/include/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h index f568a32073..da43da3c3b 100644 --- a/include/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h +++ b/include/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h @@ -1,5 +1,31 @@ #ifndef D_A_OBJ_KAZENEKO_H #define D_A_OBJ_KAZENEKO_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjKazeNeko_c + * @brief Weather Vane + * + * @details + * + */ +class daObjKazeNeko_c : public fopAc_ac_c { +public: + /* 80C3C8D8 */ void create_init(); + /* 80C3C968 */ void initBaseMtx(); + /* 80C3C988 */ void setBaseMtx(); + /* 80C3CA8C */ void initCcCylinder(); + /* 80C3CB10 */ void setCcCylinder(); + /* 80C3CB7C */ void swingHead(); + /* 80C3CC40 */ void getFirstVec(cXyz*, int); + + static u8 const M_attr[44]; +private: + /* 0x568 */ u8 field_0x568[0x754 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKazeNeko_c) == 0x754); + #endif /* D_A_OBJ_KAZENEKO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h b/include/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h index 50382ef4a9..5a534eb087 100644 --- a/include/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h +++ b/include/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h @@ -1,5 +1,46 @@ #ifndef D_A_OBJ_KBACKET_H #define D_A_OBJ_KBACKET_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_KBacket_c + * @brief (Kakariko?) Bucket + * + * @details + * + */ +class daObj_KBacket_c : public fopAc_ac_c { +public: + /* 80585E4C */ ~daObj_KBacket_c(); + /* 80586048 */ void create(); + /* 80586604 */ void CreateHeap(); + /* 80586704 */ void Delete(); + /* 80586738 */ void Execute(); + /* 8058742C */ void Draw(); + /* 805875A0 */ void createHeapCallBack(fopAc_ac_c*); + /* 805875C0 */ void setEnvTevColor(); + /* 8058761C */ void setRoomNo(); + /* 80587660 */ void reset(); + /* 80587694 */ void setMtx(); + /* 805877C4 */ void calcRollAngle(s16, int); + /* 80587864 */ void getWallAngle(s16, s16*); + /* 805879F4 */ void setSmokePrtcl(); + /* 80587A70 */ void setWaterPrtcl(); + /* 80587B68 */ void setHamonPrtcl(); + +private: + /* 0x568 */ u8 field_0x568[0xa54 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_KBacket_c) == 0xa54); + +class daObj_KBacket_Param_c { +public: + /* 80587D18 */ ~daObj_KBacket_Param_c(); + + static u8 const m[44]; +}; + #endif /* D_A_OBJ_KBACKET_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h b/include/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h index a161f60e12..31b7974e2f 100644 --- a/include/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h +++ b/include/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h @@ -1,5 +1,27 @@ #ifndef D_A_OBJ_KBOX_H #define D_A_OBJ_KBOX_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_kbox_class + * @brief (Kakariko?) Crate + * + * @details + * + */ +class obj_kbox_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x9f0 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_kbox_class) == 0x9f0); + +class daObj_Kbox_HIO_c { +public: + /* 80C3D60C */ daObj_Kbox_HIO_c(); + /* 80C3EF98 */ ~daObj_Kbox_HIO_c(); +}; + #endif /* D_A_OBJ_KBOX_H */ diff --git a/include/rel/d/a/obj/d_a_obj_key/d_a_obj_key.h b/include/rel/d/a/obj/d_a_obj_key/d_a_obj_key.h index c445dd36fc..1009be44d0 100644 --- a/include/rel/d/a/obj/d_a_obj_key/d_a_obj_key.h +++ b/include/rel/d/a/obj/d_a_obj_key/d_a_obj_key.h @@ -1,6 +1,27 @@ #ifndef D_A_OBJ_KEY_H #define D_A_OBJ_KEY_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_key_class + * @brief Key + * + * @details + * + */ +class obj_key_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x9b8 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_key_class) == 0x9b8); + +class daObj_Key_HIO_c { +public: + /* 80C3F40C */ daObj_Key_HIO_c(); + /* 80C40F28 */ ~daObj_Key_HIO_c(); +}; + #endif /* D_A_OBJ_KEY_H */ diff --git a/include/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h b/include/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h index a5461e5f10..86e796f30b 100644 --- a/include/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h +++ b/include/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h @@ -1,15 +1,39 @@ #ifndef D_A_OBJ_KEYHOLE_H #define D_A_OBJ_KEYHOLE_H -#include "dolphin/types.h" -#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" -struct obj_keyhole_class : public fopAc_ac_c { +/** + * @ingroup actors-objects + * @class obj_keyhole_class + * @brief Small Key Door Chains? + * + * @details + * + */ +class obj_keyhole_class : public fopAc_ac_c { +public: void setOpen() { mOpenState = 1; } bool checkOpenEnd() { return mOpenState == 3; } +private: /* 0x0568 */ u8 field_0x0568[0x2ca4 - 0x568]; /* 0x2ca4 */ u8 mOpenState; + /* 0x2ca5 */ u8 field_0x2ca5[0x2cb8 - 0x2ca5]; }; +STATIC_ASSERT(sizeof(obj_keyhole_class) == 0x2CB8); + +class kh_chain_s { +public: + /* 80C436A0 */ ~kh_chain_s(); + /* 80C437A4 */ kh_chain_s(); +}; + +class daObj_Keyhole_HIO_c { +public: + /* 80C4124C */ daObj_Keyhole_HIO_c(); + /* 80C4394C */ ~daObj_Keyhole_HIO_c(); +}; + #endif /* D_A_OBJ_KEYHOLE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h b/include/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h index 02b171e1e7..43a695b2b7 100644 --- a/include/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h +++ b/include/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h @@ -5,6 +5,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/cc/d_cc_d.h" +/** + * @ingroup actors-objects + * @class daObjKGate_c + * @brief Coro Gate + * + * @details + * + */ class daObjKGate_c : public dBgS_MoveBgActor { public: /* 805880C8 */ void initBaseMtx(); @@ -38,6 +46,7 @@ public: u8 getEventID() { return fopAcM_GetParamBit(this, 0x14, 8); } u8 getNameArg() { return fopAcM_GetParamBit(this, 0x10, 4); } +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ J3DModel* mpGateModel; /* 0x5AC */ J3DModel* mpGateModel2; diff --git a/include/rel/d/a/obj/d_a_obj_ki/d_a_obj_ki.h b/include/rel/d/a/obj/d_a_obj_ki/d_a_obj_ki.h index bbe9683f59..bccccfa1b3 100644 --- a/include/rel/d/a/obj/d_a_obj_ki/d_a_obj_ki.h +++ b/include/rel/d/a/obj/d_a_obj_ki/d_a_obj_ki.h @@ -14,6 +14,14 @@ struct sq_cp_s { STATIC_ASSERT(sizeof(sq_cp_s) == 0x30); +/** + * @ingroup actors-objects + * @class obj_ki_class + * @brief Tree + * + * @details + * + */ class obj_ki_class : public fopAc_ac_c { public: /* 0x568 */ request_of_phase_process_class mPhaseReq; diff --git a/include/rel/d/a/obj/d_a_obj_kiPot/d_a_obj_kiPot.h b/include/rel/d/a/obj/d_a_obj_kiPot/d_a_obj_kiPot.h index 59310e87bb..5967a7b228 100644 --- a/include/rel/d/a/obj/d_a_obj_kiPot/d_a_obj_kiPot.h +++ b/include/rel/d/a/obj/d_a_obj_kiPot/d_a_obj_kiPot.h @@ -1,6 +1,38 @@ #ifndef D_A_OBJ_KIPOT_H #define D_A_OBJ_KIPOT_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daKiPot_c + * @brief Coro Pot + * + * @details + * + */ +class daKiPot_c : public fopAc_ac_c { +public: + /* 80C44D78 */ void setBaseMtx(); + /* 80C44DD0 */ void create(); + /* 80C44E7C */ void Execute(); + /* 80C44EF8 */ void procMain(); + /* 80C44F74 */ void init_modeWait(); + /* 80C44F80 */ void modeWait(); + /* 80C45008 */ void chkEvent(); + /* 80C45058 */ bool Draw(); + /* 80C45060 */ bool Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x578 - 0x568]; +}; +STATIC_ASSERT(sizeof(daKiPot_c) == 0x578); + +class daKiPot_HIO_c { +public: + /* 80C44D0C */ daKiPot_HIO_c(); + /* 80C450E8 */ ~daKiPot_HIO_c(); +}; + #endif /* D_A_OBJ_KIPOT_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kita/d_a_obj_kita.h b/include/rel/d/a/obj/d_a_obj_kita/d_a_obj_kita.h index 7c1e0bb2f6..6a70d28663 100644 --- a/include/rel/d/a/obj/d_a_obj_kita/d_a_obj_kita.h +++ b/include/rel/d/a/obj/d_a_obj_kita/d_a_obj_kita.h @@ -1,6 +1,33 @@ #ifndef D_A_OBJ_KITA_H #define D_A_OBJ_KITA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_kita_class + * @brief Wind Plank + * + * @details + * + */ +class obj_kita_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0xd78 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_kita_class) == 0xd78); + +struct kita_s { +public: + /* 80C45E44 */ ~kita_s(); + /* 80C45E80 */ kita_s(); +}; + +class daObj_Kita_HIO_c { +public: + /* 80C4534C */ daObj_Kita_HIO_c(); + /* 80C45E84 */ ~daObj_Kita_HIO_c(); +}; + #endif /* D_A_OBJ_KITA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h b/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h index 45f9c06994..ab2b651768 100644 --- a/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h +++ b/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjKJgjs_c + * @brief ??? + * + * @details + * + */ class daObjKJgjs_c : public dBgS_MoveBgActor, public request_of_phase_process_class { public: /* 80C46098 */ int create1st(); @@ -17,9 +25,11 @@ public: u32 getType() { return fopAcM_GetParamBit(this, 0, 4); } +private: /* 0x5A8 */ Mtx mMtx[2]; /* 0x608 */ J3DModel* mpModel; /* 0x60C */ s32 field_0x60c; -}; // Size: 0x610 +}; +STATIC_ASSERT(sizeof(daObjKJgjs_c) == 0x610); #endif /* D_A_OBJ_KJGJS_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h b/include/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h index 9b9246da97..4c77b39447 100644 --- a/include/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h +++ b/include/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjKKanban_c + * @brief Kakariko Sign + * + * @details + * + */ class daObjKKanban_c : public dBgS_MoveBgActor { public: /* 80C46768 */ void initBaseMtx(); @@ -28,6 +36,7 @@ public: /* 0x74A */ s16 field_0x74a; /* 0x74C */ f32 field_0x74c; /* 0x750 */ s32 field_0x750; -}; // Size: 0x758 +}; +STATIC_ASSERT(sizeof(daObjKKanban_c) == 0x754); #endif /* D_A_OBJ_KKANBAN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h b/include/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h index 31078327a1..b7569126ce 100644 --- a/include/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h +++ b/include/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h @@ -1,5 +1,36 @@ #ifndef D_A_OBJ_KLIFT00_H #define D_A_OBJ_KLIFT00_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjKLift00_c + * @brief Water Wheel Lift? + * + * @details + * + */ +class daObjKLift00_c : public fopAc_ac_c { +public: + struct ChainPos { + /* 8058C338 */ ~ChainPos(); + /* 8058C374 */ ChainPos(); + }; + + /* 8058B02C */ void create1st(); + /* 8058B0D0 */ void setMtx(); + /* 8058B4B0 */ void rideActor(fopAc_ac_c*); + /* 8058B5EC */ void CreateHeap(); + /* 8058B77C */ void Create(); + /* 8058B97C */ void Execute(f32 (**)[3][4]); + /* 8058BEEC */ void Draw(); + /* 8058C014 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x1160 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKLift00_c) == 0x1160); + #endif /* D_A_OBJ_KLIFT00_H */ diff --git a/include/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h b/include/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h index 85a941e327..fc7e7f6c63 100644 --- a/include/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h +++ b/include/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h @@ -1,5 +1,31 @@ #ifndef D_A_OBJ_KNBULLET_H #define D_A_OBJ_KNBULLET_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjKnBullet_c + * @brief Hero's Shade Energy Ball? (Knight Bullet) + * + * @details + * + */ +class daObjKnBullet_c : public fopAc_ac_c { +public: + /* 80C47118 */ void Create(); + /* 80C47300 */ void Execute(); + /* 80C47480 */ bool Draw(); + /* 80C47488 */ bool Delete(); + /* 80C47490 */ void setBaseMtx(); + /* 80C474E8 */ void col_init(); + /* 80C47558 */ void col_chk(); + /* 80C477B4 */ void hitPrtclSet(); + +private: + /* 0x568 */ u8 field_0x568[0x71c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKnBullet_c) == 0x71c); + #endif /* D_A_OBJ_KNBULLET_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kshutter/d_a_obj_kshutter.h b/include/rel/d/a/obj/d_a_obj_kshutter/d_a_obj_kshutter.h index bc6d65edeb..eb89541131 100644 --- a/include/rel/d/a/obj/d_a_obj_kshutter/d_a_obj_kshutter.h +++ b/include/rel/d/a/obj/d_a_obj_kshutter/d_a_obj_kshutter.h @@ -1,6 +1,63 @@ #ifndef D_A_OBJ_KSHUTTER_H #define D_A_OBJ_KSHUTTER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjKshtr_c + * @brief Lakebed Temple Boss Door + * + * @details + * + */ +class daObjKshtr_c : public fopAc_ac_c { +public: + /* 80C47AB8 */ void initBaseMtx(); + /* 80C47B2C */ void setBaseMtx(); + /* 80C47C14 */ void Create(); + /* 80C47E54 */ void offDzb(); + /* 80C47EA8 */ void CreateHeap(); + /* 80C48050 */ void initKey(); + /* 80C48148 */ void phase_0(); + /* 80C4827C */ void phase_1(); + /* 80C48320 */ s32 phase_2(); + /* 80C48328 */ void create1st(); + /* 80C483CC */ void event_proc_call(); + /* 80C48470 */ void event_proc_call2(); + /* 80C4852C */ void Execute(f32 (**)[3][4]); + /* 80C48590 */ void checkArea(); + /* 80C48708 */ void checkOpen(); + /* 80C48798 */ void getDemoAction(); + /* 80C487E0 */ void demoProc2(); + /* 80C489E0 */ void adjustmentProc(); + /* 80C48AC8 */ void keyUnlockInit(); + /* 80C48B84 */ void keyUnlock(); + /* 80C48BD8 */ void openInit(); + /* 80C48D0C */ void openProc(); + /* 80C48D80 */ void openProc_type1(); + /* 80C48F94 */ void openProc_type2(); + /* 80C490F8 */ void openProc_typeL3Boss(); + /* 80C49158 */ void demoProc(); + /* 80C4925C */ void demoJail1(); + /* 80C494A8 */ void demoJail2(); + /* 80C495A4 */ void demoJail11(); + /* 80C496C8 */ bool demoJail21(); + /* 80C496D0 */ void anmInit(); + /* 80C497A0 */ void actionWaitEvent(); + /* 80C49880 */ void actionEvent(); + /* 80C49914 */ void actionDead(); + /* 80C49918 */ void actionWaitEvent2(); + /* 80C499CC */ void actionOpen(); + /* 80C49A08 */ void actionEvent2(); + /* 80C49A70 */ void actionDead2(); + /* 80C49A74 */ void Draw(); + /* 80C49B4C */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x620 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKshtr_c) == 0x620); + #endif /* D_A_OBJ_KSHUTTER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ktOnFire/d_a_obj_ktOnFire.h b/include/rel/d/a/obj/d_a_obj_ktOnFire/d_a_obj_ktOnFire.h index 580a6f1d2f..04ec22bf8a 100644 --- a/include/rel/d/a/obj/d_a_obj_ktOnFire/d_a_obj_ktOnFire.h +++ b/include/rel/d/a/obj/d_a_obj_ktOnFire/d_a_obj_ktOnFire.h @@ -1,6 +1,40 @@ #ifndef D_A_OBJ_KTONFIRE_H #define D_A_OBJ_KTONFIRE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daKtOnFire_c + * @brief Lantern Fire + * + * @details + * + */ +class daKtOnFire_c : public fopAc_ac_c { +public: + /* 8058C678 */ void setBaseMtx(); + /* 8058C6D0 */ void create(); + /* 8058C960 */ void lightInit(); + /* 8058C9D4 */ void setLight(); + /* 8058C9F8 */ void cutLight(); + /* 8058CA1C */ void Execute(); + /* 8058CDF8 */ bool Draw(); + /* 8058CE00 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x728 - 0x568]; +}; +STATIC_ASSERT(sizeof(daKtOnFire_c) == 0x728); + +class daKtOnFire_HIO_c { +public: + /* 8058C60C */ daKtOnFire_HIO_c(); + /* 8058CEA8 */ ~daKtOnFire_HIO_c(); +}; + #endif /* D_A_OBJ_KTONFIRE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h b/include/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h index 3915451bfc..e943fdd8ff 100644 --- a/include/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h +++ b/include/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h @@ -1,5 +1,51 @@ #ifndef D_A_OBJ_KUWAGATA_H #define D_A_OBJ_KUWAGATA_H +#include "d/d_insect.h" + +/** + * @ingroup actors-objects + * @class daObjKUW_c + * @brief Insect - Stag Beetle + * + * @details + * + */ +class daObjKUW_c : public fopAc_ac_c { +public: + /* 80C4A21C */ void InitCcSph(); + /* 80C4A288 */ void SetCcSph(); + /* 80C4A300 */ void CreateHeap(); + /* 80C4A6E4 */ void ShopWaitAction(); + /* 80C4A84C */ void WaitAction(); + /* 80C4A9D0 */ void WallCheck(); + /* 80C4AC44 */ void SpeedSet(); + /* 80C4AD50 */ void WallWalk(); + /* 80C4B1A0 */ void WalkAction(); + /* 80C4B3A0 */ void MoveAction(); + /* 80C4BB88 */ void Action(); + /* 80C4BC4C */ void ShopAction(); + /* 80C4BD08 */ void Insect_Release(); + /* 80C4BD20 */ void Z_BufferChk(); + /* 80C4BE9C */ void ParticleSet(); + /* 80C4BFC0 */ void BoomChk(); + /* 80C4C38C */ void ObjHit(); + /* 80C4C514 */ void Execute(); + /* 80C4C78C */ void Delete(); + /* 80C4C7F4 */ void setBaseMtx(); + /* 80C4C95C */ void CreateChk(); + /* 80C4CB08 */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0xa68 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKUW_c) == 0xa68); + +class daObj_KuwHIO_c { +public: + /* 80C4A1EC */ daObj_KuwHIO_c(); + /* 80C4D3E8 */ ~daObj_KuwHIO_c(); +}; + #endif /* D_A_OBJ_KUWAGATA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h b/include/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h index 47aa7f3dd4..933f7d239b 100644 --- a/include/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h +++ b/include/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h @@ -1,5 +1,32 @@ #ifndef D_A_OBJ_KWHEEL00_H #define D_A_OBJ_KWHEEL00_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjKWheel00_c + * @brief Water Wheel 00? + * + * @details + * + */ +class daObjKWheel00_c : public fopAc_ac_c { +public: + /* 80C4D6F8 */ void create1st(); + /* 80C4D86C */ void setMtx(); + /* 80C4D9B8 */ void CreateHeap(); + /* 80C4DA38 */ void Create(); + /* 80C4DBBC */ void Execute(f32 (**)[3][4]); + /* 80C4E1B0 */ void Draw(); + /* 80C4E254 */ void Delete(); + /* 80C4E298 */ void eventStart(); + /* 80C4E6E4 */ ~daObjKWheel00_c(); + +private: + /* 0x568 */ u8 field_0x568[0xb44 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKWheel00_c) == 0xb44); + #endif /* D_A_OBJ_KWHEEL00_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kwheel01/d_a_obj_kwheel01.h b/include/rel/d/a/obj/d_a_obj_kwheel01/d_a_obj_kwheel01.h index 30505b710d..7003709891 100644 --- a/include/rel/d/a/obj/d_a_obj_kwheel01/d_a_obj_kwheel01.h +++ b/include/rel/d/a/obj/d_a_obj_kwheel01/d_a_obj_kwheel01.h @@ -1,6 +1,32 @@ #ifndef D_A_OBJ_KWHEEL01_H #define D_A_OBJ_KWHEEL01_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjKWheel01_c + * @brief Water Wheel 01? + * + * @details + * + */ +class daObjKWheel01_c : public fopAc_ac_c { +public: + /* 80C4EA78 */ void create1st(); + /* 80C4EC54 */ void setMtx(); + /* 80C4EDCC */ void CreateHeap(); + /* 80C4EF38 */ void Create(); + /* 80C4F048 */ void Execute(f32 (**)[3][4]); + /* 80C4F344 */ void Draw(); + /* 80C4F3E8 */ void Delete(); + /* 80C4F498 */ void eventStart(); + /* 80C4F60C */ ~daObjKWheel01_c(); + +private: + /* 0x568 */ u8 field_0x568[0x704 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKWheel01_c) == 0x704); + #endif /* D_A_OBJ_KWHEEL01_H */ diff --git a/include/rel/d/a/obj/d_a_obj_kznkarm/d_a_obj_kznkarm.h b/include/rel/d/a/obj/d_a_obj_kznkarm/d_a_obj_kznkarm.h index 787138f40a..35e22aa795 100644 --- a/include/rel/d/a/obj/d_a_obj_kznkarm/d_a_obj_kznkarm.h +++ b/include/rel/d/a/obj/d_a_obj_kznkarm/d_a_obj_kznkarm.h @@ -1,6 +1,42 @@ #ifndef D_A_OBJ_KZNKARM_H #define D_A_OBJ_KZNKARM_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjKznkarm_c + * @brief ??? + * + * @details + * + */ +class daObjKznkarm_c : public fopAc_ac_c { +public: + struct Mode_e {}; + + /* 80C4F858 */ void setAction(daObjKznkarm_c::Mode_e); + /* 80C4F88C */ void callInit(); + /* 80C4F8B4 */ void callExecute(); + /* 80C4F8E0 */ void initBroken(); + /* 80C4F960 */ void executeBroken(); + /* 80C4FBBC */ void initCarry(); + /* 80C4FBEC */ void executeCarry(); + /* 80C4FD18 */ void initThrow(); + /* 80C4FDB4 */ void executeThrow(); + /* 80C50488 */ void initStay(); + /* 80C50504 */ void executeStay(); + /* 80C505F8 */ void create_init(); + /* 80C506DC */ void initBaseMtx(); + /* 80C50708 */ void setBaseMtx(); + /* 80C5076C */ void getGroundSlope(s16); + + static u8 const M_attr[56]; + static u8 ActionTable[96]; + +private: + /* 0x568 */ u8 field_0x568[0x7b4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjKznkarm_c) == 0x7b4); #endif /* D_A_OBJ_KZNKARM_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ladder/d_a_obj_ladder.h b/include/rel/d/a/obj/d_a_obj_ladder/d_a_obj_ladder.h index 0e801f8c6e..6b25836fce 100644 --- a/include/rel/d/a/obj/d_a_obj_ladder/d_a_obj_ladder.h +++ b/include/rel/d/a/obj/d_a_obj_ladder/d_a_obj_ladder.h @@ -1,6 +1,61 @@ #ifndef D_A_OBJ_LADDER_H #define D_A_OBJ_LADDER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLadder + * @brief Ladder + * + * @details + * + */ +class daObjLadder : public fopAc_ac_c { +public: + class Act_c { + public: + struct Prm_e {}; + + /* 8058D158 */ void CreateHeap(); + /* 8058D1D8 */ void Create(); + /* 8058D378 */ void Mthd_Create(); + /* 8058D4F0 */ bool Delete(); + /* 8058D4F8 */ void Mthd_Delete(); + /* 8058D544 */ void demo_end_reset(); + /* 8058D5AC */ void mode_wait_init(); + /* 8058D5B8 */ void mode_wait(); + /* 8058D614 */ void mode_demoreq_init(); + /* 8058D628 */ void mode_demoreq(); + /* 8058D6E8 */ void mode_vib_init(); + /* 8058D710 */ void mode_vib(); + /* 8058D7A8 */ void mode_drop_init(); + /* 8058D7EC */ void mode_drop(); + /* 8058D9C0 */ void mode_fell_init(); + /* 8058D9CC */ void mode_fell(); + /* 8058D9D0 */ void set_mtx(); + /* 8058DA64 */ void init_mtx(); + /* 8058DAA0 */ void Execute(f32 (**)[3][4]); + /* 8058DBB8 */ void Draw(); + + static u8 const M_arcname[5 + 3 /* padding */]; + static u8 M_tmp_mtx[48]; + }; + +private: + /* 0x568 */ u8 field_0x568[0x620 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLadder) == 0x620); + +struct daObj { +public: + /* 800373C0 */ void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32); + template <typename A1> + void PrmAbstract(/* ... */); + /* 8058DD14 */ /* daObj::PrmAbstract<daObjLadder::Act_c::Prm_e> */ + void func_8058DD14(void* _this, fopAc_ac_c const*, daObjLadder::Act_c::Prm_e, + daObjLadder::Act_c::Prm_e); +}; + #endif /* D_A_OBJ_LADDER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h b/include/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h index 91e331da6e..3b9ba8f4be 100644 --- a/include/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h +++ b/include/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h @@ -1,5 +1,37 @@ #ifndef D_A_OBJ_LAUNDRY_H #define D_A_OBJ_LAUNDRY_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLdy_c + * @brief Laundry + * + * @details + * + */ +class daObjLdy_c : public fopAc_ac_c { +public: + /* 80C50F98 */ void create_init(); + /* 80C51088 */ void initBaseMtx(); + /* 80C510F8 */ void setBaseMtx(); + /* 80C5116C */ void getJointAngle(csXyz*, int); + /* 80C51194 */ void setNormalClothPos(); + /* 80C51644 */ void calcJointAngle(); + /* 80C5183C */ bool divorceParent(); + + static u8 const M_attr[52]; +private: + /* 0x568 */ u8 field_0x568[0x7c8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLdy_c) == 0x7c8); + +class LaundJoint_c { +public: + /* 80C51D2C */ ~LaundJoint_c(); + /* 80C51EC0 */ LaundJoint_c(); +}; + #endif /* D_A_OBJ_LAUNDRY_H */ diff --git a/include/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h b/include/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h index b8c9910f05..68be77cb63 100644 --- a/include/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h +++ b/include/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h @@ -1,5 +1,29 @@ #ifndef D_A_OBJ_LAUNDRY_ROPE_H #define D_A_OBJ_LAUNDRY_ROPE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLndRope_c + * @brief Laundry Rope + * + * @details + * + */ +class daObjLndRope_c : public fopAc_ac_c { +public: + /* 80C521F8 */ void create_init(); + /* 80C5285C */ void initBaseMtx(); + /* 80C52890 */ void setBaseMtx(); + /* 80C528E0 */ void setNormalRopePos(); + + static u8 const M_attr[20]; + +private: + /* 0x568 */ u8 field_0x568[0x1774 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLndRope_c) == 0x1774); + #endif /* D_A_OBJ_LAUNDRY_ROPE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h b/include/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h index be66515aaf..b7ff261eec 100644 --- a/include/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h +++ b/include/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h @@ -7,6 +7,14 @@ #include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" +/** + * @ingroup actors-objects + * @class obj_lbox_class + * @brief L - Box (Large Box?) + * + * @details + * + */ class obj_lbox_class : public fopAc_ac_c { public: /* 0x568 */ request_of_phase_process_class mPhaseReq; @@ -28,7 +36,8 @@ public: /* 0xA84 */ u32 field_0xa84; /* 0xA88 */ u32 field_0xa88; /* 0xA8C */ u8 field_0xa8c; -}; // Size = 0xA90 +}; +STATIC_ASSERT(sizeof(obj_lbox_class) == 0xA90); class daObj_Lbox_HIO_c { public: diff --git a/include/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h b/include/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h index 41755394e8..88c32a6343 100644 --- a/include/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h +++ b/include/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h @@ -1,5 +1,47 @@ #ifndef D_A_OBJ_LIFE_CONTAINER_H #define D_A_OBJ_LIFE_CONTAINER_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLife_c + * @brief Heart Piece + * + * @details + * + */ +class daObjLife_c : public fopAc_ac_c { +public: + /* 804CCBE4 */ void initBaseMtx(); + /* 804CCC04 */ void setBaseMtx(); + /* 804CCC6C */ void Create(); + /* 804CCE00 */ void setEffect(); + /* 804CCF5C */ void endEffect00(); + /* 804CCFAC */ void endEffect02(); + /* 804CCFD8 */ bool __CreateHeap(); + /* 804CCFE0 */ void create(); + /* 804CD428 */ void bg_check(); + /* 804CD5B8 */ void actionWaitInit(); + /* 804CD660 */ void actionWait(); + /* 804CD8C0 */ void initActionOrderGetDemo(); + /* 804CD98C */ void actionOrderGetDemo(); + /* 804CDA08 */ void actionGetDemo(); + /* 804CDBC8 */ void actionSwOnWait(); + /* 804CDC2C */ void actionInitBoomerangCarry(); + /* 804CDD0C */ void actionBoomerangCarry(); + /* 804CDD7C */ void actionInitWait2(); + /* 804CDD8C */ void actionWait2(); + /* 804CDDAC */ void calcScale(); + /* 804CDE70 */ void execute(); + /* 804CE19C */ void draw(); + /* 804CE1F0 */ void setListStart(); + /* 804CE214 */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0x9d4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLife_c) == 0x9d4); + #endif /* D_A_OBJ_LIFE_CONTAINER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lp/d_a_obj_lp.h b/include/rel/d/a/obj/d_a_obj_lp/d_a_obj_lp.h index 6d4c3ba2e7..ea90681e1f 100644 --- a/include/rel/d/a/obj/d_a_obj_lp/d_a_obj_lp.h +++ b/include/rel/d/a/obj/d_a_obj_lp/d_a_obj_lp.h @@ -1,6 +1,27 @@ #ifndef D_A_OBJ_LP_H #define D_A_OBJ_LP_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +struct wd_ss { +public: + /* 80C559C8 */ ~wd_ss(); + /* 80C55A04 */ wd_ss(); +}; + +/** + * @ingroup actors-objects + * @class obj_lp_class + * @brief Lily Pad + * + * @details + * + */ +class obj_lp_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0xadb8 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_lp_class) == 0xadb8); + #endif /* D_A_OBJ_LP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv1Candle00/d_a_obj_lv1Candle00.h b/include/rel/d/a/obj/d_a_obj_lv1Candle00/d_a_obj_lv1Candle00.h index 87df9eea6e..c335738533 100644 --- a/include/rel/d/a/obj/d_a_obj_lv1Candle00/d_a_obj_lv1Candle00.h +++ b/include/rel/d/a/obj/d_a_obj_lv1Candle00/d_a_obj_lv1Candle00.h @@ -6,15 +6,16 @@ #include "d/cc/d_cc_d.h" #include "m_Do/m_Do_hostIO.h" -class daLv1Cdl00_HIO_c : public mDoHIO_entry_c { -public: - /* 80C55D0C */ daLv1Cdl00_HIO_c(); - /* 80C56970 */ ~daLv1Cdl00_HIO_c() {} - /* 0x4 */ u8 field_0x4; - /* 0x5 */ u8 field_0x5; -}; +/** + * @ingroup actors-objects + * @class daLv1Cdl00_c + * @brief Forest Temple Torch 00 + * + * @details + * + */ class daLv1Cdl00_c : public fopAc_ac_c { public: /* 80C55D80 */ void setBaseMtx(); @@ -29,6 +30,7 @@ public: /* 80C567EC */ int Draw(); /* 80C56890 */ int Delete(); +private: /* 0x568 */ request_of_phase_process_class mPhase; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ dCcD_Stts mStts; @@ -50,4 +52,13 @@ public: STATIC_ASSERT(sizeof(daLv1Cdl00_c) == 0x754); +class daLv1Cdl00_HIO_c : public mDoHIO_entry_c { +public: + /* 80C55D0C */ daLv1Cdl00_HIO_c(); + /* 80C56970 */ ~daLv1Cdl00_HIO_c() {} + + /* 0x4 */ u8 field_0x4; + /* 0x5 */ u8 field_0x5; +}; + #endif /* D_A_OBJ_LV1CANDLE00_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv1Candle01/d_a_obj_lv1Candle01.h b/include/rel/d/a/obj/d_a_obj_lv1Candle01/d_a_obj_lv1Candle01.h index 11ece32505..4b34895e7e 100644 --- a/include/rel/d/a/obj/d_a_obj_lv1Candle01/d_a_obj_lv1Candle01.h +++ b/include/rel/d/a/obj/d_a_obj_lv1Candle01/d_a_obj_lv1Candle01.h @@ -6,15 +6,14 @@ #include "d/cc/d_cc_d.h" #include "m_Do/m_Do_hostIO.h" -class daLv1Cdl01_HIO_c : public mDoHIO_entry_c { -public: - /* 80C56CAC */ daLv1Cdl01_HIO_c(); - /* 80C5777C */ ~daLv1Cdl01_HIO_c() {} - - /* 0x4 */ u8 field_0x4; - /* 0x5 */ u8 field_0x5; -}; - +/** + * @ingroup actors-objects + * @class daLv1Cdl01_c + * @brief Forest Temple Torch 01 + * + * @details + * + */ class daLv1Cdl01_c : public dBgS_MoveBgActor { public: /* 80C56D20 */ void setBaseMtx(); @@ -28,6 +27,7 @@ public: /* 80C575F4 */ int Draw(); /* 80C57698 */ int Delete(); +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ dCcD_Stts mStts; @@ -48,4 +48,13 @@ public: STATIC_ASSERT(sizeof(daLv1Cdl01_c) == 0x78C); +class daLv1Cdl01_HIO_c : public mDoHIO_entry_c { +public: + /* 80C56CAC */ daLv1Cdl01_HIO_c(); + /* 80C5777C */ ~daLv1Cdl01_HIO_c() {} + + /* 0x4 */ u8 field_0x4; + /* 0x5 */ u8 field_0x5; +}; + #endif /* D_A_OBJ_LV1CANDLE01_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv2Candle/d_a_obj_lv2Candle.h b/include/rel/d/a/obj/d_a_obj_lv2Candle/d_a_obj_lv2Candle.h index 03f56d0c72..95fe393c51 100644 --- a/include/rel/d/a/obj/d_a_obj_lv2Candle/d_a_obj_lv2Candle.h +++ b/include/rel/d/a/obj/d_a_obj_lv2Candle/d_a_obj_lv2Candle.h @@ -5,24 +5,15 @@ #include "m_Do/m_Do_hostIO.h" #include "rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h" -class daLv2Candle_HIO_c : public mDoHIO_entry_c { -public: - /* 8058E04C */ daLv2Candle_HIO_c(); - /* 8058F050 */ ~daLv2Candle_HIO_c() {} - - /* 0x04 */ u8 mTimer; - /* 0x08 */ f32 mPow; - /* 0x0C */ f32 mAnmMaxStep; - /* 0x10 */ f32 mAnmIntensity[6]; - /* 0x28 */ u8 mAnmTimers[6]; - /* 0x2E */ u8 mColor1R; - /* 0x2F */ u8 mColor1G; - /* 0x30 */ u8 mColor1B; - /* 0x31 */ u8 mColor2R; - /* 0x32 */ u8 mColor2G; - /* 0x33 */ u8 mColor2B; -}; +/** + * @ingroup actors-objects + * @class daLv2Candle_c + * @brief Goron Mines Torch + * + * @details + * + */ class daLv2Candle_c : public fopAc_ac_c { public: /* 8058E13C */ void setBaseMtx(); @@ -46,6 +37,7 @@ public: u8 getSwType() { return fopAcM_GetParamBit(this, 8, 4); } u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); } +private: /* 0x568 */ request_of_phase_process_class mPhase; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ dCcD_Stts mStts; @@ -74,4 +66,22 @@ public: STATIC_ASSERT(sizeof(daLv2Candle_c) == 0x75C); +class daLv2Candle_HIO_c : public mDoHIO_entry_c { +public: + /* 8058E04C */ daLv2Candle_HIO_c(); + /* 8058F050 */ ~daLv2Candle_HIO_c() {} + + /* 0x04 */ u8 mTimer; + /* 0x08 */ f32 mPow; + /* 0x0C */ f32 mAnmMaxStep; + /* 0x10 */ f32 mAnmIntensity[6]; + /* 0x28 */ u8 mAnmTimers[6]; + /* 0x2E */ u8 mColor1R; + /* 0x2F */ u8 mColor1G; + /* 0x30 */ u8 mColor1B; + /* 0x31 */ u8 mColor2R; + /* 0x32 */ u8 mColor2G; + /* 0x33 */ u8 mColor2B; +}; + #endif /* D_A_OBJ_LV2CANDLE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv3Candle/d_a_obj_lv3Candle.h b/include/rel/d/a/obj/d_a_obj_lv3Candle/d_a_obj_lv3Candle.h index 343c74ce14..0a6c002a86 100644 --- a/include/rel/d/a/obj/d_a_obj_lv3Candle/d_a_obj_lv3Candle.h +++ b/include/rel/d/a/obj/d_a_obj_lv3Candle/d_a_obj_lv3Candle.h @@ -5,15 +5,15 @@ #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_hostIO.h" -class daLv3Candle_HIO_c : public mDoHIO_entry_c { -public: - /* 80C57ACC */ daLv3Candle_HIO_c(); - /* 80C58484 */ virtual ~daLv3Candle_HIO_c() {} - - /* 0x00 vtable */ - /* 0x04 */ u8 field_0x04; -}; +/** + * @ingroup actors-objects + * @class daLv3Candle_c + * @brief Lakebed Temple Torch + * + * @details + * + */ class daLv3Candle_c : public fopAc_ac_c { public: /* 80C57B38 */ void setBaseMtx(); @@ -29,6 +29,7 @@ public: u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); } u8 getType() { return fopAcM_GetParamBit(this, 8, 8); } +private: /* 0x568 */ request_of_phase_process_class mPhaseReq; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ u8 mType; @@ -50,4 +51,13 @@ public: STATIC_ASSERT(sizeof(daLv3Candle_c) == 0x754); +class daLv3Candle_HIO_c : public mDoHIO_entry_c { +public: + /* 80C57ACC */ daLv3Candle_HIO_c(); + /* 80C58484 */ virtual ~daLv3Candle_HIO_c() {} + + /* 0x00 vtable */ + /* 0x04 */ u8 field_0x04; +}; + #endif /* D_A_OBJ_LV3CANDLE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv3Water/d_a_obj_lv3Water.h b/include/rel/d/a/obj/d_a_obj_lv3Water/d_a_obj_lv3Water.h index db80ff490a..8609030bc4 100644 --- a/include/rel/d/a/obj/d_a_obj_lv3Water/d_a_obj_lv3Water.h +++ b/include/rel/d/a/obj/d_a_obj_lv3Water/d_a_obj_lv3Water.h @@ -1,6 +1,41 @@ #ifndef D_A_OBJ_LV3WATER_H #define D_A_OBJ_LV3WATER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv3Water_c + * @brief Lakebed Temple Water + * + * @details + * + */ +class daLv3Water_c : public fopAc_ac_c { +public: + /* 80C58838 */ void setBaseMtx(); + /* 80C5891C */ void CreateHeap(); + /* 80C58ABC */ void create(); + /* 80C58D68 */ void Execute(f32 (**)[3][4]); + /* 80C58E20 */ void effectSet(); + /* 80C596F4 */ void mode_proc_wait(); + /* 80C59754 */ void mode_init_levelCtrl(); + /* 80C597FC */ void mode_proc_levelCtrl(); + /* 80C598BC */ void Draw(); + /* 80C59AA0 */ void Delete(); + /* 80C59AE0 */ void eventStart(); + /* 80C59D80 */ ~daLv3Water_c(); + +private: + /* 0x568 */ u8 field_0x568[0x628 - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv3Water_c) == 0x628); + +class daLv3Water_HIO_c { +public: + /* 80C587CC */ daLv3Water_HIO_c(); + /* 80C59C34 */ ~daLv3Water_HIO_c(); +}; + #endif /* D_A_OBJ_LV3WATER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv3Water2/d_a_obj_lv3Water2.h b/include/rel/d/a/obj/d_a_obj_lv3Water2/d_a_obj_lv3Water2.h index 50fb59a886..ad61d3967e 100644 --- a/include/rel/d/a/obj/d_a_obj_lv3Water2/d_a_obj_lv3Water2.h +++ b/include/rel/d/a/obj/d_a_obj_lv3Water2/d_a_obj_lv3Water2.h @@ -1,6 +1,40 @@ #ifndef D_A_OBJ_LV3WATER2_H #define D_A_OBJ_LV3WATER2_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv3Water2_c + * @brief Lakebed Temple Water 2 + * + * @details + * + */ +class daLv3Water2_c : public fopAc_ac_c { +public: + /* 80C5A478 */ void setBaseMtx(); + /* 80C5A4F8 */ void CreateHeap(); + /* 80C5A5E4 */ void create(); + /* 80C5A844 */ void Execute(f32 (**)[3][4]); + /* 80C5AC10 */ void mode_proc_wait(); + /* 80C5ACB8 */ void mode_init_levelCtrl(); + /* 80C5ACE4 */ void mode_proc_levelCtrl(); + /* 80C5ADA4 */ void Draw(); + /* 80C5AEFC */ void Delete(); + /* 80C5AF3C */ void eventStart(); + /* 80C5B298 */ ~daLv3Water2_c(); + +private: + /* 0x568 */ u8 field_0x568[0x610 - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv3Water2_c) == 0x610); + +class daLv3Water2_HIO_c { +public: + /* 80C5A40C */ daLv3Water2_HIO_c(); + /* 80C5B14C */ ~daLv3Water2_HIO_c(); +}; + #endif /* D_A_OBJ_LV3WATER2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv3WaterB/d_a_obj_lv3WaterB.h b/include/rel/d/a/obj/d_a_obj_lv3WaterB/d_a_obj_lv3WaterB.h index 31dfebae43..0946d244c2 100644 --- a/include/rel/d/a/obj/d_a_obj_lv3WaterB/d_a_obj_lv3WaterB.h +++ b/include/rel/d/a/obj/d_a_obj_lv3WaterB/d_a_obj_lv3WaterB.h @@ -9,6 +9,14 @@ enum obj_lv3waterB_action { LV3WATERB_ACT_END, }; +/** + * @ingroup actors-objects + * @class obj_lv3WaterB_class + * @brief Lakebed Temple Water (Boss) + * + * @details + * + */ class obj_lv3WaterB_class : public fopAc_ac_c { public: /* 0x568 */ request_of_phase_process_class mBWaterPhase; @@ -25,5 +33,6 @@ public: /* 0x5C4 */ Mtx mpOctHibiMtx; /* 0x5F4 */ dBgW* mpOctHibiBgW; }; +STATIC_ASSERT(sizeof(obj_lv3WaterB_class) == 0x5F8); #endif /* D_A_OBJ_LV3WATERB_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv3saka00/d_a_obj_lv3saka00.h b/include/rel/d/a/obj/d_a_obj_lv3saka00/d_a_obj_lv3saka00.h index 095211074a..9fe34f6cf4 100644 --- a/include/rel/d/a/obj/d_a_obj_lv3saka00/d_a_obj_lv3saka00.h +++ b/include/rel/d/a/obj/d_a_obj_lv3saka00/d_a_obj_lv3saka00.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjLv3saka_c + * @brief Lakebed Temple Spiral 00 + * + * @details + * + */ class daObjLv3saka_c : public dBgS_MoveBgActor { public: /* 80C5BE58 */ void initBaseMtx(); @@ -20,6 +28,7 @@ public: u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8) & 0xFF; } u8 getType() { return fopAcM_GetParamBit(this, 28, 4) & 0xFF; } +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ dBgW* mpBgW2; }; diff --git a/include/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h b/include/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h index e8064a8889..e86ff57680 100644 --- a/include/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h +++ b/include/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h @@ -3,6 +3,14 @@ #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjWaterEff_c + * @brief Room 09 Water + * + * @details + * + */ class daObjWaterEff_c : public fopAc_ac_c { public: /* 80C5C4F8 */ int Create(); @@ -10,9 +18,11 @@ public: /* 80C5C6B0 */ int execute(); /* 80C5C7B8 */ int _delete(); +private: /* 0x568 */ cXyz mSePositions[2]; /* 0x580 */ JPABaseEmitter* mParticles[4]; /* 0x590 */ u8 unused_0x590[0x594 - 0x590]; }; +STATIC_ASSERT(sizeof(daObjWaterEff_c) == 0x594); #endif /* D_A_OBJ_LV3WATEREFF_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4CandleDemoTag/d_a_obj_lv4CandleDemoTag.h b/include/rel/d/a/obj/d_a_obj_lv4CandleDemoTag/d_a_obj_lv4CandleDemoTag.h index 414287a632..fc89caa210 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4CandleDemoTag/d_a_obj_lv4CandleDemoTag.h +++ b/include/rel/d/a/obj/d_a_obj_lv4CandleDemoTag/d_a_obj_lv4CandleDemoTag.h @@ -1,5 +1,70 @@ #ifndef D_A_OBJ_LV4CANDLEDEMOTAG_H #define D_A_OBJ_LV4CANDLEDEMOTAG_H +#include "f_op/f_op_actor_mng.h" +#include "d/event/d_event_lib.h" +#include "rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h" + +// idk how this works atm. dEvLib_callback_c seems to need to be inherited, but this data comes +// before it. the fopAc_ac_c struct size is 100% correct, so do not change it +struct temp { + /* 0x568 */ u8 field_0x568[0x570 - 0x568]; +}; + +/** + * @ingroup actors-objects + * @class dalv4CandleDemoTag_c + * @brief Arbiter's Grounds Torch Cutscene Tag + * + * @details + * + */ +class dalv4CandleDemoTag_c : public fopAc_ac_c, temp, public dEvLib_callback_c { +public: + dalv4CandleDemoTag_c() : dEvLib_callback_c(this) {} + + /* 80C5CA58 */ void setBaseMtx(); + /* 80C5CA90 */ int create(); + /* 80C5CBA4 */ int Execute(); + /* 80C5CBE8 */ void procMain(); + /* 80C5CCA4 */ void init_modeWatch(); + /* 80C5CCC0 */ void modeWatch(); + /* 80C5CDC0 */ void init_modeEnemyCreate(); + /* 80C5CE70 */ void modeEnemyCreate(); + /* 80C5CEB4 */ void init_modeNG(); + /* 80C5CEC0 */ void modeNG(); + /* 80C5CF34 */ void init_modeEnd(); + /* 80C5CF40 */ void modeEnd(); + /* 80C5CF9C */ static void* searchShutterAct(void*, void*); + /* 80C5CFEC */ int Draw(); + /* 80C5CFF4 */ int Delete(); + + u8 getPathID() { return fopAcM_GetParamBit(this, 0x10, 8); } + int getSwNG() { return fopAcM_GetParamBit(this, 0, 8); } + int getSwDest() { return fopAcM_GetParamBit(this, 8, 8); } + int getSwOK() { return shape_angle.x & 0xFF; } + int getEventID() { return fopAcM_GetParamBit(this, 0x18, 8); } + + /* 80C5D184 */ virtual ~dalv4CandleDemoTag_c(); + /* 80C5CF78 */ virtual BOOL eventStart(); + +private: + /* 0x584 */ u8 mMode; + /* 0x585 */ u8 mPathID; + /* 0x586 */ u8 mSwNG; + /* 0x587 */ u8 mSwDest; + /* 0x588 */ u16 mEnemyWaitTime; + /* 0x58C */ daLv4EdShutter_c* mpShutterActor; +}; +STATIC_ASSERT(sizeof(dalv4CandleDemoTag_c) == 0x590); + +class dalv4CandleDemoTag_HIO_c : public mDoHIO_entry_c { +public: + /* 80C5C9EC */ dalv4CandleDemoTag_HIO_c(); + /* 80C5D07C */ virtual ~dalv4CandleDemoTag_HIO_c(); + + /* 0x4 */ s16 mEnemyWaitTime; +}; + #endif /* D_A_OBJ_LV4CANDLEDEMOTAG_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h b/include/rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h index 47866d3aed..6b24062d53 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h +++ b/include/rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h @@ -11,6 +11,14 @@ struct unknown { // dalv4CandleTag_c should inherit fopAc_ac_c, unknown, and dEvLib_callback_c // but this causes issues with weak function ordering +/** + * @ingroup actors-objects + * @class dalv4CandleTag_c + * @brief Arbiter's Grounds Torch Tag + * + * @details + * + */ class dalv4CandleTag_c : public fopAc_ac_c { public: enum Mode { diff --git a/include/rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h b/include/rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h index e5d34b6597..a3d9ac9ae9 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h +++ b/include/rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h @@ -1,6 +1,50 @@ #ifndef D_A_OBJ_LV4EDSHUTTER_H #define D_A_OBJ_LV4EDSHUTTER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv4EdShutter_c + * @brief Arbiter's Grounds Death Sword Gate + * + * @details + * + */ +class daLv4EdShutter_c : public fopAc_ac_c { +public: + /* 80C5DE38 */ void setBaseMtx(); + /* 80C5DEC8 */ void CreateHeap(); + /* 80C5DF34 */ void create(); + /* 80C5E0A4 */ void Execute(f32 (**)[3][4]); + /* 80C5E0F4 */ void move(); + /* 80C5E1B0 */ void init_modeWait(); + /* 80C5E1C8 */ void modeWait(); + /* 80C5E2E0 */ void init_modeOpen(); + /* 80C5E394 */ void modeOpen(); + /* 80C5E464 */ void init_modeClose(); + /* 80C5E518 */ void modeClose(); + /* 80C5E584 */ void init_modeEnd(); + /* 80C5E590 */ void modeEnd(); + /* 80C5E594 */ void eventStart(); + /* 80C5E5CC */ void Draw(); + /* 80C5E670 */ void Delete(); + /* 80C5E834 */ ~daLv4EdShutter_c(); + + u8 getStatus() { return mStatus; } + +private: + /* 0x568 */ u8 field_0x568[0x5CA - 0x568]; + /* 0x5CA */ u8 mStatus; + /* 0x5CB */ u8 field_0x56B[0x5DC - 0x5CB]; +}; +STATIC_ASSERT(sizeof(daLv4EdShutter_c) == 0x5dc); + +class daLv4EdShutter_HIO_c { +public: + /* 80C5DDAC */ daLv4EdShutter_HIO_c(); + /* 80C5E72C */ ~daLv4EdShutter_HIO_c(); +}; + #endif /* D_A_OBJ_LV4EDSHUTTER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h b/include/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h index bd7e1ab36b..bf64154869 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h +++ b/include/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h @@ -5,6 +5,14 @@ #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_hostIO.h" +/** + * @ingroup actors-objects + * @class daLv4Gate_c + * @brief Arbiter's Grounds Gate + * + * @details + * + */ class daLv4Gate_c : public dBgS_MoveBgActor { public: enum Mode_e { diff --git a/include/rel/d/a/obj/d_a_obj_lv4HsTarget/d_a_obj_lv4HsTarget.h b/include/rel/d/a/obj/d_a_obj_lv4HsTarget/d_a_obj_lv4HsTarget.h index ff4f82776f..48ff469bdc 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4HsTarget/d_a_obj_lv4HsTarget.h +++ b/include/rel/d/a/obj/d_a_obj_lv4HsTarget/d_a_obj_lv4HsTarget.h @@ -5,6 +5,14 @@ #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_hostIO.h" +/** + * @ingroup actors-objects + * @class daLv4HsTarget_c + * @brief Arbiter's Grounds Clawshot Target + * + * @details + * + */ class daLv4HsTarget_c : public dBgS_MoveBgActor { public: /* 80C5F690 */ void setBaseMtx(); @@ -15,9 +23,11 @@ public: /* 80C5F870 */ virtual int Draw(); /* 80C5F8D4 */ virtual int Delete(); +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ J3DModel* mpModel; }; +STATIC_ASSERT(sizeof(daLv4HsTarget_c) == 0x5AC); class daLv4HsTarget_HIO_c : public mDoHIO_entry_c { public: diff --git a/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h b/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h index c2972353a5..ccf75b3141 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h +++ b/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h @@ -5,23 +5,14 @@ #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_hostIO.h" -class daLv4PoGate_HIO_c : public mDoHIO_entry_c { -public: - /* 80C5FBEC */ daLv4PoGate_HIO_c(); - /* 80C60758 */ virtual ~daLv4PoGate_HIO_c() {}; - - /* 0x04 */ f32 mOpenSpeed; - /* 0x08 */ f32 mCloseStep1Speed; - /* 0x0C */ f32 mCloseStep2Speed; - /* 0x10 */ f32 mCloseStep1Amount; - /* 0x14 */ f32 mCloseStep2Amount; - /* 0x18 */ u8 mCloseStep1Wait; - /* 0x19 */ u8 mCloseStep2Wait; - /* 0x1C */ f32 mCloseStep3Speed; - /* 0x20 */ f32 mCloseStep3Max; - /* 0x24 */ u8 mShockStrength; -}; - +/** + * @ingroup actors-objects + * @class daLv4PoGate_c + * @brief Arbiter's Grounds Poe Gate + * + * @details + * + */ class daLv4PoGate_c : public dBgS_MoveBgActor { public: enum Mode_e { @@ -61,6 +52,7 @@ public: int getSw() { return fopAcM_GetParamBit(this, 0, 8); } +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ u8 mMode; @@ -70,5 +62,23 @@ public: /* 0x5B4 */ f32 mMoveValue; /* 0x5B8 */ u8 mCloseWaitTime; }; +STATIC_ASSERT(sizeof(daLv4PoGate_c) == 0x5BC); + +class daLv4PoGate_HIO_c : public mDoHIO_entry_c { +public: + /* 80C5FBEC */ daLv4PoGate_HIO_c(); + /* 80C60758 */ virtual ~daLv4PoGate_HIO_c() {}; + + /* 0x04 */ f32 mOpenSpeed; + /* 0x08 */ f32 mCloseStep1Speed; + /* 0x0C */ f32 mCloseStep2Speed; + /* 0x10 */ f32 mCloseStep1Amount; + /* 0x14 */ f32 mCloseStep2Amount; + /* 0x18 */ u8 mCloseStep1Wait; + /* 0x19 */ u8 mCloseStep2Wait; + /* 0x1C */ f32 mCloseStep3Speed; + /* 0x20 */ f32 mCloseStep3Max; + /* 0x24 */ u8 mShockStrength; +}; #endif /* D_A_OBJ_LV4POGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4RailWall/d_a_obj_lv4RailWall.h b/include/rel/d/a/obj/d_a_obj_lv4RailWall/d_a_obj_lv4RailWall.h index d8567d8a7e..63a6d29281 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4RailWall/d_a_obj_lv4RailWall.h +++ b/include/rel/d/a/obj/d_a_obj_lv4RailWall/d_a_obj_lv4RailWall.h @@ -1,6 +1,40 @@ #ifndef D_A_OBJ_LV4RAILWALL_H #define D_A_OBJ_LV4RAILWALL_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLv4Wall_c + * @brief Arbiters Grounds Spinner Rail Wall (Stallord Arena) + * + * @details + * + */ +class daObjLv4Wall_c : public fopAc_ac_c { +public: + /* 80C60AC4 */ void initBaseMtx(); + /* 80C60B00 */ void setBaseMtx(); + /* 80C60B7C */ void Create(); + /* 80C60CD0 */ void CreateHeap(); + /* 80C60D40 */ void create1st(); + /* 80C60DC4 */ void Execute(f32 (**)[3][4]); + /* 80C60E90 */ void action(); + /* 80C60F4C */ void mode_init_wait(); + /* 80C60F58 */ void mode_wait(); + /* 80C61004 */ void mode_init_move(); + /* 80C61068 */ void mode_move(); + /* 80C613C0 */ void mode_init_dead(); + /* 80C613CC */ void mode_dead(); + /* 80C613D0 */ void eventStart(); + /* 80C6143C */ void Draw(); + /* 80C614E0 */ void Delete(); + /* 80C61940 */ ~daObjLv4Wall_c(); + +private: + /* 0x568 */ u8 field_0x568[0x95c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv4Wall_c) == 0x95c); + #endif /* D_A_OBJ_LV4RAILWALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4SlideWall/d_a_obj_lv4SlideWall.h b/include/rel/d/a/obj/d_a_obj_lv4SlideWall/d_a_obj_lv4SlideWall.h index 8c7064ef0e..068629fc92 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4SlideWall/d_a_obj_lv4SlideWall.h +++ b/include/rel/d/a/obj/d_a_obj_lv4SlideWall/d_a_obj_lv4SlideWall.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_LV4SLIDEWALL_H #define D_A_OBJ_LV4SLIDEWALL_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daSldWall_c + * @brief Arbiter's Grounds Sliding Wall + * + * @details + * + */ +class daSldWall_c : public fopAc_ac_c { +public: + /* 80C61EB0 */ void setBaseMtx(); + /* 80C61F4C */ void CreateHeap(); + /* 80C61FB8 */ void create(); + /* 80C620E4 */ void Execute(f32 (**)[3][4]); + /* 80C62134 */ void moveWall(); + /* 80C62238 */ void init_modeWait(); + /* 80C62244 */ void modeWait(); + /* 80C62248 */ void init_modeMoveOpen(); + /* 80C62254 */ void modeMoveOpen(); + /* 80C62314 */ void init_modeMoveClose(); + /* 80C62320 */ void modeMoveClose(); + /* 80C623E0 */ void setSe(); + /* 80C6249C */ void Draw(); + /* 80C62540 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5b4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daSldWall_c) == 0x5b4); + +class daSldWall_HIO_c { +public: + /* 80C61E2C */ daSldWall_HIO_c(); + /* 80C625FC */ ~daSldWall_HIO_c(); +}; + #endif /* D_A_OBJ_LV4SLIDEWALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4bridge/d_a_obj_lv4bridge.h b/include/rel/d/a/obj/d_a_obj_lv4bridge/d_a_obj_lv4bridge.h index b1227301cc..eb8d20dd64 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4bridge/d_a_obj_lv4bridge.h +++ b/include/rel/d/a/obj/d_a_obj_lv4bridge/d_a_obj_lv4bridge.h @@ -1,6 +1,40 @@ #ifndef D_A_OBJ_LV4BRIDGE_H #define D_A_OBJ_LV4BRIDGE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLv4Brg_c + * @brief Arbiter's Grounds Bridge + * + * @details + * + */ +class daObjLv4Brg_c : public fopAc_ac_c { +public: + /* 80C62878 */ void initBaseMtx(); + /* 80C628B4 */ void setBaseMtx(); + /* 80C62994 */ void Create(); + /* 80C62A2C */ void CreateHeap(); + /* 80C62A9C */ void create1st(); + /* 80C62B20 */ void Execute(f32 (**)[3][4]); + /* 80C62B6C */ void action(); + /* 80C62C28 */ void mode_init_wait(); + /* 80C62C34 */ void mode_wait(); + /* 80C62CE4 */ void mode_init_move(); + /* 80C62CFC */ void mode_move(); + /* 80C62E24 */ void mode_init_dead(); + /* 80C62E30 */ void mode_dead(); + /* 80C62E34 */ void eventStart(); + /* 80C62EA0 */ void Draw(); + /* 80C62F44 */ void Delete(); + /* 80C630C4 */ ~daObjLv4Brg_c(); + +private: + /* 0x568 */ u8 field_0x568[0x5d0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv4Brg_c) == 0x5d0); + #endif /* D_A_OBJ_LV4BRIDGE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h b/include/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h index d6d0dfb533..eae512d55f 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h +++ b/include/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h @@ -1,5 +1,47 @@ #ifndef D_A_OBJ_LV4CHANDELIER_H #define D_A_OBJ_LV4CHANDELIER_H +#include "f_op/f_op_actor_mng.h" +#include "d/d_model.h" + +/** + * @ingroup actors-objects + * @class daObjLv4Chan_c + * @brief Arbiter's Grounds Chandelier + * + * @details + * + */ +class daObjLv4Chan_c : public fopAc_ac_c { +public: + struct ChainPos { + /* 80C66564 */ ~ChainPos(); + /* 80C665A0 */ ChainPos(); + }; + + /* 80C63360 */ void create1st(); + /* 80C634CC */ void setMtxChain(daObjLv4Chan_c::ChainPos*, dMdl_obj_c*, int); + /* 80C636B4 */ void setMtx(); + /* 80C639B4 */ void rideActor(fopAc_ac_c*); + /* 80C63CFC */ void CreateHeap(); + /* 80C63FA8 */ void Create(); + /* 80C6449C */ void constraintChain(daObjLv4Chan_c::ChainPos*, int); + /* 80C64668 */ void constraintBase(); + /* 80C647FC */ void calcVec(daObjLv4Chan_c::ChainPos*, int); + /* 80C64878 */ void chkGnd(); + /* 80C648F4 */ void Execute(f32 (**)[3][4]); + /* 80C65F04 */ void Draw(); + /* 80C66114 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x24a4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv4Chan_c) == 0x24a4); + +class daObjSwChain_c : public fopAc_ac_c { +public: + /* 80C665A4 */ void checkTight(); +}; + #endif /* D_A_OBJ_LV4CHANDELIER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4digsand/d_a_obj_lv4digsand.h b/include/rel/d/a/obj/d_a_obj_lv4digsand/d_a_obj_lv4digsand.h index 0ccc27a0d6..424c52302f 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4digsand/d_a_obj_lv4digsand.h +++ b/include/rel/d/a/obj/d_a_obj_lv4digsand/d_a_obj_lv4digsand.h @@ -1,6 +1,38 @@ #ifndef D_A_OBJ_LV4DIGSAND_H #define D_A_OBJ_LV4DIGSAND_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjL4DigSand_c + * @brief Arbiter's Grounds Digging Sand + * + * @details + * + */ +class daObjL4DigSand_c : public fopAc_ac_c { +public: + /* 80C66B18 */ void initBaseMtx(); + /* 80C66B54 */ void setBaseMtx(); + /* 80C66BC8 */ void Create(); + /* 80C66C24 */ void CreateHeap(); + /* 80C66C94 */ void create1st(); + /* 80C66D40 */ void Execute(f32 (**)[3][4]); + /* 80C66DD0 */ void action(); + /* 80C66E74 */ void mode_init_wait(); + /* 80C66E80 */ void mode_wait(); + /* 80C66EAC */ void mode_init_dig(); + /* 80C66FFC */ void mode_dig(); + /* 80C670AC */ void mode_init_end(); + /* 80C67100 */ void mode_end(); + /* 80C67104 */ void Draw(); + /* 80C671A8 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x944 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjL4DigSand_c) == 0x944); + #endif /* D_A_OBJ_LV4DIGSAND_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4floor/d_a_obj_lv4floor.h b/include/rel/d/a/obj/d_a_obj_lv4floor/d_a_obj_lv4floor.h index dedfcb41c0..99295ea374 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4floor/d_a_obj_lv4floor.h +++ b/include/rel/d/a/obj/d_a_obj_lv4floor/d_a_obj_lv4floor.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjLv4Floor_c + * @brief Arbiter's Grounds Floor + * + * @details + * + */ class daObjLv4Floor_c : public dBgS_MoveBgActor { public: enum Action_e { @@ -30,10 +38,12 @@ public: u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8) & 0xFF; } +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ f32 mMoveYPos; /* 0x5B0 */ u8 mAction; }; +STATIC_ASSERT(sizeof(daObjLv4Floor_c) == 0x5B4); #endif /* D_A_OBJ_LV4FLOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4gear/d_a_obj_lv4gear.h b/include/rel/d/a/obj/d_a_obj_lv4gear/d_a_obj_lv4gear.h index b5472017da..4a5e25ae70 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4gear/d_a_obj_lv4gear.h +++ b/include/rel/d/a/obj/d_a_obj_lv4gear/d_a_obj_lv4gear.h @@ -3,6 +3,14 @@ #include "rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h" +/** + * @ingroup actors-objects + * @class daObjLv4Gear_c + * @brief Arbiter's Grounds Spinner Gear + * + * @details + * + */ class daObjLv4Gear_c : public fopAc_ac_c { public: enum gear_type_e { @@ -23,6 +31,7 @@ public: u8 getType() { return fopAcM_GetParamBit(this, 8, 4); } u8 checkSE() { return fopAcM_GetParamBit(this, 12, 4); } +private: /* 0x568 */ request_of_phase_process_class mPhase; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ s16 mTarget; diff --git a/include/rel/d/a/obj/d_a_obj_lv4prelvtr/d_a_obj_lv4prelvtr.h b/include/rel/d/a/obj/d_a_obj_lv4prelvtr/d_a_obj_lv4prelvtr.h index 4a88c0f3b5..c65cd7320b 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4prelvtr/d_a_obj_lv4prelvtr.h +++ b/include/rel/d/a/obj/d_a_obj_lv4prelvtr/d_a_obj_lv4prelvtr.h @@ -1,6 +1,31 @@ #ifndef D_A_OBJ_LV4PRELVTR_H #define D_A_OBJ_LV4PRELVTR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjPRElvtr_c + * @brief Arbiter's Grounds Elevator? + * + * @details + * + */ +class daObjPRElvtr_c : public fopAc_ac_c { +public: + /* 80C685F8 */ void create1st(); + /* 80C68688 */ void setMtx(); + /* 80C686F8 */ void CreateHeap(); + /* 80C68768 */ void Create(); + /* 80C68844 */ void Execute(f32 (**)[3][4]); + /* 80C68944 */ void Draw(); + /* 80C689E8 */ void Delete(); + /* 80C68AF0 */ ~daObjPRElvtr_c(); + +private: + /* 0x568 */ u8 field_0x568[0x610 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjPRElvtr_c) == 0x610); + #endif /* D_A_OBJ_LV4PRELVTR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4prwall/d_a_obj_lv4prwall.h b/include/rel/d/a/obj/d_a_obj_lv4prwall/d_a_obj_lv4prwall.h index 3f546c5b7d..6c3ec3503c 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4prwall/d_a_obj_lv4prwall.h +++ b/include/rel/d/a/obj/d_a_obj_lv4prwall/d_a_obj_lv4prwall.h @@ -1,6 +1,31 @@ #ifndef D_A_OBJ_LV4PRWALL_H #define D_A_OBJ_LV4PRWALL_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLv4PRwall_c + * @brief Arbiter's Grounds Rail Wall (Not Stallord?) + * + * @details + * + */ +class daObjLv4PRwall_c : public fopAc_ac_c { +public: + /* 80C68C98 */ void create1st(); + /* 80C68DD8 */ void setMtx(); + /* 80C68F20 */ void CreateHeap(); + /* 80C68FA0 */ void Create(); + /* 80C690D8 */ void Execute(f32 (**)[3][4]); + /* 80C696BC */ void Draw(); + /* 80C69760 */ void Delete(); + /* 80C69870 */ ~daObjLv4PRwall_c(); + +private: + /* 0x568 */ u8 field_0x568[0x62c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv4PRwall_c) == 0x62c); + #endif /* D_A_OBJ_LV4PRWALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv4sand/d_a_obj_lv4sand.h b/include/rel/d/a/obj/d_a_obj_lv4sand/d_a_obj_lv4sand.h index 675a8a6db1..25122a46c1 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4sand/d_a_obj_lv4sand.h +++ b/include/rel/d/a/obj/d_a_obj_lv4sand/d_a_obj_lv4sand.h @@ -1,6 +1,40 @@ #ifndef D_A_OBJ_LV4SAND_H #define D_A_OBJ_LV4SAND_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLv4Sand_c + * @brief Arbiter's Grounds Sand (Stallord Arena) + * + * @details + * + */ +class daObjLv4Sand_c : public fopAc_ac_c { +public: + /* 80C69A98 */ void initBaseMtx(); + /* 80C69AD4 */ void setBaseMtx(); + /* 80C69B50 */ void Create(); + /* 80C69C28 */ void CreateHeap(); + /* 80C69D8C */ void create1st(); + /* 80C69E10 */ void Execute(f32 (**)[3][4]); + /* 80C69F18 */ void action(); + /* 80C69FBC */ void mode_init_wait(); + /* 80C69FC8 */ void mode_wait(); + /* 80C6A01C */ void mode_init_move(); + /* 80C6A034 */ void mode_move(); + /* 80C6A09C */ void mode_init_dead(); + /* 80C6A0A8 */ void mode_dead(); + /* 80C6A0AC */ void eventStart(); + /* 80C6A0D0 */ void Draw(); + /* 80C6A18C */ void Delete(); + /* 80C6A30C */ ~daObjLv4Sand_c(); + +private: + /* 0x568 */ u8 field_0x568[0x5c8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv4Sand_c) == 0x5c8); + #endif /* D_A_OBJ_LV4SAND_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h b/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h index 9048acff8e..c5d1563b46 100644 --- a/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h +++ b/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_LV5FLOORBOARD_H #define D_A_OBJ_LV5FLOORBOARD_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daFlorBoad_c + * @brief Snowpeak Ruins Destructable Floor + * + * @details + * + */ +class daFlorBoad_c : public fopAc_ac_c { +public: + /* 80C6A6FC */ void setBaseMtx(); + /* 80C6A784 */ void CreateHeap(); + /* 80C6A7F0 */ void create(); + /* 80C6AAAC */ void Execute(f32 (**)[3][4]); + /* 80C6AB04 */ void procMain(); + /* 80C6AB90 */ void init_modeWait(); + /* 80C6ABAC */ void modeWait(); + /* 80C6AC9C */ void init_modeBreak(); + /* 80C6AD40 */ void modeBreak(); + /* 80C6AEB0 */ void Draw(); + /* 80C6AF54 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x734 - 0x568]; +}; +STATIC_ASSERT(sizeof(daFlorBoad_c) == 0x734); + +class daFlorBoad_HIO_c { +public: + /* 80C6A60C */ daFlorBoad_HIO_c(); + /* 80C6B058 */ ~daFlorBoad_HIO_c(); +}; + #endif /* D_A_OBJ_LV5FLOORBOARD_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h b/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h index bff5750c68..2abc33ac5c 100644 --- a/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h +++ b/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_LV5ICEWALL_H #define D_A_OBJ_LV5ICEWALL_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daIceWall_c + * @brief Snowpeak Ruins Ice Wall + * + * @details + * + */ +class daIceWall_c : public fopAc_ac_c { +public: + /* 80C6B51C */ void setBaseMtx(); + /* 80C6B5E4 */ void CreateHeap(); + /* 80C6B69C */ void create(); + /* 80C6BB60 */ void Execute(f32 (**)[3][4]); + /* 80C6BBC4 */ void procMain(); + /* 80C6BC50 */ void init_modeWait(); + /* 80C6BC6C */ void modeWait(); + /* 80C6C170 */ void init_modeBreak(); + /* 80C6C1C0 */ void modeBreak(); + /* 80C6C374 */ void Draw(); + /* 80C6C44C */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x884 - 0x568]; +}; +STATIC_ASSERT(sizeof(daIceWall_c) == 0x884); + +class daIceWall_HIO_c { +public: + /* 80C6B42C */ daIceWall_HIO_c(); + /* 80C6C550 */ ~daIceWall_HIO_c(); +}; + #endif /* D_A_OBJ_LV5ICEWALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h b/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h index 34927b5fdc..1dbb1bb130 100644 --- a/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h +++ b/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_LV5SWICE_H #define D_A_OBJ_LV5SWICE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv5SwIce_c + * @brief Snowpeak Ruins Ice Switch + * + * @details + * + */ +class daLv5SwIce_c : public fopAc_ac_c { +public: + /* 80C6CA20 */ void setBaseMtx(); + /* 80C6CAA8 */ void CreateHeap(); + /* 80C6CB14 */ void create(); + /* 80C6CDD0 */ void Execute(f32 (**)[3][4]); + /* 80C6CE28 */ void procMain(); + /* 80C6CEB4 */ void init_modeWait(); + /* 80C6CED0 */ void modeWait(); + /* 80C6D0F4 */ void init_modeBreak(); + /* 80C6D144 */ void modeBreak(); + /* 80C6D260 */ void Draw(); + /* 80C6D314 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x738 - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv5SwIce_c) == 0x738); + +class daLv5SwIce_HIO_c { +public: + /* 80C6C94C */ daLv5SwIce_HIO_c(); + /* 80C6D418 */ ~daLv5SwIce_HIO_c(); +}; + #endif /* D_A_OBJ_LV5SWICE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h b/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h index 46f373cae6..d45791294b 100644 --- a/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h +++ b/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h @@ -1,5 +1,32 @@ #ifndef D_A_OBJ_LV5YCHNDLR_H #define D_A_OBJ_LV5YCHNDLR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjYchndlr_c + * @brief Snowpeak Ruins Chandelier (Swinging Platform?) + * + * @details + * + */ +class daObjYchndlr_c : public fopAc_ac_c { +public: + /* 80C6D758 */ void create1st(); + /* 80C6D7E0 */ void setMtx(); + /* 80C6D9A8 */ void rideActor(fopAc_ac_c*); + /* 80C6DA5C */ void CreateHeap(); + /* 80C6DB5C */ void Create(); + /* 80C6DC64 */ void Execute(f32 (**)[3][4]); + /* 80C6E300 */ void Draw(); + /* 80C6E3C8 */ void Delete(); + /* 80C6E808 */ ~daObjYchndlr_c(); + +private: + /* 0x568 */ u8 field_0x568[0xca0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjYchndlr_c) == 0xca0); + #endif /* D_A_OBJ_LV5YCHNDLR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h b/include/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h index 30e0be54de..8158c1ca4a 100644 --- a/include/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h +++ b/include/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h @@ -1,5 +1,36 @@ #ifndef D_A_OBJ_LV5YIBLLTRAY_H #define D_A_OBJ_LV5YIBLLTRAY_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjYIblltray_c + * @brief Snowpeak Ruins Cannonball Transporter + * + * @details + * + */ +class daObjYIblltray_c : public fopAc_ac_c { +public: + /* 80C6EBF8 */ void create1st(); + /* 80C6EC88 */ void setMtx(); + /* 80C6EDA8 */ void CreateHeap(); + /* 80C6EEFC */ void Create(); + /* 80C6F1E8 */ void rideActor(fopAc_ac_c*); + /* 80C6F23C */ void sendBall(unsigned int); + /* 80C6F440 */ void onAttention(); + /* 80C6F450 */ void offAttention(); + /* 80C6F460 */ void Execute(f32 (**)[3][4]); + /* 80C702E0 */ void initRotTo(); + /* 80C70330 */ void Draw(); + /* 80C70408 */ void Delete(); + /* 80C7088C */ ~daObjYIblltray_c(); + +private: + /* 0x568 */ u8 field_0x568[0xa94 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjYIblltray_c) == 0xa94); + #endif /* D_A_OBJ_LV5YIBLLTRAY_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6ChangeGate/d_a_obj_lv6ChangeGate.h b/include/rel/d/a/obj/d_a_obj_lv6ChangeGate/d_a_obj_lv6ChangeGate.h index 49d02de0a1..89ce09ba5f 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6ChangeGate/d_a_obj_lv6ChangeGate.h +++ b/include/rel/d/a/obj/d_a_obj_lv6ChangeGate/d_a_obj_lv6ChangeGate.h @@ -1,6 +1,50 @@ #ifndef D_A_OBJ_LV6CHANGEGATE_H #define D_A_OBJ_LV6CHANGEGATE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv6ChangeGate_c + * @brief Temple of Time Change Block? + * + * @details + * + */ +class daLv6ChangeGate_c : public fopAc_ac_c { +public: + /* 80C70D38 */ void setBaseMtx(); + /* 80C70DD4 */ void CreateHeap(); + /* 80C70E40 */ void create(); + /* 80C712A8 */ void isSwitch(); + /* 80C712F4 */ void Execute(f32 (**)[3][4]); + /* 80C71494 */ void moveGate(); + /* 80C715BC */ void eventStart(); + /* 80C715F4 */ void init_modeWait(); + /* 80C71600 */ void modeWait(); + /* 80C71604 */ void init_modeSlideRight(); + /* 80C716B4 */ void modeSlideRight(); + /* 80C7183C */ void init_modeSlideLeft(); + /* 80C718EC */ void modeSlideLeft(); + /* 80C71A74 */ void init_modeBreak(); + /* 80C71AF8 */ void modeBreak(); + /* 80C71D40 */ void Draw(); + /* 80C71DE4 */ void Delete(); + /* 80C72034 */ ~daLv6ChangeGate_c(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x14dc - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv6ChangeGate_c) == 0x14dc); + +class daLv6ChangeGate_HIO_c { +public: + /* 80C70C4C */ daLv6ChangeGate_HIO_c(); + /* 80C71EE8 */ ~daLv6ChangeGate_HIO_c(); +}; + #endif /* D_A_OBJ_LV6CHANGEGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6FurikoTrap/d_a_obj_lv6FurikoTrap.h b/include/rel/d/a/obj/d_a_obj_lv6FurikoTrap/d_a_obj_lv6FurikoTrap.h index 42a02ce9f3..a9cd417e80 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6FurikoTrap/d_a_obj_lv6FurikoTrap.h +++ b/include/rel/d/a/obj/d_a_obj_lv6FurikoTrap/d_a_obj_lv6FurikoTrap.h @@ -1,6 +1,41 @@ #ifndef D_A_OBJ_LV6FURIKOTRAP_H #define D_A_OBJ_LV6FURIKOTRAP_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv6FurikoTrap_c + * @brief Temple of Time Pendulum Trap + * + * @details + * + */ +class daLv6FurikoTrap_c : public fopAc_ac_c { +public: + /* 80C72510 */ void setBaseMtx(); + /* 80C72598 */ void CreateHeap(); + /* 80C72604 */ void create(); + /* 80C729B4 */ void Execute(f32 (**)[3][4]); + /* 80C72CA8 */ void move(); + /* 80C72D24 */ void init_modeMove(); + /* 80C72D38 */ void modeMove(); + /* 80C72EE0 */ void Draw(); + /* 80C72F94 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDSph[64]; + +private: + /* 0x568 */ u8 field_0x568[0x1d18 - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv6FurikoTrap_c) == 0x1d18); + +class daLv6FurikoTrap_HIO_c { +public: + /* 80C7248C */ daLv6FurikoTrap_HIO_c(); + /* 80C73050 */ ~daLv6FurikoTrap_HIO_c(); +}; + #endif /* D_A_OBJ_LV6FURIKOTRAP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6Lblock/d_a_obj_lv6Lblock.h b/include/rel/d/a/obj/d_a_obj_lv6Lblock/d_a_obj_lv6Lblock.h index 1d8383008d..e944629cf3 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6Lblock/d_a_obj_lv6Lblock.h +++ b/include/rel/d/a/obj/d_a_obj_lv6Lblock/d_a_obj_lv6Lblock.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_LV6LBLOCK_H #define D_A_OBJ_LV6LBLOCK_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv6Lblock_c + * @brief Temple of Time L Block + * + * @details + * + */ +class daLv6Lblock_c : public fopAc_ac_c { +public: + /* 80C73464 */ void setBaseMtx(); + /* 80C734EC */ void CreateHeap(); + /* 80C73558 */ void create(); + /* 80C736C0 */ void isSwitch(); + /* 80C7370C */ void Execute(f32 (**)[3][4]); + /* 80C7375C */ void moveBlock(); + /* 80C73850 */ void init_modeWait(); + /* 80C7385C */ void modeWait(); + /* 80C73860 */ void init_modeLiftUp(); + /* 80C7386C */ void modeLiftUp(); + /* 80C7398C */ void init_modeLiftDown(); + /* 80C73998 */ void modeLiftDown(); + /* 80C73AB0 */ void Draw(); + /* 80C73B54 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5b8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv6Lblock_c) == 0x5b8); + +class daLv6Lblock_HIO_c { +public: + /* 80C733EC */ daLv6Lblock_HIO_c(); + /* 80C73C10 */ ~daLv6Lblock_HIO_c(); +}; + #endif /* D_A_OBJ_LV6LBLOCK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6SwGate/d_a_obj_lv6SwGate.h b/include/rel/d/a/obj/d_a_obj_lv6SwGate/d_a_obj_lv6SwGate.h index a9ba555ab9..fcb3f88e08 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6SwGate/d_a_obj_lv6SwGate.h +++ b/include/rel/d/a/obj/d_a_obj_lv6SwGate/d_a_obj_lv6SwGate.h @@ -1,6 +1,48 @@ #ifndef D_A_OBJ_LV6SWGATE_H #define D_A_OBJ_LV6SWGATE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv6SwGate_c + * @brief Temple of Time Switch Gate + * + * @details + * + */ +class daLv6SwGate_c : public fopAc_ac_c { +public: + /* 80C74004 */ void setBaseMtx(); + /* 80C74158 */ void CreateHeap(); + /* 80C7429C */ void create(); + /* 80C74720 */ void isSwitch(); + /* 80C7476C */ void Execute(f32 (**)[3][4]); + /* 80C74A3C */ void moveGate(); + /* 80C74B48 */ void init_modeWait(); + /* 80C74B54 */ void modeWait(); + /* 80C74B58 */ void init_modeOpen(); + /* 80C74B64 */ void modeOpen(); + /* 80C74C7C */ void init_modeClose(); + /* 80C74C94 */ void modeClose(); + /* 80C74DBC */ void init_modeBreak(); + /* 80C74E40 */ void modeBreak(); + /* 80C7524C */ void Draw(); + /* 80C752F8 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x14f8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv6SwGate_c) == 0x14f8); + +class daLv6SwGate_HIO_c { +public: + /* 80C73F0C */ daLv6SwGate_HIO_c(); + /* 80C75434 */ ~daLv6SwGate_HIO_c(); +}; + #endif /* D_A_OBJ_LV6SWGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6SzGate/d_a_obj_lv6SzGate.h b/include/rel/d/a/obj/d_a_obj_lv6SzGate/d_a_obj_lv6SzGate.h index b32bf55b06..5afaf9cc69 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6SzGate/d_a_obj_lv6SzGate.h +++ b/include/rel/d/a/obj/d_a_obj_lv6SzGate/d_a_obj_lv6SzGate.h @@ -1,6 +1,47 @@ #ifndef D_A_OBJ_LV6SZGATE_H #define D_A_OBJ_LV6SZGATE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv6SzGate_c + * @brief Temple of Time Stone Statue Gate + * + * @details + * + */ +class daLv6SzGate_c : public fopAc_ac_c { +public: + /* 80C75900 */ void setBaseMtx(); + /* 80C75A54 */ void CreateHeap(); + /* 80C75C0C */ void create(); + /* 80C75E18 */ void Execute(f32 (**)[3][4]); + /* 80C75E78 */ void moveGate(); + /* 80C75F64 */ void init_modeWait(); + /* 80C75F70 */ void modeWait(); + /* 80C75FC0 */ void init_modeOpenWait0(); + /* 80C75FD8 */ void modeOpenWait0(); + /* 80C76010 */ void init_modeOpenWait(); + /* 80C76094 */ void modeOpenWait(); + /* 80C760F0 */ void init_modeOpen(); + /* 80C760FC */ void modeOpen(); + /* 80C7624C */ void modeClose(); + /* 80C76328 */ void init_modeEnd(); + /* 80C76344 */ void modeEnd(); + /* 80C7637C */ void Draw(); + /* 80C76490 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x61c - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv6SzGate_c) == 0x61c); + +class daLv6SzGate_HIO_c { +public: + /* 80C7586C */ daLv6SzGate_HIO_c(); + /* 80C76584 */ ~daLv6SzGate_HIO_c(); +}; + #endif /* D_A_OBJ_LV6SZGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6Tenbin/d_a_obj_lv6Tenbin.h b/include/rel/d/a/obj/d_a_obj_lv6Tenbin/d_a_obj_lv6Tenbin.h index af08e78514..ab9fd031eb 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6Tenbin/d_a_obj_lv6Tenbin.h +++ b/include/rel/d/a/obj/d_a_obj_lv6Tenbin/d_a_obj_lv6Tenbin.h @@ -1,6 +1,41 @@ #ifndef D_A_OBJ_LV6TENBIN_H #define D_A_OBJ_LV6TENBIN_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTenbin_c + * @brief Temple of Time Scale + * + * @details + * + */ +class daTenbin_c : public fopAc_ac_c { +public: + /* 80C769D0 */ void setBaseMtx(); + /* 80C76BCC */ void CreateHeap(); + /* 80C76D10 */ void create(); + /* 80C76EE0 */ void rideCallBackRight(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 80C77078 */ void rideCallBackLeft(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 80C77200 */ void Execute(f32 (**)[3][4]); + /* 80C772BC */ void procMain(); + /* 80C77464 */ void init_modeWait(); + /* 80C77470 */ void modeWait(); + /* 80C77668 */ void balanceCheck(); + /* 80C7772C */ void Draw(); + /* 80C77810 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x654 - 0x568]; +}; +STATIC_ASSERT(sizeof(daTenbin_c) == 0x654); + +class daTenbin_HIO_c { +public: + /* 80C768EC */ daTenbin_HIO_c(); + /* 80C77904 */ ~daTenbin_HIO_c(); +}; + #endif /* D_A_OBJ_LV6TENBIN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6TogeRoll/d_a_obj_lv6TogeRoll.h b/include/rel/d/a/obj/d_a_obj_lv6TogeRoll/d_a_obj_lv6TogeRoll.h index d97cf13777..e15edab6e7 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6TogeRoll/d_a_obj_lv6TogeRoll.h +++ b/include/rel/d/a/obj/d_a_obj_lv6TogeRoll/d_a_obj_lv6TogeRoll.h @@ -1,6 +1,60 @@ #ifndef D_A_OBJ_LV6TOGEROLL_H #define D_A_OBJ_LV6TOGEROLL_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTogeRoll_c + * @brief Temple of Time Spike Roller + * + * @details + * + */ +class daTogeRoll_c : public fopAc_ac_c { +public: + /* 80C77CC8 */ void setBaseMtx(); + /* 80C77D50 */ void CreateHeap(); + /* 80C77DBC */ void create(); + /* 80C78294 */ void Execute(f32 (**)[3][4]); + /* 80C78638 */ void moveTogeRoll(); + /* 80C78A8C */ void init_modeBound(); + /* 80C78B7C */ void modeBound(); + /* 80C78BD8 */ void modeBound2(); + /* 80C78C34 */ void init_modeBoundWait(); + /* 80C78C50 */ void modeBoundWait(); + /* 80C78CA8 */ void init_modeAcc(); + /* 80C78CB4 */ void modeAcc(); + /* 80C78DA0 */ void init_modeMove(); + /* 80C78DAC */ void modeMove(); + /* 80C790C4 */ void init_modeBrk(); + /* 80C790D0 */ void modeBrk(); + /* 80C792CC */ void init_modeWaitInit(); + /* 80C792E4 */ void modeWaitInit(); + /* 80C79318 */ void init_modeWait(); + /* 80C79324 */ void modeWait(); + /* 80C79344 */ void init_modeBreak(); + /* 80C793C8 */ void modeBreak(); + /* 80C795E8 */ void setNextPoint(); + /* 80C79714 */ void Draw(); + /* 80C797B8 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 const mCcDObjInfo2[48]; + static u8 const mSpeed[64]; + static u8 mCcDSph[64]; + static u8 mCcDCps[76]; + +private: + /* 0x568 */ u8 field_0x568[0x117c - 0x568]; +}; +STATIC_ASSERT(sizeof(daTogeRoll_c) == 0x117c); + +class daTogeRoll_HIO_c { +public: + /* 80C77C2C */ daTogeRoll_HIO_c(); + /* 80C798D0 */ ~daTogeRoll_HIO_c(); +}; + #endif /* D_A_OBJ_LV6TOGEROLL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6TogeTrap/d_a_obj_lv6TogeTrap.h b/include/rel/d/a/obj/d_a_obj_lv6TogeTrap/d_a_obj_lv6TogeTrap.h index b8f78f39ee..0627093e35 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6TogeTrap/d_a_obj_lv6TogeTrap.h +++ b/include/rel/d/a/obj/d_a_obj_lv6TogeTrap/d_a_obj_lv6TogeTrap.h @@ -1,6 +1,73 @@ #ifndef D_A_OBJ_LV6TOGETRAP_H #define D_A_OBJ_LV6TOGETRAP_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv6TogeTrap_c + * @brief Temple of Time Spiked Trap + * + * @details + * + */ +class daLv6TogeTrap_c : public fopAc_ac_c { +public: + /* 80C79F10 */ void setBaseMtx(); + /* 80C79FE8 */ void CreateHeap(); + /* 80C7A068 */ void create(); + /* 80C7A6B0 */ void searchSekizoAct(void*, void*); + /* 80C7A700 */ void Execute(f32 (**)[3][4]); + /* 80C7A97C */ void moveLift(); + /* 80C7ABC8 */ void executeType1(); + /* 80C7ACA0 */ void init_modeBound(); + /* 80C7AD40 */ void modeBound(); + /* 80C7ADA4 */ void init_modeBoundWait(); + /* 80C7ADC0 */ void modeBoundWait(); + /* 80C7AE18 */ void init_modeAcc(); + /* 80C7AE24 */ void modeAcc(); + /* 80C7AF10 */ void init_modeMove(); + /* 80C7AF1C */ void modeMove(); + /* 80C7B234 */ void init_modeBrk(); + /* 80C7B240 */ void modeBrk(); + /* 80C7B43C */ void init_modeMove2(); + /* 80C7B448 */ void modeMove2(); + /* 80C7B518 */ void init_modeWaitInit(); + /* 80C7B530 */ void modeWaitInit(); + /* 80C7B600 */ void init_modeWait(); + /* 80C7B60C */ void modeWait(); + /* 80C7B6D4 */ void executeType2(); + /* 80C7B988 */ void init_modeWaitType2(); + /* 80C7B9A8 */ void modeWaitType2(); + /* 80C7BA38 */ void init_modeMoveInitType2(); + /* 80C7BA50 */ void modeMoveInitType2(); + /* 80C7BAE8 */ void init_modeAccType2(); + /* 80C7BAF4 */ void modeAccType2(); + /* 80C7BC54 */ void init_modeWaitAttackType2(); + /* 80C7BC7C */ void modeWaitAttackType2(); + /* 80C7BD64 */ void init_modeRotate(); + /* 80C7BD70 */ void modeRotate(); + /* 80C7BED8 */ void init_modeBreak(); + /* 80C7BFE4 */ void modeBreak(); + /* 80C7C1D8 */ void setNextPoint(); + /* 80C7C33C */ void Draw(); + /* 80C7C3E0 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 const mCcDObjInfo2[48]; + static u8 const mSpeed[64]; + static u8 mCcDSph[64]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x8f4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv6TogeTrap_c) == 0x8f4); + +class daLv6TogeTrap_HIO_c { +public: + /* 80C79E4C */ daLv6TogeTrap_HIO_c(); + /* 80C7C504 */ ~daLv6TogeTrap_HIO_c(); +}; #endif /* D_A_OBJ_LV6TOGETRAP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h b/include/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h index 8b6b07231d..0746e63271 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h +++ b/include/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h @@ -1,5 +1,35 @@ #ifndef D_A_OBJ_LV6BEMOS_H #define D_A_OBJ_LV6BEMOS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjL6Bm_c + * @brief Temple of Time Beamos (Unused) + * + * @details + * + */ +class daObjL6Bm_c : public fopAc_ac_c { +public: + /* 80C7CE24 */ void initBaseMtx(); + /* 80C7CE60 */ void setBaseMtx(); + /* 80C7CED4 */ void Create(); + /* 80C7CFD0 */ void CreateHeap(); + /* 80C7D2F8 */ void create1st(); + /* 80C7D3A4 */ void Execute(f32 (**)[3][4]); + /* 80C7D4F4 */ void action(); + /* 80C7D598 */ void actionWait(); + /* 80C7D6CC */ void actionFindPlayer(); + /* 80C7D894 */ void actionAttack(); + /* 80C7D898 */ void Draw(); + /* 80C7DABC */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x918 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjL6Bm_c) == 0x918); + #endif /* D_A_OBJ_LV6BEMOS_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h b/include/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h index 727d1b7b2a..05950d4fac 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h +++ b/include/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h @@ -1,5 +1,53 @@ #ifndef D_A_OBJ_LV6BEMOS2_H #define D_A_OBJ_LV6BEMOS2_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLv6Bm_c + * @brief Temple of Time Beamos + * + * @details + * + */ +class daObjLv6Bm_c : public fopAc_ac_c { +public: + /* 80C7E30C */ void initBaseMtx(); + /* 80C7E374 */ void setBaseMtx(); + /* 80C7E448 */ void Create(); + /* 80C7E764 */ void CreateHeap(); + /* 80C7EB7C */ void create1st(); + /* 80C7EC6C */ void Execute(f32 (**)[3][4]); + /* 80C7EE50 */ void action(); + /* 80C7F2A4 */ void calcBeam(); + /* 80C7F904 */ void checkFindPlayer(); + /* 80C7FA54 */ void checkSearchPlayer(); + /* 80C7FBA4 */ void getSearchDistance(); + /* 80C7FBFC */ void getBeamSearchDistance(); + /* 80C7FC54 */ void effect_proc(); + /* 80C7FD8C */ void effectWait(); + /* 80C7FD90 */ void initEffectSet0(); + /* 80C7FEC4 */ void effectSet0(); + /* 80C7FF78 */ void initActionSwWait(); + /* 80C7FFB8 */ void actionSwWait(); + /* 80C802AC */ void initActionWarning(); + /* 80C802C0 */ void actionWarning(); + /* 80C803D8 */ void initActionFindPlayer(); + /* 80C80538 */ void actionFindPlayer(); + /* 80C80684 */ void initActionAttack(); + /* 80C8082C */ void actionAttack(); + /* 80C80F48 */ void initActionDead(); + /* 80C81154 */ void actionDead(); + /* 80C81428 */ void initActionEnd(); + /* 80C814FC */ void actionEnd(); + /* 80C81500 */ void Draw(); + /* 80C816A8 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0xabc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv6Bm_c) == 0xabc); + #endif /* D_A_OBJ_LV6BEMOS2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h b/include/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h index 52061bb7d8..1d932226b6 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h +++ b/include/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h @@ -1,5 +1,33 @@ #ifndef D_A_OBJ_LV6EGATE_H #define D_A_OBJ_LV6EGATE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLv6EGate_c + * @brief Temple of Time Electric Gate + * + * @details + * + */ +class daObjLv6EGate_c : public fopAc_ac_c { +public: + /* 80C82078 */ void create1st(); + /* 80C82108 */ void setMtx(); + /* 80C82178 */ bool CreateHeap(); + /* 80C82180 */ void Create(); + /* 80C822DC */ void offDisp(); + /* 80C82330 */ void onDisp(); + /* 80C82388 */ void Execute(f32 (**)[3][4]); + /* 80C82690 */ void Draw(); + /* 80C826A0 */ void Delete(); + /* 80C82A80 */ ~daObjLv6EGate_c(); + +private: + /* 0x568 */ u8 field_0x568[0x1038 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv6EGate_c) == 0x1038); + #endif /* D_A_OBJ_LV6EGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6elevta/d_a_obj_lv6elevta.h b/include/rel/d/a/obj/d_a_obj_lv6elevta/d_a_obj_lv6elevta.h index 82d71b4f35..155b535685 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6elevta/d_a_obj_lv6elevta.h +++ b/include/rel/d/a/obj/d_a_obj_lv6elevta/d_a_obj_lv6elevta.h @@ -1,6 +1,33 @@ #ifndef D_A_OBJ_LV6ELEVTA_H #define D_A_OBJ_LV6ELEVTA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLv6ElevtA_c + * @brief Temple of Time Elevator + * + * @details + * + */ +class daObjLv6ElevtA_c : public fopAc_ac_c { +public: + /* 80C82D38 */ void create1st(); + /* 80C82DC8 */ void setMtx(); + /* 80C82E38 */ void CreateHeap(); + /* 80C82EA8 */ void Create(); + /* 80C83028 */ void eventStart(); + /* 80C830BC */ void moveAngle(void*); + /* 80C8321C */ void Execute(f32 (**)[3][4]); + /* 80C83538 */ void Draw(); + /* 80C835DC */ void Delete(); + /* 80C83764 */ ~daObjLv6ElevtA_c(); + +private: + /* 0x568 */ u8 field_0x568[0x628 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv6ElevtA_c) == 0x628); + #endif /* D_A_OBJ_LV6ELEVTA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv6swturn/d_a_obj_lv6swturn.h b/include/rel/d/a/obj/d_a_obj_lv6swturn/d_a_obj_lv6swturn.h index f2799b0a4b..555c68fb68 100644 --- a/include/rel/d/a/obj/d_a_obj_lv6swturn/d_a_obj_lv6swturn.h +++ b/include/rel/d/a/obj/d_a_obj_lv6swturn/d_a_obj_lv6swturn.h @@ -1,6 +1,36 @@ #ifndef D_A_OBJ_LV6SWTURN_H #define D_A_OBJ_LV6SWTURN_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLv6SwTurn_c + * @brief Temple of Time Turn Switch + * + * @details + * + */ +class daObjLv6SwTurn_c : public fopAc_ac_c { +public: + /* 80C83A98 */ void initBaseMtx(); + /* 80C83AD4 */ void setBaseMtx(); + /* 80C83B38 */ void Create(); + /* 80C83C10 */ void CreateHeap(); + /* 80C83C80 */ void create1st(); + /* 80C83D04 */ void Execute(f32 (**)[3][4]); + /* 80C83D94 */ void mode_proc_call(); + /* 80C83E20 */ void init_modeWait(); + /* 80C83E58 */ void modeWait(); + /* 80C84238 */ void init_modeRotate(); + /* 80C8425C */ void modeRotate(); + /* 80C844F8 */ void Draw(); + /* 80C8459C */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5cc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv6SwTurn_c) == 0x5cc); + #endif /* D_A_OBJ_LV6SWTURN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv7BsGate/d_a_obj_lv7BsGate.h b/include/rel/d/a/obj/d_a_obj_lv7BsGate/d_a_obj_lv7BsGate.h index ca7705bf5c..8972b531ba 100644 --- a/include/rel/d/a/obj/d_a_obj_lv7BsGate/d_a_obj_lv7BsGate.h +++ b/include/rel/d/a/obj/d_a_obj_lv7BsGate/d_a_obj_lv7BsGate.h @@ -1,6 +1,42 @@ #ifndef D_A_OBJ_LV7BSGATE_H #define D_A_OBJ_LV7BSGATE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv7BsGate_c + * @brief City in the Sky Boss Door + * + * @details + * + */ +class daLv7BsGate_c : public fopAc_ac_c { +public: + /* 80C84930 */ void setBaseMtx(); + /* 80C849CC */ void CreateHeap(); + /* 80C84A4C */ void create(); + /* 80C84BCC */ void Execute(f32 (**)[3][4]); + /* 80C84C1C */ void moveGate(); + /* 80C84D24 */ void init_modeWait(); + /* 80C84D30 */ void modeWait(); + /* 80C84D34 */ void init_modeOpen(); + /* 80C84D40 */ void modeOpen(); + /* 80C84E94 */ void init_modeClose(); + /* 80C84EA0 */ void modeClose(); + /* 80C84FF4 */ void Draw(); + /* 80C85098 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5bc - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv7BsGate_c) == 0x5bc); + +class daLv7BsGate_HIO_c { +public: + /* 80C848AC */ daLv7BsGate_HIO_c(); + /* 80C85164 */ ~daLv7BsGate_HIO_c(); +}; + #endif /* D_A_OBJ_LV7BSGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv7PropellerY/d_a_obj_lv7PropellerY.h b/include/rel/d/a/obj/d_a_obj_lv7PropellerY/d_a_obj_lv7PropellerY.h index bd3fff464a..01d99a3390 100644 --- a/include/rel/d/a/obj/d_a_obj_lv7PropellerY/d_a_obj_lv7PropellerY.h +++ b/include/rel/d/a/obj/d_a_obj_lv7PropellerY/d_a_obj_lv7PropellerY.h @@ -1,6 +1,46 @@ #ifndef D_A_OBJ_LV7PROPELLERY_H #define D_A_OBJ_LV7PROPELLERY_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daPropY_c + * @brief City in the Sky Propeller + * + * @details + * + */ +class daPropY_c : public fopAc_ac_c { +public: + /* 80C8550C */ void setBaseMtx(); + /* 80C855A4 */ void CreateHeap(); + /* 80C85624 */ void create(); + /* 80C85810 */ void Execute(f32 (**)[3][4]); + /* 80C85860 */ void procMain(); + /* 80C859B4 */ void init_modeMoveWait(); + /* 80C859C0 */ void modeMoveWait(); + /* 80C859C4 */ void init_modeMove(); + /* 80C859E0 */ void modeMove(); + /* 80C85B08 */ void init_modeWait(); + /* 80C85B24 */ void modeWait(); + /* 80C85B5C */ void init_modeMove2(); + /* 80C85B84 */ void modeMove2(); + /* 80C85CAC */ void init_modeStop(); + /* 80C85DD0 */ void modeStop(); + /* 80C85F14 */ void Draw(); + /* 80C85FB8 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5c8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daPropY_c) == 0x5c8); + +class daPropY_HIO_c { +public: + /* 80C8546C */ daPropY_HIO_c(); + /* 80C86084 */ ~daPropY_HIO_c(); +}; + #endif /* D_A_OBJ_LV7PROPELLERY_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h b/include/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h index 47123b6ad3..1731b4becd 100644 --- a/include/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h +++ b/include/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h @@ -1,5 +1,36 @@ #ifndef D_A_OBJ_LV7BRIDGE_H #define D_A_OBJ_LV7BRIDGE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjLv7Brg_c + * @brief City in the Sky Bridge + * + * @details + * + */ +class daObjLv7Brg_c : public fopAc_ac_c { +public: + /* 80C863EC */ void search_swspinner(); + /* 80C86454 */ void initBaseMtx(); + /* 80C864B4 */ void setBaseMtx(); + /* 80C865B8 */ void Create(); + /* 80C867CC */ void CreateHeap(); + /* 80C86A44 */ void create1st(); + /* 80C86B40 */ void Execute(f32 (**)[3][4]); + /* 80C86E68 */ void action(); + /* 80C86F44 */ void mode_action(); + /* 80C87210 */ void mode_end(); + /* 80C87214 */ void calcCoPos(); + /* 80C87304 */ void Draw(); + /* 80C87458 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0xaa4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjLv7Brg_c) == 0xaa4); + #endif /* D_A_OBJ_LV7BRIDGE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv8KekkaiTrap/d_a_obj_lv8KekkaiTrap.h b/include/rel/d/a/obj/d_a_obj_lv8KekkaiTrap/d_a_obj_lv8KekkaiTrap.h index ae6fbf0fb6..46492a4462 100644 --- a/include/rel/d/a/obj/d_a_obj_lv8KekkaiTrap/d_a_obj_lv8KekkaiTrap.h +++ b/include/rel/d/a/obj/d_a_obj_lv8KekkaiTrap/d_a_obj_lv8KekkaiTrap.h @@ -1,6 +1,42 @@ #ifndef D_A_OBJ_LV8KEKKAITRAP_H #define D_A_OBJ_LV8KEKKAITRAP_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daKekaiTrap_c + * @brief Palace of Twilight Barrier Trap + * + * @details + * + */ +class daKekaiTrap_c : public fopAc_ac_c { +public: + /* 80C87D40 */ void setBaseMtx(); + /* 80C87DC8 */ void CreateHeap(); + /* 80C87E48 */ void create(); + /* 80C87FB0 */ void Execute(f32 (**)[3][4]); + /* 80C88000 */ void moveMain(); + /* 80C88104 */ void init_modeWait(); + /* 80C88110 */ void modeWait(); + /* 80C88114 */ void init_modeMoveUp(); + /* 80C88138 */ void modeMoveUp(); + /* 80C881F0 */ void init_modeMoveDown(); + /* 80C88214 */ void modeMoveDown(); + /* 80C882C8 */ void Draw(); + /* 80C8836C */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5b4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daKekaiTrap_c) == 0x5b4); + +class daKekaiTrap_HIO_c { +public: + /* 80C87CAC */ daKekaiTrap_HIO_c(); + /* 80C88438 */ ~daKekaiTrap_HIO_c(); +}; + #endif /* D_A_OBJ_LV8KEKKAITRAP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv8Lift/d_a_obj_lv8Lift.h b/include/rel/d/a/obj/d_a_obj_lv8Lift/d_a_obj_lv8Lift.h index 787edfd297..920360e923 100644 --- a/include/rel/d/a/obj/d_a_obj_lv8Lift/d_a_obj_lv8Lift.h +++ b/include/rel/d/a/obj/d_a_obj_lv8Lift/d_a_obj_lv8Lift.h @@ -1,6 +1,61 @@ #ifndef D_A_OBJ_LV8LIFT_H #define D_A_OBJ_LV8LIFT_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daL8Lift_c + * @brief Palace of Twilight Platform Lift + * + * @details + * + */ +class daL8Lift_c : public fopAc_ac_c { +public: + /* 80C887D8 */ void setBaseMtx(); + /* 80C88860 */ void CreateHeap(); + /* 80C88928 */ void create(); + /* 80C88D6C */ void lightSet(); + /* 80C88DBC */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 80C88DD4 */ void Execute(f32 (**)[3][4]); + /* 80C88E34 */ void moveLift(); + /* 80C890B8 */ void modeAcc(); + /* 80C89198 */ void init_modeMove(); + /* 80C891A4 */ void modeMove(); + /* 80C894BC */ void init_modeBrk(); + /* 80C894C8 */ void modeBrk(); + /* 80C896C8 */ void init_modeWaitInit(); + /* 80C896D4 */ void modeWaitInit(); + /* 80C89708 */ void init_modeWait(); + /* 80C89714 */ void modeWait(); + /* 80C89720 */ void init_modeMoveWait(); + /* 80C8972C */ void modeMoveWait(); + /* 80C89770 */ void init_modeOnAnm(); + /* 80C89820 */ void modeOnAnm(); + /* 80C89874 */ void init_modeStop(); + /* 80C898DC */ void modeStop(); + /* 80C899D0 */ void init_modeInitSet(); + /* 80C89A04 */ void modeInitSet(); + /* 80C89A24 */ void init_modeInitSet2(); + /* 80C89A58 */ void modeInitSet2(); + /* 80C89A78 */ void liftReset(); + /* 80C89ADC */ void setNextPoint(); + /* 80C89C10 */ void Draw(); + /* 80C89DC8 */ void Delete(); + + static u8 const mSpeed[64]; + +private: + /* 0x568 */ u8 field_0x568[0x830 - 0x568]; +}; +STATIC_ASSERT(sizeof(daL8Lift_c) == 0x830); + +class daL8Lift_HIO_c { +public: + /* 80C8872C */ daL8Lift_HIO_c(); + /* 80C89EA4 */ ~daL8Lift_HIO_c(); +}; + #endif /* D_A_OBJ_LV8LIFT_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv8OptiLift/d_a_obj_lv8OptiLift.h b/include/rel/d/a/obj/d_a_obj_lv8OptiLift/d_a_obj_lv8OptiLift.h index 733cdbccfa..fdf1efda91 100644 --- a/include/rel/d/a/obj/d_a_obj_lv8OptiLift/d_a_obj_lv8OptiLift.h +++ b/include/rel/d/a/obj/d_a_obj_lv8OptiLift/d_a_obj_lv8OptiLift.h @@ -1,6 +1,60 @@ #ifndef D_A_OBJ_LV8OPTILIFT_H #define D_A_OBJ_LV8OPTILIFT_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daOptiLift_c + * @brief Palace of Twilight Optilift + * + * @details + * + */ +class daOptiLift_c : public fopAc_ac_c { +public: + /* 80C8A3B0 */ void setBaseMtx(); + /* 80C8A438 */ void CreateHeap(); + /* 80C8A500 */ void create(); + /* 80C8A780 */ void lightSet(); + /* 80C8A7D0 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 80C8A7E8 */ void Execute(f32 (**)[3][4]); + /* 80C8A848 */ void moveLift(); + /* 80C8AAC4 */ void init_modeAcc(); + /* 80C8AAD0 */ void modeAcc(); + /* 80C8ABB0 */ void init_modeMove(); + /* 80C8ABBC */ void modeMove(); + /* 80C8AED4 */ void init_modeBrk(); + /* 80C8AEE0 */ void modeBrk(); + /* 80C8B100 */ void init_modeMoveInit(); + /* 80C8B1B0 */ void modeMoveInit(); + /* 80C8B1F0 */ void init_modeMoveWait(); + /* 80C8B230 */ void modeMoveWait(); + /* 80C8B288 */ void init_modeWait(); + /* 80C8B294 */ void modeWait(); + /* 80C8B298 */ void init_modeStop(); + /* 80C8B318 */ void modeStop(); + /* 80C8B428 */ void init_modeInitSet(); + /* 80C8B464 */ void modeInitSet(); + /* 80C8B484 */ void init_modeInitSet2(); + /* 80C8B4B8 */ void modeInitSet2(); + /* 80C8B4D8 */ void liftReset(); + /* 80C8B53C */ void setNextPoint(); + /* 80C8B66C */ void Draw(); + /* 80C8B824 */ void Delete(); + + static u8 const mSpeed[64]; + +private: + /* 0x568 */ u8 field_0x568[0x618 - 0x568]; +}; +STATIC_ASSERT(sizeof(daOptiLift_c) == 0x618); + +class daOptiLift_HIO_c { +public: + /* 80C8A30C */ daOptiLift_HIO_c(); + /* 80C8B900 */ ~daOptiLift_HIO_c(); +}; + #endif /* D_A_OBJ_LV8OPTILIFT_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv8UdFloor/d_a_obj_lv8UdFloor.h b/include/rel/d/a/obj/d_a_obj_lv8UdFloor/d_a_obj_lv8UdFloor.h index 8d3435b9f1..70ca056d31 100644 --- a/include/rel/d/a/obj/d_a_obj_lv8UdFloor/d_a_obj_lv8UdFloor.h +++ b/include/rel/d/a/obj/d_a_obj_lv8UdFloor/d_a_obj_lv8UdFloor.h @@ -1,6 +1,47 @@ #ifndef D_A_OBJ_LV8UDFLOOR_H #define D_A_OBJ_LV8UDFLOOR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daUdFloor_c + * @brief Palace of Twilight Switch Step + * + * @details + * + */ +class daUdFloor_c : public fopAc_ac_c { +public: + /* 80C8BDC8 */ void setBaseMtx(); + /* 80C8BE64 */ void CreateHeap(); + /* 80C8BEE4 */ void create(); + /* 80C8C0DC */ void Execute(f32 (**)[3][4]); + /* 80C8C12C */ void moveLift(); + /* 80C8C264 */ void init_modeWait(); + /* 80C8C270 */ void modeWait(); + /* 80C8C274 */ void init_modeUpMoveInit(); + /* 80C8C310 */ void modeUpMoveInit(); + /* 80C8C354 */ void colorAnm(int); + /* 80C8C5E4 */ void init_modeUpMove(); + /* 80C8C68C */ void modeUpMove(); + /* 80C8C7F8 */ void init_modeDownMoveInit(); + /* 80C8C81C */ void modeDownMoveInit(); + /* 80C8C860 */ void init_modeDownMove(); + /* 80C8C8E4 */ void modeDownMove(); + /* 80C8C994 */ void Draw(); + /* 80C8CA78 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5c8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daUdFloor_c) == 0x5c8); + +class daUdFloor_HIO_c { +public: + /* 80C8BD0C */ daUdFloor_HIO_c(); + /* 80C8CB44 */ ~daUdFloor_HIO_c(); +}; + #endif /* D_A_OBJ_LV8UDFLOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_lv9SwShutter/d_a_obj_lv9SwShutter.h b/include/rel/d/a/obj/d_a_obj_lv9SwShutter/d_a_obj_lv9SwShutter.h index 6b26c5bf59..27d02b67d5 100644 --- a/include/rel/d/a/obj/d_a_obj_lv9SwShutter/d_a_obj_lv9SwShutter.h +++ b/include/rel/d/a/obj/d_a_obj_lv9SwShutter/d_a_obj_lv9SwShutter.h @@ -1,6 +1,42 @@ #ifndef D_A_OBJ_LV9SWSHUTTER_H #define D_A_OBJ_LV9SWSHUTTER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daLv9SwShutter_c + * @brief Hyrule Castle Switch Shutter + * + * @details + * + */ +class daLv9SwShutter_c : public fopAc_ac_c { +public: + /* 80C8CF38 */ void setBaseMtx(); + /* 80C8CFD4 */ void CreateHeap(); + /* 80C8D040 */ void create(); + /* 80C8D168 */ void Execute(f32 (**)[3][4]); + /* 80C8D1B8 */ void moveShutter(); + /* 80C8D2BC */ void init_modeWait(); + /* 80C8D2C8 */ void modeWait(); + /* 80C8D2CC */ void init_modeOpen(); + /* 80C8D2D8 */ void modeOpen(); + /* 80C8D440 */ void init_modeClose(); + /* 80C8D458 */ void modeClose(); + /* 80C8D5D0 */ void Draw(); + /* 80C8D674 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5b4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daLv9SwShutter_c) == 0x5b4); + +class daLv9SwShutter_HIO_c { +public: + /* 80C8CEAC */ daLv9SwShutter_HIO_c(); + /* 80C8D730 */ ~daLv9SwShutter_HIO_c(); +}; + #endif /* D_A_OBJ_LV9SWSHUTTER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_magLift/d_a_obj_magLift.h b/include/rel/d/a/obj/d_a_obj_magLift/d_a_obj_magLift.h index 6688216b74..5a27744276 100644 --- a/include/rel/d/a/obj/d_a_obj_magLift/d_a_obj_magLift.h +++ b/include/rel/d/a/obj/d_a_obj_magLift/d_a_obj_magLift.h @@ -1,6 +1,51 @@ #ifndef D_A_OBJ_MAGLIFT_H #define D_A_OBJ_MAGLIFT_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daMagLift_c + * @brief Magnetic Lift + * + * @details + * + */ +class daMagLift_c : public fopAc_ac_c { +public: + /* 80C8DAA0 */ void setBaseMtx(); + /* 80C8DB28 */ void CreateHeap(); + /* 80C8DB94 */ void create(); + /* 80C8DD38 */ void Execute(f32 (**)[3][4]); + /* 80C8DD88 */ void moveLift(); + /* 80C8DE98 */ void modeAcc(); + /* 80C8DF20 */ void init_modeMove(); + /* 80C8DF2C */ void modeMove(); + /* 80C8E1EC */ void init_modeBrk(); + /* 80C8E1F8 */ void modeBrk(); + /* 80C8E260 */ void init_modeWaitInit(); + /* 80C8E26C */ void modeWaitInit(); + /* 80C8E2A0 */ void init_modeWait(); + /* 80C8E2AC */ void modeWait(); + /* 80C8E2B8 */ void init_modeMoveWait(); + /* 80C8E2C4 */ void modeMoveWait(); + /* 80C8E318 */ void modeDead(); + /* 80C8E31C */ void setNextPoint(); + /* 80C8E450 */ void Draw(); + /* 80C8E4F4 */ void Delete(); + + static u8 const mSpeed[64]; + +private: + /* 0x568 */ u8 field_0x568[0x5d4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daMagLift_c) == 0x5d4); + +class daMagLift_HIO_c { +public: + /* 80C8DA2C */ daMagLift_HIO_c(); + /* 80C8E5B0 */ ~daMagLift_HIO_c(); +}; + #endif /* D_A_OBJ_MAGLIFT_H */ diff --git a/include/rel/d/a/obj/d_a_obj_magLiftRot/d_a_obj_magLiftRot.h b/include/rel/d/a/obj/d_a_obj_magLiftRot/d_a_obj_magLiftRot.h index 9b57eb4a8e..760c541b5b 100644 --- a/include/rel/d/a/obj/d_a_obj_magLiftRot/d_a_obj_magLiftRot.h +++ b/include/rel/d/a/obj/d_a_obj_magLiftRot/d_a_obj_magLiftRot.h @@ -2,5 +2,85 @@ #define D_A_OBJ_MAGLIFTROT_H #include "d/bg/d_bg_s_movebg_actor.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daMagLiftRot_c + * @brief Rotating Magnetic Lift + * + * @details + * + */ +class daMagLiftRot_c : public dBgS_MoveBgActor { +public: + /* 80C8EA28 */ void setBaseMtx(); + /* 80C8EC64 */ int create(); + /* 80C8F02C */ void moveLift(); + /* 80C8F264 */ void init_modeMove(); + /* 80C8F4A0 */ void modeMove(); + /* 80C8F538 */ void init_modeWait(); + /* 80C8F7CC */ void modeWait(); + /* 80C8F804 */ void init_modeMoveWait(); + /* 80C8F810 */ void modeMoveWait(); + + /* 80C8EB1C */ virtual int CreateHeap(); + /* 80C8EF94 */ virtual int Execute(Mtx**); + /* 80C8F86C */ virtual int Draw(); + /* 80C8F970 */ virtual int Delete(); + +private: + /* 0x5A0 */ request_of_phase_process_class mPhase; + /* 0x5A8 */ J3DModel* mpModel; + /* 0x5AC */ mDoExt_btkAnm mBtk; + /* 0x5C4 */ mDoExt_brkAnm mBrk; + /* 0x5DC */ u8 mType; + /* 0x5DE */ s16 mTimer; + /* 0x5E0 */ u8 mMode; + /* 0x5E1 */ u8 field_0x5e1; + /* 0x5E2 */ s16 field_0x5e2; + /* 0x5E4 */ s16 field_0x5e4; + /* 0x5E6 */ csXyz field_0x5e6; + /* 0x5EC */ cXyz field_0x5ec; + /* 0x5F8 */ f32 field_0x5f8; + /* 0x5FC */ f32 mShakeStrength; + /* 0x600 */ f32 field_0x600; + /* 0x604 */ f32 mShakeYAmp; + /* 0x608 */ f32 mShakeDecay; + /* 0x60C */ f32 mMaxShakeDecay; + /* 0x610 */ f32 mMinShakeDecay; + /* 0x614 */ f32 mMoveStrength; + /* 0x618 */ f32 mXMoveAmp; + /* 0x61C */ f32 mZMoveAmp; + /* 0x620 */ f32 mMoveDecay; + /* 0x624 */ f32 mMaxMoveDecay; + /* 0x628 */ f32 mMinMoveDecay; + /* 0x62C */ f32 field_0x62c; + /* 0x630 */ f32 field_0x630; +}; +STATIC_ASSERT(sizeof(daMagLiftRot_c) == 0x634); + +class daMagLiftRot_HIO_c : public mDoHIO_entry_c { +public: + /* 80C8E94C */ daMagLiftRot_HIO_c(); + /* 80C8FA3C */ virtual ~daMagLiftRot_HIO_c(); + + /* 0x04 */ u8 mWaitTime; + /* 0x08 */ f32 mInitSpeed; + /* 0x0C */ f32 mAcceleration; + /* 0x10 */ f32 mMaxSpeed; + /* 0x14 */ f32 mShakeStrength; + /* 0x18 */ f32 mShakeAmpY; + /* 0x1C */ f32 mShakeDecay; + /* 0x20 */ f32 mMaxShakeDecay; + /* 0x24 */ f32 mMinShakeDecay; + /* 0x28 */ f32 mMoveAmpX; + /* 0x2C */ f32 mMoveAmpZ; + /* 0x30 */ f32 mMoveStrength; + /* 0x34 */ f32 mMoveDecay; + /* 0x38 */ f32 mMaxMoveDecay; + /* 0x3C */ f32 mMinMoveDecay; +}; + #endif /* D_A_OBJ_MAGLIFTROT_H */ diff --git a/include/rel/d/a/obj/d_a_obj_magne_arm/d_a_obj_magne_arm.h b/include/rel/d/a/obj/d_a_obj_magne_arm/d_a_obj_magne_arm.h index 8ca45aa786..d0af78a063 100644 --- a/include/rel/d/a/obj/d_a_obj_magne_arm/d_a_obj_magne_arm.h +++ b/include/rel/d/a/obj/d_a_obj_magne_arm/d_a_obj_magne_arm.h @@ -1,6 +1,91 @@ #ifndef D_A_OBJ_MAGNE_ARM_H #define D_A_OBJ_MAGNE_ARM_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjMarm_c + * @brief Magnetic Arm + * + * @details + * + */ +class daObjMarm_c : public fopAc_ac_c { +public: + /* 8058F358 */ void getBpartsOffset(cXyz*); + /* 8058F3D4 */ void getDpartsOffset(cXyz*); + /* 8058F46C */ void getEpartsOffset(cXyz*); + /* 8058F504 */ void getFpartsOffset(cXyz*); + /* 8058F610 */ void getRopeStartPos(cXyz*); + /* 8058F6B4 */ void initBaseMtx(); + /* 8058F77C */ void setBaseMtx(); + /* 8058FA50 */ void Create(); + /* 8058FCF8 */ void CreateHeap(); + /* 80590244 */ void phase_0(); + /* 805902D8 */ void phase_1(); + /* 80590364 */ void phase_2(); + /* 80590460 */ void create1st(); + /* 80590504 */ void Execute(f32 (**)[3][4]); + /* 80590818 */ void action(); + /* 80590B7C */ void init_typeA_modeWait(); + /* 80590B8C */ void typeA_modeWait(); + /* 80590BE0 */ void init_typeA_modeMholeOn(); + /* 80590C48 */ void typeA_modeMholeOn(); + /* 80590C68 */ void typeA_modeLiftUp(); + /* 80590C6C */ void typeA_modeLiftDown(); + /* 80590C70 */ void init_typeA_modeRotate(); + /* 80590CE4 */ void typeA_modeRotate(); + /* 80590E24 */ void typeA_modeEnd(); + /* 80590E28 */ void init_typeB_modeWait(); + /* 80590E38 */ void typeB_modeWait(); + /* 80590E8C */ void init_typeB_modeMholeOn(); + /* 80590EF4 */ void typeB_modeMholeOn(); + /* 80590F14 */ void init_typeB_modeLiftUp(); + /* 80590F30 */ void typeB_modeLiftUp(); + /* 80591004 */ void typeB_modeLiftDown(); + /* 805910E8 */ void init_typeB_modeRotate(); + /* 80591160 */ void typeB_modeRotate(); + /* 805912AC */ void typeB_modeEnd(); + /* 805912B0 */ void init_typeC_modeWait(); + /* 805912C0 */ void typeC_modeWait(); + /* 80591314 */ void init_typeC_modeMholeOn(); + /* 8059137C */ void typeC_modeMholeOn(); + /* 8059139C */ void init_typeC_modeLiftUp(); + /* 805913B8 */ void typeC_modeLiftUp(); + /* 8059148C */ void init_typeC_modeLiftDown(); + /* 805914A8 */ void typeC_modeLiftDown(); + /* 8059158C */ void init_typeC_modeRotate(); + /* 80591604 */ void typeC_modeRotate(); + /* 80591750 */ void typeC_modeEnd(); + /* 80591754 */ void init_typeD_modeWait(); + /* 80591764 */ void typeD_modeWait(); + /* 805917B8 */ void init_typeD_modeMholeOn(); + /* 80591820 */ void typeD_modeMholeOn(); + /* 80591840 */ void init_typeD_modeLiftUp(); + /* 8059185C */ void typeD_modeLiftUp(); + /* 80591930 */ void init_typeD_modeLiftDown(); + /* 8059194C */ void typeD_modeLiftDown(); + /* 80591A30 */ void init_typeD_modeRotate(); + /* 80591AA8 */ void typeD_modeRotate(); + /* 80591BF4 */ void typeD_modeEnd(); + /* 80591BF8 */ void setMagneHoleEffect(); + /* 80591BFC */ void endMagneHoleEffect(); + /* 80591C38 */ void calcHimo(); + /* 80591E18 */ void seStart_MOVESTART(); + /* 80591E80 */ void seStartLevel_MOVE(); + /* 80591EE8 */ void seStart_STOP(); + /* 80591F50 */ void seStartLevel_UP(); + /* 80591FB8 */ void seStartLevel_DOWN(); + /* 80592020 */ void seStart_SWING(); + /* 80592088 */ void Draw(); + /* 805923C4 */ void debugDraw(); + /* 805923C8 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0xa6c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjMarm_c) == 0xa6c); + #endif /* D_A_OBJ_MAGNE_ARM_H */ diff --git a/include/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h b/include/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h index 08bd39b54c..77075dc071 100644 --- a/include/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h +++ b/include/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h @@ -1,5 +1,27 @@ #ifndef D_A_OBJ_MAKI_H #define D_A_OBJ_MAKI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_maki_class + * @brief Stick Bundle? + * + * @details + * + */ +class obj_maki_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x730 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_maki_class) == 0x730); + +class daObj_Maki_HIO_c { +public: + /* 80C8FE0C */ daObj_Maki_HIO_c(); + /* 80C9089C */ ~daObj_Maki_HIO_c(); +}; + #endif /* D_A_OBJ_MAKI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.h b/include/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.h index 04cb3f2a25..13025d9260 100644 --- a/include/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.h +++ b/include/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.h @@ -1,5 +1,65 @@ #ifndef D_A_OBJ_MASTER_SWORD_H #define D_A_OBJ_MASTER_SWORD_H +#include "f_op/f_op_actor_mng.h" +#include "d/cc/d_cc_d.h" + +class daObjMasterSword_c; +typedef void (daObjMasterSword_c::*actionFunc)(); + +/** + * @ingroup actors-objects + * @class daObjMasterSword_c + * @brief Master Sword + * + * @details + * + */ +class daObjMasterSword_c : public fopAc_ac_c { +public: + enum Mode_e { + MODE_0_e, + }; + + /* 80C90AF8 */ void initWait(); + /* 80C90B50 */ void executeWait(); + /* 80C90C50 */ static int createHeapCallBack(fopAc_ac_c* i_this); + /* 80C90C70 */ int CreateHeap(); + /* 80C90DB8 */ int create(); + /* 80C90F6C */ void create_init(); + /* 80C91448 */ ~daObjMasterSword_c(); + /* 80C91714 */ int draw(); + + inline void initCollision(); + inline void setCollision(); + inline void initBaseMtx(); + inline void setAction(Mode_e i_mode); + inline void callInit(); + inline void callExecute(); + inline int execute(); + + f32 attr() const { return mAttr; } + + u8 getEventID() { return (fopAcM_GetParam(this) >> 0x10) & 0xFF; } + u16 getFlagNo() { return fopAcM_GetParam(this) & 0xFFFF; } + + static f32 const mAttr; + // static actionFunc ActionTable[]; + static u8 ActionTable[24]; + +private: + /* 0x568 */ J3DModel* mpModel; + /* 0x56C */ request_of_phase_process_class mPhase; + /* 0x574 */ mDoExt_btkAnm mBtk; + /* 0x58C */ mDoExt_brkAnm mBrk; + /* 0x5A4 */ dCcD_Stts mCcStts; + /* 0x5E0 */ dCcD_Cyl mCyl; + /* 0x71C */ actionFunc* mActionFunc; + /* 0x720 */ Mode_e mMode; + /* 0x724 */ u32 mShadowKey; + /* 0x728 */ cBgS_PolyInfo field_0x728; + /* 0x738 */ f32 field_0x738; +}; +STATIC_ASSERT(sizeof(daObjMasterSword_c) == 0x73C); #endif /* D_A_OBJ_MASTER_SWORD_H */ diff --git a/include/rel/d/a/obj/d_a_obj_mato/d_a_obj_mato.h b/include/rel/d/a/obj/d_a_obj_mato/d_a_obj_mato.h index 6bea2c9327..1b80d121bc 100644 --- a/include/rel/d/a/obj/d_a_obj_mato/d_a_obj_mato.h +++ b/include/rel/d/a/obj/d_a_obj_mato/d_a_obj_mato.h @@ -1,6 +1,41 @@ #ifndef D_A_OBJ_MATO_H #define D_A_OBJ_MATO_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjMATO_c + * @brief Target (???) + * + * @details + * + */ +class daObjMATO_c : public fopAc_ac_c { +public: + /* 80C91B58 */ void setAction(void (daObjMATO_c::*)(int), int); + /* 80C91D48 */ void action(); + /* 80C91DE4 */ void hit_check(); + /* 80C91ECC */ void start_wait(int); + /* 80C91F74 */ void wait(int); + /* 80C92044 */ void disappear(int); + /* 80C921A8 */ void getRupee(int); + /* 80C922AC */ void execute(); + /* 80C92380 */ void _delete(); + /* 80C9243C */ void setBaseMtx(); + /* 80C92650 */ void mato_init(); + /* 80C927AC */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0x39f8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjMATO_c) == 0x39f8); + +struct MatoData_s { +public: + /* 80C92924 */ ~MatoData_s(); + /* 80C92A50 */ MatoData_s(); +}; + #endif /* D_A_OBJ_MATO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_metalbox/d_a_obj_metalbox.h b/include/rel/d/a/obj/d_a_obj_metalbox/d_a_obj_metalbox.h index dd4e1ed3b7..b83e4cb2f1 100644 --- a/include/rel/d/a/obj/d_a_obj_metalbox/d_a_obj_metalbox.h +++ b/include/rel/d/a/obj/d_a_obj_metalbox/d_a_obj_metalbox.h @@ -1,6 +1,31 @@ #ifndef D_A_OBJ_METALBOX_H #define D_A_OBJ_METALBOX_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjMBox_c + * @brief Metal Box + * + * @details + * + */ +class daObjMBox_c : public fopAc_ac_c { +public: + /* 80592E98 */ void initBaseMtx(); + /* 80592ED4 */ void setBaseMtx(); + /* 80592F48 */ void Create(); + /* 80592FD4 */ void CreateHeap(); + /* 80593044 */ void create(); + /* 805932C4 */ void Execute(f32 (**)[3][4]); + /* 805932F0 */ void Draw(); + /* 80593394 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x944 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjMBox_c) == 0x944); + #endif /* D_A_OBJ_METALBOX_H */ diff --git a/include/rel/d/a/obj/d_a_obj_mgate/d_a_obj_mgate.h b/include/rel/d/a/obj/d_a_obj_mgate/d_a_obj_mgate.h index 7f65865c11..2636c89e41 100644 --- a/include/rel/d/a/obj/d_a_obj_mgate/d_a_obj_mgate.h +++ b/include/rel/d/a/obj/d_a_obj_mgate/d_a_obj_mgate.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjMGate_c + * @brief Ordon Spring Gate + * + * @details + * + */ class daObjMGate_c : public dBgS_MoveBgActor { public: enum Kind_e { @@ -44,5 +52,6 @@ private: /* 0x5C8 */ int mCounter; /* 0x5CC */ s16 mGateKeyAngle; }; +STATIC_ASSERT(sizeof(daObjMGate_c) == 0x5D0); #endif /* D_A_OBJ_MGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h b/include/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h index be572abd4c..f1d2166b72 100644 --- a/include/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h +++ b/include/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h @@ -1,5 +1,34 @@ #ifndef D_A_OBJ_MHOLE_H #define D_A_OBJ_MHOLE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjMHole_c + * @brief Magnet Hole + * + * @details + * + */ +class daObjMHole_c : public fopAc_ac_c { +public: + /* 80C92FD8 */ void initBaseMtx(); + /* 80C93014 */ void setBaseMtx(); + /* 80C9307C */ void Create(); + /* 80C93198 */ void checkParent(); + /* 80C93204 */ void CreateHeap(); + /* 80C934E0 */ void create(); + /* 80C936A8 */ void execute(); + /* 80C93928 */ void effectSet(); + /* 80C93A88 */ void effectEnd(); + /* 80C93ADC */ void draw(); + /* 80C93CAC */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0x734 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjMHole_c) == 0x734); + #endif /* D_A_OBJ_MHOLE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h b/include/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h index ed77cfec95..9d6d822029 100644 --- a/include/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h +++ b/include/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h @@ -1,5 +1,45 @@ #ifndef D_A_OBJ_MIE_H #define D_A_OBJ_MIE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_Mie_c + * @brief Gengle (Cat) + * + * @details + * + */ +class daObj_Mie_c : public fopAc_ac_c { +public: + /* 80C93FCC */ ~daObj_Mie_c(); + /* 80C941C8 */ void create(); + /* 80C945E8 */ void CreateHeap(); + /* 80C94674 */ void Delete(); + /* 80C946A8 */ void Execute(); + /* 80C95140 */ void Draw(); + /* 80C952D8 */ void createHeapCallBack(fopAc_ac_c*); + /* 80C952F8 */ void srchPouyaa(void*, void*); + /* 80C9536C */ void setEnvTevColor(); + /* 80C953C8 */ void setRoomNo(); + /* 80C9540C */ void setMtx(); + /* 80C954BC */ void calcRollAngle(s16, int); + /* 80C9555C */ void getWallAngle(s16, s16*); + /* 80C956EC */ void setSmokePrtcl(); + /* 80C95768 */ void setWaterPrtcl(); + /* 80C95890 */ void setHamonPrtcl(); +private: + /* 0x568 */ u8 field_0x568[0xa50 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_Mie_c) == 0xa50); + +class daObj_Mie_Param_c { +public: + /* 80C95A40 */ ~daObj_Mie_Param_c(); + + static u8 const m[44]; +}; + #endif /* D_A_OBJ_MIE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_movebox/d_a_obj_movebox.h b/include/rel/d/a/obj/d_a_obj_movebox/d_a_obj_movebox.h index c437a167c5..ee5a4a7ee6 100644 --- a/include/rel/d/a/obj/d_a_obj_movebox/d_a_obj_movebox.h +++ b/include/rel/d/a/obj/d_a_obj_movebox/d_a_obj_movebox.h @@ -4,7 +4,18 @@ #include "d/com/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" -struct daObjMovebox { +/** + * @ingroup actors-objects + * @class daObjMovebox + * @brief Multi-Purpose Moving Box + * + * @details Multi-purpose moving box actor. + * Used for: Goron Mines Push Block, Death Mountain Block, + * Large Wooden Crate, Sacred Grove Block, + * Arbiter's Grounds Block (2 of them), Kakariko Graveyard Gravestone + * + */ +class daObjMovebox : public fopAc_ac_c { struct Act_c { struct Prm_e {}; @@ -69,6 +80,10 @@ struct daObjMovebox { static u8 M_wrt_work[84]; static u8 M_wall_work[2576]; }; + +private: + /* 0x568 */ u8 field_0x568[0x90c - 0x568]; }; +STATIC_ASSERT(sizeof(daObjMovebox) == 0x90C); #endif /* D_A_OBJ_MOVEBOX_H */ diff --git a/include/rel/d/a/obj/d_a_obj_msima/d_a_obj_msima.h b/include/rel/d/a/obj/d_a_obj_msima/d_a_obj_msima.h index d92734bd74..b1cfcca34a 100644 --- a/include/rel/d/a/obj/d_a_obj_msima/d_a_obj_msima.h +++ b/include/rel/d/a/obj/d_a_obj_msima/d_a_obj_msima.h @@ -1,6 +1,32 @@ #ifndef D_A_OBJ_MSIMA_H #define D_A_OBJ_MSIMA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_msima_class + * @brief Dangoro Boss Stage (Magnetic Island) + * + * @details + * + */ +class obj_msima_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x8a4 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_msima_class) == 0x8a4); + +struct ms_chain_s { + /* 80C9CA60 */ ~ms_chain_s(); + /* 80C9CA9C */ ms_chain_s(); +}; + +class daObj_Msima_HIO_c { +public: + /* 80C9B40C */ daObj_Msima_HIO_c(); + /* 80C9CAA0 */ ~daObj_Msima_HIO_c(); +}; + #endif /* D_A_OBJ_MSIMA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_mvstair/d_a_obj_mvstair.h b/include/rel/d/a/obj/d_a_obj_mvstair/d_a_obj_mvstair.h index cb9f950853..9f26db8218 100644 --- a/include/rel/d/a/obj/d_a_obj_mvstair/d_a_obj_mvstair.h +++ b/include/rel/d/a/obj/d_a_obj_mvstair/d_a_obj_mvstair.h @@ -1,6 +1,47 @@ #ifndef D_A_OBJ_MVSTAIR_H #define D_A_OBJ_MVSTAIR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjStair_c + * @brief Moving Stairs + * + * @details + * + */ +class daObjStair_c : public fopAc_ac_c { +public: + /* 80C9D098 */ void initBaseMtx(); + /* 80C9D0D4 */ void setBaseMtx(); + /* 80C9D148 */ void Create(); + /* 80C9D2B8 */ void CreateHeap(); + /* 80C9D338 */ void create1st(); + /* 80C9D41C */ void event_proc_call(); + /* 80C9D4D8 */ void mode_proc_call(); + /* 80C9D594 */ void Execute(f32 (**)[3][4]); + /* 80C9D710 */ void Draw(); + /* 80C9D7B4 */ void Delete(); + /* 80C9D82C */ void actionWait(); + /* 80C9D8EC */ void actionOrderEvent(); + /* 80C9D95C */ void actionEvent(); + /* 80C9D9BC */ bool actionEnd(); + /* 80C9D9C4 */ void modeWaitUpperInit(); + /* 80C9D9F4 */ void modeWaitUpper(); + /* 80C9DA98 */ void modeUpperInit(); + /* 80C9DADC */ void modeUpper(); + /* 80C9DF18 */ void modeWaitLowerInit(); + /* 80C9DF60 */ void modeWaitLower(); + /* 80C9E004 */ void modeLowerInit(); + /* 80C9E034 */ void modeLower(); + /* 80C9E3D8 */ void setParticle(); + /* 80C9E5A0 */ void removeParticle(); + +private: + /* 0x568 */ u8 field_0x568[0x66c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjStair_c) == 0x66c); + #endif /* D_A_OBJ_MVSTAIR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h b/include/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h index 753546152c..f4a0240a3e 100644 --- a/include/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h +++ b/include/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h @@ -5,6 +5,14 @@ class dBgW; +/** + * @ingroup actors-objects + * @class obj_myogan_class + * @brief ??? + * + * @details + * + */ class obj_myogan_class : public fopAc_ac_c { public: /* 0x568 */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/obj/d_a_obj_nagaisu/d_a_obj_nagaisu.h b/include/rel/d/a/obj/d_a_obj_nagaisu/d_a_obj_nagaisu.h index 21a0eae03e..6c883963d3 100644 --- a/include/rel/d/a/obj/d_a_obj_nagaisu/d_a_obj_nagaisu.h +++ b/include/rel/d/a/obj/d_a_obj_nagaisu/d_a_obj_nagaisu.h @@ -1,6 +1,51 @@ #ifndef D_A_OBJ_NAGAISU_H #define D_A_OBJ_NAGAISU_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/cc/d_cc_d.h" +#include "d/d_model.h" + +/** + * @ingroup actors-objects + * @class daObjNagaisu_c + * @brief Couch + * + * @details + * + */ +class daObjNagaisu_c : public fopAc_ac_c { +public: + /* 80C9F3D8 */ daObjNagaisu_c(); + /* 80C9F4B8 */ ~daObjNagaisu_c(); + /* 80C9F5A8 */ void createHeap(); + /* 80C9F668 */ void create(); + /* 80C9F7A8 */ void Delete(); + /* 80C9F81C */ void draw(); + /* 80C9F8C4 */ void execute(); + /* 80C9F914 */ void init(); + /* 80C9F944 */ void setIsu(); + + static u8 const REMOVE_ISU_IDX[28]; +private: + /* 0x568 */ u8 field_0x568[0xb6e4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjNagaisu_c) == 0xb6e4); + +// child seat / couch? +class daObjIsuChild_c { +public: + /* 80C9FA90 */ daObjIsuChild_c(); + /* 80C9FCDC */ ~daObjIsuChild_c(); + /* 80C9FD4C */ void createHeap(); + /* 80C9FE28 */ void create(daObjNagaisu_c*, dCcD_Stts*); + /* 80C9FF54 */ void execute(); + /* 80CA0034 */ void draw(dMdl_c*); + /* 80CA00B8 */ void Delete(); + /* 80CA0118 */ void chkHit(); + /* 80CA0180 */ void callEmt(); + + static u8 const s_CcDCyl[68]; +}; + #endif /* D_A_OBJ_NAGAISU_H */ diff --git a/include/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h b/include/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h index 7abe15fce9..2f6e075dc6 100644 --- a/include/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h +++ b/include/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h @@ -1,5 +1,40 @@ #ifndef D_A_OBJ_NAMEPLATE_H #define D_A_OBJ_NAMEPLATE_H +#include "f_op/f_op_actor_mng.h" +#include "d/cc/d_cc_d.h" + +/** + * @ingroup actors-objects + * @class daObjNameplate_c + * @brief Ordon Village Nameplate + * + * @details + * + */ +class daObjNameplate_c : public fopAc_ac_c { +public: + /* 80594098 */ void create_init(); + /* 8059415C */ void initBaseMtx(); + /* 8059417C */ void setBaseMtx(); + /* 80594248 */ void initCcSphere(); + /* 805942B8 */ void setCcSphere(); + /* 8059434C */ void calcAngle(); + /* 805945CC */ void calcSpring(); + /* 80594754 */ void checkHitAngle(); + /* 805947F8 */ void messageProc(); + + static u8 const M_attr[32]; + +private: + /* 0x568 */ u8 field_0x568[0x780 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjNameplate_c) == 0x780); + +struct daObj { +public: + /* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32); +}; + #endif /* D_A_OBJ_NAMEPLATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_nan/d_a_obj_nan.h b/include/rel/d/a/obj/d_a_obj_nan/d_a_obj_nan.h index 28f58865c3..10166d108c 100644 --- a/include/rel/d/a/obj/d_a_obj_nan/d_a_obj_nan.h +++ b/include/rel/d/a/obj/d_a_obj_nan/d_a_obj_nan.h @@ -1,6 +1,47 @@ #ifndef D_A_OBJ_NAN_H #define D_A_OBJ_NAN_H -#include "dolphin/types.h" +#include "d/d_insect.h" + +/** + * @ingroup actors-objects + * @class daObjNAN_c + * @brief Insect - Phasmid + * + * @details + * + */ +class daObjNAN_c : public dInsect_c { +public: + /* 80CA05D4 */ void setAction(void (daObjNAN_c::*)()); + /* 80CA0978 */ void nan_posMove(); + /* 80CA0A2C */ void turn(); + /* 80CA0D9C */ void nan_WalkAnm(); + /* 80CA0E7C */ void wait(); + /* 80CA1184 */ void walk(); + /* 80CA1904 */ void bin_wait(); + /* 80CA1A20 */ void bin_action(); + /* 80CA1B50 */ void nan_setParticle(); + /* 80CA1D5C */ void hook(); + /* 80CA1F60 */ void boomerang(); + /* 80CA2368 */ void drop(); + /* 80CA2658 */ void hit_check(); + /* 80CA270C */ void action(); + /* 80CA276C */ void execute(); + /* 80CA2904 */ void _delete(); + /* 80CA296C */ void setBaseMtx(); + /* 80CA2B68 */ void create(); + +private: + /* 0x590 */ u8 field_0x568[0x800 - 0x590]; +}; +STATIC_ASSERT(sizeof(daObjNAN_c) == 0x800); + +class daObj_NanHIO_c { +public: + /* 80CA05AC */ daObj_NanHIO_c(); + /* 80CA30D0 */ ~daObj_NanHIO_c(); +}; + #endif /* D_A_OBJ_NAN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h b/include/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h index 039d516fe3..49d355000c 100644 --- a/include/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h +++ b/include/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h @@ -1,5 +1,21 @@ #ifndef D_A_OBJ_NDOOR_H #define D_A_OBJ_NDOOR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_ndoor_class + * @brief Cat Door? + * + * @details + * + */ +class obj_ndoor_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x718 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_ndoor_class) == 0x718); + #endif /* D_A_OBJ_NDOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_nougu/d_a_obj_nougu.h b/include/rel/d/a/obj/d_a_obj_nougu/d_a_obj_nougu.h index 1b1b7371b2..43640cfcc0 100644 --- a/include/rel/d/a/obj/d_a_obj_nougu/d_a_obj_nougu.h +++ b/include/rel/d/a/obj/d_a_obj_nougu/d_a_obj_nougu.h @@ -1,6 +1,44 @@ #ifndef D_A_OBJ_NOUGU_H #define D_A_OBJ_NOUGU_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_Nougu_c + * @brief Farm Tools + * + * @details + * + */ +class daObj_Nougu_c : public fopAc_ac_c { +public: + /* 80CA3C0C */ ~daObj_Nougu_c(); + /* 80CA3E24 */ void create(); + /* 80CA4328 */ void CreateHeap(); + /* 80CA43A0 */ void Delete(); + /* 80CA43D4 */ void Execute(); + /* 80CA45F4 */ void Draw(); + /* 80CA46B8 */ void createHeapCallBack(fopAc_ac_c*); + /* 80CA46D8 */ void getResName(); + /* 80CA46E8 */ void isDelete(); + /* 80CA4708 */ void setEnvTevColor(); + /* 80CA4764 */ void setRoomNo(); + /* 80CA47A4 */ void setMtx(); + + static u8 mCcDSph[64]; + +private: + /* 0x568 */ u8 field_0x568[0xe30 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_Nougu_c) == 0xe30); + +class daObj_Nougu_Param_c { +public: + /* 80CA494C */ ~daObj_Nougu_Param_c(); + + static u8 const m[16]; +}; + #endif /* D_A_OBJ_NOUGU_H */ diff --git a/include/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h b/include/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h index e206ec3932..826165e7da 100644 --- a/include/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h +++ b/include/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h @@ -1,5 +1,39 @@ #ifndef D_A_OBJ_OCTHASHI_H #define D_A_OBJ_OCTHASHI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjOCTHASHI_c + * @brief Morpheel Pillar + * + * @details + * + */ +class daObjOCTHASHI_c : public fopAc_ac_c { +public: + /* 80CA4BB8 */ void initCcCylinder(); + /* 80CA4DFC */ void SetCoSph(); + /* 80CA4EA4 */ void SetCoCyl(); + /* 80CA4F24 */ void HakaiSet2(int); + /* 80CA52F0 */ void HakaiMotion2(); + /* 80CA54E4 */ void CylAction(); + /* 80CA55C4 */ void SphAction(); + /* 80CA5844 */ void SphAction2(); + /* 80CA58F4 */ void Action(); + /* 80CA59BC */ void setBaseMtx(); + /* 80CA5AE0 */ void CreateHeap(); + /* 80CA5B98 */ void create(); + /* 80CA62A4 */ void Create(); + /* 80CA62F8 */ void Execute(f32 (**)[3][4]); + /* 80CA636C */ void Draw(); + /* 80CA6444 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x14b0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjOCTHASHI_c) == 0x14b0); + #endif /* D_A_OBJ_OCTHASHI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_oiltubo/d_a_obj_oiltubo.h b/include/rel/d/a/obj/d_a_obj_oiltubo/d_a_obj_oiltubo.h index 8bb04cf172..b4f57032e4 100644 --- a/include/rel/d/a/obj/d_a_obj_oiltubo/d_a_obj_oiltubo.h +++ b/include/rel/d/a/obj/d_a_obj_oiltubo/d_a_obj_oiltubo.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObj_Oiltubo_c + * @brief Oil Jar + * + * @details + * + */ class daObj_Oiltubo_c : public fopAc_ac_c { public: typedef int (daObj_Oiltubo_c::*processFn)(void*); @@ -28,6 +36,7 @@ public: static const dCcD_SrcGObjInf mCcDObjInfo; static dCcD_SrcCyl mCcDCyl; +private: /* 0x568 */ request_of_phase_process_class mPhase; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ J3DModel* mpBModel; @@ -44,7 +53,9 @@ public: /* 0xAC8 */ u32 mShadowKey; /* 0xACC */ u16 mMode; +public: /* 80CA7628 */ virtual ~daObj_Oiltubo_c() {} }; +STATIC_ASSERT(sizeof(daObj_Oiltubo_c) == 0xAD4); #endif /* D_A_OBJ_OILTUBO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_onsen/d_a_obj_onsen.h b/include/rel/d/a/obj/d_a_obj_onsen/d_a_obj_onsen.h index 22a88ac9c2..b2e0bb13e2 100644 --- a/include/rel/d/a/obj/d_a_obj_onsen/d_a_obj_onsen.h +++ b/include/rel/d/a/obj/d_a_obj_onsen/d_a_obj_onsen.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjOnsen_c + * @brief Hot Spring + * + * @details + * + */ class daObjOnsen_c : public dBgS_MoveBgActor { public: /* 80CA7B58 */ void initBaseMtx(); @@ -17,10 +25,12 @@ public: u32 getType() { return fopAcM_GetParamBit(this, 0, 8); } +private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; /* 0x5A8 */ J3DModel* mpModel[2]; /* 0x5B0 */ mDoExt_btkAnm* mpBtk; /* 0x5B4 */ u8 mType; -}; // Size: 0x5B8 +}; +STATIC_ASSERT(sizeof(daObjOnsen_c) == 0x5B8); #endif /* D_A_OBJ_ONSEN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_onsenFire/d_a_obj_onsenFire.h b/include/rel/d/a/obj/d_a_obj_onsenFire/d_a_obj_onsenFire.h index ae5ea7363c..ed941652c4 100644 --- a/include/rel/d/a/obj/d_a_obj_onsenFire/d_a_obj_onsenFire.h +++ b/include/rel/d/a/obj/d_a_obj_onsenFire/d_a_obj_onsenFire.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjOnsenFire_c + * @brief Hot Spring Fire + * + * @details + * + */ class daObjOnsenFire_c : public fopAc_ac_c { public: /* 80CA8278 */ int create(); diff --git a/include/rel/d/a/obj/d_a_obj_onsenTaru/d_a_obj_onsenTaru.h b/include/rel/d/a/obj/d_a_obj_onsenTaru/d_a_obj_onsenTaru.h index 4f8b129c38..7f014c6632 100644 --- a/include/rel/d/a/obj/d_a_obj_onsenTaru/d_a_obj_onsenTaru.h +++ b/include/rel/d/a/obj/d_a_obj_onsenTaru/d_a_obj_onsenTaru.h @@ -1,6 +1,54 @@ #ifndef D_A_OBJ_ONSENTARU_H #define D_A_OBJ_ONSENTARU_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daOnsTaru_c + * @brief Hot Spring Water Barrel + * + * @details + * + */ +class daOnsTaru_c : public fopAc_ac_c { +public: + /* 80CA86C0 */ void setBaseMtx(); + /* 80CA8748 */ void CreateHeap(); + /* 80CA87B4 */ void create(); + /* 80CA8C20 */ void createHeapCallBack(fopAc_ac_c*); + /* 80CA8C4C */ void chkSinkAll(); + /* 80CA8C70 */ void chkWaterLineIn(); + /* 80CA8C94 */ void bgCheck(); + /* 80CA8F38 */ void Execute(); + /* 80CA9184 */ void mode_proc_call(); + /* 80CA929C */ void mode_init_wait(); + /* 80CA92CC */ void mode_proc_wait(); + /* 80CA92F0 */ void mode_init_carry(); + /* 80CA9320 */ void mode_proc_carry(); + /* 80CA93C0 */ void mode_init_drop(); + /* 80CA9400 */ void mode_proc_drop(); + /* 80CA9424 */ void mode_init_break(); + /* 80CA9514 */ void mode_proc_break(); + /* 80CA9518 */ void mode_init_sink(); + /* 80CA9530 */ void mode_proc_sink(); + /* 80CA9620 */ void breakEffSet(); + /* 80CA98B8 */ void Draw(); + /* 80CA995C */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x948 - 0x568]; +}; +STATIC_ASSERT(sizeof(daOnsTaru_c) == 0x948); + +class daOnsTaru_HIO_c { +public: + /* 80CA85CC */ daOnsTaru_HIO_c(); + /* 80CA9A78 */ ~daOnsTaru_HIO_c(); +}; + #endif /* D_A_OBJ_ONSENTARU_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ornament_cloth/d_a_obj_ornament_cloth.h b/include/rel/d/a/obj/d_a_obj_ornament_cloth/d_a_obj_ornament_cloth.h index 4e80df662e..f22eef6981 100644 --- a/include/rel/d/a/obj/d_a_obj_ornament_cloth/d_a_obj_ornament_cloth.h +++ b/include/rel/d/a/obj/d_a_obj_ornament_cloth/d_a_obj_ornament_cloth.h @@ -1,6 +1,36 @@ #ifndef D_A_OBJ_ORNAMENT_CLOTH_H #define D_A_OBJ_ORNAMENT_CLOTH_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjOnCloth_c + * @brief Ordon Village Flag + * + * @details + * + */ +class daObjOnCloth_c : public fopAc_ac_c { +public: + /* 80595038 */ void create_init(); + /* 80595158 */ void initBaseMtx(); + /* 80595178 */ void setBaseMtx(); + /* 805951DC */ void setNormalClothPos(); + /* 805954B0 */ void calcJointAngle(); + /* 80595638 */ void checkPlayerMove(); + + static u8 const M_attr[48]; +private: + /* 0x568 */ u8 field_0x568[0x6c8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjOnCloth_c) == 0x6c8); + +class ClothJoint_c { +public: + /* 80595B9C */ ~ClothJoint_c(); + /* 80595CA8 */ ClothJoint_c(); +}; + #endif /* D_A_OBJ_ORNAMENT_CLOTH_H */ diff --git a/include/rel/d/a/obj/d_a_obj_pdoor/d_a_obj_pdoor.h b/include/rel/d/a/obj/d_a_obj_pdoor/d_a_obj_pdoor.h index c8716c8919..e99dc79b4a 100644 --- a/include/rel/d/a/obj/d_a_obj_pdoor/d_a_obj_pdoor.h +++ b/include/rel/d/a/obj/d_a_obj_pdoor/d_a_obj_pdoor.h @@ -1,6 +1,36 @@ #ifndef D_A_OBJ_PDOOR_H #define D_A_OBJ_PDOOR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjPDoor_c + * @brief Push Door + * + * @details + * + */ +class daObjPDoor_c : public fopAc_ac_c { +public: + /* 80CA9F9C */ void initBaseMtx(); + /* 80CA9FD8 */ void setBaseMtx(); + /* 80CAA03C */ void Create(); + /* 80CAA14C */ void CreateHeap(); + /* 80CAA1BC */ void create1st(); + /* 80CAA23C */ void Execute(f32 (**)[3][4]); + /* 80CAA290 */ void mode_proc_call(); + /* 80CAA31C */ void init_modeWait(); + /* 80CAA354 */ void modeWait(); + /* 80CAA698 */ void init_modeRotate(); + /* 80CAA6B4 */ void modeRotate(); + /* 80CAA968 */ void Draw(); + /* 80CAAA0C */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5c4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjPDoor_c) == 0x5c4); + #endif /* D_A_OBJ_PDOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h b/include/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h index 7b60d72526..6786b8db88 100644 --- a/include/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h +++ b/include/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h @@ -1,5 +1,32 @@ #ifndef D_A_OBJ_PDTILE_H #define D_A_OBJ_PDTILE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjPDtile_c + * @brief P - Drop Tile + * + * @details + * + */ +class daObjPDtile_c : public fopAc_ac_c { +public: + /* 80CAACE0 */ void create1st(); + /* 80CAAE80 */ void setMtx(); + /* 80CAAF90 */ void rideActor(fopAc_ac_c*); + /* 80CAB1F0 */ void CreateHeap(); + /* 80CAB258 */ void Create(); + /* 80CAB374 */ void Execute(f32 (**)[3][4]); + /* 80CABF50 */ void Draw(); + /* 80CAC094 */ void Delete(); + /* 80CAC374 */ ~daObjPDtile_c(); + +private: + /* 0x568 */ u8 field_0x568[0x7fc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjPDtile_c) == 0x7fc); + #endif /* D_A_OBJ_PDTILE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_pdwall/d_a_obj_pdwall.h b/include/rel/d/a/obj/d_a_obj_pdwall/d_a_obj_pdwall.h index 0145f82d34..4571bf6cbc 100644 --- a/include/rel/d/a/obj/d_a_obj_pdwall/d_a_obj_pdwall.h +++ b/include/rel/d/a/obj/d_a_obj_pdwall/d_a_obj_pdwall.h @@ -1,6 +1,31 @@ #ifndef D_A_OBJ_PDWALL_H #define D_A_OBJ_PDWALL_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjPDwall_c + * @brief P - D Wall? + * + * @details + * + */ +class daObjPDwall_c : public fopAc_ac_c { +public: + /* 80CAC7F8 */ void create1st(); + /* 80CAC8DC */ void setMtx(); + /* 80CACA44 */ void CreateHeap(); + /* 80CACBA8 */ void Create(); + /* 80CACCE0 */ void Execute(f32 (**)[3][4]); + /* 80CACF14 */ void Draw(); + /* 80CACFD4 */ void Delete(); + /* 80CAD140 */ ~daObjPDwall_c(); + +private: + /* 0x568 */ u8 field_0x568[0xa18 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjPDwall_c) == 0xa18); + #endif /* D_A_OBJ_PDWALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_picture/d_a_obj_picture.h b/include/rel/d/a/obj/d_a_obj_picture/d_a_obj_picture.h index 1c35caf253..12800a93aa 100644 --- a/include/rel/d/a/obj/d_a_obj_picture/d_a_obj_picture.h +++ b/include/rel/d/a/obj/d_a_obj_picture/d_a_obj_picture.h @@ -1,6 +1,45 @@ #ifndef D_A_OBJ_PICTURE_H #define D_A_OBJ_PICTURE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/cc/d_cc_d.h" + +/** + * @ingroup actors-objects + * @class daObjPicture_c + * @brief Hyrule Castle Painting + * + * @details + * + */ +class daObjPicture_c : public fopAc_ac_c { +public: + /* 80CAD318 */ daObjPicture_c(); + /* 80CAD6C8 */ ~daObjPicture_c(); + /* 80CAD908 */ void createHeap(); + /* 80CADC18 */ void create(); + /* 80CADFB0 */ void Delete(); + /* 80CAE05C */ void draw(); + /* 80CAE1B8 */ void execute(); + /* 80CAE510 */ void init(); + /* 80CAE5B0 */ void setPicModelMtx(); + /* 80CAE638 */ void setTmgModelMtx(); + /* 80CAE6C4 */ void getLinePosPic(int, cXyz*); + /* 80CAE744 */ void getPosTmg(cXyz*); + /* 80CAE76C */ void setLinePos(); + /* 80CAE8E8 */ void moveLineFall1(); + /* 80CAEA60 */ void moveLineFall2(); + /* 80CAED28 */ void chkHitRope(); + /* 80CAEDDC */ void chkHitBombTg(); + /* 80CAEE90 */ void setPicAtCol(); + + static u8 s_CcDCps[76]; + static u8 s_CcDCyl_pic_at[68]; + +private: + /* 0x568 */ u8 field_0x568[0xda0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjPicture_c) == 0xda0); + #endif /* D_A_OBJ_PICTURE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h b/include/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h index f9e12b49cf..ee56bb13a1 100644 --- a/include/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h +++ b/include/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h @@ -1,5 +1,46 @@ #ifndef D_A_OBJ_PILLAR_H #define D_A_OBJ_PILLAR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daPillar_c + * @brief Forest Temple Totem Pole + * + * @details + * + */ +class daPillar_c : public fopAc_ac_c { +public: + /* 80CAF4B4 */ void setBaseMtx(); + /* 80CAF5EC */ void Create(); + /* 80CAF7A8 */ void CreateHeap(); + /* 80CAF8A4 */ void create1st(); + /* 80CAFB44 */ void checkAttacked(); + /* 80CAFC08 */ void on_switch(); + /* 80CAFD64 */ void checkShake(); + /* 80CAFF60 */ void setShake_rcrash(); + /* 80CB01E0 */ void setShake_strong(); + /* 80CB022C */ void setShake_weak(); + /* 80CB0278 */ void switch_proc_call(); + /* 80CB031C */ void actionSwOnWait(); + /* 80CB0378 */ void actionSwOn(); + /* 80CB03CC */ void actionEnd(); + /* 80CB03D0 */ void Execute(f32 (**)[3][4]); + /* 80CB0658 */ void Draw(); + /* 80CB0740 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x750 - 0x568]; +}; +STATIC_ASSERT(sizeof(daPillar_c) == 0x750); + +class daPillar_HIO_c { +public: + /* 80CAF32C */ daPillar_HIO_c(); + /* 80CB0928 */ ~daPillar_HIO_c(); +}; + #endif /* D_A_OBJ_PILLAR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_pleaf/d_a_obj_pleaf.h b/include/rel/d/a/obj/d_a_obj_pleaf/d_a_obj_pleaf.h index 15ef3017d4..91a91b7450 100644 --- a/include/rel/d/a/obj/d_a_obj_pleaf/d_a_obj_pleaf.h +++ b/include/rel/d/a/obj/d_a_obj_pleaf/d_a_obj_pleaf.h @@ -4,8 +4,16 @@ #include "d/com/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObj_Pleaf_c + * @brief Ordon Pumpkin Vine + * + * @details + * + */ class daObj_Pleaf_c : public fopAc_ac_c { -public: +private: /* 0x568*/ u8 field_0x568[0x56C - 0x568]; /* 0x56C */ request_of_phase_process_class mPhaseReq; /* 0x574 */ J3DModel* mpModel; @@ -18,8 +26,7 @@ public: /* 0x944 */ u32 mShadowKey; /* 0x948 */ u8 mType; - u32 getType() { return 0; } - +public: /* 80CB0D4C */ virtual ~daObj_Pleaf_c(); /* 80CB0F08 */ int create(); /* 80CB134C */ int CreateHeap(); @@ -32,7 +39,10 @@ public: /* 80CB15E8 */ void setEnvTevColor(); /* 80CB1644 */ void setRoomNo(); /* 80CB1684 */ void setMtx(); + + u32 getType() { return 0; } }; +STATIC_ASSERT(sizeof(daObj_Pleaf_c) == 0x950); class daObj_Pleaf_Param_c { public: diff --git a/include/rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h b/include/rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h index 2c31d3a137..23666979a1 100644 --- a/include/rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h +++ b/include/rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h @@ -1,6 +1,50 @@ #ifndef D_A_OBJ_POCANDLE_H #define D_A_OBJ_POCANDLE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daPoCandle_c + * @brief Poe Torch + * + * @details + * + */ +class daPoCandle_c : public fopAc_ac_c { +public: + /* 80CB1AE4 */ void setBaseMtx(); + /* 80CB1B6C */ void CreateHeap(); + /* 80CB1BD8 */ void create(); + /* 80CB1D74 */ void lightInit(); + /* 80CB1E00 */ void setLight(); + /* 80CB1E30 */ void cutLight(); + /* 80CB1E60 */ void pointLightProc(); + /* 80CB1F10 */ void Execute(f32 (**)[3][4]); + /* 80CB2140 */ void init_modeWait(); + /* 80CB214C */ void modeWait(); + /* 80CB21D8 */ void init_modeOnFire(); + /* 80CB22D4 */ void modeOnFire(); + /* 80CB22F4 */ void modeOnSwWait(); + /* 80CB2354 */ void init_modeEnd(); + /* 80CB2360 */ void modeEnd(); + /* 80CB2364 */ void eventStart(); + /* 80CB2388 */ void Draw(); + /* 80CB242C */ void Delete(); + /* 80CB2610 */ ~daPoCandle_c(); + + /* 80CB3E3C */ void getFirePos(); // implemented in d_a_obj_poFire.cpp + +private: + /* 0x568 */ u8 field_0x568[0x614 - 0x568]; +}; +STATIC_ASSERT(sizeof(daPoCandle_c) == 0x614); + +class daPoCandle_HIO_c { +public: + /* 80CB1A6C */ daPoCandle_HIO_c(); + /* 80CB2508 */ ~daPoCandle_HIO_c(); +}; + #endif /* D_A_OBJ_POCANDLE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_poFire/d_a_obj_poFire.h b/include/rel/d/a/obj/d_a_obj_poFire/d_a_obj_poFire.h index 7d5f527ee3..7b4ffb903b 100644 --- a/include/rel/d/a/obj/d_a_obj_poFire/d_a_obj_poFire.h +++ b/include/rel/d/a/obj/d_a_obj_poFire/d_a_obj_poFire.h @@ -1,6 +1,57 @@ #ifndef D_A_OBJ_POFIRE_H #define D_A_OBJ_POFIRE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h" + +/** + * @ingroup actors-objects + * @class daPoFire_c + * @brief Poe Fire + * + * @details + * + */ +class daPoFire_c : public fopAc_ac_c { +public: + /* 80CB2A0C */ void setBaseMtx(); + /* 80CB2A74 */ void create(); + /* 80CB2BB8 */ void Execute(); + /* 80CB2BFC */ void procMain(); + /* 80CB2D84 */ void setFire(); + /* 80CB2F68 */ void searchCandle(void*, void*); + /* 80CB2FD4 */ void searchFireTag(void*, void*); + /* 80CB3024 */ void init_modeInitMove(); + /* 80CB30FC */ void modeInitMove(); + /* 80CB31FC */ void modeWait(); + /* 80CB32EC */ void init_modeWaitSetEffect(); + /* 80CB3380 */ void modeWaitSetEffect(); + /* 80CB3540 */ void init_modeMoveOut(); + /* 80CB355C */ void modeMoveOut(); + /* 80CB3714 */ void init_modeMove(); + /* 80CB3730 */ void modeMove(); + /* 80CB38EC */ void init_modeMoveWait(); + /* 80CB3918 */ void modeMoveWait(); + /* 80CB3958 */ void modeNoMove(); + /* 80CB39CC */ void init_modeOnFire(); + /* 80CB39E0 */ void modeOnFire(); + /* 80CB3ADC */ void init_modeFireEnd(); + /* 80CB3AE8 */ void modeFireEnd(); + /* 80CB3B70 */ void eventStart(); + /* 80CB3BE0 */ void eventRun(); + /* 80CB3C64 */ bool eventEnd(); + /* 80CB3C6C */ bool Draw(); + /* 80CB3C74 */ void Delete(); + /* 80CB3E58 */ ~daPoFire_c(); +private: + /* 0x568 */ u8 field_0x568[0x618 - 0x568]; +}; +STATIC_ASSERT(sizeof(daPoFire_c) == 0x618); + +class daPoFire_HIO_c { +public: + /* 80CB294C */ daPoFire_HIO_c(); + /* 80CB3D24 */ ~daPoFire_HIO_c(); +}; #endif /* D_A_OBJ_POFIRE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_poTbox/d_a_obj_poTbox.h b/include/rel/d/a/obj/d_a_obj_poTbox/d_a_obj_poTbox.h index ee8d7b3169..097e32d6c0 100644 --- a/include/rel/d/a/obj/d_a_obj_poTbox/d_a_obj_poTbox.h +++ b/include/rel/d/a/obj/d_a_obj_poTbox/d_a_obj_poTbox.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_POTBOX_H #define D_A_OBJ_POTBOX_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daPoTbox_c + * @brief Poe Treasure Chest + * + * @details + * + */ +class daPoTbox_c : public fopAc_ac_c { +public: + /* 80CB42C8 */ void setBaseMtx(); + /* 80CB43D0 */ void CreateHeap(); + /* 80CB46C4 */ void create(); + /* 80CB499C */ void Execute(f32 (**)[3][4]); + /* 80CB4AA8 */ void init_modeWait(); + /* 80CB4AB4 */ void modeWait(); + /* 80CB4B10 */ void init_modeOpen(); + /* 80CB4BF8 */ void modeOpen(); + /* 80CB4C54 */ void init_modeOpenEnd(); + /* 80CB4C60 */ void modeOpenEnd(); + /* 80CB4C84 */ void init_modeEnd(); + /* 80CB4C90 */ void modeEnd(); + /* 80CB4C94 */ void Draw(); + /* 80CB4E14 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x608 - 0x568]; +}; +STATIC_ASSERT(sizeof(daPoTbox_c) == 0x608); + +class daPoTbox_HIO_c { +public: + /* 80CB424C */ daPoTbox_HIO_c(); + /* 80CB4F14 */ ~daPoTbox_HIO_c(); +}; + #endif /* D_A_OBJ_POTBOX_H */ diff --git a/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h b/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h index 723a4b542e..62d878205d 100644 --- a/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h +++ b/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjProp_c + * @brief City in the Sky Propeller? + * + * @details + * + */ class daObjProp_c : public fopAc_ac_c, public request_of_phase_process_class { public: /* 80CB51F8 */ daObjProp_c(); @@ -18,8 +26,10 @@ public: u32 getNameArg_0() { return fopAcM_GetParamBit(this, 0, 4); } u32 getArg_0() { return fopAcM_GetParamBit(this, 4, 4); } +private: /* 0x574 */ J3DModel* mpModel; /* 0x578 */ u8 mArg; -}; // Size: 0x57C +}; +STATIC_ASSERT(sizeof(daObjProp_c) == 0x57C); #endif /* D_A_OBJ_PROP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h b/include/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h index 7cd7708b09..f17f549b98 100644 --- a/include/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h +++ b/include/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h @@ -1,5 +1,48 @@ #ifndef D_A_OBJ_PUMPKIN_H #define D_A_OBJ_PUMPKIN_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_Pumpkin_c + * @brief Ordon Village Pumpkin + * + * @details + * + */ +class daObj_Pumpkin_c : public fopAc_ac_c { +public: + /* 80CB578C */ ~daObj_Pumpkin_c(); + /* 80CB5A04 */ void create(); + /* 80CB5F88 */ void CreateHeap(); + /* 80CB6018 */ void Delete(); + /* 80CB604C */ void Execute(); + /* 80CB7638 */ void Draw(); + /* 80CB7824 */ void createHeapCallBack(fopAc_ac_c*); + /* 80CB7844 */ void isDelete(); + /* 80CB78C8 */ void setEnvTevColor(); + /* 80CB7924 */ void setRoomNo(); + /* 80CB7968 */ void reset(); + /* 80CB79DC */ void setMtx(); + /* 80CB7AE4 */ void calcRollAngle(s16, int); + /* 80CB7B84 */ void getWallAngle(s16, s16*); + /* 80CB7D14 */ void setSmokePrtcl(); + /* 80CB7D98 */ void setWaterPrtcl(); + /* 80CB7E98 */ void setHamonPrtcl(); + /* 80CB7EF4 */ void crash(); + +private: + /* 0x568 */ u8 field_0x568[0xbbc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_Pumpkin_c) == 0xbbc); + +class daObj_Pumpkin_Param_c { +public: + /* 80CB8304 */ ~daObj_Pumpkin_Param_c(); + + static u8 const m[52]; +}; + #endif /* D_A_OBJ_PUMPKIN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_rcircle/d_a_obj_rcircle.h b/include/rel/d/a/obj/d_a_obj_rcircle/d_a_obj_rcircle.h index 44f94c4532..3a7a576d67 100644 --- a/include/rel/d/a/obj/d_a_obj_rcircle/d_a_obj_rcircle.h +++ b/include/rel/d/a/obj/d_a_obj_rcircle/d_a_obj_rcircle.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjRCircle_c + * @brief River Circle + * + * @details + * + */ class daObjRCircle_c : public fopAc_ac_c, public request_of_phase_process_class { public: /* 80CB8678 */ daObjRCircle_c(); @@ -17,10 +25,12 @@ public: int getSwBit() { return fopAcM_GetParamBit(this, 0, 8) & 0xFF; } +private: /* 0x574 */ mDoExt_brkAnm mBrk; /* 0x58C */ mDoExt_btkAnm mBtk; /* 0x5A4 */ J3DModel* mpModel; /* 0x5A8 */ u8 mSwitch; }; +STATIC_ASSERT(sizeof(daObjRCircle_c) == 0x5AC); #endif /* D_A_OBJ_RCIRCLE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h b/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h index 527881f5ad..837a6940bf 100644 --- a/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h +++ b/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h @@ -1,6 +1,47 @@ #ifndef D_A_OBJ_RFHOLE_H #define D_A_OBJ_RFHOLE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daRfHole_c + * @brief (Kakariko?) Roof Hole + * + * @details + * + */ +class daRfHole_c : public fopAc_ac_c { +public: + /* 80CB8F04 */ void setBaseMtx(); + /* 80CB8F8C */ void CreateHeap(); + /* 80CB8FF8 */ void create(); + /* 80CB9148 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 80CB9194 */ void playerAreaCheck(); + /* 80CB940C */ void Execute(f32 (**)[3][4]); + /* 80CB9464 */ void holeProc(); + /* 80CB9520 */ void init_modeWait(); + /* 80CB952C */ void modeWait(); + /* 80CB9558 */ void init_modeBreak(); + /* 80CB96AC */ void modeBreak(); + /* 80CB96CC */ void init_modeBreakEff(); + /* 80CB971C */ void modeBreakEff(); + /* 80CB973C */ void init_modeEnd(); + /* 80CB9748 */ void modeEnd(); + /* 80CB9768 */ void setBreakEffect(); + /* 80CB9878 */ void Draw(); + /* 80CB991C */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5b4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daRfHole_c) == 0x5b4); + +class daRfHole_HIO_c { +public: + /* 80CB8E6C */ daRfHole_HIO_c(); + /* 80CB99D8 */ ~daRfHole_HIO_c(); +}; + #endif /* D_A_OBJ_RFHOLE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h b/include/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h index 1c6535e6f3..930c15a535 100644 --- a/include/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h +++ b/include/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h @@ -5,6 +5,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/cc/d_cc_d.h" +/** + * @ingroup actors-objects + * @class daObjRgate_c + * @brief Rider Gate + * + * @details + * + */ class daObjRgate_c : public dBgS_MoveBgActor { public: /* 80CB9DF8 */ void initBaseMtx(); @@ -76,5 +84,6 @@ public: /* 0xC00 */ Mtx field_0xc00; /* 0xC30 */ Mtx field_0xc30; }; +STATIC_ASSERT(sizeof(daObjRgate_c) == 0xC60); #endif /* D_A_OBJ_RGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h b/include/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h index 69675110c9..07cde0c0ee 100644 --- a/include/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h +++ b/include/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h @@ -1,5 +1,46 @@ #ifndef D_A_OBJ_RIVERROCK_H #define D_A_OBJ_RIVERROCK_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjRIVERROCK_c + * @brief (Zora?) River Rock + * + * @details + * + */ +class daObjRIVERROCK_c : public fopAc_ac_c { +public: + /* 80CBC6F4 */ void initCcCylinder(); + /* 80CBC754 */ void SetCcCyl(); + /* 80CBC7F8 */ void BreakWaitAction(); + /* 80CBC8BC */ void CheckBG(); + /* 80CBCC3C */ void BreakMoveAction(); + /* 80CBCCC0 */ void BrokenAction(); + /* 80CBCD94 */ void BreakAction(); + /* 80CBCDE8 */ void Action(); + /* 80CBCE2C */ void BreakSet(); + /* 80CBD1C4 */ void WaitAction(); + /* 80CBD204 */ void setBaseMtx(); + /* 80CBD348 */ void CreateHeap(); + /* 80CBD3C0 */ void create(); + /* 80CBD7B4 */ void Create(); + /* 80CBD814 */ void Execute(f32 (**)[3][4]); + /* 80CBD8E0 */ void Draw(); + /* 80CBD964 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x79c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjRIVERROCK_c) == 0x79c); + +class daObjRIVERROCK_HIO_c { +public: + /* 80CBC6CC */ daObjRIVERROCK_HIO_c(); + /* 80CBD9C4 */ ~daObjRIVERROCK_HIO_c(); +}; + #endif /* D_A_OBJ_RIVERROCK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h b/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h index 47e2909b34..36a2d8be37 100644 --- a/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h +++ b/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h @@ -5,8 +5,6 @@ #include "d/cc/d_cc_d.h" #include "f_op/f_op_actor.h" -class J3DModel; - struct rock_ss { /* 80CBE5A4 */ ~rock_ss(); /* 80CBE678 */ rock_ss(); @@ -22,6 +20,14 @@ struct rock_ss { STATIC_ASSERT(sizeof(rock_ss) == 0x160); +/** + * @ingroup actors-objects + * @class obj_rock_class + * @brief Rock + * + * @details + * + */ class obj_rock_class : public fopAc_ac_c { public: /* 0x568 */ request_of_phase_process_class mPhaseReq; @@ -34,7 +40,7 @@ public: /* 0x1B7C */ dCcD_Stts mStts; /* 0x1BB8 */ u8 field_0x1bb8; // Unused? /* 0x1BB9 */ bool mInitialized; -}; // Size: 0x1BBC +}; STATIC_ASSERT(sizeof(obj_rock_class) == 0x1BBC); diff --git a/include/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h b/include/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h index fbe015e46b..ffe3123edf 100644 --- a/include/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h +++ b/include/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h @@ -1,5 +1,46 @@ #ifndef D_A_OBJ_ROPE_BRIDGE_H #define D_A_OBJ_ROPE_BRIDGE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjRBridge_c + * @brief Small / Big Rope Bridge + * + * @details + * + */ +class daObjRBridge_c : public fopAc_ac_c { +public: + /* 80595E38 */ void initBaseMtx(); + /* 80595ED8 */ void setBaseMtx(); + /* 80595F84 */ void checkE3Special(); + /* 80595FE0 */ void setStPos(); + /* 8059616C */ void initLinePos(); + /* 805963C4 */ void setLinePos(); + /* 80596768 */ void getLinePosSt(cXyz*); + /* 805967E4 */ void getLinePosBrg(int, cXyz*); + /* 8059689C */ void checkTight(); + /* 805969FC */ void Create(); + /* 80596B88 */ void CreateHeap(); + /* 80596DEC */ void create1st(); + /* 80596EBC */ void Execute(f32 (**)[3][4]); + /* 80596FA8 */ void action(); + /* 8059715C */ void init_wait(); + /* 80597170 */ void mode_wait(); + /* 805973BC */ void init_cut(); + /* 805973E4 */ void mode_cut(); + /* 805975E8 */ void init_end(); + /* 805975F4 */ void mode_end(); + /* 805975F8 */ void Draw(); + /* 805977D0 */ void checkHimoCulling(); + /* 805978BC */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0xb6c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjRBridge_c) == 0xb6c); + #endif /* D_A_OBJ_ROPE_BRIDGE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_rotBridge/d_a_obj_rotBridge.h b/include/rel/d/a/obj/d_a_obj_rotBridge/d_a_obj_rotBridge.h index 73bf47fe83..b144e44a7d 100644 --- a/include/rel/d/a/obj/d_a_obj_rotBridge/d_a_obj_rotBridge.h +++ b/include/rel/d/a/obj/d_a_obj_rotBridge/d_a_obj_rotBridge.h @@ -1,6 +1,38 @@ #ifndef D_A_OBJ_ROTBRIDGE_H #define D_A_OBJ_ROTBRIDGE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daRotBridge_c + * @brief Rotating Bridge + * + * @details + * + */ +class daRotBridge_c : public fopAc_ac_c { +public: + /* 80CBEA24 */ void setBaseMtx(); + /* 80CBEB38 */ void CreateHeap(); + /* 80CBECBC */ void create(); + /* 80CBEF1C */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 80CBEF34 */ void Execute(f32 (**)[3][4]); + /* 80CBF050 */ void playerAreaCheck(); + /* 80CBF1EC */ void moveBridge(); + /* 80CBF404 */ void Draw(); + /* 80CBF4BC */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x610 - 0x568]; +}; +STATIC_ASSERT(sizeof(daRotBridge_c) == 0x610); + +class daRotBridge_HIO_c { +public: + /* 80CBE98C */ daRotBridge_HIO_c(); + /* 80CBF5BC */ ~daRotBridge_HIO_c(); +}; + #endif /* D_A_OBJ_ROTBRIDGE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_rotTrap/d_a_obj_rotTrap.h b/include/rel/d/a/obj/d_a_obj_rotTrap/d_a_obj_rotTrap.h index 4d22518218..235d4d0089 100644 --- a/include/rel/d/a/obj/d_a_obj_rotTrap/d_a_obj_rotTrap.h +++ b/include/rel/d/a/obj/d_a_obj_rotTrap/d_a_obj_rotTrap.h @@ -1,6 +1,46 @@ #ifndef D_A_OBJ_ROTTRAP_H #define D_A_OBJ_ROTTRAP_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daRotTrap_c + * @brief Rotating Skull Trap + * + * @details + * + */ +class daRotTrap_c : public fopAc_ac_c { +public: + /* 80CBF940 */ void setBaseMtx(); + /* 80CBF9D8 */ void CreateHeap(); + /* 80CBFAC8 */ void create(); + /* 80CBFEC4 */ void Execute(f32 (**)[3][4]); + /* 80CBFF1C */ void procMain(); + /* 80CC00AC */ void init_modeWait(); + /* 80CC0120 */ void modeWait(); + /* 80CC0180 */ void init_modeAcc(); + /* 80CC027C */ void modeAcc(); + /* 80CC034C */ void init_modeMove(); + /* 80CC0360 */ void modeMove(); + /* 80CC0440 */ void seSet(); + /* 80CC0548 */ void Draw(); + /* 80CC05EC */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x173c - 0x568]; +}; +STATIC_ASSERT(sizeof(daRotTrap_c) == 0x173c); + +class daRotTrap_HIO_c { +public: + /* 80CBF8AC */ daRotTrap_HIO_c(); + /* 80CC0728 */ ~daRotTrap_HIO_c(); +}; + #endif /* D_A_OBJ_ROTTRAP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_roten/d_a_obj_roten.h b/include/rel/d/a/obj/d_a_obj_roten/d_a_obj_roten.h index b1ec30c416..43c552f011 100644 --- a/include/rel/d/a/obj/d_a_obj_roten/d_a_obj_roten.h +++ b/include/rel/d/a/obj/d_a_obj_roten/d_a_obj_roten.h @@ -1,6 +1,33 @@ #ifndef D_A_OBJ_ROTEN_H #define D_A_OBJ_ROTEN_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_Roten_c + * @brief Goron Child Stall + * + * @details + * + */ +class daObj_Roten_c : public fopAc_ac_c { +public: + /* 80CC0B58 */ void initBaseMtx(); + /* 80CC0B94 */ void setBaseMtx(); + /* 80CC0C20 */ void Create(); + /* 80CC0EC4 */ void CreateHeap(); + /* 80CC0F40 */ void create(); + /* 80CC1038 */ void Execute(f32 (**)[3][4]); + /* 80CC1138 */ void Draw(); + /* 80CC1254 */ void Delete(); + /* 80CC12E4 */ void getResName(); + /* 80CC1388 */ ~daObj_Roten_c(); + +private: + /* 0x568 */ u8 field_0x568[0x5c8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_Roten_c) == 0x5c8); + #endif /* D_A_OBJ_ROTEN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_rstair/d_a_obj_rstair.h b/include/rel/d/a/obj/d_a_obj_rstair/d_a_obj_rstair.h index 22faeef4b4..7d5ef5bc2a 100644 --- a/include/rel/d/a/obj/d_a_obj_rstair/d_a_obj_rstair.h +++ b/include/rel/d/a/obj/d_a_obj_rstair/d_a_obj_rstair.h @@ -1,6 +1,45 @@ #ifndef D_A_OBJ_RSTAIR_H #define D_A_OBJ_RSTAIR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjRotStair_c + * @brief Rail Staircase + * + * @details + * + */ +class daObjRotStair_c : public fopAc_ac_c { +public: + /* 80CC1558 */ void initBaseMtx(); + /* 80CC1614 */ void setBaseMtx(); + /* 80CC16B0 */ void Create(); + /* 80CC17F0 */ void CreateHeap(); + /* 80CC1A28 */ void create1st(); + /* 80CC1AF0 */ void Execute(f32 (**)[3][4]); + /* 80CC1BA4 */ void move_proc_call(); + /* 80CC1C30 */ void init_modeWait(); + /* 80CC1CF0 */ void modeWait(); + /* 80CC1DF8 */ void init_modeRotate(); + /* 80CC1EC8 */ void modeRotate(); + /* 80CC2024 */ void event_proc_call(); + /* 80CC20E0 */ void actionWait(); + /* 80CC2158 */ void actionOrderEvent(); + /* 80CC21C0 */ void actionEvent(); + /* 80CC221C */ void actionDead(); + /* 80CC2220 */ void checkChangeSw(); + /* 80CC22A0 */ void offSwitch(int); + /* 80CC2310 */ void onWaterModel(); + /* 80CC2364 */ void offWaterModel(); + /* 80CC23C4 */ void Draw(); + /* 80CC25C0 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5e4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjRotStair_c) == 0x5e4); + #endif /* D_A_OBJ_RSTAIR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h b/include/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h index 34b7c01001..d3d7c5a5e8 100644 --- a/include/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h +++ b/include/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h @@ -1,5 +1,33 @@ #ifndef D_A_OBJ_RW_H #define D_A_OBJ_RW_H +#include "f_op/f_op_actor_mng.h" +#include "d/cc/d_cc_d.h" + +/** + * @ingroup actors-objects + * @class obj_rw_class + * @brief Wild Boar Roast + * + * @details + * + */ +class obj_rw_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0xe3c - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_rw_class) == 0xe3c); + +struct daObj { +public: + /* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32); +}; + +class daOBJ_RW_HIO_c { +public: + /* 80CC298C */ daOBJ_RW_HIO_c(); + /* 80CC3A5C */ ~daOBJ_RW_HIO_c(); +}; + #endif /* D_A_OBJ_RW_H */ diff --git a/include/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h b/include/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h index 645e840ccb..ba8be22c8c 100644 --- a/include/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h +++ b/include/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h @@ -1,6 +1,44 @@ #ifndef D_A_OBJ_SWALLSHUTTER_H #define D_A_OBJ_SWALLSHUTTER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daSwShutter_c + * @brief Rider Gate + * + * @details + * + */ +class daSwShutter_c : public fopAc_ac_c { +public: + /* 805982A4 */ void setBaseMtx(); + /* 80598344 */ void CreateHeap(); + /* 805983C4 */ void create(); + /* 80598564 */ void Execute(f32 (**)[3][4]); + /* 805985B4 */ void moveMain(); + /* 8059873C */ void init_modeWait(); + /* 80598748 */ void modeWait(); + /* 8059879C */ void init_modeMoveDownInit(); + /* 805989D0 */ void modeMoveDownInit(); + /* 80598A04 */ void init_modeMoveDown(); + /* 80598AFC */ void modeMoveDown(); + /* 80598D4C */ void init_modeMoveDownEnd(); + /* 80598D58 */ void modeMoveDownEnd(); + /* 80598D5C */ void Draw(); + /* 80598E00 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5e8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daSwShutter_c) == 0x5e8); + +class daSwShutter_HIO_c { +public: + /* 805981EC */ daSwShutter_HIO_c(); + /* 80598ECC */ ~daSwShutter_HIO_c(); +}; + #endif /* D_A_OBJ_SWALLSHUTTER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_saidan/d_a_obj_saidan.h b/include/rel/d/a/obj/d_a_obj_saidan/d_a_obj_saidan.h index d326f1673f..a5547272a6 100644 --- a/include/rel/d/a/obj/d_a_obj_saidan/d_a_obj_saidan.h +++ b/include/rel/d/a/obj/d_a_obj_saidan/d_a_obj_saidan.h @@ -5,6 +5,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "m_Do/m_Do_hostIO.h" +/** + * @ingroup actors-objects + * @class daSaidan_c + * @brief Altar + * + * @details + * + */ class daSaidan_c : public dBgS_MoveBgActor { public: enum Mode_e { @@ -27,12 +35,13 @@ public: /* 80CC4318 */ virtual int Draw(); /* 80CC43BC */ virtual int Delete(); +private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ u8 mMode; /* 0x5AD */ u8 mIsSwitch; /* 0x5B0 */ f32 mOriginalPosX; -}; // Size: 0x5B4 +}; STATIC_ASSERT(sizeof(daSaidan_c) == 0x5B4); diff --git a/include/rel/d/a/obj/d_a_obj_sakuita/d_a_obj_sakuita.h b/include/rel/d/a/obj/d_a_obj_sakuita/d_a_obj_sakuita.h index b87c5ebeb0..4d4503ca6b 100644 --- a/include/rel/d/a/obj/d_a_obj_sakuita/d_a_obj_sakuita.h +++ b/include/rel/d/a/obj/d_a_obj_sakuita/d_a_obj_sakuita.h @@ -1,6 +1,31 @@ #ifndef D_A_OBJ_SAKUITA_H #define D_A_OBJ_SAKUITA_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSakuita_c + * @brief Rope Plank + * + * @details + * + */ +class daObjSakuita_c : public fopAc_ac_c { +public: + /* 80CC46F8 */ void create_init(); + /* 80CC47F8 */ void initBaseMtx(); + /* 80CC4818 */ void setBaseMtx(); + /* 80CC489C */ void setPlatePos(); + /* 80CC4A98 */ void calcAngle(); + /* 80CC4C9C */ ~daObjSakuita_c(); + + static u8 const M_attr[44]; + +private: + /* 0x568 */ u8 field_0x568[0x750 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSakuita_c) == 0x750); + #endif /* D_A_OBJ_SAKUITA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_sakuita_rope/d_a_obj_sakuita_rope.h b/include/rel/d/a/obj/d_a_obj_sakuita_rope/d_a_obj_sakuita_rope.h index ba00b09144..3746176d51 100644 --- a/include/rel/d/a/obj/d_a_obj_sakuita_rope/d_a_obj_sakuita_rope.h +++ b/include/rel/d/a/obj/d_a_obj_sakuita_rope/d_a_obj_sakuita_rope.h @@ -1,6 +1,50 @@ #ifndef D_A_OBJ_SAKUITA_ROPE_H #define D_A_OBJ_SAKUITA_ROPE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjItaRope_c + * @brief Rope Banner Fence + * + * @details + * + */ +class daObjItaRope_c : public fopAc_ac_c { +public: + /* 80CC57E4 */ void create_init(); + /* 80CC5E48 */ void initBaseMtx(); + /* 80CC5E7C */ void setBaseMtx(); + /* 80CC5ECC */ void setNormalRopePos(); + + static u8 const M_attr[20]; + +private: + /* 0x568 */ u8 field_0x568[0x638 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjItaRope_c) == 0x638); + +class Sakuita_c { +public: + /* 80CC5238 */ void setModelData(J3DModelData*); + /* 80CC527C */ void create(cXyz*, s16, s8); + /* 80CC5314 */ void execute(cXyz*, s16); + /* 80CC5354 */ void draw(); + /* 80CC5390 */ void initBaseMtx(); + /* 80CC53B0 */ void setBaseMtx(); + /* 80CC5444 */ void setPlatePos(cXyz*); + /* 80CC5720 */ void calcAngle(); + /* 80CC63E4 */ ~Sakuita_c(); + /* 80CC6420 */ Sakuita_c(); +}; + +class RopeWork_c { +public: + /* 80CC6424 */ ~RopeWork_c(); + /* 80CC6460 */ RopeWork_c(); +}; + + #endif /* D_A_OBJ_SAKUITA_ROPE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_scannon/d_a_obj_scannon.h b/include/rel/d/a/obj/d_a_obj_scannon/d_a_obj_scannon.h index 412b6ad40a..cae0c3136e 100644 --- a/include/rel/d/a/obj/d_a_obj_scannon/d_a_obj_scannon.h +++ b/include/rel/d/a/obj/d_a_obj_scannon/d_a_obj_scannon.h @@ -1,6 +1,69 @@ #ifndef D_A_OBJ_SCANNON_H #define D_A_OBJ_SCANNON_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daSCannon_c + * @brief Sky Cannon (City in the Sky) + * + * @details + * + */ +class daSCannon_c : public fopAc_ac_c { +public: + /* 80CC6B0C */ daSCannon_c(); + /* 80CC6C10 */ ~daSCannon_c(); + /* 80CC6D10 */ void create(); + /* 80CC7204 */ void execute(); + /* 80CC7228 */ void draw(); + /* 80CC747C */ void Delete(); + /* 80CC7508 */ void setModelMtx(); + /* 80CC7578 */ void setPtlModelMtx(); + /* 80CC7608 */ void createHeap(); + /* 80CC7970 */ void middleExe(); + /* 80CC7A10 */ void orderEvtInit(); + /* 80CC7AB8 */ void exeModeWait(); + /* 80CC7C48 */ void exeModeOrderEvt(); + /* 80CC7D14 */ void exeModeActionEvt(); + /* 80CC7EBC */ void exeModeEnd(); + /* 80CC7EC0 */ void demoExe(); + /* 80CC7FAC */ void demoModeInit(int); + /* 80CC8044 */ void demoInitLinkIn(); + /* 80CC8048 */ void demoExeLinkIn(); + /* 80CC8108 */ void demoInitSet(); + /* 80CC81DC */ void demoExeSet(); + /* 80CC8274 */ void demoInitMove(); + /* 80CC8278 */ void demoExeMove(); + /* 80CC8378 */ void demoInitFire(); + /* 80CC83CC */ void demoExeFire(); + /* 80CC8430 */ void demoInitFinish(); + /* 80CC8538 */ void demoExeFinish(); + /* 80CC8648 */ void demoInitWarpEndWait(); + /* 80CC8714 */ void demoExeWarpEndWait(); + /* 80CC8804 */ void demoInitWarpEndMove(); + /* 80CC8818 */ void demoExeWarpEndMove(); + /* 80CC88A8 */ void changeScene(); + /* 80CC8998 */ void init(); + /* 80CC8A30 */ void initEmtRt(u16, int, u16 const*, JPABaseEmitter**); + /* 80CC8B60 */ void exeEmtRt(u16, int, JPABaseEmitter**); + /* 80CC8BF4 */ void initEmtLine(); + /* 80CC8CDC */ void exeEmtLine(); + /* 80CC8DA0 */ void delEmtAll(); + /* 80CC8DDC */ void setCannonRepair(); + + static void* const s_demoTable[12]; + static u8 s_exeProc[48]; + static u8 s_demoExeProc_WarpEnd[48]; + static u8 s_demoExeProc_FireTks[72]; + static u8 s_demoExeProc_FireFirst[24]; + static u8 s_demoExeProc_FireSecond[96]; + +private: + /* 0x568 */ u8 field_0x568[0x638 - 0x568]; +}; +STATIC_ASSERT(sizeof(daSCannon_c) == 0x638); + #endif /* D_A_OBJ_SCANNON_H */ diff --git a/include/rel/d/a/obj/d_a_obj_scannon_crs/d_a_obj_scannon_crs.h b/include/rel/d/a/obj/d_a_obj_scannon_crs/d_a_obj_scannon_crs.h index ea3f410c74..ce5a46d3ce 100644 --- a/include/rel/d/a/obj/d_a_obj_scannon_crs/d_a_obj_scannon_crs.h +++ b/include/rel/d/a/obj/d_a_obj_scannon_crs/d_a_obj_scannon_crs.h @@ -1,6 +1,45 @@ #ifndef D_A_OBJ_SCANNON_CRS_H #define D_A_OBJ_SCANNON_CRS_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "rel/d/a/d_a_midna/d_a_midna.h" + +/** + * @ingroup actors-objects + * @class daSCannonCrs_c + * @brief Sky Cannon (Broken) + * + * @details + * + */ +class daSCannonCrs_c : public fopAc_ac_c { +public: + /* 80CC973C */ daSCannonCrs_c(); + /* 80CC983C */ ~daSCannonCrs_c(); + /* 80CC9910 */ void create(); + /* 80CC9B10 */ void Delete(); + /* 80CC9B80 */ void draw(); + /* 80CC9C64 */ void execute(); + /* 80CC9CA4 */ void middleExe(daMidna_c*); + /* 80CC9D60 */ void exeModeWait(daMidna_c*); + /* 80CC9F34 */ void exeModePreWait(daMidna_c*); + /* 80CC9F80 */ void exeModeOrderEvt(daMidna_c*); + /* 80CCA240 */ void exeModeTalkEvt(daMidna_c*); + /* 80CCA2CC */ void exeModeWarpEvt(daMidna_c*); + /* 80CCA344 */ void exeModeEnd(daMidna_c*); + /* 80CCA348 */ void demoExe(); + /* 80CCA74C */ void init(); + /* 80CCA848 */ void setModelMtx(); + /* 80CCA8CC */ void createHeap(); + /* 80CCAAC4 */ void chkInTalkRange(); + /* 80CCAB24 */ void initEmtRt(u16, int, u16 const*, JPABaseEmitter**); + /* 80CCAC48 */ void exeEmtRt(u16, int, JPABaseEmitter**); + /* 80CCACD0 */ void callMidnaBeamEmt(); + + static u8 s_exeProc[72]; +private: + /* 0x568 */ u8 field_0x568[0x674 - 0x568]; +}; +STATIC_ASSERT(sizeof(daSCannonCrs_c) == 0x674); #endif /* D_A_OBJ_SCANNON_CRS_H */ diff --git a/include/rel/d/a/obj/d_a_obj_scannon_ten/d_a_obj_scannon_ten.h b/include/rel/d/a/obj/d_a_obj_scannon_ten/d_a_obj_scannon_ten.h index 704e322d91..366040d345 100644 --- a/include/rel/d/a/obj/d_a_obj_scannon_ten/d_a_obj_scannon_ten.h +++ b/include/rel/d/a/obj/d_a_obj_scannon_ten/d_a_obj_scannon_ten.h @@ -1,6 +1,60 @@ #ifndef D_A_OBJ_SCANNON_TEN_H #define D_A_OBJ_SCANNON_TEN_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSCannonTen_c + * @brief Sky Cannon (Lake Hylia, Fixed) + * + * @details + * + */ +class daObjSCannonTen_c : public fopAc_ac_c { +public: + /* 80CCB364 */ daObjSCannonTen_c(); + /* 80CCB43C */ ~daObjSCannonTen_c(); + /* 80CCB4EC */ void createHeap(); + /* 80CCB66C */ void create(); + /* 80CCB9E0 */ void Delete(); + /* 80CCBA58 */ void draw(); + /* 80CCBB6C */ void execute(); + /* 80CCBB90 */ void middleExe(); + /* 80CCBC08 */ void exeModeWait(); + /* 80CCBCB0 */ void exeModeOrderEvt(); + /* 80CCBD4C */ void exeModeActionEvt(); + /* 80CCBDCC */ void exeModeEnd(); + /* 80CCBDD0 */ void demoExe(); + /* 80CCBE8C */ void demoModeInit(int); + /* 80CCBF00 */ void demoInitLinkIn(); + /* 80CCBF04 */ void demoExeLinkIn(); + /* 80CCBFC4 */ void demoInitSet(); + /* 80CCC088 */ void demoExeSet(); + /* 80CCC114 */ void demoInitMove(); + /* 80CCC118 */ void demoExeMove(); + /* 80CCC20C */ void demoInitFire(); + /* 80CCC260 */ void demoExeFire(); + /* 80CCC2B8 */ void demoInitFireEnd(); + /* 80CCC37C */ void demoExeFireEnd(); + /* 80CCC3D4 */ void demoInitFinish(); + /* 80CCC498 */ void demoExeFinish(); + /* 80CCC528 */ void init(); + /* 80CCC53C */ void setModelMtx(); + /* 80CCC5A0 */ void changeScene(); + /* 80CCC628 */ void initEmtSmoke(); + /* 80CCC74C */ void exeEmtSmoke(); + /* 80CCC7D0 */ void initEmtLine(); + /* 80CCC8B8 */ void exeEmtLine(); + /* 80CCC97C */ void delEmtAll(); + + static u8 s_exeProc[48]; + static u8 s_demoExeProc[144]; + +private: + /* 0x568 */ u8 field_0x568[0x604 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSCannonTen_c) == 0x604); + #endif /* D_A_OBJ_SCANNON_TEN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_sekidoor/d_a_obj_sekidoor.h b/include/rel/d/a/obj/d_a_obj_sekidoor/d_a_obj_sekidoor.h index 240920572b..15a4784b97 100644 --- a/include/rel/d/a/obj/d_a_obj_sekidoor/d_a_obj_sekidoor.h +++ b/include/rel/d/a/obj/d_a_obj_sekidoor/d_a_obj_sekidoor.h @@ -1,6 +1,40 @@ #ifndef D_A_OBJ_SEKIDOOR_H #define D_A_OBJ_SEKIDOOR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_SekiDoor_c + * @brief Stone Door + * + * @details + * + */ +class daObj_SekiDoor_c : public fopAc_ac_c { +public: + /* 80CCD02C */ void create(); + /* 80CCD154 */ void CreateHeap(); + /* 80CCD1F0 */ void Create(); + /* 80CCD23C */ void Delete(); + /* 80CCD290 */ void Execute(f32 (**)[3][4]); + /* 80CCD538 */ void Draw(); + /* 80CCD5DC */ void evtSkip(); + /* 80CCD64C */ void setPrtcls(); + /* 80CCD810 */ void initBaseMtx(); + /* 80CCD84C */ void setBaseMtx(); + +private: + /* 0x568 */ u8 field_0x568[0x5d8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_SekiDoor_c) == 0x5d8); + +class daObj_SekiDoor_Param_c { +public: + /* 80CCD9AC */ ~daObj_SekiDoor_Param_c(); + + static u8 const m[1 + 3 /* padding */]; +}; + #endif /* D_A_OBJ_SEKIDOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h b/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h index 5b90f27da2..2d61588898 100644 --- a/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h +++ b/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObj_Sekizo_c + * @brief Stone Statue + * + * @details + * + */ class daObj_Sekizo_c : public dBgS_MoveBgActor { public: /* 80CCDC0C */ cPhs__Step create(); @@ -16,15 +24,14 @@ public: /* 80CCDFA4 */ void initBaseMtx(); /* 80CCDFE0 */ void setBaseMtx(); +private: /* 0x5A0 */ u32 field_0x5a0; - /* 0x5A4 */ request_of_phase_process_class mPhaseReq; - /* 0x5AC */ J3DModel* mpModel; /* 0x5B0 */ u8 field_0x5b0; /* 0x5B1 */ bool field_0x5b1; /* 0x5B2 */ bool field_0x5b2; -}; // Size: 0x5B4 +}; STATIC_ASSERT(sizeof(daObj_Sekizo_c) == 0x5B4); diff --git a/include/rel/d/a/obj/d_a_obj_sekizoa/d_a_obj_sekizoa.h b/include/rel/d/a/obj/d_a_obj_sekizoa/d_a_obj_sekizoa.h index 616fb2271a..c817c85b1e 100644 --- a/include/rel/d/a/obj/d_a_obj_sekizoa/d_a_obj_sekizoa.h +++ b/include/rel/d/a/obj/d_a_obj_sekizoa/d_a_obj_sekizoa.h @@ -3,6 +3,14 @@ #include "d/a/d_a_npc.h" +/** + * @ingroup actors-objects + * @class daObj_Sekizoa_c + * @brief Stone Guardian Statue(s) + * + * @details + * + */ class daObj_Sekizoa_c : public daNpcT_c { public: /* 80CCE34C */ ~daObj_Sekizoa_c(); diff --git a/include/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h b/include/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h index 68bdcaf901..91d4b25648 100644 --- a/include/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h +++ b/include/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h @@ -1,5 +1,44 @@ #ifndef D_A_OBJ_SHIELD_H #define D_A_OBJ_SHIELD_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daItemShield_c + * @brief Ordon Shield + * + * @details + * + */ +class daItemShield_c : public fopAc_ac_c { +public: + /* 80CD6D9C */ void initBaseMtx(); + /* 80CD6DD8 */ void setBaseMtx(); + /* 80CD7094 */ void Create(); + /* 80CD724C */ bool __CreateHeap(); + /* 80CD7254 */ void create(); + /* 80CD75EC */ void bg_check(); + /* 80CD7734 */ void action_proc_call(); + /* 80CD77F0 */ void actionInit(); + /* 80CD7828 */ void actionWaitInit(); + /* 80CD7890 */ void actionWait(); + /* 80CD7C68 */ void initActionOrderGetDemo(); + /* 80CD7D04 */ void actionOrderGetDemo(); + /* 80CD7D80 */ void actionGetDemo(); + /* 80CD7E00 */ void event_proc_call(); + /* 80CD7EBC */ void actionWaitCamDemo(); + /* 80CD7F20 */ void actionOrderCamDemo(); + /* 80CD7F88 */ void actionCamDemo(); + /* 80CD7FE4 */ void actionCamDemoEnd(); + /* 80CD7FE8 */ void execute(); + /* 80CD80EC */ void draw(); + /* 80CD8140 */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0x958 - 0x568]; +}; +STATIC_ASSERT(sizeof(daItemShield_c) == 0x958); + #endif /* D_A_OBJ_SHIELD_H */ diff --git a/include/rel/d/a/obj/d_a_obj_sm_door/d_a_obj_sm_door.h b/include/rel/d/a/obj/d_a_obj_sm_door/d_a_obj_sm_door.h index dedbd23bd7..c005bef8d0 100644 --- a/include/rel/d/a/obj/d_a_obj_sm_door/d_a_obj_sm_door.h +++ b/include/rel/d/a/obj/d_a_obj_sm_door/d_a_obj_sm_door.h @@ -1,6 +1,36 @@ #ifndef D_A_OBJ_SM_DOOR_H #define D_A_OBJ_SM_DOOR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSM_DOOR_c + * @brief Sacred Meadow Door + * + * @details + * + */ +class daObjSM_DOOR_c : public fopAc_ac_c { +public: + /* 80CD8784 */ void ChangeModel(); + /* 80CD8790 */ void Action(); + /* 80CD8A40 */ void SetDzb(); + /* 80CD8A90 */ void ReleaceDzb(); + /* 80CD8AF8 */ void DrawChk1(); + /* 80CD8BBC */ void DrawChk2(); + /* 80CD8C80 */ void setBaseMtx(); + /* 80CD8D4C */ void create(); + /* 80CD90A4 */ void CreateHeap(); + /* 80CD9258 */ void Create(); + /* 80CD929C */ void Execute(f32 (**)[3][4]); + /* 80CD930C */ void Draw(); + /* 80CD9544 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x858 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSM_DOOR_c) == 0x858); + #endif /* D_A_OBJ_SM_DOOR_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 0cc5c0d152..10659ca042 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 @@ -3,6 +3,14 @@ #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daKey_c + * @brief Small Key + * + * @details + * + */ class daKey_c : public fopAc_ac_c { /* 80CD9F2C */ void initBaseMtx(); /* 80CD9F68 */ void setBaseMtx(); diff --git a/include/rel/d/a/obj/d_a_obj_smgdoor/d_a_obj_smgdoor.h b/include/rel/d/a/obj/d_a_obj_smgdoor/d_a_obj_smgdoor.h index b9f9499303..ec693e651b 100644 --- a/include/rel/d/a/obj/d_a_obj_smgdoor/d_a_obj_smgdoor.h +++ b/include/rel/d/a/obj/d_a_obj_smgdoor/d_a_obj_smgdoor.h @@ -1,6 +1,44 @@ #ifndef D_A_OBJ_SMGDOOR_H #define D_A_OBJ_SMGDOOR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSmgDoor_c + * @brief Sacred Meadow Grove Door + * + * @details + * + */ +class daObjSmgDoor_c : public fopAc_ac_c { +public: + /* 80CDBB5C */ void initBaseMtx(); + /* 80CDBBEC */ void setBaseMtx(); + /* 80CDBD38 */ void Create(); + /* 80CDBE1C */ void CreateHeap(); + /* 80CDBED4 */ void create1st(); + /* 80CDBFA4 */ void Execute(f32 (**)[3][4]); + /* 80CDBFF0 */ void getDemoAction(); + /* 80CDC038 */ void demoProc(); + /* 80CDC248 */ void openInit(); + /* 80CDC378 */ void openProc(); + /* 80CDC4AC */ void setGoal(); + /* 80CDC548 */ void setPos(); + /* 80CDC610 */ void sceneChange(); + /* 80CDC65C */ void event_proc_call(); + /* 80CDC700 */ void actionWaitEvent(); + /* 80CDC790 */ void actionEvent(); + /* 80CDC7F4 */ void actionDead(); + /* 80CDC7F8 */ void checkArea(); + /* 80CDC974 */ void checkOpen(); + /* 80CDCA00 */ void Draw(); + /* 80CDCAC4 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5f4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSmgDoor_c) == 0x5f4); + #endif /* D_A_OBJ_SMGDOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h b/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h index a7446ef6f2..47ad280097 100644 --- a/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h +++ b/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjSmoke_c + * @brief Elde Inn Stove Smoke + * + * @details + * + */ class daObjSmoke_c : public fopAc_ac_c { public: u8 getSwbit() { @@ -16,7 +24,9 @@ public: /* 80CDD004 */ int execute(); /* 80CDD0B8 */ int _delete(); +private: /* 0x568 */ JPABaseEmitter* mParticle; }; +STATIC_ASSERT(sizeof(daObjSmoke_c) == 0x56C); #endif /* D_A_OBJ_SMOKE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_smtile/d_a_obj_smtile.h b/include/rel/d/a/obj/d_a_obj_smtile/d_a_obj_smtile.h index 7a2669d38d..5db6fac21b 100644 --- a/include/rel/d/a/obj/d_a_obj_smtile/d_a_obj_smtile.h +++ b/include/rel/d/a/obj/d_a_obj_smtile/d_a_obj_smtile.h @@ -1,6 +1,41 @@ #ifndef D_A_OBJ_SMTILE_H #define D_A_OBJ_SMTILE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_SMTile_c + * @brief Sacred Meadow Tile + * + * @details + * + */ +class daObj_SMTile_c : public fopAc_ac_c { +public: + /* 80CDD2AC */ ~daObj_SMTile_c(); + /* 80CDD3E8 */ void create(); + /* 80CDD5CC */ void CreateHeap(); + /* 80CDD6E8 */ void Delete(); + /* 80CDD71C */ void Execute(); + /* 80CDDA98 */ void Draw(); + /* 80CDDB28 */ void createHeapCallBack(fopAc_ac_c*); + /* 80CDDB48 */ void setDstPos(); + /* 80CDDD28 */ void setPrtcls(int, int); + /* 80CDDEFC */ void touchPrtcls(f32); + /* 80CDE1A8 */ void setMtx(); + +private: + /* 0x568 */ u8 field_0x568[0xb30 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_SMTile_c) == 0xb30); + +class daObj_SMTile_Param_c { +public: + /* 80CDE300 */ ~daObj_SMTile_Param_c(); + + static u8 const m[8]; +}; + #endif /* D_A_OBJ_SMTILE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h b/include/rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h index 164426b462..cc095333f0 100644 --- a/include/rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h +++ b/include/rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h @@ -1,7 +1,16 @@ #ifndef D_A_OBJ_SMW_STONE_H #define D_A_OBJ_SMW_STONE_H +#include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daSmWStone_c + * @brief Howling Stone + * + * @details + * + */ class daSmWStone_c : public fopAc_ac_c { public: /* 80CDE538 */ daSmWStone_c(); @@ -17,6 +26,10 @@ public: /* 80CDED9C */ void chkWlfInRange(); int getTuneId() { return 2; } + +private: + /* 0x568 */ u8 field_0x568[0x5c8 - 0x568]; }; +STATIC_ASSERT(sizeof(daSmWStone_c) == 0x5c8); #endif /* D_A_OBJ_SMW_STONE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_snowEffTag/d_a_obj_snowEffTag.h b/include/rel/d/a/obj/d_a_obj_snowEffTag/d_a_obj_snowEffTag.h index 532a37b465..99bcdc7648 100644 --- a/include/rel/d/a/obj/d_a_obj_snowEffTag/d_a_obj_snowEffTag.h +++ b/include/rel/d/a/obj/d_a_obj_snowEffTag/d_a_obj_snowEffTag.h @@ -4,6 +4,14 @@ #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_hostIO.h" +/** + * @ingroup actors-objects + * @class daSnowEffTag_c + * @brief Snow Effect Tag + * + * @details + * + */ class daSnowEffTag_c : public fopAc_ac_c { public: /* 80CDF12C */ void setBaseMtx(); @@ -15,6 +23,7 @@ public: int getArg0() { return fopAcM_GetParamBit(this, 0, 8); } +private: /* 0x568 */ u8 field_0x568; /* 0x569 */ bool mPlayedSound; /* 0x56C */ f32 mMaxSize; @@ -22,6 +31,7 @@ public: /* 0x574 */ f32 field_0x574; /* 0x578 */ u32 mEmitterID; }; +STATIC_ASSERT(sizeof(daSnowEffTag_c) == 0x57C); class daSnowEffTag_HIO_c : public mDoHIO_entry_c { public: diff --git a/include/rel/d/a/obj/d_a_obj_snow_soup/d_a_obj_snow_soup.h b/include/rel/d/a/obj/d_a_obj_snow_soup/d_a_obj_snow_soup.h index c724499882..3def55736b 100644 --- a/include/rel/d/a/obj/d_a_obj_snow_soup/d_a_obj_snow_soup.h +++ b/include/rel/d/a/obj/d_a_obj_snow_soup/d_a_obj_snow_soup.h @@ -4,6 +4,14 @@ #include "SSystem/SComponent/c_phase.h" #include "f_op/f_op_actor.h" +/** + * @ingroup actors-objects + * @class daObjSnowSoup_c + * @brief Snowpeak Ruins Soup Pot? + * + * @details + * + */ class daObjSnowSoup_c : public fopAc_ac_c, public request_of_phase_process_class { public: /* 80CDF878 */ daObjSnowSoup_c(); @@ -20,6 +28,7 @@ public: /* 80CE003C */ void createSmkEmtChange(int); /* 80CE0134 */ void deleteSmkEmtChange(int); +private: /* 0x574 */ cXyz mFirewoodPos; /* 0x580 */ cXyz mBubblePos; /* 0x58C */ JPABaseEmitter* mpSmkEmtCommon[4]; diff --git a/include/rel/d/a/obj/d_a_obj_so/d_a_obj_so.h b/include/rel/d/a/obj/d_a_obj_so/d_a_obj_so.h index a93ee2b9f6..15f62ceb6f 100644 --- a/include/rel/d/a/obj/d_a_obj_so/d_a_obj_so.h +++ b/include/rel/d/a/obj/d_a_obj_so/d_a_obj_so.h @@ -1,5 +1,27 @@ #ifndef D_A_OBJ_SO_H #define D_A_OBJ_SO_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_so_class + * @brief Monkey Cage + * + * @details + * + */ +class obj_so_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x1bd0 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_so_class) == 0x1bd0); + +class daObj_So_HIO_c { +public: + /* 80CE03CC */ daObj_So_HIO_c(); + /* 80CE3928 */ ~daObj_So_HIO_c(); +}; + #endif /* D_A_OBJ_SO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_spinLift/d_a_obj_spinLift.h b/include/rel/d/a/obj/d_a_obj_spinLift/d_a_obj_spinLift.h index abb5b3f8af..37557c3859 100644 --- a/include/rel/d/a/obj/d_a_obj_spinLift/d_a_obj_spinLift.h +++ b/include/rel/d/a/obj/d_a_obj_spinLift/d_a_obj_spinLift.h @@ -1,6 +1,44 @@ #ifndef D_A_OBJ_SPINLIFT_H #define D_A_OBJ_SPINLIFT_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daSpinLift_c + * @brief Spinner Lift + * + * @details + * + */ +class daSpinLift_c : public fopAc_ac_c { +public: + /* 80CE3E2C */ void setBaseMtx(); + /* 80CE3E9C */ void CreateHeap(); + /* 80CE3F1C */ void create(); + /* 80CE40FC */ void Execute(f32 (**)[3][4]); + /* 80CE414C */ void moveLift(); + /* 80CE4290 */ void init_modeWait(); + /* 80CE429C */ void modeWait(); + /* 80CE42A0 */ void init_modeUpMove(); + /* 80CE42C4 */ void modeUpMove(); + /* 80CE468C */ void init_modeDownMove(); + /* 80CE4698 */ void modeDownMove(); + /* 80CE4790 */ void init_modeMoveEnd(); + /* 80CE4A9C */ void modeMoveEnd(); + /* 80CE4AA0 */ void Draw(); + /* 80CE4B44 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5c0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daSpinLift_c) == 0x5c0); + +class daSpinLift_HIO_c { +public: + /* 80CE3DAC */ daSpinLift_HIO_c(); + /* 80CE4C10 */ ~daSpinLift_HIO_c(); +}; + #endif /* D_A_OBJ_SPINLIFT_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ss_drink/d_a_obj_ss_drink.h b/include/rel/d/a/obj/d_a_obj_ss_drink/d_a_obj_ss_drink.h index 9c463ea8f9..d291050667 100644 --- a/include/rel/d/a/obj/d_a_obj_ss_drink/d_a_obj_ss_drink.h +++ b/include/rel/d/a/obj/d_a_obj_ss_drink/d_a_obj_ss_drink.h @@ -1,6 +1,56 @@ #ifndef D_A_OBJ_SS_DRINK_H #define D_A_OBJ_SS_DRINK_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_SSDrink_c + * @brief ??? + * + * @details + * + */ +class daObj_SSDrink_c : public fopAc_ac_c { +public: + /* 80CE4F78 */ ~daObj_SSDrink_c(); + /* 80CE51C8 */ void create(); + /* 80CE53EC */ void CreateHeap(); + /* 80CE55F0 */ void Delete(); + /* 80CE5624 */ void Execute(); + /* 80CE5858 */ void Draw(); + /* 80CE59DC */ void createHeapCallBack(fopAc_ac_c*); + /* 80CE59FC */ void setSoldOut(); + /* 80CE5A50 */ void getResName(); + /* 80CE5A60 */ void getTypeFromParam(); + /* 80CE5B0C */ void getSwitchFromParam(); + /* 80CE5B18 */ void getCapacityFromParam(); + /* 80CE5B3C */ void getFlowNodeNum(); + /* 80CE5B74 */ void getValue(); + /* 80CE5B80 */ void restart(); + /* 80CE5BF0 */ void initialize(); + /* 80CE5DB0 */ void checkProcess(int (daObj_SSDrink_c::*)(void*)); + /* 80CE5DDC */ void setProcess(int (daObj_SSDrink_c::*)(void*)); + /* 80CE5EC8 */ void setParam(); + /* 80CE5FE4 */ void setEnvTevColor(); + /* 80CE6040 */ void setRoomNo(); + /* 80CE6084 */ void setMtx(); + /* 80CE60E8 */ void setAttnPos(); + /* 80CE6170 */ void animeEntry(); + /* 80CE61E4 */ void animePlay(); + /* 80CE622C */ void chkEvent(); + /* 80CE63AC */ void orderEvent(); + /* 80CE644C */ bool wait(void*); + /* 80CE6454 */ void talk(void*); + /* 80CE6514 */ void drink(void*); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0xb10 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_SSDrink_c) == 0xb10); + #endif /* D_A_OBJ_SS_DRINK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.h b/include/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.h index 70672805e0..aa4975995d 100644 --- a/include/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.h +++ b/include/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.h @@ -10,6 +10,14 @@ class daObj_SSItem_c; typedef int (daObj_SSItem_c::*ProcessFunc)(void*); +/** + * @ingroup actors-objects + * @class daObj_SSItem_c + * @brief ??? + * + * @details + * + */ class daObj_SSItem_c : public daObj_SSBase_c { public: /* 80CE6C18 */ ~daObj_SSItem_c(); @@ -39,6 +47,7 @@ public: static dCcD_SrcGObjInf const mCcDObjInfo; static dCcD_SrcCyl mCcDCyl; +private: /* 0x578 */ request_of_phase_process_class mPhase; /* 0x580 */ J3DModel* mpModel; /* 0x584 */ dBgS_ObjAcch mAcch; diff --git a/include/rel/d/a/obj/d_a_obj_stairBlock/d_a_obj_stairBlock.h b/include/rel/d/a/obj/d_a_obj_stairBlock/d_a_obj_stairBlock.h index 9cea3f3682..d69deb8d28 100644 --- a/include/rel/d/a/obj/d_a_obj_stairBlock/d_a_obj_stairBlock.h +++ b/include/rel/d/a/obj/d_a_obj_stairBlock/d_a_obj_stairBlock.h @@ -1,6 +1,39 @@ #ifndef D_A_OBJ_STAIRBLOCK_H #define D_A_OBJ_STAIRBLOCK_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daStairBlock_c + * @brief Stair Block + * + * @details + * + */ +class daStairBlock_c : public fopAc_ac_c { +public: + /* 80CE81F4 */ void setBaseMtx(); + /* 80CE82A0 */ void CreateHeap(); + /* 80CE83F0 */ void create(); + /* 80CE8874 */ void createHeapCallBack(fopAc_ac_c*); + /* 80CE88A0 */ void Execute(); + /* 80CE8B24 */ void Draw(); + /* 80CE8C08 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDSph[64]; + +private: + /* 0x568 */ u8 field_0x568[0x132c - 0x568]; +}; +STATIC_ASSERT(sizeof(daStairBlock_c) == 0x132c); + +class daStairBlock_HIO_c { +public: + /* 80CE816C */ daStairBlock_HIO_c(); + /* 80CE8CDC */ ~daStairBlock_HIO_c(); +}; + #endif /* D_A_OBJ_STAIRBLOCK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_stick/d_a_obj_stick.h b/include/rel/d/a/obj/d_a_obj_stick/d_a_obj_stick.h index 30399664cc..da91a64e7a 100644 --- a/include/rel/d/a/obj/d_a_obj_stick/d_a_obj_stick.h +++ b/include/rel/d/a/obj/d_a_obj_stick/d_a_obj_stick.h @@ -1,6 +1,44 @@ #ifndef D_A_OBJ_STICK_H #define D_A_OBJ_STICK_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_Stick_c + * @brief Stick + * + * @details + * + */ +class daObj_Stick_c : public fopAc_ac_c { +public: + /* 8059922C */ ~daObj_Stick_c(); + /* 805993E8 */ void create(); + /* 80599888 */ void CreateHeap(); + /* 80599900 */ void Delete(); + /* 80599934 */ void Execute(); + /* 80599A78 */ void Draw(); + /* 80599B3C */ void createHeapCallBack(fopAc_ac_c*); + /* 80599B5C */ void getResName(); + /* 80599B6C */ void isDelete(); + /* 80599B8C */ void setEnvTevColor(); + /* 80599BE8 */ void setRoomNo(); + /* 80599C28 */ void setMtx(); + + static u8 mCcDSph[64]; + +private: + /* 0x568 */ u8 field_0x568[0x950 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_Stick_c) == 0x950); + +class daObj_Stick_Param_c { +public: + /* 80599DD0 */ ~daObj_Stick_Param_c(); + + static u8 const m[16]; +}; + #endif /* D_A_OBJ_STICK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h b/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h index 53ce241f86..e296da87d7 100644 --- a/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h +++ b/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h @@ -8,6 +8,14 @@ enum { OBJ_STONE_TYPE_BIG = 1 }; +/** + * @ingroup actors-objects + * @class daObjStone_c + * @brief Small / Large Stones + * + * @details + * + */ class daObjStone_c : public fopAc_ac_c { public: u8 getType() { return fopAcM_GetParamBit(this,0,4); } @@ -46,6 +54,7 @@ public: /* 80CEC888 */ int draw(); /* 80CEC948 */ int _delete(); +private: /* 0x0568 */ request_of_phase_process_class mPhase; /* 0x0570 */ J3DModel* mpModel; /* 0x0574 */ dBgS_ObjAcch mChkObj; @@ -75,5 +84,6 @@ public: /* 0x0964 */ JPABaseEmitter* field_0x0964[3]; /* 0x0970 */ Z2SoundObjSimple mSound; }; +STATIC_ASSERT(sizeof(daObjStone_c) == 0x990); #endif /* D_A_OBJ_STONE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h b/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h index 76f7a508f5..3ce1859355 100644 --- a/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h +++ b/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h @@ -6,6 +6,14 @@ #include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" +/** + * @ingroup actors-objects + * @class daObjSMark_c + * @brief Stone Mark + * + * @details + * + */ class daObjSMark_c : public fopAc_ac_c { public: /* 8059A018 */ void initBaseMtx(); @@ -15,6 +23,7 @@ public: /* 8059A2CC */ int draw(); /* 8059A33C */ int _delete(); +private: /* 0x0568 */ request_of_phase_process_class mpPhase; /* 0x0570 */ GXTexObj mTexObj; /* 0x0590 */ dBgS_ObjAcch mObjAcch; @@ -22,5 +31,6 @@ public: /* 0x07A8 */ dCcD_Stts mStts; /* 0x07E4 */ Mtx cullMtx; }; +STATIC_ASSERT(sizeof(daObjSMark_c) == 0x0814); #endif /* D_A_OBJ_STONEMARK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_stopper/d_a_obj_stopper.h b/include/rel/d/a/obj/d_a_obj_stopper/d_a_obj_stopper.h index 27ac093f64..d9a75b7d04 100644 --- a/include/rel/d/a/obj/d_a_obj_stopper/d_a_obj_stopper.h +++ b/include/rel/d/a/obj/d_a_obj_stopper/d_a_obj_stopper.h @@ -4,7 +4,16 @@ #include "dolphin/types.h" #include "f_op/f_op_actor.h" -struct daObjStopper_c : public fopAc_ac_c { +/** + * @ingroup actors-objects + * @class daObjStopper_c + * @brief Stopper + * + * @details + * + */ +class daObjStopper_c : public fopAc_ac_c { +public: enum ActionType { ACTION_WAIT, ACTION_WAIT_ORDER_EVENT, @@ -41,8 +50,11 @@ struct daObjStopper_c : public fopAc_ac_c { void setAction(u8 action) { mAction = action; } void startClose() { setAction(ACTION_CLOSE_INIT); } +private: /* 0x568 */ u8 field_0x568[0x93c - 0x568]; /* 0x93C */ u8 mAction; + /* 0x93D */ u8 field_0x93d[0xa00 - 0x93d]; }; +STATIC_ASSERT(sizeof(daObjStopper_c) == 0xA00); #endif /* D_A_OBJ_STOPPER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_stopper2/d_a_obj_stopper2.h b/include/rel/d/a/obj/d_a_obj_stopper2/d_a_obj_stopper2.h index aed0bc394c..7894f46814 100644 --- a/include/rel/d/a/obj/d_a_obj_stopper2/d_a_obj_stopper2.h +++ b/include/rel/d/a/obj/d_a_obj_stopper2/d_a_obj_stopper2.h @@ -2,5 +2,52 @@ #define D_A_OBJ_STOPPER2_H #include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjStopper2_c + * @brief Door Stop + * + * @details + * + */ +class daObjStopper2_c : public fopAc_ac_c { +public: + /* 80CEF368 */ J3DModelData* getStopModelData(); + /* 80CEF38C */ void initBaseMtx(); + /* 80CEF3C8 */ void setBaseMtx(); + /* 80CEF434 */ float getMaxOffsetY(); + /* 80CEF44C */ int Create(); + /* 80CEF57C */ int CreateHeap(); + /* 80CEF5C8 */ int create(); + /* 80CEF66C */ int execute(); + /* 80CEF6A4 */ void event_proc_call(); + /* 80CEF760 */ void actionWait(); + /* 80CEF98C */ void actionOrderEvent(); + /* 80CEFA60 */ void actionEvent(); + /* 80CEFAD4 */ void actionDead(); + /* 80CEFAD8 */ void demoProc(); + /* 80CEFD40 */ int draw(); + /* 80CEFDB8 */ int _delete(); + + u32 getEvId() { return fopAcM_GetParamBit(this, 8, 8); } + u32 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); } + void setAction(u8 i_action) { mAction = i_action; } + +private: + /* 0x568 */ request_of_phase_process_class mPhaseReq; + /* 0x570 */ J3DModel* mpModel; + /* 0x574 */ f32 field_0x574; + /* 0x578 */ s32 field_0x578; + /* 0x57C */ u16 field_0x57c[4]; + /* 0x584 */ u8 field_0x584; + /* 0x585 */ u8 field_0x585; + /* 0x586 */ u8 mAction; + /* 0x587 */ u8 field_0x587; + /* 0x588 */ u8 field_0x588; +}; +STATIC_ASSERT(sizeof(daObjStopper2_c) == 0x58C); + #endif /* D_A_OBJ_STOPPER2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_suisya/d_a_obj_suisya.h b/include/rel/d/a/obj/d_a_obj_suisya/d_a_obj_suisya.h index 479d3aca66..5848d30548 100644 --- a/include/rel/d/a/obj/d_a_obj_suisya/d_a_obj_suisya.h +++ b/include/rel/d/a/obj/d_a_obj_suisya/d_a_obj_suisya.h @@ -4,6 +4,14 @@ #include "f_op/f_op_actor_mng.h" #include "d/bg/d_bg_s_acch.h" +/** + * @ingroup actors-objects + * @class daObj_Suisya_c + * @brief Water Wheel + * + * @details + * + */ class daObj_Suisya_c : public fopAc_ac_c { public: /* 80CF0078 */ int draw(); @@ -12,11 +20,13 @@ public: /* 80CF0284 */ int CreateHeap(); /* 80CF0310 */ int create(); +private: /* 0x568 */ request_of_phase_process_class mPhase; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ u32 mShadowKey; /* 0x578 */ dBgS_AcchCir mAcchCir; /* 0x5B8 */ dBgS_ObjAcch mAcch; }; +STATIC_ASSERT(sizeof(daObj_Suisya_c) == 0x790); #endif /* D_A_OBJ_SUISYA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_sw/d_a_obj_sw.h b/include/rel/d/a/obj/d_a_obj_sw/d_a_obj_sw.h index 887c3d1ab5..7f4d7a77e9 100644 --- a/include/rel/d/a/obj/d_a_obj_sw/d_a_obj_sw.h +++ b/include/rel/d/a/obj/d_a_obj_sw/d_a_obj_sw.h @@ -1,5 +1,27 @@ #ifndef D_A_OBJ_SW_H #define D_A_OBJ_SW_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_sw_class + * @brief Switch + * + * @details + * + */ +class obj_sw_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0xd90 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_sw_class) == 0xd90); + +struct obj_sc_s { +public: + /* 80CF2F3C */ ~obj_sc_s(); + /* 80CF2FA8 */ obj_sc_s(); +}; + #endif /* D_A_OBJ_SW_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swBallA/d_a_obj_swBallA.h b/include/rel/d/a/obj/d_a_obj_swBallA/d_a_obj_swBallA.h index d0821337f6..b0d25e654f 100644 --- a/include/rel/d/a/obj/d_a_obj_swBallA/d_a_obj_swBallA.h +++ b/include/rel/d/a/obj/d_a_obj_swBallA/d_a_obj_swBallA.h @@ -4,6 +4,14 @@ #include "f_op/f_op_actor_mng.h" // dEvLib_callback_c is not generated at the correct location. +/** + * @ingroup actors-objects + * @class daObjSwBallA_c + * @brief Ball Switch A + * + * @details + * + */ class daObjSwBallA_c : public fopAc_ac_c /*, public dEvLib_callback_c*/ { public: //daObjSwBallA_c() : dEvLib_callback_c(this) {} @@ -31,6 +39,7 @@ public: void onFlag(u8 idx, u8 val) { field_0x5af[idx] |= val; } u8 checkFlag(u8 idx, u8 val) { return field_0x5af[idx] & val; } +private: u8 dEvLib_callback_c_filler[0x14]; /* 0x57C */ request_of_phase_process_class field_0x57c; /* 0x584 */ J3DModel* mModel; @@ -47,5 +56,6 @@ public: /* 0x5C6 */ u16 field_0x5c6; /* 0x5C8 */ u16 field_0x5c8; }; +STATIC_ASSERT(sizeof(daObjSwBallA_c) == 0x5CC); #endif /* D_A_OBJ_SWBALLA_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swBallB/d_a_obj_swBallB.h b/include/rel/d/a/obj/d_a_obj_swBallB/d_a_obj_swBallB.h index 6a77dc43af..e49709b8e0 100644 --- a/include/rel/d/a/obj/d_a_obj_swBallB/d_a_obj_swBallB.h +++ b/include/rel/d/a/obj/d_a_obj_swBallB/d_a_obj_swBallB.h @@ -3,6 +3,14 @@ #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjSwBallB_c + * @brief Ball Switch B + * + * @details + * + */ class daObjSwBallB_c : public fopAc_ac_c { //, public dEvLib_callback_c { public: //daObjSwBallB_c() : dEvLib_callback_c(this) {} @@ -33,6 +41,7 @@ public: void setLightOn() { field_0x5ac = 1; } void setLightOff() { field_0x5ad = 1; } +private: u8 dEvLib_callback_c_filler[0x14]; /* 0x57C */ request_of_phase_process_class field_0x57c; /* 0x584 */ J3DModel* mModel; @@ -53,5 +62,6 @@ public: /* 0x5AC */ u8 field_0x5ac; /* 0x5AD */ u8 field_0x5ad; }; +STATIC_ASSERT(sizeof(daObjSwBallB_c) == 0x5B0); #endif /* D_A_OBJ_SWBALLB_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swBallC/d_a_obj_swBallC.h b/include/rel/d/a/obj/d_a_obj_swBallC/d_a_obj_swBallC.h index d843e70cd8..63bd1e32fb 100644 --- a/include/rel/d/a/obj/d_a_obj_swBallC/d_a_obj_swBallC.h +++ b/include/rel/d/a/obj/d_a_obj_swBallC/d_a_obj_swBallC.h @@ -3,7 +3,16 @@ #include "f_op/f_op_actor_mng.h" -struct daObjSwBallC_c : public fopAc_ac_c { +/** + * @ingroup actors-objects + * @class daObjSwBallC_c + * @brief Ball Switch C + * + * @details + * + */ +class daObjSwBallC_c : public fopAc_ac_c { +public: /* 80CF5CD4 */ void initBaseMtx(); /* 80CF5CF4 */ void setBaseMtx(); /* 80CF5D58 */ int Create(); @@ -44,5 +53,6 @@ struct daObjSwBallC_c : public fopAc_ac_c { /* 0x587 */ u8 field_0x587; /* 0x588 */ u32 field_0x588; }; +STATIC_ASSERT(sizeof(daObjSwBallC_c) == 0x58C); #endif /* D_A_OBJ_SWBALLC_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h b/include/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h index ee1c984a99..fcbce7a830 100644 --- a/include/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h +++ b/include/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h @@ -1,5 +1,42 @@ #ifndef D_A_OBJ_SWLIGHT_H #define D_A_OBJ_SWLIGHT_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSwLight_c + * @brief Light Switch + * + * @details + * + */ +class daObjSwLight_c : public fopAc_ac_c { +public: + /* 80CF6F98 */ void initBaseMtx(); + /* 80CF6FD4 */ void setBaseMtx(); + /* 80CF7038 */ void Create(); + /* 80CF71F0 */ void CreateHeap(); + /* 80CF7260 */ void create1st(); + /* 80CF7320 */ void Execute(f32 (**)[3][4]); + /* 80CF73E0 */ void action(); + /* 80CF761C */ void init_modeSwOnWait(); + /* 80CF766C */ void modeSwOnWait(); + /* 80CF777C */ void init_modeOnLight(); + /* 80CF7788 */ void modeOnLight(); + /* 80CF77D8 */ void init_modeSwOffWait(); + /* 80CF7838 */ void modeSwOffWait(); + /* 80CF7974 */ void modeDead(); + /* 80CF7978 */ void checkHit(); + /* 80CF7A6C */ void setOnTimer(); + /* 80CF7A98 */ void Draw(); + /* 80CF7BA8 */ void Delete(); + /* 80CF8124 */ ~daObjSwLight_c(); + +private: + /* 0x568 */ u8 field_0x568[0xb28 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSwLight_c) == 0xb28); + #endif /* D_A_OBJ_SWLIGHT_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h b/include/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h index 5bd3212772..6faee1d841 100644 --- a/include/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h +++ b/include/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h @@ -1,5 +1,44 @@ #ifndef D_A_OBJ_SWCHAIN_H #define D_A_OBJ_SWCHAIN_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSwChain_c + * @brief Chain Switch + * + * @details + * + */ +class daObjSwChain_c : public fopAc_ac_c { +public: + struct chain_s { + public: + /* 80CF8B00 */ ~chain_s(); + /* 80CF8B3C */ chain_s(); + }; + + /* 80CF8768 */ void Create(); + /* 80CF89C0 */ void CreateHeap(); + /* 80CF8B48 */ void create1st(); + /* 80CF8ED0 */ void execute(); + /* 80CF94E4 */ void getChainBasePos(cXyz*); + /* 80CF9500 */ void chain_control(); + /* 80CF99C0 */ void chain_control2(); + /* 80CFA05C */ void initChainMtx(); + /* 80CFA124 */ void setChainMtx(); + /* 80CFA4A8 */ void chain_count_control(); + /* 80CFAD50 */ void setTension(); + /* 80CFB450 */ void getTopChainNo(); + /* 80CFB464 */ void checkPlayerPull(); + /* 80CFB53C */ void draw(); + /* 80CFB5E8 */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0xaa0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSwChain_c) == 0xaa0); + #endif /* D_A_OBJ_SWCHAIN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h b/include/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h index 150116fa12..657da4440f 100644 --- a/include/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h +++ b/include/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h @@ -6,6 +6,14 @@ #include "d/cc/d_cc_d.h" #include "d/event/d_event_lib.h" +/** + * @ingroup actors-objects + * @class daObjSwHang_c + * @brief Dangle A + * + * @details + * + */ class daObjSwHang_c : public dBgS_MoveBgActor { public: /* 80101874 */ cXyz getHangPos(); @@ -34,6 +42,7 @@ public: void setHangPlayer() { mHangPlayer = 1; } u8 getType() { return field_0x730; } +private: /* 0x5A0 */ dEvLib_callback_c field_0x5a0; /* 0x5B0 */ request_of_phase_process_class mPhase; /* 0x5B8 */ J3DModel* mpModel; @@ -53,6 +62,7 @@ public: /* 0x784 */ f32 field_0x784; /* 0x788 */ f32 field_0x788; /* 0x78C */ s16 field_0x78c; -}; // Size: 0x790 +}; +STATIC_ASSERT(sizeof(daObjSwHang_c) == 0x790); #endif /* D_A_OBJ_SWHANG_H */ diff --git a/include/rel/d/a/obj/d_a_obj_sword/d_a_obj_sword.h b/include/rel/d/a/obj/d_a_obj_sword/d_a_obj_sword.h index 7bb06b523c..377ec93c5b 100644 --- a/include/rel/d/a/obj/d_a_obj_sword/d_a_obj_sword.h +++ b/include/rel/d/a/obj/d_a_obj_sword/d_a_obj_sword.h @@ -1,6 +1,34 @@ #ifndef D_A_OBJ_SWORD_H #define D_A_OBJ_SWORD_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSword_c + * @brief Ordon Sword + * + * @details + * + */ +class daObjSword_c : public fopAc_ac_c { +public: + /* 80CFD558 */ void initBaseMtx(); + /* 80CFD594 */ void setBaseMtx(); + /* 80CFD600 */ void Create(); + /* 80CFD67C */ void create(); + /* 80CFDA14 */ void actionWait(); + /* 80CFDA8C */ void initActionOrderGetDemo(); + /* 80CFDB04 */ void actionOrderGetDemo(); + /* 80CFDB80 */ void actionGetDemo(); + /* 80CFDC1C */ void execute(); + /* 80CFDD18 */ void draw(); + /* 80CFDD6C */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0x938 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSword_c) == 0x938); + #endif /* D_A_OBJ_SWORD_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.h b/include/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.h index 5336a6e098..5d98c81851 100644 --- a/include/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.h +++ b/include/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.h @@ -4,6 +4,14 @@ #include "d/cc/d_cc_d.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjSwPr_c + * @brief Boomerang Switch + * + * @details + * + */ class daObjSwPr_c : public fopAc_ac_c { public: /* 8059A5E8 */ void initBaseMtx(); @@ -45,5 +53,6 @@ public: /* 0x83D */ u8 field_0x83d; /* 0x83E */ u8 mModelType; }; +STATIC_ASSERT(sizeof(daObjSwPr_c) == 0x840); #endif /* D_A_OBJ_SWPROPELLER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swpush/d_a_obj_swpush.h b/include/rel/d/a/obj/d_a_obj_swpush/d_a_obj_swpush.h index dc2fcc377a..bc5512a203 100644 --- a/include/rel/d/a/obj/d_a_obj_swpush/d_a_obj_swpush.h +++ b/include/rel/d/a/obj/d_a_obj_swpush/d_a_obj_swpush.h @@ -1,6 +1,82 @@ #ifndef D_A_OBJ_SWPUSH_H #define D_A_OBJ_SWPUSH_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSwpush + * @brief Push Switch + * + * @details This is a multi-purpose depression switch actor. + * Used by: Gold Pressure Switch, Lakebed Pressure Switch + * + */ +class daObjSwpush : public fopAc_ac_c { +public: + class Act_c { + public: + struct Prm_e {}; + + /* 80482D4C */ void prmZ_init(); + /* 80482D7C */ void is_switch2() const; + /* 80482DC4 */ void solidHeapCB(fopAc_ac_c*); + /* 80482DE8 */ void create_heap(); + /* 80482FE8 */ void create_res_load(); + /* 80483038 */ void Mthd_Create(); + /* 8048348C */ void Mthd_Delete(); + /* 804834E8 */ void set_mtx(); + /* 80483534 */ void init_mtx(); + /* 80483570 */ void set_btp_frame(); + /* 80483574 */ void rideCB(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 804839B4 */ void jnodeCB(J3DJoint*, int); + /* 80483A5C */ void calc_top_pos(); + /* 80483B70 */ void top_bg_aim_req(f32, s16); + /* 80483B7C */ void set_push_flag(); + /* 80483D0C */ void mode_upper_init(); + /* 80483D2C */ void mode_upper(); + /* 80483FA8 */ void mode_u_l_init(); + /* 80484008 */ void mode_u_l(); + /* 804841D4 */ void mode_lower_init(); + /* 804841F4 */ void mode_lower(); + /* 80484388 */ void mode_l_u_init(); + /* 804843C0 */ void mode_l_u(); + /* 80484570 */ void demo_non_init(); + /* 8048457C */ void demo_non(); + /* 80484580 */ void demo_reqPause_init(); + /* 804845D8 */ void demo_reqPause(); + /* 8048460C */ void demo_runPause_init(); + /* 8048464C */ void demo_runPause(); + /* 804846B4 */ void demo_stop_puase(); + /* 80484708 */ void demo_reqSw_init(); + /* 804847B4 */ void demo_reqSw(); + /* 80484828 */ void demo_runSw_init(); + /* 80484834 */ void demo_runSw(); + /* 80484890 */ void check_ride_couple(s16); + /* 804848D8 */ void nr_ride_people(char); + /* 80484908 */ void Mthd_Execute(); + /* 80484BB8 */ void Mthd_Draw(); + + static u8 const M_bmd[6 + 2 /* padding */]; + static u8 const M_dzb[6 + 2 /* padding */]; + static u8 const M_heap_size[12]; + static u8 const M_attr[220]; + static u32 const M_op_vtx; + static void* M_arcname[3]; + }; + +private: + /* 0x568 */ u8 field_0x568[0x604 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSwpush) == 0x604); + +struct daObj { +public: + template <typename A1> + void PrmAbstract(/* ... */); + /* 80484CE4 */ /* daObj::PrmAbstract<daObjSwpush::Act_c::Prm_e> */ + void func_80484CE4(void* _this, fopAc_ac_c const*, daObjSwpush::Act_c::Prm_e, + daObjSwpush::Act_c::Prm_e); +}; #endif /* D_A_OBJ_SWPUSH_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swpush2/d_a_obj_swpush2.h b/include/rel/d/a/obj/d_a_obj_swpush2/d_a_obj_swpush2.h index d6d7dc1a15..a28da30db6 100644 --- a/include/rel/d/a/obj/d_a_obj_swpush2/d_a_obj_swpush2.h +++ b/include/rel/d/a/obj/d_a_obj_swpush2/d_a_obj_swpush2.h @@ -1,6 +1,82 @@ #ifndef D_A_OBJ_SWPUSH2_H #define D_A_OBJ_SWPUSH2_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSwpush2 + * @brief Push Switch 2 + * + * @details + * + */ +class daObjSwpush2 : public fopAc_ac_c { +public: + class Act_c { + public: + struct Prm_e {}; + + /* 80CFE098 */ void getArcName(); + /* 80CFE0A4 */ void getBmdName(); + /* 80CFE0B4 */ void getDzbName(); + /* 80CFE0C4 */ void getNmlBtkName(); + /* 80CFE0D4 */ void getNmlBrkName(); + /* 80CFE0E4 */ void getOnBtkName(); + /* 80CFE0F4 */ void getRunBpkName(); + /* 80CFE104 */ void getRunBrkName(); + /* 80CFE114 */ void getRunBtkName(); + /* 80CFE124 */ void prmZ_init(); + /* 80CFE154 */ void is_switch2() const; + /* 80CFE1AC */ void solidHeapCB(fopAc_ac_c*); + /* 80CFE1D0 */ void create_heap(); + /* 80CFE6D8 */ void create_init(); + /* 80CFE8CC */ void create_res_load(); + /* 80CFE928 */ void Mthd_Create(); + /* 80CFEA3C */ void Mthd_Delete(); + /* 80CFEAB4 */ void set_mtx(); + /* 80CFEB3C */ void init_mtx(); + /* 80CFEB78 */ void rideCB(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 80CFEBE4 */ void calc_top_pos(); + /* 80CFEC4C */ void set_push_flag(); + /* 80CFEDDC */ void mode_upper_init(); + /* 80CFEDFC */ void mode_upper(); + /* 80CFEF84 */ void mode_u_l_init(); + /* 80CFEF98 */ void mode_u_l(); + /* 80CFF168 */ void mode_lower_init(); + /* 80CFF188 */ void mode_lower(); + /* 80CFF18C */ void mode_l_u(); + /* 80CFF24C */ void demo_non_init(); + /* 80CFF258 */ void demo_non(); + /* 80CFF25C */ void demo_reqPause_init(); + /* 80CFF2B4 */ void demo_reqPause(); + /* 80CFF2EC */ void demo_runPause_init(int); + /* 80CFF31C */ void demo_runPause(); + /* 80CFF374 */ void demo_stop_puase(); + /* 80CFF3C8 */ void demo_reqSw_init(); + /* 80CFF48C */ void demo_reqSw(); + /* 80CFF500 */ void demo_runSw_init(); + /* 80CFF50C */ void demo_runSw(); + /* 80CFF568 */ void Mthd_Execute(); + /* 80CFF8FC */ void Mthd_Draw(); + + static u8 const M_arcname[9 + 3 /* padding */]; + static void* const M_attr[56]; + }; + +private: + /* 0x568 */ u8 field_0x568[0x5f4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSwpush2) == 0x5f4); + +struct daObj { +public: + template <typename A1> + void PrmAbstract(/* ... */); + /* 80CFFBD0 */ /* daObj::PrmAbstract<daObjSwpush2::Act_c::Prm_e> */ + void func_80CFFBD0(void* _this, fopAc_ac_c const*, daObjSwpush2::Act_c::Prm_e, + daObjSwpush2::Act_c::Prm_e); +}; + #endif /* D_A_OBJ_SWPUSH2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swpush5/d_a_obj_swpush5.h b/include/rel/d/a/obj/d_a_obj_swpush5/d_a_obj_swpush5.h index d362820d06..c37d413e7a 100644 --- a/include/rel/d/a/obj/d_a_obj_swpush5/d_a_obj_swpush5.h +++ b/include/rel/d/a/obj/d_a_obj_swpush5/d_a_obj_swpush5.h @@ -1,6 +1,53 @@ #ifndef D_A_OBJ_SWPUSH5_H #define D_A_OBJ_SWPUSH5_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSw5_c + * @brief Push Switch 5 + * + * @details Mutli-purpose heavy switch actor. (Iron Boots switch) + * + */ +class daObjSw5_c : public fopAc_ac_c { +public: + /* 8059B804 */ void initBaseMtx(); + /* 8059B88C */ void setBaseMtx(); + /* 8059B920 */ void Create(); + /* 8059BA1C */ void CreateHeap(); + /* 8059BB1C */ void create(); + /* 8059BBD4 */ void Execute(f32 (**)[3][4]); + /* 8059BC70 */ void setting_ride_flag(); + /* 8059BD24 */ bool checkPushable(); + /* 8059BD2C */ void event_proc_call(); + /* 8059BE18 */ void actionPauseNoneInit(); + /* 8059BE24 */ void actionPauseNone(); + /* 8059BE28 */ void actionPauseOrderInit(); + /* 8059BE80 */ void actionPauseOrder(); + /* 8059BEB4 */ void actionPauseInit(); + /* 8059BEE0 */ void actionPause(); + /* 8059BF48 */ void actionWait(); + /* 8059BF4C */ void actionOrder(); + /* 8059BF50 */ void actionEvent(); + /* 8059BF54 */ void calc_top_pos(); + /* 8059BFE4 */ void mode_proc_call(); + /* 8059C0A0 */ void modeWaitLowerInit(); + /* 8059C0C8 */ void modeWaitLower(); + /* 8059C23C */ void modeLowerInit(); + /* 8059C2D0 */ void modeLower(); + /* 8059C364 */ void modeWaitUpperInit(); + /* 8059C370 */ void modeWaitUpper(); + /* 8059C3C4 */ void modeUpperInit(); + /* 8059C454 */ void modeUpper(); + /* 8059C4BC */ void Draw(); + /* 8059C560 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x600 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSw5_c) == 0x600); + #endif /* D_A_OBJ_SWPUSH5_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h b/include/rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h index 04b5fe0da1..f377f18870 100644 --- a/include/rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h +++ b/include/rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h @@ -5,6 +5,14 @@ #include "d/bg/d_bg_w.h" #include "rel/d/a/d_a_spinner/d_a_spinner.h" +/** + * @ingroup actors-objects + * @class daObjSwSpinner_c + * @brief Spinner Switch + * + * @details + * + */ class daObjSwSpinner_c : public dBgS_MoveBgActor { public: /* 80D00174 */ void initBaseMtx(); @@ -33,6 +41,7 @@ public: /* 0x5EC */ s16 mShapeAngleY; /* 0x5EE */ s16 mRotSpeedY; /* 0x5F0 */ s16 mCount; -}; // Size: 0x5F4 +}; +STATIC_ASSERT(sizeof(daObjSwSpinner_c) == 0x5F4); #endif /* D_A_OBJ_SWSPINNER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_swturn/d_a_obj_swturn.h b/include/rel/d/a/obj/d_a_obj_swturn/d_a_obj_swturn.h index bdecc1c557..24176fd9c7 100644 --- a/include/rel/d/a/obj/d_a_obj_swturn/d_a_obj_swturn.h +++ b/include/rel/d/a/obj/d_a_obj_swturn/d_a_obj_swturn.h @@ -1,6 +1,38 @@ #ifndef D_A_OBJ_SWTURN_H #define D_A_OBJ_SWTURN_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSwTurn_c + * @brief Arbiter's Ground Turn Switch + * + * @details + * + */ +class daObjSwTurn_c : public fopAc_ac_c { +public: + /* 80D00CD8 */ void initBaseMtx(); + /* 80D00D14 */ void setBaseMtx(); + /* 80D00D78 */ void Create(); + /* 80D00EE4 */ void CreateHeap(); + /* 80D00F64 */ void create1st(); + /* 80D01074 */ void Execute(f32 (**)[3][4]); + /* 80D010D4 */ void mode_proc_call(); + /* 80D01160 */ void init_modeWait(); + /* 80D01198 */ void modeWait(); + /* 80D01770 */ void init_modeRotate(); + /* 80D018B4 */ void modeRotate(); + /* 80D01958 */ void rotate_sub_0(); + /* 80D01B60 */ void rotate_sub_1(); + /* 80D01EB0 */ void Draw(); + /* 80D01F58 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5e0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSwTurn_c) == 0x5e0); + #endif /* D_A_OBJ_SWTURN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_syRock/d_a_obj_syRock.h b/include/rel/d/a/obj/d_a_obj_syRock/d_a_obj_syRock.h index 2921666bee..dd62cba3fc 100644 --- a/include/rel/d/a/obj/d_a_obj_syRock/d_a_obj_syRock.h +++ b/include/rel/d/a/obj/d_a_obj_syRock/d_a_obj_syRock.h @@ -1,6 +1,57 @@ #ifndef D_A_OBJ_SYROCK_H #define D_A_OBJ_SYROCK_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daSyRock_c + * @brief Stalactite Rock + * + * @details + * + */ +class daSyRock_c : public fopAc_ac_c { +public: + /* 80D0237C */ void setBaseMtx(); + /* 80D02454 */ void CreateHeap(); + /* 80D02584 */ void create(); + /* 80D02AFC */ void setFallStat(); + /* 80D02BE0 */ void Execute(f32 (**)[3][4]); + /* 80D02C54 */ void move(); + /* 80D02E70 */ void init_modeWait(); + /* 80D02E7C */ void modeWait(); + /* 80D02F88 */ void eventStart(); + /* 80D02FB8 */ void init_modeDropInit(); + /* 80D03070 */ void modeDropInit(); + /* 80D030A8 */ void searchWaterPillar(void*, void*); + /* 80D03250 */ void init_modeDrop(); + /* 80D03384 */ void modeDrop(); + /* 80D033D0 */ void init_modeSink(); + /* 80D03440 */ void modeSink(); + /* 80D034E8 */ void init_modeMove(); + /* 80D035F8 */ void modeMove(); + /* 80D036B8 */ void chkWaterLineIn(); + /* 80D036DC */ void bgCheck(); + /* 80D03984 */ void init_modeDropEnd(); + /* 80D03A48 */ void modeDropEnd(); + /* 80D03A4C */ void Draw(); + /* 80D03B08 */ void Delete(); + /* 80D03DAC */ ~daSyRock_c(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x9a0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daSyRock_c) == 0x9a0); + +class daSyRock_HIO_c { +public: + /* 80D022AC */ daSyRock_HIO_c(); + /* 80D03C44 */ ~daSyRock_HIO_c(); +}; + #endif /* D_A_OBJ_SYROCK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_szbridge/d_a_obj_szbridge.h b/include/rel/d/a/obj/d_a_obj_szbridge/d_a_obj_szbridge.h index bbd2c608d4..0c54d41ed8 100644 --- a/include/rel/d/a/obj/d_a_obj_szbridge/d_a_obj_szbridge.h +++ b/include/rel/d/a/obj/d_a_obj_szbridge/d_a_obj_szbridge.h @@ -1,6 +1,33 @@ #ifndef D_A_OBJ_SZBRIDGE_H #define D_A_OBJ_SZBRIDGE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjSZbridge_c + * @brief Stone Statue Bridge + * + * @details + * + */ +class daObjSZbridge_c : public fopAc_ac_c { +public: + /* 80D04360 */ void rideActor(fopAc_ac_c*); + /* 80D04424 */ void create1st(); + /* 80D044B8 */ void setMtx(); + /* 80D04528 */ void CreateHeap(); + /* 80D04598 */ void chkBg(); + /* 80D048C4 */ void Create(); + /* 80D04974 */ void Execute(f32 (**)[3][4]); + /* 80D049E4 */ void Draw(); + /* 80D04A88 */ void Delete(); + /* 80D04B90 */ ~daObjSZbridge_c(); + +private: + /* 0x568 */ u8 field_0x568[0x624 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjSZbridge_c) == 0x624); + #endif /* D_A_OBJ_SZBRIDGE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_taFence/d_a_obj_taFence.h b/include/rel/d/a/obj/d_a_obj_taFence/d_a_obj_taFence.h index 2567823796..b0c4df252f 100644 --- a/include/rel/d/a/obj/d_a_obj_taFence/d_a_obj_taFence.h +++ b/include/rel/d/a/obj/d_a_obj_taFence/d_a_obj_taFence.h @@ -1,6 +1,47 @@ #ifndef D_A_OBJ_TAFENCE_H #define D_A_OBJ_TAFENCE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTaFence_c + * @brief Fench/Mesh? + * + * @details + * + */ +class daTaFence_c : public fopAc_ac_c { +public: + /* 80D04F8C */ void setBaseMtx(); + /* 80D0503C */ void CreateHeap(); + /* 80D050A8 */ void create(); + /* 80D05550 */ void Execute(f32 (**)[3][4]); + /* 80D055A0 */ void fenceProc(); + /* 80D057C4 */ void init_modeWait(); + /* 80D057D0 */ void modeWait(); + /* 80D05A54 */ void init_modeMoveInit(); + /* 80D05B5C */ void modeMoveInit(); + /* 80D05B94 */ void init_modeMove(); + /* 80D05CAC */ void modeMove(); + /* 80D05D2C */ void init_modeMoveEnd(); + /* 80D05E54 */ void modeMoveEnd(); + /* 80D05E58 */ void Draw(); + /* 80D05EFC */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0x13d4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daTaFence_c) == 0x13d4); + +class daTaFence_HIO_c { +public: + /* 80D04E6C */ daTaFence_HIO_c(); + /* 80D06000 */ ~daTaFence_HIO_c(); +}; + #endif /* D_A_OBJ_TAFENCE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_table/d_a_obj_table.h b/include/rel/d/a/obj/d_a_obj_table/d_a_obj_table.h index 1c4ef68211..0e454aa053 100644 --- a/include/rel/d/a/obj/d_a_obj_table/d_a_obj_table.h +++ b/include/rel/d/a/obj/d_a_obj_table/d_a_obj_table.h @@ -5,6 +5,14 @@ #include "d/msg/d_msg_flow.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjTable_c + * @brief Table + * + * @details + * + */ class daObjTable_c : public dBgS_MoveBgActor { public: /* 80D06560 */ int CreateHeap(); @@ -19,12 +27,13 @@ public: s16 getMessageNo() { return (s16)fopAcM_GetParamBit(this, 0, 16); } +private: /* 0x5A0 */ J3DModel* mpModel; /* 0x5A4 */ request_of_phase_process_class mPhaseReq; /* 0x5AC */ dMsgFlow_c mMsgFlow; /* 0x5F8 */ u32 mShadowKey; /* 0x5FC */ s16 mEventID; -}; // Size: 0x600 +}; STATIC_ASSERT(sizeof(daObjTable_c) == 0x600); diff --git a/include/rel/d/a/obj/d_a_obj_takaraDai/d_a_obj_takaraDai.h b/include/rel/d/a/obj/d_a_obj_takaraDai/d_a_obj_takaraDai.h index e157e72f93..2c9ee82a74 100644 --- a/include/rel/d/a/obj/d_a_obj_takaraDai/d_a_obj_takaraDai.h +++ b/include/rel/d/a/obj/d_a_obj_takaraDai/d_a_obj_takaraDai.h @@ -1,6 +1,38 @@ #ifndef D_A_OBJ_TAKARADAI_H #define D_A_OBJ_TAKARADAI_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTkraDai_c + * @brief Flight-by-Fowl Platform + * + * @details + * + */ +class daTkraDai_c : public fopAc_ac_c { +public: + /* 80D06E64 */ void setBaseMtx(); + /* 80D06FFC */ void CreateHeap(); + /* 80D07140 */ void create(); + /* 80D07344 */ void Execute(f32 (**)[3][4]); + /* 80D073A4 */ void procMain(); + /* 80D074D0 */ void init_modeWait(); + /* 80D07528 */ void modeWait(); + /* 80D075A4 */ void Draw(); + /* 80D07668 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x65c - 0x568]; +}; +STATIC_ASSERT(sizeof(daTkraDai_c) == 0x65c); + +class daTkraDai_HIO_c { +public: + /* 80D06D8C */ daTkraDai_HIO_c(); + /* 80D0775C */ ~daTkraDai_HIO_c(); +}; + #endif /* D_A_OBJ_TAKARADAI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h b/include/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h index 90d1c8399f..ada1519772 100644 --- a/include/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h +++ b/include/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h @@ -1,5 +1,27 @@ #ifndef D_A_OBJ_TATIGI_H #define D_A_OBJ_TATIGI_H +#include "f_op/f_op_actor_mng.h" + +struct tg_ss { +public: + /* 80D083C0 */ ~tg_ss(); + /* 80D08494 */ tg_ss(); +}; + +/** + * @ingroup actors-objects + * @class obj_tatigi_class + * @brief ??? + * + * @details + * + */ +class obj_tatigi_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x1bc0 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_tatigi_class) == 0x1bc0); + #endif /* D_A_OBJ_TATIGI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h b/include/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h index 7ca7a532b0..0036ec1c38 100644 --- a/include/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h +++ b/include/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h @@ -1,5 +1,50 @@ #ifndef D_A_OBJ_TEN_H #define D_A_OBJ_TEN_H +#include "d/d_insect.h" + +/** + * @ingroup actors-objects + * @class daObjTEN_c + * @brief Insect - Ladybug + * + * @details + * + */ +class daObjTEN_c : public fopAc_ac_c { +public: + /* 80D087F4 */ void InitCcSph(); + /* 80D08860 */ void SetCcSph(); + /* 80D08C10 */ void WaitAction(); + /* 80D08D94 */ void WallCheck(); + /* 80D09008 */ void SpeedSet(); + /* 80D09114 */ void WallWalk(); + /* 80D09548 */ void WalkAction(); + /* 80D09748 */ void MoveAction(); + /* 80D09F58 */ void Action(); + /* 80D0A01C */ void ShopAction(); + /* 80D0A0D8 */ void checkGroundPos(); + /* 80D0A13C */ void Insect_Release(); + /* 80D0A154 */ void ParticleSet(); + /* 80D0A278 */ void BoomChk(); + /* 80D0A644 */ void Execute(); + /* 80D0A8C8 */ void ObjHit(); + /* 80D0AA50 */ void Z_BufferChk(); + /* 80D0ABCC */ void Delete(); + /* 80D0AC34 */ void setBaseMtx(); + /* 80D0AD9C */ void CreateChk(); + /* 80D0AF48 */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0xa68 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjTEN_c) == 0xa68); + +class daObj_TenHIO_c { +public: + /* 80D087CC */ daObj_TenHIO_c(); + /* 80D0B848 */ ~daObj_TenHIO_c(); +}; + #endif /* D_A_OBJ_TEN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_testcube/d_a_obj_testcube.h b/include/rel/d/a/obj/d_a_obj_testcube/d_a_obj_testcube.h index 48de43dfe3..f0487e7e75 100644 --- a/include/rel/d/a/obj/d_a_obj_testcube/d_a_obj_testcube.h +++ b/include/rel/d/a/obj/d_a_obj_testcube/d_a_obj_testcube.h @@ -1,6 +1,6 @@ #ifndef D_A_OBJ_TESTCUBE_H #define D_A_OBJ_TESTCUBE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" #endif /* D_A_OBJ_TESTCUBE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_tgake/d_a_obj_tgake.h b/include/rel/d/a/obj/d_a_obj_tgake/d_a_obj_tgake.h index 49f25c6ded..9f51963f59 100644 --- a/include/rel/d/a/obj/d_a_obj_tgake/d_a_obj_tgake.h +++ b/include/rel/d/a/obj/d_a_obj_tgake/d_a_obj_tgake.h @@ -4,6 +4,14 @@ #include "f_op/f_op_actor_mng.h" #include "d/bg/d_bg_s_movebg_actor.h" +/** + * @ingroup actors-objects + * @class daObjGake_c + * @brief Howling Cliff + * + * @details + * + */ class daObjGake_c : public dBgS_MoveBgActor { public: /* 80D0BC18 */ void initBaseMtx(); @@ -20,11 +28,13 @@ public: u16 getEventBit2() { return fopAcM_GetParamBit(this, 10, 10); } u8 getType() { return fopAcM_GetParamBit(this, 0x14, 8); } +private: /* 0x5A0 */ request_of_phase_process_class mPhase; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ u16 mEventBit1; /* 0x5AE */ u16 mEventBit2; /* 0x5B0 */ u8 mHide; }; +STATIC_ASSERT(sizeof(daObjGake_c) == 0x5B4); #endif /* D_A_OBJ_TGAKE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h b/include/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h index 2f6c0fc060..53d84404ff 100644 --- a/include/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h +++ b/include/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h @@ -1,5 +1,31 @@ #ifndef D_A_OBJ_THASHI_H #define D_A_OBJ_THASHI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjTHASHI_c + * @brief T Pillar + * + * @details + * + */ +class daObjTHASHI_c : public fopAc_ac_c { +public: + /* 80D0C238 */ void initCcCylinder(); + /* 80D0C354 */ void setBaseMtx(); + /* 80D0C654 */ void CreateHeap(); + /* 80D0C8B4 */ void create(); + /* 80D0CE70 */ void Create(); + /* 80D0CEB4 */ void Execute(f32 (**)[3][4]); + /* 80D0CEE0 */ void Draw(); + /* 80D0D140 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x1bbc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjTHASHI_c) == 0x1bbc); + #endif /* D_A_OBJ_THASHI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h b/include/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h index 012a31d56a..b030f6d064 100644 --- a/include/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h +++ b/include/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h @@ -1,5 +1,40 @@ #ifndef D_A_OBJ_THDOOR_H #define D_A_OBJ_THDOOR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjThDoor_c + * @brief Telma's Bar Door + * + * @details + * + */ +class daObjThDoor_c : public fopAc_ac_c { +public: + /* 80D0D618 */ void initBaseMtx(); + /* 80D0D654 */ void setBaseMtx(); + /* 80D0D6B8 */ void Create(); + /* 80D0D7F8 */ void CreateHeap(); + /* 80D0D868 */ void create1st(); + /* 80D0D8E8 */ void Execute(f32 (**)[3][4]); + /* 80D0D9B4 */ void set_cyl(); + /* 80D0DAC8 */ void action(); + /* 80D0DB90 */ void event_proc_call(); + /* 80D0DC4C */ void actionWait(); + /* 80D0DCC8 */ void actionOrderEvent(); + /* 80D0DD90 */ void actionEvent(); + /* 80D0DE30 */ void actionDead(); + /* 80D0DE34 */ void demoProc(); + /* 80D0E06C */ void checkArea(); + /* 80D0E150 */ void Draw(); + /* 80D0E1F4 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x8c0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjThDoor_c) == 0x8c0); + #endif /* D_A_OBJ_THDOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_timeFire/d_a_obj_timeFire.h b/include/rel/d/a/obj/d_a_obj_timeFire/d_a_obj_timeFire.h index e343178d7d..627f69b867 100644 --- a/include/rel/d/a/obj/d_a_obj_timeFire/d_a_obj_timeFire.h +++ b/include/rel/d/a/obj/d_a_obj_timeFire/d_a_obj_timeFire.h @@ -1,6 +1,38 @@ #ifndef D_A_OBJ_TIMEFIRE_H #define D_A_OBJ_TIMEFIRE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTimeFire_c + * @brief Time Fire + * + * @details + * + */ +class daTimeFire_c : public fopAc_ac_c { +public: + /* 80D0E958 */ void setBaseMtx(); + /* 80D0E9B0 */ void create(); + /* 80D0EACC */ void lightInit(); + /* 80D0EB40 */ void setLight(); + /* 80D0EB64 */ void cutLight(); + /* 80D0EB88 */ void Execute(); + /* 80D0ED68 */ void fireCheck(u8); + /* 80D0EF88 */ bool Draw(); + /* 80D0EF90 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5c0 - 0x568]; +}; +STATIC_ASSERT(sizeof(daTimeFire_c) == 0x5c0); + +class daTimeFire_HIO_c { +public: + /* 80D0E8EC */ daTimeFire_HIO_c(); + /* 80D0F038 */ ~daTimeFire_HIO_c(); +}; + #endif /* D_A_OBJ_TIMEFIRE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_timer/d_a_obj_timer.h b/include/rel/d/a/obj/d_a_obj_timer/d_a_obj_timer.h index 02b25a215d..14529dab03 100644 --- a/include/rel/d/a/obj/d_a_obj_timer/d_a_obj_timer.h +++ b/include/rel/d/a/obj/d_a_obj_timer/d_a_obj_timer.h @@ -1,6 +1,43 @@ #ifndef D_A_OBJ_TIMER_H #define D_A_OBJ_TIMER_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjTimer + * @brief Timer + * + * @details + * + */ +class daObjTimer : public fopAc_ac_c { +public: + class Act_c { + public: + struct Prm_e {}; + + /* 80485198 */ void _create(); + /* 8048526C */ bool _delete(); + /* 80485274 */ void mode_wait_init(); + /* 80485284 */ void mode_wait(); + /* 804852E0 */ void mode_count_init(); + /* 80485324 */ void mode_count(); + /* 804854BC */ void _execute(); + }; + +private: + /* 0x568 */ u8 field_0x568[0x574 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjTimer) == 0x574); + +struct daObj { +public: + template <typename A1> + void PrmAbstract(/* ... */); + /* 8048561C */ /* daObj::PrmAbstract<daObjTimer::Act_c::Prm_e> */ + void func_8048561C(void* _this, fopAc_ac_c const*, daObjTimer::Act_c::Prm_e, + daObjTimer::Act_c::Prm_e); +}; #endif /* D_A_OBJ_TIMER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_tks/d_a_obj_tks.h b/include/rel/d/a/obj/d_a_obj_tks/d_a_obj_tks.h index 48fee8d440..d2166f1636 100644 --- a/include/rel/d/a/obj/d_a_obj_tks/d_a_obj_tks.h +++ b/include/rel/d/a/obj/d_a_obj_tks/d_a_obj_tks.h @@ -1,6 +1,58 @@ #ifndef D_A_OBJ_TKS_H #define D_A_OBJ_TKS_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjTks_c + * @brief Ooccoo Jr. (small) + * + * @details + * + */ +class daObjTks_c : public fopAc_ac_c { +public: + /* 80D0F28C */ daObjTks_c(); + /* 80D0F480 */ ~daObjTks_c(); + /* 80D0F640 */ void Create(); + /* 80D0F904 */ void CreateHeap(); + /* 80D0FD34 */ void Delete(); + /* 80D0FD68 */ void Execute(); + /* 80D0FE60 */ void Draw(); + /* 80D0FED0 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 80D10094 */ void createHeapCallBack(fopAc_ac_c*); + /* 80D100B4 */ void ctrlJointCallBack(J3DJoint*, int); + /* 80D10100 */ void setMtx(); + /* 80D10184 */ void setExpressionAnm(int, bool); + /* 80D102D0 */ void setExpressionBtp(int); + /* 80D103A4 */ void setMotion(int, f32, int); + /* 80D103E8 */ void reset(); + /* 80D10578 */ void setAction(void (daObjTks_c::*)()); + /* 80D10618 */ void wait(); + /* 80D106C8 */ void setExpression(int, f32); + /* 80D106F4 */ void talk(); + /* 80D10A80 */ void demo(); + /* 80D11104 */ void setMotionAnm(int, f32); + /* 80D11228 */ void warp(); + /* 80D11670 */ void setParam(); + /* 80D116C8 */ void main(); + /* 80D118E8 */ void ctrlBtk(); + /* 80D119BC */ void setAttnPos(); + /* 80D11CB4 */ void lookat(); + /* 80D11E94 */ bool drawDbgInfo(); + /* 80D11E9C */ void drawOtherMdls(); + +private: + /* 0x568 */ u8 field_0x568[0xDE4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjTks_c) == 0xDE4); + +class daObjTks_Param_c { +public: + /* 80D126D0 */ ~daObjTks_Param_c(); + + static u8 const m[128]; +}; #endif /* D_A_OBJ_TKS_H */ diff --git a/include/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h b/include/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h index 81c7d7b423..a24675711e 100644 --- a/include/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h +++ b/include/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjTMoon_c + * @brief Howling Moon + * + * @details + * + */ class daObjTMoon_c : public fopAc_ac_c { public: /* 80D12BB8 */ void initBaseMtx(); @@ -17,10 +25,12 @@ public: u32 getEventBit1() { return fopAcM_GetParamBit(this, 0, 10); } u32 getEventBit2() { return fopAcM_GetParamBit(this, 10, 10); } +private: /* 0x568 */ request_of_phase_process_class mPhaseReq; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ u16 field_0x574; /* 0x576 */ u16 field_0x576; -}; // Size: 0x578 +}; +STATIC_ASSERT(sizeof(daObjTMoon_c) == 0x578); #endif /* D_A_OBJ_TMOON_H */ diff --git a/include/rel/d/a/obj/d_a_obj_toaru_maki/d_a_obj_toaru_maki.h b/include/rel/d/a/obj/d_a_obj_toaru_maki/d_a_obj_toaru_maki.h index b6c294f213..e020e3fc23 100644 --- a/include/rel/d/a/obj/d_a_obj_toaru_maki/d_a_obj_toaru_maki.h +++ b/include/rel/d/a/obj/d_a_obj_toaru_maki/d_a_obj_toaru_maki.h @@ -2,5 +2,34 @@ #define D_A_OBJ_TOARU_MAKI_H #include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjToaruMaki_c + * @brief Ordon Bundle + * + * @details + * + */ +class daObjToaruMaki_c : public fopAc_ac_c, public request_of_phase_process_class { +public: + /* 80D13098 */ daObjToaruMaki_c(); + /* 80D130E0 */ virtual ~daObjToaruMaki_c(); + /* 80D1316C */ int createHeap(); + /* 80D132B4 */ int create(); + /* 80D133C0 */ int Delete(); + /* 80D1343C */ void setModelMtx(); + /* 80D134A0 */ int draw(); + /* 80D13524 */ int execute(); + + u32 getNameArg_0() { return fopAcM_GetParamBit(this, 0, 4); } + +private: + /* 0x574 */ J3DModel* mpModel; + /* 0x578 */ s32 field_0x578; + /* 0x57C */ Mtx mMtx; +}; +STATIC_ASSERT(sizeof(daObjToaruMaki_c) == 0x5AC); #endif /* D_A_OBJ_TOARU_MAKI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_toby/d_a_obj_toby.h b/include/rel/d/a/obj/d_a_obj_toby/d_a_obj_toby.h index 02c2658a7a..307f6bb33c 100644 --- a/include/rel/d/a/obj/d_a_obj_toby/d_a_obj_toby.h +++ b/include/rel/d/a/obj/d_a_obj_toby/d_a_obj_toby.h @@ -1,6 +1,32 @@ #ifndef D_A_OBJ_TOBY_H #define D_A_OBJ_TOBY_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_toby_class + * @brief Fyer (Object) + * + * @details + * + */ +class obj_toby_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x6374 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_toby_class) == 0x6374); + +class daObj_Toby_HIO_c { +public: + /* 80D1378C */ daObj_Toby_HIO_c(); + /* 80D15534 */ ~daObj_Toby_HIO_c(); +}; + +struct yuka_s { +public: + /* 80D154F4 */ ~yuka_s(); + /* 80D15530 */ yuka_s(); +}; #endif /* D_A_OBJ_TOBY_H */ diff --git a/include/rel/d/a/obj/d_a_obj_tobyhouse/d_a_obj_tobyhouse.h b/include/rel/d/a/obj/d_a_obj_tobyhouse/d_a_obj_tobyhouse.h index 76c359c4b3..83ba5104b4 100644 --- a/include/rel/d/a/obj/d_a_obj_tobyhouse/d_a_obj_tobyhouse.h +++ b/include/rel/d/a/obj/d_a_obj_tobyhouse/d_a_obj_tobyhouse.h @@ -1,6 +1,39 @@ #ifndef D_A_OBJ_TOBYHOUSE_H #define D_A_OBJ_TOBYHOUSE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjTobyHouse_c + * @brief Fyer's House + * + * @details + * + */ +class daObjTobyHouse_c : public fopAc_ac_c { +public: + /* 80D15F0C */ void initBaseMtx(); + /* 80D15F48 */ void setBaseMtx(); + /* 80D15FE0 */ void Create(); + /* 80D161A4 */ void CreateHeap(); + /* 80D163F0 */ void create1st(); + /* 80D164C0 */ void Execute(f32 (**)[3][4]); + /* 80D16560 */ void action(); + /* 80D1661C */ void actionWait(); + /* 80D166E0 */ void actionOrderEvent(); + /* 80D167BC */ void actionEvent(); + /* 80D16860 */ void actionDead(); + /* 80D16864 */ void demoProc(); + /* 80D171C0 */ void sceneChange(); + /* 80D17230 */ void Draw(); + /* 80D17374 */ void checkLODModel(); + /* 80D174F8 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x600 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjTobyHouse_c) == 0x600); + #endif /* D_A_OBJ_TOBYHOUSE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_togeTrap/d_a_obj_togeTrap.h b/include/rel/d/a/obj/d_a_obj_togeTrap/d_a_obj_togeTrap.h index 2ab9d00253..407ceae09c 100644 --- a/include/rel/d/a/obj/d_a_obj_togeTrap/d_a_obj_togeTrap.h +++ b/include/rel/d/a/obj/d_a_obj_togeTrap/d_a_obj_togeTrap.h @@ -1,6 +1,49 @@ #ifndef D_A_OBJ_TOGETRAP_H #define D_A_OBJ_TOGETRAP_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTogeTrap_c + * @brief Blade Trap + * + * @details + * + */ +class daTogeTrap_c : public fopAc_ac_c { +public: + /* 80D17C74 */ void setBaseMtx(); + /* 80D17D5C */ void CreateHeap(); + /* 80D17E14 */ void create(); + /* 80D18244 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*); + /* 80D1825C */ void Execute(f32 (**)[3][4]); + /* 80D182C8 */ void moveMain(); + /* 80D185DC */ void playerAreaCheck(); + /* 80D186B0 */ void init_modeWait(); + /* 80D186BC */ void modeWait(); + /* 80D186C0 */ void init_modeMoveUp(); + /* 80D18784 */ void modeMoveUp(); + /* 80D188C0 */ void init_modeMoveDown(); + /* 80D188DC */ void modeMoveDown(); + /* 80D18994 */ void init_modeBreak(); + /* 80D18A5C */ void modeBreak(); + /* 80D18BEC */ void Draw(); + /* 80D18CA4 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0xae4 - 0x568]; +}; +STATIC_ASSERT(sizeof(daTogeTrap_c) == 0xae4); + +class daTogeTrap_HIO_c { +public: + /* 80D17B6C */ daTogeTrap_HIO_c(); + /* 80D18DA8 */ ~daTogeTrap_HIO_c(); +}; + #endif /* D_A_OBJ_TOGETRAP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h b/include/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h index b417ef8f3c..ca07d2127b 100644 --- a/include/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h +++ b/include/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h @@ -1,5 +1,52 @@ #ifndef D_A_OBJ_TOMBO_H #define D_A_OBJ_TOMBO_H +#include "d/d_insect.h" + +/** + * @ingroup actors-objects + * @class daObjTOMBO_c + * @brief Insect - Dragonfly + * + * @details + * + */ +class daObjTOMBO_c : public fopAc_ac_c { +public: + /* 80D19200 */ void InitCcSph(); + /* 80D1926C */ void SetCcSph(); + /* 80D192E4 */ void CreateHeap(); + /* 80D19658 */ void WaitAction(); + /* 80D19744 */ void SpeedSet(); + /* 80D19834 */ void CheckWater(); + /* 80D199F4 */ void CheckGround(); + /* 80D19B48 */ void CheckWall(); + /* 80D19C34 */ void SearchLink(); + /* 80D19E48 */ void LinkAction(); + /* 80D1A138 */ void MoveAction(); + /* 80D1A280 */ void Action(); + /* 80D1A3EC */ void ShopAction(); + /* 80D1A514 */ void Insect_Release(); + /* 80D1A524 */ void ParticleSet(); + /* 80D1A648 */ void BoomChk(); + /* 80D1A904 */ void Execute(); + /* 80D1AB20 */ void ObjHit(); + /* 80D1AC84 */ void Z_BufferChk(); + /* 80D1AE00 */ void Delete(); + /* 80D1AE68 */ void setBaseMtx(); + /* 80D1AFC8 */ void CreateChk(); + /* 80D1B174 */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0xa18 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjTOMBO_c) == 0xa18); + +class daObj_TomHIO_c { +public: + /* 80D191CC */ daObj_TomHIO_c(); + /* 80D1B618 */ ~daObj_TomHIO_c(); +}; + #endif /* D_A_OBJ_TOMBO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h b/include/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h index 5054279192..c25aabc042 100644 --- a/include/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h +++ b/include/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h @@ -4,6 +4,14 @@ #include "d/com/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjTrnd_c + * @brief Tornado + * + * @details + * + */ class daObjTrnd_c : public fopAc_ac_c { public: /* 80D1B998 */ void setPntWind(); @@ -22,6 +30,7 @@ public: u32 getTimer() { return fopAcM_GetParamBit(this, 0, 8); } u32 getSwbit() { return fopAcM_GetParamBit(this, 0x18, 8); } +private: /* 0x568 */ dCcD_Stts mStts; /* 0x5A4 */ dCcD_Cps mCps; /* 0x6E8 */ cM3dGCpsS field_0x6e8; @@ -31,6 +40,7 @@ public: /* 0x73C */ f32 field_0x73c; /* 0x740 */ WIND_INFLUENCE mWindInfluence; /* 0x76C */ f32 mWindPower; -}; // Size: 0x770 +}; +STATIC_ASSERT(sizeof(daObjTrnd_c) == 0x770); #endif /* D_A_OBJ_TORNADO_H */ diff --git a/include/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h b/include/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h index 53067ba394..49d1fe893e 100644 --- a/include/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h +++ b/include/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h @@ -4,7 +4,16 @@ #include "f_op/f_op_actor_mng.h" #include "d/cc/d_cc_d.h" -struct daObjTrnd2_c : public fopAc_ac_c { +/** + * @ingroup actors-objects + * @class daObjTrnd2_c + * @brief Tornado 2 + * + * @details + * + */ +class daObjTrnd2_c : public fopAc_ac_c { +public: /* 80D1C4D8 */ void setPntWind(); /* 80D1C54C */ void cutPntWind(); /* 80D1C570 */ void movePntWind(); @@ -45,5 +54,6 @@ struct daObjTrnd2_c : public fopAc_ac_c { /* 0x778 */ bool field_0x778; /* 0x778 */ JPABaseEmitter* mParticles[3]; }; +STATIC_ASSERT(sizeof(daObjTrnd2_c) == 0x788); #endif /* D_A_OBJ_TORNADO2_H */ diff --git a/include/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h b/include/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h index a63729f98e..8d37899be9 100644 --- a/include/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h +++ b/include/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h @@ -1,5 +1,21 @@ #ifndef D_A_OBJ_TP_H #define D_A_OBJ_TP_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_tp_class + * @brief Shadow Beast Barrier Pole (Twilight Pole) + * + * @details + * + */ +class obj_tp_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x784 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_tp_class) == 0x784); + #endif /* D_A_OBJ_TP_H */ diff --git a/include/rel/d/a/obj/d_a_obj_treesh/d_a_obj_treesh.h b/include/rel/d/a/obj/d_a_obj_treesh/d_a_obj_treesh.h index 8b02b4d33b..e2a6c026ce 100644 --- a/include/rel/d/a/obj/d_a_obj_treesh/d_a_obj_treesh.h +++ b/include/rel/d/a/obj/d_a_obj_treesh/d_a_obj_treesh.h @@ -1,6 +1,37 @@ #ifndef D_A_OBJ_TREESH_H #define D_A_OBJ_TREESH_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTreeSh_c + * @brief Conifer Tree + * + * @details + * + */ +class daTreeSh_c : public fopAc_ac_c { +public: + /* 80D1F258 */ void initBaseMtx(); + /* 80D1F294 */ void setBaseMtx(); + /* 80D1F2E8 */ void CreateHeap(); + /* 80D1F358 */ void Create(); + /* 80D1F414 */ void create1st(); + /* 80D1F49C */ void Execute(f32 (**)[3][4]); + /* 80D1F648 */ void Draw(); + /* 80D1F6EC */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5cc - 0x568]; +}; +STATIC_ASSERT(sizeof(daTreeSh_c) == 0x5cc); + +class daTreeSh_HIO_c { +public: + /* 80D1F0CC */ daTreeSh_HIO_c(); + /* 80D1F81C */ ~daTreeSh_HIO_c(); +}; + #endif /* D_A_OBJ_TREESH_H */ diff --git a/include/rel/d/a/obj/d_a_obj_twGate/d_a_obj_twGate.h b/include/rel/d/a/obj/d_a_obj_twGate/d_a_obj_twGate.h index 13ab7da0fd..9697d9d1a0 100644 --- a/include/rel/d/a/obj/d_a_obj_twGate/d_a_obj_twGate.h +++ b/include/rel/d/a/obj/d_a_obj_twGate/d_a_obj_twGate.h @@ -1,6 +1,33 @@ #ifndef D_A_OBJ_TWGATE_H #define D_A_OBJ_TWGATE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daTwGate_c + * @brief Twilight Gate (Wall?) + * + * @details + * + */ +class daTwGate_c : public fopAc_ac_c { +public: + /* 80D1FB84 */ void setBaseMtx(); + /* 80D1FC0C */ void CreateHeap(); + /* 80D1FD44 */ void create(); + /* 80D1FFA4 */ void Execute(f32 (**)[3][4]); + /* 80D200B4 */ void Draw(); + /* 80D20180 */ void Delete(); +private: + /* 0x568 */ u8 field_0x568[0x5fc - 0x568]; +}; +STATIC_ASSERT(sizeof(daTwGate_c) == 0x5fc); + +class daTwGate_HIO_c { +public: + /* 80D1FAAC */ daTwGate_HIO_c(); + /* 80D2024C */ ~daTwGate_HIO_c(); +}; #endif /* D_A_OBJ_TWGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h b/include/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h index 5ff475c072..a6ac5259ac 100644 --- a/include/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h +++ b/include/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h @@ -1,5 +1,21 @@ #ifndef D_A_OBJ_UDOOR_H #define D_A_OBJ_UDOOR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class obj_udoor_class + * @brief Stable Door + * + * @details + * + */ +class obj_udoor_class : public fopAc_ac_c { +private: + /* 0x568 */ u8 field_0x568[0x754 - 0x568]; +}; +STATIC_ASSERT(sizeof(obj_udoor_class) == 0x754); + #endif /* D_A_OBJ_UDOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_usaku/d_a_obj_usaku.h b/include/rel/d/a/obj/d_a_obj_usaku/d_a_obj_usaku.h index 3a2b658320..6bf2ea6114 100644 --- a/include/rel/d/a/obj/d_a_obj_usaku/d_a_obj_usaku.h +++ b/include/rel/d/a/obj/d_a_obj_usaku/d_a_obj_usaku.h @@ -5,6 +5,14 @@ class dBgW; +/** + * @ingroup actors-objects + * @class obj_usaku_class + * @brief Horse Fence + * + * @details + * + */ class obj_usaku_class : public fopAc_ac_c { public: /* 0x568 */ request_of_phase_process_class mPhase; @@ -14,5 +22,6 @@ public: /* 0x580 */ Mtx mBgMtx; /* 0x5B0 */ dBgW* mpBgW; }; +STATIC_ASSERT(sizeof(obj_usaku_class) == 0x5B4); #endif /* D_A_OBJ_USAKU_H */ diff --git a/include/rel/d/a/obj/d_a_obj_vground/d_a_obj_vground.h b/include/rel/d/a/obj/d_a_obj_vground/d_a_obj_vground.h index 620fbaf476..4078fe8db5 100644 --- a/include/rel/d/a/obj/d_a_obj_vground/d_a_obj_vground.h +++ b/include/rel/d/a/obj/d_a_obj_vground/d_a_obj_vground.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjVGnd_c + * @brief Volcano Ground + * + * @details + * + */ class daObjVGnd_c : public fopAc_ac_c { public: /* 80D213F8 */ void initBaseMtx(); @@ -16,10 +24,11 @@ public: u32 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); } +private: /* 0x568 */ request_of_phase_process_class mPhaseReq; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ mDoExt_btkAnm* mpBtk; /* 0x578 */ mDoExt_brkAnm* mpBrk; -}; // Size: 0x57C - +}; +STATIC_ASSERT(sizeof(daObjVGnd_c) == 0x57C); #endif /* D_A_OBJ_VGROUND_H */ diff --git a/include/rel/d/a/obj/d_a_obj_volcball/d_a_obj_volcball.h b/include/rel/d/a/obj/d_a_obj_volcball/d_a_obj_volcball.h index 6fcaead2f6..d18d19dc9b 100644 --- a/include/rel/d/a/obj/d_a_obj_volcball/d_a_obj_volcball.h +++ b/include/rel/d/a/obj/d_a_obj_volcball/d_a_obj_volcball.h @@ -1,5 +1,140 @@ #ifndef D_A_OBJ_VOLCBALL_H #define D_A_OBJ_VOLCBALL_H +#include "f_op/f_op_actor_mng.h" +#include "d/event/d_event_lib.h" +#include "d/cc/d_cc_d.h" +#include "d/bg/d_bg_s_acch.h" +#include "d/particle/d_particle.h" + +/** + * @ingroup actors-objects + * @class daObjVolcBall_c + * @brief Volcano Ball + * + * @details + * + */ +class daObjVolcBall_c : public fopAc_ac_c, public dEvLib_callback_c { +public: + enum mode_e { + /* 0 */ MODE_PLAYER_WAIT, + /* 1 */ MODE_SWITCH_WAIT, + /* 2 */ MODE_STOP, + /* 3 */ MODE_QUAKE, + /* 4 */ MODE_ERUPT, + /* 5 */ MODE_END, + }; + + struct vball_s { + /* 80D21FA8 */ ~vball_s(); + /* 80D2214C */ vball_s(); + + /* 0x000 */ J3DModel* mpModel; + /* 0x004 */ cXyz field_0x4; + /* 0x010 */ cXyz field_0x10; + /* 0x01C */ cXyz field_0x1c; + /* 0x028 */ cXyz field_0x28; + /* 0x034 */ csXyz field_0x34; + /* 0x03C */ cXyz field_0x3c; + /* 0x048 */ f32 field_0x48; + /* 0x04C */ f32 field_0x4c; + /* 0x050 */ f32 field_0x50; + /* 0x054 */ dBgS_ObjAcch mAcch; + /* 0x22C */ dCcD_Sph mSphCc; + /* 0x364 */ cXyz field_0x364; + /* 0x370 */ u32 field_0x370; + /* 0x374 */ s16 field_0x374; + /* 0x376 */ u8 field_0x376; + /* 0x378 */ csXyz field_0x378; + /* 0x37E */ u8 field_0x37E[0x0390 - 0x037E]; + /* 0x390 */ dPa_followEcallBack field_0x390[4]; + }; + + class volc_param_c { + public: + /* 0x00 */ f32 mGravity; + /* 0x04 */ f32 mMaxFallSpeed; + /* 0x08 */ f32 mBallSpeedH; + /* 0x0C */ f32 mBallSetShortRange; + /* 0x10 */ f32 mBallSetRandom; + /* 0x14 */ f32 mNormalScale; + /* 0x18 */ f32 mScaleRandValue; + /* 0x1C */ f32 mNormalInterval; + /* 0x20 */ f32 mRandInterval; + /* 0x24 */ f32 mNormalWaitTime; + /* 0x28 */ f32 mRandWaitTime; + /* 0x2C */ f32 mNormalWarningTime; + /* 0x30 */ f32 mRandWarningTime; + /* 0x34 */ f32 mNormalEruptTime; + /* 0x38 */ f32 mRandEruptTime; + /* 0x3C */ f32 mSearchBallFreq; + /* 0x40 */ f32 mSearchBallBaseScale; + /* 0x44 */ f32 mSearchBallRandScale; + /* 0x48 */ f32 mSearchBallSetHeight; + /* 0x4C */ f32 mSearchBallShadowIntensity; + /* 0x50 */ u8 mSearchBallCreateTime; + /* 0x51 */ u8 mPlayerSearchTime; + }; + + daObjVolcBall_c() : dEvLib_callback_c(this) {} + + /* 80D21B18 */ volc_param_c* getData(); + /* 80D21BA0 */ void initBaseMtx(); + /* 80D21BC0 */ void setBaseMtx(); + /* 80D21C40 */ int Create(); + /* 80D21D80 */ int CreateHeap(); + /* 80D21E28 */ int create(); + /* 80D22424 */ int execute(); + /* 80D22484 */ void action(); + /* 80D22570 */ void initActionPlayerWait(); + /* 80D2257C */ void initActionWarning(); + /* 80D225A4 */ void initActionSwWait(); + /* 80D225B0 */ void actionPlayerWait(); + /* 80D2267C */ void actionSwWait(); + /* 80D22724 */ void actionStop(); + /* 80D227E4 */ void actionWarning(); + /* 80D22944 */ void actionEruption(); + /* 80D22C6C */ void initActionEnd(); + /* 80D22CD4 */ void actionEnd(); + /* 80D22E24 */ void setEruptEffect(int); + /* 80D22ED4 */ void setFallEffect(int); + /* 80D22FCC */ void endFallEffect(int); + /* 80D23034 */ bool createSearchBall(); + /* 80D23188 */ bool createNormalBall(); + /* 80D23438 */ int executeBall(); + /* 80D23868 */ void startQuake(); + /* 80D23904 */ int draw(); + /* 80D23A0C */ int _delete(); + + /* 80D23B24 */ virtual ~daObjVolcBall_c(); + /* 80D22DDC */ virtual BOOL eventStart(); + + u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); } + u8 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); } + u8 checkBigVolc() { return fopAcM_GetParamBit(this, 0x1F, 1); } + u8 getEvNo() { return fopAcM_GetParamBit(this, 0x10, 8); } + + void setAction(u8 i_action) { mMode = i_action; } + +private: + /* 0x057C */ request_of_phase_process_class mPhase; + /* 0x0584 */ dBgS_AcchCir mAcchCir; + /* 0x05C4 */ dCcD_Stts mCcStts; + /* 0x0600 */ u8 mIsBigVolc; + /* 0x0601 */ u8 mMode; + /* 0x0602 */ u8 mNormalBallCreateTimer; + /* 0x0603 */ u8 field_0x603; + /* 0x0604 */ u32 mTime; + /* 0x0608 */ u32 mSearchBallCreateTimer; + /* 0x060C */ vball_s mBall[9]; + /* 0x28EC */ Mtx field_0x28ec; + /* 0x291C */ f32 field_0x291c; + /* 0x2920 */ u32 mBigVolcActorID; + /* 0x2924 */ u8 field_0x2924; + /* 0x2925 */ u8 field_0x2925; + /* 0x2926 */ u8 field_0x2926; +}; +STATIC_ASSERT(sizeof(daObjVolcBall_c) == 0x2928); #endif /* D_A_OBJ_VOLCBALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h b/include/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h index c66639dc1a..e874e621a5 100644 --- a/include/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h +++ b/include/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h @@ -1,5 +1,69 @@ #ifndef D_A_OBJ_VOLCBOM_H #define D_A_OBJ_VOLCBOM_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjVolcBom_c + * @brief Volcano Bomb? + * + * @details + * + */ +class daObjVolcBom_c : public fopAc_ac_c { +public: + /* 80D241E0 */ void initBaseMtx(); + /* 80D24238 */ void setBaseMtx(); + /* 80D242A8 */ void Create(); + /* 80D244E0 */ void CreateHeap(); + /* 80D248F4 */ void create1st(); + /* 80D249D0 */ void Execute(f32 (**)[3][4]); + /* 80D24A2C */ void mode_proc_call(); + /* 80D24B18 */ void init_modeWaitAppear(); + /* 80D24B6C */ void modeWaitAppear(); + /* 80D24D80 */ void init_modeFall(); + /* 80D24E50 */ void modeFall(); + /* 80D25024 */ void init_modeWaitEndFallDemo(); + /* 80D25038 */ void modeWaitEndFallDemo(); + /* 80D25094 */ void init_modeWait(); + /* 80D25100 */ void modeWait(); + /* 80D25178 */ void clrDzb(); + /* 80D251CC */ void setDzb(); + /* 80D25224 */ void appear(); + /* 80D25230 */ void disappear(); + /* 80D2523C */ void setSmoke(); + /* 80D252C8 */ void checkTalkDistance(); + /* 80D25364 */ void calcMidnaWaitPos(); + /* 80D253FC */ void setSrcEffect(); + /* 80D25528 */ void setBindEffect(); + /* 80D255F4 */ void followBindEffect(); + /* 80D25664 */ void endBindEffect(); + /* 80D256B8 */ void followSrcEffect(); + /* 80D25758 */ void endSrcEffect(); + /* 80D257E4 */ void event_proc_call(); + /* 80D25914 */ void orderZHintEvent(); + /* 80D25A08 */ void actionWait(); + /* 80D25B04 */ void actionOrderEvent(); + /* 80D25CA0 */ void actionOrderATalkEvent(); + /* 80D25DEC */ void actionTalkEvent(); + /* 80D25E78 */ void actionWarpEvent(); + /* 80D25EE4 */ void actionDead(); + /* 80D25EE8 */ void demoProc(); + /* 80D26468 */ void calcObjPos(); + /* 80D264E8 */ void Draw(); + /* 80D266FC */ void Delete(); + + void startFall() { field_0x95f = 1; } + void startSearch() { field_0x960 = 1; } + +private: + /* 0x568 */ u8 field_0x568[0x95F - 0x568]; + /* 0x95F */ u8 field_0x95f; + /* 0x960 */ u8 field_0x960; + /* 0x961 */ u8 field_0x961[0xA1C - 0x961]; +}; +STATIC_ASSERT(sizeof(daObjVolcBom_c) == 0xa1c); + #endif /* D_A_OBJ_VOLCBOM_H */ diff --git a/include/rel/d/a/obj/d_a_obj_warp_kbrg/d_a_obj_warp_kbrg.h b/include/rel/d/a/obj/d_a_obj_warp_kbrg/d_a_obj_warp_kbrg.h index 90928ff3e7..b911461441 100644 --- a/include/rel/d/a/obj/d_a_obj_warp_kbrg/d_a_obj_warp_kbrg.h +++ b/include/rel/d/a/obj/d_a_obj_warp_kbrg/d_a_obj_warp_kbrg.h @@ -1,6 +1,56 @@ #ifndef D_A_OBJ_WARP_KBRG_H #define D_A_OBJ_WARP_KBRG_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjWarpKBrg_c + * @brief Warp K Bridge (Kakariko Gorge Bridge?) + * + * @details + * + */ +class daObjWarpKBrg_c : public fopAc_ac_c { +public: + /* 80D26FA8 */ void initBaseMtx(); + /* 80D27008 */ void setBaseMtx(); + /* 80D270C4 */ void Create(); + /* 80D27300 */ void CreateHeap(); + /* 80D276B4 */ void create1st(); + /* 80D2781C */ void Execute(f32 (**)[3][4]); + /* 80D27890 */ void event_proc_call(); + /* 80D27A38 */ void orderZHintEvent(); + /* 80D27B2C */ void actionWait(); + /* 80D27C6C */ void actionOrderEvent(); + /* 80D27E08 */ void actionWaitWarpEvent(); + /* 80D27ED0 */ void actionOrderATalkEvent(); + /* 80D28040 */ void actionTalkEvent(); + /* 80D280CC */ void actionWarpEvent(); + /* 80D28144 */ void actionDead(); + /* 80D28148 */ void actionWait2(); + /* 80D2814C */ void actionOrderEvent2(); + /* 80D281E4 */ void actionWarpEvent2(); + /* 80D28248 */ void actionDead2(); + /* 80D2824C */ void demoProc(); + /* 80D28A50 */ void calcObjPos(); + /* 80D28AE0 */ void checkTalkDistance(); + /* 80D28B7C */ void calcMidnaWaitPos(); + /* 80D28C10 */ void setBindEffect(); + /* 80D28CDC */ void followBindEffect(); + /* 80D28D4C */ void setSrcEffect(); + /* 80D28E9C */ void setDstEffect(); + /* 80D28FEC */ void followSrcEffect(); + /* 80D290A8 */ void followDstEffect(); + /* 80D29158 */ void endSrcEffect(); + /* 80D291FC */ void endDstEffect(); + /* 80D292A0 */ void Draw(); + /* 80D29448 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x69c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjWarpKBrg_c) == 0x69c); + #endif /* D_A_OBJ_WARP_KBRG_H */ diff --git a/include/rel/d/a/obj/d_a_obj_warp_obrg/d_a_obj_warp_obrg.h b/include/rel/d/a/obj/d_a_obj_warp_obrg/d_a_obj_warp_obrg.h index 636cdd3c7c..d5536b17f0 100644 --- a/include/rel/d/a/obj/d_a_obj_warp_obrg/d_a_obj_warp_obrg.h +++ b/include/rel/d/a/obj/d_a_obj_warp_obrg/d_a_obj_warp_obrg.h @@ -1,6 +1,42 @@ #ifndef D_A_OBJ_WARP_OBRG_H #define D_A_OBJ_WARP_OBRG_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjWarpOBrg_c + * @brief Warp O Bridge (Eldin Bridge?) + * + * @details + * + */ +class daObjWarpOBrg_c : public fopAc_ac_c { +public: + /* 80D299B8 */ void initBaseMtx(); + /* 80D29A00 */ void setBaseMtx(); + /* 80D29ACC */ void Create(); + /* 80D29BB4 */ void CreateHeap(); + /* 80D29E7C */ void create1st(); + /* 80D2A008 */ void Execute(f32 (**)[3][4]); + /* 80D2A04C */ void event_proc_call(); + /* 80D2A194 */ void actionWait(); + /* 80D2A4CC */ void actionOrderEvent(); + /* 80D2A740 */ void actionTalkEvent(); + /* 80D2A7C4 */ void actionWarpEvent(); + /* 80D2A93C */ void actionOrderEventDst(); + /* 80D2A9E4 */ void actionWarpEventDst(); + /* 80D2AA30 */ void actionDead(); + /* 80D2AA34 */ void demoProc(); + /* 80D2B3BC */ void checkTalkDistance(); + /* 80D2B534 */ void calcMidnaWaitPos(); + /* 80D2B5C8 */ void Draw(); + /* 80D2B6C0 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x640 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjWarpOBrg_c) == 0x640); + #endif /* D_A_OBJ_WARP_OBRG_H */ diff --git a/include/rel/d/a/obj/d_a_obj_waterGate/d_a_obj_waterGate.h b/include/rel/d/a/obj/d_a_obj_waterGate/d_a_obj_waterGate.h index 7d3d909b2d..9f3d4475f6 100644 --- a/include/rel/d/a/obj/d_a_obj_waterGate/d_a_obj_waterGate.h +++ b/include/rel/d/a/obj/d_a_obj_waterGate/d_a_obj_waterGate.h @@ -1,6 +1,44 @@ #ifndef D_A_OBJ_WATERGATE_H #define D_A_OBJ_WATERGATE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daWtGate_c + * @brief Water Gate + * + * @details + * + */ +class daWtGate_c : public fopAc_ac_c { +public: + /* 80D2BC0C */ void setBaseMtx(); + /* 80D2BC94 */ void CreateHeap(); + /* 80D2BD00 */ void create(); + /* 80D2BE7C */ void Execute(f32 (**)[3][4]); + /* 80D2BECC */ void move(); + /* 80D2BF88 */ void init_modeWait(); + /* 80D2BF94 */ void modeWait(); + /* 80D2C010 */ void init_modeOpen(); + /* 80D2C02C */ void modeOpen(); + /* 80D2C134 */ void init_modeClose(); + /* 80D2C150 */ void modeClose(); + /* 80D2C250 */ void init_modeEnd(); + /* 80D2C25C */ void modeEnd(); + /* 80D2C260 */ void Draw(); + /* 80D2C304 */ void Delete(); + +private: + /* 0x568 */ u8 field_0x568[0x5bc - 0x568]; +}; +STATIC_ASSERT(sizeof(daWtGate_c) == 0x5bc); + +class daWtGate_HIO_c { +public: + /* 80D2BB8C */ daWtGate_HIO_c(); + /* 80D2C3C0 */ ~daWtGate_HIO_c(); +}; + #endif /* D_A_OBJ_WATERGATE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_waterPillar/d_a_obj_waterPillar.h b/include/rel/d/a/obj/d_a_obj_waterPillar/d_a_obj_waterPillar.h index 1b5422f06b..2e7534b11b 100644 --- a/include/rel/d/a/obj/d_a_obj_waterPillar/d_a_obj_waterPillar.h +++ b/include/rel/d/a/obj/d_a_obj_waterPillar/d_a_obj_waterPillar.h @@ -1,6 +1,68 @@ #ifndef D_A_OBJ_WATERPILLAR_H #define D_A_OBJ_WATERPILLAR_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daWtPillar_c + * @brief Water Column + * + * @details + * + */ +class daWtPillar_c : public fopAc_ac_c { +public: + /* 80D2C7B0 */ void setBaseMtx(); + /* 80D2C838 */ void createHeapCallBack(fopAc_ac_c*); + /* 80D2C858 */ void CreateHeap(); + /* 80D2C960 */ void create(); + /* 80D2CC0C */ void execute(); + /* 80D2CE4C */ void actionMain(); + /* 80D2CF98 */ void effectSet(); + /* 80D2D278 */ void effectSet2(); + /* 80D2D3FC */ void actionSwWaitInit(); + /* 80D2D408 */ void actionSwWait(); + /* 80D2D488 */ void eventStart(); + /* 80D2D4AC */ void actionWaitInit(); + /* 80D2D588 */ void actionWait(); + /* 80D2D5C0 */ void actionUpFirstInit(); + /* 80D2D6C4 */ void actionUpFirst(); + /* 80D2D73C */ void actionUpFirstWaitInit(); + /* 80D2D780 */ void actionUpFirstWait(); + /* 80D2D7B8 */ void actionUpInit(); + /* 80D2D850 */ void actionUp(); + /* 80D2D95C */ void actionUpWaitInit(); + /* 80D2D9A0 */ void actionUpWait(); + /* 80D2DA58 */ void actionDownInit(); + /* 80D2DA78 */ void actionDown(); + /* 80D2DB68 */ void actionRockWaitInit(); + /* 80D2DB74 */ void actionRockWait(); + /* 80D2DC20 */ void actionRockOnInit(); + /* 80D2DC2C */ void actionRockOn(); + /* 80D2DD0C */ void actionEndInit(); + /* 80D2DD18 */ void actionEnd(); + /* 80D2DDB0 */ void getPillarHeight(); + /* 80D2DDB8 */ void draw(); + /* 80D2DE84 */ void _delete(); + /* 80D2E054 */ daWtPillar_c(); + /* 80D2E430 */ ~daWtPillar_c(); + + static u8 const mCcDObjInfo[48]; + static u8 const mCcDObjCoInfo[48]; + static u8 mCcDCps[76]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0xb7c - 0x568]; +}; +STATIC_ASSERT(sizeof(daWtPillar_c) == 0xb7c); + +class daWtPillar_HIO_c { +public: + /* 80D2C6CC */ daWtPillar_HIO_c(); + /* 80D2DF34 */ ~daWtPillar_HIO_c(); +}; + #endif /* D_A_OBJ_WATERPILLAR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h b/include/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h index aceb02aa1b..17af9916b0 100644 --- a/include/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h +++ b/include/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h @@ -1,5 +1,33 @@ #ifndef D_A_OBJ_WATERFALL_H #define D_A_OBJ_WATERFALL_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjWaterFall_c + * @brief Waterfall + * + * @details + * + */ +class daObjWaterFall_c : public fopAc_ac_c { +public: + /* 80D2ED14 */ void search_bomb(); + /* 80D2F034 */ void search_arrow(); + /* 80D2F324 */ void initBaseMtx(); + /* 80D2F344 */ void setBaseMtx(); + /* 80D2F39C */ void Create(); + /* 80D2F5A0 */ void create(); + /* 80D2F984 */ void execute(); + /* 80D2FA6C */ void push_player(); + /* 80D2FC94 */ bool draw(); + /* 80D2FC9C */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0x9cc - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjWaterFall_c) == 0x9cc); + #endif /* D_A_OBJ_WATERFALL_H */ diff --git a/include/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h b/include/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h index 17f0d5760a..4ebf2dfbba 100644 --- a/include/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h +++ b/include/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h @@ -22,6 +22,14 @@ public: }; #endif +/** + * @ingroup actors-objects + * @class daObjWchain_c + * @brief Wolf Chain + * + * @details + * + */ class daObjWchain_c : public fopAc_ac_c { public: /* 80D2FEF8 */ int createHeap(); @@ -56,7 +64,8 @@ public: void onEndFlg() { mEnd = true; } bool getEndFlg() { return mEnd; } void onNowSwitchFlg() { mDown = mNowSwitch = true; } - + +private: /* 0x568 */ request_of_phase_process_class mPhaseReq; /* 0x570 */ J3DModel* mpHandleModel; /* 0x574 */ J3DModelData* mpChainModelData; @@ -82,7 +91,6 @@ public: /* 0x7AC */ f32 mRealRoofY; /* 0x7B0 */ cXyz mRoofPos; }; - STATIC_ASSERT(sizeof(daObjWchain_c) == 0x7BC); #endif /* D_A_OBJ_WCHAIN_H */ diff --git a/include/rel/d/a/obj/d_a_obj_wdStick/d_a_obj_wdStick.h b/include/rel/d/a/obj/d_a_obj_wdStick/d_a_obj_wdStick.h index 3f067dcc11..d23b6c4aa8 100644 --- a/include/rel/d/a/obj/d_a_obj_wdStick/d_a_obj_wdStick.h +++ b/include/rel/d/a/obj/d_a_obj_wdStick/d_a_obj_wdStick.h @@ -1,6 +1,56 @@ #ifndef D_A_OBJ_WDSTICK_H #define D_A_OBJ_WDSTICK_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daWdStick_c + * @brief Wooden Stick + * + * @details + * + */ +class daWdStick_c : public fopAc_ac_c { +public: + /* 80D31BD0 */ void setBaseMtx(); + /* 80D31C58 */ void CreateHeap(); + /* 80D31CC4 */ void create(); + /* 80D32168 */ void createHeapCallBack(fopAc_ac_c*); + /* 80D32194 */ void lightInit(); + /* 80D32198 */ void setLight(); + /* 80D3219C */ void setFire(); + /* 80D3269C */ void Execute(); + /* 80D32DB4 */ void bgCheck(); + /* 80D33348 */ void setBoundSe(); + /* 80D333F4 */ void mode_proc_call(); + /* 80D3350C */ void mode_init_wait(); + /* 80D3353C */ void mode_proc_wait(); + /* 80D33588 */ void mode_init_carry(); + /* 80D335AC */ void mode_proc_carry(); + /* 80D3386C */ void mode_init_drop(); + /* 80D33890 */ void mode_proc_drop(); + /* 80D338DC */ void mode_init_roll(); + /* 80D338F4 */ void mode_proc_roll(); + /* 80D33D44 */ void chkWaterLineIn(); + /* 80D33D68 */ void mode_init_sink(); + /* 80D33D8C */ void mode_proc_sink(); + /* 80D33EB0 */ void Draw(); + /* 80D33F14 */ void Delete(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDSph[64]; + +private: + /* 0x568 */ u8 field_0x568[0xaf8 - 0x568]; +}; +STATIC_ASSERT(sizeof(daWdStick_c) == 0xaf8); + +class daWdStick_HIO_c { +public: + /* 80D31B4C */ daWdStick_HIO_c(); + /* 80D34030 */ ~daWdStick_HIO_c(); +}; + #endif /* D_A_OBJ_WDSTICK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.h b/include/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.h index 0bebd778e9..83aaf7ec19 100644 --- a/include/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.h +++ b/include/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class obj_web0_class + * @brief Wall Web + * + * @details + * + */ class obj_web0_class : public fopAc_ac_c { public: /* 0x568 */ request_of_phase_process_class mPhase; @@ -22,7 +30,8 @@ public: /* 0x600 */ dCcD_Sph mSphCc; /* 0x738 */ u8 mDeleteTimer; /* 0x739 */ u8 field_0x739; -}; // Size: 0x73C +}; +STATIC_ASSERT(sizeof(obj_web0_class) == 0x73C); class daObj_Web0_HIO_c { public: diff --git a/include/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.h b/include/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.h index 54f73702cc..fff17277ad 100644 --- a/include/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.h +++ b/include/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.h @@ -3,6 +3,14 @@ #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class obj_web1_class + * @brief Floor Web + * + * @details + * + */ class obj_web1_class : public fopAc_ac_c { public: /* 0x568 */ request_of_phase_process_class mPhase; @@ -27,7 +35,8 @@ public: /* 0x5F4 */ dCcD_Stts mStts; /* 0x630 */ dCcD_Cyl mCylCc; /* 0x76C */ u8 field_0x76c; -}; // Size: 0x770 +}; +STATIC_ASSERT(sizeof(obj_web1_class) == 0x770); class daObj_Web1_HIO_c { public: diff --git a/include/rel/d/a/obj/d_a_obj_well_cover/d_a_obj_well_cover.h b/include/rel/d/a/obj/d_a_obj_well_cover/d_a_obj_well_cover.h index f171efe9ee..88b8e86532 100644 --- a/include/rel/d/a/obj/d_a_obj_well_cover/d_a_obj_well_cover.h +++ b/include/rel/d/a/obj/d_a_obj_well_cover/d_a_obj_well_cover.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" +/** + * @ingroup actors-objects + * @class daObjWCover_c + * @brief Graveyard Well Cover + * + * @details + * + */ class daObjWCover_c : public dBgS_MoveBgActor { public: /* 80D36298 */ void initBaseMtx(); @@ -21,10 +29,12 @@ public: u8 getSwNo() { return fopAcM_GetParam(this); } +private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ u8 field_0x5AC[0x5B0 - 0x5AC]; /* 0x5B0 */ u8 field_0x5b0; -}; // Size: 0x5B4 +}; +STATIC_ASSERT(sizeof(daObjWCover_c) == 0x5B4); #endif /* D_A_OBJ_WELL_COVER_H */ diff --git a/include/rel/d/a/obj/d_a_obj_wflag/d_a_obj_wflag.h b/include/rel/d/a/obj/d_a_obj_wflag/d_a_obj_wflag.h index 302d0eaf42..23d752004c 100644 --- a/include/rel/d/a/obj/d_a_obj_wflag/d_a_obj_wflag.h +++ b/include/rel/d/a/obj/d_a_obj_wflag/d_a_obj_wflag.h @@ -1,8 +1,7 @@ #ifndef D_A_OBJ_WFLAG_H #define D_A_OBJ_WFLAG_H -#include "f_op/f_op_actor.h" -#include "SSystem/SComponent/c_phase.h" +#include "f_op/f_op_actor_mng.h" struct wf_tail_s { /* 80D37720 */ ~wf_tail_s() {} @@ -17,7 +16,16 @@ struct wf_tail_s { /* 0x2A8 */ u32 field_0x2a8; }; -struct obj_wflag_class : public fopAc_ac_c { +/** + * @ingroup actors-objects + * @class obj_wflag_class + * @brief ??? + * + * @details + * + */ +class obj_wflag_class : public fopAc_ac_c { +public: /* 0x568 */ request_of_phase_process_class mPhaseReq; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ mDoExt_McaMorf* mMorf; @@ -31,5 +39,6 @@ struct obj_wflag_class : public fopAc_ac_c { /* 0x836 */ s16 field_0x836; /* 0x838 */ u32 field_0x838; }; +STATIC_ASSERT(sizeof(obj_wflag_class) == 0x83C); #endif /* D_A_OBJ_WFLAG_H */ diff --git a/include/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h b/include/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h index 7c1d81d750..b955c9fb59 100644 --- a/include/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h +++ b/include/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h @@ -4,6 +4,14 @@ #include "d/bg/d_bg_w.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daWindStone_c + * @brief Howling Stone (Hole) + * + * @details + * + */ class daWindStone_c : public fopAc_ac_c, public request_of_phase_process_class { public: /* 80D37A18 */ daWindStone_c(); @@ -28,6 +36,7 @@ public: u32 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); } u32 getDelEveFlgId() { return fopAcM_GetParamBit(this, 0x10, 0x10); } +private: /* 0x574 */ cBgS_PolyInfo mPolyInfo; /* 0x584 */ J3DModel* mpModel; /* 0x588 */ dBgW* mpBgW; @@ -36,5 +45,6 @@ public: /* 0x5C0 */ u32 field_0x5c0; /* 0x5C4 */ u8 field_0x5c4; }; +STATIC_ASSERT(sizeof(daWindStone_c) == 0x5C8); #endif /* D_A_OBJ_WIND_STONE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_window/d_a_obj_window.h b/include/rel/d/a/obj/d_a_obj_window/d_a_obj_window.h index 7608d00dfa..5450244bae 100644 --- a/include/rel/d/a/obj/d_a_obj_window/d_a_obj_window.h +++ b/include/rel/d/a/obj/d_a_obj_window/d_a_obj_window.h @@ -5,6 +5,14 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/cc/d_cc_d.h" +/** + * @ingroup actors-objects + * @class daObjWindow_c + * @brief Destructable Kakariko Village Window + * + * @details + * + */ class daObjWindow_c : public dBgS_MoveBgActor { public: /* 80D38758 */ void initBaseMtx(); @@ -19,6 +27,7 @@ public: u8 getType() { return fopAcM_GetParamBit(this, 0, 8); } u8 getLightInf() { return fopAcM_GetParamBit(this, 8, 8); } +private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; /* 0x5A8 */ J3DModel* mpModel; /* 0x5AC */ mDoExt_bckAnm* mpBckAnm; diff --git a/include/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h b/include/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h index d2214e5d85..c409f378c8 100644 --- a/include/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h +++ b/include/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h @@ -3,5 +3,42 @@ #include "d/com/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjWPndlm_c + * @brief Wooden Pendulum + * + * @details + * + */ +class daObjWPndlm_c : public fopAc_ac_c { +public: +public: + /* 80D39418 */ void initBaseMtx(); + /* 80D39454 */ void setBaseMtx(); + /* 80D394CC */ int Create(); + /* 80D395C8 */ int CreateHeap(); + /* 80D39638 */ int create(); + /* 80D39978 */ int execute(); + /* 80D39B68 */ int draw(); + /* 80D39BCC */ int _delete(); + + u32 getArg0() { return fopAcM_GetParamBit(this, 0, 8); } + u32 getArg1() { return fopAcM_GetParamBit(this, 8, 8); } + +private: + /* 0x568 */ request_of_phase_process_class mPhaseReq; + /* 0x570 */ J3DModel* mpModel; + /* 0x574 */ dCcD_Stts mStts; + /* 0x5B0 */ dCcD_Sph mSph; + /* 0x6E8 */ dCcD_Sph field_0x6e8[2]; + /* 0x958 */ s16 field_0x958; + /* 0x95A */ s16 field_0x95a; + /* 0x95C */ s16 field_0x95c; +}; +STATIC_ASSERT(sizeof(daObjWPndlm_c) == 0x960); + #endif /* D_A_OBJ_WOOD_PENDULUM_H */ diff --git a/include/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h b/include/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h index ff3eee1d44..63b02e5434 100644 --- a/include/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h +++ b/include/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h @@ -1,5 +1,45 @@ #ifndef D_A_OBJ_WOOD_STATUE_H #define D_A_OBJ_WOOD_STATUE_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjWStatue_c + * @brief Wooden Statue + * + * @details + * + */ +class daObjWStatue_c : public fopAc_ac_c { +public: + /* 80D3A268 */ void initBaseMtx(); + /* 80D3A2A4 */ void setBaseMtx(); + /* 80D3A2F0 */ void Create(); + /* 80D3A474 */ bool __CreateHeap(); + /* 80D3A47C */ void create(); + /* 80D3A8E8 */ void bg_check(); + /* 80D3AA3C */ void actionWaitInit(); + /* 80D3AA80 */ void actionWait(); + /* 80D3AB9C */ void initActionOrderGetDemo(); + /* 80D3AC64 */ void actionOrderGetDemo(); + /* 80D3ACAC */ void actionGetDemo(); + /* 80D3AD30 */ void actionInitSwOnWait(); + /* 80D3AD88 */ void actionSwOnWait(); + /* 80D3AE7C */ void actionInitBoomerangCarry(); + /* 80D3AF5C */ void actionBoomerangCarry(); + /* 80D3AFC0 */ void demoProc(); + /* 80D3B164 */ void effectSet(); + /* 80D3B250 */ void effectStop(); + /* 80D3B2A0 */ void execute(); + /* 80D3B428 */ void draw(); + /* 80D3B47C */ void setListStart(); + /* 80D3B480 */ void _delete(); + +private: + /* 0x568 */ u8 field_0x568[0x974 - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjWStatue_c) == 0x974); + #endif /* D_A_OBJ_WOOD_STATUE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h b/include/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h index fb6f1d6383..fc07623fa5 100644 --- a/include/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h +++ b/include/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h @@ -6,6 +6,14 @@ #include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" +/** + * @ingroup actors-objects + * @class daObjWSword_c + * @brief Wooden Sword + * + * @details + * + */ class daObjWSword_c : public fopAc_ac_c { public: /* 80D3B998 */ void initBaseMtx(); @@ -17,6 +25,7 @@ public: /* 80D3BDF0 */ int draw(); /* 80D3BE54 */ int _delete(); +private: /* 0x568 */ request_of_phase_process_class mPhaseReq; /* 0x570 */ J3DModel* mpModel; /* 0x574 */ dBgS_ObjAcch mAcch; diff --git a/include/rel/d/a/obj/d_a_obj_yel_bag/d_a_obj_yel_bag.h b/include/rel/d/a/obj/d_a_obj_yel_bag/d_a_obj_yel_bag.h index 8447ccbd4d..e0e24cf389 100644 --- a/include/rel/d/a/obj/d_a_obj_yel_bag/d_a_obj_yel_bag.h +++ b/include/rel/d/a/obj/d_a_obj_yel_bag/d_a_obj_yel_bag.h @@ -1,6 +1,52 @@ #ifndef D_A_OBJ_YEL_BAG_H #define D_A_OBJ_YEL_BAG_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObj_YBag_c + * @brief Ilia's Bag + * + * @details + * + */ +class daObj_YBag_c : public fopAc_ac_c { +public: + /* 80D3C0EC */ daObj_YBag_c(); + /* 80D3C408 */ ~daObj_YBag_c(); + /* 80D3C610 */ void create(); + /* 80D3C898 */ void CreateHeap(); + /* 80D3C93C */ void Delete(); + /* 80D3C970 */ void Execute(); + /* 80D3D32C */ void Draw(); + /* 80D3D438 */ void createHeapCallBack(fopAc_ac_c*); + /* 80D3D458 */ bool getTypeFromParam(); + /* 80D3D460 */ bool isDelete(); + /* 80D3D468 */ void setEnvTevColor(); + /* 80D3D4C4 */ void setRoomNo(); + /* 80D3D508 */ void reset(); + /* 80D3D5C8 */ void setMtx(); + /* 80D3D69C */ void calcRollAngle(s16, int); + /* 80D3D73C */ void getWallAngle(s16, s16*); + /* 80D3D8CC */ void setSmokePrtcl(); + /* 80D3D948 */ void setWaterPrtcl(); + /* 80D3DA70 */ void setHamonPrtcl(); + + static u8 const mCcDObjInfo[48]; + static u8 mCcDCyl[68]; + +private: + /* 0x568 */ u8 field_0x568[0xa3c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObj_YBag_c) == 0xa3c); + +class daObj_YBag_Param_c { +public: + /* 80D3DC20 */ ~daObj_YBag_Param_c(); + + static u8 const m[44]; +}; + #endif /* D_A_OBJ_YEL_BAG_H */ diff --git a/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h b/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h index 4a4159a352..2e04b3642b 100644 --- a/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h +++ b/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h @@ -4,6 +4,14 @@ #include "d/cc/d_cc_d.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjYobikusa_c + * @brief Hawk Grass + * + * @details + * + */ class daObjYobikusa_c : public fopAc_ac_c { public: enum Mode_e { diff --git a/include/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h b/include/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h index dc8e143913..acc6a225e7 100644 --- a/include/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h +++ b/include/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h @@ -1,5 +1,42 @@ #ifndef D_A_OBJ_YOUSEI_H #define D_A_OBJ_YOUSEI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daObjYOUSEI_c + * @brief Fairy + * + * @details + * + */ +class daObjYOUSEI_c : public fopAc_ac_c { +public: + /* 804CE738 */ void InitCcSph(); + /* 804CE7A4 */ void SetCcSph(); + /* 804CE920 */ void SpeedSet(); + /* 804CE9D0 */ void MoveAction(); + /* 804CEE50 */ void BinAction(); + /* 804CF098 */ void LinkChk(); + /* 804CF6C4 */ void WaitAction(); + /* 804CFCE8 */ void LinkAction(); + /* 804D057C */ void LinkSearch(); + /* 804D065C */ void WayBgCheck(f32, f32, s16); + /* 804D0780 */ void CareAction(); + /* 804D080C */ void CheckGround(); + /* 804D0988 */ void CheckWater(); + /* 804D0AD0 */ void Action(); + /* 804D0CCC */ void ObjHit(); + /* 804D0DF0 */ void Execute(); + /* 804D0F98 */ void Delete(); + /* 804D0FCC */ void setBaseMtx(); + /* 804D111C */ void create(); + +private: + /* 0x568 */ u8 field_0x568[0xa4c - 0x568]; +}; +STATIC_ASSERT(sizeof(daObjYOUSEI_c) == 0xa4c); + #endif /* D_A_OBJ_YOUSEI_H */ diff --git a/include/rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h b/include/rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h index 6f6e3ae786..947eafef51 100644 --- a/include/rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h +++ b/include/rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h @@ -4,6 +4,14 @@ #include "SSystem/SComponent/c_phase.h" #include "f_op/f_op_actor.h" +/** + * @ingroup actors-objects + * @class obj_ystone_class + * @brief ??? (Shadow Stone?) + * + * @details + * + */ class obj_ystone_class : public fopAc_ac_c { public: void setCurrentPos(cXyz i_pos) { @@ -49,5 +57,6 @@ public: /* 0x59B */ bool field_0x59b; /* 0x59C */ u8 field_0x59c[4]; }; +STATIC_ASSERT(sizeof(obj_ystone_class) == 0x5A0); #endif /* D_A_OBJ_YSTONE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h b/include/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h index 2b91b6ccdf..fea64fd82f 100644 --- a/include/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h +++ b/include/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h @@ -3,6 +3,14 @@ #include "d/a/d_a_itembase.h" +/** + * @ingroup actors-objects + * @class daObjZCloth_c + * @brief Zora Armor? + * + * @details + * + */ class daObjZCloth_c : public daItemBase_c { public: /* 80D3EE18 */ void initBaseMtx(); @@ -12,6 +20,7 @@ public: /* 80D3F1AC */ int execute(); /* 80D3F1D0 */ int draw(); /* 80D3F200 */ int _delete(); -}; // Size: 0x92C +}; +STATIC_ASSERT(sizeof(daObjZCloth_c) == 0x92C); #endif /* D_A_OBJ_ZCLOTH_H */ diff --git a/include/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h b/include/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h index 68fef55917..426884370a 100644 --- a/include/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h +++ b/include/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h @@ -4,5 +4,43 @@ #include "d/bg/d_bg_s_movebg_actor.h" #include "d/com/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-objects + * @class daZdoor_c + * @brief Zelda Door + * + * @details + * + */ +class daZdoor_c : public dBgS_MoveBgActor { +public: + /* 80D3F65C */ void init_cyl(); + /* 80D3F740 */ void set_cyl(); + /* 80D3F884 */ void setBaseMtx(); + /* 80D3F8F8 */ int Create(); + /* 80D3F970 */ int CreateHeap(); + /* 80D3F9F0 */ int create1st(); + /* 80D3FACC */ int Execute(Mtx**); + /* 80D3FCE8 */ int Draw(); + /* 80D3FD8C */ int Delete(); + + u32 getType() { return fopAcM_GetParamBit(this, 0, 4); } + +private: + /* 0x5A0 */ request_of_phase_process_class mPhaseReq; + /* 0x5A8 */ J3DModel* mpModel; + /* 0x5AC */ dBgS_ObjAcch mObjAcch; + /* 0x784 */ dBgS_AcchCir mAcchCir; + /* 0x7C4 */ dCcD_Stts mStts; + /* 0x800 */ dCcD_Cyl field_0x800[4]; + /* 0xCF0 */ dCcD_Cyl field_0xcf0; + /* 0xE2C */ s16 field_0xe2c; + /* 0xE2E */ s16 field_0xe2e; + /* 0xE30 */ u8 field_0xe30; +}; +STATIC_ASSERT(sizeof(daZdoor_c) == 0xE34); + #endif /* D_A_OBJ_ZDOOR_H */ diff --git a/include/rel/d/a/obj/d_a_obj_zrTurara/d_a_obj_zrTurara.h b/include/rel/d/a/obj/d_a_obj_zrTurara/d_a_obj_zrTurara.h index 6699964bf2..2def7221c6 100644 --- a/include/rel/d/a/obj/d_a_obj_zrTurara/d_a_obj_zrTurara.h +++ b/include/rel/d/a/obj/d_a_obj_zrTurara/d_a_obj_zrTurara.h @@ -6,6 +6,14 @@ #include "d/cc/d_cc_d.h" #include "d/bg/d_bg_s_movebg_actor.h" +/** + * @ingroup actors-objects + * @class daZrTurara_c + * @brief Zora Drop + * + * @details + * + */ class daZrTurara_c : public dBgS_MoveBgActor { public: /* 80D405E4 */ void setBaseMtx(); @@ -21,6 +29,7 @@ public: /* 80D412B0 */ int Draw(); /* 80D41380 */ int Delete(); +private: /* 0x5A0 */ dCcD_Stts mCcStatus; /* 0x5DC */ dCcD_Cyl mCcCyl; /* 0x718 */ request_of_phase_process_class mPhaseReq; @@ -36,6 +45,7 @@ public: /* 0x764 */ u32 mParticleKey; /* 0x768 */ u8 mDebrisCount; +public: u8 getSwBit1() { return fopAcM_GetParamBit(this, 0, 8); } u8 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); } u8 getScale() { return fopAcM_GetParamBit(this, 0x10, 8); } diff --git a/include/rel/d/a/obj/d_a_obj_zrTuraraRock/d_a_obj_zrTuraraRock.h b/include/rel/d/a/obj/d_a_obj_zrTuraraRock/d_a_obj_zrTuraraRock.h index f4671583a3..c9871c893a 100644 --- a/include/rel/d/a/obj/d_a_obj_zrTuraraRock/d_a_obj_zrTuraraRock.h +++ b/include/rel/d/a/obj/d_a_obj_zrTuraraRock/d_a_obj_zrTuraraRock.h @@ -6,6 +6,14 @@ #include "d/cc/d_cc_d.h" #include "d/bg/d_bg_s_acch.h" +/** + * @ingroup actors-objects + * @class daZrTuraRc_c + * @brief Zora Drop Rock + * + * @details + * + */ class daZrTuraRc_c : public fopAc_ac_c { public: /* 80D41934 */ void setBaseMtx(); @@ -22,6 +30,7 @@ public: /* 80D42160 */ int Draw(); /* 80D421C4 */ int Delete(); +private: /* 0x568 */ dCcD_Stts mCcStatus; /* 0x5A4 */ dCcD_Sph mCcSph; /* 0x6DC */ request_of_phase_process_class mPhaseReq; @@ -33,6 +42,7 @@ public: /* 0x740 */ dBgS_ObjAcch mAcch; /* 0x918 */ Z2SoundObjSimple mSound; +public: u8 getScale() { return fopAcM_GetParamBit(this, 0, 8); } static dCcD_SrcGObjInf const mCcDObjInfo; diff --git a/include/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h b/include/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h index 0ad5de021f..0b5ca0ca3e 100644 --- a/include/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h +++ b/include/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h @@ -3,6 +3,14 @@ #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-objects + * @class daObjZraMark_c + * @brief Zora Mark + * + * @details + * + */ class daObjZraMark_c : public fopAc_ac_c { public: /* 80D42678 */ void Create(); @@ -19,6 +27,29 @@ public: /* 80D43370 */ void informBlast(); u8 getMarkNo() { return fopAcM_GetParam(this) & 0xff; } +private: + /* 0x568 */ u8 field_0x568[0x3e40 - 0x568]; }; +STATIC_ASSERT(sizeof(daObjZraMark_c) == 0x3e40); + +class _ZraMark_Hahen_c : public fopAc_ac_c { +public: + /* 80D4347C */ void create(cXyz const&, s8, s8, s8, s8); + /* 80D434F8 */ void loadModel(); + /* 80D4357C */ void init(cXyz const&, s8, s8, s8); + /* 80D43808 */ void calcSpeed(); + /* 80D43864 */ void setMtx(); + /* 80D438C8 */ void draw(); + /* 80D43B48 */ ~_ZraMark_Hahen_c(); + /* 80D43BB4 */ _ZraMark_Hahen_c(); +}; + +class _ZraMark_Hahen_Mng_c : public fopAc_ac_c { +public: + /* 80D43968 */ void create(cXyz const&, s8, s8, s8, s8); + /* 80D439F8 */ void calc(); + /* 80D43A74 */ void draw(); +}; + #endif /* D_A_OBJ_ZRAMARK_H */ diff --git a/include/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze.h b/include/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze.h index c8ddcede03..42430e2c1e 100644 --- a/include/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze.h +++ b/include/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze.h @@ -4,6 +4,14 @@ #include "SSystem/SComponent/c_phase.h" #include "f_op/f_op_actor.h" +/** + * @ingroup actors-objects + * @class daZraFreeze_c + * @brief Zora (Frozen) + * + * @details + * + */ class daZraFreeze_c : public fopAc_ac_c { public: /* 80D440B8 */ void setBaseMtx(); diff --git a/include/rel/d/a/obj/d_a_obj_zra_rock/d_a_obj_zra_rock.h b/include/rel/d/a/obj/d_a_obj_zra_rock/d_a_obj_zra_rock.h index a601f3ad07..f6669e0981 100644 --- a/include/rel/d/a/obj/d_a_obj_zra_rock/d_a_obj_zra_rock.h +++ b/include/rel/d/a/obj/d_a_obj_zra_rock/d_a_obj_zra_rock.h @@ -5,6 +5,14 @@ #include "d/bg/d_bg_s_acch.h" #include "d/bg/d_bg_s_movebg_actor.h" +/** + * @ingroup actors-objects + * @class daObjZraRock_c + * @brief Zora Rock + * + * @details + * + */ class daObjZraRock_c : public dBgS_MoveBgActor { public: /* 80D44CB8 */ void setAttnPos(); @@ -20,6 +28,7 @@ public: void setDemoStart() { mDemoStart = 1; } +private: /* 0x5A0 */ request_of_phase_process_class mPhaseReq; /* 0x5A8 */ J3DModel* mpModelXlu; /* 0x5AC */ J3DModel* mpModelOpa; diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h index bfebede574..728a995a9f 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h @@ -6,6 +6,14 @@ class daObjMirror6Pole_c; typedef void (daObjMirror6Pole_c::*actionFunc)(); +/** + * @ingroup actors-objects + * @class daObjMirror6Pole_c + * @brief Twilight Mirror Pole + * + * @details + * + */ class daObjMirror6Pole_c : public fopAc_ac_c { public: enum Mode_e { @@ -53,11 +61,13 @@ public: static actionFunc ActionTable[][2]; +private: /* 0x568 */ J3DModel* mpModel; /* 0x56C */ mDoExt_bckAnm* mpBck; /* 0x570 */ request_of_phase_process_class mPhase; /* 0x578 */ actionFunc* mAction; /* 0x57C */ Mode_e mMode; }; +STATIC_ASSERT(sizeof(daObjMirror6Pole_c) == 0x580); #endif /* D_A_OBJ_MIRROR_6POLE_H */ diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h index 0fa920bc6a..9ee242dd1c 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h @@ -5,6 +5,7 @@ #include "f_op/f_op_actor_mng.h" #include "d/bg/d_bg_w.h" + class dScissorBegin_packet_c : public J3DPacket { public: /* 80C96698 */ void draw(); @@ -24,6 +25,14 @@ public: void entryPacket() { j3dSys.getDrawBuffer(1)->entryImm(this, 0); } }; +/** + * @ingroup actors-objects + * @class daObjMirrorChain_c + * @brief Twilight Mirror Chain + * + * @details + * + */ class daObjMirrorChain_c : public fopAc_ac_c { public: /* 80C96E40 */ int createHeap(); @@ -38,6 +47,7 @@ public: u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; } void setAnmSpeed(f32 speed) { mpBckAnm->setPlaySpeed(speed); } +private: /* 0x568 */ J3DModel* mpModel; /* 0x56C */ J3DModel* mpPortalModel; /* 0x570 */ mDoExt_bckAnm* mpBckAnm; diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h index 51b11520b7..c572818733 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h @@ -4,6 +4,14 @@ #include "d/com/d_com_inf_game.h" #include "d/bg/d_bg_w.h" +/** + * @ingroup actors-objects + * @class daObjMirrorSand_c + * @brief Twilight Mirror Sand + * + * @details + * + */ class daObjMirrorSand_c : public fopAc_ac_c { public: /* 80C98508 */ void initBaseMtx(); @@ -27,6 +35,7 @@ public: dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]); } +private: /* 0x568 */ J3DModel* mpModel; /* 0x56C */ mDoExt_bckAnm* mpBck; /* 0x570 */ request_of_phase_process_class mPhase; @@ -34,5 +43,6 @@ public: /* 0x57C */ dBgW mBgw[2]; /* 0x6FC */ Mtx mBgMtx; }; +STATIC_ASSERT(sizeof(daObjMirrorSand_c) == 0x72C); #endif /* D_A_OBJ_MIRROR_SAND_H */ diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h index e76c97da27..3e3bfb4931 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h @@ -11,6 +11,14 @@ class daObjMirrorScrew_c; typedef void (daObjMirrorScrew_c::*daObjMirrorScrew_actionFunc)(); +/** + * @ingroup actors-objects + * @class daObjMirrorScrew_c + * @brief Twilight Mirror Screw + * + * @details + * + */ class daObjMirrorScrew_c : public dBgS_MoveBgActor { public: struct attr { @@ -57,6 +65,7 @@ public: (this->*mpActionFunc[1])(); } +private: /* 0x5A0 */ J3DModel* mpModel; /* 0x5A4 */ request_of_phase_process_class mPhaseReq; /* 0x5AC */ daObjMirrorScrew_actionFunc* mpActionFunc; diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h index c4020422d6..a8c8e8fd6e 100644 --- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h +++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h @@ -4,6 +4,14 @@ #include "f_op/f_op_actor_mng.h" #include "d/bg/d_bg_w.h" +/** + * @ingroup actors-objects + * @class daObjMirrorTable_c + * @brief Twilight Mirror Table + * + * @details + * + */ class daObjMirrorTable_c : public fopAc_ac_c { public: /* 80C99938 */ int createHeap(); diff --git a/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h b/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h index 1ea30c0d8f..7a4a924e6a 100644 --- a/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h +++ b/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h @@ -2,7 +2,6 @@ #define D_A_TAG_YAMI_H #include "d/cc/d_cc_d.h" -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" class daTagYami_c : public fopAc_ac_c { @@ -35,6 +34,7 @@ public: void setCoR(f32 i_value) { mCoR = i_value; } void setCoH(f32 i_value) { mCoH = i_value; } +private: /* 0x568 */ dCcD_Cyl mCyl; /* 0x6A4 */ dCcD_Stts mStts; /* 0x6E0 */ u8 mCoHitValid; |
