From 38ac3e9227f05b3b59d1e5bfd3e4df8d2fa48a19 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Fri, 24 May 2024 00:31:16 -0600 Subject: [PATCH] Setup d_a_e actors (#2157) * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * finish * add class comments --- include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h | 43 ++ include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h | 11 +- include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h | 8 + include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h | 11 +- include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h | 45 ++ include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h | 21 + .../rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h | 11 +- include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h | 21 + include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h | 21 + include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h | 26 + include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h | 21 + include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h | 16 + include/rel/d/a/e/d_a_e_db/d_a_e_db.h | 21 + .../rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h | 11 +- include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h | 21 + include/rel/d/a/e/d_a_e_df/d_a_e_df.h | 49 ++ include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h | 47 ++ include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h | 22 + include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h | 88 +++ include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h | 43 ++ include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h | 55 ++ include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h | 27 + include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h | 21 + include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h | 26 + include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h | 22 + include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h | 23 +- include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h | 47 ++ include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h | 54 ++ include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h | 22 + include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h | 21 + include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h | 21 + .../rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h | 11 +- include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h | 71 +++ include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h | 45 ++ include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h | 63 +++ include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h | 22 + include/rel/d/a/e/d_a_e_is/d_a_e_is.h | 22 + include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h | 21 + include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h | 51 ++ include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h | 21 + include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h | 21 + include/rel/d/a/e/d_a_e_md/d_a_e_md.h | 31 ++ include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h | 22 + include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h | 22 + include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h | 16 + include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h | 21 + include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h | 16 + include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h | 21 + include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h | 14 +- include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h | 21 + include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h | 91 ++++ include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h | 20 +- include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h | 44 +- include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h | 27 +- include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h | 22 +- include/rel/d/a/e/d_a_e_po/d_a_e_po.h | 22 + include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h | 22 +- include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h | 21 + include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h | 22 + include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h | 22 + include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h | 17 +- include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h | 27 + include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h | 63 +++ include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h | 21 + include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h | 21 + include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h | 21 + include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h | 61 +++ include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h | 24 +- include/rel/d/a/e/d_a_e_st/d_a_e_st.h | 26 + .../rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h | 11 +- include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h | 77 +++ include/rel/d/a/e/d_a_e_th/d_a_e_th.h | 25 + .../rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h | 17 + include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h | 21 + include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h | 21 + .../rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h | 16 + include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h | 51 ++ include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h | 83 +++ .../d/a/e/d_a_e_warpappear/d_a_e_warpappear.h | 16 + include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h | 24 +- include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h | 45 ++ include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h | 58 ++ include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h | 11 +- include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h | 21 + .../rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h | 11 +- include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h | 26 + include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h | 21 + include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h | 5 +- include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h | 22 +- include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h | 11 +- include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h | 12 + include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h | 21 + include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h | 57 ++ include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h | 41 ++ include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h | 38 ++ .../a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h | 36 ++ rel/d/a/e/d_a_e_ai/d_a_e_ai.cpp | 254 ++------- rel/d/a/e/d_a_e_bg/d_a_e_bg.cpp | 321 ++--------- rel/d/a/e/d_a_e_bi/d_a_e_bi.cpp | 241 ++------- rel/d/a/e/d_a_e_bs/d_a_e_bs.cpp | 225 +------- rel/d/a/e/d_a_e_bu/d_a_e_bu.cpp | 220 +------- rel/d/a/e/d_a_e_bug/d_a_e_bug.cpp | 158 +----- rel/d/a/e/d_a_e_cr/d_a_e_cr.cpp | 205 +------ rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.cpp | 140 +---- rel/d/a/e/d_a_e_db/d_a_e_db.cpp | 267 ++------- rel/d/a/e/d_a_e_dd/d_a_e_dd.cpp | 250 ++------- rel/d/a/e/d_a_e_df/d_a_e_df.cpp | 226 +------- rel/d/a/e/d_a_e_dk/d_a_e_dk.cpp | 345 ++---------- rel/d/a/e/d_a_e_dn/d_a_e_dn.cpp | 271 ++-------- rel/d/a/e/d_a_e_dt/d_a_e_dt.cpp | 439 ++------------- rel/d/a/e/d_a_e_fb/d_a_e_fb.cpp | 304 ++--------- rel/d/a/e/d_a_e_fk/d_a_e_fk.cpp | 199 +------ rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp | 349 ++---------- rel/d/a/e/d_a_e_fs/d_a_e_fs.cpp | 236 +------- rel/d/a/e/d_a_e_ga/d_a_e_ga.cpp | 109 +--- rel/d/a/e/d_a_e_gb/d_a_e_gb.cpp | 268 ++------- rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp | 42 +- rel/d/a/e/d_a_e_gi/d_a_e_gi.cpp | 346 ++---------- rel/d/a/e/d_a_e_gm/d_a_e_gm.cpp | 316 ++--------- rel/d/a/e/d_a_e_gob/d_a_e_gob.cpp | 277 ++-------- rel/d/a/e/d_a_e_gs/d_a_e_gs.cpp | 124 +---- rel/d/a/e/d_a_e_hb/d_a_e_hb.cpp | 244 ++------- rel/d/a/e/d_a_e_hm/d_a_e_hm.cpp | 392 ++------------ rel/d/a/e/d_a_e_hp/d_a_e_hp.cpp | 397 ++------------ rel/d/a/e/d_a_e_hz/d_a_e_hz.cpp | 328 ++--------- rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.cpp | 280 ++-------- rel/d/a/e/d_a_e_is/d_a_e_is.cpp | 188 +------ rel/d/a/e/d_a_e_kg/d_a_e_kg.cpp | 223 ++------ rel/d/a/e/d_a_e_kk/d_a_e_kk.cpp | 358 ++---------- rel/d/a/e/d_a_e_kr/d_a_e_kr.cpp | 244 ++------- rel/d/a/e/d_a_e_mb/d_a_e_mb.cpp | 170 +----- rel/d/a/e/d_a_e_md/d_a_e_md.cpp | 195 +------ rel/d/a/e/d_a_e_mf/d_a_e_mf.cpp | 273 ++-------- rel/d/a/e/d_a_e_mk/d_a_e_mk.cpp | 256 ++------- rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.cpp | 200 ++----- rel/d/a/e/d_a_e_mm/d_a_e_mm.cpp | 215 +------- rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.cpp | 183 +------ rel/d/a/e/d_a_e_ms/d_a_e_ms.cpp | 222 +------- rel/d/a/e/d_a_e_nz/d_a_e_nz.cpp | 219 +------- rel/d/a/e/d_a_e_oc/d_a_e_oc.cpp | 425 ++------------- rel/d/a/e/d_a_e_ot/d_a_e_ot.cpp | 322 ++--------- rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp | 12 - rel/d/a/e/d_a_e_pm/d_a_e_pm.cpp | 364 ++----------- rel/d/a/e/d_a_e_po/d_a_e_po.cpp | 406 +++----------- rel/d/a/e/d_a_e_pz/d_a_e_pz.cpp | 425 +++------------ rel/d/a/e/d_a_e_rb/d_a_e_rb.cpp | 221 ++------ rel/d/a/e/d_a_e_rd/d_a_e_rd.cpp | 346 ++---------- rel/d/a/e/d_a_e_rdb/d_a_e_rdb.cpp | 266 ++------- rel/d/a/e/d_a_e_rdy/d_a_e_rdy.cpp | 243 ++------- rel/d/a/e/d_a_e_s1/d_a_e_s1.cpp | 274 ++-------- rel/d/a/e/d_a_e_sb/d_a_e_sb.cpp | 265 +-------- rel/d/a/e/d_a_e_sf/d_a_e_sf.cpp | 247 ++------- rel/d/a/e/d_a_e_sg/d_a_e_sg.cpp | 193 +------ rel/d/a/e/d_a_e_sh/d_a_e_sh.cpp | 212 +------- rel/d/a/e/d_a_e_sm/d_a_e_sm.cpp | 289 ++-------- rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp | 294 ++-------- rel/d/a/e/d_a_e_st/d_a_e_st.cpp | 280 ++-------- rel/d/a/e/d_a_e_sw/d_a_e_sw.cpp | 363 ++----------- rel/d/a/e/d_a_e_th/d_a_e_th.cpp | 245 ++------- rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.cpp | 187 ++----- rel/d/a/e/d_a_e_tk/d_a_e_tk.cpp | 181 +------ rel/d/a/e/d_a_e_tk2/d_a_e_tk2.cpp | 181 +------ rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.cpp | 139 +---- rel/d/a/e/d_a_e_tt/d_a_e_tt.cpp | 360 ++----------- rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp | 509 +++--------------- .../a/e/d_a_e_warpappear/d_a_e_warpappear.cpp | 199 ++----- rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp | 74 +-- rel/d/a/e/d_a_e_ws/d_a_e_ws.cpp | 320 ++--------- rel/d/a/e/d_a_e_ww/d_a_e_ww.cpp | 381 ++----------- rel/d/a/e/d_a_e_yd/d_a_e_yd.cpp | 259 ++------- rel/d/a/e/d_a_e_yg/d_a_e_yg.cpp | 251 ++------- rel/d/a/e/d_a_e_yh/d_a_e_yh.cpp | 284 ++-------- rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp | 50 +- rel/d/a/e/d_a_e_ymb/d_a_e_ymb.cpp | 45 +- rel/d/a/e/d_a_e_yr/d_a_e_yr.cpp | 246 ++------- rel/d/a/e/d_a_e_zh/d_a_e_zh.cpp | 400 ++------------ rel/d/a/e/d_a_e_zm/d_a_e_zm.cpp | 319 ++--------- rel/d/a/e/d_a_e_zs/d_a_e_zs.cpp | 271 ++-------- .../obj/d_a_obj_smallkey/d_a_obj_smallkey.cpp | 236 ++------ tools/setup_actor.py | 503 +++++++++++++++++ tools/setup_profile.py | 92 +++- 181 files changed, 6148 insertions(+), 18570 deletions(-) create mode 100644 tools/setup_actor.py diff --git a/include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h b/include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h index fffae02d548..9af749fd8ab 100644 --- a/include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h +++ b/include/rel/d/a/e/d_a_e_ai/d_a_e_ai.h @@ -1,4 +1,47 @@ #ifndef D_A_E_AI_H #define D_A_E_AI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_ai_class + * @brief Armos + * + * @details + * + */ +class e_ai_class : public fopEn_enemy_c { + /* 806791BC */ void initCcCylinder(); + /* 80679284 */ void setCcCylinder(); + /* 80679350 */ void anm_init(int, f32, u8, f32); + /* 806793FC */ void Draw(); + /* 806794F4 */ void player_way_check(); + /* 80679538 */ void other_bg_check(fopAc_ac_c*); + /* 80679610 */ void pl_check(f32, s16); + /* 8067968C */ void damage_check(); + /* 80679DC8 */ void e_ai_damage(); + /* 8067A2CC */ void e_ai_attack(); + /* 8067A54C */ void e_ai_move(); + /* 8067AA48 */ void e_ai_wait(); + /* 8067ACA0 */ void e_ai_return(); + /* 8067B024 */ void action(); + /* 8067B2B0 */ void PlayerWaySet(); + /* 8067B31C */ void AttentionSet(); + /* 8067B378 */ void Execute(); + /* 8067B598 */ void setBaseMtx(); + /* 8067B620 */ void Delete(); + /* 8067B6F0 */ void CreateHeap(); + /* 8067B8E4 */ void Create(); + /* 8067BAEC */ e_ai_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xd44 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_ai_class) == 0xd44); + +class daE_AI_HIO_c { + /* 8067916C */ daE_AI_HIO_c(); + /* 8067BF40 */ ~daE_AI_HIO_c(); +}; + #endif /* D_A_E_AI_H */ diff --git a/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h b/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h index f5ec332e1fc..007e4253666 100644 --- a/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h +++ b/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h @@ -19,10 +19,13 @@ enum e_arrow_type { }; /** -* @ingroup actors-enemies -* @brief Enemy arrow -* -*/ + * @ingroup actors-enemies + * @class e_arrow_class + * @brief Enemy Arrow + * + * @details + * + */ class e_arrow_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h b/include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h index 0c3a7bffc85..e21e1125bd8 100644 --- a/include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h +++ b/include/rel/d/a/e/d_a_e_ba/d_a_e_ba.h @@ -8,6 +8,14 @@ #include "d/cc/d_cc_uty.h" #include "d/d_path.h" +/** + * @ingroup actors-enemies + * @class e_ba_class + * @brief Keese + * + * @details + * + */ class e_ba_class : public fopEn_enemy_c { public: enum Type { diff --git a/include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h b/include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h index 32e22d0bf51..88ff4e3c77d 100644 --- a/include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h +++ b/include/rel/d/a/e/d_a_e_bee/d_a_e_bee.h @@ -44,10 +44,13 @@ struct bee_s { STATIC_ASSERT(sizeof(bee_s) == 0x74); /** -* @ingroup actors-enemies -* @brief Bee -* -*/ + * @ingroup actors-enemies + * @class e_bee_class + * @brief Bee + * + * @details + * + */ class e_bee_class : public fopAc_ac_c { public: /* 0x0568 */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h b/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h index 43ab3ffe85d..97e555f175a 100644 --- a/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h +++ b/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h @@ -2,5 +2,50 @@ #define D_A_E_BG_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_BG_c + * @brief Bomb Fish + * + * @details + * + */ +class daE_BG_c : public fopEn_enemy_c { + /* 8068585C */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 80685948 */ void JointCallBack(J3DJoint*, int); + /* 80685994 */ void draw(); + /* 80685B70 */ void setBck(int, u8, f32, f32); + /* 80685C14 */ void setActionMode(int, int); + /* 80685C2C */ void damage_check(); + /* 80685DBC */ void setSparkEffect(); + /* 80685F04 */ void search_esa(); + /* 80685F88 */ void executeBorn(); + /* 80686210 */ void executeSwim(); + /* 80686C90 */ void executeAttack(); + /* 80687B38 */ void executeDamage(); + /* 80687CD8 */ void setBombCarry(int); + /* 80687DEC */ void executeBomb(); + /* 80687FC4 */ void executeBirth(); + /* 8068838C */ void executeHook(); + /* 806883D0 */ void executeEat(); + /* 80689168 */ void action(); + /* 80689544 */ void mtx_set(); + /* 8068966C */ void cc_set(); + /* 806897EC */ void execute(); + /* 80689978 */ void _delete(); + /* 80689A0C */ void CreateHeap(); + /* 80689C38 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xbbc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_BG_c) == 0xbbc); + +class daE_BG_HIO_c { + /* 8068580C */ daE_BG_HIO_c(); + /* 8068A19C */ ~daE_BG_HIO_c(); +}; + #endif /* D_A_E_BG_H */ diff --git a/include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h b/include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h index 7db9cee1c9e..75765f338eb 100644 --- a/include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h +++ b/include/rel/d/a/e/d_a_e_bi/d_a_e_bi.h @@ -1,4 +1,25 @@ #ifndef D_A_E_BI_H #define D_A_E_BI_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_bi_class + * @brief Bomb Insect + * + * @details + * + */ +class e_bi_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xc00 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_bi_class) == 0xc00); + +class daE_BI_HIO_c { + /* 8068A5EC */ daE_BI_HIO_c(); + /* 8068D2DC */ ~daE_BI_HIO_c(); +}; + #endif /* D_A_E_BI_H */ diff --git a/include/rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h b/include/rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h index 64c8f822cd2..b105567a296 100644 --- a/include/rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h +++ b/include/rel/d/a/e/d_a_e_bi_leaf/d_a_e_bi_leaf.h @@ -4,10 +4,13 @@ #include "f_op/f_op_actor_mng.h" /** -* @ingroup actors-enemies -* @brief Bombling Leaf -* -*/ + * @ingroup actors-enemies + * @class e_bi_leaf_class + * @brief Bomb Insect - Leaf + * + * @details + * + */ class e_bi_leaf_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h b/include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h index d6acaaf209a..c59b9351e69 100644 --- a/include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h +++ b/include/rel/d/a/e/d_a_e_bs/d_a_e_bs.h @@ -1,4 +1,25 @@ #ifndef D_A_E_BS_H #define D_A_E_BS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_bs_class + * @brief Stalkin + * + * @details + * + */ +class e_bs_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xcfc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_bs_class) == 0xcfc); + +class daE_BS_HIO_c { + /* 8068E12C */ daE_BS_HIO_c(); + /* 8069091C */ ~daE_BS_HIO_c(); +}; + #endif /* D_A_E_BS_H */ diff --git a/include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h b/include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h index 7d94c919917..fd39654d1aa 100644 --- a/include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h +++ b/include/rel/d/a/e/d_a_e_bu/d_a_e_bu.h @@ -1,4 +1,25 @@ #ifndef D_A_E_BU_H #define D_A_E_BU_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_bu_class + * @brief Bubble + * + * @details + * + */ +class e_bu_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xaa4 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_bu_class) == 0xaa4); + +class daE_BU_HIO_c { + /* 806911AC */ daE_BU_HIO_c(); + /* 806941D4 */ ~daE_BU_HIO_c(); +}; + #endif /* D_A_E_BU_H */ diff --git a/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h b/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h index d4fa544cc23..f5d967017dd 100644 --- a/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h +++ b/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h @@ -2,5 +2,31 @@ #define D_A_E_BUG_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_bug_class + * @brief Poison Mite + * + * @details + * + */ +class e_bug_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x7db0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_bug_class) == 0x7db0); + +class daE_Bug_HIO_c { + /* 80694B8C */ daE_Bug_HIO_c(); + /* 80697BEC */ ~daE_Bug_HIO_c(); +}; + +struct bug_s { + /* 80697B4C */ ~bug_s(); + /* 80697BB8 */ bug_s(); +}; + #endif /* D_A_E_BUG_H */ diff --git a/include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h b/include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h index dd9597622cf..266ed0ef9e3 100644 --- a/include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h +++ b/include/rel/d/a/e/d_a_e_cr/d_a_e_cr.h @@ -1,4 +1,25 @@ #ifndef D_A_E_CR_H #define D_A_E_CR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_cr_class + * @brief Bombskit + * + * @details + * + */ +class e_cr_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa60 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_cr_class) == 0xa60); + +class daE_CR_HIO_c { + /* 8069800C */ daE_CR_HIO_c(); + /* 806997F4 */ ~daE_CR_HIO_c(); +}; + #endif /* D_A_E_CR_H */ diff --git a/include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h b/include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h index 9ba682be2d0..03f67532a65 100644 --- a/include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h +++ b/include/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h @@ -1,4 +1,20 @@ #ifndef D_A_E_CR_EGG_H #define D_A_E_CR_EGG_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_cr_egg_class + * @brief Bombskit Egg + * + * @details + * + */ +class e_cr_egg_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa0c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_cr_egg_class) == 0xa0c); + #endif /* D_A_E_CR_EGG_H */ diff --git a/include/rel/d/a/e/d_a_e_db/d_a_e_db.h b/include/rel/d/a/e/d_a_e_db/d_a_e_db.h index f9d969b0835..bc9bcd55f21 100644 --- a/include/rel/d/a/e/d_a_e_db/d_a_e_db.h +++ b/include/rel/d/a/e/d_a_e_db/d_a_e_db.h @@ -1,4 +1,25 @@ #ifndef D_A_E_DB_H #define D_A_E_DB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_db_class + * @brief Deku Baba + * + * @details + * + */ +class e_db_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x1270 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_db_class) == 0x1270); + +class daE_DB_HIO_c { + /* 8069AAEC */ daE_DB_HIO_c(); + /* 806A13D8 */ ~daE_DB_HIO_c(); +}; + #endif /* D_A_E_DB_H */ diff --git a/include/rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h b/include/rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h index fa30657417e..1a479e07e64 100644 --- a/include/rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h +++ b/include/rel/d/a/e/d_a_e_db_leaf/d_a_e_db_leaf.h @@ -5,10 +5,13 @@ #include "dolphin/types.h" /** -* @ingroup actors-enemies -* @brief Deku Baba Leaf -* -*/ + * @ingroup actors-enemies + * @class e_db_leaf_class + * @brief Deku Baba - Leaf + * + * @details + * + */ class e_db_leaf_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h b/include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h index 9776ea20395..b17eb827ea9 100644 --- a/include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h +++ b/include/rel/d/a/e/d_a_e_dd/d_a_e_dd.h @@ -1,4 +1,25 @@ #ifndef D_A_E_DD_H #define D_A_E_DD_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_dd_class + * @brief Dodongo + * + * @details + * + */ +class e_dd_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xe94 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_dd_class) == 0xe94); + +class daE_DD_HIO_c { + /* 806A226C */ daE_DD_HIO_c(); + /* 806A6D08 */ ~daE_DD_HIO_c(); +}; + #endif /* D_A_E_DD_H */ diff --git a/include/rel/d/a/e/d_a_e_df/d_a_e_df.h b/include/rel/d/a/e/d_a_e_df/d_a_e_df.h index 67f48a5384a..f0592f95cb2 100644 --- a/include/rel/d/a/e/d_a_e_df/d_a_e_df.h +++ b/include/rel/d/a/e/d_a_e_df/d_a_e_df.h @@ -1,4 +1,53 @@ #ifndef D_A_E_DF_H #define D_A_E_DF_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_DF_c + * @brief Deku Flower + * + * @details + * + */ +class daE_DF_c : public fopEn_enemy_c { + /* 806A7710 */ void CreateHeap(); + /* 806A7828 */ void initCcCylinder(); + /* 806A78A0 */ void setCcCylinder(); + /* 806A78D4 */ void SetAnm(int, int, f32, f32); + /* 806A7980 */ void CameraSet(f32); + /* 806A7B40 */ void DemoStart(); + /* 806A7C3C */ void SetReleaseCam(); + /* 806A7CE0 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806A8030 */ void Link_Eat_Pos(); + /* 806A8098 */ void Set_Angle(cXyz*); + /* 806A816C */ void Obj_Damage(); + /* 806A8244 */ void DamageAction(); + /* 806A8368 */ void BombEatAction(); + /* 806A8790 */ void Spid_Out(); + /* 806A8938 */ void LinkEatAction(); + /* 806A8C80 */ void Mogu_Mogu(); + /* 806A8D98 */ void ObjEatAction(); + /* 806A8ED4 */ void EatAction(); + /* 806A8F2C */ void SearchAction(); + /* 806A91B4 */ void WaitAction(); + /* 806A9254 */ void MissAction(); + /* 806A9304 */ void Action(); + /* 806A9384 */ void Execute(); + /* 806A949C */ void Yazirushi(); + /* 806A94E0 */ void Draw(); + /* 806A9550 */ void Delete(); + /* 806A95B8 */ void setBaseMtx(); + /* 806A9678 */ void Create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x838 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_DF_c) == 0x838); + +class daE_DF_HIO_c { + /* 806A76EC */ daE_DF_HIO_c(); + /* 806A9A84 */ ~daE_DF_HIO_c(); +}; + #endif /* D_A_E_DF_H */ diff --git a/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h b/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h index f4dd50c638c..0983f050f4a 100644 --- a/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h +++ b/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h @@ -2,5 +2,52 @@ #define D_A_E_DK_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_DK_c + * @brief Bari + * + * @details + * + */ +class daE_DK_c : public fopEn_enemy_c { + /* 806AA228 */ void draw(); + /* 806AA5C8 */ void setBck(int, u8, f32, f32); + /* 806AA68C */ void setBckCore(int, u8, f32, f32); + /* 806AA730 */ void setActionMode(int, int); + /* 806AA73C */ void damage_check(); + /* 806AA8B0 */ void checkPlayerSearch(); + /* 806AAB18 */ void checkPlayerAttack(f32); + /* 806AAC24 */ void checkWaterHeight(); + /* 806AAD68 */ void SphBgcCallBack(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dGPla*, void*); + /* 806AAE10 */ void setElectricEffect(); + /* 806AB054 */ void setCoreDeadEffect(); + /* 806AB158 */ void setBodyDeadEffect(); + /* 806AB29C */ void executeWait(); + /* 806AB684 */ void executeChase(); + /* 806ABA78 */ void executeAttack(); + /* 806ABCC8 */ void executeDamage(); + /* 806ABE3C */ void BodyDeathMove(); + /* 806ABF6C */ void executeDeath(); + /* 806AC390 */ void action(); + /* 806AC5BC */ void mtx_set(); + /* 806AC754 */ void cc_set(); + /* 806AC968 */ void execute(); + /* 806ACA10 */ void _delete(); + /* 806ACAA4 */ void CreateHeap(); + /* 806ACE14 */ void create(); + /* 806AD0AC */ daE_DK_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0xd54 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_DK_c) == 0xd54); + +class daE_DK_HIO_c { + /* 806AA1EC */ daE_DK_HIO_c(); + /* 806AD490 */ ~daE_DK_HIO_c(); +}; + #endif /* D_A_E_DK_H */ diff --git a/include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h b/include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h index 800ec5b624e..202de1d31c1 100644 --- a/include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h +++ b/include/rel/d/a/e/d_a_e_dn/d_a_e_dn.h @@ -1,4 +1,26 @@ #ifndef D_A_E_DN_H #define D_A_E_DN_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_dn_class + * @brief Lizalfos + * + * @details + * + */ +class e_dn_class : public fopEn_enemy_c { + /* 804EDE58 */ e_dn_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x110c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_dn_class) == 0x110c); + +class daE_DN_HIO_c { + /* 804E51AC */ daE_DN_HIO_c(); + /* 804EE39C */ ~daE_DN_HIO_c(); +}; + #endif /* D_A_E_DN_H */ diff --git a/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h b/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h index 35970bc14c5..e9373ed0eb3 100644 --- a/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h +++ b/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h @@ -2,5 +2,93 @@ #define D_A_E_DT_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_DT_c + * @brief Deku Toad + * + * @details + * + */ +class daE_DT_c : public fopEn_enemy_c { + /* 806AD97C */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806ADBA0 */ void JointCallBack(J3DJoint*, int); + /* 806ADBEC */ void ctrlJointTuba(J3DJoint*, J3DModel*); + /* 806ADD30 */ void JointCallBackTuba(J3DJoint*, int); + /* 806ADD7C */ void draw(); + /* 806AE5C8 */ void demo_skip(int); + /* 806AE618 */ void DemoSkipCallBack(void*, int); + /* 806AE64C */ void setBck(int, u8, f32, f32); + /* 806AE6F0 */ void checkBck(int); + /* 806AE74C */ void setActionMode(int, int); + /* 806AE758 */ void damage_check(); + /* 806AEB48 */ void setStabPos(); + /* 806AEBD4 */ void checkBeforeBg(f32); + /* 806AED94 */ void checkTongueBg(); + /* 806AEEFC */ void checkWaterSurface(); + /* 806AEFE8 */ void setSmallWaterEffect(); + /* 806AF09C */ void setLargeWaterEffect(); + /* 806AF150 */ void setHamonEffect(int); + /* 806AF240 */ void setJumpEffect(); + /* 806AF2F4 */ void setJumpSizukuEffect(); + /* 806AF3D0 */ void setDamageShibukiEffect(int); + /* 806AF460 */ void setDamageYodareEffect(int); + /* 806AF548 */ void setSwingEffect(); + /* 806AF5CC */ void setStepEffect(); + /* 806AF740 */ void setBombEffect(); + /* 806AF848 */ void setBombSmokeEffect(); + /* 806AF924 */ void setDeadShibukiEffect(); + /* 806AF9D8 */ void setDeadYodareEffect(); + /* 806AFAE0 */ void setBoxTubaEffect(); + /* 806AFBBC */ void setBoxTubaLandEffect(); + /* 806AFD30 */ void getNumberOfOtama(); + /* 806AFE24 */ void setStayOtamaFall(); + /* 806AFEAC */ void setStayOtamaDelete(); + /* 806B0114 */ void checkBombEat(); + /* 806B01B4 */ void isShutterOpen(); + /* 806B0200 */ void executeWait(); + /* 806B0368 */ void executeCry(); + /* 806B063C */ void executeShake(); + /* 806B07C4 */ void executeWalk(); + /* 806B0E9C */ void executeJump(); + /* 806B177C */ void executeDown(); + /* 806B1B60 */ void executeSearch(); + /* 806B1BEC */ void executeDamage(); + /* 806B1D48 */ void executeBombDamage(); + /* 806B1F78 */ void executeDeath(); + /* 806B28E4 */ void pointInSight(cXyz*); + /* 806B29D4 */ void executeOpening(); + /* 806B3B08 */ void calcCamera(); + /* 806B40D8 */ void calcBoxAndTuba(); + /* 806B4724 */ void action(); + /* 806B49F0 */ void mtx_set(); + /* 806B4B24 */ void cc_set(); + /* 806B4FD8 */ void execute(); + /* 806B5158 */ void _delete(); + /* 806B5214 */ void CreateHeap(); + /* 806B5460 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1174 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_DT_c) == 0x1174); + +class daE_DT_HIO_c { + /* 806AD90C */ daE_DT_HIO_c(); + /* 806B5BDC */ ~daE_DT_HIO_c(); +}; + +struct E_DT_n { + static u8 eDt_ShakeFrame[40]; + static u8 eDt_ShakeFrameDemo[40]; + static u8 cc_dt_body_src[64]; + static u8 cc_dt_tongue_src[64]; + static u8 mDt_OtamaNum[4]; + static u8 mDt_OtamaNo[80]; + static u8 m_fall_no[4]; + static u8 m_tongue_pos[12]; +}; + #endif /* D_A_E_DT_H */ diff --git a/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h b/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h index 17a0591584c..13fc12399be 100644 --- a/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h +++ b/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h @@ -2,5 +2,48 @@ #define D_A_E_FB_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_FB_c + * @brief Freezard + * + * @details + * + */ +class daE_FB_c : public fopEn_enemy_c { + /* 806B6520 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806B65C0 */ void JointCallBack(J3DJoint*, int); + /* 806B660C */ void draw(); + /* 806B67E0 */ void setBck(int, u8, f32, f32); + /* 806B688C */ void setActionMode(int, int); + /* 806B6898 */ void damage_check(); + /* 806B6D20 */ void mBgLineCheck(); + /* 806B6DF4 */ void search_check(); + /* 806B6F40 */ void executeWait(); + /* 806B70FC */ void executeAttack(); + /* 806B78A0 */ void executeDamage(); + /* 806B7B88 */ void executeBullet(); + /* 806B7DDC */ void action(); + /* 806B80A4 */ void mtx_set(); + /* 806B811C */ void cc_set(); + /* 806B82B4 */ void normal_eff_set(); + /* 806B83F0 */ void dead_eff_set(); + /* 806B8518 */ void execute(); + /* 806B85C8 */ void _delete(); + /* 806B8678 */ void CreateHeap(); + /* 806B88E0 */ void create(); + /* 806B8C1C */ daE_FB_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0xce8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_FB_c) == 0xce8); + +class daE_FB_HIO_c { + /* 806B64AC */ daE_FB_HIO_c(); + /* 806B8EE4 */ ~daE_FB_HIO_c(); +}; + #endif /* D_A_E_FB_H */ diff --git a/include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h b/include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h index b1cb482fdf8..4e19249f175 100644 --- a/include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h +++ b/include/rel/d/a/e/d_a_e_fk/d_a_e_fk.h @@ -1,4 +1,59 @@ #ifndef D_A_E_FK_H #define D_A_E_FK_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_FK_c + * @brief Phantom Rider + * + * @details + * + */ +class daE_FK_c : public fopEn_enemy_c { + /* 806B93CC */ void CreateHeap(); + /* 806B9534 */ void initBodySph(); + /* 806B95BC */ void initSwordSph(); + /* 806B9670 */ void SetBodySph(); + /* 806B97A4 */ void SetSwordSph(); + /* 806B98C4 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806B9A28 */ void SetAnm(int, int, f32, f32); + /* 806B9AD8 */ void Yazirushi(); + /* 806B9B2C */ void SpeedSet(); + /* 806B9BB4 */ void TnNeckSet(s16); + /* 806B9C14 */ void HsAngleSet(); + /* 806B9C18 */ void SpeedChk(); + /* 806B9C1C */ void SetAnmSpeed(); + /* 806B9C20 */ void TgChk(); + /* 806B9D00 */ void AtChk(); + /* 806B9D7C */ void OnAt(); + /* 806B9DA4 */ void R_MoveAction(); + /* 806B9E6C */ void StartAction(); + /* 806B9F20 */ void RunAction(); + /* 806BA004 */ void Action(); + /* 806BA024 */ void DeathAction(); + /* 806BA188 */ void DamageChk(); + /* 806BA24C */ void DamageAction(); + /* 806BA330 */ void checkViewArea(); + /* 806BA3B4 */ void AttackAction(); + /* 806BA61C */ void UpDown(); + /* 806BA6EC */ void Execute(); + /* 806BABB8 */ void At_Check(int); + /* 806BACEC */ void Draw(); + /* 806BADB4 */ void Delete(); + /* 806BAE1C */ void setBaseMtx(); + /* 806BAEB0 */ void setEfMtx(); + /* 806BAF74 */ void CreateChk(); + /* 806BB004 */ void Create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xf6c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_FK_c) == 0xf6c); + +class daE_FK_HIO_c { + /* 806B938C */ daE_FK_HIO_c(); + /* 806BB594 */ ~daE_FK_HIO_c(); +}; + #endif /* D_A_E_FK_H */ diff --git a/include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h b/include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h index e8c5a76b9f7..63c193e8e1b 100644 --- a/include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h +++ b/include/rel/d/a/e/d_a_e_fm/d_a_e_fm.h @@ -1,4 +1,31 @@ #ifndef D_A_E_FM_H #define D_A_E_FM_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_fm_class + * @brief Fyrus + * + * @details + * + */ +class e_fm_class : public fopEn_enemy_c { + /* 804F9B64 */ e_fm_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1b084 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_fm_class) == 0x1b084); + +class daE_FM_HIO_c { + /* 804EF0EC */ daE_FM_HIO_c(); + /* 804FA3D8 */ ~daE_FM_HIO_c(); +}; + +struct chain_s { + /* 804F9E14 */ ~chain_s(); + /* 804F9F14 */ chain_s(); +}; + #endif /* D_A_E_FM_H */ diff --git a/include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h b/include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h index 0a713fbe5ee..c98ddfba823 100644 --- a/include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h +++ b/include/rel/d/a/e/d_a_e_fs/d_a_e_fs.h @@ -1,4 +1,25 @@ #ifndef D_A_E_FS_H #define D_A_E_FS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_fs_class + * @brief Wooden Puppet + * + * @details + * + */ +class e_fs_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xb9c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_fs_class) == 0xb9c); + +class daE_Fs_HIO_c { + /* 806BBACC */ daE_Fs_HIO_c(); + /* 806BDF94 */ ~daE_Fs_HIO_c(); +}; + #endif /* D_A_E_FS_H */ diff --git a/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h b/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h index 93e516c9d0b..9f39409689c 100644 --- a/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h +++ b/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h @@ -2,5 +2,31 @@ #define D_A_E_GA_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +struct ga_s { + /* 804FBAB8 */ ~ga_s(); + /* 804FBAF4 */ ga_s(); +}; + +/** + * @ingroup actors-enemies + * @class e_ga_class + * @brief Decorative Moth + * + * @details + * + */ +class e_ga_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x4d7c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_ga_class) == 0x4d7c); + +class daE_Ga_HIO_c { + /* 804FB0EC */ daE_Ga_HIO_c(); + /* 804FBAF8 */ ~daE_Ga_HIO_c(); +}; + #endif /* D_A_E_GA_H */ diff --git a/include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h b/include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h index 40ed0d557b0..9c4ef6e7f91 100644 --- a/include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h +++ b/include/rel/d/a/e/d_a_e_gb/d_a_e_gb.h @@ -1,4 +1,26 @@ #ifndef D_A_E_GB_H #define D_A_E_GB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_gb_class + * @brief Giant Baba + * + * @details + * + */ +class e_gb_class : public fopEn_enemy_c { + /* 806C6B94 */ e_gb_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xef8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_gb_class) == 0xef8); + +class daE_GB_HIO_c { + /* 806C1CEC */ daE_GB_HIO_c(); + /* 806C6F98 */ ~daE_GB_HIO_c(); +}; + #endif /* D_A_E_GB_H */ diff --git a/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h b/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h index 9a901cd44aa..73eb51d2f94 100644 --- a/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h +++ b/include/rel/d/a/e/d_a_e_ge/d_a_e_ge.h @@ -3,16 +3,14 @@ #include "f_op/f_op_actor_mng.h" -struct daE_GE_HIO_c { - /* 806C7A4C */ daE_GE_HIO_c(); - /* 806CCA58 */ ~daE_GE_HIO_c(); -}; - /** -* @ingroup actors-enemies -* @brief Guay -* -*/ + * @ingroup actors-enemies + * @class daE_GE_c + * @brief Guay + * + * @details + * + */ class daE_GE_c : public fopEn_enemy_c { public: u8 getGroupNo() { @@ -52,11 +50,18 @@ public: /* 806CC278 */ void CreateHeap(); /* 806CC390 */ void create(); +private: /* 0x5AC */ u8 field_0x5ac[1519]; /* 0xB9B */ u8 mGroupNo; /* 0xB9C */ u8 field_0xb9c[4]; static u8 l_actionmenu[108]; }; +STATIC_ASSERT(sizeof(daE_GE_c) == 0xBA0); + +class daE_GE_HIO_c { + /* 806C7A4C */ daE_GE_HIO_c(); + /* 806CCA58 */ ~daE_GE_HIO_c(); +}; #endif /* D_A_E_GE_H */ diff --git a/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h b/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h index 57b6ad57d63..ba7404e7e98 100644 --- a/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h +++ b/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h @@ -2,5 +2,52 @@ #define D_A_E_GI_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_GI_c + * @brief Gibdo + * + * @details + * + */ +class daE_GI_c : public fopEn_enemy_c { + /* 806CD4F4 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806CD594 */ void JointCallBack(J3DJoint*, int); + /* 806CD5E0 */ void draw(); + /* 806CD868 */ void setBck(int, u8, f32, f32); + /* 806CD90C */ void setActionMode(int, int); + /* 806CD938 */ void damage_check(); + /* 806CDD1C */ void setWeaponAtBit(u8); + /* 806CDD8C */ void setCryStop(); + /* 806CDED8 */ void setAttackEffect(); + /* 806CDFB0 */ void setDragSwordEffect(); + /* 806CE0D4 */ void setDeathSmokeEffect(); + /* 806CE184 */ void setDamageEffect(); + /* 806CE3C4 */ void executeSleep(); + /* 806CE6AC */ void executeWait(); + /* 806CE858 */ void executeChase(); + /* 806CEC94 */ void executeAttack(); + /* 806CF0B8 */ void executeDamage(); + /* 806CF410 */ void executeBiteDamage(); + /* 806CF720 */ void PushButtonCount(); + /* 806CF878 */ void action(); + /* 806CFB60 */ void mtx_set(); + /* 806CFBF0 */ void cc_set(); + /* 806CFDF4 */ void execute(); + /* 806D0054 */ void _delete(); + /* 806D00E8 */ void CreateHeap(); + /* 806D027C */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x107c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_GI_c) == 0x107c); + +class daE_GI_HIO_c { + /* 806CD48C */ daE_GI_HIO_c(); + /* 806D098C */ ~daE_GI_HIO_c(); +}; + #endif /* D_A_E_GI_H */ diff --git a/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h b/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h index 98232a8b6ef..15493936615 100644 --- a/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h +++ b/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h @@ -2,5 +2,59 @@ #define D_A_E_GM_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_GM_c + * @brief Baby Gohma + * + * @details + * + */ +class daE_GM_c : public fopEn_enemy_c { + /* 806D12C8 */ void setAction(void (daE_GM_c::*)()); + /* 806D136C */ void action(); + /* 806D1580 */ void egg_wait(); + /* 806D1A9C */ void appear(); + /* 806D1CC0 */ void walk(); + /* 806D21A4 */ void create_item(); + /* 806D2294 */ void pechanko_damage(); + /* 806D24C0 */ void wait(); + /* 806D25E8 */ void egg_damage(); + /* 806D289C */ void setDeathLightEffect(); + /* 806D2940 */ void setEggBreakEffect(); + /* 806D29E4 */ void damage(); + /* 806D2DD4 */ void core_damage(); + /* 806D3308 */ void core_delwait(); + /* 806D344C */ void core_piku(); + /* 806D35E4 */ void core_pechanko_damage(); + /* 806D378C */ void hook(); + /* 806D398C */ void rebound(); + /* 806D3EC4 */ void walk2(); + /* 806D4288 */ void dead_wait(); + /* 806D4468 */ void core_wait(); + /* 806D462C */ void core_escape(); + /* 806D4D1C */ void chaseCheck(); + /* 806D4EF4 */ void normal_wait(); + /* 806D545C */ void normal_chase(); + /* 806D578C */ void mtx_set(); + /* 806D59D0 */ void cc_set(); + /* 806D5D54 */ void draw(); + /* 806D631C */ void damage_check(); + /* 806D6708 */ void execute(); + /* 806D6980 */ void _delete(); + /* 806D6AC8 */ void CreateHeap(); + /* 806D6CF0 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xa78 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_GM_c) == 0xa78); + +class daE_GM_HIO_c { + /* 806D126C */ daE_GM_HIO_c(); + /* 806D7428 */ ~daE_GM_HIO_c(); +}; + #endif /* D_A_E_GM_H */ diff --git a/include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h b/include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h index 093bf97edee..deacb7479a4 100644 --- a/include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h +++ b/include/rel/d/a/e/d_a_e_gob/d_a_e_gob.h @@ -1,4 +1,26 @@ #ifndef D_A_E_GOB_H #define D_A_E_GOB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_gob_class + * @brief Dangoro + * + * @details + * + */ +class e_gob_class : public fopEn_enemy_c { + /* 806DEA10 */ e_gob_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xde4 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_gob_class) == 0xde4); + +class daE_GOB_HIO_c { + /* 806D808C */ daE_GOB_HIO_c(); + /* 806DECD0 */ ~daE_GOB_HIO_c(); +}; + #endif /* D_A_E_GOB_H */ diff --git a/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h b/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h index 3c0f3276cc6..2f989de18ba 100644 --- a/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h +++ b/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h @@ -2,5 +2,26 @@ #define D_A_E_GS_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_gs_class + * @brief Ghost Soldier + * + * @details + * + */ +class e_gs_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x6bc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_gs_class) == 0x6bc); + +class daE_GS_HIO_c { + /* 806DF46C */ daE_GS_HIO_c(); + /* 806DFD5C */ ~daE_GS_HIO_c(); +}; + #endif /* D_A_E_GS_H */ diff --git a/include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h b/include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h index ad2881a39bd..25bd2384478 100644 --- a/include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h +++ b/include/rel/d/a/e/d_a_e_hb/d_a_e_hb.h @@ -1,4 +1,25 @@ #ifndef D_A_E_HB_H #define D_A_E_HB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_hb_class + * @brief Hebi Baba + * + * @details + * + */ +class e_hb_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x1268 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_hb_class) == 0x1268); + +class daE_HB_HIO_c { + /* 804FBD6C */ daE_HB_HIO_c(); + /* 805005D0 */ ~daE_HB_HIO_c(); +}; + #endif /* D_A_E_HB_H */ diff --git a/include/rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h b/include/rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h index 10192cbf895..7641385e745 100644 --- a/include/rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h +++ b/include/rel/d/a/e/d_a_e_hb_leaf/d_a_e_hb_leaf.h @@ -4,10 +4,13 @@ #include "f_op/f_op_actor_mng.h" /** -* @ingroup actors-enemies -* @brief Snake Baba Leaf -* -*/ + * @ingroup actors-enemies + * @class e_hb_leaf_class + * @brief Hebi Baba - Leaf + * + * @details + * + */ class e_hb_leaf_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h b/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h index cdf7f416657..9951a4be0c0 100644 --- a/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h +++ b/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h @@ -2,5 +2,76 @@ #define D_A_E_HM_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_HM_c + * @brief Torch Slug + * + * @details + * + */ +class daE_HM_c : public fopEn_enemy_c { + /* 806E043C */ void CreateHeap(); + /* 806E06C0 */ void initCcCylinder(); + /* 806E074C */ void setCcCylinder(); + /* 806E0958 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806E0DB0 */ void Particle_Set(u32&, u16); + /* 806E0E8C */ void SetAnm(int, int, f32, f32); + /* 806E0F38 */ void W_TargetAngle(cXyz, cXyz); + /* 806E0FF4 */ void W_DeathSpSet(); + /* 806E1118 */ void W_DeathAction(); + /* 806E1370 */ void W_DeathMotion(); + /* 806E155C */ void W_MoveCheckWall(); + /* 806E18A0 */ void W_WallCheck(); + /* 806E1A00 */ void WallExecute(); + /* 806E1AA0 */ void WallCreateExecute(); + /* 806E1B5C */ void CreateExecute(); + /* 806E1C28 */ void Tyakuchi_Set(); + /* 806E1E78 */ void UpDeathAction(); + /* 806E20FC */ void UpMoveAction(); + /* 806E2410 */ void UpWaitAction(); + /* 806E2568 */ void UpExecute(); + /* 806E25E8 */ void WallCheck(); + /* 806E2694 */ void MoveCheck(); + /* 806E29B8 */ void ShippuAction(); + /* 806E2B80 */ void ShieldMotion(); + /* 806E2C50 */ void ShieldAction(); + /* 806E2D08 */ void DeathSpSet(); + /* 806E2D40 */ void DeathMotion(); + /* 806E2EA0 */ void DeathCutDown(); + /* 806E2F5C */ void DeathAction(); + /* 806E31B0 */ void AttackAfter(); + /* 806E3208 */ void AttackMotion(); + /* 806E3420 */ void AttackAction(); + /* 806E34C8 */ void FreeMove(); + /* 806E3690 */ void LinkSearch(); + /* 806E3724 */ void WaitAction(); + /* 806E37F4 */ void MemberClear(); + /* 806E3800 */ void DownExecute(); + /* 806E3884 */ void At_Check(); + /* 806E39E8 */ void Obj_Damage(); + /* 806E3BE4 */ void ActionMode(); + /* 806E4008 */ void Yazirushi(); + /* 806E40B8 */ void setStabPos(); + /* 806E40D4 */ void Execute(); + /* 806E434C */ void Draw(); + /* 806E44F0 */ void Delete(); + /* 806E4558 */ void setBaseMtx(); + /* 806E4620 */ void CheckRoof(); + /* 806E486C */ void CheckWall(); + /* 806E4CCC */ void CreateStyle(); + /* 806E4E64 */ void Create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xa88 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_HM_c) == 0xa88); + +class daE_HM_HIO_c { + /* 806E03EC */ daE_HM_HIO_c(); + /* 806E53F8 */ ~daE_HM_HIO_c(); +}; + #endif /* D_A_E_HM_H */ diff --git a/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h b/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h index a030a7fe780..11822d79b7d 100644 --- a/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h +++ b/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h @@ -2,5 +2,50 @@ #define D_A_E_HP_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_HP_c + * @brief Huge Poe? + * + * @details + * + */ +class daE_HP_c : public fopEn_enemy_c { + /* 806E5E30 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806E5ED0 */ void JointCallBack(J3DJoint*, int); + /* 806E5F1C */ void LampCtrlJoint(J3DJoint*, J3DModel*); + /* 806E5FCC */ void LampJointCallBack(J3DJoint*, int); + /* 806E6018 */ void draw(); + /* 806E6514 */ void setBck(int, u8, f32, f32); + /* 806E65C0 */ void setActionMode(int, int); + /* 806E65CC */ void mChkDistance(f32); + /* 806E673C */ void damage_check(); + /* 806E6948 */ void executeWait(); + /* 806E6C74 */ void executeMove(); + /* 806E6ED8 */ void executeRetMove(); + /* 806E7228 */ void executeAttack(); + /* 806E7574 */ void executeDamage(); + /* 806E77C0 */ void executeDown(); + /* 806E7E94 */ void executeDead(); + /* 806E814C */ void action(); + /* 806E89C0 */ void mtx_set(); + /* 806E8DE0 */ void cc_set(); + /* 806E8FEC */ void execute(); + /* 806E9198 */ void _delete(); + /* 806E9240 */ void CreateHeap(); + /* 806E951C */ void create(); + /* 806E9900 */ daE_HP_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0xdfc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_HP_c) == 0xdfc); + +class daE_HP_HIO_c { + /* 806E5DEC */ daE_HP_HIO_c(); + /* 806E9D38 */ ~daE_HP_HIO_c(); +}; + #endif /* D_A_E_HP_H */ diff --git a/include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h b/include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h index 6f80a83a037..6dd044828a4 100644 --- a/include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h +++ b/include/rel/d/a/e/d_a_e_hz/d_a_e_hz.h @@ -1,4 +1,67 @@ #ifndef D_A_E_HZ_H #define D_A_E_HZ_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_HZ_c + * @brief Tile Worm + * + * @details + * + */ +class daE_HZ_c : public fopEn_enemy_c { + /* 806EA690 */ void setBck(int, u8, f32, f32); + /* 806EA734 */ void checkBck(int); + /* 806EA790 */ void draw(); + /* 806EAADC */ void setActionMode(int); + /* 806EAB68 */ void checkHideStart(); + /* 806EAEDC */ void checkAttackStart(); + /* 806EB05C */ void checkArrowCharge(); + /* 806EB0A4 */ void setTgSetBit(int); + /* 806EB0FC */ void isWait(); + /* 806EB13C */ void checkFall(); + /* 806EB2E8 */ void setCloseSmokeEffect(); + /* 806EB3EC */ void executeWait(); + /* 806EB7B0 */ void getHideSpeed(); + /* 806EB818 */ void executeHide(); + /* 806EBD44 */ void executeAttack(); + /* 806EC068 */ void initBackWalk(); + /* 806EC348 */ void executeAway(); + /* 806ECAEC */ void setWindEnd(); + /* 806ECB64 */ void executeWind(); + /* 806ED5B0 */ void executeChance(); + /* 806ED6C8 */ void initRollDamage(); + /* 806ED7A8 */ void doRollDamage(); + /* 806ED8A4 */ void executeDamage(); + /* 806EDAA8 */ void executeDeath(); + /* 806EDDCC */ void setWindChanceEnd(); + /* 806EDDE8 */ void executeWindChance(); + /* 806EE120 */ void executeWindWalk(); + /* 806EE2A4 */ void setWaterEffect(); + /* 806EE3BC */ void executeWaterDeath(); + /* 806EE820 */ void executeDeathWait(); + /* 806EE978 */ void damage_check(); + /* 806EEE10 */ void checkWaterSurface(); + /* 806EEEE4 */ void action(); + /* 806EF144 */ void mtx_set(); + /* 806EF2C8 */ void cc_set(); + /* 806EF46C */ void execute(); + /* 806EF6B4 */ void _delete(); + /* 806EF770 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806EF880 */ void JointCallBack(J3DJoint*, int); + /* 806EF8CC */ void CreateHeap(); + /* 806EFB54 */ void setInitPos(); + /* 806EFC18 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1238 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_HZ_c) == 0x1238); + +class daE_HZ_HIO_c { + /* 806EA60C */ daE_HZ_HIO_c(); + /* 806F0368 */ ~daE_HZ_HIO_c(); +}; + #endif /* D_A_E_HZ_H */ diff --git a/include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h b/include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h index b322facb905..55392d4e24b 100644 --- a/include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h +++ b/include/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h @@ -1,4 +1,26 @@ #ifndef D_A_E_HZELDA_H #define D_A_E_HZELDA_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_hzelda_class + * @brief Puppet Zelda + * + * @details + * + */ +class e_hzelda_class : public fopEn_enemy_c { + /* 806F4E48 */ e_hzelda_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1460 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_hzelda_class) == 0x1460); + +class daE_HZELDA_HIO_c { + /* 806F0D4C */ daE_HZELDA_HIO_c(); + /* 806F546C */ ~daE_HZELDA_HIO_c(); +}; + #endif /* D_A_E_HZELDA_H */ diff --git a/include/rel/d/a/e/d_a_e_is/d_a_e_is.h b/include/rel/d/a/e/d_a_e_is/d_a_e_is.h index 644085cebd8..00f624ff2cc 100644 --- a/include/rel/d/a/e/d_a_e_is/d_a_e_is.h +++ b/include/rel/d/a/e/d_a_e_is/d_a_e_is.h @@ -1,4 +1,26 @@ #ifndef D_A_E_IS_H #define D_A_E_IS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_is_class + * @brief Armos Titan + * + * @details Armos Titans are enemies from early, unreleased versions of the game. + * + */ +class e_is_class : public fopEn_enemy_c { + /* 806F76B4 */ e_is_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xcf8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_is_class) == 0xcf8); + +class daE_IS_HIO_c { + /* 806F5A4C */ daE_IS_HIO_c(); + /* 806F7AC4 */ ~daE_IS_HIO_c(); +}; + #endif /* D_A_E_IS_H */ diff --git a/include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h b/include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h index a58f13abd61..e4b7bf9277f 100644 --- a/include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h +++ b/include/rel/d/a/e/d_a_e_kg/d_a_e_kg.h @@ -1,4 +1,25 @@ #ifndef D_A_E_KG_H #define D_A_E_KG_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_kg_class + * @brief Young Gohma + * + * @details + * + */ +class e_kg_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa74 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_kg_class) == 0xa74); + +class daE_KG_HIO_c { + /* 806F7EEC */ daE_KG_HIO_c(); + /* 806F9EE8 */ ~daE_KG_HIO_c(); +}; + #endif /* D_A_E_KG_H */ diff --git a/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h b/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h index d3c4ffaa618..2256c612e3b 100644 --- a/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h +++ b/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h @@ -2,5 +2,56 @@ #define D_A_E_KK_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_KK_c + * @brief Chilfos + * + * @details + * + */ +class daE_KK_c : public fopEn_enemy_c { + /* 806FA75C */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 806FA7FC */ void JointCallBack(J3DJoint*, int); + /* 806FA848 */ void draw(); + /* 806FAA68 */ void setBck(int, u8, f32, f32); + /* 806FAB14 */ void setWeaponBck(int, u8, f32, f32); + /* 806FABC0 */ void mCutTypeCheck(int); + /* 806FAC80 */ void setActionMode(int, int); + /* 806FAC8C */ void damage_check(); + /* 806FB2EC */ void nextActionCheck(); + /* 806FB4F4 */ void way_gake_check(); + /* 806FB6C0 */ void mDeadEffSet(cXyz&); + /* 806FB7D8 */ void executeWait(); + /* 806FB908 */ void executeIcicleWait(); + /* 806FBB1C */ void executeWalk(); + /* 806FBE98 */ void executeSpearThrow(); + /* 806FC370 */ void executeBackWalk(); + /* 806FC75C */ void executeYoroke(); + /* 806FC8F4 */ void executeGuard(); + /* 806FCA28 */ void executeDamage(); + /* 806FCC34 */ void executeAttack(); + /* 806FD068 */ void executeDead(); + /* 806FD294 */ void executeWeaponMove(); + /* 806FD930 */ void action(); + /* 806FDD0C */ void mtx_set(); + /* 806FDF0C */ void weapon_mtx_set(); + /* 806FE0B8 */ void cc_set(); + /* 806FE2A8 */ void execute(); + /* 806FE3E0 */ void _delete(); + /* 806FE480 */ void CreateHeap(); + /* 806FE6B8 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0x13d4 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_KK_c) == 0x13d4); + +class daE_KK_HIO_c { + /* 806FA70C */ daE_KK_HIO_c(); + /* 806FF0F0 */ ~daE_KK_HIO_c(); +}; + #endif /* D_A_E_KK_H */ diff --git a/include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h b/include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h index ba1310cf1a3..4df16176f8a 100644 --- a/include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h +++ b/include/rel/d/a/e/d_a_e_kr/d_a_e_kr.h @@ -1,4 +1,25 @@ #ifndef D_A_E_KR_H #define D_A_E_KR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_kr_class + * @brief Kargorok + * + * @details + * + */ +class e_kr_class : public fopEn_enemy_c { + /* 80705004 */ e_kr_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xf08 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_kr_class) == 0xf08); + +class e_krHIO_c { + /* 80705574 */ ~e_krHIO_c(); +}; + #endif /* D_A_E_KR_H */ diff --git a/include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h b/include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h index bfafb23127a..6a6736e08c3 100644 --- a/include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h +++ b/include/rel/d/a/e/d_a_e_mb/d_a_e_mb.h @@ -1,4 +1,25 @@ #ifndef D_A_E_MB_H #define D_A_E_MB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mb_class + * @brief Ook (Diababa Fight) + * + * @details + * + */ +class e_mb_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x8cc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mb_class) == 0x8cc); + +class daE_MB_HIO_c { + /* 8070616C */ daE_MB_HIO_c(); + /* 8070882C */ ~daE_MB_HIO_c(); +}; + #endif /* D_A_E_MB_H */ diff --git a/include/rel/d/a/e/d_a_e_md/d_a_e_md.h b/include/rel/d/a/e/d_a_e_md/d_a_e_md.h index 9183de5f191..8a10fa7f47a 100644 --- a/include/rel/d/a/e/d_a_e_md/d_a_e_md.h +++ b/include/rel/d/a/e/d_a_e_md/d_a_e_md.h @@ -1,4 +1,35 @@ #ifndef D_A_E_MD_H #define D_A_E_MD_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_MD_c + * @brief Suit of Armor + * + * @details + * + */ +class daE_MD_c : public fopEn_enemy_c { + /* 80708DF8 */ void initCcCylinder(); + /* 80708E70 */ void setCcCylinder(f32); + /* 807091F0 */ void SetAnm(mDoExt_McaMorfSO*, int, int, f32, f32); + /* 807092C8 */ void At_Check(); + /* 80709378 */ void CheckHit(); + /* 8070992C */ void WaitAction(); + /* 8070994C */ void HalfBreakAction(); + /* 80709A04 */ void VibAction(); + /* 80709ABC */ void DummyAction(); + /* 80709BB4 */ void RealAction(); + /* 80709C3C */ void Action(); + /* 80709CFC */ void Execute(); + /* 80709D58 */ void Delete(); + /* 80709DA8 */ void setBaseMtx(); + /* 8070A044 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xa50 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_MD_c) == 0xa50); + #endif /* D_A_E_MD_H */ diff --git a/include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h b/include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h index 5b6eff96e29..1490af8cdfe 100644 --- a/include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h +++ b/include/rel/d/a/e/d_a_e_mf/d_a_e_mf.h @@ -1,4 +1,26 @@ #ifndef D_A_E_MF_H #define D_A_E_MF_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mf_class + * @brief Dynalfos + * + * @details + * + */ +class e_mf_class : public fopEn_enemy_c { + /* 80712F20 */ e_mf_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x10ec - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mf_class) == 0x10ec); + +class daE_MF_HIO_c { + /* 8070A70C */ daE_MF_HIO_c(); + /* 80713464 */ ~daE_MF_HIO_c(); +}; + #endif /* D_A_E_MF_H */ diff --git a/include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h b/include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h index 4852c6f3b70..f5bd841456f 100644 --- a/include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h +++ b/include/rel/d/a/e/d_a_e_mk/d_a_e_mk.h @@ -1,4 +1,26 @@ #ifndef D_A_E_MK_H #define D_A_E_MK_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mk_class + * @brief Ook + * + * @details + * + */ +class e_mk_class : public fopEn_enemy_c { + /* 8071C190 */ e_mk_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xcf8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mk_class) == 0xcf8); + +class daE_MK_HIO_c { + /* 8071412C */ daE_MK_HIO_c(); + /* 8071C3EC */ ~daE_MK_HIO_c(); +}; + #endif /* D_A_E_MK_H */ diff --git a/include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h b/include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h index efbb4d2e44b..a855a7d18ee 100644 --- a/include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h +++ b/include/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h @@ -1,4 +1,20 @@ #ifndef D_A_E_MK_BO_H #define D_A_E_MK_BO_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mk_bo_class + * @brief Ook? + * + * @details + * + */ +class e_mk_bo_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x9c0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mk_bo_class) == 0x9c0); + #endif /* D_A_E_MK_BO_H */ diff --git a/include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h b/include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h index 63e5969cc6c..977dd24e7ed 100644 --- a/include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h +++ b/include/rel/d/a/e/d_a_e_mm/d_a_e_mm.h @@ -1,4 +1,25 @@ #ifndef D_A_E_MM_H #define D_A_E_MM_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mm_class + * @brief Helmasaur + * + * @details + * + */ +class e_mm_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xc1c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mm_class) == 0xc1c); + +class daE_MM_HIO_c { + /* 8071F9CC */ daE_MM_HIO_c(); + /* 80722780 */ ~daE_MM_HIO_c(); +}; + #endif /* D_A_E_MM_H */ diff --git a/include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h b/include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h index 97e64688594..355ca54a1fd 100644 --- a/include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h +++ b/include/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h @@ -1,4 +1,20 @@ #ifndef D_A_E_MM_MT_H #define D_A_E_MM_MT_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_mm_mt_class + * @brief Helmasaur Shell + * + * @details + * + */ +class e_mm_mt_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xba4 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_mm_mt_class) == 0xba4); + #endif /* D_A_E_MM_MT_H */ diff --git a/include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h b/include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h index 2b95af2b2f6..2478a834833 100644 --- a/include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h +++ b/include/rel/d/a/e/d_a_e_ms/d_a_e_ms.h @@ -1,4 +1,25 @@ #ifndef D_A_E_MS_H #define D_A_E_MS_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_ms_class + * @brief Rat + * + * @details + * + */ +class e_ms_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xbbc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_ms_class) == 0xbbc); + +class daE_MS_HIO_c { + /* 80725B8C */ daE_MS_HIO_c(); + /* 8072900C */ ~daE_MS_HIO_c(); +}; + #endif /* D_A_E_MS_H */ diff --git a/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h b/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h index 7d222c98810..4caa528f74d 100644 --- a/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h +++ b/include/rel/d/a/e/d_a_e_nest/d_a_e_nest.h @@ -30,14 +30,16 @@ struct nest_hahen_s { /* 0x53 */ bool mActive; /* 0x54 */ u8 mTimer; }; - STATIC_ASSERT(sizeof(nest_hahen_s) == 0x58); /** -* @ingroup actors-enemies -* @brief Beehive -* -*/ + * @ingroup actors-enemies + * @class e_nest_class + * @brief Beehive + * + * @details + * + */ class e_nest_class : public fopAc_ac_c { public: enum Type { @@ -104,7 +106,6 @@ public: /* 0xCF0 */ f32 mDemoCameraFovY; /* 0xCF4 */ bool mHIOInit; }; - STATIC_ASSERT(sizeof(e_nest_class) == 0xCF8); class daE_Nest_HIO_c { @@ -115,7 +116,6 @@ public: /* 0x4 */ s8 field_0x4; /* 0x8 */ f32 mScale; }; - STATIC_ASSERT(sizeof(daE_Nest_HIO_c) == 0xC); #endif /* D_A_E_NEST_H */ diff --git a/include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h b/include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h index e4e8ace7e2f..3167a4c5182 100644 --- a/include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h +++ b/include/rel/d/a/e/d_a_e_nz/d_a_e_nz.h @@ -1,4 +1,25 @@ #ifndef D_A_E_NZ_H #define D_A_E_NZ_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_nz_class + * @brief Ghoul Rat + * + * @details + * + */ +class e_nz_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa88 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_nz_class) == 0xa88); + +class daE_NZ_HIO_c { + /* 807299EC */ daE_NZ_HIO_c(); + /* 8072BC88 */ ~daE_NZ_HIO_c(); +}; + #endif /* D_A_E_NZ_H */ diff --git a/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h b/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h index e12be2c56c9..95f6af5e215 100644 --- a/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h +++ b/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h @@ -2,5 +2,96 @@ #define D_A_E_OC_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_OC_c + * @brief Bokoblin + * + * @details + * + */ +class daE_OC_c : public fopEn_enemy_c { + /* 8072C630 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 8072C6E8 */ void JointCallBack(J3DJoint*, int); + /* 8072C734 */ void draw(); + /* 8072CBD4 */ void getVisionAngle(fopAc_ac_c*); + /* 8072CC10 */ void searchOtherOc(); + /* 8072CDA8 */ void setWatchMode(); + /* 8072CE00 */ void searchPlayer(); + /* 8072CF90 */ void searchPlayer2(); + /* 8072D100 */ void searchPlayerShakeHead(); + /* 8072D1DC */ void searchSound(); + /* 8072D364 */ void checkBeforeBg(); + /* 8072D640 */ void checkBeforeBgFind(); + /* 8072D87C */ void checkBeforeFloorBg(f32); + /* 8072D994 */ void checkDamageBg(); + /* 8072DB10 */ void setGroundAngle(); + /* 8072DCBC */ void setActionMode(int, int); + /* 8072DD18 */ void getCutType(); + /* 8072DD8C */ void offTgSph(); + /* 8072DDF4 */ void damage_check(); + /* 8072E274 */ void setBck(int, u8, f32, f32); + /* 8072E31C */ void checkBck(int); + /* 8072E37C */ void setSpitEffect(); + /* 8072E42C */ void getHeadAngle(); + /* 8072E498 */ void setStabPos(); + /* 8072E528 */ void setWaitSound(); + /* 8072E5A4 */ void setWalkSound(); + /* 8072E670 */ void setWalkStSound(); + /* 8072E788 */ void setDashSound(); + /* 8072E910 */ void setWaitStSound(); + /* 8072EA58 */ void setFootNoteSound(); + /* 8072EAA4 */ void executeWait(); + /* 8072F1A8 */ void executeWalk(); + /* 8072F5E0 */ void executeTalk(); + /* 8072F914 */ void executeFind(); + /* 807302E8 */ void setWeaponGroundAngle(); + /* 807305C0 */ void executeAttack(); + /* 80730DC0 */ void executeDamage(); + /* 80731124 */ void executeBigDamage(); + /* 807316F8 */ void executeWatch(); + /* 807319E4 */ void executeSoundWatch(); + /* 80731D18 */ void checkBeforeDeath(); + /* 80731D4C */ void executeDeath(); + /* 80731F5C */ void setWaterEffect(); + /* 80732074 */ void executeWaterDeath(); + /* 807323A4 */ void executeDemoMaster(); + /* 80732B04 */ void executeDemoChild(); + /* 80732E64 */ void checkFall(); + /* 8073301C */ void executeFallDead(); + /* 807331CC */ void executeFall(); + /* 8073332C */ void executeFindStay(); + /* 807335B4 */ void executeMoveOut(); + /* 80733E48 */ void checkWaterSurface(); + /* 80733F20 */ void action(); + /* 807345D8 */ void mtx_set(); + /* 80734698 */ void cc_set(); + /* 807348DC */ void execute(); + /* 80734B6C */ void _delete(); + /* 80734C10 */ void CreateHeap(); + /* 80734DA8 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xe88 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_OC_c) == 0xe88); + +class daE_OC_HIO_c { + /* 8072C5CC */ daE_OC_HIO_c(); + /* 80735630 */ ~daE_OC_HIO_c(); +}; + +struct E_OC_n { + static u8 const oc_attackb_trans[40]; + static u8 const oc_attackc_trans[40]; + static u8 cc_sph_src[64]; + static u8 at_sph_src[64]; + static u8 m_battle_oc[4]; + static u8 m_damage_oc[4]; + static u8 m_death_oc[4]; + static u8 m_talk_oc[4]; +}; + #endif /* D_A_E_OC_H */ diff --git a/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h b/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h index 308f0528ed5..ff86f6614a4 100644 --- a/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h +++ b/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h @@ -10,11 +10,15 @@ #include "SSystem/SComponent/c_phase.h" /** -* @ingroup actors-enemies -* @brief Morpheel Bomb Fish -* -*/ -struct daE_OctBg_c : public fopEn_enemy_c { + * @ingroup actors-enemies + * @class daE_OctBg_c + * @brief Morpheel Bomb Fish + * + * @details + * + */ +class daE_OctBg_c : public fopEn_enemy_c { +public: typedef void (daE_OctBg_c::*actionFunc)(); /* 8073626C */ void setAction(actionFunc); @@ -50,6 +54,7 @@ struct daE_OctBg_c : public fopEn_enemy_c { u32 checkAction(actionFunc func) { return field_0xb58 == func; } bool checkNormalAttk() { return checkAction(&daE_OctBg_c::normal_attack); } +private: /* 0x5AC */ request_of_phase_process_class mPhase; /* 0x5B4 */ mDoExt_McaMorfSO* field_0x5b4; /* 0x5B8 */ mDoExt_brkAnm* field_0x5b8; @@ -88,10 +93,11 @@ struct daE_OctBg_c : public fopEn_enemy_c { /* 0xBB0 */ u16 field_0xbb0; /* 0xBB2 */ u8 field_0xbb2; /* 0xBB3 */ u8 field_0xbb3; - }; +STATIC_ASSERT(sizeof(daE_OctBg_c) == 0xBB4); -struct daE_OctBg_HIO_c { +class daE_OctBg_HIO_c { +public: /* 8073620C */ daE_OctBg_HIO_c(); /* 80739CB8 */ virtual ~daE_OctBg_HIO_c() {} diff --git a/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h b/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h index 38abd867379..01bd05293c9 100644 --- a/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h +++ b/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h @@ -2,5 +2,47 @@ #define D_A_E_OT_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" -#endif /* D_A_E_OT_H */ +/** + * @ingroup actors-enemies + * @class daE_OT_c + * @brief ??? + * + * @details + * + */ +class daE_OT_c : public fopEn_enemy_c { + /* 8073A314 */ void draw(); + /* 8073A454 */ void setBck(int, u8, f32, f32); + /* 8073A4F8 */ void setActionMode(int, int); + /* 8073A510 */ void damage_check(); + /* 8073A7B0 */ void checkWaterSurface(); + /* 8073A838 */ void setWaterEffect(); + /* 8073A99C */ void setEggBreakEffect(); + /* 8073AA40 */ void setDeathLightEffect(); + /* 8073AB38 */ void setEggStay(); + /* 8073AC14 */ void executeEgg(); + /* 8073AF70 */ void executeBorn(); + /* 8073B0D0 */ void executeAttack(); + /* 8073B428 */ void executePanic(); + /* 8073B854 */ void executeDamage(); + /* 8073BB9C */ void action(); + /* 8073BD78 */ void mtx_set(); + /* 8073BE10 */ void cc_set(); + /* 8073BF84 */ void execute(); + /* 8073C058 */ void _delete(); + /* 8073C0EC */ void CreateHeap(); + /* 8073C31C */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xb98 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_OT_c) == 0xb98); + +class daE_OT_HIO_c { + /* 8073A2CC */ daE_OT_HIO_c(); + /* 8073C9B0 */ ~daE_OT_HIO_c(); +}; + + +#endif /* D_A_E_OT_H */ \ No newline at end of file diff --git a/include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h b/include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h index 2ae42f061fe..475558d4be5 100644 --- a/include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h +++ b/include/rel/d/a/e/d_a_e_ph/d_a_e_ph.h @@ -3,17 +3,20 @@ #include "SSystem/SComponent/c_phase.h" #include "Z2AudioLib/Z2Creature.h" -#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" #include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" #include "d/cc/d_cc_uty.h" #include "d/d_path.h" /** -* @ingroup actors-enemies -* @brief Peahat -* -*/ + * @ingroup actors-enemies + * @class daE_PH_c + * @brief Peahat + * + * @details + * + */ class daE_PH_c : public fopEn_enemy_c { public: /* 8073D48C */ void initCcSph(); @@ -118,4 +121,18 @@ public: /* 0xAD0 */ u8 mInitializedHIO; }; +class daE_PH_HIO_c { +public: + /* 8073D44C */ daE_PH_HIO_c(); + /* 80741B4C */ virtual ~daE_PH_HIO_c() {} + + /* 0x04 */ s8 field_0x4; + /* 0x08 */ f32 mHangPos; + /* 0x0C */ f32 mStopTime; + /* 0x10 */ f32 mSpeed; + /* 0x14 */ f32 mRotationInterpolation; + /* 0x18 */ f32 mRotationYInterpolation; +}; + + #endif /* D_A_E_PH_H */ diff --git a/include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h b/include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h index 330b58f00d3..c33cc9a5057 100644 --- a/include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h +++ b/include/rel/d/a/e/d_a_e_pm/d_a_e_pm.h @@ -1,11 +1,16 @@ #ifndef D_A_E_PM_H #define D_A_E_PM_H +#include "f_op/f_op_actor_mng.h" + /** -* @ingroup actors-enemies -* @brief Skull Kid -* -*/ + * @ingroup actors-enemies + * @class daE_PM_c + * @brief Skullkid + * + * @details + * + */ class daE_PM_c : public fopEn_enemy_c { public: /* 80741FB4 */ void DemoSkip(int); @@ -68,8 +73,17 @@ public: void AppearSet() { mAppear = true; } +private: /* 0x5AC */ u8 field_0x5ac[0x619 - 0x5AC]; /* 0x619 */ bool mAppear; + /* 0x61A */ u8 field_0x61a[0xb7c - 0x61a]; +}; +STATIC_ASSERT(sizeof(daE_PM_c) == 0xb7c); + +class daE_PM_HIO_c { + /* 80741EEC */ daE_PM_HIO_c(); + /* 8074BA68 */ ~daE_PM_HIO_c(); }; + #endif /* D_A_E_PM_H */ diff --git a/include/rel/d/a/e/d_a_e_po/d_a_e_po.h b/include/rel/d/a/e/d_a_e_po/d_a_e_po.h index 68889b5d202..c0e374d7b87 100644 --- a/include/rel/d/a/e/d_a_e_po/d_a_e_po.h +++ b/include/rel/d/a/e/d_a_e_po/d_a_e_po.h @@ -1,4 +1,26 @@ #ifndef D_A_E_PO_H #define D_A_E_PO_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_po_class + * @brief Poe + * + * @details + * + */ +class e_po_class : public fopEn_enemy_c { + /* 80756900 */ e_po_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xee0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_po_class) == 0xee0); + +class daE_PO_HIO_c { + /* 8074C54C */ daE_PO_HIO_c(); + /* 80756DE8 */ ~daE_PO_HIO_c(); +}; + #endif /* D_A_E_PO_H */ diff --git a/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h b/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h index 76862b840e1..db7472e8065 100644 --- a/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h +++ b/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h @@ -2,8 +2,17 @@ #define D_A_E_PZ_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" -struct daE_PZ_c { +/** + * @ingroup actors-enemies + * @class daE_PZ_c + * @brief Phantom Zant + * + * @details + * + */ +class daE_PZ_c : public fopEn_enemy_c { void onBombArrowHit() { field_0x845 = 1; } /* 807585BC */ void draw(); @@ -35,8 +44,17 @@ struct daE_PZ_c { /* 8076010C */ void create(); /* 807607EC */ daE_PZ_c(); - /* 0x000 */ u8 base[0x845]; +private: + /* 0x5AC */ u8 field_0x5ac[0x845 - 0x5ac]; /* 0x845 */ u8 field_0x845; + /* 0x846 */ u8 field_0x846[0xef8 - 0x846]; +}; +STATIC_ASSERT(sizeof(daE_PZ_c) == 0xEF8); + +class daE_PZ_HIO_c { + /* 8075856C */ daE_PZ_HIO_c(); + /* 80760C60 */ ~daE_PZ_HIO_c(); }; + #endif /* D_A_E_PZ_H */ diff --git a/include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h b/include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h index 4a5c5a45a48..52abe718793 100644 --- a/include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h +++ b/include/rel/d/a/e/d_a_e_rb/d_a_e_rb.h @@ -1,4 +1,25 @@ #ifndef D_A_E_RB_H #define D_A_E_RB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_rb_class + * @brief Leever + * + * @details + * + */ +class e_rb_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa6c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_rb_class) == 0xa6c); + +class daE_RB_HIO_c { + /* 8076238C */ daE_RB_HIO_c(); + /* 80764838 */ ~daE_RB_HIO_c(); +}; + #endif /* D_A_E_RB_H */ diff --git a/include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h b/include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h index 6c74e78f262..c21e83732b6 100644 --- a/include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h +++ b/include/rel/d/a/e/d_a_e_rd/d_a_e_rd.h @@ -1,4 +1,26 @@ #ifndef D_A_E_RD_H #define D_A_E_RD_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_rd_class + * @brief Bulblin + * + * @details + * + */ +class e_rd_class : public fopEn_enemy_c { + /* 80517AE0 */ e_rd_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1368 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_rd_class) == 0x1368); + +class daE_RD_HIO_c { + /* 80504A6C */ daE_RD_HIO_c(); + /* 8051801C */ ~daE_RD_HIO_c(); +}; + #endif /* D_A_E_RD_H */ diff --git a/include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h b/include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h index 677d0e86bc4..2f58616312c 100644 --- a/include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h +++ b/include/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h @@ -1,4 +1,26 @@ #ifndef D_A_E_RDB_H #define D_A_E_RDB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_rdb_class + * @brief King Bulblin + * + * @details + * + */ +class e_rdb_class : public fopEn_enemy_c { + /* 8076AA0C */ e_rdb_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1154 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_rdb_class) == 0x1154); + +class daE_RDB_HIO_c { + /* 807650CC */ daE_RDB_HIO_c(); + /* 8076AF64 */ ~daE_RDB_HIO_c(); +}; + #endif /* D_A_E_RDB_H */ diff --git a/include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h b/include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h index aacfea48e1f..462c3ce1bf5 100644 --- a/include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h +++ b/include/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h @@ -1,8 +1,16 @@ #ifndef D_A_E_RDY_H #define D_A_E_RDY_H -#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-enemies + * @class e_rdy_class + * @brief Shadow Bulblin + * + * @details + * + */ class e_rdy_class : public fopEn_enemy_c { public: /* 80779340 */ e_rdy_class(); @@ -14,7 +22,12 @@ public: /* 0x1372 */ s16 field_0x1372; /* 0x1374 */ u8 field_0x1374[0x142c - 0x1374]; }; - STATIC_ASSERT(sizeof(e_rdy_class) == 0x142C); +class daE_RDY_HIO_c { + /* 8076BDCC */ daE_RDY_HIO_c(); + /* 80779880 */ ~daE_RDY_HIO_c(); +}; + + #endif /* D_A_E_RDY_H */ diff --git a/include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h b/include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h index 54c310fc8b5..4420f89be22 100644 --- a/include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h +++ b/include/rel/d/a/e/d_a_e_s1/d_a_e_s1.h @@ -1,4 +1,31 @@ #ifndef D_A_E_S1_H #define D_A_E_S1_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_s1_class + * @brief Shadow Beast + * + * @details + * + */ +class e_s1_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x3084 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_s1_class) == 0x3084); + +class daE_S1_HIO_c { + /* 8077AB8C */ daE_S1_HIO_c(); + /* 80780840 */ ~daE_S1_HIO_c(); +}; + +struct s1_ke_s { + /* 807803F4 */ ~s1_ke_s(); + /* 80780470 */ s1_ke_s(); +}; + + #endif /* D_A_E_S1_H */ diff --git a/include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h b/include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h index 1c57c20492d..42154f830bf 100644 --- a/include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h +++ b/include/rel/d/a/e/d_a_e_sb/d_a_e_sb.h @@ -1,4 +1,67 @@ #ifndef D_A_E_SB_H #define D_A_E_SB_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_SB_c + * @brief Shell Blade + * + * @details + * + */ +class daE_SB_c : public fopEn_enemy_c { + /* 807816D8 */ void CreateHeap(); + /* 807817F0 */ void initCcCylinder(); + /* 80781850 */ void setCcCylinder(); + /* 80781898 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 807819DC */ void Particle_Set(u16); + /* 80781A4C */ void SetAnm(int, int, f32, f32); + /* 80781AF8 */ void MemberClear(); + /* 80781DD4 */ void Shield_Motion(); + /* 80781F30 */ void AttackStop(); + /* 80781F80 */ void AttackSetSP(); + /* 80782180 */ void AttackAngle(); + /* 80782264 */ void AttackSpeedMotion(); + /* 807822B8 */ void Attack_Motion(); + /* 80782650 */ void Bomb_Death_Motion(); + /* 80782714 */ void BombJumpSet(); + /* 8078273C */ void GetHomeSet(); + /* 8078294C */ void HomeJumpMotion(); + /* 807829E8 */ void Jump_Normal_Set(); + /* 80782B7C */ void Jump_Set(); + /* 80782BD4 */ void JumpMiddleMotion(); + /* 80782CC8 */ void Jump_Motion(); + /* 80782E90 */ void Death_Motion(); + /* 80782ED4 */ void Hanekaeri(); + /* 80782EF4 */ void Hit(); + /* 80782F10 */ void ActionCheck(); + /* 80783010 */ void Search(); + /* 80783404 */ void Wait_Motion(); + /* 807834FC */ void Attack(); + /* 807835A0 */ void Shield(); + /* 80783678 */ void Anm_Motion(); + /* 80783854 */ void Search_Bomb(); + /* 80783914 */ void ChanceMotion(); + /* 80783A9C */ void NoChanceMotion(); + /* 80783B4C */ void Obj_Damage(); + /* 80783FBC */ void HashiraVib(); + /* 80784144 */ void Yazirushi(); + /* 807841CC */ void setGroundAngle(); + /* 80784390 */ void Execute(); + /* 807844BC */ void Draw(); + /* 807845D8 */ void Delete(); + /* 80784640 */ void setBaseMtx(); + /* 80784720 */ void Create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xbc0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_SB_c) == 0xbc0); + +class daE_SB_HIO_c { + /* 8078164C */ daE_SB_HIO_c(); + /* 80784CC0 */ ~daE_SB_HIO_c(); +}; + #endif /* D_A_E_SB_H */ diff --git a/include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h b/include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h index 765653929ac..e2e75766266 100644 --- a/include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h +++ b/include/rel/d/a/e/d_a_e_sf/d_a_e_sf.h @@ -1,4 +1,25 @@ #ifndef D_A_E_SF_H #define D_A_E_SF_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_sf_class + * @brief Stalfos + * + * @details + * + */ +class e_sf_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x1000 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_sf_class) == 0x1000); + +class daE_SF_HIO_c { + /* 8078512C */ daE_SF_HIO_c(); + /* 8078977C */ ~daE_SF_HIO_c(); +}; + #endif /* D_A_E_SF_H */ diff --git a/include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h b/include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h index c25ec28e6d2..9e3417cecf9 100644 --- a/include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h +++ b/include/rel/d/a/e/d_a_e_sg/d_a_e_sg.h @@ -1,4 +1,25 @@ #ifndef D_A_E_SG_H #define D_A_E_SG_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_sg_class + * @brief Skullfish + * + * @details + * + */ +class e_sg_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xab0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_sg_class) == 0xab0); + +class daE_SG_HIO_c { + /* 8078A22C */ daE_SG_HIO_c(); + /* 8078DC84 */ ~daE_SG_HIO_c(); +}; + #endif /* D_A_E_SG_H */ diff --git a/include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h b/include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h index 94d3e5055c8..ce9bbee7a71 100644 --- a/include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h +++ b/include/rel/d/a/e/d_a_e_sh/d_a_e_sh.h @@ -1,4 +1,25 @@ #ifndef D_A_E_SH_H #define D_A_E_SH_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_sh_class + * @brief Stalhound + * + * @details + * + */ +class e_sh_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xd0c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_sh_class) == 0xd0c); + +class daE_SH_HIO_c { + /* 8078E34C */ daE_SH_HIO_c(); + /* 807918B4 */ ~daE_SH_HIO_c(); +}; + #endif /* D_A_E_SH_H */ diff --git a/include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h b/include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h index d972f0e434e..ab3c200e371 100644 --- a/include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h +++ b/include/rel/d/a/e/d_a_e_sm/d_a_e_sm.h @@ -1,4 +1,65 @@ #ifndef D_A_E_SM_H #define D_A_E_SM_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_SM_c + * @brief ChuChu + * + * @details + * + */ +class daE_SM_c : public fopEn_enemy_c { + /* 80792260 */ void SetAnm(int, int, f32, f32); + /* 8079230C */ void Draw(); + /* 807928A4 */ void Particle_Set(u16, cXyz, cXyz, csXyz); + /* 80792914 */ void ArrowCheck(); + /* 80792C20 */ void E_SM_Damage(); + /* 80792E70 */ void SmDamageCheck(); + /* 807936B4 */ void E_SM_Normal(); + /* 80793B64 */ void E_SM_Move(); + /* 80793E18 */ void E_SM_Attack(); + /* 80794100 */ void Action(); + /* 80794338 */ void E_SM_C_Normal(); + /* 807943C4 */ void E_SM_C_Fight(); + /* 80794458 */ void E_SM_C_Near_Escape(); + /* 8079473C */ void E_SM_C_Far_Escape(); + /* 807949CC */ void E_SM_C_Home_Escape(); + /* 807951EC */ void E_SM_C_Escape(); + /* 80795244 */ void E_SM_C_Free(); + /* 80795530 */ void E_SM_C_Death(); + /* 807958A0 */ void C_DamageCheck(); + /* 80795E64 */ void E_SM_C_Hook(); + /* 80796060 */ void CheckViewArea(); + /* 807960E4 */ void CameraSet(); + /* 80796204 */ void SetStopCam(cXyz, f32, f32, s16); + /* 80796324 */ void SetCMoveCam(cXyz, f32, f32); + /* 80796368 */ void SetStopingCam(); + /* 807963EC */ void SetReleaseCam(); + /* 80796490 */ void DemoStart(); + /* 80796628 */ void DemoMid(); + /* 807968A0 */ void E_SM_C_Demo(); + /* 807968E4 */ void CoreAction(); + /* 80796AEC */ void ArrowOn(); + /* 80796D80 */ void Execute(); + /* 80796FC4 */ void setSmBaseMtx(); + /* 80797274 */ void setBaseMtx(); + /* 8079730C */ void CoCoreSet(); + /* 80797444 */ void CoSmSet(); + /* 80797570 */ void Delete(); + /* 8079764C */ void CreateHeap(); + /* 80797784 */ void initCoSph(); + /* 80797858 */ void Create(); + /* 80797CE0 */ daE_SM_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1160 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_SM_c) == 0x1160); + +class daE_Sm_HIO_c { + /* 8079222C */ daE_Sm_HIO_c(); + /* 807980E8 */ ~daE_Sm_HIO_c(); +}; #endif /* D_A_E_SM_H */ diff --git a/include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h b/include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h index 543f9efa174..9e05ef89a73 100644 --- a/include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h +++ b/include/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h @@ -1,17 +1,25 @@ #ifndef D_A_E_SM2_H #define D_A_E_SM2_H +#include "f_op/f_op_actor_mng.h" +#include "Z2AudioLib/Z2Creature.h" +#include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" +#include "d/cc/d_cc_uty.h" /** -* @ingroup actors-enemies -* @brief Chuchu 2 -* -*/ + * @ingroup actors-enemies + * @class e_sm2_class + * @brief Chuchu 2 + * + * @details + * + */ class e_sm2_class : public fopEn_enemy_c { public: bool checkYellow() { return field_0x5b7 == 3; } +private: /* 0x5AC */ request_of_phase_process_class mPhase; /* 0x5B4 */ u8 field_0x5b4; /* 0x5B5 */ u8 field_0x5B5[0x5B7 - 0x5B5]; @@ -83,6 +91,14 @@ public: /* 0xFD4 */ u8 field_0xfd4; /* 0xFD5 */ u8 field_0xFD5[0xFD8 - 0xFD5]; /* 0xFD8 */ u32 field_0xfd8; + /* 0xFDC */ u8 field_0xfdc[0xFF0 - 0xFDC]; +}; +STATIC_ASSERT(sizeof(e_sm2_class) == 0xff0); + +class daE_SM2_HIO_c { + /* 80798B4C */ daE_SM2_HIO_c(); + /* 8079CE94 */ ~daE_SM2_HIO_c(); }; + #endif /* D_A_E_SM2_H */ diff --git a/include/rel/d/a/e/d_a_e_st/d_a_e_st.h b/include/rel/d/a/e/d_a_e_st/d_a_e_st.h index d72336db5e4..70188633509 100644 --- a/include/rel/d/a/e/d_a_e_st/d_a_e_st.h +++ b/include/rel/d/a/e/d_a_e_st/d_a_e_st.h @@ -1,4 +1,30 @@ #ifndef D_A_E_ST_H #define D_A_E_ST_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_st_class + * @brief Skulltula + * + * @details + * + */ +class e_st_class : public fopEn_enemy_c { + /* 807A5CF4 */ e_st_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1068 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_st_class) == 0x1068); + +class daE_ST_HIO_c { + /* 8079DDEC */ daE_ST_HIO_c(); + /* 807A61FC */ ~daE_ST_HIO_c(); +}; + +struct st_foot { + /* 807A5F5C */ ~st_foot(); + /* 807A5F98 */ st_foot(); +}; #endif /* D_A_E_ST_H */ diff --git a/include/rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h b/include/rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h index 01c811d26e6..2ea1285c85b 100644 --- a/include/rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h +++ b/include/rel/d/a/e/d_a_e_st_line/d_a_e_st_line.h @@ -4,10 +4,13 @@ #include "f_op/f_op_actor_mng.h" /** -* @ingroup actors-enemies -* @brief Skulltula -* -*/ + * @ingroup actors-enemies + * @class e_st_line_class + * @brief Skulltula Web Line + * + * @details + * + */ class e_st_line_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h b/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h index a971fc398ff..8b5f27b3ec8 100644 --- a/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h +++ b/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h @@ -2,5 +2,82 @@ #define D_A_E_SW_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_SW_c + * @brief Moldorm + * + * @details + * + */ +class daE_SW_c : public fopEn_enemy_c { + /* 807A7460 */ void bckSet(int, f32, u8, f32); + /* 807A7504 */ void draw(); + /* 807A76E4 */ void setBeforeJumpEffect(); + /* 807A77CC */ void setJumpEffect(); + /* 807A78B4 */ void setSmokeEffect(); + /* 807A7A08 */ void setDiveEffect(); + /* 807A7AC0 */ void setHideEffect(); + /* 807A7B64 */ void setActionMode(s16, s16); + /* 807A7C50 */ void search_bomb(); + /* 807A7CD0 */ void bomb_check(); + /* 807A7D48 */ void setModeBack(); + /* 807A7DAC */ void checkFall(); + /* 807A7EFC */ void checkBeforeWall(); + /* 807A7F88 */ void executeWait(); + /* 807A8290 */ void checkRunChase(); + /* 807A831C */ void executeChaseSlow(); + /* 807A8B98 */ void executeChaseFast(); + /* 807A9580 */ void executeBomb(); + /* 807A9768 */ void executeAttack(); + /* 807A9E58 */ void executeHook(); + /* 807AA050 */ void executeMoveOut(); + /* 807AA44C */ void executeChance(); + /* 807AA784 */ void executeDive(); + /* 807AA91C */ void executeDamage(); + /* 807AAB7C */ void executeDie(); + /* 807AADCC */ void executeMaster(); + /* 807AAF70 */ void checkSuddenAttack(int); + /* 807AB310 */ void executeSuddenAttack(); + /* 807AB5C4 */ void executeFall(); + /* 807AB6C4 */ void action(); + /* 807AB884 */ void mtx_set(); + /* 807AB930 */ void cc_set(); + /* 807ABAB0 */ void damage_check(); + /* 807ABD28 */ void checkGroundSand(); + /* 807ABE50 */ void execute(); + /* 807AC170 */ void _delete(); + /* 807AC204 */ void CreateHeap(); + /* 807AC31C */ void create(); + /* 807ACA40 */ void d_setAction(void (daE_SW_c::*)()); + /* 807ACAE4 */ void d_checkFall(); + /* 807ACCB0 */ void d_damage_check(); + /* 807ACFF8 */ void d_action(); + /* 807AD10C */ void d_bomb_check(); + /* 807AD17C */ void d_bm_chase(); + /* 807AD4A8 */ void d_wait(); + /* 807AD7C0 */ void d_chaseCheck(); + /* 807ADA08 */ void d_chase(); + /* 807ADE50 */ void d_attk(); + /* 807AE4B4 */ void d_chance(); + /* 807AE7F4 */ void d_chance2(); + /* 807AE968 */ void d_dive(); + /* 807AEB08 */ void d_damage(); + /* 807AEE44 */ void d_die(); + /* 807AF01C */ void d_hook(); + /* 807AF4B4 */ void d_fall(); + /* 807AF57C */ void d_execute(); +private: + /* 0x5ac */ u8 field_0x5ac[0xb18 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_SW_c) == 0xb18); + +class daE_SW_HIO_c { + /* 807A740C */ daE_SW_HIO_c(); + /* 807AF870 */ ~daE_SW_HIO_c(); +}; + #endif /* D_A_E_SW_H */ diff --git a/include/rel/d/a/e/d_a_e_th/d_a_e_th.h b/include/rel/d/a/e/d_a_e_th/d_a_e_th.h index 1458c646d41..ea3bd1fd17f 100644 --- a/include/rel/d/a/e/d_a_e_th/d_a_e_th.h +++ b/include/rel/d/a/e/d_a_e_th/d_a_e_th.h @@ -1,4 +1,29 @@ #ifndef D_A_E_TH_H #define D_A_E_TH_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_th_class + * @brief Darkhammer + * + * @details + * + */ +class e_th_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x123c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_th_class) == 0x123c); + +class daE_TH_HIO_c { + /* 807B038C */ daE_TH_HIO_c(); + /* 807B3FA4 */ ~daE_TH_HIO_c(); +}; + +struct th_ke_s { + /* 807B3B58 */ ~th_ke_s(); + /* 807B3BD4 */ th_ke_s(); +}; #endif /* D_A_E_TH_H */ diff --git a/include/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h b/include/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h index 157db473d06..ef2583b32af 100644 --- a/include/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h +++ b/include/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h @@ -1,4 +1,21 @@ #ifndef D_A_E_TH_BALL_H #define D_A_E_TH_BALL_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_th_ball_class + * @brief Darkhammer Ball and Chain + * + * @details + * + */ +class e_th_ball_class : public fopEn_enemy_c { + /* 807B7AA8 */ e_th_ball_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0x1a90 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_th_ball_class) == 0x1a90); + #endif /* D_A_E_TH_BALL_H */ diff --git a/include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h b/include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h index 7bc5edd9109..ac19ed7d6bd 100644 --- a/include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h +++ b/include/rel/d/a/e/d_a_e_tk/d_a_e_tk.h @@ -1,4 +1,25 @@ #ifndef D_A_E_TK_H #define D_A_E_TK_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_tk_class + * @brief Water Toadpoli + * + * @details + * + */ +class e_tk_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa64 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_tk_class) == 0xa64); + +class daE_TK_HIO_c { + /* 807B81EC */ daE_TK_HIO_c(); + /* 807BA1C4 */ ~daE_TK_HIO_c(); +}; + #endif /* D_A_E_TK_H */ diff --git a/include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h b/include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h index a10b6193334..adf0fe8f625 100644 --- a/include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h +++ b/include/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h @@ -1,4 +1,25 @@ #ifndef D_A_E_TK2_H #define D_A_E_TK2_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_tk2_class + * @brief Fire Toadpoli + * + * @details + * + */ +class e_tk2_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0xa50 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_tk2_class) == 0xa50); + +class daE_TK2_HIO_c { + /* 807BA56C */ daE_TK2_HIO_c(); + /* 807BBD00 */ ~daE_TK2_HIO_c(); +}; + #endif /* D_A_E_TK2_H */ diff --git a/include/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h b/include/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h index c00285c551a..cdf55ae7a8a 100644 --- a/include/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h +++ b/include/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h @@ -1,4 +1,20 @@ #ifndef D_A_E_TK_BALL_H #define D_A_E_TK_BALL_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_tk_ball_class + * @brief Fire/Water Toadpoli Ball + * + * @details + * + */ +class e_tk_ball_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x8cc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_tk_ball_class) == 0x8cc); + #endif /* D_A_E_TK_BALL_H */ diff --git a/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h b/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h index 4e9785a9e2f..248442315fd 100644 --- a/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h +++ b/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h @@ -2,5 +2,56 @@ #define D_A_E_TT_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_TT_c + * @brief Tektite + * + * @details + * + */ +class daE_TT_c : public fopEn_enemy_c { + /* 807BD7EC */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 807BD8E0 */ void JointCallBack(J3DJoint*, int); + /* 807BD92C */ void draw(); + /* 807BDAE0 */ void setBck(int, u8, f32, f32); + /* 807BDB84 */ void calcHitGroundSpeed(); + /* 807BDBE4 */ void setActionMode(int, int); + /* 807BDC10 */ void getCutType(); + /* 807BDC50 */ void damage_check(); + /* 807BDE5C */ void checkWaterSurface(); + /* 807BDF60 */ void checkFootGround(); + /* 807BE2A8 */ void setBodyLandEffect(); + /* 807BE438 */ void setWaterEffect(); + /* 807BE708 */ void setDeathEyeEffect(); + /* 807BE99C */ void setDeathFootEffect(); + /* 807BEBAC */ void checkPlayerSearch(); + /* 807BED70 */ void executeWait(); + /* 807BF358 */ void executeChase(); + /* 807BF914 */ void executeAttack(); + /* 807BFD38 */ void setDamageInit(); + /* 807BFD60 */ void executeDamage(); + /* 807BFFF4 */ void executeDeath(); + /* 807C033C */ void executeOutRange(); + /* 807C0530 */ void executeFirstAttack(); + /* 807C0C28 */ void action(); + /* 807C0E10 */ void mtx_set(int); + /* 807C0EE8 */ void cc_set(); + /* 807C1024 */ void execute(); + /* 807C1164 */ void _delete(); + /* 807C121C */ void CreateHeap(); + /* 807C13B4 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xad0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_TT_c) == 0xad0); + +class daE_TT_HIO_c { + /* 807BD7AC */ daE_TT_HIO_c(); + /* 807C1AA8 */ ~daE_TT_HIO_c(); +}; + #endif /* D_A_E_TT_H */ diff --git a/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h b/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h index 3955f5756fd..6adfd6ed305 100644 --- a/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h +++ b/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h @@ -2,5 +2,88 @@ #define D_A_E_VT_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_VA_c + * @brief ??? + * + * @details + * + */ +class daE_VA_c : public fopEn_enemy_c { + /* 807C267C */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 807C284C */ void JointCallBack(J3DJoint*, int); + /* 807C2898 */ void calcJointNeck(); + /* 807C2A4C */ void calcJointSleeve(); + /* 807C3264 */ void draw(); + /* 807C3818 */ void setBck(int, u8, f32, f32); + /* 807C38BC */ void checkBck(int); + /* 807C3918 */ void setActionMode(int, int); + /* 807C39C4 */ void getWolfCutType(); + /* 807C3A1C */ void onSwordAtBit(); + /* 807C3A50 */ void offSwordShield(); + /* 807C3AB0 */ void setTransDamage(cXyz*); + /* 807C3B58 */ void damage_check(); + /* 807C4844 */ void setFireEffect(int); + /* 807C49B4 */ void setFootEffect(); + /* 807C4B54 */ void setWeponEffect(); + /* 807C4DFC */ void setBugsEffect(); + /* 807C4F10 */ void setWeponLandEffect(); + /* 807C4FCC */ void setWeponGlow(); + /* 807C50A4 */ void setWeponFlashScreen(); + /* 807C5188 */ void setMagicEffect(int); + /* 807C5258 */ void setMagicHitEffect(int); + /* 807C5338 */ void demo_skip(int); + /* 807C53A8 */ void DemoSkipCallBack(void*, int); + /* 807C53DC */ void getRopeLength(int); + /* 807C53FC */ void calcOpRopePos(); + /* 807C5CF0 */ void onRopeCutStatus(int, int, int); + /* 807C5DF4 */ void setVibRope(f32, f32); + /* 807C5EAC */ void setVibTag(int, int); + /* 807C6164 */ void calcTagAngle(); + /* 807C638C */ void calcRopeFirePos(); + /* 807C6564 */ void executeDemoOpWait(); + /* 807C67A4 */ void executeDemoOp(); + /* 807C7534 */ void executeClearWait(); + /* 807C7640 */ void executeClearChase(); + /* 807C783C */ void executeClearAttack(); + /* 807C7A8C */ void executeTransWait(); + /* 807C7C74 */ void executeTransChase(); + /* 807C7ED4 */ void executeTransAttack(); + /* 807C839C */ void executeTransBiteDamage(); + /* 807C8860 */ void executeTransDamage(); + /* 807C8A84 */ void executeTransThrough(); + /* 807C8B78 */ void executeOpaciWait(); + /* 807C915C */ void executeOpaciFly(); + /* 807C9A40 */ void executeOpaciDamage(); + /* 807C9C8C */ void executeOpaciChase(); + /* 807CA364 */ void executeOpaciAttack(); + /* 807CA73C */ void executeOpaciDown(); + /* 807CAA80 */ void executeOpaciDownDamage(); + /* 807CACE0 */ void executeOpaciFlip(); + /* 807CADB8 */ void executeOpaciFadeAway(); + /* 807CB1C4 */ void executeOpaciDeath(); + /* 807CB8CC */ void calcMagicMove(); + /* 807CBC00 */ void setAlphaType(); + /* 807CC004 */ void action(); + /* 807CC4D0 */ void mtx_set(); + /* 807CC864 */ void cc_set(); + /* 807CCD24 */ void execute(); + /* 807CCF64 */ void _delete(); + /* 807CD048 */ void CreateHeap(); + /* 807CD668 */ void create(); + /* 807CDAD8 */ daE_VA_c(); +private: + /* 0x5ac */ u8 field_0x5ac[0x10ffc - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_VA_c) == 0x10ffc); + +class daE_VA_HIO_c { + /* 807C25EC */ daE_VA_HIO_c(); + /* 807CE2AC */ ~daE_VA_HIO_c(); +}; + #endif /* D_A_E_VT_H */ diff --git a/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h b/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h index 663729b76e9..fc18daa9363 100644 --- a/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h +++ b/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h @@ -2,5 +2,21 @@ #define D_A_E_WARPAPPEAR_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_warpappear_class + * @brief Shadow Beast Warp Appear + * + * @details + * + */ +class e_warpappear_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x650 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_warpappear_class) == 0x650); + #endif /* D_A_E_WARPAPPEAR_H */ diff --git a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h index ff2a36b8534..3db2295c76b 100644 --- a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h +++ b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h @@ -1,6 +1,7 @@ #ifndef D_A_E_WB_H #define D_A_E_WB_H +#include "f_op/f_op_actor_mng.h" #include "rel/d/a/d_a_horse/d_a_horse.h" #include "SSystem/SComponent/c_phase.h" #include "d/cc/d_cc_uty.h" @@ -13,10 +14,13 @@ enum daE_wb_ACT { }; /** -* @ingroup actors-enemies -* @brief Wild Boar -* -*/ + * @ingroup actors-enemies + * @class e_wb_class + * @brief Bullbo + * + * @details + * + */ class e_wb_class : public fopEn_enemy_c { public: BOOL checkWait(); @@ -170,5 +174,17 @@ private: /* 0x17E4 */ u8 field_0x17e4[0x17e8 - 0x17e4]; /* 0x17E8 */ f32 mSpeedRate; }; +STATIC_ASSERT(sizeof(e_wb_class) == 0x17EC); + +struct himo_s { + /* 807E1CCC */ ~himo_s(); + /* 807E1D2C */ himo_s(); +}; + +class daE_WB_HIO_c { + /* 807D248C */ daE_WB_HIO_c(); + /* 807E20DC */ ~daE_WB_HIO_c(); +}; + #endif /* D_A_E_WB_H */ \ No newline at end of file diff --git a/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h b/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h index a9ab8232ee1..6e913ca1cf0 100644 --- a/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h +++ b/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h @@ -2,5 +2,50 @@ #define D_A_E_WS_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_WS_c + * @brief Wall Skulltula + * + * @details + * + */ +class daE_WS_c : public fopEn_enemy_c { + /* 807E3A6C */ void draw(); + /* 807E3C20 */ void setBck(int, u8, f32, f32); + /* 807E3CC4 */ void setFootSound(); + /* 807E3F90 */ void setActionMode(int); + /* 807E3FAC */ void calcTargetDist(cXyz, cXyz); + /* 807E40C8 */ void calcTargetAngle(cXyz, cXyz); + /* 807E416C */ void checkInSearchRange(cXyz, cXyz); + /* 807E4224 */ void checkPlayerPos(); + /* 807E4568 */ void checkAttackEnd(); + /* 807E470C */ void executeWait(); + /* 807E4AB8 */ void executeAttack(); + /* 807E4E68 */ void executeDown(); + /* 807E5294 */ void executeWindDown(); + /* 807E56D0 */ void damage_check(); + /* 807E58AC */ void action(); + /* 807E5A3C */ void mtx_set(); + /* 807E5AAC */ void cc_set(); + /* 807E5C0C */ void execute(); + /* 807E5CD8 */ void checkInitialWall(); + /* 807E5FB8 */ void checkBeforeBg(s16); + /* 807E63F8 */ void checkWall(); + /* 807E66B4 */ void _delete(); + /* 807E6748 */ void CreateHeap(); + /* 807E6860 */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xb80 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_WS_c) == 0xb80); + +class daE_WS_HIO_c { + /* 807E3A0C */ daE_WS_HIO_c(); + /* 807E6E44 */ ~daE_WS_HIO_c(); +}; + #endif /* D_A_E_WS_H */ diff --git a/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h b/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h index 68ee37b99c9..2cc915150bc 100644 --- a/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h +++ b/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h @@ -2,5 +2,63 @@ #define D_A_E_WW_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_WW_c + * @brief White Wolfos + * + * @details + * + */ +class daE_WW_c : public fopEn_enemy_c { + /* 807E7748 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 807E7800 */ void JointCallBack(J3DJoint*, int); + /* 807E784C */ void setHeadAngle(); + /* 807E79D4 */ void draw(); + /* 807E7ADC */ void setBck(int, u8, f32, f32); + /* 807E7B80 */ void checkBck(int); + /* 807E7BDC */ void setActionMode(int, int); + /* 807E7C20 */ void damage_check(); + /* 807E7E74 */ void setRandamNumber(); + /* 807E7FCC */ void getNearPlayerAngle(); + /* 807E804C */ void setGroundAngle(); + /* 807E830C */ void checkCreateBg(cXyz); + /* 807E8560 */ void checkAttackWall(); + /* 807E8624 */ void setBlurEffect(); + /* 807E8700 */ void setAppearEffect(); + /* 807E8C54 */ void checkSideStep(); + /* 807E8EEC */ void createWolf(cXyz, u8); + /* 807E905C */ void executeMaster(); + /* 807E972C */ void executeWait(); + /* 807E99B8 */ void calcJumpSpeed(); + /* 807E9C1C */ void executeAttack(); + /* 807EA474 */ void checkAttackStart(); + /* 807EA870 */ void executeChase(); + /* 807EB650 */ void executeDamage(); + /* 807EB964 */ void checkMoveOut(); + /* 807EBAE0 */ void executeMoveOut(); + /* 807EC940 */ void checkWalkStart(); + /* 807ECE58 */ void executeWalk(); + /* 807ED674 */ void eWW_posMoveF(); + /* 807ED78C */ void action(); + /* 807EDA78 */ void mtx_set(); + /* 807EDB00 */ void cc_set(); + /* 807EDCC4 */ void execute(); + /* 807EDE8C */ void calcMoveDir(s16*, s16); + /* 807EE440 */ void _delete(); + /* 807EE4D4 */ void CreateHeap(); + /* 807EE63C */ void create(); +private: + /* 0x5ac */ u8 field_0x5ac[0xec8 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_WW_c) == 0xec8); + +class daE_WW_HIO_c { + /* 807E76EC */ daE_WW_HIO_c(); + /* 807EEEBC */ ~daE_WW_HIO_c(); +}; + #endif /* D_A_E_WW_H */ diff --git a/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h b/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h index ed3d8ed2a7a..64f315d54ce 100644 --- a/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h +++ b/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h @@ -9,10 +9,13 @@ #include "f_op/f_op_actor.h" /** -* @ingroup actors-enemies -* @brief Twilit Kargorok -* -*/ + * @ingroup actors-enemies + * @class e_yc_class + * @brief Twilight Kargorok + * + * @details + * + */ class e_yc_class : public fopEn_enemy_c { public: MtxP getLegR3Mtx() { return mpMorf->getModel()->getAnmMtx(28); } diff --git a/include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h b/include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h index 09aea773319..06479665079 100644 --- a/include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h +++ b/include/rel/d/a/e/d_a_e_yd/d_a_e_yd.h @@ -1,4 +1,25 @@ #ifndef D_A_E_YD_H #define D_A_E_YD_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_yd_class + * @brief Twilight Deku Baba + * + * @details + * + */ +class e_yd_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x126c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_yd_class) == 0x126c); + +class daE_YD_HIO_c { + /* 807F2C2C */ daE_YD_HIO_c(); + /* 807F74CC */ ~daE_YD_HIO_c(); +}; + #endif /* D_A_E_YD_H */ diff --git a/include/rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h b/include/rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h index 609aee725d9..395bcfb5317 100644 --- a/include/rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h +++ b/include/rel/d/a/e/d_a_e_yd_leaf/d_a_e_yd_leaf.h @@ -4,10 +4,13 @@ #include "f_op/f_op_actor_mng.h" /** -* @ingroup actors-enemies -* @brief Shadow Deku Baba Leaf -* -*/ + * @ingroup actors-enemies + * @class e_yd_leaf_class + * @brief Twilight Deku Baba - Leaf + * + * @details + * + */ class e_yd_leaf_class : public fopEn_enemy_c { public: /* 0x5AC */ request_of_phase_process_class mPhase; diff --git a/include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h b/include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h index e66586e09c9..336fc08a7d9 100644 --- a/include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h +++ b/include/rel/d/a/e/d_a_e_yg/d_a_e_yg.h @@ -1,4 +1,30 @@ #ifndef D_A_E_YG_H #define D_A_E_YG_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_yg_class + * @brief Twilight Vermin + * + * @details + * + */ +class e_yg_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x18a0 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_yg_class) == 0x18a0); + +class daE_YG_HIO_c { + /* 807F834C */ daE_YG_HIO_c(); + /* 807FC168 */ ~daE_YG_HIO_c(); +}; + +struct yg_ke_s { + /* 807FBE70 */ ~yg_ke_s(); + /* 807FBEEC */ yg_ke_s(); +}; + #endif /* D_A_E_YG_H */ diff --git a/include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h b/include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h index dcd66535fb5..b166f0913e8 100644 --- a/include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h +++ b/include/rel/d/a/e/d_a_e_yh/d_a_e_yh.h @@ -1,4 +1,25 @@ #ifndef D_A_E_YH_H #define D_A_E_YH_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_yh_class + * @brief Twilight Hebi Baba + * + * @details + * + */ +class e_yh_class : public fopEn_enemy_c { +private: + /* 0x5ac */ u8 field_0x5ac[0x1274 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_yh_class) == 0x1274); + +class daE_YH_HIO_c { + /* 807FD4CC */ daE_YH_HIO_c(); + /* 80803D48 */ ~daE_YH_HIO_c(); +}; + #endif /* D_A_E_YH_H */ diff --git a/include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h b/include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h index f55b2e9247a..5d1fc9875fb 100644 --- a/include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h +++ b/include/rel/d/a/e/d_a_e_yk/d_a_e_yk.h @@ -69,7 +69,10 @@ public: /** * @ingroup actors-enemies - * @brief Shadow Keese + * @class e_yk_class + * @brief Twilight Keese + * + * @details * */ class e_yk_class : public fopEn_enemy_c { diff --git a/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h b/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h index 19deafedfb5..d68acedbe6a 100644 --- a/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h +++ b/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h @@ -3,7 +3,7 @@ #include "SSystem/SComponent/c_phase.h" #include "Z2AudioLib/Z2Creature.h" -#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" #include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" #include "d/cc/d_cc_uty.h" @@ -26,10 +26,13 @@ public: }; /** -* @ingroup actors-enemies -* @brief Shadow Insect -* -*/ + * @ingroup actors-enemies + * @class daE_YM_c + * @brief Twilight Insect + * + * @details + * + */ class daE_YM_c : public fopEn_enemy_c { public: enum daE_YM_Action { @@ -128,7 +131,8 @@ public: void setFriendFlag(u8 i_flag) { mFriendFlag |= i_flag; } u8 getFriendFlag() { return mFriendFlag; } - + +private: /* 0x5AC */ request_of_phase_process_class mPhase; /* 0x5B4 */ mDoExt_McaMorfSO* field_0x5b4; /* 0x5B8 */ mDoExt_brkAnm* field_0x5b8; @@ -216,5 +220,11 @@ public: /* 0xAE8 */ u32 field_0xae8[3]; /* 0xAF4 */ u8 field_0xaf4; }; +STATIC_ASSERT(sizeof(daE_YM_c) == 0xAF8); + +struct E_YM_n { + static dCcD_SrcSph cc_sph_src; +}; + #endif /* D_A_E_YM_H */ diff --git a/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h b/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h index 8c5be52c50e..d5662fae740 100644 --- a/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h +++ b/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h @@ -4,10 +4,13 @@ #include "rel/d/a/e/d_a_e_ym/d_a_e_ym.h" /** -* @ingroup actors-tags -* @brief Shadow Insect Tag -* -*/ + * @ingroup actors-enemies + * @class daE_YM_TAG_c + * @brief Twilight Insect Tag + * + * @details + * + */ class daE_YM_TAG_c : public fopAc_ac_c { public: /* 80815E8C */ int execute(); diff --git a/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h b/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h index 39298962107..0031807651b 100644 --- a/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h +++ b/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h @@ -4,6 +4,14 @@ #include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" +/** + * @ingroup actors-enemies + * @class daE_YMB_c + * @brief Twilight Insect Boss + * + * @details + * + */ class daE_YMB_c : public fopEn_enemy_c { public: /* 8081615C */ void ctrlJoint(J3DJoint*, J3DModel*); @@ -70,7 +78,11 @@ public: /* 80820DD0 */ void create(); int getMaxLockAttack() { return 6; } + +private: + /* 0x5AC */ u8 field_0x5ac[0x1524 - 0x5ac]; }; +STATIC_ASSERT(sizeof(daE_YMB_c) == 0x1524); struct daE_YMB_HIO_c { /* 8081610C */ daE_YMB_HIO_c(); diff --git a/include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h b/include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h index 04234644498..15138c2fae6 100644 --- a/include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h +++ b/include/rel/d/a/e/d_a_e_yr/d_a_e_yr.h @@ -1,4 +1,25 @@ #ifndef D_A_E_YR_H #define D_A_E_YR_H +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class e_yr_class + * @brief Twilight Kargorok Rider? + * + * @details + * + */ +class e_yr_class : public fopEn_enemy_c { + /* 80827D64 */ e_yr_class(); +private: + /* 0x5ac */ u8 field_0x5ac[0xf20 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(e_yr_class) == 0xf20); + +class e_yrHIO_c { + /* 808282CC */ ~e_yrHIO_c(); +}; + #endif /* D_A_E_YR_H */ diff --git a/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h b/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h index 02bc18317b7..3845844fbb9 100644 --- a/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h +++ b/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h @@ -2,5 +2,62 @@ #define D_A_E_ZH_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_ZH_c + * @brief Zant Head + * + * @details + * + */ +class daE_ZH_c : public fopEn_enemy_c { + /* 8082907C */ void draw(); + /* 808293A8 */ void setBck(int, u8, f32, f32); + /* 80829454 */ void setActionMode(int, int); + /* 80829570 */ void startDemoCheck(); + /* 80829658 */ void mBallBGCheck(); + /* 808298BC */ void mGateOpen(); + /* 808299F8 */ void mColorSet(bool, f32, f32); + /* 80829AD8 */ void mReturnLineMove(); + /* 80829E44 */ void mBallBgLineCheck(); + /* 8082A01C */ void mSearchMove(u8); + /* 8082A390 */ void mStartParticleSet(); + /* 8082A4C8 */ void mCutTypeCheck(); + /* 8082A534 */ void damage_check(); + /* 8082A88C */ void executeStartDemo(); + /* 8082ABDC */ void executeWait(); + /* 8082ACA8 */ void executeBallWait(); + /* 8082B284 */ void executeOpenStart(); + /* 8082B820 */ void executeSearchMove(); + /* 8082BA18 */ void executeBgHitSHMove(); + /* 8082BE20 */ void executeCatchMove(); + /* 8082C670 */ void executeCatchFlyMove(); + /* 8082CD34 */ void executeReturnDemo(); + /* 8082D154 */ void executeFlyDelete(); + /* 8082D2F0 */ void executeDamage(); + /* 8082D97C */ void executeDeadStop(); + /* 8082D9B0 */ void executeEntryCheck(); + /* 8082DB64 */ void tagAction(); + /* 8082DB84 */ void action(); + /* 8082DE18 */ void mtx_set(); + /* 8082DF44 */ void cc_set(); + /* 8082E2FC */ void execute(); + /* 8082E3E8 */ void _delete(); + /* 8082E4E4 */ void CreateHeap(); + /* 8082E730 */ void create(); + /* 8082ECEC */ daE_ZH_c(); + +private: + /* 0x5ac */ u8 field_0x5ac[0xe08 - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_ZH_c) == 0xe08); + +class daE_ZH_HIO_c { + /* 8082902C */ daE_ZH_HIO_c(); + /* 8082F160 */ ~daE_ZH_HIO_c(); +}; + #endif /* D_A_E_ZH_H */ diff --git a/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h b/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h index 35e63e3fd07..d27b70acd3b 100644 --- a/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h +++ b/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h @@ -2,5 +2,46 @@ #define D_A_E_ZM_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_ZM_c + * @brief Zant Mask + * + * @details + * + */ +class daE_ZM_c : public fopEn_enemy_c { + /* 8082F9A0 */ void draw(); + /* 8082FBD4 */ void setBck(int, u8, f32, f32); + /* 8082FC80 */ void setActionMode(int, int); + /* 8082FC8C */ void damage_check(); + /* 808301E0 */ void mCutTypeCheck(); + /* 8083033C */ void executeSearchPoint(); + /* 80830398 */ void executeWait(); + /* 808309DC */ void executeMove(); + /* 80830AB8 */ void executeAttack(); + /* 80830E28 */ void executeDamage(); + /* 808310C4 */ void executeDead(); + /* 80831474 */ void executeBullet(); + /* 80831930 */ void action(); + /* 80831B08 */ void mtx_set(); + /* 80831B9C */ void cc_set(); + /* 80831D64 */ void execute(); + /* 80831E9C */ void _delete(); + /* 80831F4C */ void CreateHeap(); + /* 80832064 */ void create(); + +private: + /* 0x5ac */ u8 field_0x5ac[0xc3c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_ZM_c) == 0xc3c); + +class daE_ZM_HIO_c { + /* 8082F94C */ daE_ZM_HIO_c(); + /* 80832800 */ ~daE_ZM_HIO_c(); +}; + #endif /* D_A_E_ZM_H */ diff --git a/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h b/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h index a1a60d02a8f..c8b12e19f08 100644 --- a/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h +++ b/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h @@ -2,5 +2,43 @@ #define D_A_E_ZS_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +/** + * @ingroup actors-enemies + * @class daE_ZS_c + * @brief Staltroop + * + * @details + * + */ +class daE_ZS_c : public fopEn_enemy_c { + /* 808330DC */ void draw(); + /* 808331E4 */ void setBck(int, u8, f32, f32); + /* 80833290 */ void setActionMode(int, int); + /* 8083329C */ void damage_check(); + /* 80833698 */ void mBossHandCheck(); + /* 80833964 */ void executeAppear(); + /* 80833D30 */ void executeWait(); + /* 80833F1C */ void executeDamage(); + /* 80834108 */ void executeDrive(); + /* 808342C8 */ void action(); + /* 80834478 */ void mtx_set(); + /* 80834518 */ void cc_set(); + /* 80834650 */ void execute(); + /* 808346E4 */ void _delete(); + /* 80834778 */ void CreateHeap(); + /* 80834884 */ void create(); + +private: + /* 0x5ac */ u8 field_0x5ac[0xa3c - 0x5ac]; +}; +STATIC_ASSERT(sizeof(daE_ZS_c) == 0xa3c); + +class daE_ZS_HIO_c { + /* 808330AC */ daE_ZS_HIO_c(); + /* 80834DDC */ ~daE_ZS_HIO_c(); +}; + #endif /* D_A_E_ZS_H */ diff --git a/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h b/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h index 4e98f3a3dff..0cc5c0d1526 100644 --- a/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h +++ b/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h @@ -1,5 +1,41 @@ #ifndef D_A_OBJ_SMALLKEY_H #define D_A_OBJ_SMALLKEY_H +#include "f_op/f_op_actor_mng.h" + +class daKey_c : public fopAc_ac_c { + /* 80CD9F2C */ void initBaseMtx(); + /* 80CD9F68 */ void setBaseMtx(); + /* 80CD9FDC */ void Create(); + /* 80CDA15C */ bool __CreateHeap(); + /* 80CDA164 */ void create(); + /* 80CDA680 */ void bg_check(); + /* 80CDA7E8 */ void actionInitInit(); + /* 80CDA81C */ void actionInit(); + /* 80CDA8C8 */ void actionParentWaitInit(); + /* 80CDA8FC */ void actionParentWait(); + /* 80CDA9AC */ void actionWaitInit(); + /* 80CDAA28 */ void actionWait(); + /* 80CDAB74 */ void initActionOrderGetDemo(); + /* 80CDAC18 */ void actionOrderGetDemo(); + /* 80CDAC94 */ void actionGetDemo(); + /* 80CDAD28 */ void actionInitSwOnWait(); + /* 80CDADD4 */ void actionSwOnWait(); + /* 80CDAE54 */ void actionInitBoomerangCarry(); + /* 80CDAF40 */ void actionBoomerangCarry(); + /* 80CDAFB4 */ void effectSet(); + /* 80CDB0D8 */ void effectStop(); + /* 80CDB128 */ void effectCtrl(); + /* 80CDB2E0 */ void seStartTwinkle_private(u32); + /* 80CDB36C */ void actionInitE_GB(); + /* 80CDB3D8 */ void actionE_GB(); + /* 80CDB404 */ void execute(); + /* 80CDB5D4 */ void draw(); + /* 80CDB628 */ void _delete(); +private: + /* 0x568 */ u8 field_0x568[0x988 - 0x568]; +}; +STATIC_ASSERT(sizeof(daKey_c) == 0x988); + #endif /* D_A_OBJ_SMALLKEY_H */ diff --git a/rel/d/a/e/d_a_e_ai/d_a_e_ai.cpp b/rel/d/a/e/d_a_e_ai/d_a_e_ai.cpp index dc665c9b9b2..e2c57006d17 100644 --- a/rel/d/a/e/d_a_e_ai/d_a_e_ai.cpp +++ b/rel/d/a/e/d_a_e_ai/d_a_e_ai.cpp @@ -1,208 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ai -// +/** + * @file d_a_e_ai.cpp + * +*/ #include "rel/d/a/e/d_a_e_ai/d_a_e_ai.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DAnmTevRegKey {}; - -struct J3DMaterialTable { - /* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*); -}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_ai_class { - /* 806791BC */ void initCcCylinder(); - /* 80679284 */ void setCcCylinder(); - /* 80679350 */ void anm_init(int, f32, u8, f32); - /* 806793FC */ void Draw(); - /* 806794F4 */ void player_way_check(); - /* 80679538 */ void other_bg_check(fopAc_ac_c*); - /* 80679610 */ void pl_check(f32, s16); - /* 8067968C */ void damage_check(); - /* 80679DC8 */ void e_ai_damage(); - /* 8067A2CC */ void e_ai_attack(); - /* 8067A54C */ void e_ai_move(); - /* 8067AA48 */ void e_ai_wait(); - /* 8067ACA0 */ void e_ai_return(); - /* 8067B024 */ void action(); - /* 8067B2B0 */ void PlayerWaySet(); - /* 8067B31C */ void AttentionSet(); - /* 8067B378 */ void Execute(); - /* 8067B598 */ void setBaseMtx(); - /* 8067B620 */ void Delete(); - /* 8067B6F0 */ void CreateHeap(); - /* 8067B8E4 */ void Create(); - /* 8067BAEC */ e_ai_class(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_AI_HIO_c { - /* 8067916C */ daE_AI_HIO_c(); - /* 8067BF40 */ ~daE_AI_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8067BDF8 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8067BE68 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 8067B87C */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -339,8 +144,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -351,8 +154,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -363,7 +164,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -524,25 +324,30 @@ static dCcD_SrcCyl cc_cyl_src = { }; /* 8067C5BC-8067C5DC -00001 0020+00 1/0 0/0 0/0 .data l_daE_AI_Method */ -SECTION_DATA static void* l_daE_AI_Method[8] = { - (void*)daE_AI_Create__FP10fopAc_ac_c, - (void*)daE_AI_Delete__FP10e_ai_class, - (void*)daE_AI_Execute__FP10e_ai_class, - (void*)daE_AI_IsDelete__FP10e_ai_class, - (void*)daE_AI_Draw__FP10e_ai_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_AI_Method = { + (process_method_func)daE_AI_Create__FP10fopAc_ac_c, + (process_method_func)daE_AI_Delete__FP10e_ai_class, + (process_method_func)daE_AI_Execute__FP10e_ai_class, + (process_method_func)daE_AI_IsDelete__FP10e_ai_class, + (process_method_func)daE_AI_Draw__FP10e_ai_class, }; /* 8067C5DC-8067C60C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_AI */ -SECTION_DATA extern void* g_profile_E_AI[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01AF0000, (void*)&g_fpcLf_Method, - (void*)0x00000D44, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00700000, (void*)&l_daE_AI_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_AI = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_AI, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_ai_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 112, // mPriority + &l_daE_AI_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8067C60C-8067C618 0000CC 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1091,7 +896,8 @@ asm void e_ai_class::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ai/d_a_e_ai/__dt__12J3DFrameCtrlFv.s" } @@ -1211,7 +1017,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ai/d_a_e_ai/__dt__12dBgS_ObjAcchFv.s" } @@ -1221,7 +1028,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ai/d_a_e_ai/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_bg/d_a_e_bg.cpp b/rel/d/a/e/d_a_e_bg/d_a_e_bg.cpp index fab2beceae7..2057dd13d8c 100644 --- a/rel/d/a/e/d_a_e_bg/d_a_e_bg.cpp +++ b/rel/d/a/e/d_a_e_bg/d_a_e_bg.cpp @@ -1,266 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_bg -// +/** + * @file d_a_e_bg.cpp + * +*/ #include "rel/d/a/e/d_a_e_bg/d_a_e_bg.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_BG_c { - /* 8068585C */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 80685948 */ void JointCallBack(J3DJoint*, int); - /* 80685994 */ void draw(); - /* 80685B70 */ void setBck(int, u8, f32, f32); - /* 80685C14 */ void setActionMode(int, int); - /* 80685C2C */ void damage_check(); - /* 80685DBC */ void setSparkEffect(); - /* 80685F04 */ void search_esa(); - /* 80685F88 */ void executeBorn(); - /* 80686210 */ void executeSwim(); - /* 80686C90 */ void executeAttack(); - /* 80687B38 */ void executeDamage(); - /* 80687CD8 */ void setBombCarry(int); - /* 80687DEC */ void executeBomb(); - /* 80687FC4 */ void executeBirth(); - /* 8068838C */ void executeHook(); - /* 806883D0 */ void executeEat(); - /* 80689168 */ void action(); - /* 80689544 */ void mtx_set(); - /* 8068966C */ void cc_set(); - /* 806897EC */ void execute(); - /* 80689978 */ void _delete(); - /* 80689A0C */ void CreateHeap(); - /* 80689C38 */ void create(); -}; - -struct daE_BG_HIO_c { - /* 8068580C */ daE_BG_HIO_c(); - /* 8068A19C */ ~daE_BG_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct cXyz {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 8068A10C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct dAttention_c { - /* 8007353C */ void LockonTarget(s32); - /* 800737E4 */ void LockonTruth(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8068A07C */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 8068A0C4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct cBgS_LinChk {}; - -struct Vec {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 80689BD0 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -403,11 +150,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_28(); @@ -416,9 +158,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -427,11 +166,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -537,25 +273,30 @@ SECTION_DATA static void* lit_5159[8] = { }; /* 8068A40C-8068A42C -00001 0020+00 1/0 0/0 0/0 .data l_daE_BG_Method */ -SECTION_DATA static void* l_daE_BG_Method[8] = { - (void*)daE_BG_Create__FP8daE_BG_c, - (void*)daE_BG_Delete__FP8daE_BG_c, - (void*)daE_BG_Execute__FP8daE_BG_c, - (void*)daE_BG_IsDelete__FP8daE_BG_c, - (void*)daE_BG_Draw__FP8daE_BG_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_BG_Method = { + (process_method_func)daE_BG_Create__FP8daE_BG_c, + (process_method_func)daE_BG_Delete__FP8daE_BG_c, + (process_method_func)daE_BG_Execute__FP8daE_BG_c, + (process_method_func)daE_BG_IsDelete__FP8daE_BG_c, + (process_method_func)daE_BG_Draw__FP8daE_BG_c, }; /* 8068A42C-8068A45C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BG */ -SECTION_DATA extern void* g_profile_E_BG[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02010000, (void*)&g_fpcLf_Method, - (void*)0x00000BBC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00CC0000, (void*)&l_daE_BG_Method, - (void*)0x000D0100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_BG = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_BG, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_BG_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 204, // mPriority + &l_daE_BG_Method, // sub_method + 0x000D0100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8068A45C-8068A468 000148 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -1175,7 +916,8 @@ asm void daE_BG_c::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bg/d_a_e_bg/__dt__12J3DFrameCtrlFv.s" } @@ -1220,7 +962,8 @@ asm void daE_BG_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bg/d_a_e_bg/__dt__8cM3dGSphFv.s" } @@ -1230,7 +973,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bg/d_a_e_bg/__dt__8cM3dGAabFv.s" } @@ -1240,7 +984,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bg/d_a_e_bg/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_bi/d_a_e_bi.cpp b/rel/d/a/e/d_a_e_bi/d_a_e_bi.cpp index 64f6a4afeae..8617a64eb8b 100644 --- a/rel/d/a/e/d_a_e_bi/d_a_e_bi.cpp +++ b/rel/d/a/e/d_a_e_bi/d_a_e_bi.cpp @@ -1,194 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_bi -// +/** + * @file d_a_e_bi.cpp + * +*/ #include "rel/d/a/e/d_a_e_bi/d_a_e_bi.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct e_bi_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_BI_HIO_c { - /* 8068A5EC */ daE_BI_HIO_c(); - /* 8068D2DC */ ~daE_BI_HIO_c(); -}; - -struct dSv_memBit_c { - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjGndChk { - /* 8068C350 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 8068D080 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8068D0F0 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -330,9 +149,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_24(); @@ -345,8 +161,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -357,7 +171,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -558,25 +371,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 8068D9DC-8068D9FC -00001 0020+00 1/0 0/0 0/0 .data l_daE_BI_Method */ -SECTION_DATA static void* l_daE_BI_Method[8] = { - (void*)daE_BI_Create__FP10fopAc_ac_c, - (void*)daE_BI_Delete__FP10e_bi_class, - (void*)daE_BI_Execute__FP10e_bi_class, - (void*)daE_BI_IsDelete__FP10e_bi_class, - (void*)daE_BI_Draw__FP10e_bi_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_BI_Method = { + (process_method_func)daE_BI_Create__FP10fopAc_ac_c, + (process_method_func)daE_BI_Delete__FP10e_bi_class, + (process_method_func)daE_BI_Execute__FP10e_bi_class, + (process_method_func)daE_BI_IsDelete__FP10e_bi_class, + (process_method_func)daE_BI_Draw__FP10e_bi_class, }; /* 8068D9FC-8068DA2C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BI */ -SECTION_DATA extern void* g_profile_E_BI[12] = { - (void*)0xFFFFFFFD, (void*)0x0009FFFD, - (void*)0x03040000, (void*)&g_fpcLf_Method, - (void*)0x00000C00, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00930000, (void*)&l_daE_BI_Method, - (void*)0x100D0100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_BI = { + fpcLy_CURRENT_e, // mLayerID + 9, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_BI, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_bi_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 147, // mPriority + &l_daE_BI_Method, // sub_method + 0x100D0100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8068DA2C-8068DA38 000140 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ @@ -1104,7 +922,8 @@ static asm void ride_movebg_init(e_bi_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bi/d_a_e_bi/__dt__14dBgS_ObjGndChkFv.s" } @@ -1287,7 +1106,8 @@ static asm void daE_BI_Create(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bi/d_a_e_bi/__dt__12dBgS_ObjAcchFv.s" } @@ -1297,7 +1117,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bi/d_a_e_bi/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_bs/d_a_e_bs.cpp b/rel/d/a/e/d_a_e_bs/d_a_e_bs.cpp index e1897f6d7fd..67777b0bb2e 100644 --- a/rel/d/a/e/d_a_e_bs/d_a_e_bs.cpp +++ b/rel/d/a/e/d_a_e_bs/d_a_e_bs.cpp @@ -1,180 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_bs -// +/** + * @file d_a_e_bs.cpp + * +*/ #include "rel/d/a/e/d_a_e_bs/d_a_e_bs.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_bs_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_BS_HIO_c { - /* 8068E12C */ daE_BS_HIO_c(); - /* 8069091C */ ~daE_BS_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct J3DModel {}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806907F4 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80690864 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -312,9 +145,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_24(); @@ -328,8 +158,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -338,8 +166,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -551,25 +377,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 80690FC8-80690FE8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BS_Method */ -SECTION_DATA static void* l_daE_BS_Method[8] = { - (void*)daE_BS_Create__FP10fopAc_ac_c, - (void*)daE_BS_Delete__FP10e_bs_class, - (void*)daE_BS_Execute__FP10e_bs_class, - (void*)daE_BS_IsDelete__FP10e_bs_class, - (void*)daE_BS_Draw__FP10e_bs_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_BS_Method = { + (process_method_func)daE_BS_Create__FP10fopAc_ac_c, + (process_method_func)daE_BS_Delete__FP10e_bs_class, + (process_method_func)daE_BS_Execute__FP10e_bs_class, + (process_method_func)daE_BS_IsDelete__FP10e_bs_class, + (process_method_func)daE_BS_Draw__FP10e_bs_class, }; /* 80690FE8-80691018 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BS */ -SECTION_DATA extern void* g_profile_E_BS[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B70000, (void*)&g_fpcLf_Method, - (void*)0x00000CFC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x007C0000, (void*)&l_daE_BS_Method, - (void*)0x10040100, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_BS = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_BS, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_bs_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 124, // mPriority + &l_daE_BS_Method, // sub_method + 0x10040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 80691018-80691024 000154 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1211,7 +1042,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bs/d_a_e_bs/__dt__12dBgS_ObjAcchFv.s" } @@ -1221,7 +1053,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bs/d_a_e_bs/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_bu/d_a_e_bu.cpp b/rel/d/a/e/d_a_e_bu/d_a_e_bu.cpp index bd585335734..848eb664aac 100644 --- a/rel/d/a/e/d_a_e_bu/d_a_e_bu.cpp +++ b/rel/d/a/e/d_a_e_bu/d_a_e_bu.cpp @@ -1,175 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_bu -// +/** + * @file d_a_e_bu.cpp + * +*/ #include "rel/d/a/e/d_a_e_bu/d_a_e_bu.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_bu_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_BU_HIO_c { - /* 806911AC */ daE_BU_HIO_c(); - /* 806941D4 */ ~daE_BU_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - - static u8 mParticleTracePCB[4 + 4 /* padding */]; -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806940AC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8069411C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -293,9 +131,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_26(); @@ -308,8 +143,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -318,8 +151,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; @@ -540,25 +371,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 80694890-806948B0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BU_Method */ -SECTION_DATA static void* l_daE_BU_Method[8] = { - (void*)daE_BU_Create__FP10fopAc_ac_c, - (void*)daE_BU_Delete__FP10e_bu_class, - (void*)daE_BU_Execute__FP10e_bu_class, - (void*)daE_BU_IsDelete__FP10e_bu_class, - (void*)daE_BU_Draw__FP10e_bu_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_BU_Method = { + (process_method_func)daE_BU_Create__FP10fopAc_ac_c, + (process_method_func)daE_BU_Delete__FP10e_bu_class, + (process_method_func)daE_BU_Execute__FP10e_bu_class, + (process_method_func)daE_BU_IsDelete__FP10e_bu_class, + (process_method_func)daE_BU_Draw__FP10e_bu_class, }; /* 806948B0-806948E0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BU */ -SECTION_DATA extern void* g_profile_E_BU[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01EB0000, (void*)&g_fpcLf_Method, - (void*)0x00000AA4, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00B50000, (void*)&l_daE_BU_Method, - (void*)0x100C0120, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_BU = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_BU, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_bu_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 181, // mPriority + &l_daE_BU_Method, // sub_method + 0x100C0120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806948E0-806948EC 000164 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1200,7 +1036,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bu/d_a_e_bu/__dt__12dBgS_ObjAcchFv.s" } @@ -1210,7 +1047,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bu/d_a_e_bu/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_bug/d_a_e_bug.cpp b/rel/d/a/e/d_a_e_bug/d_a_e_bug.cpp index 753c0f17420..e70eb56bb3a 100644 --- a/rel/d/a/e/d_a_e_bug/d_a_e_bug.cpp +++ b/rel/d/a/e/d_a_e_bug/d_a_e_bug.cpp @@ -1,115 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_bug -// +/** + * @file d_a_e_bug.cpp + * +*/ #include "rel/d/a/e/d_a_e_bug/d_a_e_bug.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80694F58 */ ~cXyz(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct e_bug_class {}; - -struct daPy_py_c { - /* 8015F89C */ void checkBoomerangCharge(); -}; - -struct daE_Bug_HIO_c { - /* 80694B8C */ daE_Bug_HIO_c(); - /* 80697BEC */ ~daE_Bug_HIO_c(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct csXyz {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); -}; - -struct J3DModel {}; - -struct J3DModelData {}; - -struct dComIfG_play_c { - /* 8002CAF0 */ void addSimpleModel(J3DModelData*, int, u8); - /* 8002CB30 */ void removeSimpleModel(J3DModelData*, int); - /* 8002CB68 */ void entrySimpleModel(J3DModel*, int); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct bug_s { - /* 80697B4C */ ~bug_s(); - /* 80697BB8 */ bug_s(); -}; - -struct Z2SoundObjSimple { - /* 802BE844 */ Z2SoundObjSimple(); -}; - -struct JAISoundID {}; - -struct Z2SoundObjBeeGroup { - /* 802C1D10 */ Z2SoundObjBeeGroup(); - /* 802C1D6C */ void playBeeGroupSound(JAISoundID, u8); -}; - -struct Z2SoundObjBase { - /* 802BDF48 */ ~Z2SoundObjBase(); - /* 802BDFF8 */ void deleteObject(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; // // Forward References: @@ -193,10 +91,6 @@ extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void __ct__18Z2SoundObjBeeGroupFv(); extern "C" void playBeeGroupSound__18Z2SoundObjBeeGroupF10JAISoundIDUc(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_22(); extern "C" void _savegpr_24(); @@ -212,15 +106,11 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__16Z2SoundObjSimple[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" void __register_global_object(); @@ -248,25 +138,30 @@ SECTION_DATA static u8 c_z[16] = { }; /* 80697DC8-80697DE8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_Bug_Method */ -SECTION_DATA static void* l_daE_Bug_Method[8] = { - (void*)daE_Bug_Create__FP10fopAc_ac_c, - (void*)daE_Bug_Delete__FP11e_bug_class, - (void*)daE_Bug_Execute__FP11e_bug_class, - (void*)daE_Bug_IsDelete__FP11e_bug_class, - (void*)daE_Bug_Draw__FP11e_bug_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_Bug_Method = { + (process_method_func)daE_Bug_Create__FP10fopAc_ac_c, + (process_method_func)daE_Bug_Delete__FP11e_bug_class, + (process_method_func)daE_Bug_Execute__FP11e_bug_class, + (process_method_func)daE_Bug_IsDelete__FP11e_bug_class, + (process_method_func)daE_Bug_Draw__FP11e_bug_class, }; /* 80697DE8-80697E18 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BUG */ -SECTION_DATA extern void* g_profile_E_BUG[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01EC0000, (void*)&g_fpcLf_Method, - (void*)0x00007DB0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00B60000, (void*)&l_daE_Bug_Method, - (void*)0x00044000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_E_BUG = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_BUG, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_bug_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 182, // mPriority + &l_daE_Bug_Method, // sub_method + 0x00044000, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80697E18-80697E24 000070 000C+00 2/2 0/0 0/0 .data __vt__13daE_Bug_HIO_c */ @@ -473,7 +368,8 @@ static asm void simple_bg_check(bug_s* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_bug/d_a_e_bug/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_cr/d_a_e_cr.cpp b/rel/d/a/e/d_a_e_cr/d_a_e_cr.cpp index cb0747e2164..3843e0ae251 100644 --- a/rel/d/a/e/d_a_e_cr/d_a_e_cr.cpp +++ b/rel/d/a/e/d_a_e_cr/d_a_e_cr.cpp @@ -1,160 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_cr -// +/** + * @file d_a_e_cr.cpp + * +*/ #include "rel/d/a/e/d_a_e_cr/d_a_e_cr.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_cr_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_CR_HIO_c { - /* 8069800C */ daE_CR_HIO_c(); - /* 806997F4 */ ~daE_CR_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806996CC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8069973C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -264,17 +117,12 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_19(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -283,8 +131,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -432,25 +278,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 80699DC4-80699DE4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_CR_Method */ -SECTION_DATA static void* l_daE_CR_Method[8] = { - (void*)daE_CR_Create__FP10fopAc_ac_c, - (void*)daE_CR_Delete__FP10e_cr_class, - (void*)daE_CR_Execute__FP10e_cr_class, - (void*)daE_CR_IsDelete__FP10e_cr_class, - (void*)daE_CR_Draw__FP10e_cr_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_CR_Method = { + (process_method_func)daE_CR_Create__FP10fopAc_ac_c, + (process_method_func)daE_CR_Delete__FP10e_cr_class, + (process_method_func)daE_CR_Execute__FP10e_cr_class, + (process_method_func)daE_CR_IsDelete__FP10e_cr_class, + (process_method_func)daE_CR_Draw__FP10e_cr_class, }; /* 80699DE4-80699E14 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_CR */ -SECTION_DATA extern void* g_profile_E_CR[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01C30000, (void*)&g_fpcLf_Method, - (void*)0x00000A60, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00710000, (void*)&l_daE_CR_Method, - (void*)0x10040100, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_CR = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_CR, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_cr_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 113, // mPriority + &l_daE_CR_Method, // sub_method + 0x10040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 80699E14-80699E20 0000C8 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -887,7 +738,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_cr/d_a_e_cr/__dt__12dBgS_ObjAcchFv.s" } @@ -897,7 +749,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_cr/d_a_e_cr/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.cpp b/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.cpp index 11ce8f2babc..bfa89414076 100644 --- a/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.cpp +++ b/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.cpp @@ -1,99 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_cr_egg -// +/** + * @file d_a_e_cr_egg.cpp + * +*/ #include "rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_cr_egg_class {}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8069A844 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct _GXTexObj {}; - -struct Z2Creature { - /* 802C03C8 */ Z2Creature(); - /* 802C0530 */ void init(Vec*, Vec*, u8, u8); - /* 802C06F4 */ void stopAnime(); -}; - -struct J3DModel {}; // // Forward References: @@ -162,12 +75,8 @@ extern "C" void __ct__10Z2CreatureFv(); extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); extern "C" void stopAnime__10Z2CreatureFv(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -176,7 +85,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -378,25 +286,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 8069A960-8069A980 -00001 0020+00 1/0 0/0 0/0 .data l_daE_CR_EGG_Method */ -SECTION_DATA static void* l_daE_CR_EGG_Method[8] = { - (void*)daE_CR_EGG_Create__FP10fopAc_ac_c, - (void*)daE_CR_EGG_Delete__FP14e_cr_egg_class, - (void*)daE_CR_EGG_Execute__FP14e_cr_egg_class, - (void*)daE_CR_EGG_IsDelete__FP14e_cr_egg_class, - (void*)daE_CR_EGG_Draw__FP14e_cr_egg_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_CR_EGG_Method = { + (process_method_func)daE_CR_EGG_Create__FP10fopAc_ac_c, + (process_method_func)daE_CR_EGG_Delete__FP14e_cr_egg_class, + (process_method_func)daE_CR_EGG_Execute__FP14e_cr_egg_class, + (process_method_func)daE_CR_EGG_IsDelete__FP14e_cr_egg_class, + (process_method_func)daE_CR_EGG_Draw__FP14e_cr_egg_class, }; /* 8069A980-8069A9B0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_CR_EGG */ -SECTION_DATA extern void* g_profile_E_CR_EGG[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01C40000, (void*)&g_fpcLf_Method, - (void*)0x00000A0C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00720000, (void*)&l_daE_CR_EGG_Method, - (void*)0x00040100, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_CR_EGG = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_CR_EGG, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_cr_egg_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 114, // mPriority + &l_daE_CR_EGG_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 8069A9B0-8069A9BC 00009C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -463,7 +376,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_db/d_a_e_db.cpp b/rel/d/a/e/d_a_e_db/d_a_e_db.cpp index 4899f083a3e..62fc47bf041 100644 --- a/rel/d/a/e/d_a_e_db/d_a_e_db.cpp +++ b/rel/d/a/e/d_a_e_db/d_a_e_db.cpp @@ -1,217 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_db -// +/** + * @file d_a_e_db.cpp + * +*/ #include "rel/d/a/e/d_a_e_db/d_a_e_db.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct ResTIMG {}; - -struct _GXColor {}; - -struct dKy_tevstr_c {}; - -struct mDoExt_3DlineMat1_c { - /* 80013360 */ void init(u16, u16, ResTIMG*, int); - /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; - static f32 mGroundY; -}; - -struct e_db_class {}; - -struct daPy_py_c { - /* 8015F4F0 */ void setLookPos(cXyz*); - - static u8 m_midnaActor[4]; -}; - -struct daE_DB_HIO_c { - /* 8069AAEC */ daE_DB_HIO_c(); - /* 806A13D8 */ ~daE_DB_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; - /* 80035644 */ void onActor(int, int); -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 806A1388 */ csXyz(); - /* 806A1880 */ ~csXyz(); -}; - -struct dPa_control_c { - struct level_c { - /* 8004B8B4 */ void forceOnEventMove(u32); - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 806A106C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806A10DC */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JPABaseEmitter { - /* 8027EC60 */ void deleteAllParticle(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -381,9 +177,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_20(); @@ -406,8 +199,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -417,7 +208,6 @@ extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -733,25 +523,30 @@ static dCcD_SrcSph kuki_sph_src = { #pragma pop /* 806A1CC0-806A1CE0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_DB_Method */ -SECTION_DATA static void* l_daE_DB_Method[8] = { - (void*)daE_DB_Create__FP10fopAc_ac_c, - (void*)daE_DB_Delete__FP10e_db_class, - (void*)daE_DB_Execute__FP10e_db_class, - (void*)daE_DB_IsDelete__FP10e_db_class, - (void*)daE_DB_Draw__FP10e_db_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_DB_Method = { + (process_method_func)daE_DB_Create__FP10fopAc_ac_c, + (process_method_func)daE_DB_Delete__FP10e_db_class, + (process_method_func)daE_DB_Execute__FP10e_db_class, + (process_method_func)daE_DB_IsDelete__FP10e_db_class, + (process_method_func)daE_DB_Draw__FP10e_db_class, }; /* 806A1CE0-806A1D10 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_DB */ -SECTION_DATA extern void* g_profile_E_DB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01C50000, (void*)&g_fpcLf_Method, - (void*)0x00001270, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00880000, (void*)&l_daE_DB_Method, - (void*)0x10050120, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_DB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_DB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_db_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 136, // mPriority + &l_daE_DB_Method, // sub_method + 0x10050120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806A1D10-806A1D1C 00029C 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ @@ -1658,7 +1453,8 @@ static asm void daE_DB_Create(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_db/d_a_e_db/__dt__12dBgS_ObjAcchFv.s" } @@ -1668,7 +1464,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_db/d_a_e_db/__dt__12dBgS_AcchCirFv.s" } @@ -1730,7 +1527,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma pop /* 806A1388-806A138C 006988 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -1812,7 +1610,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_db/d_a_e_db/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_dd/d_a_e_dd.cpp b/rel/d/a/e/d_a_e_dd/d_a_e_dd.cpp index bc09c510fca..2bfb90b4dc1 100644 --- a/rel/d/a/e/d_a_e_dd/d_a_e_dd.cpp +++ b/rel/d/a/e/d_a_e_dd/d_a_e_dd.cpp @@ -1,202 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_dd -// +/** + * @file d_a_e_dd.cpp + * +*/ #include "rel/d/a/e/d_a_e_dd/d_a_e_dd.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_dd_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_DD_HIO_c { - /* 806A226C */ daE_DD_HIO_c(); - /* 806A6D08 */ ~daE_DD_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 806A6BE0 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806A6C50 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 806A63B8 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -349,9 +160,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_22(); @@ -369,8 +177,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -379,8 +185,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -648,25 +452,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 806A73E4-806A7404 -00001 0020+00 1/0 0/0 0/0 .data l_daE_DD_Method */ -SECTION_DATA static void* l_daE_DD_Method[8] = { - (void*)daE_DD_Create__FP10fopAc_ac_c, - (void*)daE_DD_Delete__FP10e_dd_class, - (void*)daE_DD_Execute__FP10e_dd_class, - (void*)daE_DD_IsDelete__FP10e_dd_class, - (void*)daE_DD_Draw__FP10e_dd_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_DD_Method = { + (process_method_func)daE_DD_Create__FP10fopAc_ac_c, + (process_method_func)daE_DD_Delete__FP10e_dd_class, + (process_method_func)daE_DD_Execute__FP10e_dd_class, + (process_method_func)daE_DD_IsDelete__FP10e_dd_class, + (process_method_func)daE_DD_Draw__FP10e_dd_class, }; /* 806A7404-806A7434 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_DD */ -SECTION_DATA extern void* g_profile_E_DD[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B20000, (void*)&g_fpcLf_Method, - (void*)0x00000E94, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00750000, (void*)&l_daE_DD_Method, - (void*)0x10040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_DD = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_DD, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_dd_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 117, // mPriority + &l_daE_DD_Method, // sub_method + 0x10040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806A7434-806A7440 000174 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1297,7 +1106,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dd/d_a_e_dd/__dt__12J3DFrameCtrlFv.s" } @@ -1419,7 +1229,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dd/d_a_e_dd/__dt__12dBgS_ObjAcchFv.s" } @@ -1429,7 +1240,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dd/d_a_e_dd/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_df/d_a_e_df.cpp b/rel/d/a/e/d_a_e_df/d_a_e_df.cpp index 8876aa4dc13..8f12587019b 100644 --- a/rel/d/a/e/d_a_e_df/d_a_e_df.cpp +++ b/rel/d/a/e/d_a_e_df/d_a_e_df.cpp @@ -1,188 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_df -// +/** + * @file d_a_e_df.cpp + * +*/ #include "rel/d/a/e/d_a_e_df/d_a_e_df.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_DF_c { - /* 806A7710 */ void CreateHeap(); - /* 806A7828 */ void initCcCylinder(); - /* 806A78A0 */ void setCcCylinder(); - /* 806A78D4 */ void SetAnm(int, int, f32, f32); - /* 806A7980 */ void CameraSet(f32); - /* 806A7B40 */ void DemoStart(); - /* 806A7C3C */ void SetReleaseCam(); - /* 806A7CE0 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 806A8030 */ void Link_Eat_Pos(); - /* 806A8098 */ void Set_Angle(cXyz*); - /* 806A816C */ void Obj_Damage(); - /* 806A8244 */ void DamageAction(); - /* 806A8368 */ void BombEatAction(); - /* 806A8790 */ void Spid_Out(); - /* 806A8938 */ void LinkEatAction(); - /* 806A8C80 */ void Mogu_Mogu(); - /* 806A8D98 */ void ObjEatAction(); - /* 806A8ED4 */ void EatAction(); - /* 806A8F2C */ void SearchAction(); - /* 806A91B4 */ void WaitAction(); - /* 806A9254 */ void MissAction(); - /* 806A9304 */ void Action(); - /* 806A9384 */ void Execute(); - /* 806A949C */ void Yazirushi(); - /* 806A94E0 */ void Draw(); - /* 806A9550 */ void Delete(); - /* 806A95B8 */ void setBaseMtx(); - /* 806A9678 */ void Create(); -}; - -struct daE_DF_HIO_c { - /* 806A76EC */ daE_DF_HIO_c(); - /* 806A9A84 */ ~daE_DF_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); - /* 80181E64 */ void Eye(); - /* 80181E98 */ void Center(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -310,8 +135,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); extern "C" void _savegpr_28(); @@ -320,8 +143,6 @@ extern "C" void _restgpr_19(); extern "C" void _restgpr_25(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_CylAttr[25]; @@ -329,8 +150,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -406,25 +225,30 @@ SECTION_DATA static u8 eff_id[6 + 2 /* padding */] = { #pragma pop /* 806AA03C-806AA05C -00001 0020+00 1/0 0/0 0/0 .data l_daE_DF_Method */ -SECTION_DATA static void* l_daE_DF_Method[8] = { - (void*)daE_DF_Create__FP10fopAc_ac_c, - (void*)daE_DF_Delete__FP8daE_DF_c, - (void*)daE_DF_Execute__FP8daE_DF_c, - (void*)daE_DF_IsDelete__FP8daE_DF_c, - (void*)daE_DF_Draw__FP8daE_DF_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_DF_Method = { + (process_method_func)daE_DF_Create__FP10fopAc_ac_c, + (process_method_func)daE_DF_Delete__FP8daE_DF_c, + (process_method_func)daE_DF_Execute__FP8daE_DF_c, + (process_method_func)daE_DF_IsDelete__FP8daE_DF_c, + (process_method_func)daE_DF_Draw__FP8daE_DF_c, }; /* 806AA05C-806AA08C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_DF */ -SECTION_DATA extern void* g_profile_E_DF[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01BA0000, (void*)&g_fpcLf_Method, - (void*)0x00000838, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00820000, (void*)&l_daE_DF_Method, - (void*)0x00040100, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_E_DF = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_DF, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_DF_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 130, // mPriority + &l_daE_DF_Method, // sub_method + 0x00040100, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806AA08C-806AA098 000088 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ diff --git a/rel/d/a/e/d_a_e_dk/d_a_e_dk.cpp b/rel/d/a/e/d_a_e_dk/d_a_e_dk.cpp index 4b8ef9b5107..423e7affe2b 100644 --- a/rel/d/a/e/d_a_e_dk/d_a_e_dk.cpp +++ b/rel/d/a/e/d_a_e_dk/d_a_e_dk.cpp @@ -1,284 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_dk -// +/** + * @file d_a_e_dk.cpp + * +*/ #include "rel/d/a/e/d_a_e_dk/d_a_e_dk.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct dBgS_SphChk { - /* 80078A14 */ dBgS_SphChk(); -}; - -struct cM3dGPla {}; - -struct cBgD_Vtx_t {}; - -struct daE_DK_c { - /* 806AA228 */ void draw(); - /* 806AA5C8 */ void setBck(int, u8, f32, f32); - /* 806AA68C */ void setBckCore(int, u8, f32, f32); - /* 806AA730 */ void setActionMode(int, int); - /* 806AA73C */ void damage_check(); - /* 806AA8B0 */ void checkPlayerSearch(); - /* 806AAB18 */ void checkPlayerAttack(f32); - /* 806AAC24 */ void checkWaterHeight(); - /* 806AAD68 */ void SphBgcCallBack(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dGPla*, void*); - /* 806AAE10 */ void setElectricEffect(); - /* 806AB054 */ void setCoreDeadEffect(); - /* 806AB158 */ void setBodyDeadEffect(); - /* 806AB29C */ void executeWait(); - /* 806AB684 */ void executeChase(); - /* 806ABA78 */ void executeAttack(); - /* 806ABCC8 */ void executeDamage(); - /* 806ABE3C */ void BodyDeathMove(); - /* 806ABF6C */ void executeDeath(); - /* 806AC390 */ void action(); - /* 806AC5BC */ void mtx_set(); - /* 806AC754 */ void cc_set(); - /* 806AC968 */ void execute(); - /* 806ACA10 */ void _delete(); - /* 806ACAA4 */ void CreateHeap(); - /* 806ACE14 */ void create(); - /* 806AD0AC */ daE_DK_c(); -}; - -struct daE_DK_HIO_c { - /* 806AA1EC */ daE_DK_HIO_c(); - /* 806AD490 */ ~daE_DK_HIO_c(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806AD2EC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 806AD348 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806AD3B8 */ ~dBgS_AcchCir(); -}; - -struct dBgS { - /* 80075688 */ void SphChk(dBgS_SphChk*, void*); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806AD25C */ ~cM3dGSph(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 806AD2A4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 806AD448 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 806ACDAC */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -422,10 +151,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_22(); extern "C" void _savegpr_23(); extern "C" void _savegpr_25(); @@ -438,8 +163,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -448,10 +171,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 j3dZModeTable[96]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" void __register_global_object(); // @@ -543,25 +264,30 @@ SECTION_DATA static u8 dead_effect_name[4] = { }; /* 806AD724-806AD744 -00001 0020+00 1/0 0/0 0/0 .data l_daE_DK_Method */ -SECTION_DATA static void* l_daE_DK_Method[8] = { - (void*)daE_DK_Create__FP8daE_DK_c, - (void*)daE_DK_Delete__FP8daE_DK_c, - (void*)daE_DK_Execute__FP8daE_DK_c, - (void*)daE_DK_IsDelete__FP8daE_DK_c, - (void*)daE_DK_Draw__FP8daE_DK_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_DK_Method = { + (process_method_func)daE_DK_Create__FP8daE_DK_c, + (process_method_func)daE_DK_Delete__FP8daE_DK_c, + (process_method_func)daE_DK_Execute__FP8daE_DK_c, + (process_method_func)daE_DK_IsDelete__FP8daE_DK_c, + (process_method_func)daE_DK_Draw__FP8daE_DK_c, }; /* 806AD744-806AD774 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_DK */ -SECTION_DATA extern void* g_profile_E_DK[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02070000, (void*)&g_fpcLf_Method, - (void*)0x00000D54, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02F30000, (void*)&l_daE_DK_Method, - (void*)0x000C0100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_DK = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_DK, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_DK_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 755, // mPriority + &l_daE_DK_Method, // sub_method + 0x000C0100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806AD774-806AD780 000140 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1270,7 +996,8 @@ asm void daE_DK_c::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dk/d_a_e_dk/__dt__12J3DFrameCtrlFv.s" } @@ -1344,7 +1071,8 @@ asm daE_DK_c::daE_DK_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dk/d_a_e_dk/__dt__8cM3dGSphFv.s" } @@ -1354,7 +1082,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dk/d_a_e_dk/__dt__8cM3dGAabFv.s" } @@ -1364,7 +1093,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dk/d_a_e_dk/__dt__10dCcD_GSttsFv.s" } @@ -1374,7 +1104,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dk/d_a_e_dk/__dt__12dBgS_ObjAcchFv.s" } @@ -1384,7 +1115,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dk/d_a_e_dk/__dt__12dBgS_AcchCirFv.s" } @@ -1404,7 +1136,8 @@ static asm void daE_DK_Create(daE_DK_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dk/d_a_e_dk/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/e/d_a_e_dn/d_a_e_dn.cpp b/rel/d/a/e/d_a_e_dn/d_a_e_dn.cpp index e2f7756b2f8..d5264c28e47 100644 --- a/rel/d/a/e/d_a_e_dn/d_a_e_dn.cpp +++ b/rel/d/a/e/d_a_e_dn/d_a_e_dn.cpp @@ -1,217 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_dn -// +/** + * @file d_a_e_dn.cpp + * +*/ #include "rel/d/a/e/d_a_e_dn/d_a_e_dn.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_dn_class { - /* 804EDE58 */ e_dn_class(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_DN_HIO_c { - /* 804E51AC */ daE_DN_HIO_c(); - /* 804EE39C */ ~daE_DN_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 804EE350 */ csXyz(); - /* 804EE85C */ ~csXyz(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct J3DModel {}; - -struct dJntColData_c {}; - -struct dJntCol_c { - /* 80035C8C */ dJntCol_c(); - /* 80035CA0 */ void init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int); -}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBomb_c { - /* 80031F94 */ void checkStateCarry(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjGndChk { - /* 804E9AF0 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 804EE270 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 804EE2E0 */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; // // Forward References: @@ -407,9 +203,6 @@ extern "C" void setLinkSearch__15Z2CreatureEnemyFb(); extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -427,8 +220,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -437,8 +228,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; @@ -843,25 +632,30 @@ static dCcD_SrcSph tate_sph_src = { #pragma pop /* 804EEDF8-804EEE18 -00001 0020+00 1/0 0/0 0/0 .data l_daE_DN_Method */ -SECTION_DATA static void* l_daE_DN_Method[8] = { - (void*)daE_DN_Create__FP10fopAc_ac_c, - (void*)daE_DN_Delete__FP10e_dn_class, - (void*)daE_DN_Execute__FP10e_dn_class, - (void*)daE_DN_IsDelete__FP10e_dn_class, - (void*)daE_DN_Draw__FP10e_dn_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_DN_Method = { + (process_method_func)daE_DN_Create__FP10fopAc_ac_c, + (process_method_func)daE_DN_Delete__FP10e_dn_class, + (process_method_func)daE_DN_Execute__FP10e_dn_class, + (process_method_func)daE_DN_IsDelete__FP10e_dn_class, + (process_method_func)daE_DN_Draw__FP10e_dn_class, }; /* 804EEE18-804EEE48 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_DN */ -SECTION_DATA extern void* g_profile_E_DN[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B30000, (void*)&g_fpcLf_Method, - (void*)0x0000110C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00760000, (void*)&l_daE_DN_Method, - (void*)0x00040000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_DN = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_DN, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_dn_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 118, // mPriority + &l_daE_DN_Method, // sub_method + 0x00040000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 804EEE48-804EEE54 000408 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1728,7 +1522,8 @@ static asm void body_gake(e_dn_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dn/d_a_e_dn/__dt__14dBgS_ObjGndChkFv.s" } @@ -2215,7 +2010,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dn/d_a_e_dn/__dt__12dBgS_ObjAcchFv.s" } @@ -2225,14 +2021,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dn/d_a_e_dn/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 804EE350-804EE354 009290 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -2338,7 +2136,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dn/d_a_e_dn/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_dt/d_a_e_dt.cpp b/rel/d/a/e/d_a_e_dt/d_a_e_dt.cpp index 71643bc3a5d..c693e82ba08 100644 --- a/rel/d/a/e/d_a_e_dt/d_a_e_dt.cpp +++ b/rel/d/a/e/d_a_e_dt/d_a_e_dt.cpp @@ -1,368 +1,15 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_dt -// +/** + * @file d_a_e_dt.cpp + * +*/ #include "rel/d/a/e/d_a_e_dt/d_a_e_dt.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz { - /* 806B5B7C */ csXyz(); - /* 806B5B80 */ ~csXyz(); -}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 806AE56C */ ~cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoGph_gInf_c { - /* 80008078 */ void onBlure(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - /* 8015F914 */ void setPlayerDamage(int, int); -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_DT_c { - /* 806AD97C */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 806ADBA0 */ void JointCallBack(J3DJoint*, int); - /* 806ADBEC */ void ctrlJointTuba(J3DJoint*, J3DModel*); - /* 806ADD30 */ void JointCallBackTuba(J3DJoint*, int); - /* 806ADD7C */ void draw(); - /* 806AE5C8 */ void demo_skip(int); - /* 806AE618 */ void DemoSkipCallBack(void*, int); - /* 806AE64C */ void setBck(int, u8, f32, f32); - /* 806AE6F0 */ void checkBck(int); - /* 806AE74C */ void setActionMode(int, int); - /* 806AE758 */ void damage_check(); - /* 806AEB48 */ void setStabPos(); - /* 806AEBD4 */ void checkBeforeBg(f32); - /* 806AED94 */ void checkTongueBg(); - /* 806AEEFC */ void checkWaterSurface(); - /* 806AEFE8 */ void setSmallWaterEffect(); - /* 806AF09C */ void setLargeWaterEffect(); - /* 806AF150 */ void setHamonEffect(int); - /* 806AF240 */ void setJumpEffect(); - /* 806AF2F4 */ void setJumpSizukuEffect(); - /* 806AF3D0 */ void setDamageShibukiEffect(int); - /* 806AF460 */ void setDamageYodareEffect(int); - /* 806AF548 */ void setSwingEffect(); - /* 806AF5CC */ void setStepEffect(); - /* 806AF740 */ void setBombEffect(); - /* 806AF848 */ void setBombSmokeEffect(); - /* 806AF924 */ void setDeadShibukiEffect(); - /* 806AF9D8 */ void setDeadYodareEffect(); - /* 806AFAE0 */ void setBoxTubaEffect(); - /* 806AFBBC */ void setBoxTubaLandEffect(); - /* 806AFD30 */ void getNumberOfOtama(); - /* 806AFE24 */ void setStayOtamaFall(); - /* 806AFEAC */ void setStayOtamaDelete(); - /* 806B0114 */ void checkBombEat(); - /* 806B01B4 */ void isShutterOpen(); - /* 806B0200 */ void executeWait(); - /* 806B0368 */ void executeCry(); - /* 806B063C */ void executeShake(); - /* 806B07C4 */ void executeWalk(); - /* 806B0E9C */ void executeJump(); - /* 806B177C */ void executeDown(); - /* 806B1B60 */ void executeSearch(); - /* 806B1BEC */ void executeDamage(); - /* 806B1D48 */ void executeBombDamage(); - /* 806B1F78 */ void executeDeath(); - /* 806B28E4 */ void pointInSight(cXyz*); - /* 806B29D4 */ void executeOpening(); - /* 806B3B08 */ void calcCamera(); - /* 806B40D8 */ void calcBoxAndTuba(); - /* 806B4724 */ void action(); - /* 806B49F0 */ void mtx_set(); - /* 806B4B24 */ void cc_set(); - /* 806B4FD8 */ void execute(); - /* 806B5158 */ void _delete(); - /* 806B5214 */ void CreateHeap(); - /* 806B5460 */ void create(); -}; - -struct daE_DT_HIO_c { - /* 806AD90C */ daE_DT_HIO_c(); - /* 806B5BDC */ ~daE_DT_HIO_c(); -}; - -struct dVibration_c { - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dSv_memBit_c { - /* 80034918 */ void onDungeonItem(int); - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 800429A8 */ void onSkipFade(); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 806B592C */ ~dCcD_Sph(); - /* 806B59F8 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180AA8 */ void Set(cXyz, cXyz); - /* 80180BA0 */ void Reset(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); - /* 80181E64 */ void Eye(); - /* 80181E98 */ void Center(); - /* 806B5C8C */ void Bank(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 806B5B0C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct camera_class {}; - -struct cSAngle { - /* 80270F98 */ cSAngle(s16); - /* 80271174 */ void operator+(cSAngle const&) const; -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806B5A7C */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 806AED4C */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 806B5AC4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_Stts { - /* 8026395C */ void ClrCcMove(); -}; - -struct cBgS_PolyInfo {}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802AF49C */ void subBgmStart(u32); - /* 802AF884 */ void subBgmStop(); - /* 802B1DF4 */ void changeSubBgmStatus(s32); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; - -struct E_DT_n { - static u8 eDt_ShakeFrame[40]; - static u8 eDt_ShakeFrameDemo[40]; - static u8 cc_dt_body_src[64]; - static u8 cc_dt_tongue_src[64]; - static u8 mDt_OtamaNum[4]; - static u8 mDt_OtamaNo[80]; - static u8 m_fall_no[4]; - static u8 m_tongue_pos[12]; -}; // // Forward References: @@ -594,12 +241,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void _savegpr_24(); extern "C" void _savegpr_26(); @@ -611,9 +252,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -622,12 +260,9 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" extern u8 j3dZModeTable[96]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" extern u8 mBlureFlag__13mDoGph_gInf_c[4]; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -953,25 +588,30 @@ SECTION_DATA static void* lit_6804[11] = { }; /* 806B61B0-806B61D0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_DT_Method */ -SECTION_DATA static void* l_daE_DT_Method[8] = { - (void*)daE_DT_Create__FP8daE_DT_c, - (void*)daE_DT_Delete__FP8daE_DT_c, - (void*)daE_DT_Execute__FP8daE_DT_c, - (void*)daE_DT_IsDelete__FP8daE_DT_c, - (void*)daE_DT_Draw__FP8daE_DT_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_DT_Method = { + (process_method_func)daE_DT_Create__FP8daE_DT_c, + (process_method_func)daE_DT_Delete__FP8daE_DT_c, + (process_method_func)daE_DT_Execute__FP8daE_DT_c, + (process_method_func)daE_DT_IsDelete__FP8daE_DT_c, + (process_method_func)daE_DT_Draw__FP8daE_DT_c, }; /* 806B61D0-806B6200 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_DT */ -SECTION_DATA extern void* g_profile_E_DT[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02000000, (void*)&g_fpcLf_Method, - (void*)0x00001174, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00CA0000, (void*)&l_daE_DT_Method, - (void*)0x00040000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_DT = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_DT, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_DT_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 202, // mPriority + &l_daE_DT_Method, // sub_method + 0x00040000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806B6200-806B620C 000314 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ @@ -1298,7 +938,8 @@ asm void daE_DT_c::draw() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dt/d_a_e_dt/__dt__4cXyzFv.s" } @@ -1424,7 +1065,8 @@ asm void daE_DT_c::checkBeforeBg(f32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dt/d_a_e_dt/__dt__8cM3dGPlaFv.s" } @@ -2633,7 +2275,8 @@ asm void daE_DT_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::~dCcD_Sph() { +// asm dCcD_Sph::~dCcD_Sph() { +extern "C" asm void __dt__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dt/d_a_e_dt/__dt__8dCcD_SphFv.s" } @@ -2643,7 +2286,8 @@ asm dCcD_Sph::~dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::dCcD_Sph() { +// asm dCcD_Sph::dCcD_Sph() { +extern "C" asm void __ct__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dt/d_a_e_dt/__ct__8dCcD_SphFv.s" } @@ -2653,7 +2297,8 @@ asm dCcD_Sph::dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dt/d_a_e_dt/__dt__8cM3dGSphFv.s" } @@ -2663,7 +2308,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dt/d_a_e_dt/__dt__8cM3dGAabFv.s" } @@ -2673,14 +2319,16 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dt/d_a_e_dt/__dt__12dBgS_ObjAcchFv.s" } #pragma pop /* 806B5B7C-806B5B80 00835C 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -2688,7 +2336,8 @@ csXyz::csXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_dt/d_a_e_dt/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_fb/d_a_e_fb.cpp b/rel/d/a/e/d_a_e_fb/d_a_e_fb.cpp index 854362a66eb..0118dcab034 100644 --- a/rel/d/a/e/d_a_e_fb/d_a_e_fb.cpp +++ b/rel/d/a/e/d_a_e_fb/d_a_e_fb.cpp @@ -1,251 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_fb -// +/** + * @file d_a_e_fb.cpp + * +*/ #include "rel/d/a/e/d_a_e_fb/d_a_e_fb.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DModel {}; - -struct cXyz { - /* 80267150 */ void atan2sY_XZ() const; -}; - -struct mDoExt_invisibleModel { - /* 8000E53C */ void create(J3DModel*, u8); - /* 8000E7C0 */ void entryDL(cXyz*); -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111EC */ void modelCalc(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct J3DJoint {}; - -struct daE_FB_c { - /* 806B6520 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 806B65C0 */ void JointCallBack(J3DJoint*, int); - /* 806B660C */ void draw(); - /* 806B67E0 */ void setBck(int, u8, f32, f32); - /* 806B688C */ void setActionMode(int, int); - /* 806B6898 */ void damage_check(); - /* 806B6D20 */ void mBgLineCheck(); - /* 806B6DF4 */ void search_check(); - /* 806B6F40 */ void executeWait(); - /* 806B70FC */ void executeAttack(); - /* 806B78A0 */ void executeDamage(); - /* 806B7B88 */ void executeBullet(); - /* 806B7DDC */ void action(); - /* 806B80A4 */ void mtx_set(); - /* 806B811C */ void cc_set(); - /* 806B82B4 */ void normal_eff_set(); - /* 806B83F0 */ void dead_eff_set(); - /* 806B8518 */ void execute(); - /* 806B85C8 */ void _delete(); - /* 806B8678 */ void CreateHeap(); - /* 806B88E0 */ void create(); - /* 806B8C1C */ daE_FB_c(); -}; - -struct daE_FB_HIO_c { - /* 806B64AC */ daE_FB_HIO_c(); - /* 806B8EE4 */ ~daE_FB_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 800845B0 */ void getHitSeID(u8, int); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806B8E54 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806B8DC4 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 806B8E0C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Vec {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 806B8878 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -372,10 +134,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); extern "C" void _savegpr_22(); extern "C" void _savegpr_23(); extern "C" void _savegpr_24(); @@ -388,9 +146,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -399,8 +154,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; @@ -504,25 +257,30 @@ SECTION_DATA static u8 d_joint_id[20] = { }; /* 806B9100-806B9120 -00001 0020+00 1/0 0/0 0/0 .data l_daE_FB_Method */ -SECTION_DATA static void* l_daE_FB_Method[8] = { - (void*)daE_FB_Create__FP8daE_FB_c, - (void*)daE_FB_Delete__FP8daE_FB_c, - (void*)daE_FB_Execute__FP8daE_FB_c, - (void*)daE_FB_IsDelete__FP8daE_FB_c, - (void*)daE_FB_Draw__FP8daE_FB_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_FB_Method = { + (process_method_func)daE_FB_Create__FP8daE_FB_c, + (process_method_func)daE_FB_Delete__FP8daE_FB_c, + (process_method_func)daE_FB_Execute__FP8daE_FB_c, + (process_method_func)daE_FB_IsDelete__FP8daE_FB_c, + (process_method_func)daE_FB_Draw__FP8daE_FB_c, }; /* 806B9120-806B9150 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_FB */ -SECTION_DATA extern void* g_profile_E_FB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01E50000, (void*)&g_fpcLf_Method, - (void*)0x00000CE8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00B00000, (void*)&l_daE_FB_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_FB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_FB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_FB_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 176, // mPriority + &l_daE_FB_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806B9150-806B915C 00011C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -1159,7 +917,8 @@ asm void daE_FB_c::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fb/d_a_e_fb/__dt__12J3DFrameCtrlFv.s" } @@ -1220,7 +979,8 @@ asm daE_FB_c::daE_FB_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fb/d_a_e_fb/__dt__8cM3dGSphFv.s" } @@ -1230,7 +990,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fb/d_a_e_fb/__dt__8cM3dGAabFv.s" } @@ -1240,7 +1001,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fb/d_a_e_fb/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_fk/d_a_e_fk.cpp b/rel/d/a/e/d_a_e_fk/d_a_e_fk.cpp index d43700327d3..3f47ca85698 100644 --- a/rel/d/a/e/d_a_e_fk/d_a_e_fk.cpp +++ b/rel/d/a/e/d_a_e_fk/d_a_e_fk.cpp @@ -1,158 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_fk -// +/** + * @file d_a_e_fk.cpp + * +*/ #include "rel/d/a/e/d_a_e_fk/d_a_e_fk.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CDD4 */ void transM(cXyz const&); - /* 8000CE70 */ void scaleM(cXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DModel {}; - -struct mDoExt_invisibleModel { - /* 8000E53C */ void create(J3DModel*, u8); - /* 8000E7C0 */ void entryDL(cXyz*); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111EC */ void modelCalc(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct J3DJoint {}; - -struct daE_FK_c { - /* 806B93CC */ void CreateHeap(); - /* 806B9534 */ void initBodySph(); - /* 806B95BC */ void initSwordSph(); - /* 806B9670 */ void SetBodySph(); - /* 806B97A4 */ void SetSwordSph(); - /* 806B98C4 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 806B9A28 */ void SetAnm(int, int, f32, f32); - /* 806B9AD8 */ void Yazirushi(); - /* 806B9B2C */ void SpeedSet(); - /* 806B9BB4 */ void TnNeckSet(s16); - /* 806B9C14 */ void HsAngleSet(); - /* 806B9C18 */ void SpeedChk(); - /* 806B9C1C */ void SetAnmSpeed(); - /* 806B9C20 */ void TgChk(); - /* 806B9D00 */ void AtChk(); - /* 806B9D7C */ void OnAt(); - /* 806B9DA4 */ void R_MoveAction(); - /* 806B9E6C */ void StartAction(); - /* 806B9F20 */ void RunAction(); - /* 806BA004 */ void Action(); - /* 806BA024 */ void DeathAction(); - /* 806BA188 */ void DamageChk(); - /* 806BA24C */ void DamageAction(); - /* 806BA330 */ void checkViewArea(); - /* 806BA3B4 */ void AttackAction(); - /* 806BA61C */ void UpDown(); - /* 806BA6EC */ void Execute(); - /* 806BABB8 */ void At_Check(int); - /* 806BACEC */ void Draw(); - /* 806BADB4 */ void Delete(); - /* 806BAE1C */ void setBaseMtx(); - /* 806BAEB0 */ void setEfMtx(); - /* 806BAF74 */ void CreateChk(); - /* 806BB004 */ void Create(); -}; - -struct daE_FK_HIO_c { - /* 806B938C */ daE_FK_HIO_c(); - /* 806BB594 */ ~daE_FK_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806BB324 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; // // Forward References: @@ -276,8 +131,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -287,8 +140,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -296,8 +147,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" void __register_global_object(); @@ -371,25 +220,30 @@ SECTION_RODATA static f32 const lit_3849 = 2.0f; COMPILER_STRIP_GATE(0x806BB700, &lit_3849); /* 806BB82C-806BB84C -00001 0020+00 1/0 0/0 0/0 .data l_daE_FK_Method */ -SECTION_DATA static void* l_daE_FK_Method[8] = { - (void*)daE_FK_Create__FP10fopAc_ac_c, - (void*)daE_FK_Delete__FP8daE_FK_c, - (void*)daE_FK_Execute__FP8daE_FK_c, - (void*)daE_FK_IsDelete__FP8daE_FK_c, - (void*)daE_FK_Draw__FP8daE_FK_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_FK_Method = { + (process_method_func)daE_FK_Create__FP10fopAc_ac_c, + (process_method_func)daE_FK_Delete__FP8daE_FK_c, + (process_method_func)daE_FK_Execute__FP8daE_FK_c, + (process_method_func)daE_FK_IsDelete__FP8daE_FK_c, + (process_method_func)daE_FK_Draw__FP8daE_FK_c, }; /* 806BB84C-806BB87C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_FK */ -SECTION_DATA extern void* g_profile_E_FK[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01E60000, (void*)&g_fpcLf_Method, - (void*)0x00000F6C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x009F0000, (void*)&l_daE_FK_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_FK = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_FK, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_FK_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 159, // mPriority + &l_daE_FK_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806BB87C-806BB888 000050 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ @@ -1252,7 +1106,8 @@ asm void daE_FK_c::Create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fk/d_a_e_fk/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp b/rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp index 600b00f01fa..80df9582213 100644 --- a/rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp +++ b/rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp @@ -1,272 +1,16 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_fm -// +/** + * @file d_a_e_fm.cpp + * +*/ #include "rel/d/a/e/d_a_e_fm/d_a_e_fm.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" +#include "rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct obj_ystone_class { - /* 804FA488 */ void setCurrentPos(cXyz); -}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_fm_class { - /* 804F9B64 */ e_fm_class(); -}; - -struct daPy_py_c { - /* 8015F478 */ void setFmChainPos(fopAc_ac_c*, cXyz*, int); - /* 8015F4B8 */ void cancelFmChainGrab(); - /* 8015F4F0 */ void setLookPos(cXyz*); - /* 8015F520 */ void setPlayerSe(u32); - /* 804FA534 */ void changeDemoPos0(cXyz const*); - /* 804FA680 */ void changeDemoMode(u32, int, int, s16); - /* 804FA694 */ void changeOriginalDemo(); -}; - -struct daObjHHASHI_c { - /* 80580854 */ void Rolling(cXyz*, f32, f32, s8); -}; - -struct daE_FM_HIO_c { - /* 804EF0EC */ daE_FM_HIO_c(); - /* 804FA3D8 */ ~daE_FM_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dSv_memBit_c { - /* 80034918 */ void onDungeonItem(int); - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349A4 */ void offEventBit(u16); -}; - -struct dKy_tevstr_c { - /* 804F9ED8 */ ~dKy_tevstr_c(); - /* 804F9FE0 */ dKy_tevstr_c(); -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 804FA06C */ csXyz(); - /* 802673F4 */ csXyz(s16, s16, s16); - /* 804EF63C */ ~csXyz(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180B40 */ void Set(cXyz, cXyz, s16, f32); - /* 80180C18 */ void Reset(cXyz, cXyz); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 804FA2AC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 804FA31C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct chain_s { - /* 804F9E14 */ ~chain_s(); - /* 804F9F14 */ chain_s(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802AF010 */ void bgmStart(u32, u32, s32); - /* 802AF408 */ void bgmStop(u32, s32); - /* 802AF49C */ void subBgmStart(u32); - /* 802AFB94 */ void bgmStreamPrepare(u32); - /* 802AFE18 */ void bgmStreamPlay(); - /* 802AFF8C */ void changeBgmStatus(s32); -}; - -struct Z2CreatureFM { - /* 802C1F54 */ Z2CreatureFM(); - /* 802C1FFC */ void init(Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, u8, u8, u8, u8, u8, u8); - /* 802C2290 */ void startChainSoundLevel(JAISoundID, u8, f32, u32, s8); -}; - -struct LIGHT_INFLUENCE {}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DLightObj { - /* 804FA034 */ J3DLightObj(); -}; - -struct J3DLightInfo { - /* 803256C4 */ void operator=(J3DLightInfo const&); -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 804F95CC */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -490,8 +234,6 @@ extern "C" void __dl__FPv(); extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_14(); @@ -516,9 +258,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" extern u8 const j3dDefaultLightInfo[52]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -528,11 +267,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -1113,25 +849,30 @@ static dCcD_SrcSph chain_co_sph_src = { #pragma pop /* 804FAD88-804FADA8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_FM_Method */ -SECTION_DATA static void* l_daE_FM_Method[8] = { - (void*)daE_FM_Create__FP10fopAc_ac_c, - (void*)daE_FM_Delete__FP10e_fm_class, - (void*)daE_FM_Execute__FP10e_fm_class, - (void*)daE_FM_IsDelete__FP10e_fm_class, - (void*)daE_FM_Draw__FP10e_fm_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_FM_Method = { + (process_method_func)daE_FM_Create__FP10fopAc_ac_c, + (process_method_func)daE_FM_Delete__FP10e_fm_class, + (process_method_func)daE_FM_Execute__FP10e_fm_class, + (process_method_func)daE_FM_IsDelete__FP10e_fm_class, + (process_method_func)daE_FM_Draw__FP10e_fm_class, }; /* 804FADA8-804FADD8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_FM */ -SECTION_DATA extern void* g_profile_E_FM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D70000, (void*)&g_fpcLf_Method, - (void*)0x0001B084, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x009E0000, (void*)&l_daE_FM_Method, - (void*)0x00044000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_FM = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_FM, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_fm_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 158, // mPriority + &l_daE_FM_Method, // sub_method + 0x00044000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 804FADD8-804FADE4 000488 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1416,7 +1157,8 @@ static asm void s_hasira_eff_sub(void* param_0, void* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/__dt__5csXyzFv.s" } @@ -2683,7 +2425,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/__dt__12J3DFrameCtrlFv.s" } @@ -2745,7 +2488,8 @@ asm chain_s::~chain_s() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dKy_tevstr_c::~dKy_tevstr_c() { +// asm dKy_tevstr_c::~dKy_tevstr_c() { +extern "C" asm void __dt__12dKy_tevstr_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/__dt__12dKy_tevstr_cFv.s" } @@ -2765,7 +2509,8 @@ asm chain_s::chain_s() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dKy_tevstr_c::dKy_tevstr_c() { +// asm dKy_tevstr_c::dKy_tevstr_c() { +extern "C" asm void __ct__12dKy_tevstr_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/__ct__12dKy_tevstr_cFv.s" } @@ -2775,14 +2520,16 @@ asm dKy_tevstr_c::dKy_tevstr_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DLightObj::J3DLightObj() { +// asm J3DLightObj::J3DLightObj() { +extern "C" asm void __ct__11J3DLightObjFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/__ct__11J3DLightObjFv.s" } #pragma pop /* 804FA06C-804FA070 00B06C 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -2845,7 +2592,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/__dt__12dBgS_ObjAcchFv.s" } @@ -2855,7 +2603,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/__dt__12dBgS_AcchCirFv.s" } @@ -2927,7 +2676,8 @@ static asm void func_804FA480() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void obj_ystone_class::setCurrentPos(cXyz param_0) { +// asm void obj_ystone_class::setCurrentPos(cXyz param_0) { +extern "C" asm void setCurrentPos__16obj_ystone_classF4cXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/setCurrentPos__16obj_ystone_classF4cXyz.s" } @@ -2961,7 +2711,8 @@ static asm void dComIfGp_particle_set(u16 param_0, cXyz const* param_1, csXyz co #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeDemoPos0(cXyz const* param_0) { +// asm void daPy_py_c::changeDemoPos0(cXyz const* param_0) { +extern "C" asm void changeDemoPos0__9daPy_py_cFPC4cXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/changeDemoPos0__9daPy_py_cFPC4cXyz.s" } @@ -2993,7 +2744,8 @@ extern "C" asm void __as__4cXyzFRC4cXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +// asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +extern "C" asm void changeDemoMode__9daPy_py_cFUliis() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/changeDemoMode__9daPy_py_cFUliis.s" } @@ -3003,7 +2755,8 @@ asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeOriginalDemo() { +// asm void daPy_py_c::changeOriginalDemo() { +extern "C" asm void changeOriginalDemo__9daPy_py_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/changeOriginalDemo__9daPy_py_cFv.s" } diff --git a/rel/d/a/e/d_a_e_fs/d_a_e_fs.cpp b/rel/d/a/e/d_a_e_fs/d_a_e_fs.cpp index 83d66e13490..3bae1827afb 100644 --- a/rel/d/a/e/d_a_e_fs/d_a_e_fs.cpp +++ b/rel/d/a/e/d_a_e_fs/d_a_e_fs.cpp @@ -1,192 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_fs -// +/** + * @file d_a_e_fs.cpp + * +*/ #include "rel/d/a/e/d_a_e_fs/d_a_e_fs.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct e_fs_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_Fs_HIO_c { - /* 806BBACC */ daE_Fs_HIO_c(); - /* 806BDF94 */ ~daE_Fs_HIO_c(); -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 806BDE6C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806BDEDC */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074CBC */ void GetSpecialCode(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -324,9 +145,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_26(); @@ -339,8 +157,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; @@ -352,7 +168,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -549,25 +364,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 806BE68C-806BE6AC -00001 0020+00 1/0 0/0 0/0 .data l_daE_Fs_Method */ -SECTION_DATA static void* l_daE_Fs_Method[8] = { - (void*)daE_Fs_Create__FP10fopAc_ac_c, - (void*)daE_Fs_Delete__FP10e_fs_class, - (void*)daE_Fs_Execute__FP10e_fs_class, - (void*)daE_Fs_IsDelete__FP10e_fs_class, - (void*)daE_Fs_Draw__FP10e_fs_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_Fs_Method = { + (process_method_func)daE_Fs_Create__FP10fopAc_ac_c, + (process_method_func)daE_Fs_Delete__FP10e_fs_class, + (process_method_func)daE_Fs_Execute__FP10e_fs_class, + (process_method_func)daE_Fs_IsDelete__FP10e_fs_class, + (process_method_func)daE_Fs_Draw__FP10e_fs_class, }; /* 806BE6AC-806BE6DC -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_FS */ -SECTION_DATA extern void* g_profile_E_FS[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D80000, (void*)&g_fpcLf_Method, - (void*)0x00000B9C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00A00000, (void*)&l_daE_Fs_Method, - (void*)0x00040120, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_FS = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_FS, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_fs_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 160, // mPriority + &l_daE_Fs_Method, // sub_method + 0x00040120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806BE6DC-806BE6E8 00015C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1278,7 +1098,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fs/d_a_e_fs/__dt__12dBgS_ObjAcchFv.s" } @@ -1288,7 +1109,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_fs/d_a_e_fs/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_ga/d_a_e_ga.cpp b/rel/d/a/e/d_a_e_ga/d_a_e_ga.cpp index 1619c3e8697..1e348ab3354 100644 --- a/rel/d/a/e/d_a_e_ga/d_a_e_ga.cpp +++ b/rel/d/a/e/d_a_e_ga/d_a_e_ga.cpp @@ -1,71 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ga -// +/** + * @file d_a_e_ga.cpp + * +*/ #include "rel/d/a/e/d_a_e_ga/d_a_e_ga.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct ga_s { - /* 804FBAB8 */ ~ga_s(); - /* 804FBAF4 */ ga_s(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_ga_class {}; - -struct daE_Ga_HIO_c { - /* 804FB0EC */ daE_Ga_HIO_c(); - /* 804FBAF8 */ ~daE_Ga_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct J3DModel {}; - -struct J3DModelData {}; - -struct dComIfG_play_c { - /* 8002CAF0 */ void addSimpleModel(J3DModelData*, int, u8); - /* 8002CB30 */ void removeSimpleModel(J3DModelData*, int); - /* 8002CB68 */ void entrySimpleModel(J3DModel*, int); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; // // Forward References: @@ -113,9 +55,6 @@ extern "C" void cM_rndFX__Ff(); extern "C" void cLib_addCalcAngleS2__FPssss(); extern "C" void MtxPosition__FP4cXyzP4cXyz(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); extern "C" void __construct_array(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -125,11 +64,8 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" void __register_global_object(); @@ -144,25 +80,30 @@ SECTION_RODATA static f32 const lit_3646 = 1.0f; COMPILER_STRIP_GATE(0x804FBB90, &lit_3646); /* 804FBBE0-804FBC00 -00001 0020+00 1/0 0/0 0/0 .data l_daE_Ga_Method */ -SECTION_DATA static void* l_daE_Ga_Method[8] = { - (void*)daE_Ga_Create__FP10fopAc_ac_c, - (void*)daE_Ga_Delete__FP10e_ga_class, - (void*)daE_Ga_Execute__FP10e_ga_class, - (void*)daE_Ga_IsDelete__FP10e_ga_class, - (void*)daE_Ga_Draw__FP10e_ga_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_Ga_Method = { + (process_method_func)daE_Ga_Create__FP10fopAc_ac_c, + (process_method_func)daE_Ga_Delete__FP10e_ga_class, + (process_method_func)daE_Ga_Execute__FP10e_ga_class, + (process_method_func)daE_Ga_IsDelete__FP10e_ga_class, + (process_method_func)daE_Ga_Draw__FP10e_ga_class, }; /* 804FBC00-804FBC30 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_GA */ -SECTION_DATA extern void* g_profile_E_GA[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01C70000, (void*)&g_fpcLf_Method, - (void*)0x00004D7C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x008A0000, (void*)&l_daE_Ga_Method, - (void*)0x00044000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_E_GA = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_GA, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_ga_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 138, // mPriority + &l_daE_Ga_Method, // sub_method + 0x00044000, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 804FBC30-804FBC3C 000050 000C+00 2/2 0/0 0/0 .data __vt__12daE_Ga_HIO_c */ diff --git a/rel/d/a/e/d_a_e_gb/d_a_e_gb.cpp b/rel/d/a/e/d_a_e_gb/d_a_e_gb.cpp index 5db136beebe..96ae518cfd5 100644 --- a/rel/d/a/e/d_a_e_gb/d_a_e_gb.cpp +++ b/rel/d/a/e/d_a_e_gb/d_a_e_gb.cpp @@ -1,209 +1,15 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_gb -// +/** + * @file d_a_e_gb.cpp + * +*/ #include "rel/d/a/e/d_a_e_gb/d_a_e_gb.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" +#include "rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_gb_class { - /* 806C6B94 */ e_gb_class(); -}; - -struct daPy_py_c { - /* 8015F8C8 */ bool checkBoomerangChargeTime(); - - static u8 m_midnaActor[4]; -}; - -struct daKey_c { - /* 806C74B8 */ void setPos(cXyz); - /* 80CDA9AC */ void actionWaitInit(); -}; - -struct daE_GB_HIO_c { - /* 806C1CEC */ daE_GB_HIO_c(); - /* 806C6F98 */ ~daE_GB_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 806C6F48 */ csXyz(); - /* 806C7440 */ ~csXyz(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); -}; - -struct J3DModel {}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806C6D34 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806C6DA4 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802B4164 */ void setBattleBgmOff(bool); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct Z2Creature { - /* 802C06F4 */ void stopAnime(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 806C6894 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -371,9 +177,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_20(); @@ -393,8 +196,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -405,9 +206,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -704,25 +503,30 @@ static dCcD_SrcCyl body_cyl_src = { }; /* 806C784C-806C786C -00001 0020+00 1/0 0/0 0/0 .data l_daE_GB_Method */ -SECTION_DATA static void* l_daE_GB_Method[8] = { - (void*)daE_GB_Create__FP10fopAc_ac_c, - (void*)daE_GB_Delete__FP10e_gb_class, - (void*)daE_GB_Execute__FP10e_gb_class, - (void*)daE_GB_IsDelete__FP10e_gb_class, - (void*)daE_GB_Draw__FP10e_gb_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_GB_Method = { + (process_method_func)daE_GB_Create__FP10fopAc_ac_c, + (process_method_func)daE_GB_Delete__FP10e_gb_class, + (process_method_func)daE_GB_Execute__FP10e_gb_class, + (process_method_func)daE_GB_IsDelete__FP10e_gb_class, + (process_method_func)daE_GB_Draw__FP10e_gb_class, }; /* 806C786C-806C789C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_GB */ -SECTION_DATA extern void* g_profile_E_GB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01C80000, (void*)&g_fpcLf_Method, - (void*)0x00000EF8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x008B0000, (void*)&l_daE_GB_Method, - (void*)0x00040000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_GB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_GB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_gb_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 139, // mPriority + &l_daE_GB_Method, // sub_method + 0x00040000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806C789C-806C78A8 0001D8 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ @@ -1816,7 +1620,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gb/d_a_e_gb/__dt__12J3DFrameCtrlFv.s" } @@ -1854,7 +1659,8 @@ asm e_gb_class::e_gb_class() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gb/d_a_e_gb/__dt__12dBgS_ObjAcchFv.s" } @@ -1864,7 +1670,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gb/d_a_e_gb/__dt__12dBgS_AcchCirFv.s" } @@ -1915,7 +1722,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma pop /* 806C6F48-806C6F4C 005348 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -1997,7 +1805,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gb/d_a_e_gb/__dt__5csXyzFv.s" } @@ -2018,7 +1827,8 @@ extern "C" asm void __dt__4cXyzFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daKey_c::setPos(cXyz param_0) { +// asm void daKey_c::setPos(cXyz param_0) { +extern "C" asm void setPos__7daKey_cF4cXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_gb/d_a_e_gb/setPos__7daKey_cF4cXyz.s" } diff --git a/rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp b/rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp index 2e3e5c9fe88..5a3a8790236 100644 --- a/rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp +++ b/rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp @@ -166,8 +166,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -// extern "C" void PSMTXCopy(); -// extern "C" void PSMTXMultVec(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -179,8 +177,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -// extern "C" extern void* g_fopAc_Method[8]; -// extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -189,7 +185,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -// extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -487,25 +482,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 806CD294-806CD2B4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_GE_Method */ -SECTION_DATA static void* l_daE_GE_Method[8] = { - (void*)daE_GE_Create__FP8daE_GE_c, - (void*)daE_GE_Delete__FP8daE_GE_c, - (void*)daE_GE_Execute__FP8daE_GE_c, - (void*)daE_GE_IsDelete__FP8daE_GE_c, - (void*)daE_GE_Draw__FP8daE_GE_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_GE_Method = { + (process_method_func)daE_GE_Create__FP8daE_GE_c, + (process_method_func)daE_GE_Delete__FP8daE_GE_c, + (process_method_func)daE_GE_Execute__FP8daE_GE_c, + (process_method_func)daE_GE_IsDelete__FP8daE_GE_c, + (process_method_func)daE_GE_Draw__FP8daE_GE_c, }; /* 806CD2B4-806CD2E4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_GE */ -SECTION_DATA extern void* g_profile_E_GE[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01F20000, (void*)&g_fpcLf_Method, - (void*)0x00000BA0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00C00000, (void*)&l_daE_GE_Method, - (void*)0x00050120, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_GE = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_GE, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_GE_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 192, // mPriority + &l_daE_GE_Method, // sub_method + 0x00050120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806CD2E4-806CD2F0 0001CC 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ diff --git a/rel/d/a/e/d_a_e_gi/d_a_e_gi.cpp b/rel/d/a/e/d_a_e_gi/d_a_e_gi.cpp index 1b33b59d853..4b1ce70d1ee 100644 --- a/rel/d/a/e/d_a_e_gi/d_a_e_gi.cpp +++ b/rel/d/a/e/d_a_e_gi/d_a_e_gi.cpp @@ -1,276 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_gi -// +/** + * @file d_a_e_gi.cpp + * +*/ #include "rel/d/a/e/d_a_e_gi/d_a_e_gi.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - /* 806D0E34 */ void checkNowWolf(); - - static u8 m_midnaActor[4]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_GI_c { - /* 806CD4F4 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 806CD594 */ void JointCallBack(J3DJoint*, int); - /* 806CD5E0 */ void draw(); - /* 806CD868 */ void setBck(int, u8, f32, f32); - /* 806CD90C */ void setActionMode(int, int); - /* 806CD938 */ void damage_check(); - /* 806CDD1C */ void setWeaponAtBit(u8); - /* 806CDD8C */ void setCryStop(); - /* 806CDED8 */ void setAttackEffect(); - /* 806CDFB0 */ void setDragSwordEffect(); - /* 806CE0D4 */ void setDeathSmokeEffect(); - /* 806CE184 */ void setDamageEffect(); - /* 806CE3C4 */ void executeSleep(); - /* 806CE6AC */ void executeWait(); - /* 806CE858 */ void executeChase(); - /* 806CEC94 */ void executeAttack(); - /* 806CF0B8 */ void executeDamage(); - /* 806CF410 */ void executeBiteDamage(); - /* 806CF720 */ void PushButtonCount(); - /* 806CF878 */ void action(); - /* 806CFB60 */ void mtx_set(); - /* 806CFBF0 */ void cc_set(); - /* 806CFDF4 */ void execute(); - /* 806D0054 */ void _delete(); - /* 806D00E8 */ void CreateHeap(); - /* 806D027C */ void create(); -}; - -struct daE_GI_HIO_c { - /* 806CD48C */ daE_GI_HIO_c(); - /* 806D098C */ ~daE_GI_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D6A4 */ void setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, - csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8, - cXyz const*); - /* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*); -}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 806D0608 */ ~dCcD_Sph(); - /* 806D06D4 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806D07E8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCamera_c { - /* 80181534 */ void ForceLockOn(fopAc_ac_c*); - /* 8018159C */ void ForceLockOff(fopAc_ac_c*); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806D0844 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806D08B4 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806D0758 */ ~cM3dGSph(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 806D07A0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 806D0944 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -427,9 +164,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -443,9 +177,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -455,10 +186,7 @@ extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -675,25 +403,30 @@ SECTION_DATA static void* lit_4707[8] = { }; /* 806D1064-806D1084 -00001 0020+00 1/0 0/0 0/0 .data l_daE_GI_Method */ -SECTION_DATA static void* l_daE_GI_Method[8] = { - (void*)daE_GI_Create__FP8daE_GI_c, - (void*)daE_GI_Delete__FP8daE_GI_c, - (void*)daE_GI_Execute__FP8daE_GI_c, - (void*)daE_GI_IsDelete__FP8daE_GI_c, - (void*)daE_GI_Draw__FP8daE_GI_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_GI_Method = { + (process_method_func)daE_GI_Create__FP8daE_GI_c, + (process_method_func)daE_GI_Delete__FP8daE_GI_c, + (process_method_func)daE_GI_Execute__FP8daE_GI_c, + (process_method_func)daE_GI_IsDelete__FP8daE_GI_c, + (process_method_func)daE_GI_Draw__FP8daE_GI_c, }; /* 806D1084-806D10B4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_GI */ -SECTION_DATA extern void* g_profile_E_GI[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x020A0000, (void*)&g_fpcLf_Method, - (void*)0x0000107C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00D20000, (void*)&l_daE_GI_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_GI = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_GI, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_GI_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 210, // mPriority + &l_daE_GI_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806D10B4-806D10C0 000130 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1452,7 +1185,8 @@ asm void daE_GI_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::~dCcD_Sph() { +// asm dCcD_Sph::~dCcD_Sph() { +extern "C" asm void __dt__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gi/d_a_e_gi/__dt__8dCcD_SphFv.s" } @@ -1462,7 +1196,8 @@ asm dCcD_Sph::~dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::dCcD_Sph() { +// asm dCcD_Sph::dCcD_Sph() { +extern "C" asm void __ct__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gi/d_a_e_gi/__ct__8dCcD_SphFv.s" } @@ -1472,7 +1207,8 @@ asm dCcD_Sph::dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gi/d_a_e_gi/__dt__8cM3dGSphFv.s" } @@ -1482,7 +1218,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gi/d_a_e_gi/__dt__8cM3dGAabFv.s" } @@ -1492,7 +1229,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gi/d_a_e_gi/__dt__10dCcD_GSttsFv.s" } @@ -1502,7 +1240,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gi/d_a_e_gi/__dt__12dBgS_ObjAcchFv.s" } @@ -1512,7 +1251,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gi/d_a_e_gi/__dt__12dBgS_AcchCirFv.s" } @@ -1532,7 +1272,8 @@ static asm void daE_GI_Create(daE_GI_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gi/d_a_e_gi/__dt__10cCcD_GSttsFv.s" } @@ -1599,7 +1340,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkNowWolf() { +// asm void daPy_py_c::checkNowWolf() { +extern "C" asm void checkNowWolf__9daPy_py_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gi/d_a_e_gi/checkNowWolf__9daPy_py_cFv.s" } diff --git a/rel/d/a/e/d_a_e_gm/d_a_e_gm.cpp b/rel/d/a/e/d_a_e_gm/d_a_e_gm.cpp index 6cba4029c99..d9114cea404 100644 --- a/rel/d/a/e/d_a_e_gm/d_a_e_gm.cpp +++ b/rel/d/a/e/d_a_e_gm/d_a_e_gm.cpp @@ -1,249 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_gm -// +/** + * @file d_a_e_gm.cpp + * +*/ #include "rel/d/a/e/d_a_e_gm/d_a_e_gm.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz { - /* 806D7914 */ ~csXyz(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266FDC */ void normalizeRS(); - /* 806D7950 */ ~cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF0C */ void ZXYrotS(csXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_GM_c { - /* 806D12C8 */ void setAction(void (daE_GM_c::*)()); - /* 806D136C */ void action(); - /* 806D1580 */ void egg_wait(); - /* 806D1A9C */ void appear(); - /* 806D1CC0 */ void walk(); - /* 806D21A4 */ void create_item(); - /* 806D2294 */ void pechanko_damage(); - /* 806D24C0 */ void wait(); - /* 806D25E8 */ void egg_damage(); - /* 806D289C */ void setDeathLightEffect(); - /* 806D2940 */ void setEggBreakEffect(); - /* 806D29E4 */ void damage(); - /* 806D2DD4 */ void core_damage(); - /* 806D3308 */ void core_delwait(); - /* 806D344C */ void core_piku(); - /* 806D35E4 */ void core_pechanko_damage(); - /* 806D378C */ void hook(); - /* 806D398C */ void rebound(); - /* 806D3EC4 */ void walk2(); - /* 806D4288 */ void dead_wait(); - /* 806D4468 */ void core_wait(); - /* 806D462C */ void core_escape(); - /* 806D4D1C */ void chaseCheck(); - /* 806D4EF4 */ void normal_wait(); - /* 806D545C */ void normal_chase(); - /* 806D578C */ void mtx_set(); - /* 806D59D0 */ void cc_set(); - /* 806D5D54 */ void draw(); - /* 806D631C */ void damage_check(); - /* 806D6708 */ void execute(); - /* 806D6980 */ void _delete(); - /* 806D6AC8 */ void CreateHeap(); - /* 806D6CF0 */ void create(); -}; - -struct daE_GM_HIO_c { - /* 806D126C */ daE_GM_HIO_c(); - /* 806D7428 */ ~daE_GM_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806D7284 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806D72E0 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806D7350 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806D71F4 */ ~cM3dGSph(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 806D723C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 806D73E0 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; // // Forward References: @@ -394,11 +157,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_test(); extern "C" void __ptmf_cmpr(); extern "C" void __ptmf_scall(); @@ -410,9 +168,6 @@ extern "C" void _restgpr_19(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -421,9 +176,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -1030,25 +783,30 @@ SECTION_DATA static void* lit_6208[3] = { #pragma pop /* 806D7DB4-806D7DD4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_GM_Method */ -SECTION_DATA static void* l_daE_GM_Method[8] = { - (void*)daE_GM_Create__FP8daE_GM_c, - (void*)daE_GM_Delete__FP8daE_GM_c, - (void*)daE_GM_Execute__FP8daE_GM_c, - (void*)daE_GM_IsDelete__FP8daE_GM_c, - (void*)daE_GM_Draw__FP8daE_GM_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_GM_Method = { + (process_method_func)daE_GM_Create__FP8daE_GM_c, + (process_method_func)daE_GM_Delete__FP8daE_GM_c, + (process_method_func)daE_GM_Execute__FP8daE_GM_c, + (process_method_func)daE_GM_IsDelete__FP8daE_GM_c, + (process_method_func)daE_GM_Draw__FP8daE_GM_c, }; /* 806D7DD4-806D7E04 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_GM */ -SECTION_DATA extern void* g_profile_E_GM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01BB0000, (void*)&g_fpcLf_Method, - (void*)0x00000A78, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00770000, (void*)&l_daE_GM_Method, - (void*)0x00044100, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_GM = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_GM, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_GM_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 119, // mPriority + &l_daE_GM_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 806D7E04-806D7E10 000308 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -2076,7 +1834,8 @@ asm void daE_GM_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gm/d_a_e_gm/__dt__8cM3dGSphFv.s" } @@ -2086,7 +1845,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gm/d_a_e_gm/__dt__8cM3dGAabFv.s" } @@ -2096,7 +1856,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gm/d_a_e_gm/__dt__10dCcD_GSttsFv.s" } @@ -2106,7 +1867,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gm/d_a_e_gm/__dt__12dBgS_ObjAcchFv.s" } @@ -2116,7 +1878,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gm/d_a_e_gm/__dt__12dBgS_AcchCirFv.s" } @@ -2136,7 +1899,8 @@ static asm void daE_GM_Create(daE_GM_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gm/d_a_e_gm/__dt__10cCcD_GSttsFv.s" } @@ -2203,7 +1967,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gm/d_a_e_gm/__dt__5csXyzFv.s" } @@ -2213,7 +1978,8 @@ asm csXyz::~csXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gm/d_a_e_gm/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_gob/d_a_e_gob.cpp b/rel/d/a/e/d_a_e_gob/d_a_e_gob.cpp index 30417a9b0a7..1a89e7c93ad 100644 --- a/rel/d/a/e/d_a_e_gob/d_a_e_gob.cpp +++ b/rel/d/a/e/d_a_e_gob/d_a_e_gob.cpp @@ -1,230 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_gob -// +/** + * @file d_a_e_gob.cpp + * +*/ #include "rel/d/a/e/d_a_e_gob/d_a_e_gob.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct _GXColor {}; - -struct mDoGph_gInf_c { - /* 80007FD8 */ void fadeOut(f32, _GXColor&); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature { - /* 802C03C8 */ Z2Creature(); -}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_gob_class { - /* 806DEA10 */ e_gob_class(); -}; - -struct daE_GOB_HIO_c { - /* 806D808C */ daE_GOB_HIO_c(); - /* 806DECD0 */ ~daE_GOB_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dSv_memBit_c { - /* 80034918 */ void onDungeonItem(int); - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349A4 */ void offEventBit(u16); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct dPa_control_c { - struct level_c { - /* 8004B8B4 */ void forceOnEventMove(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); - /* 8024A538 */ void getMsgNo(); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180B40 */ void Set(cXyz, cXyz, s16, f32); - /* 80180BA0 */ void Reset(cXyz, cXyz, f32, s16); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjGndChk { - /* 806DEDAC */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 806DEC60 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802AF49C */ void subBgmStart(u32); - /* 802AF884 */ void subBgmStop(); - /* 802B1DF4 */ void changeSubBgmStatus(s32); -}; - -struct Z2CreatureGob { - /* 802C24B0 */ void init(Vec*, Vec*, Vec*, u8, u8, u8); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -386,9 +170,6 @@ extern "C" void init__13Z2CreatureGobFP3VecP3VecP3VecUcUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_16(); extern "C" void _savegpr_19(); extern "C" void _savegpr_24(); @@ -405,8 +186,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -418,13 +197,10 @@ extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_blackColor; extern "C" extern u8 g_dComIfGoat_gameInfo[4 + 4 /* padding */]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -558,25 +334,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 806DF1B4-806DF1D4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_GOB_Method */ -SECTION_DATA static void* l_daE_GOB_Method[8] = { - (void*)daE_GOB_Create__FP10fopAc_ac_c, - (void*)daE_GOB_Delete__FP11e_gob_class, - (void*)daE_GOB_Execute__FP11e_gob_class, - (void*)daE_GOB_IsDelete__FP11e_gob_class, - (void*)daE_GOB_Draw__FP11e_gob_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_GOB_Method = { + (process_method_func)daE_GOB_Create__FP10fopAc_ac_c, + (process_method_func)daE_GOB_Delete__FP11e_gob_class, + (process_method_func)daE_GOB_Execute__FP11e_gob_class, + (process_method_func)daE_GOB_IsDelete__FP11e_gob_class, + (process_method_func)daE_GOB_Draw__FP11e_gob_class, }; /* 806DF1D4-806DF204 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_GOB */ -SECTION_DATA extern void* g_profile_E_GOB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B10000, (void*)&g_fpcLf_Method, - (void*)0x00000DE4, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00740000, (void*)&l_daE_GOB_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_GOB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_GOB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_gob_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 116, // mPriority + &l_daE_GOB_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806DF204-806DF210 0001A8 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -1931,7 +1712,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gob/d_a_e_gob/__dt__12dBgS_ObjAcchFv.s" } @@ -2016,7 +1798,8 @@ static asm void func_806DEDA4() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_gob/d_a_e_gob/__dt__14dBgS_ObjGndChkFv.s" } diff --git a/rel/d/a/e/d_a_e_gs/d_a_e_gs.cpp b/rel/d/a/e/d_a_e_gs/d_a_e_gs.cpp index 4e258dd29c8..41836aec817 100644 --- a/rel/d/a/e/d_a_e_gs/d_a_e_gs.cpp +++ b/rel/d/a/e/d_a_e_gs/d_a_e_gs.cpp @@ -1,86 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_gs -// +/** + * @file d_a_e_gs.cpp + * +*/ #include "rel/d/a/e/d_a_e_gs/d_a_e_gs.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DModel {}; - -struct cXyz {}; - -struct mDoExt_invisibleModel { - /* 8000E53C */ void create(J3DModel*, u8); - /* 8000E7C0 */ void entryDL(cXyz*); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_gs_class {}; - -struct daPy_py_c { - /* 8015F424 */ void checkNowWolfEyeUp(); -}; - -struct daE_GS_HIO_c { - /* 806DF46C */ daE_GS_HIO_c(); - /* 806DFD5C */ ~daE_GS_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct Vec {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; // // Forward References: @@ -138,17 +64,12 @@ extern "C" void __ct__15Z2CreatureEnemyFv(); extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" void __register_global_object(); @@ -183,25 +104,30 @@ COMPILER_STRIP_GATE(0x806DFE00, &lit_3649); #pragma pop /* 806DFE34-806DFE54 -00001 0020+00 1/0 0/0 0/0 .data l_daE_GS_Method */ -SECTION_DATA static void* l_daE_GS_Method[8] = { - (void*)daE_GS_Create__FP10fopAc_ac_c, - (void*)daE_GS_Delete__FP10e_gs_class, - (void*)daE_GS_Execute__FP10e_gs_class, - (void*)daE_GS_IsDelete__FP10e_gs_class, - (void*)daE_GS_Draw__FP10e_gs_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_GS_Method = { + (process_method_func)daE_GS_Create__FP10fopAc_ac_c, + (process_method_func)daE_GS_Delete__FP10e_gs_class, + (process_method_func)daE_GS_Execute__FP10e_gs_class, + (process_method_func)daE_GS_IsDelete__FP10e_gs_class, + (process_method_func)daE_GS_Draw__FP10e_gs_class, }; /* 806DFE54-806DFE84 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_GS */ -SECTION_DATA extern void* g_profile_E_GS[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B00000, (void*)&g_fpcLf_Method, - (void*)0x000006BC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00730000, (void*)&l_daE_GS_Method, - (void*)0x00044100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_GS = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_GS, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_gs_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 115, // mPriority + &l_daE_GS_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806DFE84-806DFE90 000050 000C+00 2/2 0/0 0/0 .data __vt__12daE_GS_HIO_c */ diff --git a/rel/d/a/e/d_a_e_hb/d_a_e_hb.cpp b/rel/d/a/e/d_a_e_hb/d_a_e_hb.cpp index 7c2d997321e..15510fa75b4 100644 --- a/rel/d/a/e/d_a_e_hb/d_a_e_hb.cpp +++ b/rel/d/a/e/d_a_e_hb/d_a_e_hb.cpp @@ -1,194 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_hb -// +/** + * @file d_a_e_hb.cpp + * +*/ #include "rel/d/a/e/d_a_e_hb/d_a_e_hb.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct ResTIMG {}; - -struct _GXColor {}; - -struct dKy_tevstr_c {}; - -struct mDoExt_3DlineMat1_c { - /* 80013360 */ void init(u16, u16, ResTIMG*, int); - /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; - static f32 mGroundY; -}; - -struct e_hb_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_HB_HIO_c { - /* 804FBD6C */ daE_HB_HIO_c(); - /* 805005D0 */ ~daE_HB_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 80500580 */ csXyz(); - /* 80500A78 */ ~csXyz(); -}; - -struct dPa_control_c { - struct level_c { - /* 8004B8B4 */ void forceOnEventMove(u32); - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80500264 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 805002D4 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JPABaseEmitter { - /* 8027EC60 */ void deleteAllParticle(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -338,9 +157,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_22(); @@ -361,8 +177,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -372,7 +186,6 @@ extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -611,25 +424,30 @@ static dCcD_SrcSph kuki_sph_src = { #pragma pop /* 80500D88-80500DA8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_HB_Method */ -SECTION_DATA static void* l_daE_HB_Method[8] = { - (void*)daE_HB_Create__FP10fopAc_ac_c, - (void*)daE_HB_Delete__FP10e_hb_class, - (void*)daE_HB_Execute__FP10e_hb_class, - (void*)daE_HB_IsDelete__FP10e_hb_class, - (void*)daE_HB_Draw__FP10e_hb_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_HB_Method = { + (process_method_func)daE_HB_Create__FP10fopAc_ac_c, + (process_method_func)daE_HB_Delete__FP10e_hb_class, + (process_method_func)daE_HB_Execute__FP10e_hb_class, + (process_method_func)daE_HB_IsDelete__FP10e_hb_class, + (process_method_func)daE_HB_Draw__FP10e_hb_class, }; /* 80500DA8-80500DD8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_HB */ -SECTION_DATA extern void* g_profile_E_HB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01C90000, (void*)&g_fpcLf_Method, - (void*)0x00001268, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x008C0000, (void*)&l_daE_HB_Method, - (void*)0x10050100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_HB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_HB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_hb_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 140, // mPriority + &l_daE_HB_Method, // sub_method + 0x10050100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80500DD8-80500DE4 00019C 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ @@ -1403,7 +1221,8 @@ static asm void daE_HB_Create(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hb/d_a_e_hb/__dt__12dBgS_ObjAcchFv.s" } @@ -1413,7 +1232,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hb/d_a_e_hb/__dt__12dBgS_AcchCirFv.s" } @@ -1475,7 +1295,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma pop /* 80500580-80500584 004900 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -1557,7 +1378,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hb/d_a_e_hb/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_hm/d_a_e_hm.cpp b/rel/d/a/e/d_a_e_hm/d_a_e_hm.cpp index 8438624395a..efae640d8e0 100644 --- a/rel/d/a/e/d_a_e_hm/d_a_e_hm.cpp +++ b/rel/d/a/e/d_a_e_hm/d_a_e_hm.cpp @@ -1,322 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_hm -// +/** + * @file d_a_e_hm.cpp + * +*/ #include "rel/d/a/e/d_a_e_hm/d_a_e_hm.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 806E58D0 */ ~cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CF0C */ void ZXYrotS(csXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DAnmTevRegKey {}; - -struct J3DMaterialTable { - /* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*); -}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_HM_c { - /* 806E043C */ void CreateHeap(); - /* 806E06C0 */ void initCcCylinder(); - /* 806E074C */ void setCcCylinder(); - /* 806E0958 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 806E0DB0 */ void Particle_Set(u32&, u16); - /* 806E0E8C */ void SetAnm(int, int, f32, f32); - /* 806E0F38 */ void W_TargetAngle(cXyz, cXyz); - /* 806E0FF4 */ void W_DeathSpSet(); - /* 806E1118 */ void W_DeathAction(); - /* 806E1370 */ void W_DeathMotion(); - /* 806E155C */ void W_MoveCheckWall(); - /* 806E18A0 */ void W_WallCheck(); - /* 806E1A00 */ void WallExecute(); - /* 806E1AA0 */ void WallCreateExecute(); - /* 806E1B5C */ void CreateExecute(); - /* 806E1C28 */ void Tyakuchi_Set(); - /* 806E1E78 */ void UpDeathAction(); - /* 806E20FC */ void UpMoveAction(); - /* 806E2410 */ void UpWaitAction(); - /* 806E2568 */ void UpExecute(); - /* 806E25E8 */ void WallCheck(); - /* 806E2694 */ void MoveCheck(); - /* 806E29B8 */ void ShippuAction(); - /* 806E2B80 */ void ShieldMotion(); - /* 806E2C50 */ void ShieldAction(); - /* 806E2D08 */ void DeathSpSet(); - /* 806E2D40 */ void DeathMotion(); - /* 806E2EA0 */ void DeathCutDown(); - /* 806E2F5C */ void DeathAction(); - /* 806E31B0 */ void AttackAfter(); - /* 806E3208 */ void AttackMotion(); - /* 806E3420 */ void AttackAction(); - /* 806E34C8 */ void FreeMove(); - /* 806E3690 */ void LinkSearch(); - /* 806E3724 */ void WaitAction(); - /* 806E37F4 */ void MemberClear(); - /* 806E3800 */ void DownExecute(); - /* 806E3884 */ void At_Check(); - /* 806E39E8 */ void Obj_Damage(); - /* 806E3BE4 */ void ActionMode(); - /* 806E4008 */ void Yazirushi(); - /* 806E40B8 */ void setStabPos(); - /* 806E40D4 */ void Execute(); - /* 806E434C */ void Draw(); - /* 806E44F0 */ void Delete(); - /* 806E4558 */ void setBaseMtx(); - /* 806E4620 */ void CheckRoof(); - /* 806E486C */ void CheckWall(); - /* 806E4CCC */ void CreateStyle(); - /* 806E4E64 */ void Create(); -}; - -struct daE_HM_HIO_c { - /* 806E03EC */ daE_HM_HIO_c(); - /* 806E53F8 */ ~daE_HM_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806E5254 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 800845B0 */ void getHitSeID(u8, int); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806E52B0 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80075F80 */ void SetWallHDirect(f32); - /* 806E5320 */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074D0C */ void GetMagnetCode(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct dAttention_c { - /* 8007353C */ void LockonTarget(s32); - /* 800737E4 */ void LockonTruth(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806E51C4 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 806E1858 */ ~cM3dGPla(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 806E520C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 806E53B0 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 806E0658 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -496,12 +187,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_19(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); @@ -510,8 +195,6 @@ extern "C" void _restgpr_19(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -520,10 +203,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; @@ -701,25 +381,30 @@ SECTION_DATA static void* lit_4024[9] = { }; /* 806E5AFC-806E5B1C -00001 0020+00 1/0 0/0 0/0 .data l_daE_HM_Method */ -SECTION_DATA static void* l_daE_HM_Method[8] = { - (void*)daE_HM_Create__FP10fopAc_ac_c, - (void*)daE_HM_Delete__FP8daE_HM_c, - (void*)daE_HM_Execute__FP8daE_HM_c, - (void*)daE_HM_IsDelete__FP8daE_HM_c, - (void*)daE_HM_Draw__FP8daE_HM_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_HM_Method = { + (process_method_func)daE_HM_Create__FP10fopAc_ac_c, + (process_method_func)daE_HM_Delete__FP8daE_HM_c, + (process_method_func)daE_HM_Execute__FP8daE_HM_c, + (process_method_func)daE_HM_IsDelete__FP8daE_HM_c, + (process_method_func)daE_HM_Draw__FP8daE_HM_c, }; /* 806E5B1C-806E5B4C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_HM */ -SECTION_DATA extern void* g_profile_E_HM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01CF0000, (void*)&g_fpcLf_Method, - (void*)0x00000A88, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00920000, (void*)&l_daE_HM_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_HM = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_HM, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_HM_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 146, // mPriority + &l_daE_HM_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806E5B4C-806E5B58 0000D0 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -822,7 +507,8 @@ asm void daE_HM_c::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hm/d_a_e_hm/__dt__12J3DFrameCtrlFv.s" } @@ -1151,7 +837,8 @@ asm void daE_HM_c::W_MoveCheckWall() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hm/d_a_e_hm/__dt__8cM3dGPlaFv.s" } @@ -1912,7 +1599,8 @@ asm void daE_HM_c::Create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hm/d_a_e_hm/__dt__8cM3dGSphFv.s" } @@ -1922,7 +1610,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hm/d_a_e_hm/__dt__8cM3dGAabFv.s" } @@ -1932,7 +1621,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hm/d_a_e_hm/__dt__10dCcD_GSttsFv.s" } @@ -1942,7 +1632,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hm/d_a_e_hm/__dt__12dBgS_ObjAcchFv.s" } @@ -1952,7 +1643,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hm/d_a_e_hm/__dt__12dBgS_AcchCirFv.s" } @@ -1972,7 +1664,8 @@ static asm void daE_HM_Create(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hm/d_a_e_hm/__dt__10cCcD_GSttsFv.s" } @@ -2039,7 +1732,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hm/d_a_e_hm/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_hp/d_a_e_hp.cpp b/rel/d/a/e/d_a_e_hp/d_a_e_hp.cpp index 3e91d166a4d..3ce516bf89e 100644 --- a/rel/d/a/e/d_a_e_hp/d_a_e_hp.cpp +++ b/rel/d/a/e/d_a_e_hp/d_a_e_hp.cpp @@ -1,330 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_hp -// +/** + * @file d_a_e_hp.cpp + * +*/ #include "rel/d/a/e/d_a_e_hp/d_a_e_hp.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80267128 */ void atan2sX_Z() const; - /* 80267150 */ void atan2sY_XZ() const; -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DModel {}; - -struct mDoExt_invisibleModel { - /* 8000E53C */ void create(J3DModel*, u8); - /* 8000E7C0 */ void entryDL(cXyz*); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111EC */ void modelCalc(); -}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct dKy_tevstr_c {}; - -struct fopEn_enemy_c { - /* 80019404 */ void initBallModel(); - /* 800194FC */ void checkBallModelDraw(); - /* 80019520 */ void setBallModelEffect(dKy_tevstr_c*); - /* 800196A0 */ void drawBallModel(dKy_tevstr_c*); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - /* 8015F424 */ void checkNowWolfEyeUp(); - - static u8 m_midnaActor[4]; -}; - -struct J3DJoint {}; - -struct daE_HP_c { - /* 806E5E30 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 806E5ED0 */ void JointCallBack(J3DJoint*, int); - /* 806E5F1C */ void LampCtrlJoint(J3DJoint*, J3DModel*); - /* 806E5FCC */ void LampJointCallBack(J3DJoint*, int); - /* 806E6018 */ void draw(); - /* 806E6514 */ void setBck(int, u8, f32, f32); - /* 806E65C0 */ void setActionMode(int, int); - /* 806E65CC */ void mChkDistance(f32); - /* 806E673C */ void damage_check(); - /* 806E6948 */ void executeWait(); - /* 806E6C74 */ void executeMove(); - /* 806E6ED8 */ void executeRetMove(); - /* 806E7228 */ void executeAttack(); - /* 806E7574 */ void executeDamage(); - /* 806E77C0 */ void executeDown(); - /* 806E7E94 */ void executeDead(); - /* 806E814C */ void action(); - /* 806E89C0 */ void mtx_set(); - /* 806E8DE0 */ void cc_set(); - /* 806E8FEC */ void execute(); - /* 806E9198 */ void _delete(); - /* 806E9240 */ void CreateHeap(); - /* 806E951C */ void create(); - /* 806E9900 */ daE_HP_c(); -}; - -struct daE_HP_HIO_c { - /* 806E5DEC */ daE_HP_HIO_c(); - /* 806E9D38 */ ~daE_HP_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 8004368C */ void setPtT(void*); -}; - -struct dEvent_manager_c { - /* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8); - /* 80047A78 */ void endCheck(s16); - /* 800483E8 */ void getRunEventName(); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806E9B94 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjLinChk { - /* 80077F5C */ dBgS_ObjLinChk(); - /* 80077FB8 */ ~dBgS_ObjLinChk(); -}; - -struct dBgS_ObjAcch { - /* 806E9BF0 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806E9C60 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); - /* 80077114 */ void SetGroundUpY(f32); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806E9ABC */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 806E8978 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 806E9B04 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 806E9B4C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 806E9CF0 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -495,10 +178,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_19(); extern "C" void _savegpr_24(); extern "C" void _savegpr_26(); @@ -511,10 +190,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; @@ -526,12 +201,9 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -703,25 +375,30 @@ SECTION_DATA static void* lit_5058[7] = { }; /* 806EA408-806EA428 -00001 0020+00 1/0 0/0 0/0 .data l_daE_HP_Method */ -SECTION_DATA static void* l_daE_HP_Method[8] = { - (void*)daE_HP_Create__FP8daE_HP_c, - (void*)daE_HP_Delete__FP8daE_HP_c, - (void*)daE_HP_Execute__FP8daE_HP_c, - (void*)daE_HP_IsDelete__FP8daE_HP_c, - (void*)daE_HP_Draw__FP8daE_HP_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_HP_Method = { + (process_method_func)daE_HP_Create__FP8daE_HP_c, + (process_method_func)daE_HP_Delete__FP8daE_HP_c, + (process_method_func)daE_HP_Execute__FP8daE_HP_c, + (process_method_func)daE_HP_IsDelete__FP8daE_HP_c, + (process_method_func)daE_HP_Draw__FP8daE_HP_c, }; /* 806EA428-806EA458 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_HP */ -SECTION_DATA extern void* g_profile_E_HP[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01E10000, (void*)&g_fpcLf_Method, - (void*)0x00000DFC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00AC0000, (void*)&l_daE_HP_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_HP = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_HP, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_HP_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 172, // mPriority + &l_daE_HP_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806EA458-806EA464 000170 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1179,7 +856,8 @@ asm void daE_HP_c::action() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hp/d_a_e_hp/__dt__8cM3dGPlaFv.s" } @@ -1415,7 +1093,8 @@ asm daE_HP_c::daE_HP_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hp/d_a_e_hp/__dt__8cM3dGSphFv.s" } @@ -1425,7 +1104,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hp/d_a_e_hp/__dt__8cM3dGCylFv.s" } @@ -1435,7 +1115,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hp/d_a_e_hp/__dt__8cM3dGAabFv.s" } @@ -1445,7 +1126,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hp/d_a_e_hp/__dt__10dCcD_GSttsFv.s" } @@ -1455,7 +1137,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hp/d_a_e_hp/__dt__12dBgS_ObjAcchFv.s" } @@ -1465,7 +1148,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hp/d_a_e_hp/__dt__12dBgS_AcchCirFv.s" } @@ -1485,7 +1169,8 @@ static asm void daE_HP_Create(daE_HP_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hp/d_a_e_hp/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/e/d_a_e_hz/d_a_e_hz.cpp b/rel/d/a/e/d_a_e_hz/d_a_e_hz.cpp index c9f018a7668..70004208d0a 100644 --- a/rel/d/a/e/d_a_e_hz/d_a_e_hz.cpp +++ b/rel/d/a/e/d_a_e_hz/d_a_e_hz.cpp @@ -1,276 +1,15 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_hz -// +/** + * @file d_a_e_hz.cpp + * +*/ #include "rel/d/a/e/d_a_e_hz/d_a_e_hz.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" +#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - /* 8015F8D0 */ void getThrowBoomerangActor(); - - static u8 m_midnaActor[4]; -}; - -struct daObjCarry_c { - /* 80474448 */ void mode_init_drop(u8); -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_HZ_c { - /* 806EA690 */ void setBck(int, u8, f32, f32); - /* 806EA734 */ void checkBck(int); - /* 806EA790 */ void draw(); - /* 806EAADC */ void setActionMode(int); - /* 806EAB68 */ void checkHideStart(); - /* 806EAEDC */ void checkAttackStart(); - /* 806EB05C */ void checkArrowCharge(); - /* 806EB0A4 */ void setTgSetBit(int); - /* 806EB0FC */ void isWait(); - /* 806EB13C */ void checkFall(); - /* 806EB2E8 */ void setCloseSmokeEffect(); - /* 806EB3EC */ void executeWait(); - /* 806EB7B0 */ void getHideSpeed(); - /* 806EB818 */ void executeHide(); - /* 806EBD44 */ void executeAttack(); - /* 806EC068 */ void initBackWalk(); - /* 806EC348 */ void executeAway(); - /* 806ECAEC */ void setWindEnd(); - /* 806ECB64 */ void executeWind(); - /* 806ED5B0 */ void executeChance(); - /* 806ED6C8 */ void initRollDamage(); - /* 806ED7A8 */ void doRollDamage(); - /* 806ED8A4 */ void executeDamage(); - /* 806EDAA8 */ void executeDeath(); - /* 806EDDCC */ void setWindChanceEnd(); - /* 806EDDE8 */ void executeWindChance(); - /* 806EE120 */ void executeWindWalk(); - /* 806EE2A4 */ void setWaterEffect(); - /* 806EE3BC */ void executeWaterDeath(); - /* 806EE820 */ void executeDeathWait(); - /* 806EE978 */ void damage_check(); - /* 806EEE10 */ void checkWaterSurface(); - /* 806EEEE4 */ void action(); - /* 806EF144 */ void mtx_set(); - /* 806EF2C8 */ void cc_set(); - /* 806EF46C */ void execute(); - /* 806EF6B4 */ void _delete(); - /* 806EF770 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 806EF880 */ void JointCallBack(J3DJoint*, int); - /* 806EF8CC */ void CreateHeap(); - /* 806EFB54 */ void setInitPos(); - /* 806EFC18 */ void create(); -}; - -struct daE_HZ_HIO_c { - /* 806EA60C */ daE_HZ_HIO_c(); - /* 806F0368 */ ~daE_HZ_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 80181500 */ void GetForceLockOnActor(); - /* 80181534 */ void ForceLockOn(fopAc_ac_c*); - /* 8018159C */ void ForceLockOff(fopAc_ac_c*); -}; - -struct dBgW_Base {}; - -struct dBgW { - /* 8007B970 */ dBgW(); - /* 8007B9C0 */ void Move(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 806F01E8 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806F0258 */ ~dBgS_AcchCir(); -}; - -struct dBgS { - /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); - /* 80074EF0 */ void GetGroundCode(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgD_t {}; - -struct cBgW { - /* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 80074250 */ void Release(dBgW_Base*); - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DLightObj { - /* 806F02C8 */ J3DLightObj(); -}; - -struct J3DLightInfo { - /* 803256C4 */ void operator=(J3DLightInfo const&); -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -460,9 +199,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -476,19 +212,13 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern u8 const j3dDefaultLightInfo[52]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -725,25 +455,30 @@ static dCcD_SrcSph cc_sph_src2 = { }; /* 806F0A68-806F0A88 -00001 0020+00 1/0 0/0 0/0 .data l_daE_HZ_Method */ -SECTION_DATA static void* l_daE_HZ_Method[8] = { - (void*)daE_HZ_Create__FP8daE_HZ_c, - (void*)daE_HZ_Delete__FP8daE_HZ_c, - (void*)daE_HZ_Execute__FP8daE_HZ_c, - (void*)daE_HZ_IsDelete__FP8daE_HZ_c, - (void*)daE_HZ_Draw__FP8daE_HZ_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_HZ_Method = { + (process_method_func)daE_HZ_Create__FP8daE_HZ_c, + (process_method_func)daE_HZ_Delete__FP8daE_HZ_c, + (process_method_func)daE_HZ_Execute__FP8daE_HZ_c, + (process_method_func)daE_HZ_IsDelete__FP8daE_HZ_c, + (process_method_func)daE_HZ_Draw__FP8daE_HZ_c, }; /* 806F0A88-806F0AB8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_HZ */ -SECTION_DATA extern void* g_profile_E_HZ[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01FC0000, (void*)&g_fpcLf_Method, - (void*)0x00001238, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00C70000, (void*)&l_daE_HZ_Method, - (void*)0x00040000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_HZ = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_HZ, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_HZ_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 199, // mPriority + &l_daE_HZ_Method, // sub_method + 0x00040000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806F0AB8-806F0AC4 000144 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1784,7 +1519,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hz/d_a_e_hz/__dt__12dBgS_ObjAcchFv.s" } @@ -1794,7 +1530,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hz/d_a_e_hz/__dt__12dBgS_AcchCirFv.s" } @@ -1804,7 +1541,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DLightObj::J3DLightObj() { +// asm J3DLightObj::J3DLightObj() { +extern "C" asm void __ct__11J3DLightObjFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hz/d_a_e_hz/__ct__11J3DLightObjFv.s" } diff --git a/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.cpp b/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.cpp index 7d027810b71..4f1df9769e3 100644 --- a/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.cpp +++ b/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.cpp @@ -1,231 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_hzelda -// +/** + * @file d_a_e_hzelda.cpp + * +*/ #include "rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct _GXColor {}; - -struct mDoGph_gInf_c { - /* 80007FD8 */ void fadeOut(f32, _GXColor&); -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_hzelda_class { - /* 806F4E48 */ e_hzelda_class(); -}; - -struct daPy_py_c { - /* 8015F398 */ void checkMasterSwordEquip(); -}; - -struct daE_HZELDA_HIO_c { - /* 806F0D4C */ daE_HZELDA_HIO_c(); - /* 806F546C */ ~daE_HZELDA_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_danBit_c { - /* 80034B98 */ void onSwitch(int); - /* 80034BE8 */ void isSwitch(int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct dPa_control_c { - struct level_c { - /* 8004B8B4 */ void forceOnEventMove(u32); - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct J3DModel {}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCamera_c { - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806F5344 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806F53B4 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2SoundObjSimple { - /* 802BE844 */ Z2SoundObjSimple(); -}; - -struct Z2SoundObjBase { - /* 802BDFF8 */ void deleteObject(); -}; - -struct Z2SeqMgr { - /* 802AF010 */ void bgmStart(u32, u32, s32); - /* 802AF408 */ void bgmStop(u32, s32); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); -}; - -struct JPABaseEmitter { - /* 8027EC60 */ void deleteAllParticle(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 806F4AD4 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -381,8 +164,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void __construct_array(); extern "C" void _savegpr_21(); extern "C" void _savegpr_25(); @@ -396,8 +177,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -406,12 +185,9 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_blackColor; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -613,25 +389,30 @@ static dCcD_SrcSph pl_at_sph_src = { #pragma pop /* 806F5854-806F5874 -00001 0020+00 1/0 0/0 0/0 .data l_daE_HZELDA_Method */ -SECTION_DATA static void* l_daE_HZELDA_Method[8] = { - (void*)daE_HZELDA_Create__FP10fopAc_ac_c, - (void*)daE_HZELDA_Delete__FP14e_hzelda_class, - (void*)daE_HZELDA_Execute__FP14e_hzelda_class, - (void*)daE_HZELDA_IsDelete__FP14e_hzelda_class, - (void*)daE_HZELDA_Draw__FP14e_hzelda_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_HZELDA_Method = { + (process_method_func)daE_HZELDA_Create__FP10fopAc_ac_c, + (process_method_func)daE_HZELDA_Delete__FP14e_hzelda_class, + (process_method_func)daE_HZELDA_Execute__FP14e_hzelda_class, + (process_method_func)daE_HZELDA_IsDelete__FP14e_hzelda_class, + (process_method_func)daE_HZELDA_Draw__FP14e_hzelda_class, }; /* 806F5874-806F58A4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_HZELDA */ -SECTION_DATA extern void* g_profile_E_HZELDA[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01CB0000, (void*)&g_fpcLf_Method, - (void*)0x00001460, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x008E0000, (void*)&l_daE_HZELDA_Method, - (void*)0x00044000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_HZELDA = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_HZELDA, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_hzelda_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 142, // mPriority + &l_daE_HZELDA_Method, // sub_method + 0x00044000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806F58A4-806F58B0 000248 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1429,7 +1210,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda/__dt__12J3DFrameCtrlFv.s" } @@ -1530,7 +1312,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda/__dt__12dBgS_ObjAcchFv.s" } @@ -1540,7 +1323,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_is/d_a_e_is.cpp b/rel/d/a/e/d_a_e_is/d_a_e_is.cpp index b433bc08b23..1afdc32768f 100644 --- a/rel/d/a/e/d_a_e_is/d_a_e_is.cpp +++ b/rel/d/a/e/d_a_e_is/d_a_e_is.cpp @@ -1,145 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_is -// +/** + * @file d_a_e_is.cpp + * +*/ #include "rel/d/a/e/d_a_e_is/d_a_e_is.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_is_class { - /* 806F76B4 */ e_is_class(); -}; - -struct daE_IS_HIO_c { - /* 806F5A4C */ daE_IS_HIO_c(); - /* 806F7AC4 */ ~daE_IS_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806F799C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806F7A0C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -257,8 +125,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); @@ -267,8 +133,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -279,7 +143,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" void __register_global_object(); @@ -389,25 +252,30 @@ static dCcD_SrcSph core_sph_src = { #pragma pop /* 806F7D00-806F7D20 -00001 0020+00 1/0 0/0 0/0 .data l_daE_IS_Method */ -SECTION_DATA static void* l_daE_IS_Method[8] = { - (void*)daE_IS_Create__FP10fopAc_ac_c, - (void*)daE_IS_Delete__FP10e_is_class, - (void*)daE_IS_Execute__FP10e_is_class, - (void*)daE_IS_IsDelete__FP10e_is_class, - (void*)daE_IS_Draw__FP10e_is_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_IS_Method = { + (process_method_func)daE_IS_Create__FP10fopAc_ac_c, + (process_method_func)daE_IS_Delete__FP10e_is_class, + (process_method_func)daE_IS_Execute__FP10e_is_class, + (process_method_func)daE_IS_IsDelete__FP10e_is_class, + (process_method_func)daE_IS_Draw__FP10e_is_class, }; /* 806F7D20-806F7D50 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_IS */ -SECTION_DATA extern void* g_profile_E_IS[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01EE0000, (void*)&g_fpcLf_Method, - (void*)0x00000CF8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00B80000, (void*)&l_daE_IS_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_IS = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_IS, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_is_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 184, // mPriority + &l_daE_IS_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806F7D50-806F7D5C 000134 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1013,7 +881,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_is/d_a_e_is/__dt__12dBgS_ObjAcchFv.s" } @@ -1023,7 +892,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_is/d_a_e_is/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_kg/d_a_e_kg.cpp b/rel/d/a/e/d_a_e_kg/d_a_e_kg.cpp index 9c3d1c60e0f..8721c80ff9b 100644 --- a/rel/d/a/e/d_a_e_kg/d_a_e_kg.cpp +++ b/rel/d/a/e/d_a_e_kg/d_a_e_kg.cpp @@ -1,176 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_kg -// +/** + * @file d_a_e_kg.cpp + * +*/ #include "rel/d/a/e/d_a_e_kg/d_a_e_kg.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTexPattern {}; - -struct mDoExt_btpAnm { - /* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16); - /* 8000D5E8 */ void entry(J3DMaterialTable*, s16); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_kg_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_KG_HIO_c { - /* 806F7EEC */ daE_KG_HIO_c(); - /* 806F9EE8 */ ~daE_KG_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806F9DC0 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806F9E30 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 806F99B8 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -288,9 +125,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); @@ -299,8 +133,6 @@ extern "C" void _restgpr_19(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -309,7 +141,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -475,25 +306,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 806FA518-806FA538 -00001 0020+00 1/0 0/0 0/0 .data l_daE_KG_Method */ -SECTION_DATA static void* l_daE_KG_Method[8] = { - (void*)daE_KG_Create__FP10fopAc_ac_c, - (void*)daE_KG_Delete__FP10e_kg_class, - (void*)daE_KG_Execute__FP10e_kg_class, - (void*)daE_KG_IsDelete__FP10e_kg_class, - (void*)daE_KG_Draw__FP10e_kg_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_KG_Method = { + (process_method_func)daE_KG_Create__FP10fopAc_ac_c, + (process_method_func)daE_KG_Delete__FP10e_kg_class, + (process_method_func)daE_KG_Execute__FP10e_kg_class, + (process_method_func)daE_KG_IsDelete__FP10e_kg_class, + (process_method_func)daE_KG_Draw__FP10e_kg_class, }; /* 806FA538-806FA568 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_KG */ -SECTION_DATA extern void* g_profile_E_KG[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01EF0000, (void*)&g_fpcLf_Method, - (void*)0x00000A74, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00B90000, (void*)&l_daE_KG_Method, - (void*)0x100C0120, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_KG = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_KG, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_kg_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 185, // mPriority + &l_daE_KG_Method, // sub_method + 0x100C0120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 806FA568-806FA574 0000F4 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1006,7 +842,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kg/d_a_e_kg/__dt__12J3DFrameCtrlFv.s" } @@ -1064,7 +901,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kg/d_a_e_kg/__dt__12dBgS_ObjAcchFv.s" } @@ -1074,7 +912,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kg/d_a_e_kg/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_kk/d_a_e_kk.cpp b/rel/d/a/e/d_a_e_kk/d_a_e_kk.cpp index 9c7ad090b77..ba0e336a1b0 100644 --- a/rel/d/a/e/d_a_e_kk/d_a_e_kk.cpp +++ b/rel/d/a/e/d_a_e_kk/d_a_e_kk.cpp @@ -1,280 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_kk -// +/** + * @file d_a_e_kk.cpp + * +*/ #include "rel/d/a/e/d_a_e_kk/d_a_e_kk.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80267128 */ void atan2sX_Z() const; - /* 806FF084 */ cXyz(); - /* 806FF598 */ ~cXyz(); -}; - -struct daE_KK_c { - /* 806FA75C */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 806FA7FC */ void JointCallBack(J3DJoint*, int); - /* 806FA848 */ void draw(); - /* 806FAA68 */ void setBck(int, u8, f32, f32); - /* 806FAB14 */ void setWeaponBck(int, u8, f32, f32); - /* 806FABC0 */ void mCutTypeCheck(int); - /* 806FAC80 */ void setActionMode(int, int); - /* 806FAC8C */ void damage_check(); - /* 806FB2EC */ void nextActionCheck(); - /* 806FB4F4 */ void way_gake_check(); - /* 806FB6C0 */ void mDeadEffSet(cXyz&); - /* 806FB7D8 */ void executeWait(); - /* 806FB908 */ void executeIcicleWait(); - /* 806FBB1C */ void executeWalk(); - /* 806FBE98 */ void executeSpearThrow(); - /* 806FC370 */ void executeBackWalk(); - /* 806FC75C */ void executeYoroke(); - /* 806FC8F4 */ void executeGuard(); - /* 806FCA28 */ void executeDamage(); - /* 806FCC34 */ void executeAttack(); - /* 806FD068 */ void executeDead(); - /* 806FD294 */ void executeWeaponMove(); - /* 806FD930 */ void action(); - /* 806FDD0C */ void mtx_set(); - /* 806FDF0C */ void weapon_mtx_set(); - /* 806FE0B8 */ void cc_set(); - /* 806FE2A8 */ void execute(); - /* 806FE3E0 */ void _delete(); - /* 806FE480 */ void CreateHeap(); - /* 806FE6B8 */ void create(); -}; - -struct daE_KK_HIO_c { - /* 806FA70C */ daE_KK_HIO_c(); - /* 806FF0F0 */ ~daE_KK_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 806FED20 */ dCcD_Sph(); - /* 806FEDA4 */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806FEF48 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 806FEFA4 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 806FF014 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806FEE70 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 806FEEB8 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 806FEF00 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 806FF0A8 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; // // Forward References: @@ -434,12 +166,6 @@ extern "C" void setLinkSearch__15Z2CreatureEnemyFb(); extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_24(); @@ -453,9 +179,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -466,11 +189,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -636,25 +356,30 @@ SECTION_DATA static void* lit_5172[11] = { }; /* 806FF7AC-806FF7CC -00001 0020+00 1/0 0/0 0/0 .data l_daE_KK_Method */ -SECTION_DATA static void* l_daE_KK_Method[8] = { - (void*)daE_KK_Create__FP8daE_KK_c, - (void*)daE_KK_Delete__FP8daE_KK_c, - (void*)daE_KK_Execute__FP8daE_KK_c, - (void*)daE_KK_IsDelete__FP8daE_KK_c, - (void*)daE_KK_Draw__FP8daE_KK_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_KK_Method = { + (process_method_func)daE_KK_Create__FP8daE_KK_c, + (process_method_func)daE_KK_Delete__FP8daE_KK_c, + (process_method_func)daE_KK_Execute__FP8daE_KK_c, + (process_method_func)daE_KK_IsDelete__FP8daE_KK_c, + (process_method_func)daE_KK_Draw__FP8daE_KK_c, }; /* 806FF7CC-806FF7FC -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_KK */ -SECTION_DATA extern void* g_profile_E_KK[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01E00000, (void*)&g_fpcLf_Method, - (void*)0x000013D4, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00AB0000, (void*)&l_daE_KK_Method, - (void*)0x00040120, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_KK = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_KK, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_KK_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 171, // mPriority + &l_daE_KK_Method, // sub_method + 0x00040120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 806FF7FC-806FF808 000138 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1357,7 +1082,8 @@ asm void daE_KK_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::dCcD_Sph() { +// asm dCcD_Sph::dCcD_Sph() { +extern "C" asm void __ct__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__ct__8dCcD_SphFv.s" } @@ -1367,7 +1093,8 @@ asm dCcD_Sph::dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::~dCcD_Sph() { +// asm dCcD_Sph::~dCcD_Sph() { +extern "C" asm void __dt__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__dt__8dCcD_SphFv.s" } @@ -1377,7 +1104,8 @@ asm dCcD_Sph::~dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__dt__8cM3dGSphFv.s" } @@ -1387,7 +1115,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__dt__8cM3dGCylFv.s" } @@ -1397,7 +1126,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__dt__8cM3dGAabFv.s" } @@ -1407,7 +1137,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__dt__10dCcD_GSttsFv.s" } @@ -1417,7 +1148,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__dt__12dBgS_ObjAcchFv.s" } @@ -1427,14 +1159,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 806FF084-806FF088 004A64 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1452,7 +1186,8 @@ static asm void daE_KK_Create(daE_KK_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__dt__10cCcD_GSttsFv.s" } @@ -1519,7 +1254,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kk/d_a_e_kk/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_kr/d_a_e_kr.cpp b/rel/d/a/e/d_a_e_kr/d_a_e_kr.cpp index b1452a37453..c2dd60712eb 100644 --- a/rel/d/a/e/d_a_e_kr/d_a_e_kr.cpp +++ b/rel/d/a/e/d_a_e_kr/d_a_e_kr.cpp @@ -1,194 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_kr -// +/** + * @file d_a_e_kr.cpp + * +*/ #include "rel/d/a/e/d_a_e_kr/d_a_e_kr.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct mDoHIO_entry_c { - /* 8070563C */ ~mDoHIO_entry_c(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fOpAcm_HIO_entry_c { - /* 807055E0 */ ~fOpAcm_HIO_entry_c(); -}; - -struct e_kr_class { - /* 80705004 */ e_kr_class(); -}; - -struct e_krHIO_c { - /* 80705574 */ ~e_krHIO_c(); -}; - -struct daPy_py_c { - /* 8015F8E4 */ void cancelBoomerangLockActor(fopAc_ac_c*); - - static u8 m_midnaActor[4]; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 80267404 */ void operator+(csXyz&); -}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80705310 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80705380 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -336,8 +155,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_26(); @@ -349,8 +166,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -359,8 +174,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; @@ -1406,25 +1219,30 @@ static asm void daE_Kr_Create(fopAc_ac_c* param_0) { /* ############################################################################################## */ /* 80705F08-80705F28 -00001 0020+00 1/0 0/0 0/0 .data l_daE_Kr_Method */ -SECTION_DATA static void* l_daE_Kr_Method[8] = { - (void*)daE_Kr_Create__FP10fopAc_ac_c, - (void*)daE_Kr_Delete__FP10e_kr_class, - (void*)daE_Kr_Execute__FP10e_kr_class, - (void*)daE_Kr_IsDelete__FP10e_kr_class, - (void*)daE_Kr_Draw__FP10e_kr_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_Kr_Method = { + (process_method_func)daE_Kr_Create__FP10fopAc_ac_c, + (process_method_func)daE_Kr_Delete__FP10e_kr_class, + (process_method_func)daE_Kr_Execute__FP10e_kr_class, + (process_method_func)daE_Kr_IsDelete__FP10e_kr_class, + (process_method_func)daE_Kr_Draw__FP10e_kr_class, }; /* 80705F28-80705F58 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_KR */ -SECTION_DATA extern void* g_profile_E_KR[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01F00000, (void*)&g_fpcLf_Method, - (void*)0x00000F08, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00BA0000, (void*)&l_daE_Kr_Method, - (void*)0x10040120, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_KR = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_KR, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_kr_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 186, // mPriority + &l_daE_Kr_Method, // sub_method + 0x10040120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80705F58-80705F64 000304 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1528,7 +1346,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kr/d_a_e_kr/__dt__12dBgS_ObjAcchFv.s" } @@ -1538,7 +1357,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kr/d_a_e_kr/__dt__12dBgS_AcchCirFv.s" } @@ -1648,7 +1468,8 @@ asm e_krHIO_c::~e_krHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() { +// asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() { +extern "C" asm void __dt__18fOpAcm_HIO_entry_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kr/d_a_e_kr/__dt__18fOpAcm_HIO_entry_cFv.s" } @@ -1658,7 +1479,8 @@ asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoHIO_entry_c::~mDoHIO_entry_c() { +// asm mDoHIO_entry_c::~mDoHIO_entry_c() { +extern "C" asm void __dt__14mDoHIO_entry_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_kr/d_a_e_kr/__dt__14mDoHIO_entry_cFv.s" } diff --git a/rel/d/a/e/d_a_e_mb/d_a_e_mb.cpp b/rel/d/a/e/d_a_e_mb/d_a_e_mb.cpp index 39e1357cca0..86d21947048 100644 --- a/rel/d/a/e/d_a_e_mb/d_a_e_mb.cpp +++ b/rel/d/a/e/d_a_e_mb/d_a_e_mb.cpp @@ -1,129 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_mb -// +/** + * @file d_a_e_mb.cpp + * +*/ #include "rel/d/a/e/d_a_e_mb/d_a_e_mb.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTexPattern {}; - -struct mDoExt_btpAnm { - /* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16); - /* 8000D5E8 */ void entry(J3DMaterialTable*, s16); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct ResTIMG {}; - -struct _GXColor {}; - -struct dKy_tevstr_c {}; - -struct mDoExt_3DlineMat1_c { - /* 80013360 */ void init(u16, u16, ResTIMG*, int); - /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_mb_class {}; - -struct daE_MB_HIO_c { - /* 8070616C */ daE_MB_HIO_c(); - /* 8070882C */ ~daE_MB_HIO_c(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dCcU_AtInfo {}; - -struct csXyz {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8070853C */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -218,9 +102,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_26(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -228,8 +109,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -237,7 +116,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" void __register_global_object(); @@ -314,25 +192,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 80708B50-80708B70 -00001 0020+00 1/0 0/0 0/0 .data l_daE_MB_Method */ -SECTION_DATA static void* l_daE_MB_Method[8] = { - (void*)daE_MB_Create__FP10fopAc_ac_c, - (void*)daE_MB_Delete__FP10e_mb_class, - (void*)daE_MB_Execute__FP10e_mb_class, - (void*)daE_MB_IsDelete__FP10e_mb_class, - (void*)daE_MB_Draw__FP10e_mb_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_MB_Method = { + (process_method_func)daE_MB_Create__FP10fopAc_ac_c, + (process_method_func)daE_MB_Delete__FP10e_mb_class, + (process_method_func)daE_MB_Execute__FP10e_mb_class, + (process_method_func)daE_MB_IsDelete__FP10e_mb_class, + (process_method_func)daE_MB_Draw__FP10e_mb_class, }; /* 80708B70-80708BA0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_MB */ -SECTION_DATA extern void* g_profile_E_MB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01DB0000, (void*)&g_fpcLf_Method, - (void*)0x000008CC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00A40000, (void*)&l_daE_MB_Method, - (void*)0x00044000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_MB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_MB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_mb_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 164, // mPriority + &l_daE_MB_Method, // sub_method + 0x00044000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80708BA0-80708BAC 0000B0 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -935,7 +818,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mb/d_a_e_mb/__dt__12J3DFrameCtrlFv.s" } diff --git a/rel/d/a/e/d_a_e_md/d_a_e_md.cpp b/rel/d/a/e/d_a_e_md/d_a_e_md.cpp index a7185e0eb6b..c0134eb93cb 100644 --- a/rel/d/a/e/d_a_e_md/d_a_e_md.cpp +++ b/rel/d/a/e/d_a_e_md/d_a_e_md.cpp @@ -1,155 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_md -// +/** + * @file d_a_e_md.cpp + * +*/ #include "rel/d/a/e/d_a_e_md/d_a_e_md.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct daE_MD_c { - /* 80708DF8 */ void initCcCylinder(); - /* 80708E70 */ void setCcCylinder(f32); - /* 807091F0 */ void SetAnm(mDoExt_McaMorfSO*, int, int, f32, f32); - /* 807092C8 */ void At_Check(); - /* 80709378 */ void CheckHit(); - /* 8070992C */ void WaitAction(); - /* 8070994C */ void HalfBreakAction(); - /* 80709A04 */ void VibAction(); - /* 80709ABC */ void DummyAction(); - /* 80709BB4 */ void RealAction(); - /* 80709C3C */ void Action(); - /* 80709CFC */ void Execute(); - /* 80709D58 */ void Delete(); - /* 80709DA8 */ void setBaseMtx(); - /* 8070A044 */ void create(); -}; - -struct dSv_memBit_c { - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct J3DModel {}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8070A45C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; // // Forward References: @@ -247,11 +104,8 @@ extern "C" void __ct__15Z2CreatureEnemyFv(); extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); extern "C" void _savegpr_28(); extern "C" void _restgpr_28(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_CylAttr[25]; @@ -260,7 +114,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u8 struct_80450C98[4]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -580,25 +433,30 @@ COMPILER_STRIP_GATE(0x8070A56C, &lit_4416); #pragma pop /* 8070A578-8070A598 -00001 0020+00 1/0 0/0 0/0 .data l_daE_MD_Method */ -SECTION_DATA static void* l_daE_MD_Method[8] = { - (void*)daE_MD_Create__FP10fopAc_ac_c, - (void*)daE_MD_Delete__FP8daE_MD_c, - (void*)daE_MD_Execute__FP8daE_MD_c, - (void*)daE_MD_IsDelete__FP8daE_MD_c, - (void*)daE_MD_Draw__FP8daE_MD_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_MD_Method = { + (process_method_func)daE_MD_Create__FP10fopAc_ac_c, + (process_method_func)daE_MD_Delete__FP8daE_MD_c, + (process_method_func)daE_MD_Execute__FP8daE_MD_c, + (process_method_func)daE_MD_IsDelete__FP8daE_MD_c, + (process_method_func)daE_MD_Draw__FP8daE_MD_c, }; /* 8070A598-8070A5C8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_MD */ -SECTION_DATA extern void* g_profile_E_MD[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01BC0000, (void*)&g_fpcLf_Method, - (void*)0x00000A50, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00840000, (void*)&l_daE_MD_Method, - (void*)0x00044100, (void*)0x030E0000, +extern actor_process_profile_definition g_profile_E_MD = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_MD, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_MD_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 132, // mPriority + &l_daE_MD_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENV_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8070A5C8-8070A5D4 000050 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */ @@ -664,7 +522,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_md/d_a_e_md/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_mf/d_a_e_mf.cpp b/rel/d/a/e/d_a_e_mf/d_a_e_mf.cpp index c52d20ce931..9a36414ea84 100644 --- a/rel/d/a/e/d_a_e_mf/d_a_e_mf.cpp +++ b/rel/d/a/e/d_a_e_mf/d_a_e_mf.cpp @@ -1,219 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_mf -// +/** + * @file d_a_e_mf.cpp + * +*/ #include "rel/d/a/e/d_a_e_mf/d_a_e_mf.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_mf_class { - /* 80712F20 */ e_mf_class(); -}; - -struct daPy_py_c { - /* 8015F89C */ void checkBoomerangCharge(); - - static u8 m_midnaActor[4]; -}; - -struct daE_MF_HIO_c { - /* 8070A70C */ daE_MF_HIO_c(); - /* 80713464 */ ~daE_MF_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 80713418 */ csXyz(); - /* 80713924 */ ~csXyz(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct J3DModel {}; - -struct dJntColData_c {}; - -struct dJntCol_c { - /* 80035C8C */ dJntCol_c(); - /* 80035CA0 */ void init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int); -}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBomb_c { - /* 80031F94 */ void checkStateCarry(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjGndChk { - /* 8070F014 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 80713338 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807133A8 */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -408,9 +202,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -428,8 +219,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -438,8 +227,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; @@ -812,25 +599,30 @@ static dCcD_SrcSph tate_sph_src = { #pragma pop /* 80713E34-80713E54 -00001 0020+00 1/0 0/0 0/0 .data l_daE_MF_Method */ -SECTION_DATA static void* l_daE_MF_Method[8] = { - (void*)daE_MF_Create__FP10fopAc_ac_c, - (void*)daE_MF_Delete__FP10e_mf_class, - (void*)daE_MF_Execute__FP10e_mf_class, - (void*)daE_MF_IsDelete__FP10e_mf_class, - (void*)daE_MF_Draw__FP10e_mf_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_MF_Method = { + (process_method_func)daE_MF_Create__FP10fopAc_ac_c, + (process_method_func)daE_MF_Delete__FP10e_mf_class, + (process_method_func)daE_MF_Execute__FP10e_mf_class, + (process_method_func)daE_MF_IsDelete__FP10e_mf_class, + (process_method_func)daE_MF_Draw__FP10e_mf_class, }; /* 80713E54-80713E84 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_MF */ -SECTION_DATA extern void* g_profile_E_MF[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B50000, (void*)&g_fpcLf_Method, - (void*)0x000010EC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00780000, (void*)&l_daE_MF_Method, - (void*)0x00040000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_MF = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_MF, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_mf_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 120, // mPriority + &l_daE_MF_Method, // sub_method + 0x00040000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80713E84-80713E90 00037C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1699,7 +1491,8 @@ static asm void body_gake(e_mf_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mf/d_a_e_mf/__dt__14dBgS_ObjGndChkFv.s" } @@ -2153,7 +1946,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mf/d_a_e_mf/__dt__12dBgS_ObjAcchFv.s" } @@ -2163,14 +1957,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mf/d_a_e_mf/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 80713418-8071341C 008DF8 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -2276,7 +2072,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mf/d_a_e_mf/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_mk/d_a_e_mk.cpp b/rel/d/a/e/d_a_e_mk/d_a_e_mk.cpp index 3fcd30101c5..93efb675cf0 100644 --- a/rel/d/a/e/d_a_e_mk/d_a_e_mk.cpp +++ b/rel/d/a/e/d_a_e_mk/d_a_e_mk.cpp @@ -1,211 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_mk -// +/** + * @file d_a_e_mk.cpp + * +*/ #include "rel/d/a/e/d_a_e_mk/d_a_e_mk.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTexPattern {}; - -struct mDoExt_btpAnm { - /* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16); - /* 8000D5E8 */ void entry(J3DMaterialTable*, s16); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct e_mk_class { - /* 8071C190 */ e_mk_class(); -}; - -struct daE_MK_HIO_c { - /* 8071412C */ daE_MK_HIO_c(); - /* 8071C3EC */ ~daE_MK_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_memBit_c { - /* 80034918 */ void onDungeonItem(int); - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 8004368C */ void setPtT(void*); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180B40 */ void Set(cXyz, cXyz, s16, f32); - /* 80180C18 */ void Reset(cXyz, cXyz); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8071C37C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802AF49C */ void subBgmStart(u32); - /* 802AF884 */ void subBgmStop(); - /* 802AFB94 */ void bgmStreamPrepare(u32); - /* 802AFE18 */ void bgmStreamPlay(); - /* 802B1DF4 */ void changeSubBgmStatus(s32); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 8071BCCC */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -376,8 +179,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); @@ -390,8 +191,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -400,9 +199,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -576,25 +373,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 8071C9B8-8071C9D8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_MK_Method */ -SECTION_DATA static void* l_daE_MK_Method[8] = { - (void*)daE_MK_Create__FP10fopAc_ac_c, - (void*)daE_MK_Delete__FP10e_mk_class, - (void*)daE_MK_Execute__FP10e_mk_class, - (void*)daE_MK_IsDelete__FP10e_mk_class, - (void*)daE_MK_Draw__FP10e_mk_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_MK_Method = { + (process_method_func)daE_MK_Create__FP10fopAc_ac_c, + (process_method_func)daE_MK_Delete__FP10e_mk_class, + (process_method_func)daE_MK_Execute__FP10e_mk_class, + (process_method_func)daE_MK_IsDelete__FP10e_mk_class, + (process_method_func)daE_MK_Draw__FP10e_mk_class, }; /* 8071C9D8-8071CA08 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_MK */ -SECTION_DATA extern void* g_profile_E_MK[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01DC0000, (void*)&g_fpcLf_Method, - (void*)0x00000CF8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00A50000, (void*)&l_daE_MK_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_MK = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_MK, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_mk_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 165, // mPriority + &l_daE_MK_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8071CA08-8071CA14 00020C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -2191,7 +1993,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mk/d_a_e_mk/__dt__12J3DFrameCtrlFv.s" } @@ -2306,7 +2109,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mk/d_a_e_mk/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.cpp b/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.cpp index 55a667dffe2..d33fb83f843 100644 --- a/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.cpp +++ b/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.cpp @@ -1,151 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_mk_bo -// +/** + * @file d_a_e_mk_bo.cpp + * +*/ #include "rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_mk_bo_class {}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8071F4BC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8071F52C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct Z2SoundObjSimple { - /* 802BE844 */ Z2SoundObjSimple(); -}; - -struct Z2SoundObjBase { - /* 802BDFF8 */ void deleteObject(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8071F120 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -252,18 +113,12 @@ extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXScale(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_22(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_22(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -271,7 +126,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -811,25 +665,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 8071F75C-8071F77C -00001 0020+00 1/0 0/0 0/0 .data l_daE_MK_BO_Method */ -SECTION_DATA static void* l_daE_MK_BO_Method[8] = { - (void*)daE_MK_BO_Create__FP10fopAc_ac_c, - (void*)daE_MK_BO_Delete__FP13e_mk_bo_class, - (void*)daE_MK_BO_Execute__FP13e_mk_bo_class, - (void*)daE_MK_BO_IsDelete__FP13e_mk_bo_class, - (void*)daE_MK_BO_Draw__FP13e_mk_bo_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_MK_BO_Method = { + (process_method_func)daE_MK_BO_Create__FP10fopAc_ac_c, + (process_method_func)daE_MK_BO_Delete__FP13e_mk_bo_class, + (process_method_func)daE_MK_BO_Execute__FP13e_mk_bo_class, + (process_method_func)daE_MK_BO_IsDelete__FP13e_mk_bo_class, + (process_method_func)daE_MK_BO_Draw__FP13e_mk_bo_class, }; /* 8071F77C-8071F7AC -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_MK_BO */ -SECTION_DATA extern void* g_profile_E_MK_BO[12] = { - (void*)0xFFFFFFFD, (void*)0x0008FFFD, - (void*)0x02ED0000, (void*)&g_fpcLf_Method, - (void*)0x000009C0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00A60000, (void*)&l_daE_MK_BO_Method, - (void*)0x00044100, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_MK_BO = { + fpcLy_CURRENT_e, // mLayerID + 8, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_MK_BO, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_mk_bo_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 166, // mPriority + &l_daE_MK_BO_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 8071F7AC-8071F7B8 0000CC 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -901,7 +760,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo/__dt__12J3DFrameCtrlFv.s" } @@ -969,7 +829,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo/__dt__12dBgS_ObjAcchFv.s" } @@ -979,7 +840,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_mm/d_a_e_mm.cpp b/rel/d/a/e/d_a_e_mm/d_a_e_mm.cpp index 6608e19486b..988c70d173a 100644 --- a/rel/d/a/e/d_a_e_mm/d_a_e_mm.cpp +++ b/rel/d/a/e/d_a_e_mm/d_a_e_mm.cpp @@ -1,171 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_mm -// +/** + * @file d_a_e_mm.cpp + * +*/ #include "rel/d/a/e/d_a_e_mm/d_a_e_mm.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_mm_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_MM_HIO_c { - /* 8071F9CC */ daE_MM_HIO_c(); - /* 80722780 */ ~daE_MM_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80722658 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807226C8 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DModel {}; // // Forward References: @@ -294,9 +136,6 @@ extern "C" void setLinkSearch__15Z2CreatureEnemyFb(); extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_26(); @@ -309,8 +148,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -319,7 +156,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -532,25 +368,30 @@ static dCcD_SrcSph cc_wind_sph_src = { }; /* 80722DEC-80722E0C -00001 0020+00 1/0 0/0 0/0 .data l_daE_MM_Method */ -SECTION_DATA static void* l_daE_MM_Method[8] = { - (void*)daE_MM_Create__FP10fopAc_ac_c, - (void*)daE_MM_Delete__FP10e_mm_class, - (void*)daE_MM_Execute__FP10e_mm_class, - (void*)daE_MM_IsDelete__FP10e_mm_class, - (void*)daE_MM_Draw__FP10e_mm_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_MM_Method = { + (process_method_func)daE_MM_Create__FP10fopAc_ac_c, + (process_method_func)daE_MM_Delete__FP10e_mm_class, + (process_method_func)daE_MM_Execute__FP10e_mm_class, + (process_method_func)daE_MM_IsDelete__FP10e_mm_class, + (process_method_func)daE_MM_Draw__FP10e_mm_class, }; /* 80722E0C-80722E3C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_MM */ -SECTION_DATA extern void* g_profile_E_MM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01DD0000, (void*)&g_fpcLf_Method, - (void*)0x00000C1C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00A70000, (void*)&l_daE_MM_Method, - (void*)0x00040120, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_MM = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_MM, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_mm_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 167, // mPriority + &l_daE_MM_Method, // sub_method + 0x00040120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 80722E3C-80722E48 000148 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1045,7 +886,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mm/d_a_e_mm/__dt__12dBgS_ObjAcchFv.s" } @@ -1055,7 +897,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mm/d_a_e_mm/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.cpp b/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.cpp index d54ac9dd5c2..089b0f82433 100644 --- a/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.cpp +++ b/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.cpp @@ -1,137 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_mm_mt -// +/** + * @file d_a_e_mm_mt.cpp + * +*/ #include "rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_mm_mt_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80725304 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80725374 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct Z2Creature {}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; // // Forward References: @@ -241,10 +116,6 @@ extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __ct__15Z2CreatureEnemyFv(); extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXInverse(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -256,8 +127,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -266,7 +135,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -837,25 +705,30 @@ static dCcD_SrcSph hk_sph_src = { }; /* 807259EC-80725A0C -00001 0020+00 1/0 0/0 0/0 .data l_daE_MM_MT_Method */ -SECTION_DATA static void* l_daE_MM_MT_Method[8] = { - (void*)daE_MM_MT_Create__FP10fopAc_ac_c, - (void*)daE_MM_MT_Delete__FP13e_mm_mt_class, - (void*)daE_MM_MT_Execute__FP13e_mm_mt_class, - (void*)daE_MM_MT_IsDelete__FP13e_mm_mt_class, - (void*)daE_MM_MT_Draw__FP13e_mm_mt_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_MM_MT_Method = { + (process_method_func)daE_MM_MT_Create__FP10fopAc_ac_c, + (process_method_func)daE_MM_MT_Delete__FP13e_mm_mt_class, + (process_method_func)daE_MM_MT_Execute__FP13e_mm_mt_class, + (process_method_func)daE_MM_MT_IsDelete__FP13e_mm_mt_class, + (process_method_func)daE_MM_MT_Draw__FP13e_mm_mt_class, }; /* 80725A0C-80725A3C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_MM_MT */ -SECTION_DATA extern void* g_profile_E_MM_MT[12] = { - (void*)0xFFFFFFFD, (void*)0x0008FFFD, - (void*)0x02EE0000, (void*)&g_fpcLf_Method, - (void*)0x00000BA4, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00A80000, (void*)&l_daE_MM_MT_Method, - (void*)0x000C0100, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_E_MM_MT = { + fpcLy_CURRENT_e, // mLayerID + 8, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_MM_MT, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_mm_mt_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 168, // mPriority + &l_daE_MM_MT_Method, // sub_method + 0x000C0100, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80725A3C-80725A48 000108 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -953,7 +826,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt/__dt__12dBgS_ObjAcchFv.s" } @@ -963,7 +837,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_ms/d_a_e_ms.cpp b/rel/d/a/e/d_a_e_ms/d_a_e_ms.cpp index 9d4b00a5788..f8372941471 100644 --- a/rel/d/a/e/d_a_e_ms/d_a_e_ms.cpp +++ b/rel/d/a/e/d_a_e_ms/d_a_e_ms.cpp @@ -1,177 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ms -// +/** + * @file d_a_e_ms.cpp + * +*/ #include "rel/d/a/e/d_a_e_ms/d_a_e_ms.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_ms_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_MS_HIO_c { - /* 80725B8C */ daE_MS_HIO_c(); - /* 8072900C */ ~daE_MS_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 80728EE4 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80728F54 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -307,9 +143,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); @@ -328,8 +161,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -338,8 +169,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; @@ -530,25 +359,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 807296FC-8072971C -00001 0020+00 1/0 0/0 0/0 .data l_daE_MS_Method */ -SECTION_DATA static void* l_daE_MS_Method[8] = { - (void*)daE_MS_Create__FP10fopAc_ac_c, - (void*)daE_MS_Delete__FP10e_ms_class, - (void*)daE_MS_Execute__FP10e_ms_class, - (void*)daE_MS_IsDelete__FP10e_ms_class, - (void*)daE_MS_Draw__FP10e_ms_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_MS_Method = { + (process_method_func)daE_MS_Create__FP10fopAc_ac_c, + (process_method_func)daE_MS_Delete__FP10e_ms_class, + (process_method_func)daE_MS_Execute__FP10e_ms_class, + (process_method_func)daE_MS_IsDelete__FP10e_ms_class, + (process_method_func)daE_MS_Draw__FP10e_ms_class, }; /* 8072971C-8072974C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_MS */ -SECTION_DATA extern void* g_profile_E_MS[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01E70000, (void*)&g_fpcLf_Method, - (void*)0x00000BBC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00B10000, (void*)&l_daE_MS_Method, - (void*)0x00050100, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_MS = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_MS, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_ms_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 177, // mPriority + &l_daE_MS_Method, // sub_method + 0x00050100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 8072974C-80729758 00013C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1363,7 +1197,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ms/d_a_e_ms/__dt__12dBgS_ObjAcchFv.s" } @@ -1373,7 +1208,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ms/d_a_e_ms/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_nz/d_a_e_nz.cpp b/rel/d/a/e/d_a_e_nz/d_a_e_nz.cpp index 46c2f74b16a..9afab9b66b1 100644 --- a/rel/d/a/e/d_a_e_nz/d_a_e_nz.cpp +++ b/rel/d/a/e/d_a_e_nz/d_a_e_nz.cpp @@ -1,175 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_nz -// +/** + * @file d_a_e_nz.cpp + * +*/ #include "rel/d/a/e/d_a_e_nz/d_a_e_nz.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DModel {}; - -struct mDoExt_invisibleModel { - /* 8000E53C */ void create(J3DModel*, u8); - /* 8000E7C0 */ void entryDL(cXyz*); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_nz_class {}; - -struct daPy_py_c { - /* 8015F424 */ void checkNowWolfEyeUp(); - - static u8 m_midnaActor[4]; -}; - -struct daE_NZ_HIO_c { - /* 807299EC */ daE_NZ_HIO_c(); - /* 8072BC88 */ ~daE_NZ_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 8072BB60 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8072BBD0 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct dAttLook_c { - /* 80073D08 */ void request(fopAc_ac_c*, f32, f32, f32, s16, int); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -296,9 +134,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_20(); extern "C" void _savegpr_26(); @@ -309,8 +144,6 @@ extern "C" void _restgpr_20(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -318,7 +151,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -498,25 +330,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 8072C324-8072C344 -00001 0020+00 1/0 0/0 0/0 .data l_daE_NZ_Method */ -SECTION_DATA static void* l_daE_NZ_Method[8] = { - (void*)daE_NZ_Create__FP10fopAc_ac_c, - (void*)daE_NZ_Delete__FP10e_nz_class, - (void*)daE_NZ_Execute__FP10e_nz_class, - (void*)daE_NZ_IsDelete__FP10e_nz_class, - (void*)daE_NZ_Draw__FP10e_nz_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_NZ_Method = { + (process_method_func)daE_NZ_Create__FP10fopAc_ac_c, + (process_method_func)daE_NZ_Delete__FP10e_nz_class, + (process_method_func)daE_NZ_Execute__FP10e_nz_class, + (process_method_func)daE_NZ_IsDelete__FP10e_nz_class, + (process_method_func)daE_NZ_Draw__FP10e_nz_class, }; /* 8072C344-8072C374 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_NZ */ -SECTION_DATA extern void* g_profile_E_NZ[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01E90000, (void*)&g_fpcLf_Method, - (void*)0x00000A88, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00B30000, (void*)&l_daE_NZ_Method, - (void*)0x10044120, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_NZ = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_NZ, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_nz_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 179, // mPriority + &l_daE_NZ_Method, // sub_method + 0x10044120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 8072C374-8072C380 000128 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1110,7 +947,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_nz/d_a_e_nz/__dt__12dBgS_ObjAcchFv.s" } @@ -1120,7 +958,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_nz/d_a_e_nz/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_oc/d_a_e_oc.cpp b/rel/d/a/e/d_a_e_oc/d_a_e_oc.cpp index 24ea41245fb..705f6b8b083 100644 --- a/rel/d/a/e/d_a_e_oc/d_a_e_oc.cpp +++ b/rel/d/a/e/d_a_e_oc/d_a_e_oc.cpp @@ -1,349 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_oc -// +/** + * @file d_a_e_oc.cpp + * +*/ #include "rel/d/a/e/d_a_e_oc/d_a_e_oc.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80735AD8 */ ~cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_OC_c { - /* 8072C630 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 8072C6E8 */ void JointCallBack(J3DJoint*, int); - /* 8072C734 */ void draw(); - /* 8072CBD4 */ void getVisionAngle(fopAc_ac_c*); - /* 8072CC10 */ void searchOtherOc(); - /* 8072CDA8 */ void setWatchMode(); - /* 8072CE00 */ void searchPlayer(); - /* 8072CF90 */ void searchPlayer2(); - /* 8072D100 */ void searchPlayerShakeHead(); - /* 8072D1DC */ void searchSound(); - /* 8072D364 */ void checkBeforeBg(); - /* 8072D640 */ void checkBeforeBgFind(); - /* 8072D87C */ void checkBeforeFloorBg(f32); - /* 8072D994 */ void checkDamageBg(); - /* 8072DB10 */ void setGroundAngle(); - /* 8072DCBC */ void setActionMode(int, int); - /* 8072DD18 */ void getCutType(); - /* 8072DD8C */ void offTgSph(); - /* 8072DDF4 */ void damage_check(); - /* 8072E274 */ void setBck(int, u8, f32, f32); - /* 8072E31C */ void checkBck(int); - /* 8072E37C */ void setSpitEffect(); - /* 8072E42C */ void getHeadAngle(); - /* 8072E498 */ void setStabPos(); - /* 8072E528 */ void setWaitSound(); - /* 8072E5A4 */ void setWalkSound(); - /* 8072E670 */ void setWalkStSound(); - /* 8072E788 */ void setDashSound(); - /* 8072E910 */ void setWaitStSound(); - /* 8072EA58 */ void setFootNoteSound(); - /* 8072EAA4 */ void executeWait(); - /* 8072F1A8 */ void executeWalk(); - /* 8072F5E0 */ void executeTalk(); - /* 8072F914 */ void executeFind(); - /* 807302E8 */ void setWeaponGroundAngle(); - /* 807305C0 */ void executeAttack(); - /* 80730DC0 */ void executeDamage(); - /* 80731124 */ void executeBigDamage(); - /* 807316F8 */ void executeWatch(); - /* 807319E4 */ void executeSoundWatch(); - /* 80731D18 */ void checkBeforeDeath(); - /* 80731D4C */ void executeDeath(); - /* 80731F5C */ void setWaterEffect(); - /* 80732074 */ void executeWaterDeath(); - /* 807323A4 */ void executeDemoMaster(); - /* 80732B04 */ void executeDemoChild(); - /* 80732E64 */ void checkFall(); - /* 8073301C */ void executeFallDead(); - /* 807331CC */ void executeFall(); - /* 8073332C */ void executeFindStay(); - /* 807335B4 */ void executeMoveOut(); - /* 80733E48 */ void checkWaterSurface(); - /* 80733F20 */ void action(); - /* 807345D8 */ void mtx_set(); - /* 80734698 */ void cc_set(); - /* 807348DC */ void execute(); - /* 80734B6C */ void _delete(); - /* 80734C10 */ void CreateHeap(); - /* 80734DA8 */ void create(); -}; - -struct daE_OC_HIO_c { - /* 8072C5CC */ daE_OC_HIO_c(); - /* 80735630 */ ~daE_OC_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 807352AC */ ~dCcD_Sph(); - /* 80735378 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 8073548C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180BA0 */ void Reset(cXyz, cXyz, f32, s16); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 807354E8 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F40 */ void SetWallR(f32); - /* 80735558 */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074EF0 */ void GetGroundCode(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807353FC */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 8072D5F8 */ ~cM3dGPla(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 80735444 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_Stts { - /* 8026395C */ void ClrCcMove(); -}; - -struct cCcD_GStts { - /* 807355E8 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802B4844 */ void setBattleSeqState(u8); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; - -struct E_OC_n { - static u8 const oc_attackb_trans[40]; - static u8 const oc_attackc_trans[40]; - static u8 cc_sph_src[64]; - static u8 at_sph_src[64]; - static u8 m_battle_oc[4]; - static u8 m_damage_oc[4]; - static u8 m_death_oc[4]; - static u8 m_talk_oc[4]; -}; // // Forward References: @@ -560,12 +225,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -577,10 +236,6 @@ extern "C" void _restgpr_23(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -589,11 +244,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -894,25 +546,30 @@ SECTION_DATA static void* lit_7106[17] = { }; /* 80735F30-80735F50 -00001 0020+00 1/0 0/0 0/0 .data l_daE_OC_Method */ -SECTION_DATA static void* l_daE_OC_Method[8] = { - (void*)daE_OC_Create__FP8daE_OC_c, - (void*)daE_OC_Delete__FP8daE_OC_c, - (void*)daE_OC_Execute__FP8daE_OC_c, - (void*)daE_OC_IsDelete__FP8daE_OC_c, - (void*)daE_OC_Draw__FP8daE_OC_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_OC_Method = { + (process_method_func)daE_OC_Create__FP8daE_OC_c, + (process_method_func)daE_OC_Delete__FP8daE_OC_c, + (process_method_func)daE_OC_Execute__FP8daE_OC_c, + (process_method_func)daE_OC_IsDelete__FP8daE_OC_c, + (process_method_func)daE_OC_Draw__FP8daE_OC_c, }; /* 80735F50-80735F80 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_OC */ -SECTION_DATA extern void* g_profile_E_OC[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01FE0000, (void*)&g_fpcLf_Method, - (void*)0x00000E88, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00C90000, (void*)&l_daE_OC_Method, - (void*)0x00044100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_OC = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_OC, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_OC_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 201, // mPriority + &l_daE_OC_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80735F80-80735F8C 000254 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1291,7 +948,8 @@ asm void daE_OC_c::checkBeforeBg() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__dt__8cM3dGPlaFv.s" } @@ -2408,7 +2066,8 @@ asm void daE_OC_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::~dCcD_Sph() { +// asm dCcD_Sph::~dCcD_Sph() { +extern "C" asm void __dt__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__dt__8dCcD_SphFv.s" } @@ -2418,7 +2077,8 @@ asm dCcD_Sph::~dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::dCcD_Sph() { +// asm dCcD_Sph::dCcD_Sph() { +extern "C" asm void __ct__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__ct__8dCcD_SphFv.s" } @@ -2428,7 +2088,8 @@ asm dCcD_Sph::dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__dt__8cM3dGSphFv.s" } @@ -2438,7 +2099,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__dt__8cM3dGAabFv.s" } @@ -2448,7 +2110,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__dt__10dCcD_GSttsFv.s" } @@ -2458,7 +2121,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__dt__12dBgS_ObjAcchFv.s" } @@ -2468,7 +2132,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__dt__12dBgS_AcchCirFv.s" } @@ -2488,7 +2153,8 @@ static asm void daE_OC_Create(daE_OC_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__dt__10cCcD_GSttsFv.s" } @@ -2555,7 +2221,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_oc/d_a_e_oc/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_ot/d_a_e_ot.cpp b/rel/d/a/e/d_a_e_ot/d_a_e_ot.cpp index 9c3e5629011..ad560e7ffb3 100644 --- a/rel/d/a/e/d_a_e_ot/d_a_e_ot.cpp +++ b/rel/d/a/e/d_a_e_ot/d_a_e_ot.cpp @@ -1,256 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ot -// +/** + * @file d_a_e_ot.cpp + * +*/ #include "rel/d/a/e/d_a_e_ot/d_a_e_ot.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 8073CE58 */ ~cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CDD4 */ void transM(cXyz const&); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_OT_c { - /* 8073A314 */ void draw(); - /* 8073A454 */ void setBck(int, u8, f32, f32); - /* 8073A4F8 */ void setActionMode(int, int); - /* 8073A510 */ void damage_check(); - /* 8073A7B0 */ void checkWaterSurface(); - /* 8073A838 */ void setWaterEffect(); - /* 8073A99C */ void setEggBreakEffect(); - /* 8073AA40 */ void setDeathLightEffect(); - /* 8073AB38 */ void setEggStay(); - /* 8073AC14 */ void executeEgg(); - /* 8073AF70 */ void executeBorn(); - /* 8073B0D0 */ void executeAttack(); - /* 8073B428 */ void executePanic(); - /* 8073B854 */ void executeDamage(); - /* 8073BB9C */ void action(); - /* 8073BD78 */ void mtx_set(); - /* 8073BE10 */ void cc_set(); - /* 8073BF84 */ void execute(); - /* 8073C058 */ void _delete(); - /* 8073C0EC */ void CreateHeap(); - /* 8073C31C */ void create(); -}; - -struct daE_OT_HIO_c { - /* 8073A2CC */ daE_OT_HIO_c(); - /* 8073C9B0 */ ~daE_OT_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 8073C80C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 8073C868 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8073C8D8 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8073C77C */ ~cM3dGSph(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 8073C7C4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 8073C968 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_GndChk { - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 8073C2B4 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -388,11 +144,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_24(); @@ -405,8 +156,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -415,8 +164,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -663,25 +410,30 @@ SECTION_DATA static void* lit_4453[9] = { }; /* 8073D19C-8073D1BC -00001 0020+00 1/0 0/0 0/0 .data l_daE_OT_Method */ -SECTION_DATA static void* l_daE_OT_Method[8] = { - (void*)daE_OT_Create__FP8daE_OT_c, - (void*)daE_OT_Delete__FP8daE_OT_c, - (void*)daE_OT_Execute__FP8daE_OT_c, - (void*)daE_OT_IsDelete__FP8daE_OT_c, - (void*)daE_OT_Draw__FP8daE_OT_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_OT_Method = { + (process_method_func)daE_OT_Create__FP8daE_OT_c, + (process_method_func)daE_OT_Delete__FP8daE_OT_c, + (process_method_func)daE_OT_Execute__FP8daE_OT_c, + (process_method_func)daE_OT_IsDelete__FP8daE_OT_c, + (process_method_func)daE_OT_Draw__FP8daE_OT_c, }; /* 8073D1BC-8073D1EC -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_OT */ -SECTION_DATA extern void* g_profile_E_OT[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01FF0000, (void*)&g_fpcLf_Method, - (void*)0x00000B98, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00CB0000, (void*)&l_daE_OT_Method, - (void*)0x00050100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_OT = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_OT, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_OT_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 203, // mPriority + &l_daE_OT_Method, // sub_method + 0x00050100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8073D1EC-8073D1F8 000278 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1336,7 +1088,8 @@ asm void daE_OT_c::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ot/d_a_e_ot/__dt__12J3DFrameCtrlFv.s" } @@ -1388,7 +1141,8 @@ asm void daE_OT_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ot/d_a_e_ot/__dt__8cM3dGSphFv.s" } @@ -1398,7 +1152,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ot/d_a_e_ot/__dt__8cM3dGAabFv.s" } @@ -1408,7 +1163,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ot/d_a_e_ot/__dt__10dCcD_GSttsFv.s" } @@ -1418,7 +1174,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ot/d_a_e_ot/__dt__12dBgS_ObjAcchFv.s" } @@ -1428,7 +1185,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ot/d_a_e_ot/__dt__12dBgS_AcchCirFv.s" } @@ -1448,7 +1206,8 @@ static asm void daE_OT_Create(daE_OT_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ot/d_a_e_ot/__dt__10cCcD_GSttsFv.s" } @@ -1515,7 +1274,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ot/d_a_e_ot/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp b/rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp index b26a41b3def..c0a66685c12 100644 --- a/rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp +++ b/rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp @@ -28,18 +28,6 @@ #define ANM_WIND 16 #define ANM_WIND_FALL 17 -class daE_PH_HIO_c { -public: - /* 8073D44C */ daE_PH_HIO_c(); - /* 80741B4C */ virtual ~daE_PH_HIO_c() {} - - /* 0x04 */ s8 field_0x4; - /* 0x08 */ f32 mHangPos; - /* 0x0C */ f32 mStopTime; - /* 0x10 */ f32 mSpeed; - /* 0x14 */ f32 mRotationInterpolation; - /* 0x18 */ f32 mRotationYInterpolation; -}; /* 8073D44C-8073D48C 0000EC 0040+00 1/1 0/0 0/0 .text __ct__12daE_PH_HIO_cFv */ daE_PH_HIO_c::daE_PH_HIO_c() { diff --git a/rel/d/a/e/d_a_e_pm/d_a_e_pm.cpp b/rel/d/a/e/d_a_e_pm/d_a_e_pm.cpp index b5ca07bd3ff..716143508a5 100644 --- a/rel/d/a/e/d_a_e_pm/d_a_e_pm.cpp +++ b/rel/d/a/e/d_a_e_pm/d_a_e_pm.cpp @@ -1,310 +1,15 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_pm -// +/** + * @file d_a_e_pm.cpp + * +*/ -// #include "rel/d/a/e/d_a_e_pm/d_a_e_pm.h" +#include "rel/d/a/e/d_a_e_pm/d_a_e_pm.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTexPattern {}; - -struct mDoExt_btpAnm { - /* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16); - /* 8000D5E8 */ void entry(J3DMaterialTable*, s16); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_PM_c { - /* 80741FB4 */ void DemoSkip(int); - /* 80742004 */ void DemoSkipCallBack(void*, int); - /* 80742038 */ void CreateHeap(); - /* 80742448 */ void initCcCylinder(); - /* 807424C0 */ void setCcCylinder(); - /* 80742508 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 80742600 */ void Particle_Set(u16, cXyz); - /* 80742674 */ void SetAnm(int, int, f32, f32); - /* 80742810 */ void Yazirushi(); - /* 807428A8 */ void SearchRndP(); - /* 80742958 */ void SearchFarP(); - /* 80742C94 */ void SearchNearP(); - /* 80742E1C */ void SearchNextPos(); - /* 80742FB4 */ void SetGakkiEffect(); - /* 807430C4 */ void CameraSet(); - /* 80743210 */ void SetStopingCam(); - /* 80743294 */ void SetStopCam(cXyz, f32, f32, s16); - /* 807433E8 */ void SetMoveCam2(f32, f32); - /* 80743524 */ void SetMoveCam(f32, f32); - /* 80743600 */ void SetReleaseCam(); - /* 807436A4 */ void Ap_StartAction(); - /* 80743D8C */ void Ap_CreateAction(); - /* 807444F0 */ void Ap_EscapeAction(); - /* 80744790 */ void AppearAction(); - /* 80744878 */ void DemoBeforeEscape(); - /* 80744DA0 */ void DemoAfterEscape(); - /* 807453F4 */ void DemoMoveAction(); - /* 80745438 */ void WaitAction(); - /* 807455F4 */ void GroundCheck(); - /* 80745970 */ void EscapeAction(); - /* 80745C44 */ void DeathAction(); - /* 80745DBC */ void Action(); - /* 80745ED0 */ void DemoBossStart2(); - /* 80746624 */ void DemoBossStart(); - /* 80747194 */ void BossEscapeAction(); - /* 807476A0 */ void BossDamageAction(); - /* 80747F38 */ void BossWaitAction(); - /* 807480A4 */ void BossDeathAction(); - /* 80748964 */ void BossAction(); - /* 80748B18 */ void Execute(); - /* 80748D74 */ void StartAction(); - /* 8074954C */ void GakkiLoopAction(cXyz, f32); - /* 807499C0 */ void DemoCreateAction(); - /* 80749C0C */ void CreateAction(); - /* 80749D9C */ void CreateChk(); - /* 80749ED0 */ void LampAction(); - /* 8074A14C */ void DamageAction(); - /* 8074A210 */ void At_Check(); - /* 8074A3DC */ void ObjHit(); - /* 8074A644 */ void EyeMove(); - /* 8074A6CC */ void Draw(); - /* 8074AAC0 */ void Delete(); - /* 8074AB28 */ void setBaseMtx(); - /* 8074ABA8 */ void setGakkiBaseMtx(); - /* 8074AC10 */ void setLampBaseMtx(); - /* 8074AEF8 */ void SkipChk(); - /* 8074B4DC */ void Create(); -}; - -struct daE_PM_HIO_c { - /* 80741EEC */ daE_PM_HIO_c(); - /* 8074BA68 */ ~daE_PM_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPath {}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 800429A8 */ void onSkipFade(); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); - /* 80181E64 */ void Eye(); - /* 80181E98 */ void Center(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk { - /* 807458F8 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 8074B920 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8074B990 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 80742388 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -527,9 +232,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_19(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); @@ -544,8 +246,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_CylAttr[25]; @@ -554,11 +254,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" extern u8 struct_80450C98[4]; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -823,25 +520,30 @@ SECTION_DATA static u8 gakki_eff_id_6954[6 + 2 /* padding */] = { }; /* 8074C23C-8074C25C -00001 0020+00 1/0 0/0 0/0 .data l_daE_PM_Method */ -SECTION_DATA static void* l_daE_PM_Method[8] = { - (void*)daE_PM_Create__FP10fopAc_ac_c, - (void*)daE_PM_Delete__FP8daE_PM_c, - (void*)daE_PM_Execute__FP8daE_PM_c, - (void*)daE_PM_IsDelete__FP8daE_PM_c, - (void*)daE_PM_Draw__FP8daE_PM_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_PM_Method = { + (process_method_func)daE_PM_Create__FP10fopAc_ac_c, + (process_method_func)daE_PM_Delete__FP8daE_PM_c, + (process_method_func)daE_PM_Execute__FP8daE_PM_c, + (process_method_func)daE_PM_IsDelete__FP8daE_PM_c, + (process_method_func)daE_PM_Draw__FP8daE_PM_c, }; /* 8074C25C-8074C28C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_PM */ -SECTION_DATA extern void* g_profile_E_PM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D90000, (void*)&g_fpcLf_Method, - (void*)0x00000B7C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00A10000, (void*)&l_daE_PM_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_PM = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_PM, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_PM_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 161, // mPriority + &l_daE_PM_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8074C28C-8074C298 00013C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -980,7 +682,8 @@ asm void daE_PM_c::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pm/d_a_e_pm/__dt__12J3DFrameCtrlFv.s" } @@ -1789,7 +1492,8 @@ asm void daE_PM_c::GroundCheck() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pm/d_a_e_pm/__dt__14dBgS_ObjGndChkFv.s" } @@ -2451,7 +2155,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pm/d_a_e_pm/__dt__12dBgS_ObjAcchFv.s" } @@ -2461,7 +2166,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pm/d_a_e_pm/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_po/d_a_e_po.cpp b/rel/d/a/e/d_a_e_po/d_a_e_po.cpp index 84010c2ebe4..f888f8c0cfe 100644 --- a/rel/d/a/e/d_a_e_po/d_a_e_po.cpp +++ b/rel/d/a/e/d_a_e_po/d_a_e_po.cpp @@ -1,282 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_po -// +/** + * @file d_a_e_po.cpp + * +*/ #include "rel/d/a/e/d_a_e_po/d_a_e_po.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_morf_c { - /* 807573FC */ void getFrame(); - /* 80757404 */ void isStop(); -}; - -struct J3DModel {}; - -struct mDoExt_invisibleModel { - /* 8000E53C */ void create(J3DModel*, u8); - /* 8000E7C0 */ void entryDL(cXyz*); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct dKy_tevstr_c {}; - -struct fopEn_enemy_c { - /* 80019404 */ void initBallModel(); - /* 800194FC */ void checkBallModelDraw(); - /* 80019520 */ void setBallModelEffect(dKy_tevstr_c*); - /* 800196A0 */ void drawBallModel(dKy_tevstr_c*); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_po_class { - /* 80756900 */ e_po_class(); -}; - -struct daPy_py_c { - /* 8015F424 */ void checkNowWolfEyeUp(); - /* 80757308 */ void cancelOriginalDemo(); - /* 80757574 */ void changeDemoPos0(cXyz const*); - /* 807575BC */ void changeDemoMode(u32, int, int, s16); - /* 807575D0 */ void changeOriginalDemo(); - - static u8 m_midnaActor[4]; -}; - -struct daE_PO_HIO_c { - /* 8074C54C */ daE_PO_HIO_c(); - /* 80756DE8 */ ~daE_PO_HIO_c(); -}; - -struct dVibration_c { - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); -}; - -struct dSv_danBit_c { - /* 80034B98 */ void onSwitch(int); -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack { - /* 80756B00 */ void cleanup(); - /* 80756B04 */ ~dPa_levelEcallBack(); -}; - -struct dPa_hermiteEcallBack_c { - /* 8004F6B8 */ void setOldPosP(cXyz const*, cXyz const*); -}; - -struct csXyz { - /* 80756D8C */ csXyz(); - /* 80757290 */ ~csXyz(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - - static u8 mParticleTracePCB[4 + 4 /* padding */]; -}; - -struct dEvt_info_c { - /* 8075764C */ void onCondition(u16); - /* 8075765C */ void checkCommandDemoAccrpt(); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 8004368C */ void setPtT(void*); -}; - -struct dEvent_manager_c { - /* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8); - /* 80047A78 */ void endCheck(s16); - /* 800483E8 */ void getRunEventName(); -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180AA8 */ void Set(cXyz, cXyz); - /* 80180C18 */ void Reset(cXyz, cXyz); - /* 80181170 */ void StartBlure(int, fopAc_ac_c*, f32, f32); - /* 80181E64 */ void Eye(); - /* 80181E98 */ void Center(); - /* 807575F4 */ void Fovy(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80756CAC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80756D1C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct dAttention_c { - /* 80070844 */ void GetLockonList(s32); - /* 800737E4 */ void LockonTruth(); -}; - -struct dAttList_c { - /* 80073864 */ void getActor(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JPABaseEmitter {}; - -struct JPAEmitterCallBack { - /* 8027E6A4 */ ~JPAEmitterCallBack(); - /* 80756DD8 */ void execute(JPABaseEmitter*); - /* 80756DDC */ void executeAfter(JPABaseEmitter*); - /* 80756DE0 */ void draw(JPABaseEmitter*); - /* 80756DE4 */ void drawAfter(JPABaseEmitter*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; // // Forward References: @@ -304,7 +36,7 @@ extern "C" static void dComIfGp_particle_getEmitter__FUl(); extern "C" static void dComIfGp_particle_set__FUlUsPC4cXyzPC5csXyzPC4cXyz(); extern "C" static void fopAcM_isSwitch__FPC10fopAc_ac_ci(); extern "C" static void fopAcM_GetID__FPCv(); -extern "C" void fopAcM_SetGroup__FP10fopAc_ac_cUc(); +extern "C" void fopAcM_SetGroup__FP10fopAc_ac_cUc(fopAc_ac_c* param_0, u8 param_1); extern "C" void OnCoSetBit__14cCcD_ObjHitInfFv(); extern "C" static void action__FP10e_po_class(); extern "C" static void daE_PO_Execute__FP10e_po_class(); @@ -507,9 +239,6 @@ extern "C" void setLinkSearch__15Z2CreatureEnemyFb(); extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_20(); @@ -525,8 +254,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__22dPa_hermiteEcallBack_c[9]; extern "C" extern void* __vt__8dCcD_Sph[36]; @@ -538,11 +265,8 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; @@ -924,25 +648,30 @@ static dCcD_SrcSph at_sph_src = { #pragma pop /* 80757D00-80757D20 -00001 0020+00 1/0 0/0 0/0 .data l_daE_PO_Method */ -SECTION_DATA static void* l_daE_PO_Method[8] = { - (void*)daE_PO_Create__FP10fopAc_ac_c, - (void*)daE_PO_Delete__FP10e_po_class, - (void*)daE_PO_Execute__FP10e_po_class, - (void*)daE_PO_IsDelete__FP10e_po_class, - (void*)daE_PO_Draw__FP10e_po_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_PO_Method = { + (process_method_func)daE_PO_Create__FP10fopAc_ac_c, + (process_method_func)daE_PO_Delete__FP10e_po_class, + (process_method_func)daE_PO_Execute__FP10e_po_class, + (process_method_func)daE_PO_IsDelete__FP10e_po_class, + (process_method_func)daE_PO_Draw__FP10e_po_class, }; /* 80757D20-80757D50 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_PO */ -SECTION_DATA extern void* g_profile_E_PO[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01DA0000, (void*)&g_fpcLf_Method, - (void*)0x00000EE0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00A20000, (void*)&l_daE_PO_Method, - (void*)0x00044100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_PO = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_PO, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_po_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 162, // mPriority + &l_daE_PO_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80757D50-80757D5C 0002AC 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -3089,7 +2818,8 @@ static asm void dComIfGp_particle_set(u32 param_0, u16 param_1, cXyz const* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_isSwitch(fopAc_ac_c const* param_0, int param_1) { +// static asm void fopAcM_isSwitch(fopAc_ac_c const* param_0, int param_1) { +extern "C" asm void fopAcM_isSwitch__FPC10fopAc_ac_ci() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/fopAcM_isSwitch__FPC10fopAc_ac_ci.s" } @@ -3099,7 +2829,8 @@ static asm void fopAcM_isSwitch(fopAc_ac_c const* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_GetID(void const* param_0) { +// static asm void fopAcM_GetID(void const* param_0) { +extern "C" asm void fopAcM_GetID__FPCv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/fopAcM_GetID__FPCv.s" } @@ -3107,7 +2838,8 @@ static asm void fopAcM_GetID(void const* param_0) { /* 80754AC0-80754AC8 -00001 0008+00 0/0 0/0 0/0 .text fopAcM_SetGroup__FP10fopAc_ac_cUc */ -void fopAcM_SetGroup(fopAc_ac_c* param_0, u8 param_1) { +// void fopAcM_SetGroup(fopAc_ac_c* param_0, u8 param_1) { +extern "C" void fopAcM_SetGroup__FP10fopAc_ac_cUc(fopAc_ac_c* param_0, u8 param_1) { *(u8*)(((u8*)param_0) + 1174) /* param_0->field_0x496 */ = (u8)(param_1); } @@ -3323,7 +3055,8 @@ asm e_po_class::e_po_class() { #pragma pop /* 80756B00-80756B04 00A6A0 0004+00 1/0 0/0 0/0 .text cleanup__18dPa_levelEcallBackFv */ -void dPa_levelEcallBack::cleanup() { +// void dPa_levelEcallBack::cleanup() { +extern "C" asm void cleanup__18dPa_levelEcallBackFv() { /* empty function */ } @@ -3331,7 +3064,8 @@ void dPa_levelEcallBack::cleanup() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_levelEcallBack::~dPa_levelEcallBack() { +// asm dPa_levelEcallBack::~dPa_levelEcallBack() { +extern "C" asm void __dt__18dPa_levelEcallBackFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/__dt__18dPa_levelEcallBackFv.s" } @@ -3385,7 +3119,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/__dt__12dBgS_ObjAcchFv.s" } @@ -3395,14 +3130,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 80756D8C-80756D90 00A92C 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -3419,25 +3156,29 @@ extern "C" asm void __dt__10cCcD_GSttsFv() { /* 80756DD8-80756DDC 00A978 0004+00 2/0 0/0 0/0 .text * execute__18JPAEmitterCallBackFP14JPABaseEmitter */ -void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) { +// void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) { +extern "C" asm void execute__18JPAEmitterCallBackFP14JPABaseEmitter() { /* empty function */ } /* 80756DDC-80756DE0 00A97C 0004+00 2/0 0/0 0/0 .text * executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -void JPAEmitterCallBack::executeAfter(JPABaseEmitter* param_0) { +// void JPAEmitterCallBack::executeAfter(JPABaseEmitter* param_0) { +extern "C" asm void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter() { /* empty function */ } /* 80756DE0-80756DE4 00A980 0004+00 2/0 0/0 0/0 .text draw__18JPAEmitterCallBackFP14JPABaseEmitter */ -void JPAEmitterCallBack::draw(JPABaseEmitter* param_0) { +// void JPAEmitterCallBack::draw(JPABaseEmitter* param_0) { +extern "C" asm void draw__18JPAEmitterCallBackFP14JPABaseEmitter() { /* empty function */ } /* 80756DE4-80756DE8 00A984 0004+00 2/0 0/0 0/0 .text * drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -void JPAEmitterCallBack::drawAfter(JPABaseEmitter* param_0) { +// void JPAEmitterCallBack::drawAfter(JPABaseEmitter* param_0) { +extern "C" asm void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter() { /* empty function */ } @@ -3502,7 +3243,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/__dt__5csXyzFv.s" } @@ -3523,7 +3265,8 @@ extern "C" asm void __dt__4cXyzFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::cancelOriginalDemo() { +// asm void daPy_py_c::cancelOriginalDemo() { +extern "C" asm void cancelOriginalDemo__9daPy_py_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/cancelOriginalDemo__9daPy_py_cFv.s" } @@ -3555,7 +3298,8 @@ extern "C" asm void __apl__4cXyzFRC3Vec() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1) { +// static asm void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1) { +extern "C" asm void fopAcM_onSwitch__FPC10fopAc_ac_ci() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/fopAcM_onSwitch__FPC10fopAc_ac_ci.s" } @@ -3584,7 +3328,8 @@ void __ct__10JAISoundIDFUl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_offSwitch(fopAc_ac_c const* param_0, int param_1) { +// static asm void fopAcM_offSwitch(fopAc_ac_c const* param_0, int param_1) { +extern "C" asm void fopAcM_offSwitch__FPC10fopAc_ac_ci() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/fopAcM_offSwitch__FPC10fopAc_ac_ci.s" } @@ -3594,7 +3339,8 @@ static asm void fopAcM_offSwitch(fopAc_ac_c const* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_morf_c::getFrame() { +// asm void mDoExt_morf_c::getFrame() { +extern "C" asm void getFrame__13mDoExt_morf_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/getFrame__13mDoExt_morf_cFv.s" } @@ -3604,7 +3350,8 @@ asm void mDoExt_morf_c::getFrame() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_morf_c::isStop() { +// asm void mDoExt_morf_c::isStop() { +extern "C" asm void isStop__13mDoExt_morf_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/isStop__13mDoExt_morf_cFv.s" } @@ -3614,7 +3361,8 @@ asm void mDoExt_morf_c::isStop() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM_scos(s16 param_0) { +// static asm void cM_scos(s16 param_0) { +extern "C" asm void cM_scos__Fs() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/cM_scos__Fs.s" } @@ -3624,7 +3372,8 @@ static asm void cM_scos(s16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM_ssin(s16 param_0) { +// static asm void cM_ssin(s16 param_0) { +extern "C" asm void cM_ssin__Fs() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/cM_ssin__Fs.s" } @@ -3646,7 +3395,8 @@ extern "C" asm void abs__4cXyzCFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeDemoPos0(cXyz const* param_0) { +// asm void daPy_py_c::changeDemoPos0(cXyz const* param_0) { +extern "C" asm void changeDemoPos0__9daPy_py_cFPC4cXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/changeDemoPos0__9daPy_py_cFPC4cXyz.s" } @@ -3678,7 +3428,8 @@ extern "C" asm void set__4cXyzFfff() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +// asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +extern "C" asm void changeDemoMode__9daPy_py_cFUliis() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/changeDemoMode__9daPy_py_cFUliis.s" } @@ -3688,7 +3439,8 @@ asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeOriginalDemo() { +// asm void daPy_py_c::changeOriginalDemo() { +extern "C" asm void changeOriginalDemo__9daPy_py_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/changeOriginalDemo__9daPy_py_cFv.s" } @@ -3708,7 +3460,8 @@ static asm void daPy_getPlayerActorClass() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dCamera_c::Fovy() { +// asm void dCamera_c::Fovy() { +extern "C" asm void Fovy__9dCamera_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/Fovy__9dCamera_cFv.s" } @@ -3730,7 +3483,8 @@ extern "C" asm void __as__4cXyzFRC4cXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_searchPlayerAngleY(fopAc_ac_c const* param_0) { +// static asm void fopAcM_searchPlayerAngleY(fopAc_ac_c const* param_0) { +extern "C" asm void fopAcM_searchPlayerAngleY__FPC10fopAc_ac_c() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/fopAcM_searchPlayerAngleY__FPC10fopAc_ac_c.s" } @@ -3750,7 +3504,8 @@ asm void dEvt_info_c::onCondition(u16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_info_c::checkCommandDemoAccrpt() { +// asm void dEvt_info_c::checkCommandDemoAccrpt() { +extern "C" asm void checkCommandDemoAccrpt__11dEvt_info_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/checkCommandDemoAccrpt__11dEvt_info_cFv.s" } @@ -3802,7 +3557,8 @@ static asm void dComIfGp_getPlayerCameraID(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getPlayer(int param_0) { +// static asm void dComIfGp_getPlayer(int param_0) { +extern "C" asm void dComIfGp_getPlayer__Fi() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/dComIfGp_getPlayer__Fi.s" } diff --git a/rel/d/a/e/d_a_e_pz/d_a_e_pz.cpp b/rel/d/a/e/d_a_e_pz/d_a_e_pz.cpp index 56fd7a3d6dc..f1554ffe681 100644 --- a/rel/d/a/e/d_a_e_pz/d_a_e_pz.cpp +++ b/rel/d/a/e/d_a_e_pz/d_a_e_pz.cpp @@ -1,291 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_pz -// +/** + * @file d_a_e_pz.cpp + * +*/ #include "rel/d/a/e/d_a_e_pz/d_a_e_pz.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_morf_c { - /* 807611D8 */ void isStop(); - /* 807613B0 */ void setFrame(f32); -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80267128 */ void atan2sX_Z() const; - /* 80760BF4 */ cXyz(); - /* 807614D8 */ cXyz(f32, f32, f32); - /* 807614BC */ cXyz(cXyz const&); - /* 80761108 */ ~cXyz(); - /* 8076114C */ void zero(); - /* 80761254 */ void abs() const; - /* 8076140C */ void set(f32, f32, f32); - /* 807613F0 */ void set(Vec const&); - /* 80761454 */ void operator=(cXyz const&); -}; - -struct daPy_py_c { - /* 80761144 */ void changeDemoMoveAngle(s16); - /* 80761208 */ void checkNowWolf(); - /* 80761368 */ void changeDemoPos0(cXyz const*); - /* 8076141C */ void changeDemoMode(u32, int, int, s16); - /* 80761430 */ void changeOriginalDemo(); - - static u8 m_midnaActor[4]; -}; - -struct daE_PZ_HIO_c { - /* 8075856C */ daE_PZ_HIO_c(); - /* 80760C60 */ ~daE_PZ_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_danBit_c { - /* 80034B98 */ void onSwitch(int); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042518 */ void reset(void*); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 8075B7CC */ void checkSkipEdge(); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80760AB8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AA8 */ void Set(cXyz, cXyz); - /* 80180C18 */ void Reset(cXyz, cXyz); - /* 80181170 */ void StartBlure(int, fopAc_ac_c*, f32, f32); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80760B14 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80760B84 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); - /* 80077114 */ void SetGroundUpY(f32); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807609E0 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80760A28 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 80760A70 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 80760C18 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802AF49C */ void subBgmStart(u32); - /* 802AF884 */ void subBgmStop(); - /* 802AFB94 */ void bgmStreamPrepare(u32); - /* 802AFE18 */ void bgmStreamPlay(); - /* 802AFEDC */ void bgmStreamStop(u32); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 807600A4 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -343,7 +64,7 @@ extern "C" static void func_80760CE4(); extern "C" static void func_80760CEC(); extern "C" static void setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz(); extern "C" void __dt__4cXyzFv(); -extern "C" void changeDemoMoveAngle__9daPy_py_cFs(); +extern "C" void changeDemoMoveAngle__9daPy_py_cFs(fopAc_ac_c* param_0, u16 param_1); extern "C" void zero__4cXyzFv(); extern "C" static void dComIfGp_particle_set__FUsPC4cXyzPC5csXyzPC4cXyz(); extern "C" void isStop__13mDoExt_morf_cFv(); @@ -481,11 +202,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -501,8 +217,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -513,10 +227,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -1036,25 +746,30 @@ SECTION_DATA static u8 mPzDarkHoll_dt[8] = { }; /* 80761CE0-80761D00 -00001 0020+00 1/0 0/0 0/0 .data l_daE_PZ_Method */ -SECTION_DATA static void* l_daE_PZ_Method[8] = { - (void*)daE_PZ_Create__FP8daE_PZ_c, - (void*)daE_PZ_Delete__FP8daE_PZ_c, - (void*)daE_PZ_Execute__FP8daE_PZ_c, - (void*)daE_PZ_IsDelete__FP8daE_PZ_c, - (void*)daE_PZ_Draw__FP8daE_PZ_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_PZ_Method = { + (process_method_func)daE_PZ_Create__FP8daE_PZ_c, + (process_method_func)daE_PZ_Delete__FP8daE_PZ_c, + (process_method_func)daE_PZ_Execute__FP8daE_PZ_c, + (process_method_func)daE_PZ_IsDelete__FP8daE_PZ_c, + (process_method_func)daE_PZ_Draw__FP8daE_PZ_c, }; /* 80761D00-80761D30 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_PZ */ -SECTION_DATA extern void* g_profile_E_PZ[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01E40000, (void*)&g_fpcLf_Method, - (void*)0x00000EF8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00AF0000, (void*)&l_daE_PZ_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_PZ = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_PZ, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_PZ_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 175, // mPriority + &l_daE_PZ_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80761D30-80761D3C 000574 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -2199,7 +1914,8 @@ asm void daE_PZ_c::executeOpeningDemo() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::checkSkipEdge() { +// asm void dEvt_control_c::checkSkipEdge() { +extern "C" asm void checkSkipEdge__14dEvt_control_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/checkSkipEdge__14dEvt_control_cFv.s" } @@ -2677,7 +2393,8 @@ asm void daE_PZ_c::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__dt__12J3DFrameCtrlFv.s" } @@ -2767,7 +2484,8 @@ asm daE_PZ_c::daE_PZ_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__dt__8cM3dGSphFv.s" } @@ -2777,7 +2495,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__dt__8cM3dGCylFv.s" } @@ -2787,7 +2506,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__dt__8cM3dGAabFv.s" } @@ -2797,7 +2517,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__dt__10dCcD_GSttsFv.s" } @@ -2807,7 +2528,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__dt__12dBgS_ObjAcchFv.s" } @@ -2817,14 +2539,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 80760BF4-80760BF8 008774 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2842,7 +2566,8 @@ static asm void daE_PZ_Create(daE_PZ_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__dt__10cCcD_GSttsFv.s" } @@ -2909,7 +2634,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__dt__4cXyzFv.s" } @@ -2917,15 +2643,17 @@ asm cXyz::~cXyz() { /* 80761144-8076114C -00001 0008+00 0/0 0/0 0/0 .text changeDemoMoveAngle__9daPy_py_cFs */ -void daPy_py_c::changeDemoMoveAngle(s16 param_0) { - *(u16*)(((u8*)this) + 1542) /* this->field_0x606 */ = (u16)(param_0); +// void daPy_py_c::changeDemoMoveAngle(s16 param_0) { +extern "C" void changeDemoMoveAngle__9daPy_py_cFs(fopAc_ac_c* param_0, u16 param_1) { + *(u16*)(((u8*)param_0) + 1542) /* this->field_0x606 */ = param_1; } /* 8076114C-80761164 008CCC 0018+00 1/1 0/0 0/0 .text zero__4cXyzFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::zero() { +// asm void cXyz::zero() { +extern "C" asm void zero__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/zero__4cXyzFv.s" } @@ -2947,7 +2675,8 @@ static asm void dComIfGp_particle_set(u16 param_0, cXyz const* param_1, csXyz co #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_morf_c::isStop() { +// asm void mDoExt_morf_c::isStop() { +extern "C" asm void isStop__13mDoExt_morf_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/isStop__13mDoExt_morf_cFv.s" } @@ -2957,7 +2686,8 @@ asm void mDoExt_morf_c::isStop() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkNowWolf() { +// asm void daPy_py_c::checkNowWolf() { +extern "C" asm void checkNowWolf__9daPy_py_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/checkNowWolf__9daPy_py_cFv.s" } @@ -2968,7 +2698,8 @@ asm void daPy_py_c::checkNowWolf() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1) { +// static asm void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1) { +extern "C" asm void fopAcM_onSwitch__FPC10fopAc_ac_ci() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/fopAcM_onSwitch__FPC10fopAc_ac_ci.s" } @@ -2978,7 +2709,8 @@ static asm void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::abs() const { +// asm void cXyz::abs() const { +extern "C" asm void abs__4cXyzCFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/abs__4cXyzCFv.s" } @@ -2989,7 +2721,8 @@ asm void cXyz::abs() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeDemoPos0(cXyz const* param_0) { +// asm void daPy_py_c::changeDemoPos0(cXyz const* param_0) { +extern "C" asm void changeDemoPos0__9daPy_py_cFPC4cXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/changeDemoPos0__9daPy_py_cFPC4cXyz.s" } @@ -3000,7 +2733,8 @@ asm void daPy_py_c::changeDemoPos0(cXyz const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_searchPlayerAngleY(fopAc_ac_c const* param_0) { +// static asm void fopAcM_searchPlayerAngleY(fopAc_ac_c const* param_0) { +extern "C" asm void fopAcM_searchPlayerAngleY__FPC10fopAc_ac_c() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/fopAcM_searchPlayerAngleY__FPC10fopAc_ac_c.s" } @@ -3010,7 +2744,8 @@ static asm void fopAcM_searchPlayerAngleY(fopAc_ac_c const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_morf_c::setFrame(f32 param_0) { +// asm void mDoExt_morf_c::setFrame(f32 param_0) { +extern "C" asm void setFrame__13mDoExt_morf_cFf() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/setFrame__13mDoExt_morf_cFf.s" } @@ -3020,7 +2755,8 @@ asm void mDoExt_morf_c::setFrame(f32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::set(Vec const& param_0) { +// asm void cXyz::set(Vec const& param_0) { +extern "C" asm void set__4cXyzFRC3Vec() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/set__4cXyzFRC3Vec.s" } @@ -3030,7 +2766,8 @@ asm void cXyz::set(Vec const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2) { +// asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2) { +extern "C" asm void set__4cXyzFfff() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/set__4cXyzFfff.s" } @@ -3040,7 +2777,8 @@ asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +// asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +extern "C" asm void changeDemoMode__9daPy_py_cFUliis() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/changeDemoMode__9daPy_py_cFUliis.s" } @@ -3050,7 +2788,8 @@ asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeOriginalDemo() { +// asm void daPy_py_c::changeOriginalDemo() { +extern "C" asm void changeOriginalDemo__9daPy_py_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/changeOriginalDemo__9daPy_py_cFv.s" } @@ -3070,7 +2809,8 @@ static asm void daPy_getPlayerActorClass() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::operator=(cXyz const& param_0) { +// asm void cXyz::operator=(cXyz const& param_0) { +extern "C" asm void __as__4cXyzFRC4cXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__as__4cXyzFRC4cXyz.s" } @@ -3080,7 +2820,8 @@ asm void cXyz::operator=(cXyz const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getPlayer(int param_0) { +// static asm void dComIfGp_getPlayer(int param_0) { +extern "C" asm void dComIfGp_getPlayer__Fi() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/dComIfGp_getPlayer__Fi.s" } @@ -3110,7 +2851,8 @@ static asm void dComIfGp_getPlayerCameraID(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::cXyz(cXyz const& param_0) { +// asm cXyz::cXyz(cXyz const& param_0) { +extern "C" asm void __ct__4cXyzFRC4cXyz() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__ct__4cXyzFRC4cXyz.s" } @@ -3120,7 +2862,8 @@ asm cXyz::cXyz(cXyz const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2) { +// asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2) { +extern "C" asm void __ct__4cXyzFfff() { nofralloc #include "asm/rel/d/a/e/d_a_e_pz/d_a_e_pz/__ct__4cXyzFfff.s" } diff --git a/rel/d/a/e/d_a_e_rb/d_a_e_rb.cpp b/rel/d/a/e/d_a_e_rb/d_a_e_rb.cpp index a2bbe295575..c8008d307f0 100644 --- a/rel/d/a/e/d_a_e_rb/d_a_e_rb.cpp +++ b/rel/d/a/e/d_a_e_rb/d_a_e_rb.cpp @@ -1,174 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_rb -// +/** + * @file d_a_e_rb.cpp + * +*/ #include "rel/d/a/e/d_a_e_rb/d_a_e_rb.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE70 */ void scaleM(cXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_rb_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_RB_HIO_c { - /* 8076238C */ daE_RB_HIO_c(); - /* 80764838 */ ~daE_RB_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk { - /* 80763D38 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 80764710 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80764780 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; // // Forward References: @@ -296,9 +135,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_18(); extern "C" void _savegpr_19(); @@ -310,8 +146,6 @@ extern "C" void _restgpr_19(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -320,7 +154,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -473,25 +306,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 80764E80-80764EA0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_RB_Method */ -SECTION_DATA static void* l_daE_RB_Method[8] = { - (void*)daE_RB_Create__FP10fopAc_ac_c, - (void*)daE_RB_Delete__FP10e_rb_class, - (void*)daE_RB_Execute__FP10e_rb_class, - (void*)daE_RB_IsDelete__FP10e_rb_class, - (void*)daE_RB_Draw__FP10e_rb_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_RB_Method = { + (process_method_func)daE_RB_Create__FP10fopAc_ac_c, + (process_method_func)daE_RB_Delete__FP10e_rb_class, + (process_method_func)daE_RB_Execute__FP10e_rb_class, + (process_method_func)daE_RB_IsDelete__FP10e_rb_class, + (process_method_func)daE_RB_Draw__FP10e_rb_class, }; /* 80764EA0-80764ED0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_RB */ -SECTION_DATA extern void* g_profile_E_RB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D30000, (void*)&g_fpcLf_Method, - (void*)0x00000A6C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00990000, (void*)&l_daE_RB_Method, - (void*)0x10040120, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_RB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_RB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_rb_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 153, // mPriority + &l_daE_RB_Method, // sub_method + 0x10040120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 80764ED0-80764EDC 0000F4 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -977,7 +815,8 @@ extern "C" asm void __dt__8cM3dGPlaFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rb/d_a_e_rb/__dt__14dBgS_ObjGndChkFv.s" } @@ -1090,7 +929,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rb/d_a_e_rb/__dt__12dBgS_ObjAcchFv.s" } @@ -1100,7 +940,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rb/d_a_e_rb/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_rd/d_a_e_rd.cpp b/rel/d/a/e/d_a_e_rd/d_a_e_rd.cpp index a61b66236d2..fec800ec6e7 100644 --- a/rel/d/a/e/d_a_e_rd/d_a_e_rd.cpp +++ b/rel/d/a/e/d_a_e_rd/d_a_e_rd.cpp @@ -1,289 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_rd -// +/** + * @file d_a_e_rd.cpp + * +*/ #include "rel/d/a/e/d_a_e_rd/d_a_e_rd.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct _GXColor {}; - -struct mDoGph_gInf_c { - /* 80007FD8 */ void fadeOut(f32, _GXColor&); - /* 80008078 */ void onBlure(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - int, void*, u32, u32); - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); - /* 80010680 */ void entryDL(); - /* 800106AC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_rd_class { - /* 80517AE0 */ e_rd_class(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daObjH_Saku_c { - /* 80C1552C */ void BreakSet(); -}; - -struct daE_RD_HIO_c { - /* 80504A6C */ daE_RD_HIO_c(); - /* 8051801C */ ~daE_RD_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_tmp_flag_c { - static u8 const tempBitLabels[370 + 2 /* padding */]; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); -}; - -struct dSv_danBit_c { - /* 80034B98 */ void onSwitch(int); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); - /* 80517FCC */ csXyz(); - /* 805184F8 */ ~csXyz(); -}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - - static u8 mParticleTracePCB[4 + 4 /* padding */]; -}; - -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); -}; - -struct dJntCol_c { - /* 80035C8C */ dJntCol_c(); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct J3DModel {}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180B40 */ void Set(cXyz, cXyz, s16, f32); -}; - -struct dBomb_c { - /* 80031F94 */ void checkStateCarry(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjGndChk { - /* 8050B53C */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 80517EEC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80517F5C */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct dAttention_c { - /* 8007353C */ void LockonTarget(s32); - /* 800737E4 */ void LockonTruth(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074618 */ void GetActorPointer(int) const; -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802AF408 */ void bgmStop(u32, s32); - /* 802AF49C */ void subBgmStart(u32); - /* 802AFB94 */ void bgmStreamPrepare(u32); - /* 802AFE18 */ void bgmStreamPlay(); - /* 802B1DF4 */ void changeSubBgmStatus(s32); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -574,10 +299,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXScale(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_15(); extern "C" void _savegpr_19(); @@ -602,8 +323,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -613,12 +332,9 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_blackColor; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" extern u8 mBlureFlag__13mDoGph_gInf_c[4]; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; @@ -1331,25 +1047,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 80519048-80519068 -00001 0020+00 1/0 0/0 0/0 .data l_daE_RD_Method */ -SECTION_DATA static void* l_daE_RD_Method[8] = { - (void*)daE_RD_Create__FP10fopAc_ac_c, - (void*)daE_RD_Delete__FP10e_rd_class, - (void*)daE_RD_Execute__FP10e_rd_class, - (void*)daE_RD_IsDelete__FP10e_rd_class, - (void*)daE_RD_Draw__FP10e_rd_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_RD_Method = { + (process_method_func)daE_RD_Create__FP10fopAc_ac_c, + (process_method_func)daE_RD_Delete__FP10e_rd_class, + (process_method_func)daE_RD_Execute__FP10e_rd_class, + (process_method_func)daE_RD_IsDelete__FP10e_rd_class, + (process_method_func)daE_RD_Draw__FP10e_rd_class, }; /* 80519068-80519098 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_RD */ -SECTION_DATA extern void* g_profile_E_RD[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D40000, (void*)&g_fpcLf_Method, - (void*)0x00001368, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x009A0000, (void*)&l_daE_RD_Method, - (void*)0x00044000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_RD = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_RD, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_rd_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 154, // mPriority + &l_daE_RD_Method, // sub_method + 0x00044000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80519098-805190A4 0006F0 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -2389,7 +2110,8 @@ static asm void body_gake(e_rd_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rd/d_a_e_rd/__dt__14dBgS_ObjGndChkFv.s" } @@ -4346,7 +4068,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rd/d_a_e_rd/__dt__12dBgS_ObjAcchFv.s" } @@ -4356,14 +4079,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rd/d_a_e_rd/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 80517FCC-80517FD0 01364C 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -4475,7 +4200,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rd/d_a_e_rd/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.cpp b/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.cpp index 95359644863..fafb804c024 100644 --- a/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.cpp +++ b/rel/d/a/e/d_a_e_rdb/d_a_e_rdb.cpp @@ -1,219 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_rdb -// +/** + * @file d_a_e_rdb.cpp + * +*/ #include "rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct _GXColor {}; - -struct mDoGph_gInf_c { - /* 80007FD8 */ void fadeOut(f32, _GXColor&); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_rdb_class { - /* 8076AA0C */ e_rdb_class(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_RDB_HIO_c { - /* 807650CC */ daE_RDB_HIO_c(); - /* 8076AF64 */ ~daE_RDB_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_memBit_c { - /* 800347A0 */ void onTbox(int); - /* 80034918 */ void onDungeonItem(int); - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); - /* 8024A4C4 */ void remove(); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); -}; - -struct J3DModel {}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8076AE3C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8076AEAC */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS { - /* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&); -}; - -struct _GXTexObj {}; - -struct Z2StatusMgr { - /* 802B61E8 */ void setDemoName(char*); -}; - -struct Z2SeqMgr { - /* 802AF49C */ void subBgmStart(u32); - /* 802AF884 */ void subBgmStop(); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C10B4 */ void init(Vec*, Vec*, Vec*, u8, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -396,9 +191,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_20(); @@ -418,8 +210,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -430,12 +220,9 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_blackColor; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -703,25 +490,30 @@ static dCcD_SrcCyl co_cyl_src = { #pragma pop /* 8076B8F4-8076B914 -00001 0020+00 1/0 0/0 0/0 .data l_daE_RDB_Method */ -SECTION_DATA static void* l_daE_RDB_Method[8] = { - (void*)daE_RDB_Create__FP10fopAc_ac_c, - (void*)daE_RDB_Delete__FP11e_rdb_class, - (void*)daE_RDB_Execute__FP11e_rdb_class, - (void*)daE_RDB_IsDelete__FP11e_rdb_class, - (void*)daE_RDB_Draw__FP11e_rdb_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_RDB_Method = { + (process_method_func)daE_RDB_Create__FP10fopAc_ac_c, + (process_method_func)daE_RDB_Delete__FP11e_rdb_class, + (process_method_func)daE_RDB_Execute__FP11e_rdb_class, + (process_method_func)daE_RDB_IsDelete__FP11e_rdb_class, + (process_method_func)daE_RDB_Draw__FP11e_rdb_class, }; /* 8076B914-8076B944 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_RDB */ -SECTION_DATA extern void* g_profile_E_RDB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D50000, (void*)&g_fpcLf_Method, - (void*)0x00001154, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x009C0000, (void*)&l_daE_RDB_Method, - (void*)0x00044100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_RDB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_RDB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_rdb_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 156, // mPriority + &l_daE_RDB_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8076B944-8076B950 00024C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -2406,7 +2198,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rdb/d_a_e_rdb/__dt__12dBgS_ObjAcchFv.s" } @@ -2416,7 +2209,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rdb/d_a_e_rdb/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.cpp b/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.cpp index f0af6c770eb..a0c256b92e3 100644 --- a/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.cpp +++ b/rel/d/a/e/d_a_e_rdy/d_a_e_rdy.cpp @@ -1,196 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_rdy -// +/** + * @file d_a_e_rdy.cpp + * +*/ #include "rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoGph_gInf_c { - /* 80007FD8 */ void fadeOut(f32, _GXColor&); -}; - -struct Z2Creature {}; - -struct daPy_py_c { - /* 80779DD4 */ void changeDemoMode(u32, int, int, s16); - - static u8 m_midnaActor[4]; -}; - -struct daE_RDY_HIO_c { - /* 8076BDCC */ daE_RDY_HIO_c(); - /* 80779880 */ ~daE_RDY_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_tmp_flag_c { - static u8 const tempBitLabels[370 + 2 /* padding */]; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349A4 */ void offEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - - static u8 mParticleTracePCB[4 + 4 /* padding */]; -}; - -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); -}; - -struct dJntColData_c {}; - -struct dJntCol_c { - /* 80035C8C */ dJntCol_c(); - /* 80035CA0 */ void init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); -}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180B40 */ void Set(cXyz, cXyz, s16, f32); - /* 80180BA0 */ void Reset(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); -}; - -struct dBomb_c { - /* 80031F94 */ void checkStateCarry(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjGndChk { - /* 80771230 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 8077971C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8077978C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; // // Forward References: @@ -467,7 +284,6 @@ extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_blackColor; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -1106,25 +922,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 8077A73C-8077A75C -00001 0020+00 1/0 0/0 0/0 .data l_daE_RDY_Method */ -SECTION_DATA static void* l_daE_RDY_Method[8] = { - (void*)daE_RDY_Create__FP10fopAc_ac_c, - (void*)daE_RDY_Delete__FP11e_rdy_class, - (void*)daE_RDY_Execute__FP11e_rdy_class, - (void*)daE_RDY_IsDelete__FP11e_rdy_class, - (void*)daE_RDY_Draw__FP11e_rdy_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_RDY_Method = { + (process_method_func)daE_RDY_Create__FP10fopAc_ac_c, + (process_method_func)daE_RDY_Delete__FP11e_rdy_class, + (process_method_func)daE_RDY_Execute__FP11e_rdy_class, + (process_method_func)daE_RDY_IsDelete__FP11e_rdy_class, + (process_method_func)daE_RDY_Draw__FP11e_rdy_class, }; /* 8077A75C-8077A78C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_RDY */ -SECTION_DATA extern void* g_profile_E_RDY[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D60000, (void*)&g_fpcLf_Method, - (void*)0x0000142C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x009D0000, (void*)&l_daE_RDY_Method, - (void*)0x00044000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_RDY = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_RDY, // mProcName + &g_fpcLf_Method.mBase, // sub_method + 0x0000142C, // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 157, // mPriority + &l_daE_RDY_Method, // sub_method + 0x00044000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8077A78C-8077A798 0006B0 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -2010,7 +1831,8 @@ static asm void body_gake(e_rdy_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rdy/d_a_e_rdy/__dt__14dBgS_ObjGndChkFv.s" } @@ -3107,7 +2929,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rdy/d_a_e_rdy/__dt__12dBgS_ObjAcchFv.s" } @@ -3117,7 +2940,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_rdy/d_a_e_rdy/__dt__12dBgS_AcchCirFv.s" } @@ -3264,7 +3088,8 @@ extern "C" asm void __dt__4cXyzFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +// asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +extern "C" asm void changeDemoMode__9daPy_py_cFUliis() { nofralloc #include "asm/rel/d/a/e/d_a_e_rdy/d_a_e_rdy/changeDemoMode__9daPy_py_cFUliis.s" } diff --git a/rel/d/a/e/d_a_e_s1/d_a_e_s1.cpp b/rel/d/a/e/d_a_e_s1/d_a_e_s1.cpp index 6480b889f71..ce1ddfb8f8e 100644 --- a/rel/d/a/e/d_a_e_s1/d_a_e_s1.cpp +++ b/rel/d/a/e/d_a_e_s1/d_a_e_s1.cpp @@ -1,227 +1,15 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_s1 -// +/** + * @file d_a_e_s1.cpp + * +*/ #include "rel/d/a/e/d_a_e_s1/d_a_e_s1.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct s1_ke_s { - /* 807803F4 */ ~s1_ke_s(); - /* 80780470 */ s1_ke_s(); -}; -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct dKy_tevstr_c {}; - -struct _GXColor {}; - -struct mDoExt_3DlineMat0_c { - /* 800125E0 */ void init(u16, u16, int); - /* 80012E3C */ void update(int, _GXColor&, dKy_tevstr_c*); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_s1_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_S1_HIO_c { - /* 8077AB8C */ daE_S1_HIO_c(); - /* 80780840 */ ~daE_S1_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct J3DModel {}; - -struct dJntColData_c {}; - -struct dJntCol_c { - /* 80035C8C */ dJntCol_c(); - /* 80035CA0 */ void init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80780718 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80780788 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -400,9 +188,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); @@ -420,8 +205,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat0_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -431,11 +214,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -748,25 +527,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 80781264-80781284 -00001 0020+00 1/0 0/0 0/0 .data l_daE_S1_Method */ -SECTION_DATA static void* l_daE_S1_Method[8] = { - (void*)daE_S1_Create__FP10fopAc_ac_c, - (void*)daE_S1_Delete__FP10e_s1_class, - (void*)daE_S1_Execute__FP10e_s1_class, - (void*)daE_S1_IsDelete__FP10e_s1_class, - (void*)daE_S1_Draw__FP10e_s1_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_S1_Method = { + (process_method_func)daE_S1_Create__FP10fopAc_ac_c, + (process_method_func)daE_S1_Delete__FP10e_s1_class, + (process_method_func)daE_S1_Execute__FP10e_s1_class, + (process_method_func)daE_S1_IsDelete__FP10e_s1_class, + (process_method_func)daE_S1_Draw__FP10e_s1_class, }; /* 80781284-807812B4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_S1 */ -SECTION_DATA extern void* g_profile_E_S1[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B40000, (void*)&g_fpcLf_Method, - (void*)0x00003084, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00790000, (void*)&l_daE_S1_Method, - (void*)0x00040000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_S1 = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_S1, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_s1_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 121, // mPriority + &l_daE_S1_Method, // sub_method + 0x00040000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807812B4-807812C0 00030C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -2085,7 +1869,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_s1/d_a_e_s1/__dt__12dBgS_ObjAcchFv.s" } @@ -2095,7 +1880,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_s1/d_a_e_s1/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_sb/d_a_e_sb.cpp b/rel/d/a/e/d_a_e_sb/d_a_e_sb.cpp index 5314d24c7c6..0f30bb33857 100644 --- a/rel/d/a/e/d_a_e_sb/d_a_e_sb.cpp +++ b/rel/d/a/e/d_a_e_sb/d_a_e_sb.cpp @@ -1,224 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_sb -// +/** + * @file d_a_e_sb.cpp + * +*/ #include "rel/d/a/e/d_a_e_sb/d_a_e_sb.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct daPy_py_c { - /* 8015F398 */ void checkMasterSwordEquip(); -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_SB_c { - /* 807816D8 */ void CreateHeap(); - /* 807817F0 */ void initCcCylinder(); - /* 80781850 */ void setCcCylinder(); - /* 80781898 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 807819DC */ void Particle_Set(u16); - /* 80781A4C */ void SetAnm(int, int, f32, f32); - /* 80781AF8 */ void MemberClear(); - /* 80781DD4 */ void Shield_Motion(); - /* 80781F30 */ void AttackStop(); - /* 80781F80 */ void AttackSetSP(); - /* 80782180 */ void AttackAngle(); - /* 80782264 */ void AttackSpeedMotion(); - /* 807822B8 */ void Attack_Motion(); - /* 80782650 */ void Bomb_Death_Motion(); - /* 80782714 */ void BombJumpSet(); - /* 8078273C */ void GetHomeSet(); - /* 8078294C */ void HomeJumpMotion(); - /* 807829E8 */ void Jump_Normal_Set(); - /* 80782B7C */ void Jump_Set(); - /* 80782BD4 */ void JumpMiddleMotion(); - /* 80782CC8 */ void Jump_Motion(); - /* 80782E90 */ void Death_Motion(); - /* 80782ED4 */ void Hanekaeri(); - /* 80782EF4 */ void Hit(); - /* 80782F10 */ void ActionCheck(); - /* 80783010 */ void Search(); - /* 80783404 */ void Wait_Motion(); - /* 807834FC */ void Attack(); - /* 807835A0 */ void Shield(); - /* 80783678 */ void Anm_Motion(); - /* 80783854 */ void Search_Bomb(); - /* 80783914 */ void ChanceMotion(); - /* 80783A9C */ void NoChanceMotion(); - /* 80783B4C */ void Obj_Damage(); - /* 80783FBC */ void HashiraVib(); - /* 80784144 */ void Yazirushi(); - /* 807841CC */ void setGroundAngle(); - /* 80784390 */ void Execute(); - /* 807844BC */ void Draw(); - /* 807845D8 */ void Delete(); - /* 80784640 */ void setBaseMtx(); - /* 80784720 */ void Create(); -}; - -struct daE_SB_HIO_c { - /* 8078164C */ daE_SB_HIO_c(); - /* 80784CC0 */ ~daE_SB_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80784C30 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -367,14 +156,10 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -385,8 +170,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -480,25 +263,30 @@ SECTION_DATA static void* lit_4468[7] = { }; /* 80784E88-80784EA8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_SB_Method */ -SECTION_DATA static void* l_daE_SB_Method[8] = { - (void*)daE_SB_Create__FP10fopAc_ac_c, - (void*)daE_SB_Delete__FP8daE_SB_c, - (void*)daE_SB_Execute__FP8daE_SB_c, - (void*)daE_SB_IsDelete__FP8daE_SB_c, - (void*)daE_SB_Draw__FP8daE_SB_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_SB_Method = { + (process_method_func)daE_SB_Create__FP10fopAc_ac_c, + (process_method_func)daE_SB_Delete__FP8daE_SB_c, + (process_method_func)daE_SB_Execute__FP8daE_SB_c, + (process_method_func)daE_SB_IsDelete__FP8daE_SB_c, + (process_method_func)daE_SB_Draw__FP8daE_SB_c, }; /* 80784EA8-80784ED8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_SB */ -SECTION_DATA extern void* g_profile_E_SB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01C10000, (void*)&g_fpcLf_Method, - (void*)0x00000BC0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x007D0000, (void*)&l_daE_SB_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_SB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_SB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_SB_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 125, // mPriority + &l_daE_SB_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80784ED8-80784EE4 00006C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */ @@ -1439,7 +1227,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sb/d_a_e_sb/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_sf/d_a_e_sf.cpp b/rel/d/a/e/d_a_e_sf/d_a_e_sf.cpp index 5f8d4ee0409..0fcb1ca0b54 100644 --- a/rel/d/a/e/d_a_e_sf/d_a_e_sf.cpp +++ b/rel/d/a/e/d_a_e_sf/d_a_e_sf.cpp @@ -1,200 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_sf -// +/** + * @file d_a_e_sf.cpp + * +*/ #include "rel/d/a/e/d_a_e_sf/d_a_e_sf.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_sf_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_SF_HIO_c { - /* 8078512C */ daE_SF_HIO_c(); - /* 8078977C */ ~daE_SF_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); -}; - -struct J3DModel {}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80789654 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807896C4 */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -359,9 +173,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -377,8 +188,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -387,11 +196,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -689,25 +495,30 @@ static dCcD_SrcSph tate_sph_src = { #pragma pop /* 80789F6C-80789F8C -00001 0020+00 1/0 0/0 0/0 .data l_daE_SF_Method */ -SECTION_DATA static void* l_daE_SF_Method[8] = { - (void*)daE_SF_Create__FP10fopAc_ac_c, - (void*)daE_SF_Delete__FP10e_sf_class, - (void*)daE_SF_Execute__FP10e_sf_class, - (void*)daE_SF_IsDelete__FP10e_sf_class, - (void*)daE_SF_Draw__FP10e_sf_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_SF_Method = { + (process_method_func)daE_SF_Create__FP10fopAc_ac_c, + (process_method_func)daE_SF_Delete__FP10e_sf_class, + (process_method_func)daE_SF_Execute__FP10e_sf_class, + (process_method_func)daE_SF_IsDelete__FP10e_sf_class, + (process_method_func)daE_SF_Draw__FP10e_sf_class, }; /* 80789F8C-80789FBC -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_SF */ -SECTION_DATA extern void* g_profile_E_SF[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B80000, (void*)&g_fpcLf_Method, - (void*)0x00001000, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x007B0000, (void*)&l_daE_SF_Method, - (void*)0x00040000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_SF = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_SF, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_sf_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 123, // mPriority + &l_daE_SF_Method, // sub_method + 0x00040000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80789FBC-80789FC8 00022C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1701,7 +1512,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sf/d_a_e_sf/__dt__12dBgS_ObjAcchFv.s" } @@ -1711,7 +1523,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sf/d_a_e_sf/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_sg/d_a_e_sg.cpp b/rel/d/a/e/d_a_e_sg/d_a_e_sg.cpp index 17fdb9ef464..99189cfe0fe 100644 --- a/rel/d/a/e/d_a_e_sg/d_a_e_sg.cpp +++ b/rel/d/a/e/d_a_e_sg/d_a_e_sg.cpp @@ -1,152 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_sg -// +/** + * @file d_a_e_sg.cpp + * +*/ #include "rel/d/a/e/d_a_e_sg/d_a_e_sg.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_sg_class {}; - -struct daE_SG_HIO_c { - /* 8078A22C */ daE_SG_HIO_c(); - /* 8078DC84 */ ~daE_SG_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct J3DModel {}; - -struct dJntColData_c {}; - -struct dJntCol_c { - /* 80035C8C */ dJntCol_c(); - /* 80035CA0 */ void init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 8078DC14 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DJoint {}; // // Forward References: @@ -266,8 +127,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void setLinkSearch__15Z2CreatureEnemyFb(); extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_23(); @@ -282,8 +141,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -293,8 +150,6 @@ extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; @@ -453,25 +308,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 8078DFFC-8078E01C -00001 0020+00 1/0 0/0 0/0 .data l_daE_SG_Method */ -SECTION_DATA static void* l_daE_SG_Method[8] = { - (void*)daE_SG_Create__FP10fopAc_ac_c, - (void*)daE_SG_Delete__FP10e_sg_class, - (void*)daE_SG_Execute__FP10e_sg_class, - (void*)daE_SG_IsDelete__FP10e_sg_class, - (void*)daE_SG_Draw__FP10e_sg_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_SG_Method = { + (process_method_func)daE_SG_Create__FP10fopAc_ac_c, + (process_method_func)daE_SG_Delete__FP10e_sg_class, + (process_method_func)daE_SG_Execute__FP10e_sg_class, + (process_method_func)daE_SG_IsDelete__FP10e_sg_class, + (process_method_func)daE_SG_Draw__FP10e_sg_class, }; /* 8078E01C-8078E04C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_SG */ -SECTION_DATA extern void* g_profile_E_SG[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B60000, (void*)&g_fpcLf_Method, - (void*)0x00000AB0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x007A0000, (void*)&l_daE_SG_Method, - (void*)0x000D0100, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_SG = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_SG, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_sg_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 122, // mPriority + &l_daE_SG_Method, // sub_method + 0x000D0100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 8078E04C-8078E058 000198 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -1303,7 +1163,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sg/d_a_e_sg/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_sh/d_a_e_sh.cpp b/rel/d/a/e/d_a_e_sh/d_a_e_sh.cpp index c1dc0ab6f87..094005fe7e5 100644 --- a/rel/d/a/e/d_a_e_sh/d_a_e_sh.cpp +++ b/rel/d/a/e/d_a_e_sh/d_a_e_sh.cpp @@ -1,167 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_sh -// +/** + * @file d_a_e_sh.cpp + * +*/ #include "rel/d/a/e/d_a_e_sh/d_a_e_sh.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_sh_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_SH_HIO_c { - /* 8078E34C */ daE_SH_HIO_c(); - /* 807918B4 */ ~daE_SH_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8079178C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807917FC */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -288,9 +134,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_21(); @@ -308,8 +151,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -318,8 +159,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -584,25 +423,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 80792030-80792050 -00001 0020+00 1/0 0/0 0/0 .data l_daE_SH_Method */ -SECTION_DATA static void* l_daE_SH_Method[8] = { - (void*)daE_SH_Create__FP10fopAc_ac_c, - (void*)daE_SH_Delete__FP10e_sh_class, - (void*)daE_SH_Execute__FP10e_sh_class, - (void*)daE_SH_IsDelete__FP10e_sh_class, - (void*)daE_SH_Draw__FP10e_sh_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_SH_Method = { + (process_method_func)daE_SH_Create__FP10fopAc_ac_c, + (process_method_func)daE_SH_Delete__FP10e_sh_class, + (process_method_func)daE_SH_Execute__FP10e_sh_class, + (process_method_func)daE_SH_IsDelete__FP10e_sh_class, + (process_method_func)daE_SH_Draw__FP10e_sh_class, }; /* 80792050-80792080 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_SH */ -SECTION_DATA extern void* g_profile_E_SH[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01B90000, (void*)&g_fpcLf_Method, - (void*)0x00000D0C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x007E0000, (void*)&l_daE_SH_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_SH = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_SH, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_sh_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 126, // mPriority + &l_daE_SH_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80792080-8079208C 0001B8 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1375,7 +1219,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sh/d_a_e_sh/__dt__12dBgS_ObjAcchFv.s" } @@ -1385,7 +1230,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sh/d_a_e_sh/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_sm/d_a_e_sm.cpp b/rel/d/a/e/d_a_e_sm/d_a_e_sm.cpp index a3e74bb5783..f19e03b8976 100644 --- a/rel/d/a/e/d_a_e_sm/d_a_e_sm.cpp +++ b/rel/d/a/e/d_a_e_sm/d_a_e_sm.cpp @@ -1,237 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_sm -// +/** + * @file d_a_e_sm.cpp + * +*/ #include "rel/d/a/e/d_a_e_sm/d_a_e_sm.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_Sm_HIO_c { - /* 8079222C */ daE_Sm_HIO_c(); - /* 807980E8 */ ~daE_Sm_HIO_c(); -}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); - /* 8079809C */ csXyz(); - /* 80798590 */ ~csXyz(); -}; - -struct daE_SM_c { - /* 80792260 */ void SetAnm(int, int, f32, f32); - /* 8079230C */ void Draw(); - /* 807928A4 */ void Particle_Set(u16, cXyz, cXyz, csXyz); - /* 80792914 */ void ArrowCheck(); - /* 80792C20 */ void E_SM_Damage(); - /* 80792E70 */ void SmDamageCheck(); - /* 807936B4 */ void E_SM_Normal(); - /* 80793B64 */ void E_SM_Move(); - /* 80793E18 */ void E_SM_Attack(); - /* 80794100 */ void Action(); - /* 80794338 */ void E_SM_C_Normal(); - /* 807943C4 */ void E_SM_C_Fight(); - /* 80794458 */ void E_SM_C_Near_Escape(); - /* 8079473C */ void E_SM_C_Far_Escape(); - /* 807949CC */ void E_SM_C_Home_Escape(); - /* 807951EC */ void E_SM_C_Escape(); - /* 80795244 */ void E_SM_C_Free(); - /* 80795530 */ void E_SM_C_Death(); - /* 807958A0 */ void C_DamageCheck(); - /* 80795E64 */ void E_SM_C_Hook(); - /* 80796060 */ void CheckViewArea(); - /* 807960E4 */ void CameraSet(); - /* 80796204 */ void SetStopCam(cXyz, f32, f32, s16); - /* 80796324 */ void SetCMoveCam(cXyz, f32, f32); - /* 80796368 */ void SetStopingCam(); - /* 807963EC */ void SetReleaseCam(); - /* 80796490 */ void DemoStart(); - /* 80796628 */ void DemoMid(); - /* 807968A0 */ void E_SM_C_Demo(); - /* 807968E4 */ void CoreAction(); - /* 80796AEC */ void ArrowOn(); - /* 80796D80 */ void Execute(); - /* 80796FC4 */ void setSmBaseMtx(); - /* 80797274 */ void setBaseMtx(); - /* 8079730C */ void CoCoreSet(); - /* 80797444 */ void CoSmSet(); - /* 80797570 */ void Delete(); - /* 8079764C */ void CreateHeap(); - /* 80797784 */ void initCoSph(); - /* 80797858 */ void Create(); - /* 80797CE0 */ daE_SM_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); - /* 80181E64 */ void Eye(); - /* 80181E98 */ void Center(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80797FBC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8079802C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); - /* 800773C0 */ void SetGndThinCellingOff(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2SoundObjSimple { - /* 802BE844 */ Z2SoundObjSimple(); -}; - -struct Z2SoundObjBase { - /* 802BDFF8 */ void deleteObject(); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -416,9 +193,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -430,8 +204,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -440,9 +212,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -624,25 +394,30 @@ static dCcD_SrcSph core_sph_src = { }; /* 807988B8-807988D8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_SM_Method */ -SECTION_DATA static void* l_daE_SM_Method[8] = { - (void*)daE_SM_Create__FP10fopAc_ac_c, - (void*)daE_SM_Delete__FP8daE_SM_c, - (void*)daE_SM_Execute__FP8daE_SM_c, - (void*)daE_SM_IsDelete__FP8daE_SM_c, - (void*)daE_SM_Draw__FP8daE_SM_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_SM_Method = { + (process_method_func)daE_SM_Create__FP10fopAc_ac_c, + (process_method_func)daE_SM_Delete__FP8daE_SM_c, + (process_method_func)daE_SM_Execute__FP8daE_SM_c, + (process_method_func)daE_SM_IsDelete__FP8daE_SM_c, + (process_method_func)daE_SM_Draw__FP8daE_SM_c, }; /* 807988D8-80798908 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_SM */ -SECTION_DATA extern void* g_profile_E_SM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01BD0000, (void*)&g_fpcLf_Method, - (void*)0x00001160, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x007F0000, (void*)&l_daE_SM_Method, - (void*)0x000C0100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_SM = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_SM, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_SM_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 127, // mPriority + &l_daE_SM_Method, // sub_method + 0x000C0100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80798908-80798914 00017C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -2001,7 +1776,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm/d_a_e_sm/__dt__12dBgS_ObjAcchFv.s" } @@ -2011,14 +1787,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm/d_a_e_sm/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 8079809C-807980A0 005F5C 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -2094,7 +1872,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm/d_a_e_sm/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp b/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp index b6e5cebd9fe..048ab0dd02e 100644 --- a/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp +++ b/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp @@ -1,228 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_sm2 -// +/** + * @file d_a_e_sm2.cpp + * +*/ -// #include "rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h" +#include "rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoHIO_entry_c { - /* 80798C00 */ ~mDoHIO_entry_c(); -}; - -struct J3DModel {}; - -struct mDoExt_invisibleModel { - /* 8000E53C */ void create(J3DModel*, u8); - /* 8000E7C0 */ void entryDL(cXyz*); -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 800110B0 */ void play(u32, s8); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct fOpAcm_HIO_entry_c { - /* 80798BA4 */ ~fOpAcm_HIO_entry_c(); -}; - -struct e_sm2_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_SM2_HIO_c { - /* 80798B4C */ daE_SM2_HIO_c(); - /* 8079CE94 */ ~daE_SM2_HIO_c(); -}; - -struct dSv_player_get_item_c { - /* 80033EC8 */ void isFirstBit(u8) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); - /* 8079CE44 */ csXyz(); - /* 8079D524 */ ~csXyz(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjGndChk { - /* 8079BC9C */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 8079CD64 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8079CDD4 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct dAttCatch_c { - /* 80073A08 */ void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8079C438 */ ~J3DFrameCtrl(); -}; - // // Forward References: // @@ -383,9 +167,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_14(); extern "C" void _savegpr_19(); @@ -403,8 +184,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -413,9 +192,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 g_Counter[12 + 4 /* padding */]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -809,25 +586,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 8079DA6C-8079DA8C -00001 0020+00 1/0 0/0 0/0 .data l_daE_SM2_Method */ -SECTION_DATA static void* l_daE_SM2_Method[8] = { - (void*)daE_SM2_Create__FP10fopAc_ac_c, - (void*)daE_SM2_Delete__FP11e_sm2_class, - (void*)daE_SM2_Execute__FP11e_sm2_class, - (void*)daE_SM2_IsDelete__FP11e_sm2_class, - (void*)daE_SM2_Draw__FP11e_sm2_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_SM2_Method = { + (process_method_func)daE_SM2_Create__FP10fopAc_ac_c, + (process_method_func)daE_SM2_Delete__FP11e_sm2_class, + (process_method_func)daE_SM2_Execute__FP11e_sm2_class, + (process_method_func)daE_SM2_IsDelete__FP11e_sm2_class, + (process_method_func)daE_SM2_Draw__FP11e_sm2_class, }; /* 8079DA8C-8079DABC -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_SM2 */ -SECTION_DATA extern void* g_profile_E_SM2[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01BE0000, (void*)&g_fpcLf_Method, - (void*)0x00000FF0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00800000, (void*)&l_daE_SM2_Method, - (void*)0x00040120, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_SM2 = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_SM2, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_sm2_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 128, // mPriority + &l_daE_SM2_Method, // sub_method + 0x00040120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8079DABC-8079DAC8 000388 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -936,7 +718,8 @@ asm daE_SM2_HIO_c::daE_SM2_HIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() { +// asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() { +extern "C" asm void __dt__18fOpAcm_HIO_entry_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/__dt__18fOpAcm_HIO_entry_cFv.s" } @@ -946,7 +729,8 @@ asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoHIO_entry_c::~mDoHIO_entry_c() { +// asm mDoHIO_entry_c::~mDoHIO_entry_c() { +extern "C" asm void __dt__14mDoHIO_entry_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/__dt__14mDoHIO_entry_cFv.s" } @@ -1663,7 +1447,8 @@ static asm void action(e_sm2_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/__dt__14dBgS_ObjGndChkFv.s" } @@ -1873,7 +1658,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/__dt__12J3DFrameCtrlFv.s" } @@ -1984,7 +1770,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/__dt__12dBgS_ObjAcchFv.s" } @@ -1994,14 +1781,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 8079CE44-8079CE48 0043E4 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -2163,7 +1952,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_st/d_a_e_st.cpp b/rel/d/a/e/d_a_e_st/d_a_e_st.cpp index 514b3c1156e..e316b960a34 100644 --- a/rel/d/a/e/d_a_e_st/d_a_e_st.cpp +++ b/rel/d/a/e/d_a_e_st/d_a_e_st.cpp @@ -1,230 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_st -// +/** + * @file d_a_e_st.cpp + * +*/ #include "rel/d/a/e/d_a_e_st/d_a_e_st.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct st_foot { - /* 807A5F5C */ ~st_foot(); - /* 807A5F98 */ st_foot(); -}; -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 80011154 */ void updateDL(); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct dKy_tevstr_c {}; - -struct _GXColor {}; - -struct mDoExt_3DlineMat0_c { - /* 800125E0 */ void init(u16, u16, int); - /* 80012E3C */ void update(int, _GXColor&, dKy_tevstr_c*); -}; - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; - static f32 mGroundY; -}; - -struct e_st_class { - /* 807A5CF4 */ e_st_class(); -}; - -struct daPy_py_c { - /* 807A67F4 */ void getHeadTopPos() const; - - static u8 m_midnaActor[4]; -}; - -struct daE_ST_HIO_c { - /* 8079DDEC */ daE_ST_HIO_c(); - /* 807A61FC */ ~daE_ST_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjGndChk { - /* 807A2A88 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 807A60D0 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807A6140 */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074CBC */ void GetSpecialCode(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -415,9 +199,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_21(); @@ -436,8 +217,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat0_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -450,8 +229,6 @@ extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; @@ -772,25 +549,30 @@ static dCcD_SrcSph def_sph_src = { #pragma pop /* 807A6C88-807A6CA8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_ST_Method */ -SECTION_DATA static void* l_daE_ST_Method[8] = { - (void*)daE_ST_Create__FP10fopAc_ac_c, - (void*)daE_ST_Delete__FP10e_st_class, - (void*)daE_ST_Execute__FP10e_st_class, - (void*)daE_ST_IsDelete__FP10e_st_class, - (void*)daE_ST_Draw__FP10e_st_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_ST_Method = { + (process_method_func)daE_ST_Create__FP10fopAc_ac_c, + (process_method_func)daE_ST_Delete__FP10e_st_class, + (process_method_func)daE_ST_Execute__FP10e_st_class, + (process_method_func)daE_ST_IsDelete__FP10e_st_class, + (process_method_func)daE_ST_Draw__FP10e_st_class, }; /* 807A6CA8-807A6CD8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_ST */ -SECTION_DATA extern void* g_profile_E_ST[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01BF0000, (void*)&g_fpcLf_Method, - (void*)0x00001068, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00810000, (void*)&l_daE_ST_Method, - (void*)0x10040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_ST = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_ST, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_st_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 129, // mPriority + &l_daE_ST_Method, // sub_method + 0x10040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807A6CD8-807A6CE4 0002EC 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1701,7 +1483,8 @@ static asm void gr_check(e_st_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_st/d_a_e_st/__dt__14dBgS_ObjGndChkFv.s" } @@ -2277,7 +2060,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_st/d_a_e_st/__dt__12dBgS_ObjAcchFv.s" } @@ -2287,7 +2071,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_st/d_a_e_st/__dt__12dBgS_AcchCirFv.s" } @@ -2420,7 +2205,8 @@ extern "C" asm void __dt__4cXyzFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::getHeadTopPos() const { +// asm void daPy_py_c::getHeadTopPos() const { +extern "C" asm void getHeadTopPos__9daPy_py_cCFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_st/d_a_e_st/getHeadTopPos__9daPy_py_cCFv.s" } diff --git a/rel/d/a/e/d_a_e_sw/d_a_e_sw.cpp b/rel/d/a/e/d_a_e_sw/d_a_e_sw.cpp index c6834ea0ff3..3d7413b5ff2 100644 --- a/rel/d/a/e/d_a_e_sw/d_a_e_sw.cpp +++ b/rel/d/a/e/d_a_e_sw/d_a_e_sw.cpp @@ -1,299 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_sw -// +/** + * @file d_a_e_sw.cpp + * +*/ #include "rel/d/a/e/d_a_e_sw/d_a_e_sw.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; - static f32 mGroundY; -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_SW_c { - /* 807A7460 */ void bckSet(int, f32, u8, f32); - /* 807A7504 */ void draw(); - /* 807A76E4 */ void setBeforeJumpEffect(); - /* 807A77CC */ void setJumpEffect(); - /* 807A78B4 */ void setSmokeEffect(); - /* 807A7A08 */ void setDiveEffect(); - /* 807A7AC0 */ void setHideEffect(); - /* 807A7B64 */ void setActionMode(s16, s16); - /* 807A7C50 */ void search_bomb(); - /* 807A7CD0 */ void bomb_check(); - /* 807A7D48 */ void setModeBack(); - /* 807A7DAC */ void checkFall(); - /* 807A7EFC */ void checkBeforeWall(); - /* 807A7F88 */ void executeWait(); - /* 807A8290 */ void checkRunChase(); - /* 807A831C */ void executeChaseSlow(); - /* 807A8B98 */ void executeChaseFast(); - /* 807A9580 */ void executeBomb(); - /* 807A9768 */ void executeAttack(); - /* 807A9E58 */ void executeHook(); - /* 807AA050 */ void executeMoveOut(); - /* 807AA44C */ void executeChance(); - /* 807AA784 */ void executeDive(); - /* 807AA91C */ void executeDamage(); - /* 807AAB7C */ void executeDie(); - /* 807AADCC */ void executeMaster(); - /* 807AAF70 */ void checkSuddenAttack(int); - /* 807AB310 */ void executeSuddenAttack(); - /* 807AB5C4 */ void executeFall(); - /* 807AB6C4 */ void action(); - /* 807AB884 */ void mtx_set(); - /* 807AB930 */ void cc_set(); - /* 807ABAB0 */ void damage_check(); - /* 807ABD28 */ void checkGroundSand(); - /* 807ABE50 */ void execute(); - /* 807AC170 */ void _delete(); - /* 807AC204 */ void CreateHeap(); - /* 807AC31C */ void create(); - /* 807ACA40 */ void d_setAction(void (daE_SW_c::*)()); - /* 807ACAE4 */ void d_checkFall(); - /* 807ACCB0 */ void d_damage_check(); - /* 807ACFF8 */ void d_action(); - /* 807AD10C */ void d_bomb_check(); - /* 807AD17C */ void d_bm_chase(); - /* 807AD4A8 */ void d_wait(); - /* 807AD7C0 */ void d_chaseCheck(); - /* 807ADA08 */ void d_chase(); - /* 807ADE50 */ void d_attk(); - /* 807AE4B4 */ void d_chance(); - /* 807AE7F4 */ void d_chance2(); - /* 807AE968 */ void d_dive(); - /* 807AEB08 */ void d_damage(); - /* 807AEE44 */ void d_die(); - /* 807AF01C */ void d_hook(); - /* 807AF4B4 */ void d_fall(); - /* 807AF57C */ void d_execute(); -}; - -struct daE_SW_HIO_c { - /* 807A740C */ daE_SW_HIO_c(); - /* 807AF870 */ ~daE_SW_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807AC8E4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 807AC940 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807AC9B0 */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); - /* 80074EF0 */ void GetGroundCode(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct dAttention_c { - /* 8007353C */ void LockonTarget(s32); - /* 800737E4 */ void LockonTruth(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807AC854 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 807AF46C */ ~cM3dGPla(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 807AC89C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 807AF828 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -476,11 +189,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void __ptmf_test(); extern "C" void __ptmf_cmpr(); @@ -495,9 +203,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -507,9 +212,7 @@ extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -712,25 +415,30 @@ SECTION_DATA static void* lit_5983[3] = { }; /* 807AFF74-807AFF94 -00001 0020+00 1/0 0/0 0/0 .data l_daE_SW_Method */ -SECTION_DATA static void* l_daE_SW_Method[8] = { - (void*)daE_SW_Create__FP8daE_SW_c, - (void*)daE_SW_Delete__FP8daE_SW_c, - (void*)daE_SW_Execute__FP8daE_SW_c, - (void*)daE_SW_IsDelete__FP8daE_SW_c, - (void*)daE_SW_Draw__FP8daE_SW_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_SW_Method = { + (process_method_func)daE_SW_Create__FP8daE_SW_c, + (process_method_func)daE_SW_Delete__FP8daE_SW_c, + (process_method_func)daE_SW_Execute__FP8daE_SW_c, + (process_method_func)daE_SW_IsDelete__FP8daE_SW_c, + (process_method_func)daE_SW_Draw__FP8daE_SW_c, }; /* 807AFF94-807AFFC4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_SW */ -SECTION_DATA extern void* g_profile_E_SW[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01F10000, (void*)&g_fpcLf_Method, - (void*)0x00000B18, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00BF0000, (void*)&l_daE_SW_Method, - (void*)0x000C0100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_SW = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_SW, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_SW_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 191, // mPriority + &l_daE_SW_Method, // sub_method + 0x000C0100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807AFFC4-807AFFD0 -00001 000C+00 0/1 0/0 0/0 .data @6217 */ @@ -2091,7 +1799,8 @@ asm void daE_SW_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sw/d_a_e_sw/__dt__8cM3dGSphFv.s" } @@ -2101,7 +1810,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sw/d_a_e_sw/__dt__8cM3dGAabFv.s" } @@ -2111,7 +1821,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sw/d_a_e_sw/__dt__10dCcD_GSttsFv.s" } @@ -2121,7 +1832,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sw/d_a_e_sw/__dt__12dBgS_ObjAcchFv.s" } @@ -2131,7 +1843,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sw/d_a_e_sw/__dt__12dBgS_AcchCirFv.s" } @@ -2335,7 +2048,8 @@ asm void daE_SW_c::d_hook() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sw/d_a_e_sw/__dt__8cM3dGPlaFv.s" } @@ -2365,7 +2079,8 @@ asm void daE_SW_c::d_execute() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_sw/d_a_e_sw/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/e/d_a_e_th/d_a_e_th.cpp b/rel/d/a/e/d_a_e_th/d_a_e_th.cpp index 06959ccc01d..f74add8d199 100644 --- a/rel/d/a/e/d_a_e_th/d_a_e_th.cpp +++ b/rel/d/a/e/d_a_e_th/d_a_e_th.cpp @@ -1,199 +1,15 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_th -// +/** + * @file d_a_e_th.cpp + * +*/ #include "rel/d/a/e/d_a_e_th/d_a_e_th.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct th_ke_s { - /* 807B3B58 */ ~th_ke_s(); - /* 807B3BD4 */ th_ke_s(); -}; -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct dKy_tevstr_c {}; - -struct _GXColor {}; - -struct mDoExt_3DlineMat0_c { - /* 800125E0 */ void init(u16, u16, int); - /* 80012874 */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_th_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_TH_HIO_c { - /* 807B038C */ daE_TH_HIO_c(); - /* 807B3FA4 */ ~daE_TH_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_memBit_c { - /* 80034810 */ void onSwitch(int); - /* 80034918 */ void onDungeonItem(int); - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 807B3E7C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807B3EEC */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802AF49C */ void subBgmStart(u32); - /* 802AF884 */ void subBgmStop(); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -352,9 +168,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); @@ -372,8 +185,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat0_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -382,10 +193,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -600,25 +408,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 807B4794-807B47B4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_TH_Method */ -SECTION_DATA static void* l_daE_TH_Method[8] = { - (void*)daE_TH_Create__FP10fopAc_ac_c, - (void*)daE_TH_Delete__FP10e_th_class, - (void*)daE_TH_Execute__FP10e_th_class, - (void*)daE_TH_IsDelete__FP10e_th_class, - (void*)daE_TH_Draw__FP10e_th_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_TH_Method = { + (process_method_func)daE_TH_Create__FP10fopAc_ac_c, + (process_method_func)daE_TH_Delete__FP10e_th_class, + (process_method_func)daE_TH_Execute__FP10e_th_class, + (process_method_func)daE_TH_IsDelete__FP10e_th_class, + (process_method_func)daE_TH_Draw__FP10e_th_class, }; /* 807B47B4-807B47E4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_TH */ -SECTION_DATA extern void* g_profile_E_TH[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01C20000, (void*)&g_fpcLf_Method, - (void*)0x0000123C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00860000, (void*)&l_daE_TH_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_TH = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_TH, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_th_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 134, // mPriority + &l_daE_TH_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807B47E4-807B47F0 000198 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1704,7 +1517,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_th/d_a_e_th/__dt__12dBgS_ObjAcchFv.s" } @@ -1714,7 +1528,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_th/d_a_e_th/__dt__12dBgS_AcchCirFv.s" } diff --git a/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.cpp b/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.cpp index 33a9e14e08f..36a21eee2ef 100644 --- a/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.cpp +++ b/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.cpp @@ -1,140 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_th_ball -// +/** + * @file d_a_e_th_ball.cpp + * +*/ #include "rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DAnmTransform {}; - -struct mDoExt_McaMorfSO { - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); -}; - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_th_ball_class { - /* 807B7AA8 */ e_th_ball_class(); -}; - -struct daPy_py_c { - /* 8015F4F0 */ void setLookPos(cXyz*); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_memBit_c { - /* 80034810 */ void onSwitch(int); -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 807B7DEC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct csXyz { - /* 807B7E5C */ ~csXyz(); - /* 807B7E98 */ csXyz(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2Creature { - /* 802C03C8 */ Z2Creature(); - /* 802C0530 */ void init(Vec*, Vec*, u8, u8); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; // // Forward References: @@ -250,8 +122,6 @@ extern "C" void MtxPosition__FP4cXyzP4cXyz(); extern "C" void __ct__10Z2CreatureFv(); extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void __construct_array(); extern "C" void _savegpr_21(); extern "C" void _savegpr_22(); @@ -265,8 +135,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -276,7 +144,6 @@ extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; @@ -1016,25 +883,30 @@ static asm void daE_TH_BALL_Create(fopAc_ac_c* param_0) { /* ############################################################################################## */ /* 807B8050-807B8070 -00001 0020+00 1/0 0/0 0/0 .data l_daE_TH_BALL_Method */ -SECTION_DATA static void* l_daE_TH_BALL_Method[8] = { - (void*)daE_TH_BALL_Create__FP10fopAc_ac_c, - (void*)daE_TH_BALL_Delete__FP15e_th_ball_class, - (void*)daE_TH_BALL_Execute__FP15e_th_ball_class, - (void*)daE_TH_BALL_IsDelete__FP15e_th_ball_class, - (void*)daE_TH_BALL_Draw__FP15e_th_ball_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_TH_BALL_Method = { + (process_method_func)daE_TH_BALL_Create__FP10fopAc_ac_c, + (process_method_func)daE_TH_BALL_Delete__FP15e_th_ball_class, + (process_method_func)daE_TH_BALL_Execute__FP15e_th_ball_class, + (process_method_func)daE_TH_BALL_IsDelete__FP15e_th_ball_class, + (process_method_func)daE_TH_BALL_Draw__FP15e_th_ball_class, }; /* 807B8070-807B80A0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_TH_BALL */ -SECTION_DATA extern void* g_profile_E_TH_BALL[12] = { - (void*)0xFFFFFFFD, (void*)0x0008FFFD, - (void*)0x02E80000, (void*)&g_fpcLf_Method, - (void*)0x00001A90, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00870000, (void*)&l_daE_TH_BALL_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_TH_BALL = { + fpcLy_CURRENT_e, // mLayerID + 8, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_TH_BALL, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_th_ball_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 135, // mPriority + &l_daE_TH_BALL_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807B80A0-807B80AC 0000D0 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -1100,7 +972,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball/__dt__12dBgS_ObjAcchFv.s" } @@ -1110,14 +983,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball/__dt__5csXyzFv.s" } #pragma pop /* 807B7E98-807B7E9C 0035F8 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } diff --git a/rel/d/a/e/d_a_e_tk/d_a_e_tk.cpp b/rel/d/a/e/d_a_e_tk/d_a_e_tk.cpp index 7cb03d21b2f..75de27eef07 100644 --- a/rel/d/a/e/d_a_e_tk/d_a_e_tk.cpp +++ b/rel/d/a/e/d_a_e_tk/d_a_e_tk.cpp @@ -1,141 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_tk -// +/** + * @file d_a_e_tk.cpp + * +*/ #include "rel/d/a/e/d_a_e_tk/d_a_e_tk.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_tk_class {}; - -struct daE_TK_HIO_c { - /* 807B81EC */ daE_TK_HIO_c(); - /* 807BA1C4 */ ~daE_TK_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 807BA154 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -248,16 +120,12 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -265,7 +133,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" void __register_global_object(); @@ -352,25 +219,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 807BA398-807BA3B8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_TK_Method */ -SECTION_DATA static void* l_daE_TK_Method[8] = { - (void*)daE_TK_Create__FP10fopAc_ac_c, - (void*)daE_TK_Delete__FP10e_tk_class, - (void*)daE_TK_Execute__FP10e_tk_class, - (void*)daE_TK_IsDelete__FP10e_tk_class, - (void*)daE_TK_Draw__FP10e_tk_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_TK_Method = { + (process_method_func)daE_TK_Create__FP10fopAc_ac_c, + (process_method_func)daE_TK_Delete__FP10e_tk_class, + (process_method_func)daE_TK_Execute__FP10e_tk_class, + (process_method_func)daE_TK_IsDelete__FP10e_tk_class, + (process_method_func)daE_TK_Draw__FP10e_tk_class, }; /* 807BA3B8-807BA3E8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_TK */ -SECTION_DATA extern void* g_profile_E_TK[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D00000, (void*)&g_fpcLf_Method, - (void*)0x00000A64, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00950000, (void*)&l_daE_TK_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_TK = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_TK, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_tk_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 149, // mPriority + &l_daE_TK_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807BA3E8-807BA3F4 0000F0 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -839,7 +711,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tk/d_a_e_tk/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.cpp b/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.cpp index c47be3ba9f9..ce1ed7ca0c9 100644 --- a/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.cpp +++ b/rel/d/a/e/d_a_e_tk2/d_a_e_tk2.cpp @@ -1,141 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_tk2 -// +/** + * @file d_a_e_tk2.cpp + * +*/ #include "rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_tk2_class {}; - -struct daE_TK2_HIO_c { - /* 807BA56C */ daE_TK2_HIO_c(); - /* 807BBD00 */ ~daE_TK2_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 807BBC90 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -238,16 +110,12 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -255,7 +123,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" void __register_global_object(); @@ -327,25 +194,30 @@ static dCcD_SrcSph cc_sph_src = { }; /* 807BBE9C-807BBEBC -00001 0020+00 1/0 0/0 0/0 .data l_daE_TK2_Method */ -SECTION_DATA static void* l_daE_TK2_Method[8] = { - (void*)daE_TK2_Create__FP10fopAc_ac_c, - (void*)daE_TK2_Delete__FP11e_tk2_class, - (void*)daE_TK2_Execute__FP11e_tk2_class, - (void*)daE_TK2_IsDelete__FP11e_tk2_class, - (void*)daE_TK2_Draw__FP11e_tk2_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_TK2_Method = { + (process_method_func)daE_TK2_Create__FP10fopAc_ac_c, + (process_method_func)daE_TK2_Delete__FP11e_tk2_class, + (process_method_func)daE_TK2_Execute__FP11e_tk2_class, + (process_method_func)daE_TK2_IsDelete__FP11e_tk2_class, + (process_method_func)daE_TK2_Draw__FP11e_tk2_class, }; /* 807BBEBC-807BBEEC -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_TK2 */ -SECTION_DATA extern void* g_profile_E_TK2[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D10000, (void*)&g_fpcLf_Method, - (void*)0x00000A50, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00960000, (void*)&l_daE_TK2_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_TK2 = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_TK2, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_tk2_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 150, // mPriority + &l_daE_TK2_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807BBEEC-807BBEF8 0000C4 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ @@ -765,7 +637,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tk2/d_a_e_tk2/__dt__12dBgS_ObjAcchFv.s" } diff --git a/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.cpp b/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.cpp index 300b475727a..56de10da4b8 100644 --- a/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.cpp +++ b/rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.cpp @@ -1,100 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_tk_ball -// +/** + * @file d_a_e_tk_ball.cpp + * +*/ #include "rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_tk_ball_class {}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - - static u8 mParticleTracePCB[4 + 4 /* padding */]; -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dAttention_c { - /* 8007353C */ void LockonTarget(s32); - /* 800737E4 */ void LockonTruth(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct Z2SoundObjSimple { - /* 802BE844 */ Z2SoundObjSimple(); -}; - -struct Z2SoundObjBase { - /* 802BDFF8 */ void deleteObject(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; // // Forward References: @@ -166,17 +78,12 @@ extern "C" void MtxPosition__FP4cXyzP4cXyz(); extern "C" void deleteObject__14Z2SoundObjBaseFv(); extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXScale(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -184,7 +91,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; @@ -483,25 +389,30 @@ static dCcD_SrcSph tg_sph_src = { }; /* 807BD658-807BD678 -00001 0020+00 1/0 0/0 0/0 .data l_daE_TK_BALL_Method */ -SECTION_DATA static void* l_daE_TK_BALL_Method[8] = { - (void*)daE_TK_BALL_Create__FP10fopAc_ac_c, - (void*)daE_TK_BALL_Delete__FP15e_tk_ball_class, - (void*)daE_TK_BALL_Execute__FP15e_tk_ball_class, - (void*)daE_TK_BALL_IsDelete__FP15e_tk_ball_class, - (void*)daE_TK_BALL_Draw__FP15e_tk_ball_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_TK_BALL_Method = { + (process_method_func)daE_TK_BALL_Create__FP10fopAc_ac_c, + (process_method_func)daE_TK_BALL_Delete__FP15e_tk_ball_class, + (process_method_func)daE_TK_BALL_Execute__FP15e_tk_ball_class, + (process_method_func)daE_TK_BALL_IsDelete__FP15e_tk_ball_class, + (process_method_func)daE_TK_BALL_Draw__FP15e_tk_ball_class, }; /* 807BD678-807BD6A8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_TK_BALL */ -SECTION_DATA extern void* g_profile_E_TK_BALL[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01D20000, (void*)&g_fpcLf_Method, - (void*)0x000008CC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00970000, (void*)&l_daE_TK_BALL_Method, - (void*)0x00040120, (void*)NULL, +extern actor_process_profile_definition g_profile_E_TK_BALL = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_TK_BALL, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_tk_ball_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 151, // mPriority + &l_daE_TK_BALL_Method, // sub_method + 0x00040120, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 807BD6A8-807BD6B4 0000D8 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ diff --git a/rel/d/a/e/d_a_e_tt/d_a_e_tt.cpp b/rel/d/a/e/d_a_e_tt/d_a_e_tt.cpp index 55d05db0f5a..1a419a0ff09 100644 --- a/rel/d/a/e/d_a_e_tt/d_a_e_tt.cpp +++ b/rel/d/a/e/d_a_e_tt/d_a_e_tt.cpp @@ -1,292 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_tt -// +/** + * @file d_a_e_tt.cpp + * +*/ #include "rel/d/a/e/d_a_e_tt/d_a_e_tt.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 807C1F68 */ ~cXyz(); -}; - -struct fopAcM_wt_c { - /* 8001DD84 */ void waterCheck(cXyz const*); - - static u8 mWaterCheck[84 + 4 /* padding */]; - static f32 mWaterY[1 + 1 /* padding */]; -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_TT_c { - /* 807BD7EC */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 807BD8E0 */ void JointCallBack(J3DJoint*, int); - /* 807BD92C */ void draw(); - /* 807BDAE0 */ void setBck(int, u8, f32, f32); - /* 807BDB84 */ void calcHitGroundSpeed(); - /* 807BDBE4 */ void setActionMode(int, int); - /* 807BDC10 */ void getCutType(); - /* 807BDC50 */ void damage_check(); - /* 807BDE5C */ void checkWaterSurface(); - /* 807BDF60 */ void checkFootGround(); - /* 807BE2A8 */ void setBodyLandEffect(); - /* 807BE438 */ void setWaterEffect(); - /* 807BE708 */ void setDeathEyeEffect(); - /* 807BE99C */ void setDeathFootEffect(); - /* 807BEBAC */ void checkPlayerSearch(); - /* 807BED70 */ void executeWait(); - /* 807BF358 */ void executeChase(); - /* 807BF914 */ void executeAttack(); - /* 807BFD38 */ void setDamageInit(); - /* 807BFD60 */ void executeDamage(); - /* 807BFFF4 */ void executeDeath(); - /* 807C033C */ void executeOutRange(); - /* 807C0530 */ void executeFirstAttack(); - /* 807C0C28 */ void action(); - /* 807C0E10 */ void mtx_set(int); - /* 807C0EE8 */ void cc_set(); - /* 807C1024 */ void execute(); - /* 807C1164 */ void _delete(); - /* 807C121C */ void CreateHeap(); - /* 807C13B4 */ void create(); -}; - -struct daE_TT_HIO_c { - /* 807BD7AC */ daE_TT_HIO_c(); - /* 807C1AA8 */ ~daE_TT_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004D6A4 */ void setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, - csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8, - cXyz const*); - /* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807C188C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk { - /* 807C19C8 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 807C18E8 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_CamLinChk_NorWtr { - /* 80077E78 */ dBgS_CamLinChk_NorWtr(); - /* 80077EE4 */ ~dBgS_CamLinChk_NorWtr(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807C1958 */ ~dBgS_AcchCir(); -}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807C17FC */ ~cM3dGSph(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 807C1844 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 807C1A60 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -442,12 +163,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_15(); extern "C" void _savegpr_19(); extern "C" void _savegpr_22(); @@ -460,9 +175,6 @@ extern "C" void _restgpr_22(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__18dBgS_ObjGndChk_All[12]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -473,11 +185,8 @@ extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -750,25 +459,30 @@ SECTION_DATA static void* lit_5482[7] = { }; /* 807C22AC-807C22CC -00001 0020+00 1/0 0/0 0/0 .data l_daE_TT_Method */ -SECTION_DATA static void* l_daE_TT_Method[8] = { - (void*)daE_TT_Create__FP8daE_TT_c, - (void*)daE_TT_Delete__FP8daE_TT_c, - (void*)daE_TT_Execute__FP8daE_TT_c, - (void*)daE_TT_IsDelete__FP8daE_TT_c, - (void*)daE_TT_Draw__FP8daE_TT_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_TT_Method = { + (process_method_func)daE_TT_Create__FP8daE_TT_c, + (process_method_func)daE_TT_Delete__FP8daE_TT_c, + (process_method_func)daE_TT_Execute__FP8daE_TT_c, + (process_method_func)daE_TT_IsDelete__FP8daE_TT_c, + (process_method_func)daE_TT_Draw__FP8daE_TT_c, }; /* 807C22CC-807C22FC -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_TT */ -SECTION_DATA extern void* g_profile_E_TT[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02060000, (void*)&g_fpcLf_Method, - (void*)0x00000AD0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00D00000, (void*)&l_daE_TT_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_TT = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_TT, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_TT_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 208, // mPriority + &l_daE_TT_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807C22FC-807C2308 000234 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1696,7 +1410,8 @@ asm void daE_TT_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tt/d_a_e_tt/__dt__8cM3dGSphFv.s" } @@ -1706,7 +1421,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tt/d_a_e_tt/__dt__8cM3dGAabFv.s" } @@ -1716,7 +1432,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tt/d_a_e_tt/__dt__10dCcD_GSttsFv.s" } @@ -1726,7 +1443,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tt/d_a_e_tt/__dt__12dBgS_ObjAcchFv.s" } @@ -1736,7 +1454,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tt/d_a_e_tt/__dt__12dBgS_AcchCirFv.s" } @@ -1746,7 +1465,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tt/d_a_e_tt/__dt__14dBgS_ObjGndChkFv.s" } @@ -1766,7 +1486,8 @@ static asm void daE_TT_Create(daE_TT_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tt/d_a_e_tt/__dt__10cCcD_GSttsFv.s" } @@ -1863,7 +1584,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_tt/d_a_e_tt/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp b/rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp index c8f833f0917..86d4fd41d31 100644 --- a/rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp +++ b/rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp @@ -1,403 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_vt -// +/** + * @file d_a_e_vt.cpp + * +*/ #include "rel/d/a/e/d_a_e_vt/d_a_e_vt.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz { - /* 807CE240 */ csXyz(); - /* 807CEC04 */ ~csXyz(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266C18 */ void operator/(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 807CE23C */ cXyz(); - /* 807CEC40 */ ~cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CDD4 */ void transM(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DModel {}; - -struct mDoExt_invisibleModel { - /* 8000E53C */ void create(J3DModel*, u8); - /* 8000E7C0 */ void entryDL(cXyz*); -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct ResTIMG {}; - -struct _GXColor {}; - -struct dKy_tevstr_c {}; - -struct mDoExt_3DlineMat1_c { - /* 80013360 */ void init(u16, u16, ResTIMG*, int); - /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); -}; - -struct mDoExt_3DlineMat0_c { - /* 800125E0 */ void init(u16, u16, int); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - /* 8015F398 */ void checkMasterSwordEquip(); - /* 8015F424 */ void checkNowWolfEyeUp(); - /* 807CEC7C */ void checkNowWolf(); - - static u8 m_midnaActor[4]; -}; - -struct J3DJoint {}; - -struct daE_VA_c { - /* 807C267C */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 807C284C */ void JointCallBack(J3DJoint*, int); - /* 807C2898 */ void calcJointNeck(); - /* 807C2A4C */ void calcJointSleeve(); - /* 807C3264 */ void draw(); - /* 807C3818 */ void setBck(int, u8, f32, f32); - /* 807C38BC */ void checkBck(int); - /* 807C3918 */ void setActionMode(int, int); - /* 807C39C4 */ void getWolfCutType(); - /* 807C3A1C */ void onSwordAtBit(); - /* 807C3A50 */ void offSwordShield(); - /* 807C3AB0 */ void setTransDamage(cXyz*); - /* 807C3B58 */ void damage_check(); - /* 807C4844 */ void setFireEffect(int); - /* 807C49B4 */ void setFootEffect(); - /* 807C4B54 */ void setWeponEffect(); - /* 807C4DFC */ void setBugsEffect(); - /* 807C4F10 */ void setWeponLandEffect(); - /* 807C4FCC */ void setWeponGlow(); - /* 807C50A4 */ void setWeponFlashScreen(); - /* 807C5188 */ void setMagicEffect(int); - /* 807C5258 */ void setMagicHitEffect(int); - /* 807C5338 */ void demo_skip(int); - /* 807C53A8 */ void DemoSkipCallBack(void*, int); - /* 807C53DC */ void getRopeLength(int); - /* 807C53FC */ void calcOpRopePos(); - /* 807C5CF0 */ void onRopeCutStatus(int, int, int); - /* 807C5DF4 */ void setVibRope(f32, f32); - /* 807C5EAC */ void setVibTag(int, int); - /* 807C6164 */ void calcTagAngle(); - /* 807C638C */ void calcRopeFirePos(); - /* 807C6564 */ void executeDemoOpWait(); - /* 807C67A4 */ void executeDemoOp(); - /* 807C7534 */ void executeClearWait(); - /* 807C7640 */ void executeClearChase(); - /* 807C783C */ void executeClearAttack(); - /* 807C7A8C */ void executeTransWait(); - /* 807C7C74 */ void executeTransChase(); - /* 807C7ED4 */ void executeTransAttack(); - /* 807C839C */ void executeTransBiteDamage(); - /* 807C8860 */ void executeTransDamage(); - /* 807C8A84 */ void executeTransThrough(); - /* 807C8B78 */ void executeOpaciWait(); - /* 807C915C */ void executeOpaciFly(); - /* 807C9A40 */ void executeOpaciDamage(); - /* 807C9C8C */ void executeOpaciChase(); - /* 807CA364 */ void executeOpaciAttack(); - /* 807CA73C */ void executeOpaciDown(); - /* 807CAA80 */ void executeOpaciDownDamage(); - /* 807CACE0 */ void executeOpaciFlip(); - /* 807CADB8 */ void executeOpaciFadeAway(); - /* 807CB1C4 */ void executeOpaciDeath(); - /* 807CB8CC */ void calcMagicMove(); - /* 807CBC00 */ void setAlphaType(); - /* 807CC004 */ void action(); - /* 807CC4D0 */ void mtx_set(); - /* 807CC864 */ void cc_set(); - /* 807CCD24 */ void execute(); - /* 807CCF64 */ void _delete(); - /* 807CD048 */ void CreateHeap(); - /* 807CD668 */ void create(); - /* 807CDAD8 */ daE_VA_c(); -}; - -struct daE_VA_HIO_c { - /* 807C25EC */ daE_VA_HIO_c(); - /* 807CE2AC */ ~daE_VA_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dSv_memBit_c { - /* 80034918 */ void onDungeonItem(int); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 800429A8 */ void onSkipFade(); -}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 807CDE90 */ dCcD_Sph(); - /* 807CDF98 */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807CE0AC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 807C44A0 */ void operator=(dCcD_GObjInf const&); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 807C440C */ void operator=(dCcD_Cyl const&); - /* 807C46E8 */ ~dCcD_Cyl(); - /* 807CDF14 */ dCcD_Cyl(); -}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180BA0 */ void Reset(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 807CE108 */ dBgS_ObjAcch(); - /* 807CE15C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807CE1CC */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807CE064 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 807C47B4 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 807C47FC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 807CE264 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802AF49C */ void subBgmStart(u32); - /* 802AF884 */ void subBgmStop(); - /* 802AFB94 */ void bgmStreamPrepare(u32); - /* 802AFE18 */ void bgmStreamPlay(); - /* 802AFEDC */ void bgmStreamStop(u32); - /* 802B1DF4 */ void changeSubBgmStatus(s32); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JPABaseEmitter { - /* 8027EC60 */ void deleteAllParticle(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 807CD600 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -645,13 +256,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __copy(); extern "C" void __construct_array(); extern "C" void _savegpr_14(); @@ -676,11 +280,8 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; extern "C" extern void* __vt__19mDoExt_3DlineMat0_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -691,12 +292,9 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" extern u8 j3dZModeTable[96]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -1266,25 +864,30 @@ SECTION_DATA static void* lit_8207[21] = { }; /* 807CF384-807CF3A4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_VA_Method */ -SECTION_DATA static void* l_daE_VA_Method[8] = { - (void*)daE_VA_Create__FP8daE_VA_c, - (void*)daE_VA_Delete__FP8daE_VA_c, - (void*)daE_VA_Execute__FP8daE_VA_c, - (void*)daE_VA_IsDelete__FP8daE_VA_c, - (void*)daE_VA_Draw__FP8daE_VA_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_VA_Method = { + (process_method_func)daE_VA_Create__FP8daE_VA_c, + (process_method_func)daE_VA_Delete__FP8daE_VA_c, + (process_method_func)daE_VA_Execute__FP8daE_VA_c, + (process_method_func)daE_VA_IsDelete__FP8daE_VA_c, + (process_method_func)daE_VA_Draw__FP8daE_VA_c, }; /* 807CF3A4-807CF3D4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_VT */ -SECTION_DATA extern void* g_profile_E_VT[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02080000, (void*)&g_fpcLf_Method, - (void*)0x00010FFC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02F40000, (void*)&l_daE_VA_Method, - (void*)0x00040000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_VT = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_VT, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_VA_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 756, // mPriority + &l_daE_VA_Method, // sub_method + 0x00040000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807CF3D4-807CF3E0 0004CC 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1717,7 +1320,8 @@ asm void daE_VA_c::damage_check() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dCcD_Cyl::operator=(dCcD_Cyl const& param_0) { +// asm void dCcD_Cyl::operator=(dCcD_Cyl const& param_0) { +extern "C" asm void __as__8dCcD_CylFRC8dCcD_Cyl() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__as__8dCcD_CylFRC8dCcD_Cyl.s" } @@ -1727,7 +1331,8 @@ asm void dCcD_Cyl::operator=(dCcD_Cyl const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dCcD_GObjInf::operator=(dCcD_GObjInf const& param_0) { +// asm void dCcD_GObjInf::operator=(dCcD_GObjInf const& param_0) { +extern "C" asm void __as__12dCcD_GObjInfFRC12dCcD_GObjInf() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__as__12dCcD_GObjInfFRC12dCcD_GObjInf.s" } @@ -1737,7 +1342,8 @@ asm void dCcD_GObjInf::operator=(dCcD_GObjInf const& param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cyl::~dCcD_Cyl() { +// asm dCcD_Cyl::~dCcD_Cyl() { +extern "C" asm void __dt__8dCcD_CylFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__8dCcD_CylFv.s" } @@ -1747,7 +1353,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__8cM3dGCylFv.s" } @@ -1757,7 +1364,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__8cM3dGAabFv.s" } @@ -2984,7 +2592,8 @@ asm void daE_VA_c::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__12J3DFrameCtrlFv.s" } @@ -3045,7 +2654,8 @@ asm daE_VA_c::daE_VA_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::dCcD_Sph() { +// asm dCcD_Sph::dCcD_Sph() { +extern "C" asm void __ct__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__ct__8dCcD_SphFv.s" } @@ -3055,7 +2665,8 @@ asm dCcD_Sph::dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cyl::dCcD_Cyl() { +// asm dCcD_Cyl::dCcD_Cyl() { +extern "C" asm void __ct__8dCcD_CylFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__ct__8dCcD_CylFv.s" } @@ -3065,7 +2676,8 @@ asm dCcD_Cyl::dCcD_Cyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::~dCcD_Sph() { +// asm dCcD_Sph::~dCcD_Sph() { +extern "C" asm void __dt__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__8dCcD_SphFv.s" } @@ -3075,7 +2687,8 @@ asm dCcD_Sph::~dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__8cM3dGSphFv.s" } @@ -3085,7 +2698,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__10dCcD_GSttsFv.s" } @@ -3095,7 +2709,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::dBgS_ObjAcch() { +// asm dBgS_ObjAcch::dBgS_ObjAcch() { +extern "C" asm void __ct__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__ct__12dBgS_ObjAcchFv.s" } @@ -3105,7 +2720,8 @@ asm dBgS_ObjAcch::dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__12dBgS_ObjAcchFv.s" } @@ -3115,19 +2731,22 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 807CE23C-807CE240 00BD3C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } /* 807CE240-807CE244 00BD40 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -3145,7 +2764,8 @@ static asm void daE_VA_Create(daE_VA_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__10cCcD_GSttsFv.s" } @@ -3367,7 +2987,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__5csXyzFv.s" } @@ -3377,7 +2998,8 @@ asm csXyz::~csXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/__dt__4cXyzFv.s" } @@ -3387,7 +3009,8 @@ asm cXyz::~cXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkNowWolf() { +// asm void daPy_py_c::checkNowWolf() { +extern "C" asm void checkNowWolf__9daPy_py_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/checkNowWolf__9daPy_py_cFv.s" } diff --git a/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.cpp b/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.cpp index 6edac04960b..e33ff81e9ba 100644 --- a/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.cpp +++ b/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.cpp @@ -1,148 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_warpappear -// +/** + * @file d_a_e_warpappear.cpp + * +*/ #include "rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct e_warpappear_class {}; - -struct daPy_py_c { - /* 807D206C */ void changeDemoMode(u32, int, int, s16); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct dKy_tevstr_c {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); - /* 8024A540 */ void getNowMsgNo(); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180B40 */ void Set(cXyz, cXyz, s16, f32); - /* 80180BA0 */ void Reset(cXyz, cXyz, f32, s16); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModelData {}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 807D1EF8 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -224,26 +88,16 @@ extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_25(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_25(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -1344,25 +1198,30 @@ static asm void daE_Warpappear_Delete(e_warpappear_class* param_0) { /* ############################################################################################## */ /* 807D2318-807D2338 -00001 0020+00 1/0 0/0 0/0 .data l_daE_Warpappear_Method */ -SECTION_DATA static void* l_daE_Warpappear_Method[8] = { - (void*)daE_Warpappear_Create__FP10fopAc_ac_c, - (void*)daE_Warpappear_Delete__FP18e_warpappear_class, - (void*)daE_Warpappear_Execute__FP18e_warpappear_class, - (void*)daE_Warpappear_IsDelete__FP18e_warpappear_class, - (void*)daE_Warpappear_Draw__FP18e_warpappear_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_Warpappear_Method = { + (process_method_func)daE_Warpappear_Create__FP10fopAc_ac_c, + (process_method_func)daE_Warpappear_Delete__FP18e_warpappear_class, + (process_method_func)daE_Warpappear_Execute__FP18e_warpappear_class, + (process_method_func)daE_Warpappear_IsDelete__FP18e_warpappear_class, + (process_method_func)daE_Warpappear_Draw__FP18e_warpappear_class, }; /* 807D2338-807D2368 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_WAP */ -SECTION_DATA extern void* g_profile_E_WAP[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02170000, (void*)&g_fpcLf_Method, - (void*)0x00000650, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00E90000, (void*)&l_daE_Warpappear_Method, - (void*)0x00044000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_E_WAP = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_WAP, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_warpappear_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 233, // mPriority + &l_daE_Warpappear_Method, // sub_method + 0x00044000, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807D2368-807D2374 0000D8 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ @@ -1386,7 +1245,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear/__dt__12J3DFrameCtrlFv.s" } @@ -1406,7 +1266,8 @@ static asm void daE_Warpappear_Create(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +// asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3) { +extern "C" asm void changeDemoMode__9daPy_py_cFUliis() { nofralloc #include "asm/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear/changeDemoMode__9daPy_py_cFUliis.s" } diff --git a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp index d05070b2bf0..594da0efdae 100644 --- a/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp +++ b/rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp @@ -1,7 +1,7 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_wb -// +/** + * @file d_a_e_wb.cpp + * +*/ #include "rel/d/a/e/d_a_e_wb/d_a_e_wb.h" @@ -9,36 +9,13 @@ #include "dol2asm.h" #include "m_Do/m_Do_graphic.h" -// -// Types: -// - namespace std { /* 807E2350 */ void fabsf(f32); }; -struct himo_s { - /* 807E1CCC */ ~himo_s(); - /* 807E1D2C */ himo_s(); -}; -struct daObjCRVSTEEL_c { - /* 80BD5BFC */ void OpenSet(f32, f32); - /* 80BD5C18 */ void CloseSet(f32); -}; -struct daObjCRVGATE_c { - /* 80BD245C */ void SetB_Close(); -}; -struct daE_WB_HIO_c { - /* 807D248C */ daE_WB_HIO_c(); - /* 807E20DC */ ~daE_WB_HIO_c(); -}; - -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; // // Forward References: @@ -956,25 +933,30 @@ static dCcD_SrcSph at_sph_src = { #pragma pop /* 807E349C-807E34BC -00001 0020+00 1/0 0/0 0/0 .data l_daE_WB_Method */ -SECTION_DATA static void* l_daE_WB_Method[8] = { - (void*)daE_WB_Create__FP10fopAc_ac_c, - (void*)daE_WB_Delete__FP10e_wb_class, - (void*)daE_WB_Execute__FP10e_wb_class, - (void*)daE_WB_IsDelete__FP10e_wb_class, - (void*)daE_WB_Draw__FP10e_wb_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_WB_Method = { + (process_method_func)daE_WB_Create__FP10fopAc_ac_c, + (process_method_func)daE_WB_Delete__FP10e_wb_class, + (process_method_func)daE_WB_Execute__FP10e_wb_class, + (process_method_func)daE_WB_IsDelete__FP10e_wb_class, + (process_method_func)daE_WB_Draw__FP10e_wb_class, }; /* 807E34BC-807E34EC -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_WB */ -SECTION_DATA extern void* g_profile_E_WB[12] = { - (void*)0xFFFFFFFD, (void*)0x0004FFFD, - (void*)0x00EF0000, (void*)&g_fpcLf_Method, - (void*)0x000017EC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00980000, (void*)&l_daE_WB_Method, - (void*)0x00044100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_WB = { + fpcLy_CURRENT_e, // mLayerID + 4, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_WB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_wb_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 152, // mPriority + &l_daE_WB_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807E34EC-807E34F8 000594 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -2809,7 +2791,8 @@ extern "C" asm void checkSkipEdge__14dEvt_control_cFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM_scos(s16 param_0) { +// static asm void cM_scos(s16 param_0) { +extern "C" asm void cM_scos__Fs() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/cM_scos__Fs.s" } @@ -2819,7 +2802,8 @@ static asm void cM_scos(s16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM_ssin(s16 param_0) { +// static asm void cM_ssin(s16 param_0) { +extern "C" asm void cM_ssin__Fs() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/cM_ssin__Fs.s" } diff --git a/rel/d/a/e/d_a_e_ws/d_a_e_ws.cpp b/rel/d/a/e/d_a_e_ws/d_a_e_ws.cpp index 5064e98b9f2..806ceaf4569 100644 --- a/rel/d/a/e/d_a_e_ws/d_a_e_ws.cpp +++ b/rel/d/a/e/d_a_e_ws/d_a_e_ws.cpp @@ -1,256 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ws -// +/** + * @file d_a_e_ws.cpp + * +*/ #include "rel/d/a/e/d_a_e_ws/d_a_e_ws.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_WS_c { - /* 807E3A6C */ void draw(); - /* 807E3C20 */ void setBck(int, u8, f32, f32); - /* 807E3CC4 */ void setFootSound(); - /* 807E3F90 */ void setActionMode(int); - /* 807E3FAC */ void calcTargetDist(cXyz, cXyz); - /* 807E40C8 */ void calcTargetAngle(cXyz, cXyz); - /* 807E416C */ void checkInSearchRange(cXyz, cXyz); - /* 807E4224 */ void checkPlayerPos(); - /* 807E4568 */ void checkAttackEnd(); - /* 807E470C */ void executeWait(); - /* 807E4AB8 */ void executeAttack(); - /* 807E4E68 */ void executeDown(); - /* 807E5294 */ void executeWindDown(); - /* 807E56D0 */ void damage_check(); - /* 807E58AC */ void action(); - /* 807E5A3C */ void mtx_set(); - /* 807E5AAC */ void cc_set(); - /* 807E5C0C */ void execute(); - /* 807E5CD8 */ void checkInitialWall(); - /* 807E5FB8 */ void checkBeforeBg(s16); - /* 807E63F8 */ void checkWall(); - /* 807E66B4 */ void _delete(); - /* 807E6748 */ void CreateHeap(); - /* 807E6860 */ void create(); -}; - -struct daE_WS_HIO_c { - /* 807E3A0C */ daE_WS_HIO_c(); - /* 807E6E44 */ ~daE_WS_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807E6CA0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 807E6CFC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807E6D6C */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074E00 */ void GetWallCode(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); - /* 80077114 */ void SetGroundUpY(f32); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807E6C10 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 807E5F70 */ ~cM3dGPla(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 807E6C58 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 807E6DFC */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -392,11 +148,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); @@ -409,9 +160,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -420,8 +168,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -611,25 +357,30 @@ SECTION_DATA static void* lit_4268[7] = { }; /* 807E74E4-807E7504 -00001 0020+00 1/0 0/0 0/0 .data l_daE_WS_Method */ -SECTION_DATA static void* l_daE_WS_Method[8] = { - (void*)daE_WS_Create__FP8daE_WS_c, - (void*)daE_WS_Delete__FP8daE_WS_c, - (void*)daE_WS_Execute__FP8daE_WS_c, - (void*)daE_WS_IsDelete__FP8daE_WS_c, - (void*)daE_WS_Draw__FP8daE_WS_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_WS_Method = { + (process_method_func)daE_WS_Create__FP8daE_WS_c, + (process_method_func)daE_WS_Delete__FP8daE_WS_c, + (process_method_func)daE_WS_Execute__FP8daE_WS_c, + (process_method_func)daE_WS_IsDelete__FP8daE_WS_c, + (process_method_func)daE_WS_Draw__FP8daE_WS_c, }; /* 807E7504-807E7534 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_WS */ -SECTION_DATA extern void* g_profile_E_WS[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01FD0000, (void*)&g_fpcLf_Method, - (void*)0x00000B80, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00C80000, (void*)&l_daE_WS_Method, - (void*)0x00050100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_WS = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_WS, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_WS_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 200, // mPriority + &l_daE_WS_Method, // sub_method + 0x00050100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807E7534-807E7540 000124 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1237,7 +988,8 @@ asm void daE_WS_c::checkInitialWall() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ws/d_a_e_ws/__dt__8cM3dGPlaFv.s" } @@ -1352,7 +1104,8 @@ asm void daE_WS_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ws/d_a_e_ws/__dt__8cM3dGSphFv.s" } @@ -1362,7 +1115,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ws/d_a_e_ws/__dt__8cM3dGAabFv.s" } @@ -1372,7 +1126,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ws/d_a_e_ws/__dt__10dCcD_GSttsFv.s" } @@ -1382,7 +1137,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ws/d_a_e_ws/__dt__12dBgS_ObjAcchFv.s" } @@ -1392,7 +1148,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ws/d_a_e_ws/__dt__12dBgS_AcchCirFv.s" } @@ -1412,7 +1169,8 @@ static asm void daE_WS_Create(daE_WS_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ws/d_a_e_ws/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/e/d_a_e_ww/d_a_e_ww.cpp b/rel/d/a/e/d_a_e_ww/d_a_e_ww.cpp index 64e602a223d..26230c4531c 100644 --- a/rel/d/a/e/d_a_e_ww/d_a_e_ww.cpp +++ b/rel/d/a/e/d_a_e_ww/d_a_e_ww.cpp @@ -1,301 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ww -// +/** + * @file d_a_e_ww.cpp + * +*/ #include "rel/d/a/e/d_a_e_ww/d_a_e_ww.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 807EF708 */ ~cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - /* 807EF744 */ void checkNowWolf(); - - static u8 m_midnaActor[4]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daE_WW_c { - /* 807E7748 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 807E7800 */ void JointCallBack(J3DJoint*, int); - /* 807E784C */ void setHeadAngle(); - /* 807E79D4 */ void draw(); - /* 807E7ADC */ void setBck(int, u8, f32, f32); - /* 807E7B80 */ void checkBck(int); - /* 807E7BDC */ void setActionMode(int, int); - /* 807E7C20 */ void damage_check(); - /* 807E7E74 */ void setRandamNumber(); - /* 807E7FCC */ void getNearPlayerAngle(); - /* 807E804C */ void setGroundAngle(); - /* 807E830C */ void checkCreateBg(cXyz); - /* 807E8560 */ void checkAttackWall(); - /* 807E8624 */ void setBlurEffect(); - /* 807E8700 */ void setAppearEffect(); - /* 807E8C54 */ void checkSideStep(); - /* 807E8EEC */ void createWolf(cXyz, u8); - /* 807E905C */ void executeMaster(); - /* 807E972C */ void executeWait(); - /* 807E99B8 */ void calcJumpSpeed(); - /* 807E9C1C */ void executeAttack(); - /* 807EA474 */ void checkAttackStart(); - /* 807EA870 */ void executeChase(); - /* 807EB650 */ void executeDamage(); - /* 807EB964 */ void checkMoveOut(); - /* 807EBAE0 */ void executeMoveOut(); - /* 807EC940 */ void checkWalkStart(); - /* 807ECE58 */ void executeWalk(); - /* 807ED674 */ void eWW_posMoveF(); - /* 807ED78C */ void action(); - /* 807EDA78 */ void mtx_set(); - /* 807EDB00 */ void cc_set(); - /* 807EDCC4 */ void execute(); - /* 807EDE8C */ void calcMoveDir(s16*, s16); - /* 807EE440 */ void _delete(); - /* 807EE4D4 */ void CreateHeap(); - /* 807EE63C */ void create(); -}; - -struct daE_WW_HIO_c { - /* 807E76EC */ daE_WW_HIO_c(); - /* 807EEEBC */ ~daE_WW_HIO_c(); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 807EEB38 */ ~dCcD_Sph(); - /* 807EEC04 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807EED18 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_All { - /* 800778E8 */ ~dBgS_ObjGndChk_All(); -}; - -struct dBgS_ObjGndChk { - /* 807E8A08 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_ObjAcch { - /* 807EED74 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807EEDE4 */ ~dBgS_AcchCir(); -}; - -struct dBgS { - /* 80074CBC */ void GetSpecialCode(cBgS_PolyInfo const&); - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807EEC88 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 807E8518 */ ~cM3dGPla(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 807EECD0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 807EEE74 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -473,11 +185,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -489,10 +196,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__18dBgS_ObjGndChk_All[12]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -502,11 +205,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -745,25 +445,30 @@ SECTION_DATA static void* lit_6441[7] = { }; /* 807EFA80-807EFAA0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_WW_Method */ -SECTION_DATA static void* l_daE_WW_Method[8] = { - (void*)daE_WW_Create__FP8daE_WW_c, - (void*)daE_WW_Delete__FP8daE_WW_c, - (void*)daE_WW_Execute__FP8daE_WW_c, - (void*)daE_WW_IsDelete__FP8daE_WW_c, - (void*)daE_WW_Draw__FP8daE_WW_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_WW_Method = { + (process_method_func)daE_WW_Create__FP8daE_WW_c, + (process_method_func)daE_WW_Delete__FP8daE_WW_c, + (process_method_func)daE_WW_Execute__FP8daE_WW_c, + (process_method_func)daE_WW_IsDelete__FP8daE_WW_c, + (process_method_func)daE_WW_Draw__FP8daE_WW_c, }; /* 807EFAA0-807EFAD0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_WW */ -SECTION_DATA extern void* g_profile_E_WW[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02090000, (void*)&g_fpcLf_Method, - (void*)0x00000EC8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00D10000, (void*)&l_daE_WW_Method, - (void*)0x00044100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_WW = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_WW, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_WW_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 209, // mPriority + &l_daE_WW_Method, // sub_method + 0x00044100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807EFAD0-807EFADC 000204 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1067,7 +772,8 @@ asm void daE_WW_c::checkCreateBg(cXyz param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__8cM3dGPlaFv.s" } @@ -1107,7 +813,8 @@ asm void daE_WW_c::setAppearEffect() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { +extern "C" asm void __dt__14dBgS_ObjGndChkFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__14dBgS_ObjGndChkFv.s" } @@ -1944,7 +1651,8 @@ asm void daE_WW_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::~dCcD_Sph() { +// asm dCcD_Sph::~dCcD_Sph() { +extern "C" asm void __dt__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__8dCcD_SphFv.s" } @@ -1954,7 +1662,8 @@ asm dCcD_Sph::~dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::dCcD_Sph() { +// asm dCcD_Sph::dCcD_Sph() { +extern "C" asm void __ct__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__ct__8dCcD_SphFv.s" } @@ -1964,7 +1673,8 @@ asm dCcD_Sph::dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__8cM3dGSphFv.s" } @@ -1974,7 +1684,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__8cM3dGAabFv.s" } @@ -1984,7 +1695,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__10dCcD_GSttsFv.s" } @@ -1994,7 +1706,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__12dBgS_ObjAcchFv.s" } @@ -2004,7 +1717,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__12dBgS_AcchCirFv.s" } @@ -2024,7 +1738,8 @@ static asm void daE_WW_Create(daE_WW_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__10cCcD_GSttsFv.s" } @@ -2178,7 +1893,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/__dt__4cXyzFv.s" } @@ -2188,7 +1904,8 @@ asm cXyz::~cXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkNowWolf() { +// asm void daPy_py_c::checkNowWolf() { +extern "C" asm void checkNowWolf__9daPy_py_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ww/d_a_e_ww/checkNowWolf__9daPy_py_cFv.s" } diff --git a/rel/d/a/e/d_a_e_yd/d_a_e_yd.cpp b/rel/d/a/e/d_a_e_yd/d_a_e_yd.cpp index f0d894c19d5..fd3e109bb61 100644 --- a/rel/d/a/e/d_a_e_yd/d_a_e_yd.cpp +++ b/rel/d/a/e/d_a_e_yd/d_a_e_yd.cpp @@ -1,205 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_yd -// +/** + * @file d_a_e_yd.cpp + * +*/ #include "rel/d/a/e/d_a_e_yd/d_a_e_yd.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct ResTIMG {}; - -struct _GXColor {}; - -struct dKy_tevstr_c {}; - -struct mDoExt_3DlineMat1_c { - /* 80013360 */ void init(u16, u16, ResTIMG*, int); - /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; - static f32 mGroundY; -}; - -struct e_yd_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_YD_HIO_c { - /* 807F2C2C */ daE_YD_HIO_c(); - /* 807F74CC */ ~daE_YD_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 807F747C */ csXyz(); - /* 807F7974 */ ~csXyz(); -}; - -struct dPa_control_c { - struct level_c { - /* 8004B8B4 */ void forceOnEventMove(u32); - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 807F7160 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807F71D0 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JPABaseEmitter { - /* 8027EC60 */ void deleteAllParticle(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 807F6C48 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -355,9 +163,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -376,8 +181,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -387,8 +190,6 @@ extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -628,25 +429,30 @@ static dCcD_SrcSph kuki_sph_src = { #pragma pop /* 807F7C84-807F7CA4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YD_Method */ -SECTION_DATA static void* l_daE_YD_Method[8] = { - (void*)daE_YD_Create__FP10fopAc_ac_c, - (void*)daE_YD_Delete__FP10e_yd_class, - (void*)daE_YD_Execute__FP10e_yd_class, - (void*)daE_YD_IsDelete__FP10e_yd_class, - (void*)daE_YD_Draw__FP10e_yd_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_YD_Method = { + (process_method_func)daE_YD_Create__FP10fopAc_ac_c, + (process_method_func)daE_YD_Delete__FP10e_yd_class, + (process_method_func)daE_YD_Execute__FP10e_yd_class, + (process_method_func)daE_YD_IsDelete__FP10e_yd_class, + (process_method_func)daE_YD_Draw__FP10e_yd_class, }; /* 807F7CA4-807F7CD4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_YD */ -SECTION_DATA extern void* g_profile_E_YD[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01CC0000, (void*)&g_fpcLf_Method, - (void*)0x0000126C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x008F0000, (void*)&l_daE_YD_Method, - (void*)0x10050100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_YD = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_YD, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_yd_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 143, // mPriority + &l_daE_YD_Method, // sub_method + 0x10050100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 807F7CD4-807F7CE0 00019C 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ @@ -1382,7 +1188,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yd/d_a_e_yd/__dt__12J3DFrameCtrlFv.s" } @@ -1451,7 +1258,8 @@ static asm void daE_YD_Create(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yd/d_a_e_yd/__dt__12dBgS_ObjAcchFv.s" } @@ -1461,7 +1269,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yd/d_a_e_yd/__dt__12dBgS_AcchCirFv.s" } @@ -1523,7 +1332,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma pop /* 807F747C-807F7480 00493C 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -1605,7 +1415,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yd/d_a_e_yd/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_yg/d_a_e_yg.cpp b/rel/d/a/e/d_a_e_yg/d_a_e_yg.cpp index 6a107eec80f..6ed56ca8a6c 100644 --- a/rel/d/a/e/d_a_e_yg/d_a_e_yg.cpp +++ b/rel/d/a/e/d_a_e_yg/d_a_e_yg.cpp @@ -1,204 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_yg -// +/** + * @file d_a_e_yg.cpp + * +*/ #include "rel/d/a/e/d_a_e_yg/d_a_e_yg.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct yg_ke_s { - /* 807FBE70 */ ~yg_ke_s(); - /* 807FBEEC */ yg_ke_s(); -}; -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct dKy_tevstr_c {}; - -struct _GXColor {}; - -struct mDoExt_3DlineMat0_c { - /* 800125E0 */ void init(u16, u16, int); - /* 80012E3C */ void update(int, _GXColor&, dKy_tevstr_c*); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_yg_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_YG_HIO_c { - /* 807F834C */ daE_YG_HIO_c(); - /* 807FC168 */ ~daE_YG_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); - /* 807FCC28 */ ~csXyz(); -}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 807FC040 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 807FC0B0 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -354,9 +164,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); @@ -378,8 +185,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat0_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -388,8 +193,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -610,25 +413,30 @@ static dCcD_SrcSph at_sph_src = { }; /* 807FCF48-807FCF68 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YG_Method */ -SECTION_DATA static void* l_daE_YG_Method[8] = { - (void*)daE_YG_Create__FP10fopAc_ac_c, - (void*)daE_YG_Delete__FP10e_yg_class, - (void*)daE_YG_Execute__FP10e_yg_class, - (void*)daE_YG_IsDelete__FP10e_yg_class, - (void*)daE_YG_Draw__FP10e_yg_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_YG_Method = { + (process_method_func)daE_YG_Create__FP10fopAc_ac_c, + (process_method_func)daE_YG_Delete__FP10e_yg_class, + (process_method_func)daE_YG_Execute__FP10e_yg_class, + (process_method_func)daE_YG_IsDelete__FP10e_yg_class, + (process_method_func)daE_YG_Draw__FP10e_yg_class, }; /* 807FCF68-807FCF98 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_YG */ -SECTION_DATA extern void* g_profile_E_YG[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01FB0000, (void*)&g_fpcLf_Method, - (void*)0x000018A0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00BE0000, (void*)&l_daE_YG_Method, - (void*)0x00050120, (void*)0x02000000, +extern actor_process_profile_definition g_profile_E_YG = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_YG, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_yg_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 190, // mPriority + &l_daE_YG_Method, // sub_method + 0x00050120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_0_e, // cullType }; /* 807FCF98-807FCFA4 00019C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1786,7 +1594,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yg/d_a_e_yg/__dt__12dBgS_ObjAcchFv.s" } @@ -1796,7 +1605,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yg/d_a_e_yg/__dt__12dBgS_AcchCirFv.s" } @@ -1889,7 +1699,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yg/d_a_e_yg/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_yh/d_a_e_yh.cpp b/rel/d/a/e/d_a_e_yh/d_a_e_yh.cpp index 6ef68b41f42..aeb8b296860 100644 --- a/rel/d/a/e/d_a_e_yh/d_a_e_yh.cpp +++ b/rel/d/a/e/d_a_e_yh/d_a_e_yh.cpp @@ -1,231 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_yh -// +/** + * @file d_a_e_yh.cpp + * +*/ #include "rel/d/a/e/d_a_e_yh/d_a_e_yh.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct mDoExt_McaMorf { - /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); - /* 800105C8 */ void play(Vec*, u32, s8); -}; - -struct mDoExt_3DlineMat_c {}; - -struct mDoExt_3DlineMatSortPacket { - /* 80014738 */ void setMat(mDoExt_3DlineMat_c*); -}; - -struct ResTIMG {}; - -struct _GXColor {}; - -struct dKy_tevstr_c {}; - -struct mDoExt_3DlineMat1_c { - /* 80013360 */ void init(u16, u16, ResTIMG*, int); - /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; - static f32 mGroundY; -}; - -struct e_yh_class {}; - -struct daPy_py_c { - /* 8015F4F0 */ void setLookPos(cXyz*); - - static u8 m_midnaActor[4]; -}; - -struct daE_YH_HIO_c { - /* 807FD4CC */ daE_YH_HIO_c(); - /* 80803D48 */ ~daE_YH_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; - /* 80035644 */ void onActor(int, int); -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 80803CF8 */ csXyz(); - /* 808041F0 */ ~csXyz(); -}; - -struct dPa_control_c { - struct level_c { - /* 8004B8B4 */ void forceOnEventMove(u32); - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjAcch { - /* 808039DC */ ~dBgS_ObjAcch(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80803A4C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JPABaseEmitter { - /* 8027EC60 */ void deleteAllParticle(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 80803474 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -401,9 +183,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_20(); @@ -424,8 +203,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -435,7 +212,6 @@ extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -752,25 +528,30 @@ static dCcD_SrcSph kuki_sph_src = { #pragma pop /* 80804634-80804654 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YH_Method */ -SECTION_DATA static void* l_daE_YH_Method[8] = { - (void*)daE_YH_Create__FP10fopAc_ac_c, - (void*)daE_YH_Delete__FP10e_yh_class, - (void*)daE_YH_Execute__FP10e_yh_class, - (void*)daE_YH_IsDelete__FP10e_yh_class, - (void*)daE_YH_Draw__FP10e_yh_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_YH_Method = { + (process_method_func)daE_YH_Create__FP10fopAc_ac_c, + (process_method_func)daE_YH_Delete__FP10e_yh_class, + (process_method_func)daE_YH_Execute__FP10e_yh_class, + (process_method_func)daE_YH_IsDelete__FP10e_yh_class, + (process_method_func)daE_YH_Draw__FP10e_yh_class, }; /* 80804654-80804684 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_YH */ -SECTION_DATA extern void* g_profile_E_YH[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01CD0000, (void*)&g_fpcLf_Method, - (void*)0x00001274, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00900000, (void*)&l_daE_YH_Method, - (void*)0x10050120, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_YH = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_YH, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_yh_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 144, // mPriority + &l_daE_YH_Method, // sub_method + 0x10050120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80804684-80804690 00029C 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ @@ -1647,7 +1428,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yh/d_a_e_yh/__dt__12J3DFrameCtrlFv.s" } @@ -1711,7 +1493,8 @@ static asm void daE_YH_Create(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yh/d_a_e_yh/__dt__12dBgS_ObjAcchFv.s" } @@ -1721,7 +1504,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yh/d_a_e_yh/__dt__12dBgS_AcchCirFv.s" } @@ -1783,7 +1567,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma pop /* 80803CF8-80803CFC 006918 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -1865,7 +1650,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yh/d_a_e_yh/__dt__5csXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp b/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp index 9e527385d9e..589f3bd1d17 100644 --- a/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp +++ b/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp @@ -8,17 +8,7 @@ #include "d/com/d_com_inf_game.h" #include "dol2asm.h" -// -// Types: -// -struct daTag_FWall_c { - /* 80815958 */ void getPos(u8); -}; - -struct E_YM_n { - static dCcD_SrcSph cc_sph_src; -}; // // Forward References: @@ -500,25 +490,30 @@ SECTION_DATA static void* lit_9421[8] = { }; /* 80815C48-80815C68 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YM_Method */ -SECTION_DATA static void* l_daE_YM_Method[8] = { - (void*)daE_YM_Create__FP8daE_YM_c, - (void*)daE_YM_Delete__FP8daE_YM_c, - (void*)daE_YM_Execute__FP8daE_YM_c, - (void*)daE_YM_IsDelete__FP8daE_YM_c, - (void*)daE_YM_Draw__FP8daE_YM_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_YM_Method = { + (process_method_func)daE_YM_Create__FP8daE_YM_c, + (process_method_func)daE_YM_Delete__FP8daE_YM_c, + (process_method_func)daE_YM_Execute__FP8daE_YM_c, + (process_method_func)daE_YM_IsDelete__FP8daE_YM_c, + (process_method_func)daE_YM_Draw__FP8daE_YM_c, }; /* 80815C68-80815C98 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_YM */ -SECTION_DATA extern void* g_profile_E_YM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01F40000, (void*)&g_fpcLf_Method, - (void*)0x00000AF8, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00C20000, (void*)&l_daE_YM_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_YM = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_YM, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_YM_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 194, // mPriority + &l_daE_YM_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80815C98-80815CA4 000194 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -2476,7 +2471,8 @@ extern "C" asm void getLeftHandPos__9daPy_py_cCFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daTag_FWall_c::getPos(u8 param_0) { +// asm void daTag_FWall_c::getPos(u8 param_0) { +extern "C" asm void getPos__13daTag_FWall_cFUc() { nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/getPos__13daTag_FWall_cFUc.s" } diff --git a/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.cpp b/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.cpp index f3423f5d13f..9bc441922d4 100644 --- a/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.cpp +++ b/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.cpp @@ -1,7 +1,7 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ymb -// +/** + * @file d_a_e_ymb.cpp + * +*/ #include "rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h" #include "dol2asm.h" @@ -591,25 +591,30 @@ SECTION_DATA static void* lit_7867[13] = { }; /* 80821D74-80821D94 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YMB_Method */ -SECTION_DATA static void* l_daE_YMB_Method[8] = { - (void*)daE_YMB_Create__FP9daE_YMB_c, - (void*)daE_YMB_Delete__FP9daE_YMB_c, - (void*)daE_YMB_Execute__FP9daE_YMB_c, - (void*)daE_YMB_IsDelete__FP9daE_YMB_c, - (void*)daE_YMB_Draw__FP9daE_YMB_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_YMB_Method = { + (process_method_func)daE_YMB_Create__FP9daE_YMB_c, + (process_method_func)daE_YMB_Delete__FP9daE_YMB_c, + (process_method_func)daE_YMB_Execute__FP9daE_YMB_c, + (process_method_func)daE_YMB_IsDelete__FP9daE_YMB_c, + (process_method_func)daE_YMB_Draw__FP9daE_YMB_c, }; /* 80821D94-80821DC4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_YMB */ -SECTION_DATA extern void* g_profile_E_YMB[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01F60000, (void*)&g_fpcLf_Method, - (void*)0x00001524, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00C40000, (void*)&l_daE_YMB_Method, - (void*)0x00044000, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_YMB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_YMB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_YMB_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 196, // mPriority + &l_daE_YMB_Method, // sub_method + 0x00044000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80821DC4-80821DD0 0002B4 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ diff --git a/rel/d/a/e/d_a_e_yr/d_a_e_yr.cpp b/rel/d/a/e/d_a_e_yr/d_a_e_yr.cpp index 73593ed8f4a..42cb2f76e98 100644 --- a/rel/d/a/e/d_a_e_yr/d_a_e_yr.cpp +++ b/rel/d/a/e/d_a_e_yr/d_a_e_yr.cpp @@ -1,196 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_yr -// +/** + * @file d_a_e_yr.cpp + * +*/ #include "rel/d/a/e/d_a_e_yr/d_a_e_yr.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct mDoHIO_entry_c { - /* 80828394 */ ~mDoHIO_entry_c(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct fOpAcm_HIO_entry_c { - /* 80828338 */ ~fOpAcm_HIO_entry_c(); -}; - -struct e_yr_class { - /* 80827D64 */ e_yr_class(); -}; - -struct e_yrHIO_c { - /* 808282CC */ ~e_yrHIO_c(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct csXyz { - /* 80267404 */ void operator+(csXyz&); -}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80828070 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 808280E0 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; // // Forward References: @@ -332,8 +149,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_21(); @@ -347,8 +162,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -357,8 +170,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; @@ -1480,25 +1291,30 @@ static asm void daE_Yr_Create(fopAc_ac_c* param_0) { /* ############################################################################################## */ /* 80828CD0-80828CF0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_Yr_Method */ -SECTION_DATA static void* l_daE_Yr_Method[8] = { - (void*)daE_Yr_Create__FP10fopAc_ac_c, - (void*)daE_Yr_Delete__FP10e_yr_class, - (void*)daE_Yr_Execute__FP10e_yr_class, - (void*)daE_Yr_IsDelete__FP10e_yr_class, - (void*)daE_Yr_Draw__FP10e_yr_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_Yr_Method = { + (process_method_func)daE_Yr_Create__FP10fopAc_ac_c, + (process_method_func)daE_Yr_Delete__FP10e_yr_class, + (process_method_func)daE_Yr_Execute__FP10e_yr_class, + (process_method_func)daE_Yr_IsDelete__FP10e_yr_class, + (process_method_func)daE_Yr_Draw__FP10e_yr_class, }; /* 80828CF0-80828D20 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_YR */ -SECTION_DATA extern void* g_profile_E_YR[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01FA0000, (void*)&g_fpcLf_Method, - (void*)0x00000F20, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00BD0000, (void*)&l_daE_Yr_Method, - (void*)0x10040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_YR = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_YR, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_yr_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 189, // mPriority + &l_daE_Yr_Method, // sub_method + 0x10040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80828D20-80828D2C 00036C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1602,7 +1418,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yr/d_a_e_yr/__dt__12dBgS_ObjAcchFv.s" } @@ -1612,7 +1429,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yr/d_a_e_yr/__dt__12dBgS_AcchCirFv.s" } @@ -1715,7 +1533,8 @@ asm e_yrHIO_c::~e_yrHIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() { +// asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() { +extern "C" asm void __dt__18fOpAcm_HIO_entry_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yr/d_a_e_yr/__dt__18fOpAcm_HIO_entry_cFv.s" } @@ -1725,7 +1544,8 @@ asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoHIO_entry_c::~mDoHIO_entry_c() { +// asm mDoHIO_entry_c::~mDoHIO_entry_c() { +extern "C" asm void __dt__14mDoHIO_entry_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_yr/d_a_e_yr/__dt__14mDoHIO_entry_cFv.s" } diff --git a/rel/d/a/e/d_a_e_zh/d_a_e_zh.cpp b/rel/d/a/e/d_a_e_zh/d_a_e_zh.cpp index b9c89dc107c..36c1e71bc83 100644 --- a/rel/d/a/e/d_a_e_zh/d_a_e_zh.cpp +++ b/rel/d/a/e/d_a_e_zh/d_a_e_zh.cpp @@ -1,325 +1,14 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_zh -// +/** + * @file d_a_e_zh.cpp + * +*/ #include "rel/d/a/e/d_a_e_zh/d_a_e_zh.h" #include "dol2asm.h" +#include "d/d_camera.h" -// -// Types: -// -struct request_of_phase_process_class {}; -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80267128 */ void atan2sX_Z() const; - /* 8082934C */ ~cXyz(); - /* 8082F0F4 */ cXyz(); -}; - -struct fopAcM_rc_c { - /* 8001DD1C */ void roofCheck(cXyz const*); - - static f32 mRoofY; -}; - -struct daE_ZH_c { - /* 8082907C */ void draw(); - /* 808293A8 */ void setBck(int, u8, f32, f32); - /* 80829454 */ void setActionMode(int, int); - /* 80829570 */ void startDemoCheck(); - /* 80829658 */ void mBallBGCheck(); - /* 808298BC */ void mGateOpen(); - /* 808299F8 */ void mColorSet(bool, f32, f32); - /* 80829AD8 */ void mReturnLineMove(); - /* 80829E44 */ void mBallBgLineCheck(); - /* 8082A01C */ void mSearchMove(u8); - /* 8082A390 */ void mStartParticleSet(); - /* 8082A4C8 */ void mCutTypeCheck(); - /* 8082A534 */ void damage_check(); - /* 8082A88C */ void executeStartDemo(); - /* 8082ABDC */ void executeWait(); - /* 8082ACA8 */ void executeBallWait(); - /* 8082B284 */ void executeOpenStart(); - /* 8082B820 */ void executeSearchMove(); - /* 8082BA18 */ void executeBgHitSHMove(); - /* 8082BE20 */ void executeCatchMove(); - /* 8082C670 */ void executeCatchFlyMove(); - /* 8082CD34 */ void executeReturnDemo(); - /* 8082D154 */ void executeFlyDelete(); - /* 8082D2F0 */ void executeDamage(); - /* 8082D97C */ void executeDeadStop(); - /* 8082D9B0 */ void executeEntryCheck(); - /* 8082DB64 */ void tagAction(); - /* 8082DB84 */ void action(); - /* 8082DE18 */ void mtx_set(); - /* 8082DF44 */ void cc_set(); - /* 8082E2FC */ void execute(); - /* 8082E3E8 */ void _delete(); - /* 8082E4E4 */ void CreateHeap(); - /* 8082E730 */ void create(); - /* 8082ECEC */ daE_ZH_c(); -}; - -struct daE_ZH_HIO_c { - /* 8082902C */ daE_ZH_HIO_c(); - /* 8082F160 */ ~daE_ZH_HIO_c(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_c { - /* 800349A4 */ void offEventBit(u16); -}; - -struct dSv_danBit_c { - /* 80034B98 */ void onSwitch(int); -}; - -struct dKy_tevstr_c {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); - /* 8004D6A4 */ void setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, - csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8, - cXyz const*); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 8082EFB8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 800845B0 */ void getHitSeID(u8, int); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AE0 */ void Set(cXyz, cXyz, f32, s16); - /* 80180AA8 */ void Set(cXyz, cXyz); - /* 80180C18 */ void Reset(cXyz, cXyz); - /* 80181170 */ void StartBlure(int, fopAc_ac_c*, f32, f32); - /* 801811B8 */ void ResetBlure(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8082F014 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8082F084 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); - /* 80077114 */ void SetGroundUpY(f32); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8082EF28 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 8082EEE0 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 8082EF70 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 8082F118 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); -}; - -struct _GXTexObj {}; - -struct Z2SeqMgr { - /* 802AFF8C */ void changeBgmStatus(s32); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8082E6C8 */ ~J3DFrameCtrl(); -}; // // Forward References: @@ -501,11 +190,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_23(); extern "C" void _savegpr_24(); @@ -521,10 +205,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -535,10 +215,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" f32 mRoofY__11fopAcM_rc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -698,25 +375,30 @@ SECTION_DATA static void* lit_5782[12] = { }; /* 8082F60C-8082F62C -00001 0020+00 1/0 0/0 0/0 .data l_daE_ZH_Method */ -SECTION_DATA static void* l_daE_ZH_Method[8] = { - (void*)daE_ZH_Create__FP8daE_ZH_c, - (void*)daE_ZH_Delete__FP8daE_ZH_c, - (void*)daE_ZH_Execute__FP8daE_ZH_c, - (void*)daE_ZH_IsDelete__FP8daE_ZH_c, - (void*)daE_ZH_Draw__FP8daE_ZH_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_ZH_Method = { + (process_method_func)daE_ZH_Create__FP8daE_ZH_c, + (process_method_func)daE_ZH_Delete__FP8daE_ZH_c, + (process_method_func)daE_ZH_Execute__FP8daE_ZH_c, + (process_method_func)daE_ZH_IsDelete__FP8daE_ZH_c, + (process_method_func)daE_ZH_Draw__FP8daE_ZH_c, }; /* 8082F62C-8082F65C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_ZH */ -SECTION_DATA extern void* g_profile_E_ZH[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01E20000, (void*)&g_fpcLf_Method, - (void*)0x00000E08, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00AD0000, (void*)&l_daE_ZH_Method, - (void*)0x00040100, (void*)0x030E0000, +extern actor_process_profile_definition g_profile_E_ZH = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_ZH, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_ZH_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 173, // mPriority + &l_daE_ZH_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENV_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8082F65C-8082F668 00023C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -930,7 +612,8 @@ asm void daE_ZH_c::draw() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zh/d_a_e_zh/__dt__4cXyzFv.s" } @@ -2051,7 +1734,8 @@ asm void daE_ZH_c::CreateHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zh/d_a_e_zh/__dt__12J3DFrameCtrlFv.s" } @@ -2133,7 +1817,8 @@ asm daE_ZH_c::daE_ZH_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zh/d_a_e_zh/__dt__8cM3dGCylFv.s" } @@ -2143,7 +1828,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zh/d_a_e_zh/__dt__8cM3dGSphFv.s" } @@ -2153,7 +1839,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zh/d_a_e_zh/__dt__8cM3dGAabFv.s" } @@ -2163,7 +1850,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zh/d_a_e_zh/__dt__10dCcD_GSttsFv.s" } @@ -2173,7 +1861,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zh/d_a_e_zh/__dt__12dBgS_ObjAcchFv.s" } @@ -2183,14 +1872,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zh/d_a_e_zh/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 8082F0F4-8082F0F8 0061B4 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2208,7 +1899,8 @@ static asm void daE_ZH_Create(daE_ZH_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zh/d_a_e_zh/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/e/d_a_e_zm/d_a_e_zm.cpp b/rel/d/a/e/d_a_e_zm/d_a_e_zm.cpp index 2513b3399f9..a8eebef0c9b 100644 --- a/rel/d/a/e/d_a_e_zm/d_a_e_zm.cpp +++ b/rel/d/a/e/d_a_e_zm/d_a_e_zm.cpp @@ -1,250 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_zm -// +/** + * @file d_a_e_zm.cpp + * +*/ #include "rel/d/a/e/d_a_e_zm/d_a_e_zm.h" #include "dol2asm.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_ZM_c { - /* 8082F9A0 */ void draw(); - /* 8082FBD4 */ void setBck(int, u8, f32, f32); - /* 8082FC80 */ void setActionMode(int, int); - /* 8082FC8C */ void damage_check(); - /* 808301E0 */ void mCutTypeCheck(); - /* 8083033C */ void executeSearchPoint(); - /* 80830398 */ void executeWait(); - /* 808309DC */ void executeMove(); - /* 80830AB8 */ void executeAttack(); - /* 80830E28 */ void executeDamage(); - /* 808310C4 */ void executeDead(); - /* 80831474 */ void executeBullet(); - /* 80831930 */ void action(); - /* 80831B08 */ void mtx_set(); - /* 80831B9C */ void cc_set(); - /* 80831D64 */ void execute(); - /* 80831E9C */ void _delete(); - /* 80831F4C */ void CreateHeap(); - /* 80832064 */ void create(); -}; - -struct daE_ZM_HIO_c { - /* 8082F94C */ daE_ZM_HIO_c(); - /* 80832800 */ ~daE_ZM_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80267128 */ void atan2sX_Z() const; - /* 80267150 */ void atan2sY_XZ() const; - /* 80832794 */ cXyz(); - /* 80832CA8 */ ~cXyz(); -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80832658 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 808326B4 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80832724 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); - /* 80077114 */ void SetGroundUpY(f32); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80832580 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 808325C8 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 80832610 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_ObjCo { - /* 8026491C */ void SetVsGrp(u32); -}; - -struct cCcD_GStts { - /* 808327B8 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; // // Forward References: @@ -382,11 +144,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -400,8 +157,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -412,10 +167,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -604,25 +357,30 @@ SECTION_DATA static void* lit_4712[7] = { }; /* 80832EB0-80832ED0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_ZM_Method */ -SECTION_DATA static void* l_daE_ZM_Method[8] = { - (void*)daE_ZM_Create__FP8daE_ZM_c, - (void*)daE_ZM_Delete__FP8daE_ZM_c, - (void*)daE_ZM_Execute__FP8daE_ZM_c, - (void*)daE_ZM_IsDelete__FP8daE_ZM_c, - (void*)daE_ZM_Draw__FP8daE_ZM_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_ZM_Method = { + (process_method_func)daE_ZM_Create__FP8daE_ZM_c, + (process_method_func)daE_ZM_Delete__FP8daE_ZM_c, + (process_method_func)daE_ZM_Execute__FP8daE_ZM_c, + (process_method_func)daE_ZM_IsDelete__FP8daE_ZM_c, + (process_method_func)daE_ZM_Draw__FP8daE_ZM_c, }; /* 80832ED0-80832F00 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_ZM */ -SECTION_DATA extern void* g_profile_E_ZM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01E30000, (void*)&g_fpcLf_Method, - (void*)0x00000C3C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00AE0000, (void*)&l_daE_ZM_Method, - (void*)0x00040120, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_ZM = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_ZM, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_ZM_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 174, // mPriority + &l_daE_ZM_Method, // sub_method + 0x00040120, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80832F00-80832F0C 00013C 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -1196,7 +954,8 @@ asm void daE_ZM_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zm/d_a_e_zm/__dt__8cM3dGSphFv.s" } @@ -1206,7 +965,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zm/d_a_e_zm/__dt__8cM3dGCylFv.s" } @@ -1216,7 +976,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zm/d_a_e_zm/__dt__8cM3dGAabFv.s" } @@ -1226,7 +987,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zm/d_a_e_zm/__dt__10dCcD_GSttsFv.s" } @@ -1236,7 +998,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zm/d_a_e_zm/__dt__12dBgS_ObjAcchFv.s" } @@ -1246,14 +1009,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zm/d_a_e_zm/__dt__12dBgS_AcchCirFv.s" } #pragma pop /* 80832794-80832798 002F34 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1271,7 +1036,8 @@ static asm void daE_ZM_Create(daE_ZM_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zm/d_a_e_zm/__dt__10cCcD_GSttsFv.s" } @@ -1338,7 +1104,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zm/d_a_e_zm/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_zs/d_a_e_zs.cpp b/rel/d/a/e/d_a_e_zs/d_a_e_zs.cpp index 3f040f12552..4b85995f38c 100644 --- a/rel/d/a/e/d_a_e_zs/d_a_e_zs.cpp +++ b/rel/d/a/e/d_a_e_zs/d_a_e_zs.cpp @@ -1,205 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_zs -// +/** + * @file d_a_e_zs.cpp + * +*/ #include "rel/d/a/e/d_a_e_zs/d_a_e_zs.h" #include "dol2asm.h" +#include "rel/d/a/b/d_a_b_ds/d_a_b_ds.h" -// -// Types: -// -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct daE_ZS_c { - /* 808330DC */ void draw(); - /* 808331E4 */ void setBck(int, u8, f32, f32); - /* 80833290 */ void setActionMode(int, int); - /* 8083329C */ void damage_check(); - /* 80833698 */ void mBossHandCheck(); - /* 80833964 */ void executeAppear(); - /* 80833D30 */ void executeWait(); - /* 80833F1C */ void executeDamage(); - /* 80834108 */ void executeDrive(); - /* 808342C8 */ void action(); - /* 80834478 */ void mtx_set(); - /* 80834518 */ void cc_set(); - /* 80834650 */ void execute(); - /* 808346E4 */ void _delete(); - /* 80834778 */ void CreateHeap(); - /* 80834884 */ void create(); -}; - -struct daE_ZS_HIO_c { - /* 808330AC */ daE_ZS_HIO_c(); - /* 80834DDC */ ~daE_ZS_HIO_c(); -}; - -struct daB_DS_c { - /* 80835284 */ void getHandPosR(); - /* 808352A0 */ void getHandPosL(); -}; - -struct dKy_tevstr_c {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80834C38 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80834C94 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80834D04 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80834BA8 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 80834BF0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 80834D94 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); -}; - -struct J3DModel {}; // // Forward References: @@ -311,10 +119,6 @@ extern "C" void __ct__15Z2CreatureEnemyFv(); extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_19(); extern "C" void _savegpr_26(); extern "C" void _savegpr_28(); @@ -323,8 +127,6 @@ extern "C" void _restgpr_19(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_CylAttr[25]; @@ -333,8 +135,6 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -494,25 +294,30 @@ SECTION_DATA static u8 w_eff_id[8] = { }; /* 808353DC-808353FC -00001 0020+00 1/0 0/0 0/0 .data l_daE_ZS_Method */ -SECTION_DATA static void* l_daE_ZS_Method[8] = { - (void*)daE_ZS_Create__FP8daE_ZS_c, - (void*)daE_ZS_Delete__FP8daE_ZS_c, - (void*)daE_ZS_Execute__FP8daE_ZS_c, - (void*)daE_ZS_IsDelete__FP8daE_ZS_c, - (void*)daE_ZS_Draw__FP8daE_ZS_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_ZS_Method = { + (process_method_func)daE_ZS_Create__FP8daE_ZS_c, + (process_method_func)daE_ZS_Delete__FP8daE_ZS_c, + (process_method_func)daE_ZS_Execute__FP8daE_ZS_c, + (process_method_func)daE_ZS_IsDelete__FP8daE_ZS_c, + (process_method_func)daE_ZS_Draw__FP8daE_ZS_c, }; /* 808353FC-8083542C -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_ZS */ -SECTION_DATA extern void* g_profile_E_ZS[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01DF0000, (void*)&g_fpcLf_Method, - (void*)0x00000A3C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00AA0000, (void*)&l_daE_ZS_Method, - (void*)0x00040100, (void*)0x020E0000, +extern actor_process_profile_definition g_profile_E_ZS = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_ZS, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_ZS_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 170, // mPriority + &l_daE_ZS_Method, // sub_method + 0x00040100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 8083542C-80835438 0000E0 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -936,7 +741,8 @@ asm void daE_ZS_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zs/d_a_e_zs/__dt__8cM3dGCylFv.s" } @@ -946,7 +752,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zs/d_a_e_zs/__dt__8cM3dGAabFv.s" } @@ -956,7 +763,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zs/d_a_e_zs/__dt__10dCcD_GSttsFv.s" } @@ -966,7 +774,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zs/d_a_e_zs/__dt__12dBgS_ObjAcchFv.s" } @@ -976,7 +785,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zs/d_a_e_zs/__dt__12dBgS_AcchCirFv.s" } @@ -996,7 +806,8 @@ static asm void daE_ZS_Create(daE_ZS_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zs/d_a_e_zs/__dt__10cCcD_GSttsFv.s" } @@ -1063,7 +874,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daB_DS_c::getHandPosR() { +// asm void daB_DS_c::getHandPosR() { +extern "C" asm void getHandPosR__8daB_DS_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zs/d_a_e_zs/getHandPosR__8daB_DS_cFv.s" } @@ -1073,7 +885,8 @@ asm void daB_DS_c::getHandPosR() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daB_DS_c::getHandPosL() { +// asm void daB_DS_c::getHandPosL() { +extern "C" asm void getHandPosL__8daB_DS_cFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_zs/d_a_e_zs/getHandPosL__8daB_DS_cFv.s" } diff --git a/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.cpp b/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.cpp index 59f406bda79..732384e6a08 100644 --- a/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.cpp +++ b/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.cpp @@ -1,181 +1,13 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_smallkey -// +/** + * @file d_a_obj_smallkey.cpp + * +*/ #include "rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h" #include "d/cc/d_cc_d.h" #include "dol2asm.h" +#include "JSystem/JPArticle/JPAEmitter.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daKey_c { - /* 80CD9F2C */ void initBaseMtx(); - /* 80CD9F68 */ void setBaseMtx(); - /* 80CD9FDC */ void Create(); - /* 80CDA15C */ bool __CreateHeap(); - /* 80CDA164 */ void create(); - /* 80CDA680 */ void bg_check(); - /* 80CDA7E8 */ void actionInitInit(); - /* 80CDA81C */ void actionInit(); - /* 80CDA8C8 */ void actionParentWaitInit(); - /* 80CDA8FC */ void actionParentWait(); - /* 80CDA9AC */ void actionWaitInit(); - /* 80CDAA28 */ void actionWait(); - /* 80CDAB74 */ void initActionOrderGetDemo(); - /* 80CDAC18 */ void actionOrderGetDemo(); - /* 80CDAC94 */ void actionGetDemo(); - /* 80CDAD28 */ void actionInitSwOnWait(); - /* 80CDADD4 */ void actionSwOnWait(); - /* 80CDAE54 */ void actionInitBoomerangCarry(); - /* 80CDAF40 */ void actionBoomerangCarry(); - /* 80CDAFB4 */ void effectSet(); - /* 80CDB0D8 */ void effectStop(); - /* 80CDB128 */ void effectCtrl(); - /* 80CDB2E0 */ void seStartTwinkle_private(u32); - /* 80CDB36C */ void actionInitE_GB(); - /* 80CDB3D8 */ void actionE_GB(); - /* 80CDB404 */ void execute(); - /* 80CDB5D4 */ void draw(); - /* 80CDB628 */ void _delete(); -}; - -struct daItemBase_c { - /* 80037A64 */ void hide(); - /* 80037A74 */ void show(); - /* 80037ACC */ void chkDraw(); - /* 80144724 */ void DeleteBase(char const*); - /* 8014474C */ bool clothCreate(); - /* 80144B94 */ void DrawBase(); - /* 80144C30 */ void RotateYBase(); - /* 80144C7C */ void setListStart(); - /* 80144CC4 */ void settingBeforeDraw(); - /* 80144D18 */ void setTevStr(); - /* 80144D70 */ void setShadow(); - /* 80144EDC */ void animEntry(); - /* 80145144 */ void chkFlag(int); - /* 80145164 */ void getTevFrm(); - /* 80145180 */ void getBtpFrm(); - /* 8014519C */ void getShadowSize(); - /* 801451B4 */ void getCollisionH(); - /* 801451D0 */ void getCollisionR(); -}; - -struct dTres_c { - /* 8009C1F0 */ void offStatus(u8, int, int); - /* 8009C3CC */ void setPosition(int, u8, Vec const*, int); -}; - -struct dSv_memBit_c { - /* 800347A0 */ void onTbox(int); - /* 800347C4 */ void offTbox(int); - /* 800347E8 */ void isTbox(int) const; -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dPa_levelEcallBack { - /* 80CDA488 */ void cleanup(); - /* 80CDB73C */ ~dPa_levelEcallBack(); -}; - -struct dPa_followEcallBack { - /* 80049580 */ dPa_followEcallBack(u8, u8); - /* 80CDA404 */ ~dPa_followEcallBack(); - /* 80CDA48C */ void __defctor(); -}; - -struct dKy_tevstr_c {}; - -struct _GXColor {}; - -struct dPa_control_c { - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dItem_data { - static void* field_item_res[1020]; - static u8 item_info[1020 + 4 /* padding */]; -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dEvent_manager_c { - /* 80047ADC */ void endCheckOld(char const*); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80CDA610 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80CDA5A0 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS { - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct JPABaseEmitter {}; - -struct JPAEmitterCallBack { - /* 8027E6A4 */ ~JPAEmitterCallBack(); - /* 80CDB7B0 */ void execute(JPABaseEmitter*); - /* 80CDB7B4 */ void executeAfter(JPABaseEmitter*); - /* 80CDB7B8 */ void draw(JPABaseEmitter*); - /* 80CDB7BC */ void drawAfter(JPABaseEmitter*); -}; // // Forward References: @@ -316,7 +148,6 @@ extern "C" void __dt__18JPAEmitterCallBackFv(); extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); extern "C" void __cvt_fp2unsigned(); @@ -324,8 +155,6 @@ extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__19dPa_followEcallBack[10]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -537,25 +366,30 @@ SECTION_DATA static u8 l_demoFunc[96] = { #pragma pop /* 80CDB988-80CDB9A8 -00001 0020+00 1/0 0/0 0/0 .data l_daKey_Method */ -SECTION_DATA static void* l_daKey_Method[8] = { - (void*)daKey_Create__FP10fopAc_ac_c, - (void*)daKey_Delete__FP7daKey_c, - (void*)daKey_Execute__FP7daKey_c, - (void*)NULL, - (void*)daKey_Draw__FP7daKey_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daKey_Method = { + (process_method_func)daKey_Create__FP10fopAc_ac_c, + (process_method_func)daKey_Delete__FP7daKey_c, + (process_method_func)daKey_Execute__FP7daKey_c, + 0, + (process_method_func)daKey_Draw__FP7daKey_c, }; /* 80CDB9A8-80CDB9D8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_SmallKey */ -SECTION_DATA extern void* g_profile_Obj_SmallKey[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02190000, (void*)&g_fpcLf_Method, - (void*)0x00000988, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00ED0000, (void*)&l_daKey_Method, - (void*)0x00040100, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Obj_SmallKey = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_Obj_SmallKey, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daKey_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 237, // mPriority + &l_daKey_Method, // sub_method + 0x00040100, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80CDB9D8-80CDB9E4 000130 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ @@ -775,14 +609,16 @@ asm void daKey_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_followEcallBack::~dPa_followEcallBack() { +// asm dPa_followEcallBack::~dPa_followEcallBack() { +extern "C" asm void __dt__19dPa_followEcallBackFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey/__dt__19dPa_followEcallBackFv.s" } #pragma pop /* 80CDA488-80CDA48C 000D48 0004+00 1/0 0/0 0/0 .text cleanup__18dPa_levelEcallBackFv */ -void dPa_levelEcallBack::cleanup() { +// void dPa_levelEcallBack::cleanup() { +extern "C" asm void cleanup__18dPa_levelEcallBackFv() { /* empty function */ } @@ -791,7 +627,8 @@ void dPa_levelEcallBack::cleanup() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dPa_followEcallBack::__defctor() { +// asm void dPa_followEcallBack::__defctor() { +extern "C" asm void __defctor__19dPa_followEcallBackFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey/__defctor__19dPa_followEcallBackFv.s" } @@ -834,7 +671,8 @@ extern "C" asm void __dt__10dCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey/__dt__12dBgS_AcchCirFv.s" } @@ -844,7 +682,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey/__dt__12dBgS_ObjAcchFv.s" } @@ -1191,7 +1030,8 @@ extern "C" asm void __dt__10cCcD_GSttsFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_levelEcallBack::~dPa_levelEcallBack() { +// asm dPa_levelEcallBack::~dPa_levelEcallBack() { +extern "C" asm void __dt__18dPa_levelEcallBackFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey/__dt__18dPa_levelEcallBackFv.s" } diff --git a/tools/setup_actor.py b/tools/setup_actor.py new file mode 100644 index 00000000000..cae8fbf990b --- /dev/null +++ b/tools/setup_actor.py @@ -0,0 +1,503 @@ +import os, sys, click +from setup_profile import * + +# dictionary of known weakly linked functions to be replaced to avoid symbol oollision +weak_funcs = { + "asm J3DFrameCtrl::~J3DFrameCtrl()": "__dt__12J3DFrameCtrlFv", + "asm dBgS_ObjAcch::~dBgS_ObjAcch()": "__dt__12dBgS_ObjAcchFv", + "asm dBgS_AcchCir::~dBgS_AcchCir()": "__dt__12dBgS_AcchCirFv", + "asm cM3dGSph::~cM3dGSph()": "__dt__8cM3dGSphFv", + "asm cM3dGAab::~cM3dGAab()": "__dt__8cM3dGAabFv", + "asm dBgS_ObjGndChk::~dBgS_ObjGndChk()": "__dt__14dBgS_ObjGndChkFv", + "asm cXyz::~cXyz()": "__dt__4cXyzFv", + "csXyz::csXyz()": "__ct__5csXyzFv", + "asm csXyz::~csXyz()": "__dt__5csXyzFv", + "asm dCcD_GStts::~dCcD_GStts()": "__dt__10dCcD_GSttsFv", + "asm cCcD_GStts::~cCcD_GStts()": "__dt__10cCcD_GSttsFv", + "asm cM3dGPla::~cM3dGPla()": "__dt__8cM3dGPlaFv", + "asm dCcD_Sph::~dCcD_Sph()": "__dt__8dCcD_SphFv", + "asm dCcD_Sph::dCcD_Sph()": "__ct__8dCcD_SphFv", + "asm dKy_tevstr_c::~dKy_tevstr_c()": "__dt__12dKy_tevstr_cFv", + "asm dKy_tevstr_c::dKy_tevstr_c()": "__ct__12dKy_tevstr_cFv", + "asm J3DLightObj::J3DLightObj()": "__ct__11J3DLightObjFv", + "asm void daPy_py_c::changeDemoPos0(cXyz const* param_0)": "changeDemoPos0__9daPy_py_cFPC4cXyz", + "asm void daPy_py_c::changeDemoMode(u32 param_0, int param_1, int param_2, s16 param_3)": "changeDemoMode__9daPy_py_cFUliis", + "asm void daPy_py_c::changeOriginalDemo()": "changeOriginalDemo__9daPy_py_cFv", + "asm void obj_ystone_class::setCurrentPos(cXyz param_0)": "setCurrentPos__16obj_ystone_classF4cXyz", + "asm dPa_followEcallBack::~dPa_followEcallBack()": "__dt__19dPa_followEcallBackFv", + "void dPa_levelEcallBack::cleanup()": "cleanup__18dPa_levelEcallBackFv", + "asm void dPa_followEcallBack::__defctor()": "__defctor__19dPa_followEcallBackFv", + "asm dPa_levelEcallBack::~dPa_levelEcallBack()": "__dt__18dPa_levelEcallBackFv", + "asm void daKey_c::setPos(cXyz param_0)": "setPos__7daKey_cF4cXyz", + "asm void daPy_py_c::checkNowWolf()": "checkNowWolf__9daPy_py_cFv", + "asm cM3dGCyl::~cM3dGCyl()": "__dt__8cM3dGCylFv", + "cXyz::cXyz()": "__ct__4cXyzFv", + "asm fOpAcm_HIO_entry_c::~fOpAcm_HIO_entry_c()": "__dt__18fOpAcm_HIO_entry_cFv", + "asm mDoHIO_entry_c::~mDoHIO_entry_c()": "__dt__14mDoHIO_entry_cFv", + "static asm void fopAcM_isSwitch(fopAc_ac_c const* param_0, int param_1)": "fopAcM_isSwitch__FPC10fopAc_ac_ci", + "static asm void fopAcM_GetID(void const* param_0)": "fopAcM_GetID__FPCv", + "void fopAcM_SetGroup(fopAc_ac_c* param_0, u8 param_1)": "fopAcM_SetGroup__FP10fopAc_ac_cUc", + "asm void daPy_py_c::cancelOriginalDemo()": "cancelOriginalDemo__9daPy_py_cFv", + "asm void mDoExt_morf_c::getFrame()": "getFrame__13mDoExt_morf_cFv", + "asm void mDoExt_morf_c::isStop()": "isStop__13mDoExt_morf_cFv", + "static asm void cM_scos(s16 param_0)": "cM_scos__Fs", + "static asm void cM_ssin(s16 param_0)": "cM_ssin__Fs", + "asm void dCamera_c::Fovy()": "Fovy__9dCamera_cFv", + "static asm void fopAcM_searchPlayerAngleY(fopAc_ac_c const* param_0)": "fopAcM_searchPlayerAngleY__FPC10fopAc_ac_c", + "asm void dEvt_info_c::checkCommandDemoAccrpt()": "checkCommandDemoAccrpt__11dEvt_info_cFv", + "static asm void dComIfGp_getPlayer(int param_0) ": "dComIfGp_getPlayer__Fi", + "static asm void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1)": "fopAcM_onSwitch__FPC10fopAc_ac_ci", + "static asm void fopAcM_offSwitch(fopAc_ac_c const* param_0, int param_1)": "fopAcM_offSwitch__FPC10fopAc_ac_ci", + "void JPAEmitterCallBack::execute(JPABaseEmitter* param_0)": "execute__18JPAEmitterCallBackFP14JPABaseEmitter", + "void JPAEmitterCallBack::executeAfter(JPABaseEmitter* param_0)": "executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter", + "void JPAEmitterCallBack::draw(JPABaseEmitter* param_0)": "draw__18JPAEmitterCallBackFP14JPABaseEmitter", + "void JPAEmitterCallBack::drawAfter(JPABaseEmitter* param_0)": "drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter", + "asm void dEvt_control_c::checkSkipEdge()": "checkSkipEdge__14dEvt_control_cFv", + "void daPy_py_c::changeDemoMoveAngle(s16 param_0)": "changeDemoMoveAngle__9daPy_py_cFs", + "asm void cXyz::zero()": "zero__4cXyzFv", + "asm void cXyz::abs() const": "abs__4cXyzCFv", + "asm void mDoExt_morf_c::setFrame(f32 param_0)": "setFrame__13mDoExt_morf_cFf", + "asm void cXyz::set(Vec const& param_0)": "set__4cXyzFRC3Vec", + "asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2)": "set__4cXyzFfff", + "asm void cXyz::operator=(cXyz const& param_0)": "__as__4cXyzFRC4cXyz", + "asm cXyz::cXyz(cXyz const& param_0)": "__ct__4cXyzFRC4cXyz", + "asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2)": "__ct__4cXyzFfff", + "asm void daPy_py_c::getHeadTopPos() const": "getHeadTopPos__9daPy_py_cCFv", + "asm void dCcD_Cyl::operator=(dCcD_Cyl const& param_0)": "__as__8dCcD_CylFRC8dCcD_Cyl", + "asm void dCcD_GObjInf::operator=(dCcD_GObjInf const& param_0)": "__as__12dCcD_GObjInfFRC12dCcD_GObjInf", + "asm dCcD_Cyl::~dCcD_Cyl()": "__dt__8dCcD_CylFv", + "asm dCcD_Cyl::dCcD_Cyl()": "__ct__8dCcD_CylFv", + "asm dBgS_ObjAcch::dBgS_ObjAcch()": "__ct__12dBgS_ObjAcchFv", + "asm void daTag_FWall_c::getPos(u8 param_0)": "getPos__13daTag_FWall_cFUc", + "asm void daB_DS_c::getHandPosR()": "getHandPosR__8daB_DS_cFv", + "asm void daB_DS_c::getHandPosL()": "getHandPosL__8daB_DS_cFv" +} + +# list of known external references to be replaced to avoid symbol collision +external_refs = [ + "extern \"C\" void PSMTXCopy();", + "extern \"C\" void PSMTXMultVec();", + "extern \"C\" extern void* g_fopAc_Method[8];", + "extern \"C\" extern void* g_fpcLf_Method[5 + 1 /* padding */];", + "extern \"C\" extern u8 g_env_light[4880];" + "extern \"C\" void PSMTXTrans();", + "extern \"C\" void PSVECSquareMag();", + "extern \"C\" void PSVECSquareDistance();", + "extern \"C\" void abs();", + "extern \"C\" extern u8 j3dSys[284];", + "extern \"C\" void PSMTXTrans();", + "extern \"C\" extern u8 g_env_light[4880];", + "extern \"C\" extern u32 __float_nan;", + "extern \"C\" void PSVECAdd();", + "extern \"C\" void strcmp();", + "extern \"C\" void PSVECSubtract();", + "extern \"C\" extern u8 const j3dDefaultLightInfo[52];", + "extern \"C\" extern void* calc_mtx[1 + 1 /* padding */];", + "extern \"C\" void PSVECScale();", + "extern \"C\" extern u8 g_dComIfG_gameInfo[122384];", + "extern \"C\" void PSMTXScale();", + "extern \"C\" void PSMTXInverse();", + "extern \"C\" extern u8 mStayNo__20dStage_roomControl_c[4];" +] + +# list of known types to be removed +types = [ + "struct request_of_phase_process_class", + "struct mDoMtx_stack_c", + "struct J3DAnmTevRegKey", + "struct J3DMaterialTable", + "struct mDoExt_brkAnm", + "struct mDoExt_baseAnm", + "struct mDoExt_McaMorfCallBack2_c", + "struct mDoExt_McaMorfCallBack1_c", + "struct J3DAnmTransform", + "struct J3DModelData", + "struct Z2Creature", + "struct mDoExt_McaMorfSO", + "struct fopEn_enemy_c", + "struct fopAc_ac_c", + "struct daPy_py_c", + "struct dVibration_c", + "struct dSv_info_c", + "struct dKy_tevstr_c", + "struct dScnKy_env_light_c", + "struct dRes_info_c", + "struct dRes_control_c", + "struct dPa_levelEcallBack", + "struct csXyz", + "struct _GXColor", + "struct dPa_control_c", + "struct dDlst_shadowControl_c", + "struct dBgS_PolyPassChk", + "struct dBgS_ObjAcch", + "struct dBgS_LinChk", + "struct dBgS_AcchCir", + "struct dBgS", + "struct dBgS_Acch", + "struct cM3dGCir", + "struct cCcS", + "struct cBgS_PolyInfo", + "struct cBgS_LinChk", + "struct cBgS", + "struct _GXTexObj", + "struct Z2CreatureEnemy", + "struct JMath", + "struct J3DModel", + "struct J3DFrameCtrl", + "struct Vec", + "struct JGeometry", + "struct J3DSys", + "struct dCcU_AtInfo", + "struct dCcD_Stts", + "struct dCcD_SrcSph", + "struct dCcD_Sph", + "struct dCcD_GStts", + "struct dCcD_GObjInf", + "struct dAttention_c", + "struct cM3dGSph", + "struct cM3dGAab", + "struct cCcD_Obj", + "struct TVec3__template0", + "struct J3DJoint", + "struct cXyz", + "struct fopAcM_gc_c", + "struct dSv_memBit_c", + "struct mDoExt_McaMorf", + "struct Z2SoundObjSimple", + "struct JAISoundID", + "struct dComIfG_play_c", + "struct Z2SoundObjBeeGroup", + "struct Z2SoundObjBase", + "struct mDoExt_3DlineMat_c", + "struct mDoExt_3DlineMatSortPacket", + "struct ResTIMG", + "struct JPABaseEmitter", + "struct mDoExt_3DlineMat1_c", + "struct dEvt_control_c", + "struct dCamera_c", + "struct J3DAnmTextureSRTKey", + "struct mDoExt_btkAnm", + "struct cM3dGPla", + "struct cBgD_Vtx_t", + "struct cCcD_GStts", + "struct dJntColData_c", + "struct dJntCol_c", + "struct dBomb_c", + "struct Z2SeqMgr", + "struct Z2SeMgr", + "struct Z2AudioMgr", + "struct mDoGph_gInf_c", + "struct camera_class", + "struct cCcD_Stts", + "struct cSAngle", + "struct mDoExt_invisibleModel", + "struct dCcD_GAtTgCoCommonBase", + "struct daObjHHASHI_c", + "struct dSv_event_flag_c", + "struct dSv_event_c", + "struct LIGHT_INFLUENCE", + "struct J3DLightObj", + "struct J3DLightInfo", + "struct obj_ystone_class", + "struct daItemBase_c", + "struct dTres_c", + "struct dPa_followEcallBack", + "struct dItem_data", + "struct dEvent_manager_c", + "struct JPAEmitterCallBack", + "struct daKey_c", + "struct mDoCPd_c", + "struct dMsgObject_c", + "struct dMsgFlow_c", + "struct dCcD_SrcCyl", + "struct dCcD_Cyl", + "struct cM3dGCyl", + "struct dBgW_Base", + "struct dBgW", + "struct cBgD_t", + "struct cBgW", + "struct daObjCarry_c", + "struct dSv_danBit_c", + "struct J3DAnmTexPattern", + "struct mDoExt_btpAnm", + "struct fOpAcm_HIO_entry_c", + "struct mDoHIO_entry_c", + "struct dAttLook_c", + "struct dPath", + "struct mDoExt_morf_c", + "struct dPa_hermiteEcallBack_c", + "struct dEvt_info_c", + "struct dAttList_c", + "struct dSv_event_tmp_flag_c", + "struct daObjH_Saku_c", + "struct Z2StatusMgr", + "struct mDoExt_3DlineMat0_c", + "struct dSv_player_get_item_c", + "struct dAttCatch_c", + "struct fopAcM_wt_c", + "struct daObjCRVSTEEL_c", + "struct daObjCRVGATE_c", + "struct daTag_FWall_c", + "struct fopAcM_rc_c", + "struct daB_DS_c" +] + +class ActorSetupManager: + def __init__(self,filename) -> None: + self.filename = filename + self.actor_name = None + self.actor_class_type = None + self.include_headers = [] + with open(filename, "r") as f: + self.lines = f.readlines() + + def remove_types(self): + new_lines = [] + removed_types = 0 + skip_until_closing_bracket = False + + skip_next_line = False + for line in self.lines: + if any(type in line for type in types): + if "dCamera_c" in line: + self.include_headers.append("d/d_camera.h") + if "daKey_c" in line: + self.include_headers.append("rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h") + if "obj_ystone_class" in line: + self.include_headers.append("rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h") + if "daB_DS_c" in line: + self.include_headers.append("rel/d/a/b/d_a_b_ds/d_a_b_ds.h") + # if "JPAEmitterCallBack" in line: + # self.include_headers.append("JSystem/JPArticle/JPAEmitter.h") + if "daObjCarry_c" in line: + self.include_headers.append("rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h") + removed_types += 1 + skip_until_closing_bracket = True + + if skip_until_closing_bracket: + if line.startswith("};") or "{};" in line: + skip_until_closing_bracket = False + skip_next_line = True + + continue + + if skip_next_line: + skip_next_line = False + continue + else: + new_lines.append(line) + + print(f"Removed {removed_types} type definitions." if removed_types > 0 else "No type definitions to remove!") + self.lines = new_lines + + def remove_external_refs(self): + new_lines = [] + removed_external_refs = 0 + + for line in self.lines: + if any(ref in line for ref in external_refs): + # leave calc_mtx in unless d_camera was included + if "extern \"C\" extern void* calc_mtx[1 + 1 /* padding */];" in line and not any("d/d_camera.h" in header for header in self.include_headers): + new_lines.append(line) + continue + # leave gameInfo in unless d_a_obj_carry was included + if "extern \"C\" extern u8 g_dComIfG_gameInfo[122384];" in line and not any("d/a/obj/d_a_obj_carry/d_a_obj_carry.h" in header for header in self.include_headers): + new_lines.append(line) + continue + removed_external_refs += 1 + else: + new_lines.append(line) + + print(f"Removed {removed_external_refs} external references." if removed_external_refs > 0 else "No external references to remove!") + self.lines = new_lines + + def replace_weak_function_defs(self): + new_lines = [] + updated_funcs = 0 + + for line in self.lines: + for old_symbol, new_symbol in weak_funcs.items(): + if line.startswith(old_symbol): + updated_funcs += 1 + new_lines.append("// " + line) + new_line = "extern \"C\" asm void " + new_symbol + "() {\n" + new_lines.append(new_line) + break + else: + new_lines.append(line) + + print(f"Replaced {updated_funcs} weak function definitions." if updated_funcs > 0 else "No weak function definitions to replace!") + self.lines = new_lines + + def move_remaining_types(self): + self.header_path = "include/"+self.filename.replace(".cpp", ".h") + if not os.path.exists(self.header_path): + print("No header file found to move remaining types to!") + sys.exit(1) + + inside_struct_or_class = False + migrated_types = 0 + struct_or_class_lines = [] + new_lines = [] + + with open(self.header_path, "r") as f: + header_lines = f.readlines() + + for line in self.lines: + stripped_line = line.lstrip() # Remove leading whitespace + if stripped_line.startswith("struct ") or stripped_line.startswith("class "): + if stripped_line.startswith("struct ") and ("class" in stripped_line or "_c" in stripped_line): + stripped_line = stripped_line.replace("struct ","class ") + if "hio" not in stripped_line.lower() and "_s {" not in stripped_line.lower() and "d_a_e" not in stripped_line.lower() and "obj_ystone_class" not in stripped_line.lower(): + # might fail if a tu has more than 1 actor + self.actor_name = stripped_line.split(" ")[1] + + if "d_a_e" in self.filename: + self.actor_class_type = "enemy" + stripped_line = stripped_line.replace(" {"," : public fopEn_enemy_c {") + else: + self.actor_class_type = "actor" + stripped_line = stripped_line.replace(" {", " : public fopAc_ac_c {") + + migrated_types += 1 + inside_struct_or_class = True + line = stripped_line + + if inside_struct_or_class: + struct_or_class_lines.append(line) + else: + new_lines.append(line) + + if "};" in line and inside_struct_or_class: + include_line = "#include \"f_op/f_op_actor_mng.h\"\n\n" + if include_line not in header_lines: + struct_or_class_lines.insert(0, include_line) + + struct_or_class_lines.append("\n") + struct_or_class_string = "".join(struct_or_class_lines) + header_string = "".join(header_lines) + + if struct_or_class_string not in header_string: + end_guard_index = next(i for i, line in reversed(list(enumerate(header_lines))) if "#endif" in line) + + for i, line in enumerate(reversed(struct_or_class_lines)): + header_lines.insert(end_guard_index-1, line) + + with open(self.header_path, "w") as f: + f.writelines(header_lines) + + inside_struct_or_class = False + struct_or_class_lines = [] + + print(f"Migrated {migrated_types} types." if migrated_types > 0 else "No types to migrate!") + self.lines = new_lines + + def comment_cleanup(self): + header_update = 0 + types_removal = 0 + + for i, line in enumerate(self.lines): + if "// Generated By: dol2asm" in line: + header_update = 1 + self.lines[i-1] = "/**\n" + self.lines[i] = f" * @file {self.filename.split("/")[-1]}\n" + self.lines[i+1] = " * \n" + self.lines[i+2] = "*/\n" + + if "// Types:" in line: + types_removal = 1 + self.lines.pop(i-1) + self.lines.pop(i-1) + self.lines.pop(i-1) + self.lines.pop(i-1) + + print(f"Removed types comment." if types_removal == 1 else "No types comment found! Nothing to remove!") + print(f"Updated TU header comment." if header_update == 1 else "No default header comment not found, nothing to update!") + + def setup_class_size(self): + final_class_size = hex(int(self.class_size, 16)) + header_path = "include/"+self.filename.replace(".cpp", ".h") + if not os.path.exists(header_path): + print("No header file found to move remaining types to!") + sys.exit(1) + + with open(header_path, "r") as f: + header_lines = f.readlines() + + in_class = False + new_lines = [] + for i, line in enumerate(header_lines): + if self.actor_name in line: + if "{};" in line: + new_lines.append("class " + self.actor_name + " : public fopEn_enemy_c {\n") + new_lines.append("private:\n") + + if self.actor_class_type == "enemy": + new_lines.append(f" /* 0x5ac */ u8 field_0x5ac[{final_class_size} - 0x5ac];\n") + elif self.actor_class_type == "actor": + new_lines.append(f" /* 0x568 */ u8 field_0x568[{final_class_size} - 0x568];\n") + + new_lines.append("};\n") + new_lines.append(f"STATIC_ASSERT(sizeof({self.actor_name}) == {final_class_size});\n") + else: + in_class = True + new_lines.append(line) + elif in_class and "};" in line: + new_lines.append("private:\n") + + if self.actor_class_type == "enemy": + new_lines.append(f" /* 0x5ac */ u8 field_0x5ac[{final_class_size} - 0x5ac];\n") + elif self.actor_class_type == "actor": + new_lines.append(f" /* 0x568 */ u8 field_0x568[{final_class_size} - 0x568];\n") + + new_lines.append("};\n") + new_lines.append(f"STATIC_ASSERT(sizeof({self.actor_name}) == {final_class_size});\n") + in_class = False + else: + new_lines.append(line) + + with open(header_path, "w") as f: + f.writelines(new_lines) + + def write_tu_lines(self): + with open(self.filename, "w") as f: + f.writelines(self.lines) + + def set_class_size(self, class_size): + self.class_size = class_size + + def check_and_add_missing_tu_headers(self): + if len(self.include_headers) != 0: + # find end of tu includes, accounting for multiple includes + end_of_includes = 0 + for i, line in enumerate(self.lines): + if "#include" in line: + end_of_includes = i + 1 + if end_of_includes > 0 and "#include" not in line: + break + print("end of includes", end_of_includes) + for header in self.include_headers: + self.lines.insert(end_of_includes, f"#include \"{header}\"\n") + +@click.command() +@click.option('--actor-tu', required=True, help='Path to the actor translation unit.') +def setup_actor(actor_tu): + manager = ActorSetupManager(actor_tu) + + + manager.remove_types() + manager.remove_external_refs() + manager.check_and_add_missing_tu_headers() + manager.replace_weak_function_defs() + manager.move_remaining_types() + manager.comment_cleanup() + manager.write_tu_lines() + manager.set_class_size(setup_profile(actor_tu,manager.actor_name)) + + if manager.class_size is not None: + manager.setup_class_size() + + sys.exit(0) + +if __name__ == "__main__": + setup_actor() \ No newline at end of file diff --git a/tools/setup_profile.py b/tools/setup_profile.py index 697e6594111..a253de5ffb6 100644 --- a/tools/setup_profile.py +++ b/tools/setup_profile.py @@ -3,6 +3,8 @@ import re import sys import struct +actor_method_class_name = None +actor_class_size = None LayerID = { "0x00000000": "fpcLy_ROOT_e", @@ -853,7 +855,7 @@ CullType = { 29: "fopAc_CULLSPHERE_CUSTOM_e", } -def get_profiles_from_cpp_data(filepath): +def get_profiles_from_cpp_data(filepath, actor_name): profiles = [] with open(filepath, 'r') as file: @@ -876,7 +878,6 @@ def get_profiles_from_cpp_data(filepath): # Split the line on "," and strip whitespace and newline characters from each element profile_members.extend([item.strip() for item in next_line.split(",") if item.strip()]) - # print(next_line) loop_idx += 1 next_line = data[loop_idx] @@ -900,7 +901,10 @@ def get_profiles_from_cpp_data(filepath): sub_method1 = profile_members[3].replace("(void*)","")+".mBase" - mSize = profile_members[4].replace("(void*)","") + global actor_class_size + actor_class_size = profile_members[4].replace("(void*)","") + + mSize = actor_class_size if actor_name is None else "sizeof("+actor_name+")" mSizeOther = profile_members[5].replace("(void*)","").replace("NULL","0") @@ -914,31 +918,19 @@ def get_profiles_from_cpp_data(filepath): sub_method3 = profile_members[9].replace("(void*)","") + global actor_method_class_name + actor_method_class_name = sub_method3.replace("&","").replace(",","") + mStatus = profile_members[10].replace("(void*)","") mActorTypeCullType_string = profile_members[11].replace("(void*)","") + if mActorTypeCullType_string == "NULL": + mActorTypeCullType_string = "0x00000000" + mActorTypeCullType_bytes = struct.pack(">I",int(mActorTypeCullType_string,16)) mActorType = ActorType.get(struct.unpack(">B",mActorTypeCullType_bytes[0:1])[0]) cullType = CullType.get(struct.unpack(">B",mActorTypeCullType_bytes[1:2])[0]) - - # print(mLayerID) - # print(mListID) - # print(mListPrio) - # print(mProcName) - # print(sub_method1) - # print(mSize) - # print(mSizeOther) - # print(mParameters) - # print(sub_method2) - # print(mPriority) - # print(sub_method3) - # print(mStatus) - # print(mActorType) - # print(cullType) - - # print(profile_members) - # print(len(profile_members)) - # print(next_line) + profiles.append({ "name": profile_name, "start_idx": start_idx, @@ -963,10 +955,44 @@ def get_profiles_from_cpp_data(filepath): return profiles -@click.command() -@click.option('--file-path', required=True, help='Filepath of the cpp file to parse.') -def main(file_path): - profiles = get_profiles_from_cpp_data(file_path) +def setup_method_class(filepath, method_class_name): + with open(filepath, 'r') as file: + data = file.readlines() + actor_method_class_on = False + + new_lines = [] + + # Track iterator and member + for i, line in enumerate(data): + if method_class_name + "[" in line: + line = line.replace("void*","actor_method_class") + line = line.replace("SECTION_DATA ","") + line = re.sub(r'\[\d+\] = {', ' = {', line) + actor_method_class_on = True + + if actor_method_class_on: + if "}" in line: + actor_method_class_on = False + elif "NULL" in line: + # for sizing purposes, we need to replace NULL with 0 if it's in between methods + if "NULL" not in data[i+1] and "};" not in data[i+1]: + new_lines.append(" 0,\n") + continue + else: + line = line.replace("(void*)","(process_method_func)") + + new_lines.append(line) + with open(filepath, 'w') as file: + file.writelines(new_lines) + + print(f"Setup method class {method_class_name}.") + +def setup_profile(file_path,actor_name=None): + profiles = get_profiles_from_cpp_data(file_path,actor_name) + + if len(profiles) == 0: + print("No profiles found that need to be setup!") + return None # Open file, delete lines between start and end idx and insert new lines starting at start idx with open(file_path, 'r') as file: @@ -998,10 +1024,18 @@ def main(file_path): data.insert(start_idx+14, f" {profile['members']['cullType']},{' '*(max_length-len(str(profile['members']['cullType'])))} // cullType\n") data.insert(start_idx+15, f"}};\n") - with open(file_path, 'w') as file: - file.writelines(data) + with open(file_path, 'w') as file: + file.writelines(data) + print(f"Setup profile {profile['name']}.") + setup_method_class(file_path, actor_method_class_name) + return actor_class_size + +@click.command() +@click.option('--file-path', required=True, help='Filepath of the cpp file to parse.') +def setup_profile_cli(file_path): + setup_profile(file_path) if __name__ == "__main__": - main() + setup_profile()