From 2d5c38e02293c040a96a87acd217f4594566a35c Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Sun, 20 Aug 2023 22:10:09 -0600 Subject: [PATCH] d_a_obj_carry work, setup static shape data (#1890) --- .github/workflows/ok-check.yml | 76 +- Progress.md | 16 +- .../CreateInit_Lv8Ball__12daObjCarry_cFv.s | 45 -- .../CreateInit_dokuro__12daObjCarry_cFv.s | 21 - .../CreateInit_ironball__12daObjCarry_cFv.s | 69 -- .../CreateInit_kibako__12daObjCarry_cFv.s | 27 - .../CreateInit_ootubo__12daObjCarry_cFv.s | 10 - .../CreateInit_taru__12daObjCarry_cFv.s | 27 - .../CreateInit_tsubo__12daObjCarry_cFv.s | 32 - .../checkBreakWolfAttack__12daObjCarry_cFv.s | 24 - .../checkCarryBoomerang__12daObjCarry_cFv.s | 26 - .../checkCarryHookshot__12daObjCarry_cFv.s | 14 - .../checkCarryOneHand__12daObjCarry_cFv.s | 18 - .../checkCarryWolf__12daObjCarry_cFv.s | 16 - include/d/cc/d_cc_d.h | 3 + include/d/d_jnt_col.h | 3 +- include/m_Do/m_Do_ext.h | 2 +- .../rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h | 62 +- rel/d/a/b/d_a_b_bh/d_a_b_bh.cpp | 106 +-- rel/d/a/b/d_a_b_bq/d_a_b_bq.cpp | 204 +++--- rel/d/a/b/d_a_b_gg/d_a_b_gg.cpp | 171 ++--- rel/d/a/b/d_a_b_gm/d_a_b_gm.cpp | 167 ++--- rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp | 190 ++--- rel/d/a/b/d_a_b_gos/d_a_b_gos.cpp | 70 +- rel/d/a/b/d_a_b_ob/d_a_b_ob.cpp | 60 +- rel/d/a/d_a_arrow/d_a_arrow.cpp | 33 +- rel/d/a/d_a_bd/d_a_bd.cpp | 61 +- rel/d/a/d_a_canoe/d_a_canoe.cpp | 18 +- rel/d/a/d_a_cstaF/d_a_cstaF.cpp | 18 +- rel/d/a/d_a_cstatue/d_a_cstatue.cpp | 49 +- rel/d/a/d_a_do/d_a_do.cpp | 15 +- rel/d/a/d_a_ep/d_a_ep.cpp | 137 ++-- rel/d/a/d_a_horse/d_a_horse.cpp | 33 +- rel/d/a/d_a_mg_fish/d_a_mg_fish.cpp | 101 +-- rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp | 118 +-- rel/d/a/d_a_nbomb/d_a_nbomb.cpp | 115 +-- rel/d/a/d_a_ni/d_a_ni.cpp | 79 +- rel/d/a/d_a_sq/d_a_sq.cpp | 74 +- rel/d/a/d_a_swhit0/d_a_swhit0.cpp | 66 +- rel/d/a/d_a_tbox/d_a_tbox.cpp | 96 +-- rel/d/a/d_a_tbox2/d_a_tbox2.cpp | 86 +-- rel/d/a/e/d_a_e_ai/d_a_e_ai.cpp | 127 ++-- rel/d/a/e/d_a_e_arrow/d_a_e_arrow.cpp | 129 ++-- rel/d/a/e/d_a_e_ba/d_a_e_ba.cpp | 84 +-- rel/d/a/e/d_a_e_bee/d_a_e_bee.cpp | 107 +-- rel/d/a/e/d_a_e_bi/d_a_e_bi.cpp | 120 +--- rel/d/a/e/d_a_e_bs/d_a_e_bs.cpp | 108 +-- rel/d/a/e/d_a_e_bu/d_a_e_bu.cpp | 83 +-- rel/d/a/e/d_a_e_cr/d_a_e_cr.cpp | 75 +- rel/d/a/e/d_a_e_cr_egg/d_a_e_cr_egg.cpp | 71 +- rel/d/a/e/d_a_e_db/d_a_e_db.cpp | 138 ++-- rel/d/a/e/d_a_e_dd/d_a_e_dd.cpp | 118 +-- rel/d/a/e/d_a_e_df/d_a_e_df.cpp | 79 +- rel/d/a/e/d_a_e_dn/d_a_e_dn.cpp | 131 ++-- rel/d/a/e/d_a_e_fk/d_a_e_fk.cpp | 94 +-- rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp | 216 +++--- rel/d/a/e/d_a_e_fs/d_a_e_fs.cpp | 115 +-- rel/d/a/e/d_a_e_gb/d_a_e_gb.cpp | 139 +--- rel/d/a/e/d_a_e_ge/d_a_e_ge.cpp | 22 +- rel/d/a/e/d_a_e_gob/d_a_e_gob.cpp | 97 +-- rel/d/a/e/d_a_e_hb/d_a_e_hb.cpp | 137 ++-- rel/d/a/e/d_a_e_hz/d_a_e_hz.cpp | 106 +-- rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.cpp | 183 ++--- rel/d/a/e/d_a_e_is/d_a_e_is.cpp | 124 ++-- rel/d/a/e/d_a_e_kg/d_a_e_kg.cpp | 75 +- rel/d/a/e/d_a_e_kr/d_a_e_kr.cpp | 130 ++-- rel/d/a/e/d_a_e_mb/d_a_e_mb.cpp | 70 +- rel/d/a/e/d_a_e_md/d_a_e_md.cpp | 76 +- rel/d/a/e/d_a_e_mf/d_a_e_mf.cpp | 131 ++-- rel/d/a/e/d_a_e_mk/d_a_e_mk.cpp | 88 +-- rel/d/a/e/d_a_e_mk_bo/d_a_e_mk_bo.cpp | 98 +-- rel/d/a/e/d_a_e_mm/d_a_e_mm.cpp | 102 +-- rel/d/a/e/d_a_e_mm_mt/d_a_e_mm_mt.cpp | 105 +-- rel/d/a/e/d_a_e_ms/d_a_e_ms.cpp | 99 +-- rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp | 112 +-- rel/d/a/e/d_a_e_nz/d_a_e_nz.cpp | 80 +-- rel/d/a/e/d_a_e_ph/d_a_e_ph.cpp | 66 +- rel/d/a/e/d_a_e_pm/d_a_e_pm.cpp | 93 +-- rel/d/a/e/d_a_e_po/d_a_e_po.cpp | 181 ++--- rel/d/a/e/d_a_e_rb/d_a_e_rb.cpp | 85 +-- rel/d/a/e/d_a_e_rd/d_a_e_rd.cpp | 133 +--- rel/d/a/e/d_a_e_rdb/d_a_e_rdb.cpp | 151 ++-- rel/d/a/e/d_a_e_rdy/d_a_e_rdy.cpp | 125 +--- rel/d/a/e/d_a_e_s1/d_a_e_s1.cpp | 119 +-- rel/d/a/e/d_a_e_sb/d_a_e_sb.cpp | 73 +- rel/d/a/e/d_a_e_sf/d_a_e_sf.cpp | 130 ++-- rel/d/a/e/d_a_e_sg/d_a_e_sg.cpp | 74 +- rel/d/a/e/d_a_e_sh/d_a_e_sh.cpp | 107 +-- rel/d/a/e/d_a_e_sm/d_a_e_sm.cpp | 98 +-- rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp | 96 +-- rel/d/a/e/d_a_e_st/d_a_e_st.cpp | 152 ++-- rel/d/a/e/d_a_e_th/d_a_e_th.cpp | 96 +-- rel/d/a/e/d_a_e_th_ball/d_a_e_th_ball.cpp | 92 +-- rel/d/a/e/d_a_e_tk/d_a_e_tk.cpp | 62 +- rel/d/a/e/d_a_e_tk2/d_a_e_tk2.cpp | 59 +- rel/d/a/e/d_a_e_tk_ball/d_a_e_tk_ball.cpp | 82 +-- rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp | 30 +- rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp | 86 +-- rel/d/a/e/d_a_e_yd/d_a_e_yd.cpp | 147 ++-- rel/d/a/e/d_a_e_yg/d_a_e_yg.cpp | 117 +-- rel/d/a/e/d_a_e_yh/d_a_e_yh.cpp | 148 ++-- rel/d/a/e/d_a_e_yr/d_a_e_yr.cpp | 146 ++-- .../a/npc/d_a_npc_blue_ns/d_a_npc_blue_ns.cpp | 88 +-- rel/d/a/npc/d_a_npc_du/d_a_npc_du.cpp | 69 +- rel/d/a/npc/d_a_npc_ks/d_a_npc_ks.cpp | 124 +--- rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp | 102 +-- rel/d/a/npc/d_a_npc_sq/d_a_npc_sq.cpp | 60 +- rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.cpp | 93 +-- rel/d/a/npc/d_a_npc_tkj2/d_a_npc_tkj2.cpp | 76 +- .../obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.cpp | 88 +-- rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp | 71 +- .../obj/d_a_obj_automata/d_a_obj_automata.cpp | 114 +-- .../a/obj/d_a_obj_balloon/d_a_obj_balloon.cpp | 86 +-- rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.cpp | 71 +- rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp | 185 ++--- rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.cpp | 79 +- .../a/obj/d_a_obj_boumato/d_a_obj_boumato.cpp | 96 +-- .../obj/d_a_obj_brakeeff/d_a_obj_brakeeff.cpp | 59 +- rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.cpp | 124 +--- .../a/obj/d_a_obj_burnbox/d_a_obj_burnbox.cpp | 57 +- rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp | 515 ++++++++----- rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.cpp | 99 +-- rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.cpp | 89 +-- rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp | 72 +- rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.cpp | 95 +-- .../d_a_obj_crvlh_down/d_a_obj_crvlh_down.cpp | 76 +- rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.cpp | 157 ++-- rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.cpp | 62 +- rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.cpp | 91 +-- rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.cpp | 79 +- .../d_a_obj_firepillar/d_a_obj_firepillar.cpp | 68 +- .../d_a_obj_firepillar2.cpp | 88 +-- rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.cpp | 137 +--- rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp | 91 +-- rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.cpp | 96 +-- rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.cpp | 88 +-- rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.cpp | 84 +-- .../obj/d_a_obj_gomikabe/d_a_obj_gomikabe.cpp | 86 +-- .../a/obj/d_a_obj_graWall/d_a_obj_graWall.cpp | 59 +- rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.cpp | 65 +- .../d_a_obj_hbombkoya/d_a_obj_hbombkoya.cpp | 81 +-- rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.cpp | 87 +-- .../obj/d_a_obj_iceblock/d_a_obj_iceblock.cpp | 99 +-- .../a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.cpp | 85 +-- .../a/obj/d_a_obj_inobone/d_a_obj_inobone.cpp | 92 +-- .../a/obj/d_a_obj_itamato/d_a_obj_itamato.cpp | 92 +-- rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp | 98 +-- rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp | 71 +- rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.cpp | 101 +-- rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.cpp | 62 +- .../obj/d_a_obj_kamakiri/d_a_obj_kamakiri.cpp | 71 +- .../a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp | 79 +- .../d_a_obj_katatsumuri.cpp | 71 +- .../obj/d_a_obj_kazeneko/d_a_obj_kazeneko.cpp | 88 +-- .../a/obj/d_a_obj_kbacket/d_a_obj_kbacket.cpp | 102 +-- rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.cpp | 75 +- .../a/obj/d_a_obj_keyhole/d_a_obj_keyhole.cpp | 93 +-- rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.cpp | 96 +-- .../a/obj/d_a_obj_kkanban/d_a_obj_kkanban.cpp | 65 +- .../a/obj/d_a_obj_klift00/d_a_obj_klift00.cpp | 126 +--- .../obj/d_a_obj_knBullet/d_a_obj_knBullet.cpp | 72 +- .../obj/d_a_obj_kuwagata/d_a_obj_kuwagata.cpp | 71 +- .../obj/d_a_obj_kwheel00/d_a_obj_kwheel00.cpp | 87 +-- .../a/obj/d_a_obj_laundry/d_a_obj_laundry.cpp | 75 +- .../d_a_obj_laundry_rope.cpp | 83 +-- rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp | 67 +- .../d_a_obj_life_container.cpp | 101 +-- .../d_a_obj_lv4chandelier.cpp | 99 +-- .../d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.cpp | 116 +-- .../d_a_obj_lv5yiblltray.cpp | 103 +-- .../obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.cpp | 109 +-- .../d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.cpp | 166 ++--- .../obj/d_a_obj_lv6egate/d_a_obj_lv6egate.cpp | 90 +-- .../d_a_obj_lv7bridge/d_a_obj_lv7bridge.cpp | 89 +-- rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.cpp | 73 +- rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.cpp | 57 +- rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.cpp | 86 +-- .../d_a_obj_nameplate/d_a_obj_nameplate.cpp | 71 +- rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.cpp | 56 +- .../obj/d_a_obj_octhashi/d_a_obj_octhashi.cpp | 145 ++-- rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.cpp | 84 +-- rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.cpp | 84 +-- .../a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.cpp | 112 +-- rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.cpp | 84 +-- .../d_a_obj_riverrock/d_a_obj_riverrock.cpp | 71 +- rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp | 61 +- .../d_a_obj_rope_bridge.cpp | 148 ++-- rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.cpp | 111 +-- rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.cpp | 100 +-- .../obj/d_a_obj_smallkey/d_a_obj_smallkey.cpp | 96 +-- rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp | 94 +-- .../a/obj/d_a_obj_swLight/d_a_obj_swLight.cpp | 139 ++-- .../a/obj/d_a_obj_swchain/d_a_obj_swchain.cpp | 96 +-- rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.cpp | 30 +- rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.cpp | 69 +- rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.cpp | 71 +- rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.cpp | 83 +-- rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.cpp | 91 +-- rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.cpp | 72 +- .../a/obj/d_a_obj_tornado/d_a_obj_tornado.cpp | 73 +- .../obj/d_a_obj_tornado2/d_a_obj_tornado2.cpp | 61 +- rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.cpp | 84 +-- rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.cpp | 62 +- .../a/obj/d_a_obj_volcbom/d_a_obj_volcbom.cpp | 89 +-- .../d_a_obj_waterfall/d_a_obj_waterfall.cpp | 96 +-- rel/d/a/obj/d_a_obj_window/d_a_obj_window.cpp | 70 +- .../d_a_obj_wood_pendulum.cpp | 79 +- .../d_a_obj_wood_statue.cpp | 99 +-- rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.cpp | 56 +- .../obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp | 19 +- rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.cpp | 65 +- rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.cpp | 100 +-- .../d_a_tag_attack_item.cpp | 74 +- rel/d/a/tag/d_a_tag_csw/d_a_tag_csw.cpp | 91 +-- rel/d/a/tag/d_a_tag_qs/d_a_tag_qs.cpp | 85 +-- rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.cpp | 88 +-- src/m_Do/m_Do_ext.cpp | 16 +- tools/ghidra/tp_class_to_cpp.py | 70 ++ tools/setup_shape_data.py | 676 ++++++++++++++++++ 219 files changed, 6502 insertions(+), 13711 deletions(-) delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_Lv8Ball__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_dokuro__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ironball__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_kibako__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ootubo__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_taru__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_tsubo__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkBreakWolfAttack__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryBoomerang__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryHookshot__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryOneHand__12daObjCarry_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryWolf__12daObjCarry_cFv.s create mode 100644 tools/ghidra/tp_class_to_cpp.py create mode 100644 tools/setup_shape_data.py diff --git a/.github/workflows/ok-check.yml b/.github/workflows/ok-check.yml index 320c20362b..dfc2b49841 100644 --- a/.github/workflows/ok-check.yml +++ b/.github/workflows/ok-check.yml @@ -37,47 +37,47 @@ jobs: run: | ./tp progress -f JSON > progress-${{ github.run_id }}.json ./tp upload-progress progress-${{ github.run_id }}.json -b https://progress.deco.mp/ -p twilightprincess -v gcn_usa - - name: Get changed .c, .cpp, .inc files - if: github.event_name != 'pull_request' - id: changed-files-specific - uses: tj-actions/changed-files@v36 - with: - files: | - **/*.{c,cpp,inc} - - name: Update Issue(s) - if: github.event_name != 'pull_request' && steps.changed-files-specific.outputs.any_changed == 'true' - run: | - # Install libclang-16-dev for FunctionChecker - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main" - sudo apt update - sudo apt install -y libclang-16-dev + # - name: Get changed .c, .cpp, .inc files + # if: github.event_name != 'pull_request' + # id: changed-files-specific + # uses: tj-actions/changed-files@v36 + # with: + # files: | + # **/*.{c,cpp,inc} + # - name: Update Issue(s) + # if: github.event_name != 'pull_request' && steps.changed-files-specific.outputs.any_changed == 'true' + # run: | + # # Install libclang-16-dev for FunctionChecker + # wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - + # sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main" + # sudo apt update + # sudo apt install -y libclang-16-dev - FILENAMES="${{ steps.changed-files-specific.outputs.all_changed_files }}" - CMD="./tp github-update-issues --personal-access-token ${{ secrets.PAT_TOKEN }} --debug --owner ${{ env.GITHUB_ORG }} --repo ${{ env.GITHUB_REPO }} --state-file ${{ env.STATE_FILE }}" + # FILENAMES="${{ steps.changed-files-specific.outputs.all_changed_files }}" + # CMD="./tp github-update-issues --personal-access-token ${{ secrets.PAT_TOKEN }} --debug --owner ${{ env.GITHUB_ORG }} --repo ${{ env.GITHUB_REPO }} --state-file ${{ env.STATE_FILE }}" - IFS=' ' read -ra FILE_ARRAY <<< "$FILENAMES" - INC_FOUND=false + # IFS=' ' read -ra FILE_ARRAY <<< "$FILENAMES" + # INC_FOUND=false - # Remove any .inc files from the array - for index in "${!FILE_ARRAY[@]}"; do - if [[ "${FILE_ARRAY[index]}" == *.inc ]]; then - unset 'FILE_ARRAY[index]' - INC_FOUND=true - fi - done + # # Remove any .inc files from the array + # for index in "${!FILE_ARRAY[@]}"; do + # if [[ "${FILE_ARRAY[index]}" == *.inc ]]; then + # unset 'FILE_ARRAY[index]' + # INC_FOUND=true + # fi + # done - # If any .inc files were found, - # We will add "src/d/a/d_a_alink.cpp" to the array once - # if it's not already there - if $INC_FOUND && ! [[ " ${FILE_ARRAY[@]} " =~ " src/d/a/d_a_alink.cpp " ]]; then - FILE_ARRAY+=("src/d/a/d_a_alink.cpp") - fi + # # If any .inc files were found, + # # We will add "src/d/a/d_a_alink.cpp" to the array once + # # if it's not already there + # if $INC_FOUND && ! [[ " ${FILE_ARRAY[@]} " =~ " src/d/a/d_a_alink.cpp " ]]; then + # FILE_ARRAY+=("src/d/a/d_a_alink.cpp") + # fi - for FILE in "${FILE_ARRAY[@]}"; do - AUTHOR=$(git log -1 --pretty=format:'%an' -- $FILE) - CMD="$CMD --filename $FILE --author $AUTHOR" - done + # for FILE in "${FILE_ARRAY[@]}"; do + # AUTHOR=$(git log -1 --pretty=format:'%an' -- $FILE) + # CMD="$CMD --filename $FILE --author $AUTHOR" + # done - # Update the status and assignees for every issue identified - $CMD \ No newline at end of file + # # Update the status and assignees for every issue identified + # $CMD \ No newline at end of file diff --git a/Progress.md b/Progress.md index d82a642066..2ac866c90b 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 31.228646% | 1123152 | 3596544 +.text | 31.257674% | 1124196 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 38.478344% | 1547088 | 4020672 +Total | 38.504310% | 1548132 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 38.478344% | 1547088 | 4020672 -RELs | 34.240635% | 3937784 | 11500324 -Total | 35.338402% | 5484872 | 15520996 +main.dol | 38.504310% | 1548132 | 4020672 +RELs | 34.251939% | 3939084 | 11500324 +Total | 35.353504% | 5487216 | 15520996 ## RELs @@ -368,7 +368,7 @@ d_a_obj_brg | 22.881356% | 6696 | 29264 d_a_obj_bsGate | 48.010850% | 2124 | 4424 d_a_obj_bubblePilar | 44.760583% | 2580 | 5764 d_a_obj_burnbox | 45.251397% | 1620 | 3580 -d_a_obj_carry | 31.484852% | 19372 | 61528 +d_a_obj_carry | 33.422182% | 20564 | 61528 d_a_obj_catdoor | 82.338611% | 2704 | 3284 d_a_obj_cb | 43.008475% | 2436 | 5664 d_a_obj_cblock | 42.294713% | 3008 | 7112 @@ -495,7 +495,7 @@ d_a_obj_lv4CandleTag | 50.114416% | 1752 | 3496 d_a_obj_lv4EdShutter | 45.846154% | 2384 | 5200 d_a_obj_lv4Gate | 97.443182% | 4116 | 4224 d_a_obj_lv4HsTarget | 100.000000% | 2448 | 2448 -d_a_obj_lv4PoGate | 98.063128% | 5468 | 5576 +d_a_obj_lv4PoGate | 100.000000% | 5576 | 5576 d_a_obj_lv4RailWall | 41.496973% | 3016 | 7268 d_a_obj_lv4SlideWall | 48.954373% | 2060 | 4208 d_a_obj_lv4bridge | 47.146866% | 2016 | 4276 @@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244 d_a_warp_bug | 100.000000% | 2024 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 34.240635% | 3937784 | 11500324 +Total | 34.251939% | 3939084 | 11500324 diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_Lv8Ball__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_Lv8Ball__12daObjCarry_cFv.s deleted file mode 100644 index 6b721fc96d..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_Lv8Ball__12daObjCarry_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_80470AB4: -/* 80470AB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80470AB8 7C 08 02 A6 */ mflr r0 -/* 80470ABC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80470AC0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80470AC4 7C 7F 1B 78 */ mr r31, r3 -/* 80470AC8 38 7F 0D 88 */ addi r3, r31, 0xd88 -/* 80470ACC 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 80470AD0 38 A0 00 01 */ li r5, 1 -/* 80470AD4 81 9F 0D 98 */ lwz r12, 0xd98(r31) -/* 80470AD8 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80470ADC 7D 89 03 A6 */ mtctr r12 -/* 80470AE0 4E 80 04 21 */ bctrl -/* 80470AE4 38 00 00 09 */ li r0, 9 -/* 80470AE8 98 1F 08 80 */ stb r0, 0x880(r31) -/* 80470AEC 38 00 00 02 */ li r0, 2 -/* 80470AF0 98 1F 08 82 */ stb r0, 0x882(r31) -/* 80470AF4 80 1F 08 64 */ lwz r0, 0x864(r31) -/* 80470AF8 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 80470AFC 90 1F 08 64 */ stw r0, 0x864(r31) -/* 80470B00 80 1F 08 68 */ lwz r0, 0x868(r31) -/* 80470B04 60 00 00 02 */ ori r0, r0, 2 -/* 80470B08 90 1F 08 68 */ stw r0, 0x868(r31) -/* 80470B0C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80470B10 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80470B14 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80470B18 54 04 D6 3E */ rlwinm r4, r0, 0x1a, 0x18, 0x1f -/* 80470B1C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80470B20 7C 05 07 74 */ extsb r5, r0 -/* 80470B24 4B BC 48 3D */ bl isSwitch__10dSv_info_cCFii -/* 80470B28 2C 03 00 00 */ cmpwi r3, 0 -/* 80470B2C 41 82 00 10 */ beq lbl_80470B3C -/* 80470B30 7F E3 FB 78 */ mr r3, r31 -/* 80470B34 48 00 48 51 */ bl mode_init_fit__12daObjCarry_cFv -/* 80470B38 48 00 00 0C */ b lbl_80470B44 -lbl_80470B3C: -/* 80470B3C 7F E3 FB 78 */ mr r3, r31 -/* 80470B40 48 00 28 A9 */ bl mode_init_wait__12daObjCarry_cFv -lbl_80470B44: -/* 80470B44 38 60 00 01 */ li r3, 1 -/* 80470B48 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80470B4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80470B50 7C 08 03 A6 */ mtlr r0 -/* 80470B54 38 21 00 10 */ addi r1, r1, 0x10 -/* 80470B58 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_dokuro__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_dokuro__12daObjCarry_cFv.s deleted file mode 100644 index 192bc47030..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_dokuro__12daObjCarry_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80470840: -/* 80470840 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80470844 7C 08 02 A6 */ mflr r0 -/* 80470848 90 01 00 14 */ stw r0, 0x14(r1) -/* 8047084C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80470850 7C 7F 1B 78 */ mr r31, r3 -/* 80470854 48 00 2B 95 */ bl mode_init_wait__12daObjCarry_cFv -/* 80470858 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8047085C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80470860 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80470864 54 04 D6 3E */ rlwinm r4, r0, 0x1a, 0x18, 0x1f -/* 80470868 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 8047086C 7C 05 07 74 */ extsb r5, r0 -/* 80470870 4B BC 4A F1 */ bl isSwitch__10dSv_info_cCFii -/* 80470874 7C 60 00 34 */ cntlzw r0, r3 -/* 80470878 54 03 D9 7E */ srwi r3, r0, 5 -/* 8047087C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80470880 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80470884 7C 08 03 A6 */ mtlr r0 -/* 80470888 38 21 00 10 */ addi r1, r1, 0x10 -/* 8047088C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ironball__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ironball__12daObjCarry_cFv.s deleted file mode 100644 index a5a0c48821..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ironball__12daObjCarry_cFv.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_804706D4: -/* 804706D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804706D8 7C 08 02 A6 */ mflr r0 -/* 804706DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 804706E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 804706E4 93 C1 00 08 */ stw r30, 8(r1) -/* 804706E8 7C 7E 1B 78 */ mr r30, r3 -/* 804706EC 4B BC 16 25 */ bl chkSaveFlag__12daObjCarry_cFv -/* 804706F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 804706F4 41 82 00 A4 */ beq lbl_80470798 -/* 804706F8 A0 1E 0D 16 */ lhz r0, 0xd16(r30) -/* 804706FC 54 1F 06 3E */ clrlwi r31, r0, 0x18 -/* 80470700 7F E3 FB 78 */ mr r3, r31 -/* 80470704 4B BC 16 21 */ bl getPos__12daObjCarry_cFi -/* 80470708 C0 03 00 00 */ lfs f0, 0(r3) -/* 8047070C D0 1E 04 D0 */ stfs f0, 0x4d0(r30) -/* 80470710 C0 03 00 04 */ lfs f0, 4(r3) -/* 80470714 D0 1E 04 D4 */ stfs f0, 0x4d4(r30) -/* 80470718 C0 03 00 08 */ lfs f0, 8(r3) -/* 8047071C D0 1E 04 D8 */ stfs f0, 0x4d8(r30) -/* 80470720 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80470724 D0 1E 04 BC */ stfs f0, 0x4bc(r30) -/* 80470728 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 8047072C D0 1E 04 C0 */ stfs f0, 0x4c0(r30) -/* 80470730 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80470734 D0 1E 04 C4 */ stfs f0, 0x4c4(r30) -/* 80470738 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 8047073C D0 1E 05 50 */ stfs f0, 0x550(r30) -/* 80470740 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 80470744 D0 1E 05 54 */ stfs f0, 0x554(r30) -/* 80470748 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 8047074C D0 1E 05 58 */ stfs f0, 0x558(r30) -/* 80470750 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80470754 D0 1E 05 38 */ stfs f0, 0x538(r30) -/* 80470758 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 8047075C D0 1E 05 3C */ stfs f0, 0x53c(r30) -/* 80470760 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80470764 D0 1E 05 40 */ stfs f0, 0x540(r30) -/* 80470768 7F E3 FB 78 */ mr r3, r31 -/* 8047076C 4B BC 16 4D */ bl getRoomNo__12daObjCarry_cFi -/* 80470770 98 7E 04 E2 */ stb r3, 0x4e2(r30) -/* 80470774 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 80470778 98 1E 04 8C */ stb r0, 0x48c(r30) -/* 8047077C 7F E3 FB 78 */ mr r3, r31 -/* 80470780 38 80 00 01 */ li r4, 1 -/* 80470784 4B BC 16 09 */ bl chkSttsFlag__12daObjCarry_cFiUc -/* 80470788 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8047078C 41 82 00 0C */ beq lbl_80470798 -/* 80470790 38 00 00 01 */ li r0, 1 -/* 80470794 98 1E 0D B7 */ stb r0, 0xdb7(r30) -lbl_80470798: -/* 80470798 38 7E 05 88 */ addi r3, r30, 0x588 -/* 8047079C 4B C0 86 FD */ bl SetLink__16dBgS_PolyPassChkFv -/* 804707A0 38 7E 05 88 */ addi r3, r30, 0x588 -/* 804707A4 4B C0 86 D1 */ bl ClrObj__16dBgS_PolyPassChkFv -/* 804707A8 7F C3 F3 78 */ mr r3, r30 -/* 804707AC 48 00 2C 3D */ bl mode_init_wait__12daObjCarry_cFv -/* 804707B0 80 1E 07 D8 */ lwz r0, 0x7d8(r30) -/* 804707B4 64 00 00 40 */ oris r0, r0, 0x40 -/* 804707B8 90 1E 07 D8 */ stw r0, 0x7d8(r30) -/* 804707BC 38 00 00 06 */ li r0, 6 -/* 804707C0 98 1E 08 3C */ stb r0, 0x83c(r30) -/* 804707C4 38 60 00 01 */ li r3, 1 -/* 804707C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 804707CC 83 C1 00 08 */ lwz r30, 8(r1) -/* 804707D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804707D4 7C 08 03 A6 */ mtlr r0 -/* 804707D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 804707DC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_kibako__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_kibako__12daObjCarry_cFv.s deleted file mode 100644 index f6853c009f..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_kibako__12daObjCarry_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80470674: -/* 80470674 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80470678 7C 08 02 A6 */ mflr r0 -/* 8047067C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80470680 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80470684 7C 7F 1B 78 */ mr r31, r3 -/* 80470688 38 7F 0E 10 */ addi r3, r31, 0xe10 -/* 8047068C 7F E4 FB 78 */ mr r4, r31 -/* 80470690 3C A0 80 48 */ lis r5, kibako_jc_data@ha /* 0x8047A710@ha */ -/* 80470694 38 A5 A7 10 */ addi r5, r5, kibako_jc_data@l /* 0x8047A710@l */ -/* 80470698 80 DF 05 70 */ lwz r6, 0x570(r31) -/* 8047069C 38 E0 00 01 */ li r7, 1 -/* 804706A0 4B BC 56 01 */ bl init__9dJntCol_cFP10fopAc_ac_cPC13dJntColData_cP8J3DModeli -/* 804706A4 2C 03 00 00 */ cmpwi r3, 0 -/* 804706A8 40 82 00 0C */ bne lbl_804706B4 -/* 804706AC 38 60 00 00 */ li r3, 0 -/* 804706B0 48 00 00 10 */ b lbl_804706C0 -lbl_804706B4: -/* 804706B4 7F E3 FB 78 */ mr r3, r31 -/* 804706B8 48 00 2D 31 */ bl mode_init_wait__12daObjCarry_cFv -/* 804706BC 38 60 00 01 */ li r3, 1 -lbl_804706C0: -/* 804706C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 804706C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804706C8 7C 08 03 A6 */ mtlr r0 -/* 804706CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 804706D0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ootubo__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ootubo__12daObjCarry_cFv.s deleted file mode 100644 index a3c58ff180..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ootubo__12daObjCarry_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80470650: -/* 80470650 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80470654 7C 08 02 A6 */ mflr r0 -/* 80470658 90 01 00 14 */ stw r0, 0x14(r1) -/* 8047065C 48 00 2D 8D */ bl mode_init_wait__12daObjCarry_cFv -/* 80470660 38 60 00 01 */ li r3, 1 -/* 80470664 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80470668 7C 08 03 A6 */ mtlr r0 -/* 8047066C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80470670 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_taru__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_taru__12daObjCarry_cFv.s deleted file mode 100644 index e77c1d8d4f..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_taru__12daObjCarry_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_804707E0: -/* 804707E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804707E4 7C 08 02 A6 */ mflr r0 -/* 804707E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 804707EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 804707F0 7C 7F 1B 78 */ mr r31, r3 -/* 804707F4 38 7F 0E 10 */ addi r3, r31, 0xe10 -/* 804707F8 7F E4 FB 78 */ mr r4, r31 -/* 804707FC 3C A0 80 48 */ lis r5, taru_jc_data@ha /* 0x8047A71C@ha */ -/* 80470800 38 A5 A7 1C */ addi r5, r5, taru_jc_data@l /* 0x8047A71C@l */ -/* 80470804 80 DF 05 70 */ lwz r6, 0x570(r31) -/* 80470808 38 E0 00 01 */ li r7, 1 -/* 8047080C 4B BC 54 95 */ bl init__9dJntCol_cFP10fopAc_ac_cPC13dJntColData_cP8J3DModeli -/* 80470810 2C 03 00 00 */ cmpwi r3, 0 -/* 80470814 40 82 00 0C */ bne lbl_80470820 -/* 80470818 38 60 00 00 */ li r3, 0 -/* 8047081C 48 00 00 10 */ b lbl_8047082C -lbl_80470820: -/* 80470820 7F E3 FB 78 */ mr r3, r31 -/* 80470824 48 00 2B C5 */ bl mode_init_wait__12daObjCarry_cFv -/* 80470828 38 60 00 01 */ li r3, 1 -lbl_8047082C: -/* 8047082C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80470830 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80470834 7C 08 03 A6 */ mtlr r0 -/* 80470838 38 21 00 10 */ addi r1, r1, 0x10 -/* 8047083C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_tsubo__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_tsubo__12daObjCarry_cFv.s deleted file mode 100644 index 2f3e826514..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_tsubo__12daObjCarry_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_804705DC: -/* 804705DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804705E0 7C 08 02 A6 */ mflr r0 -/* 804705E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 804705E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 804705EC 7C 7F 1B 78 */ mr r31, r3 -/* 804705F0 A0 03 0D 18 */ lhz r0, 0xd18(r3) -/* 804705F4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f -/* 804705F8 40 82 00 0C */ bne lbl_80470604 -/* 804705FC 38 00 00 01 */ li r0, 1 -/* 80470600 98 1F 0D B5 */ stb r0, 0xdb5(r31) -lbl_80470604: -/* 80470604 7F E3 FB 78 */ mr r3, r31 -/* 80470608 48 00 2D E1 */ bl mode_init_wait__12daObjCarry_cFv -/* 8047060C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80470610 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80470614 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 80470618 3C 80 80 48 */ lis r4, d_a_obj_carry__stringBase0@ha /* 0x8047A4BC@ha */ -/* 8047061C 38 84 A4 BC */ addi r4, r4, d_a_obj_carry__stringBase0@l /* 0x8047A4BC@l */ -/* 80470620 38 84 01 33 */ addi r4, r4, 0x133 -/* 80470624 4B EF 83 71 */ bl strcmp -/* 80470628 2C 03 00 00 */ cmpwi r3, 0 -/* 8047062C 40 82 00 0C */ bne lbl_80470638 -/* 80470630 38 00 00 01 */ li r0, 1 -/* 80470634 98 1F 0E 25 */ stb r0, 0xe25(r31) -lbl_80470638: -/* 80470638 38 60 00 01 */ li r3, 1 -/* 8047063C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80470640 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80470644 7C 08 03 A6 */ mtlr r0 -/* 80470648 38 21 00 10 */ addi r1, r1, 0x10 -/* 8047064C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkBreakWolfAttack__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkBreakWolfAttack__12daObjCarry_cFv.s deleted file mode 100644 index f04cdf2c6c..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkBreakWolfAttack__12daObjCarry_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8046FFA4: -/* 8046FFA4 88 03 0C F0 */ lbz r0, 0xcf0(r3) -/* 8046FFA8 28 00 00 00 */ cmplwi r0, 0 -/* 8046FFAC 41 82 00 3C */ beq lbl_8046FFE8 -/* 8046FFB0 28 00 00 07 */ cmplwi r0, 7 -/* 8046FFB4 41 82 00 34 */ beq lbl_8046FFE8 -/* 8046FFB8 28 00 00 01 */ cmplwi r0, 1 -/* 8046FFBC 41 82 00 2C */ beq lbl_8046FFE8 -/* 8046FFC0 28 00 00 02 */ cmplwi r0, 2 -/* 8046FFC4 41 82 00 24 */ beq lbl_8046FFE8 -/* 8046FFC8 28 00 00 05 */ cmplwi r0, 5 -/* 8046FFCC 41 82 00 1C */ beq lbl_8046FFE8 -/* 8046FFD0 28 00 00 0A */ cmplwi r0, 0xa -/* 8046FFD4 41 82 00 14 */ beq lbl_8046FFE8 -/* 8046FFD8 28 00 00 0C */ cmplwi r0, 0xc -/* 8046FFDC 41 82 00 0C */ beq lbl_8046FFE8 -/* 8046FFE0 28 00 00 0D */ cmplwi r0, 0xd -/* 8046FFE4 40 82 00 0C */ bne lbl_8046FFF0 -lbl_8046FFE8: -/* 8046FFE8 38 60 00 01 */ li r3, 1 -/* 8046FFEC 4E 80 00 20 */ blr -lbl_8046FFF0: -/* 8046FFF0 38 60 00 00 */ li r3, 0 -/* 8046FFF4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryBoomerang__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryBoomerang__12daObjCarry_cFv.s deleted file mode 100644 index eaa6c19969..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryBoomerang__12daObjCarry_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8046FFF8: -/* 8046FFF8 88 03 0C F0 */ lbz r0, 0xcf0(r3) -/* 8046FFFC 28 00 00 00 */ cmplwi r0, 0 -/* 80470000 41 82 00 44 */ beq lbl_80470044 -/* 80470004 28 00 00 07 */ cmplwi r0, 7 -/* 80470008 41 82 00 3C */ beq lbl_80470044 -/* 8047000C 28 00 00 01 */ cmplwi r0, 1 -/* 80470010 41 82 00 34 */ beq lbl_80470044 -/* 80470014 28 00 00 02 */ cmplwi r0, 2 -/* 80470018 41 82 00 2C */ beq lbl_80470044 -/* 8047001C 28 00 00 05 */ cmplwi r0, 5 -/* 80470020 41 82 00 24 */ beq lbl_80470044 -/* 80470024 28 00 00 06 */ cmplwi r0, 6 -/* 80470028 41 82 00 1C */ beq lbl_80470044 -/* 8047002C 28 00 00 0A */ cmplwi r0, 0xa -/* 80470030 41 82 00 14 */ beq lbl_80470044 -/* 80470034 28 00 00 0C */ cmplwi r0, 0xc -/* 80470038 41 82 00 0C */ beq lbl_80470044 -/* 8047003C 28 00 00 0D */ cmplwi r0, 0xd -/* 80470040 40 82 00 0C */ bne lbl_8047004C -lbl_80470044: -/* 80470044 38 60 00 01 */ li r3, 1 -/* 80470048 4E 80 00 20 */ blr -lbl_8047004C: -/* 8047004C 38 60 00 00 */ li r3, 0 -/* 80470050 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryHookshot__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryHookshot__12daObjCarry_cFv.s deleted file mode 100644 index e003889dc0..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryHookshot__12daObjCarry_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80470054: -/* 80470054 88 03 0C F0 */ lbz r0, 0xcf0(r3) -/* 80470058 28 00 00 08 */ cmplwi r0, 8 -/* 8047005C 41 82 00 14 */ beq lbl_80470070 -/* 80470060 28 00 00 09 */ cmplwi r0, 9 -/* 80470064 41 82 00 0C */ beq lbl_80470070 -/* 80470068 28 00 00 0B */ cmplwi r0, 0xb -/* 8047006C 40 82 00 0C */ bne lbl_80470078 -lbl_80470070: -/* 80470070 38 60 00 01 */ li r3, 1 -/* 80470074 4E 80 00 20 */ blr -lbl_80470078: -/* 80470078 38 60 00 00 */ li r3, 0 -/* 8047007C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryOneHand__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryOneHand__12daObjCarry_cFv.s deleted file mode 100644 index 7d050ad486..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryOneHand__12daObjCarry_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_804700B4: -/* 804700B4 88 03 0C F0 */ lbz r0, 0xcf0(r3) -/* 804700B8 28 00 00 00 */ cmplwi r0, 0 -/* 804700BC 41 82 00 24 */ beq lbl_804700E0 -/* 804700C0 28 00 00 05 */ cmplwi r0, 5 -/* 804700C4 41 82 00 1C */ beq lbl_804700E0 -/* 804700C8 28 00 00 07 */ cmplwi r0, 7 -/* 804700CC 41 82 00 14 */ beq lbl_804700E0 -/* 804700D0 28 00 00 06 */ cmplwi r0, 6 -/* 804700D4 41 82 00 0C */ beq lbl_804700E0 -/* 804700D8 28 00 00 0C */ cmplwi r0, 0xc -/* 804700DC 40 82 00 0C */ bne lbl_804700E8 -lbl_804700E0: -/* 804700E0 38 60 00 01 */ li r3, 1 -/* 804700E4 4E 80 00 20 */ blr -lbl_804700E8: -/* 804700E8 38 60 00 00 */ li r3, 0 -/* 804700EC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryWolf__12daObjCarry_cFv.s b/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryWolf__12daObjCarry_cFv.s deleted file mode 100644 index cbca990d8a..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryWolf__12daObjCarry_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80470080: -/* 80470080 88 03 0C F0 */ lbz r0, 0xcf0(r3) -/* 80470084 28 00 00 00 */ cmplwi r0, 0 -/* 80470088 41 82 00 1C */ beq lbl_804700A4 -/* 8047008C 28 00 00 05 */ cmplwi r0, 5 -/* 80470090 41 82 00 14 */ beq lbl_804700A4 -/* 80470094 28 00 00 07 */ cmplwi r0, 7 -/* 80470098 41 82 00 0C */ beq lbl_804700A4 -/* 8047009C 28 00 00 0C */ cmplwi r0, 0xc -/* 804700A0 40 82 00 0C */ bne lbl_804700AC -lbl_804700A4: -/* 804700A4 38 60 00 01 */ li r3, 1 -/* 804700A8 4E 80 00 20 */ blr -lbl_804700AC: -/* 804700AC 38 60 00 00 */ li r3, 0 -/* 804700B0 4E 80 00 20 */ blr diff --git a/include/d/cc/d_cc_d.h b/include/d/cc/d_cc_d.h index 36350acc57..98ed2c9826 100644 --- a/include/d/cc/d_cc_d.h +++ b/include/d/cc/d_cc_d.h @@ -222,6 +222,7 @@ class dCcD_GObjTg : public dCcD_GAtTgCoCommonBase { public: /* 800839A0 */ void Set(dCcD_SrcGObjTg const&); /* 80083BE8 */ virtual ~dCcD_GObjTg() {} + void SetSe(u8 se) { mSe = se; } void SetVec(cXyz& vec) { mVec = vec; } cXyz& GetVec() { return mVec; } void SetShieldFrontRangeYAngle(s16* angle) { mShieldFrontRangeYAngle = angle; } @@ -288,11 +289,13 @@ public: void OnAtNoHitMark() { mGObjAt.OnSPrm(2); } void OffAtNoHitMark() { mGObjAt.OffSPrm(2); } void OnTgNoHitMark() { mGObjTg.OnSPrm(4); } + void OffTgNoHitMark() { mGObjTg.OffSPrm(4); } void OnAtNoConHit() { mGObjAt.OnSPrm(1); } void OffAtNoConHit() { mGObjAt.OffSPrm(1); } void OnTgNoConHit() { mGObjTg.OnSPrm(2); } void SetAtHitMark(u8 mark) { mGObjAt.SetHitMark(mark); } void SetAtSe(u8 se) { mGObjAt.SetSe(se); } + void SetTgSe(u8 se) { mGObjTg.SetSe(se); } void SetAtMtrl(u8 mtrl) { mGObjAt.SetMtrl(mtrl); } void SetTgMtrl(u8 mtrl) { mGObjTg.SetMtrl(mtrl); } fopAc_ac_c* GetAtHitAc() { return mGObjAt.GetAc(); } diff --git a/include/d/d_jnt_col.h b/include/d/d_jnt_col.h index 6a30075ade..fd33fce859 100644 --- a/include/d/d_jnt_col.h +++ b/include/d/d_jnt_col.h @@ -13,7 +13,8 @@ public: /* 0x0 */ u8 field_0x0; /* 0x1 */ s8 mType; /* 0x2 */ s16 mJntNum; - /* 0x4 */ u8 field_0x4[0xC - 0x4]; + /* 0x4 */ u32 field_0x4; + /* 0x8 */ void* field_0x8; }; class dJntCol_c { diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index dfbe2292e3..f4fad2699c 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -571,7 +571,7 @@ JKRHeap* mDoExt_getCurrentHeap(); void mDoExt_removeMesgFont(); void mDoExt_modelUpdate(J3DModel* i_model); void mDoExt_modelUpdateDL(J3DModel* i_model); -J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2); +J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag, u32 i_differedDlistFlag); void mDoExt_setAraCacheSize(u32 size); int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id); void mDoExt_modelEntryDL(J3DModel* i_model); diff --git a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h index 51818f1a3b..b7afde3bae 100644 --- a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h +++ b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h @@ -5,6 +5,7 @@ #include "d/cc/d_cc_d.h" #include "d/d_jnt_col.h" #include "f_op/f_op_actor_mng.h" +#include "d/com/d_com_inf_game.h" struct daObjCarry_Data { /* 0x0000 */ u8 field_0x0000[0x0030 - 0x0000]; @@ -47,33 +48,33 @@ public: /* 80031DAC */ static void setRoomNo(int, s8); /* 80031DB8 */ static s8 getRoomNo(int); /* 8046F6A4 */ u8 data(); - /* 8046F6BC */ void* getArcName(); - /* 8046F6D4 */ void* getBmdName(); + /* 8046F6BC */ char* getArcName(); + /* 8046F6D4 */ int getBmdName(); /* 8046F6EC */ void checkFlag(u8); /* 8046F724 */ void initBaseMtx(); /* 8046F7AC */ void setBaseMtx(); /* 8046FACC */ s32 preInit(); /* 8046FB78 */ daObjCarry_c(); - /* 8046FFA4 */ void checkBreakWolfAttack(); - /* 8046FFF8 */ void checkCarryBoomerang(); - /* 80470054 */ void checkCarryHookshot(); - /* 80470080 */ void checkCarryWolf(); - /* 804700B4 */ void checkCarryOneHand(); + /* 8046FFA4 */ s32 checkBreakWolfAttack(); + /* 8046FFF8 */ s32 checkCarryBoomerang(); + /* 80470054 */ s32 checkCarryHookshot(); + /* 80470080 */ s32 checkCarryWolf(); + /* 804700B4 */ s32 checkCarryOneHand(); /* 804700F0 */ void Create(); - /* 804705DC */ void CreateInit_tsubo(); - /* 80470650 */ void CreateInit_ootubo(); - /* 80470674 */ void CreateInit_kibako(); - /* 804706D4 */ void CreateInit_ironball(); - /* 804707E0 */ void CreateInit_taru(); - /* 80470840 */ void CreateInit_dokuro(); - /* 80470890 */ void CreateInit_bokkuri(); - /* 804709DC */ void CreateInit_LightBall(); - /* 80470AB4 */ void CreateInit_Lv8Ball(); - /* 80470B5C */ void CreateHeap(); - /* 80470BF4 */ void create(); - /* 80470CF0 */ void checkCreate_LightBallA(); - /* 8047114C */ void checkCreate_LightBallB(); - /* 804715A8 */ void checkCreate_Lv8Ball(); + /* 804705DC */ s32 CreateInit_tsubo(); + /* 80470650 */ s32 CreateInit_ootubo(); + /* 80470674 */ s32 CreateInit_kibako(); + /* 804706D4 */ s32 CreateInit_ironball(); + /* 804707E0 */ s32 CreateInit_taru(); + /* 80470840 */ bool CreateInit_dokuro(); + /* 80470890 */ s32 CreateInit_bokkuri(); + /* 804709DC */ s32 CreateInit_LightBall(); + /* 80470AB4 */ s32 CreateInit_Lv8Ball(); + /* 80470B5C */ s32 CreateHeap(); + /* 80470BF4 */ cPhs__Step create(); + /* 80470CF0 */ s32 checkCreate_LightBallA(); + /* 8047114C */ s32 checkCreate_LightBallB(); + /* 804715A8 */ s32 checkCreate_Lv8Ball(); /* 80471680 */ void resetIconPosForLightBallA(); /* 804716D4 */ void setIconPosForLightBallAAtR00(); /* 804717B4 */ void setIconPosForLightBallBAtR00(); @@ -193,8 +194,14 @@ public: /* 80479664 */ void CreateInitCall(); s32 getType() { return mType; } + u32 getSwbit() { return fopAcM_GetParamBit(this,6,8);} u32 getSwbit2() { return fopAcM_GetParamBit(this,0xe,8); } u32 checkOnMoveBg() { return ~((field_0xd18 >> 0xc) & 1);} + u32 checkCrashRoll() { return field_0xd18 >> 6 & 1;} + u8 getItemNo() { return mItemNo; } + u8 getSaveID() { return getItemNo(); } + u32 getSetType() { return (u32)(field_0xd18 << 16) >> 29;} // fake match? + s8 prm_chk_type_ironball() { return (s8)(getType() == TYPE_IRON_BALL); } static u8 const mData[2072]; static Vec mPos[5]; @@ -205,7 +212,7 @@ public: public: /* 0x568 */ request_of_phase_process_class mPhaseReq; /* 0x570 */ J3DModel* mpModel; - /* 0x574 */ dBgS_Acch mAcch; + /* 0x574 */ dBgS_ObjAcch mAcch; /* 0x74C */ dBgS_AcchCir mAcchCir; /* 0x78C */ dCcD_Stts mStts; /* 0x7C8 */ dCcD_Cyl field_0x7c8; @@ -223,7 +230,7 @@ public: /* 0xD04 */ s16 field_0xd04; /* 0xD06 */ u8 field_0xD06[0xD15 - 0xD06]; /* 0xD15 */ u8 field_0xd15; - /* 0xD16 */ u16 field_0xd16; + /* 0xD16 */ u16 mItemNo; /* 0xD18 */ u16 field_0xd18; /* 0xD1A */ u8 field_0xD1A[0xD1C - 0xD1A]; /* 0xD1C */ cXyz field_0xd1c; @@ -261,7 +268,9 @@ public: /* 0xDB1 */ u8 field_0xDB1[0xDB2 - 0xDB1]; /* 0xDB2 */ u8 mOnMoveBG; /* 0xDB3 */ u8 field_0xdb3; - /* 0xDB4 */ u8 field_0xDB4[0xDB7 - 0xDB4]; + /* 0xDB4 */ u8 field_0xdb4; + /* 0xDB5 */ u8 mCrashRoll; + /* 0xDB6 */ u8 field_0xdb6; /* 0xDB7 */ u8 mDraw; /* 0xDB8 */ u8 mCtrl; /* 0xDB9 */ u8 field_0xdb9; @@ -284,7 +293,10 @@ public: /* 0xE0E */ u8 field_0xE0E[0xE10 - 0xE0E]; /* 0xE10 */ dJntCol_c field_0xe10; /* 0xE20 */ float field_0xe20; - /* 0xE24 */ u8 field_0xe24[0xE28 - 0xE24]; + /* 0xE24 */ u8 field_0xe24; + /* 0xE25 */ u8 field_0xe25; + /* 0xE26 */ u8 field_0xe26; + /* 0xE27 */ u8 field_0xe27; private: u16 getType_private() { return field_0xd18 >> 1 & 0x1f; } diff --git a/rel/d/a/b/d_a_b_bh/d_a_b_bh.cpp b/rel/d/a/b/d_a_b_bh/d_a_b_bh.cpp index 0ce8f1306a..2ee3eae290 100644 --- a/rel/d/a/b/d_a_b_bh/d_a_b_bh.cpp +++ b/rel/d/a/b/d_a_b_bh/d_a_b_bh.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/b/d_a_b_bh/d_a_b_bh.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -52,16 +53,6 @@ struct daB_BH_HIO_c { /* 805B3098 */ ~daB_BH_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 805AEB04 */ ~cXyz(); - /* 805B3094 */ cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -109,26 +100,6 @@ struct dComIfG_play_c { /* 8002C97C */ void getLayerNo(int); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -151,50 +122,21 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 805B2FC4 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 805B300C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; struct b_bh_class {}; -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 J3DModel {}; // @@ -320,9 +262,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_21(); extern "C" void _savegpr_24(); @@ -351,7 +290,6 @@ 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" extern u32 __float_nan; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -452,19 +390,29 @@ SECTION_DATA static u8 g_y_ji[20] = { }; /* 805B328C-805B32CC 000058 0040+00 1/1 0/0 0/0 .data cc_sph_src$5408 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 805B32CC-805B330C 000098 0040+00 1/1 0/0 0/0 .data tg_sph_src$5409 */ -SECTION_DATA static u8 tg_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph tg_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 805B330C-805B332C -00001 0020+00 1/0 0/0 0/0 .data l_daB_BH_Method */ @@ -869,7 +817,8 @@ static asm void b_bh_wait(b_bh_class* param_0) { #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/b/d_a_b_bh/d_a_b_bh/__dt__4cXyzFv.s" } @@ -1285,7 +1234,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/b/d_a_b_bh/d_a_b_bh/__dt__8cM3dGSphFv.s" } @@ -1295,7 +1245,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/b/d_a_b_bh/d_a_b_bh/__dt__8cM3dGAabFv.s" } @@ -1317,7 +1268,8 @@ csXyz::csXyz() { } /* 805B3094-805B3098 004F14 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } diff --git a/rel/d/a/b/d_a_b_bq/d_a_b_bq.cpp b/rel/d/a/b/d_a_b_bq/d_a_b_bq.cpp index 09ec27919f..7827b8e15e 100644 --- a/rel/d/a/b/d_a_b_bq/d_a_b_bq.cpp +++ b/rel/d/a/b/d_a_b_bq/d_a_b_bq.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/b/d_a_b_bq/d_a_b_bq.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -16,22 +17,6 @@ namespace std { struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 805B3C20 */ ~cXyz(); - /* 805BA250 */ cXyz(cXyz const&); - /* 805BA530 */ cXyz(f32, f32, f32); - /* 805B9D74 */ cXyz(); - /* 805BA160 */ void set(f32, f32, f32); - /* 805BA170 */ void operator=(cXyz const&); - /* 805BA3C4 */ void abs() const; - /* 805BA540 */ void operator+=(Vec const&); -}; - struct obj_ystone_class { /* 805BA234 */ void setCurrentPos(cXyz); }; @@ -174,31 +159,6 @@ struct dComIfG_play_c { 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&); - /* 805B9D78 */ dCcD_Sph(); - /* 805B9DFC */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 805B9F58 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -213,26 +173,10 @@ struct dBgS_LinChk { /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 805B9EC8 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 805B9F10 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 805B9FB4 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk { /* 805B8A04 */ void GetCross(); }; @@ -263,34 +207,15 @@ struct Z2SeqMgr { /* 802AFF8C */ void changeBgmStatus(s32); }; -struct JAISoundID { - /* 805BA26C */ JAISoundID(u32); -}; - -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]; }; @@ -509,8 +434,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); 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_23(); @@ -540,7 +463,6 @@ 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" extern u8 mBlureFlag__13mDoGph_gInf_c[4]; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -904,55 +826,80 @@ SECTION_DATA static u8 takino2[8] = { /* 805BAB6C-805BABAC 0002F8 0040+00 0/1 0/0 0/0 .data cc_sph_src$6538 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 805BABAC-805BABEC 000338 0040+00 0/1 0/0 0/0 .data core_sph_src$6539 */ #pragma push #pragma force_active on -SECTION_DATA static u8 core_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph core_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 805BABEC-805BAC2C 000378 0040+00 0/1 0/0 0/0 .data core_co_sph_src$6540 */ #pragma push #pragma force_active on -SECTION_DATA static u8 core_co_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +static dCcD_SrcSph core_co_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 60.0f} // mSph + } // mSphAttr }; #pragma pop /* 805BAC2C-805BAC6C 0003B8 0040+00 0/1 0/0 0/0 .data body_co_sph_src$6541 */ #pragma push #pragma force_active on -SECTION_DATA static u8 body_co_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +static dCcD_SrcSph body_co_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 60.0f} // mSph + } // mSphAttr }; #pragma pop /* 805BAC6C-805BACAC 0003F8 0040+00 0/1 0/0 0/0 .data mizu_sph_src$6542 */ #pragma push #pragma force_active on -SECTION_DATA static u8 mizu_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0D, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph mizu_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_SOFT_BODY, 0x0, 0xd, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1141,7 +1088,8 @@ static asm void s_fw_sub1(void* param_0, void* 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/b/d_a_b_bq/d_a_b_bq/__dt__4cXyzFv.s" } @@ -2599,7 +2547,8 @@ asm b_bq_class::b_bq_class() { #pragma pop /* 805B9D74-805B9D78 0068F4 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2607,7 +2556,8 @@ cXyz::cXyz() { #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/b/d_a_b_bq/d_a_b_bq/__ct__8dCcD_SphFv.s" } @@ -2617,7 +2567,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/b/d_a_b_bq/d_a_b_bq/__dt__8dCcD_SphFv.s" } @@ -2627,7 +2578,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/b/d_a_b_bq/d_a_b_bq/__dt__8cM3dGSphFv.s" } @@ -2637,7 +2589,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/b/d_a_b_bq/d_a_b_bq/__dt__8cM3dGAabFv.s" } @@ -2647,7 +2600,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/b/d_a_b_bq/d_a_b_bq/__dt__10dCcD_GSttsFv.s" } @@ -2657,7 +2611,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/b/d_a_b_bq/d_a_b_bq/__dt__10cCcD_GSttsFv.s" } @@ -2753,7 +2708,8 @@ asm csXyz::~csXyz() { #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/b/d_a_b_bq/d_a_b_bq/set__4cXyzFfff.s" } @@ -2763,7 +2719,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 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/b/d_a_b_bq/d_a_b_bq/__as__4cXyzFRC4cXyz.s" } @@ -2863,15 +2820,19 @@ asm void obj_ystone_class::setCurrentPos(cXyz 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/b/d_a_b_bq/d_a_b_bq/__ct__4cXyzFRC4cXyz.s" } #pragma pop /* 805BA26C-805BA274 -00001 0008+00 0/0 0/0 0/0 .text __ct__10JAISoundIDFUl */ -JAISoundID::JAISoundID(u32 param_0) { - *(u32*)this = (u32)(param_0); +// JAISoundID::JAISoundID(u32 param_0) { +void __ct__10JAISoundIDFUl() { + asm { + stw r4, 0x0(r3) + } } /* 805BA274-805BA2E8 006DF4 0074+00 1/1 0/0 0/0 .text @@ -2941,7 +2902,8 @@ static asm void cM_ssin(s16 param_0) { #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/b/d_a_b_bq/d_a_b_bq/abs__4cXyzCFv.s" } @@ -2991,7 +2953,8 @@ static asm void dComIfGp_getVibration() { #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/b/d_a_b_bq/d_a_b_bq/__ct__4cXyzFfff.s" } @@ -3001,7 +2964,8 @@ asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::operator+=(Vec const& param_0) { +// asm void cXyz::operator+=(Vec const& param_0) { +extern "C" asm void __apl__4cXyzFRC3Vec() { nofralloc #include "asm/rel/d/a/b/d_a_b_bq/d_a_b_bq/__apl__4cXyzFRC3Vec.s" } diff --git a/rel/d/a/b/d_a_b_gg/d_a_b_gg.cpp b/rel/d/a/b/d_a_b_gg/d_a_b_gg.cpp index 5e453d17bb..a913622915 100644 --- a/rel/d/a/b/d_a_b_gg/d_a_b_gg.cpp +++ b/rel/d/a/b/d_a_b_gg/d_a_b_gg.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/b/d_a_b_gg/d_a_b_gg.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -16,13 +17,6 @@ struct csXyz { /* 8026745C */ void operator+=(csXyz&); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 805ED010 */ ~cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -212,39 +206,6 @@ struct dDlst_shadowControl_c { 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&); - /* 805EC77C */ ~dCcD_Sph(); - /* 805EC848 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 805EC5F8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 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(); @@ -284,40 +245,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 805EC734 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 805E82A8 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F200 */ void SetR(f32); - /* 805EC8CC */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 805EC914 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 805EC97C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -336,12 +263,6 @@ struct Z2SeqMgr { /* 802AF884 */ void subBgmStop(); }; -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); @@ -349,10 +270,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -599,12 +516,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXInverse(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECDotProduct(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_22(); @@ -622,7 +533,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 */]; @@ -640,7 +550,6 @@ 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" extern u8 mBlureFlag__13mDoGph_gInf_c[4]; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -1042,14 +951,19 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { /* 805ED098-805ED0DC 000038 0044+00 0/1 0/0 0/0 .rodata ccCylSrc$3979 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0xD8, 0xFB, 0xBD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x3}, {0xd8fbbdff, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 130.0f, // mRadius + 200.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x805ED098, &ccCylSrc); #pragma pop /* 805ED0DC-805ED120 00007C 0044+00 0/1 0/0 0/0 .rodata ccHookSrc$3980 */ @@ -1068,25 +982,33 @@ COMPILER_STRIP_GATE(0x805ED0DC, &ccHookSrc); /* 805ED120-805ED160 0000C0 0040+00 0/1 0/0 0/0 .rodata ccShieldSphSrc$3981 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const ccShieldSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xBD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +const static dCcD_SrcSph ccShieldSphSrc = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x0}, {0xd8fbbdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x805ED120, &ccShieldSphSrc); #pragma pop /* 805ED160-805ED1A0 000100 0040+00 0/1 0/0 0/0 .rodata ccSphSrc$3982 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_SWORD, 0x0, 0x7, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x805ED160, &ccSphSrc); #pragma pop /* 805DE650-805DE7A4 000330 0154+00 1/1 0/0 0/0 .text initCc__8daB_GG_cFv */ @@ -2529,7 +2451,8 @@ asm void daB_GG_c::G_DeathAction1() { #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/b/d_a_b_gg/d_a_b_gg/__dt__8cM3dGPlaFv.s" } @@ -3000,7 +2923,8 @@ asm daB_GG_c::daB_GG_c() { #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/b/d_a_b_gg/d_a_b_gg/__dt__10dCcD_GSttsFv.s" } @@ -3030,7 +2954,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/b/d_a_b_gg/d_a_b_gg/__dt__8cM3dGSphFv.s" } @@ -3040,7 +2965,8 @@ asm cM3dGSph::~cM3dGSph() { #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/b/d_a_b_gg/d_a_b_gg/__dt__8dCcD_SphFv.s" } @@ -3050,7 +2976,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/b/d_a_b_gg/d_a_b_gg/__ct__8dCcD_SphFv.s" } @@ -3060,7 +2987,8 @@ asm dCcD_Sph::dCcD_Sph() { #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/b/d_a_b_gg/d_a_b_gg/__dt__8cM3dGCylFv.s" } @@ -3070,7 +2998,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/b/d_a_b_gg/d_a_b_gg/__dt__8cM3dGAabFv.s" } @@ -3090,7 +3019,8 @@ static asm void daB_GG_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/b/d_a_b_gg/d_a_b_gg/__dt__10cCcD_GSttsFv.s" } @@ -3242,7 +3172,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/b/d_a_b_gg/d_a_b_gg/__dt__4cXyzFv.s" } diff --git a/rel/d/a/b/d_a_b_gm/d_a_b_gm.cpp b/rel/d/a/b/d_a_b_gm/d_a_b_gm.cpp index b7b5a48008..8219988c30 100644 --- a/rel/d/a/b/d_a_b_gm/d_a_b_gm.cpp +++ b/rel/d/a/b/d_a_b_gm/d_a_b_gm.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/b/d_a_b_gm/d_a_b_gm.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,15 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 805EE020 */ ~cXyz(); -}; - struct obj_ystone_class { /* 805F40D0 */ void setCurrentPos(cXyz); }; @@ -139,31 +131,6 @@ struct dDlst_shadowControl_c { 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&); - /* 805F3B00 */ dCcD_Sph(); - /* 805F3B84 */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 805F3CE0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -201,34 +168,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 805F3C50 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 805EE5D8 */ ~cM3dGPla(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 805F3C98 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 805F3E1C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -269,21 +216,11 @@ struct Z2SeqMgr { /* 802AFF8C */ void changeBgmStatus(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]; }; @@ -485,8 +422,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); 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_19(); extern "C" void _savegpr_24(); @@ -517,7 +452,6 @@ 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 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -730,55 +664,80 @@ SECTION_DATA static u8 name_5641[8] = { /* 805F4574-805F45B4 0001E4 0040+00 0/1 0/0 0/0 .data body_sph_src$6272 */ #pragma push #pragma force_active on -SECTION_DATA static u8 body_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph body_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 805F45B4-805F45F4 000224 0040+00 0/1 0/0 0/0 .data core_sph_src$6273 */ #pragma push #pragma force_active on -SECTION_DATA static u8 core_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph core_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0x2000, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 805F45F4-805F4634 000264 0040+00 0/1 0/0 0/0 .data hand_sph_src$6274 */ #pragma push #pragma force_active on -SECTION_DATA static u8 hand_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph hand_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0xd8fbfdff, 0x43}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; #pragma pop /* 805F4634-805F4674 0002A4 0040+00 0/1 0/0 0/0 .data foot_sph_src$6275 */ #pragma push #pragma force_active on -SECTION_DATA static u8 foot_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph foot_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x1f}, {0xd8fbfdff, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 805F4674-805F46B4 0002E4 0040+00 0/1 0/0 0/0 .data beam_sph_src$6276 */ #pragma push #pragma force_active on -SECTION_DATA static u8 beam_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph beam_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x4, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1056,7 +1015,8 @@ static asm void daB_GM_Draw(b_gm_class* param_0) { #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/b/d_a_b_gm/d_a_b_gm/__dt__4cXyzFv.s" } @@ -1108,7 +1068,8 @@ static asm void bg_check(b_gm_class* 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/b/d_a_b_gm/d_a_b_gm/__dt__8cM3dGPlaFv.s" } @@ -2190,7 +2151,8 @@ b_gm_foot::b_gm_foot() { #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/b/d_a_b_gm/d_a_b_gm/__ct__8dCcD_SphFv.s" } @@ -2200,7 +2162,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/b/d_a_b_gm/d_a_b_gm/__dt__8dCcD_SphFv.s" } @@ -2210,7 +2173,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/b/d_a_b_gm/d_a_b_gm/__dt__8cM3dGSphFv.s" } @@ -2220,7 +2184,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/b/d_a_b_gm/d_a_b_gm/__dt__8cM3dGAabFv.s" } @@ -2230,7 +2195,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/b/d_a_b_gm/d_a_b_gm/__dt__10dCcD_GSttsFv.s" } @@ -2260,7 +2226,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/b/d_a_b_gm/d_a_b_gm/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp b/rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp index b6eb2ed813..9c6135e487 100644 --- a/rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp +++ b/rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/b/d_a_b_gnd/d_a_b_gnd.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - struct mDoMtx_stack_c { /* 8000CE38 */ void scaleM(f32, f32, f32); /* 806009F8 */ void multVecZero(Vec*); @@ -116,18 +115,6 @@ struct g_himo_s { /* 80601DA0 */ g_himo_s(); }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 805F53A4 */ ~cXyz(); - /* 80601DE8 */ cXyz(); - /* 8060248C */ cXyz(f32, f32, f32); - /* 8060234C */ cXyz(cXyz const&); - /* 806025C4 */ void set(f32, f32, f32); - /* 806025D4 */ void operator=(cXyz const&); -}; - struct fopEn_enemy_c { /* 80600A1C */ void setDownPos(cXyz const*); }; @@ -221,37 +208,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80601F24 */ ~dCcD_Sph(); - /* 80601FF0 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80602074 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -299,41 +255,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80601E94 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 805F5EF4 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80601E4C */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80601EDC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806021E8 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -379,10 +308,6 @@ struct Z2SeqMgr { /* 802AFF8C */ void changeBgmStatus(s32); }; -struct Z2SeMgr { - /* 802AD9F4 */ void seMoveVolumeAll(f32, u32); -}; - struct Z2CreatureEnemy { /* 802C0F64 */ Z2CreatureEnemy(); /* 802C1094 */ void init(Vec*, Vec*, u8, u8); @@ -391,10 +316,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter { /* 8027EC60 */ void deleteAllParticle(); }; @@ -687,9 +608,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXScale(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); @@ -733,7 +651,6 @@ 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 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 */]; @@ -1112,11 +1029,16 @@ SECTION_DATA static u8 btk_d[24] = { /* 80602D28-80602D68 000358 0040+00 0/1 0/0 0/0 .data h_cc_sph_src$9127 */ #pragma push #pragma force_active on -SECTION_DATA static u8 h_cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x04, 0x00, 0x60, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph h_cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0x1f}, {0x4006020, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x7, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1134,34 +1056,50 @@ SECTION_DATA static u8 cc_sph_src[64] = { /* 80602DA8-80602DE8 0003D8 0040+00 0/1 0/0 0/0 .data at_sph_src$9129 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 80602DE8-80602E28 000418 0040+00 0/1 0/0 0/0 .data def_sph_src$9130 */ #pragma push #pragma force_active on -SECTION_DATA static u8 def_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xDC, 0xFB, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcSph def_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xdcfbfdfd, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; #pragma pop /* 80602E28-80602E6C 000458 0044+00 0/1 0/0 0/0 .data co_cyl_src$9131 */ #pragma push #pragma force_active on -SECTION_DATA static u8 co_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, +static dCcD_SrcCyl co_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 100.0f, // mRadius + 200.0f // mHeight + } // mCyl }; #pragma pop @@ -1386,7 +1324,8 @@ static asm void daB_GND_Draw(b_gnd_class* param_0) { #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/b/d_a_b_gnd/d_a_b_gnd/__dt__4cXyzFv.s" } @@ -1674,7 +1613,8 @@ static asm void saku_jump_check(b_gnd_class* 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/b/d_a_b_gnd/d_a_b_gnd/__dt__8cM3dGPlaFv.s" } @@ -3359,7 +3299,8 @@ asm g_himo_s::g_himo_s() { #pragma pop /* 80601DE8-80601DEC 00D488 0004+00 3/3 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -3377,7 +3318,8 @@ asm Z2SoundObjSimple::~Z2SoundObjSimple() { #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/b/d_a_b_gnd/d_a_b_gnd/__dt__8cM3dGCylFv.s" } @@ -3387,7 +3329,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/b/d_a_b_gnd/d_a_b_gnd/__dt__8cM3dGSphFv.s" } @@ -3397,7 +3340,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/b/d_a_b_gnd/d_a_b_gnd/__dt__8cM3dGAabFv.s" } @@ -3407,7 +3351,8 @@ asm cM3dGAab::~cM3dGAab() { #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/b/d_a_b_gnd/d_a_b_gnd/__dt__8dCcD_SphFv.s" } @@ -3417,7 +3362,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/b/d_a_b_gnd/d_a_b_gnd/__ct__8dCcD_SphFv.s" } @@ -3427,7 +3373,8 @@ asm dCcD_Sph::dCcD_Sph() { #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/b/d_a_b_gnd/d_a_b_gnd/__dt__10dCcD_GSttsFv.s" } @@ -3467,7 +3414,8 @@ asm J3DLightObj::J3DLightObj() { #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/b/d_a_b_gnd/d_a_b_gnd/__dt__10cCcD_GSttsFv.s" } @@ -3542,7 +3490,8 @@ asm void daPy_py_c::cancelOriginalDemo() { #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/b/d_a_b_gnd/d_a_b_gnd/__ct__4cXyzFRC4cXyz.s" } @@ -3606,7 +3555,8 @@ static asm void dComIfGp_setDoStatusForce(u8 param_0, u8 param_1) { #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/b/d_a_b_gnd/d_a_b_gnd/__ct__4cXyzFfff.s" } @@ -3688,7 +3638,8 @@ asm void daHorse_c::changeDemoMode(u32 param_0, int param_1) { #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/b/d_a_b_gnd/d_a_b_gnd/set__4cXyzFfff.s" } @@ -3698,7 +3649,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 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/b/d_a_b_gnd/d_a_b_gnd/__as__4cXyzFRC4cXyz.s" } diff --git a/rel/d/a/b/d_a_b_gos/d_a_b_gos.cpp b/rel/d/a/b/d_a_b_gos/d_a_b_gos.cpp index 6cd3655b1b..aafda4d771 100644 --- a/rel/d/a/b/d_a_b_gos/d_a_b_gos.cpp +++ b/rel/d/a/b/d_a_b_gos/d_a_b_gos.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/b/d_a_b_gos/d_a_b_gos.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -51,13 +52,6 @@ struct daB_GOS_HIO_c { struct dKy_tevstr_c {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -73,24 +67,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -115,22 +91,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 80605220 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F200 */ void SetR(f32); - /* 806051D8 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80605268 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -238,7 +198,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -295,12 +254,18 @@ SECTION_DATA static u8 j_info[248] = { }; /* 80605514-80605558 0000F8 0044+00 1/1 0/0 0/0 .data cc_cyl_src$3915 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 150.0f, // mRadius + 60.0f // mHeight + } // mCyl }; /* 80605558-80605578 -00001 0020+00 1/0 0/0 0/0 .data l_daB_GOS_Method */ @@ -652,7 +617,8 @@ asm b_gos_class::b_gos_class() { #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/b/d_a_b_gos/d_a_b_gos/__dt__8cM3dGCylFv.s" } @@ -662,7 +628,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/b/d_a_b_gos/d_a_b_gos/__dt__8cM3dGSphFv.s" } @@ -672,7 +639,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/b/d_a_b_gos/d_a_b_gos/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/b/d_a_b_ob/d_a_b_ob.cpp b/rel/d/a/b/d_a_b_ob/d_a_b_ob.cpp index a0c423d432..387a0f5f37 100644 --- a/rel/d/a/b/d_a_b_ob/d_a_b_ob.cpp +++ b/rel/d/a/b/d_a_b_ob/d_a_b_ob.cpp @@ -518,44 +518,64 @@ SECTION_DATA static u8 p_bmd[76] = { /* 8061B2DC-8061B31C 000238 0040+00 0/1 0/0 0/0 .data cc_sph_src$7742 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x09, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_METAL, 0x0, 0x2, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; #pragma pop /* 8061B31C-8061B35C 000278 0040+00 0/1 0/0 0/0 .data body_sph_src$7743 */ #pragma push #pragma force_active on -SECTION_DATA static u8 body_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +static dCcD_SrcSph body_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 60.0f} // mSph + } // mSphAttr }; #pragma pop /* 8061B35C-8061B39C 0002B8 0040+00 0/1 0/0 0/0 .data parts_sph_src$7744 */ #pragma push #pragma force_active on -SECTION_DATA static u8 parts_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +static dCcD_SrcSph parts_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 60.0f} // mSph + } // mSphAttr }; #pragma pop /* 8061B39C-8061B3DC 0002F8 0040+00 0/1 0/0 0/0 .data core_sph_src$7745 */ #pragma push #pragma force_active on -SECTION_DATA static u8 core_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcSph core_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4002, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; #pragma pop diff --git a/rel/d/a/d_a_arrow/d_a_arrow.cpp b/rel/d/a/d_a_arrow/d_a_arrow.cpp index 60dd256888..3149129f1e 100644 --- a/rel/d/a/d_a_arrow/d_a_arrow.cpp +++ b/rel/d/a/d_a_arrow/d_a_arrow.cpp @@ -254,26 +254,33 @@ COMPILER_STRIP_GATE(0x8049DC84, &lit_3768); /* 8049DC90-8049DCDC 00000C 004C+00 0/1 0/0 0/0 .rodata l_atCpsSrc */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_atCpsSrc[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, - 0xD8, 0xFB, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x17, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, +const static dCcD_SrcCps l_atCpsSrc = { + { + {0x0, {{AT_TYPE_ARROW, 0x2, 0x1b}, {0xd8fbffff, 0x11}, 0x0}}, // mObj + {dCcD_SE_23, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, 5.0f}, // mCps + } // mCpsAttr }; -COMPILER_STRIP_GATE(0x8049DC90, &l_atCpsSrc); #pragma pop /* 8049DCDC-8049DD1C 000058 0040+00 0/1 0/0 0/0 .rodata l_coSphSrc */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_coSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x19, 0x17, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, +const static dCcD_SrcSph l_coSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x319}}, // mObj + {dCcD_SE_23, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 25.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x8049DCDC, &l_coSphSrc); #pragma pop /* 8049DD1C-8049DD24 000098 0004+04 2/12 0/0 0/0 .rodata @4130 */ diff --git a/rel/d/a/d_a_bd/d_a_bd.cpp b/rel/d/a/d_a_bd/d_a_bd.cpp index 1c71f3eaee..55fd162c78 100644 --- a/rel/d/a/d_a_bd/d_a_bd.cpp +++ b/rel/d/a/d_a_bd/d_a_bd.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_bd/d_a_bd.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -31,8 +32,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -58,11 +57,6 @@ struct daBd_HIO_c { struct dKy_tevstr_c {}; -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 804D6ED4 */ ~cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -74,24 +68,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -127,14 +103,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 804D9BB8 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 804D9C00 */ ~cM3dGAab(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -268,8 +236,6 @@ 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 PSVECSquareMag(); extern "C" void _savegpr_21(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); @@ -291,7 +257,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 g_Counter[12 + 4 /* padding */]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" void __register_global_object(); // @@ -386,11 +351,16 @@ SECTION_DATA static void* lit_4761[8] = { }; /* 804DA234-804DA274 0002AC 0040+00 1/1 0/0 0/0 .data cc_sph_src$4956 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 10.0f} // mSph + } // mSphAttr }; /* 804DA274-804DA294 -00001 0020+00 1/0 0/0 0/0 .data l_daBd_Method */ @@ -532,7 +502,8 @@ static asm void way_bg_check(bd_class* param_0) { #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/d_a_bd/d_a_bd/__dt__4cXyzFv.s" } @@ -1197,7 +1168,8 @@ static asm void daBd_Create(fopAc_ac_c* param_0) { #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/d_a_bd/d_a_bd/__dt__8cM3dGSphFv.s" } @@ -1207,7 +1179,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/d_a_bd/d_a_bd/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/d_a_canoe/d_a_canoe.cpp b/rel/d/a/d_a_canoe/d_a_canoe.cpp index 487bc9b160..3833fe1dff 100644 --- a/rel/d/a/d_a_canoe/d_a_canoe.cpp +++ b/rel/d/a/d_a_canoe/d_a_canoe.cpp @@ -362,12 +362,18 @@ SECTION_DEAD static char const* const stringBase_804DD6E8 = "F_SP127"; #pragma pop /* 804DD6F0-804DD734 000000 0044+00 1/1 0/0 0/0 .data l_cylSrc */ -SECTION_DATA static u8 l_cylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x5C, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, +static dCcD_SrcCyl l_cylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x10}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 55.0f, // mRadius + 80.0f // mHeight + } // mCyl }; /* 804DA740-804DAB18 0002E0 03D8+00 1/1 0/0 0/0 .text create__9daCanoe_cFv */ diff --git a/rel/d/a/d_a_cstaF/d_a_cstaF.cpp b/rel/d/a/d_a_cstaF/d_a_cstaF.cpp index c3cb6e52c2..95e9010a88 100644 --- a/rel/d/a/d_a_cstaF/d_a_cstaF.cpp +++ b/rel/d/a/d_a_cstaF/d_a_cstaF.cpp @@ -364,12 +364,18 @@ COMPILER_STRIP_GATE(0x804DF930, &lit_4371); #pragma pop /* 804DF9A0-804DF9E4 000000 0044+00 1/1 0/0 0/0 .data l_cylSrc */ -SECTION_DATA static u8 l_cylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x12, 0xD9, 0x7A, 0xFD, 0xDF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xFA, 0x00, 0x00, 0x43, 0xC3, 0x00, 0x00, +static dCcD_SrcCyl l_cylSrc = { + { + {0x0, {{AT_TYPE_THROW_OBJ, 0x1, 0x12}, {0xd97afddf, 0x11}, 0x79}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 125.0f, // mRadius + 390.0f // mHeight + } // mCyl }; /* 804DF9E4-804DFA04 -00001 0020+00 1/0 0/0 0/0 .data l_daCstaF_Method */ diff --git a/rel/d/a/d_a_cstatue/d_a_cstatue.cpp b/rel/d/a/d_a_cstatue/d_a_cstatue.cpp index 5e194b9531..8aed23540e 100644 --- a/rel/d/a/d_a_cstatue/d_a_cstatue.cpp +++ b/rel/d/a/d_a_cstatue/d_a_cstatue.cpp @@ -386,35 +386,50 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { /* 806679D0-80667A1C 000020 004C+00 0/1 0/0 0/0 .data l_atCpsSrc */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_atCpsSrc[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xB0, 0x00, 0x00, +static dCcD_SrcCps l_atCpsSrc = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x4, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_STATUE_HAMMER, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, 88.0f}, // mCps + } // mCpsAttr }; #pragma pop /* 80667A1C-80667A60 00006C 0044+00 0/1 0/0 0/0 .data l_cylSrc */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x12, 0xD9, 0x7A, 0xFD, 0xDF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xB0, 0x00, 0x00, 0x43, 0xC4, 0x00, 0x00, +static dCcD_SrcCyl l_cylSrc = { + { + {0x0, {{AT_TYPE_THROW_OBJ, 0x2, 0x12}, {0xd97afddf, 0x11}, 0x79}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 88.0f, // mRadius + 392.0f // mHeight + } // mCyl }; #pragma pop /* 80667A60-80667AA0 0000B0 0040+00 0/1 0/0 0/0 .data l_sphSrc */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_sphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, - 0xD8, 0xFA, 0xFD, 0xDF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, 0x0A, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcSph l_sphSrc = { + { + {0x0, {{AT_TYPE_CSTATUE_BOSS_SWING, 0x4, 0x1e}, {0xd8fafddf, 0x11}, 0x79}}, // mObj + {dCcD_SE_STONE, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; #pragma pop diff --git a/rel/d/a/d_a_do/d_a_do.cpp b/rel/d/a/d_a_do/d_a_do.cpp index 3ef98af67e..68afa3488f 100644 --- a/rel/d/a/d_a_do/d_a_do.cpp +++ b/rel/d/a/d_a_do/d_a_do.cpp @@ -314,11 +314,16 @@ SECTION_DATA static void* lit_5955[40] = { }; /* 8066F18C-8066F1CC 0001D0 0040+00 1/1 0/0 0/0 .data cc_sph_src$6355 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 8066F1CC-8066F1EC -00001 0020+00 1/0 0/0 0/0 .data l_daDo_Method */ diff --git a/rel/d/a/d_a_ep/d_a_ep.cpp b/rel/d/a/d_a_ep/d_a_ep.cpp index 3ea4749c24..0107b60473 100644 --- a/rel/d/a/d_a_ep/d_a_ep.cpp +++ b/rel/d/a/d_a_ep/d_a_ep.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_ep/d_a_ep.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -21,14 +22,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -45,13 +38,6 @@ struct ep_class { /* 8046AB2C */ ep_class(); }; -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct daObj { /* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32); }; @@ -114,27 +100,6 @@ struct dDlst_shadowControl_c { 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(); - /* 8046AF00 */ ~dCcD_GStts(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -164,34 +129,10 @@ struct dAttention_c { /* 800737E4 */ void LockonTruth(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8046AE28 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8046AE70 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 8046AEB8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8046AF5C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo {}; struct cBgS_LinChk {}; @@ -207,16 +148,6 @@ struct cBgS { struct _GXTexObj {}; -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 LIGHT_INFLUENCE {}; struct JMath { @@ -358,8 +289,6 @@ extern "C" void calcViewFrustum__11J3DUClipperFv(); extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_22(); extern "C" void _savegpr_25(); @@ -390,7 +319,6 @@ extern "C" extern u8 g_env_light[4880]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_whiteColor; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; extern "C" f32 mSystemFar__14mDoLib_clipper; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; @@ -1142,34 +1070,50 @@ COMPILER_STRIP_GATE(0x8046B0CC, &lit_4764); /* 8046B15C-8046B19C 000064 0040+00 0/1 0/0 0/0 .data sph_src$4695 */ #pragma push #pragma force_active on -SECTION_DATA static u8 sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph sph_src = { + { + {0x0, {{0x0, 0x0, 0x10}, {0x20, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x1, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 8046B19C-8046B1E0 0000A4 0044+00 0/1 0/0 0/0 .data co_cyl_src$4702 */ #pragma push #pragma force_active on -SECTION_DATA static u8 co_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xBF, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, +static dCcD_SrcCyl co_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdbf, 0x1f}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 35.0f, // mRadius + 120.0f // mHeight + } // mCyl }; #pragma pop /* 8046B1E0-8046B220 0000E8 0040+00 0/1 0/0 0/0 .data at_sph_src$4710 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_THROW_OBJ, 0x0, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_THROW_OBJ, 0x1, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1298,7 +1242,8 @@ asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { #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/d_a_ep/d_a_ep/__dt__8cM3dGSphFv.s" } @@ -1308,7 +1253,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/d_a_ep/d_a_ep/__dt__8cM3dGCylFv.s" } @@ -1318,7 +1264,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/d_a_ep/d_a_ep/__dt__8cM3dGAabFv.s" } @@ -1328,7 +1275,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/d_a_ep/d_a_ep/__dt__10dCcD_GSttsFv.s" } @@ -1338,7 +1286,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/d_a_ep/d_a_ep/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/d_a_horse/d_a_horse.cpp b/rel/d/a/d_a_horse/d_a_horse.cpp index b1777be94f..7161594c5d 100644 --- a/rel/d/a/d_a_horse/d_a_horse.cpp +++ b/rel/d/a/d_a_horse/d_a_horse.cpp @@ -731,23 +731,34 @@ SECTION_DATA static f32 l_autoUpHeight = 50.0f; /* 808458F8-8084593C 000024 0044+00 0/1 0/0 0/0 .data l_cylSrc */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x12, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x79, - 0x0B, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x43, 0x66, 0x00, 0x00, +static dCcD_SrcCyl l_cylSrc = { + { + {0x0, {{AT_TYPE_HORSE, 0x1, 0x12}, {0xd8fbfdff, 0x9}, 0x79}}, // mObj + {dCcD_SE_HARD_BODY, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x226}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 230.0f // mHeight + } // mCyl }; #pragma pop /* 8084593C-8084597C 000068 0040+00 0/1 0/0 0/0 .data l_sphSrc */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_sphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x26, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph l_sphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x9}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x226}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop diff --git a/rel/d/a/d_a_mg_fish/d_a_mg_fish.cpp b/rel/d/a/d_a_mg_fish/d_a_mg_fish.cpp index ca357f859c..799a8a2b64 100644 --- a/rel/d/a/d_a_mg_fish/d_a_mg_fish.cpp +++ b/rel/d/a/d_a_mg_fish/d_a_mg_fish.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_mg_fish/d_a_mg_fish.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -50,8 +51,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -89,12 +88,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80529E4C */ ~cXyz(); - /* 8053605C */ cXyz(); -}; - struct daPy_py_c { /* 8015F4F0 */ void setLookPos(cXyz*); }; @@ -154,25 +147,6 @@ 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(); - /* 80535E38 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -216,31 +190,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80535DA8 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80535DF0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80536060 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -263,32 +220,15 @@ struct Z2SeqMgr { /* 802B2A88 */ void changeFishingBgm(s32); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0530 */ 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]; }; @@ -501,8 +441,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXScale(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_20(); @@ -541,7 +479,6 @@ 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 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -859,12 +796,18 @@ SECTION_DATA static u8 fish_joint[44] = { /* 805369FC-80536A40 000558 0044+00 0/1 0/0 0/0 .data cc_cyl_src$8395 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 35.0f, // mRadius + 35.0f // mHeight + } // mCyl }; #pragma pop @@ -1031,7 +974,8 @@ static asm void hit_vib_set(mg_fish_class* param_0) { #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/d_a_mg_fish/d_a_mg_fish/__dt__4cXyzFv.s" } @@ -2976,7 +2920,8 @@ static asm void daMg_Fish_Create(fopAc_ac_c* param_0) { #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/d_a_mg_fish/d_a_mg_fish/__dt__8cM3dGCylFv.s" } @@ -2986,7 +2931,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/d_a_mg_fish/d_a_mg_fish/__dt__8cM3dGAabFv.s" } @@ -2996,7 +2942,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/d_a_mg_fish/d_a_mg_fish/__dt__10dCcD_GSttsFv.s" } @@ -3058,7 +3005,8 @@ csXyz::csXyz() { } /* 8053605C-80536060 00C41C 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -3066,7 +3014,8 @@ cXyz::cXyz() { #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/d_a_mg_fish/d_a_mg_fish/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp b/rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp index 78a756ff2d..d56317bb67 100644 --- a/rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp +++ b/rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp @@ -5,6 +5,7 @@ // #include "rel/d/a/d_a_mg_rod/d_a_mg_rod.h" #include "dol2asm.h" +#include "d/cc/d_cc_d.h" #include "dolphin/types.h" // @@ -99,20 +100,6 @@ struct daAlink_c { /* 800F3F38 */ void checkCanoeFishingRodGrabOrPut() const; }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 804BB024 */ cXyz(); - /* 804BB2B8 */ cXyz(cXyz const&); - /* 804BB238 */ cXyz(f32, f32, f32); - /* 804BB1B4 */ ~cXyz(); - /* 804BB390 */ void abs() const; - /* 804BB4A4 */ void operator=(cXyz const&); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -202,26 +189,6 @@ struct dComIfG_play_c { /* 8002B36C */ void setItemBombNumCount(u8, s16); }; -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(); - /* 804BAE3C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084658 */ void ChkCoHit(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -276,33 +243,14 @@ struct dAttLook_c { struct camera_class {}; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 804BADAC */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 804AB01C */ ~cM3dGPla(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 804BADF4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 804BB028 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -326,21 +274,11 @@ struct Z2SeqMgr { /* 802B2A88 */ void changeFishingBgm(s32); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0530 */ void init(Vec*, Vec*, u8, u8); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -603,9 +541,6 @@ 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 __destroy_arr(); extern "C" void __construct_array(); extern "C" void __cvt_fp2unsigned(); @@ -629,9 +564,7 @@ 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" void tan(); 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 */]; @@ -651,7 +584,6 @@ 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" extern u8 struct_80450C98[4]; extern "C" extern u8 cDmr_SkipInfo[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -1034,11 +966,16 @@ SECTION_DATA static u8 esa_bmd[8] = { #pragma pop /* 804BBA6C-804BBAAC 00021C 0040+00 1/1 0/0 0/0 .data cc_sph_src$11380 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x49}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 5.0f} // mSph + } // mSphAttr }; /* 804BBAAC-804BBACC -00001 0020+00 1/0 0/0 0/0 .data l_dmg_rod_Method */ @@ -1578,7 +1515,8 @@ static asm void line_control1(dmg_rod_class* 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/d_a_mg_rod/d_a_mg_rod/__dt__8cM3dGPlaFv.s" } @@ -3220,7 +3158,8 @@ asm dmg_rod_class::dmg_rod_class() { #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/d_a_mg_rod/d_a_mg_rod/__dt__8cM3dGSphFv.s" } @@ -3230,7 +3169,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/d_a_mg_rod/d_a_mg_rod/__dt__8cM3dGAabFv.s" } @@ -3240,7 +3180,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/d_a_mg_rod/d_a_mg_rod/__dt__10dCcD_GSttsFv.s" } @@ -3292,7 +3233,8 @@ csXyz::csXyz() { } /* 804BB024-804BB028 011B24 0004+00 3/3 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -3300,7 +3242,8 @@ cXyz::cXyz() { #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/d_a_mg_rod/d_a_mg_rod/__dt__10cCcD_GSttsFv.s" } @@ -3375,7 +3318,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/d_a_mg_rod/d_a_mg_rod/__dt__4cXyzFv.s" } @@ -3416,7 +3360,8 @@ static asm void dComIfGp_checkPlayerStatus0(int param_0, u32 param_1) { #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/d_a_mg_rod/d_a_mg_rod/__ct__4cXyzFfff.s" } @@ -3476,7 +3421,8 @@ static asm void daPy_getPlayerActorClass() { #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/d_a_mg_rod/d_a_mg_rod/__ct__4cXyzFRC4cXyz.s" } @@ -3536,7 +3482,8 @@ static asm void cM_ssin(s16 param_0) { #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/d_a_mg_rod/d_a_mg_rod/abs__4cXyzCFv.s" } @@ -3546,7 +3493,8 @@ asm void cXyz::abs() const { #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/d_a_mg_rod/d_a_mg_rod/__as__4cXyzFRC4cXyz.s" } diff --git a/rel/d/a/d_a_nbomb/d_a_nbomb.cpp b/rel/d/a/d_a_nbomb/d_a_nbomb.cpp index 6eae5ea20d..3fe8324c5c 100644 --- a/rel/d/a/d_a_nbomb/d_a_nbomb.cpp +++ b/rel/d/a/d_a_nbomb/d_a_nbomb.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_nbomb/d_a_nbomb.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,23 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266CBC */ void outprod(Vec const&) const; - /* 80266F48 */ void normalizeZP(); - /* 80267128 */ void atan2sX_Z() const; - /* 804C6F78 */ ~cXyz(); - - static f32 Zero[3]; - static u8 BaseX[12]; - static u8 BaseY[12]; - static u8 BaseZ[12]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -63,11 +47,6 @@ struct daPy_boomerangMove_c { /* 8015E87C */ void bgCheckAfterOffset(cXyz const*); }; -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - struct daNbomb_c { /* 804C6DCC */ void coHitCallback(fopAc_ac_c*); /* 804C6E34 */ void tgHitCallback(dCcD_GObjInf*); @@ -186,27 +165,10 @@ struct dDlst_shadowControl_c { static u8 mSimpleTexObj[32]; }; -struct cCcD_Obj {}; - struct dCcMassS_Mng { /* 80085D98 */ void Set(cCcD_Obj*, u8); }; -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(); - /* 804C7D58 */ ~dCcD_GStts(); -}; - struct dBomb_c { /* 80031F94 */ void checkStateCarry(); /* 804CC31C */ bool checkExplodeNow(); @@ -253,32 +215,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 804C7CC8 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 804C8A40 */ ~cM3dGPla(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 804C7D10 */ ~cM3dGAab(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 804CC220 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS { @@ -296,16 +240,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -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 WIND_INFLUENCE {}; struct LIGHT_INFLUENCE {}; @@ -314,13 +248,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DFrameCtrl { /* 803283FC */ void init(s16); /* 8032842C */ void checkPass(f32); @@ -531,11 +458,6 @@ extern "C" void PSMTXRotAxisRad(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); extern "C" void PSMTXMultVecSR(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECDotProduct(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_test(); extern "C" void __ptmf_cmpr(); extern "C" void __ptmf_scall(); @@ -552,7 +474,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 u8 g_mDoMtx_identity[48 + 24 /* padding */]; extern "C" extern void* g_fopAc_Method[8]; @@ -572,7 +493,6 @@ extern "C" u8 BaseX__4cXyz[12]; extern "C" u8 BaseY__4cXyz[12]; extern "C" u8 BaseZ__4cXyz[12]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -698,7 +618,8 @@ asm void daNbomb_c::tgHitCallback(dCcD_GObjInf* param_0) { #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/d_a_nbomb/d_a_nbomb/__dt__4cXyzFv.s" } @@ -771,11 +692,16 @@ COMPILER_STRIP_GATE(0x804CC38C, &bmdIdx); #pragma pop /* 804CC4D8-804CC518 000000 0040+00 1/1 0/0 0/0 .data l_sphSrc */ -SECTION_DATA static u8 l_sphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, - 0xD8, 0xFB, 0xFF, 0xEF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph l_sphSrc = { + { + {0x0, {{AT_TYPE_BOMB, 0x4, 0x1e}, {0xd8fbffef, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; /* 804CC518-804CC530 -00001 0018+00 4/4 0/0 0/0 .data m_arcNameList__9daNbomb_c */ @@ -1101,7 +1027,8 @@ asm daNbomb_c::daNbomb_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/d_a_nbomb/d_a_nbomb/__dt__8cM3dGSphFv.s" } @@ -1111,7 +1038,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/d_a_nbomb/d_a_nbomb/__dt__8cM3dGAabFv.s" } @@ -1121,7 +1049,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/d_a_nbomb/d_a_nbomb/__dt__10dCcD_GSttsFv.s" } @@ -1403,7 +1332,8 @@ asm void daNbomb_c::insectLineCheck() { #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/d_a_nbomb/d_a_nbomb/__dt__8cM3dGPlaFv.s" } @@ -1903,7 +1833,8 @@ static asm void daNbomb_Draw(daNbomb_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/d_a_nbomb/d_a_nbomb/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/d_a_ni/d_a_ni.cpp b/rel/d/a/d_a_ni/d_a_ni.cpp index 7282b2de23..0febc36dab 100644 --- a/rel/d/a/d_a_ni/d_a_ni.cpp +++ b/rel/d/a/d_a_ni/d_a_ni.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_ni/d_a_ni.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -40,8 +41,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -64,11 +63,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 8094C204 */ ~cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -136,28 +130,6 @@ struct dDlst_shadowControl_c { 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(); - /* 80950F94 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -210,30 +182,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80950F04 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80950F4C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 809510D0 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -434,8 +390,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_22(); extern "C" void _savegpr_24(); extern "C" void _savegpr_26(); @@ -467,7 +421,6 @@ 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 u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" void __register_global_object(); @@ -617,11 +570,16 @@ SECTION_DATA static u8 key_eno[4] = { }; /* 80951440-80951480 000110 0040+00 1/1 0/0 0/0 .data cc_sph_src$5915 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 80951480-809514A0 -00001 0020+00 1/0 0/0 0/0 .data l_daNi_Method */ @@ -794,7 +752,8 @@ static asm void daNi_Draw(ni_class* param_0) { #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/d_a_ni/d_a_ni/__dt__4cXyzFv.s" } @@ -1725,7 +1684,8 @@ static asm void daNi_Create(fopAc_ac_c* param_0) { #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/d_a_ni/d_a_ni/__dt__8cM3dGSphFv.s" } @@ -1735,7 +1695,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/d_a_ni/d_a_ni/__dt__8cM3dGAabFv.s" } @@ -1745,7 +1706,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/d_a_ni/d_a_ni/__dt__10dCcD_GSttsFv.s" } @@ -1775,7 +1737,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/d_a_ni/d_a_ni/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/d_a_sq/d_a_sq.cpp b/rel/d/a/d_a_sq/d_a_sq.cpp index 693c03a4c3..cb664ddc81 100644 --- a/rel/d/a/d_a_sq/d_a_sq.cpp +++ b/rel/d/a/d_a_sq/d_a_sq.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_sq/d_a_sq.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -33,8 +34,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -60,10 +59,6 @@ struct daSq_HIO_c { struct dKy_tevstr_c {}; -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*); @@ -89,24 +84,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -137,18 +114,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 805A0FB0 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 805A0FF8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -265,7 +230,6 @@ 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 _savegpr_25(); extern "C" void _savegpr_26(); extern "C" void _savegpr_28(); @@ -354,19 +318,29 @@ SECTION_DATA static u8 carry_wait_bck[12] = { }; /* 805A1204-805A1244 00001C 0040+00 1/1 0/0 0/0 .data cc_sph_src$4278 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 805A1244-805A1284 00005C 0040+00 1/1 0/0 0/0 .data at_sph_src$4279 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 15.0f} // mSph + } // mSphAttr }; /* 805A1284-805A12A4 -00001 0020+00 1/0 0/0 0/0 .data l_daSq_Method */ @@ -819,7 +793,8 @@ static asm void daSq_Create(fopAc_ac_c* param_0) { #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/d_a_sq/d_a_sq/__dt__8cM3dGSphFv.s" } @@ -829,7 +804,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/d_a_sq/d_a_sq/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/d_a_swhit0/d_a_swhit0.cpp b/rel/d/a/d_a_swhit0/d_a_swhit0.cpp index 2caad5b2e9..a58c90d79f 100644 --- a/rel/d/a/d_a_swhit0/d_a_swhit0.cpp +++ b/rel/d/a/d_a_swhit0/d_a_swhit0.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_swhit0/d_a_swhit0.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -77,8 +78,6 @@ struct dSv_info_c { struct dKy_tevstr_c {}; -struct cXyz {}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A441C */ void setLightTevColorType(J3DModelData*, dKy_tevstr_c*); @@ -105,52 +104,10 @@ struct dEvent_manager_c { /* 8004817C */ void cutEnd(int); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 804865B4 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 804865FC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -359,11 +316,16 @@ SECTION_RODATA static f32 const lit_3725 = 95.0f; COMPILER_STRIP_GATE(0x80487374, &lit_3725); /* 804873C0-80487400 000004 0040+00 1/1 0/0 0/0 .data l_sph_src */ -SECTION_DATA static u8 l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFA, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fafdff, 0x51}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80486214-80486390 000294 017C+00 1/1 0/0 0/0 .text CreateInit__10daSwhit0_cFv */ @@ -477,7 +439,8 @@ asm void daSwhit0_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/d_a_swhit0/d_a_swhit0/__dt__8cM3dGSphFv.s" } @@ -487,7 +450,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/d_a_swhit0/d_a_swhit0/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/d_a_tbox/d_a_tbox.cpp b/rel/d/a/d_a_tbox/d_a_tbox.cpp index d3a6b83b78..7dfa01175c 100644 --- a/rel/d/a/d_a_tbox/d_a_tbox.cpp +++ b/rel/d/a/d_a_tbox/d_a_tbox.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_tbox/d_a_tbox.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,16 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80490DCC */ ~cXyz(); - - static u8 BaseX[12]; - static u8 BaseY[12]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -248,25 +239,6 @@ struct dEvent_manager_c { /* 8004817C */ void cutEnd(int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80495FA8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -334,32 +306,10 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGCylS {}; - -struct cM3dGCyl { - /* 8026F114 */ void Set(cM3dGCylS const&); - /* 8026F1DC */ void SetC(cXyz const&); - /* 80495F18 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80495F60 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 80496070 */ ~cCcD_GStts(); -}; - struct cBgD_t {}; struct cBgW { @@ -375,12 +325,6 @@ struct cBgS { /* 800744A0 */ void GroundCross(cBgS_GndChk*); }; -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 */]; }; @@ -626,10 +570,6 @@ extern "C" void PSMTXConcat(); extern "C" void PSMTXRotAxisRad(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_21(); extern "C" void _savegpr_24(); @@ -660,7 +600,6 @@ extern "C" u8 BaseX__4cXyz[12]; extern "C" u8 BaseY__4cXyz[12]; 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 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -749,12 +688,18 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { SECTION_DATA static void* l_staff_name = (void*)&d_a_tbox__stringBase0; /* 804964B8-804964FC 000024 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1e}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 804964FC-80496550 -00001 0054+00 1/1 0/0 0/0 .data l_modelInfo */ @@ -1326,7 +1271,8 @@ asm daTbox_HIO_c::daTbox_HIO_c() { #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/d_a_tbox/d_a_tbox/__dt__4cXyzFv.s" } @@ -2332,7 +2278,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/d_a_tbox/d_a_tbox/__dt__8cM3dGCylFv.s" } @@ -2342,7 +2289,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/d_a_tbox/d_a_tbox/__dt__8cM3dGAabFv.s" } @@ -2352,7 +2300,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/d_a_tbox/d_a_tbox/__dt__10dCcD_GSttsFv.s" } @@ -2393,7 +2342,8 @@ static asm void daTbox_MoveBGDraw(daTbox_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/d_a_tbox/d_a_tbox/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/d_a_tbox2/d_a_tbox2.cpp b/rel/d/a/d_a_tbox2/d_a_tbox2.cpp index 68ec5e3d2d..adc6a66083 100644 --- a/rel/d/a/d_a_tbox2/d_a_tbox2.cpp +++ b/rel/d/a/d_a_tbox2/d_a_tbox2.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/d_a_tbox2/d_a_tbox2.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,12 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -107,25 +102,6 @@ struct dEvent_manager_c { /* 8004817C */ void cutEnd(int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 804971F0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base {}; struct dBgW { @@ -183,32 +159,10 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGCylS {}; - -struct cM3dGCyl { - /* 8026F114 */ void Set(cM3dGCylS const&); - /* 8026F1DC */ void SetC(cXyz const&); - /* 80497160 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 804971A8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 804980F8 */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -223,12 +177,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -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 */]; }; @@ -362,8 +310,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); @@ -494,12 +440,18 @@ SECTION_DATA static void* l_arcName = (void*)&d_a_tbox2__stringBase0; SECTION_DATA static void* l_staff_name = (void*)(((char*)&d_a_tbox2__stringBase0) + 0x6); /* 80498284-804982C8 000028 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1e}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80496AB8-80496C20 000118 0168+00 1/0 0/0 0/0 .text Create__9daTbox2_cFv */ @@ -775,7 +727,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/d_a_tbox2/d_a_tbox2/__dt__8cM3dGCylFv.s" } @@ -785,7 +738,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/d_a_tbox2/d_a_tbox2/__dt__8cM3dGAabFv.s" } @@ -795,7 +749,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/d_a_tbox2/d_a_tbox2/__dt__10dCcD_GSttsFv.s" } @@ -1069,7 +1024,8 @@ static asm void daTbox2_MoveBGDraw(daTbox2_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/d_a_tbox2/d_a_tbox2/__dt__10cCcD_GSttsFv.s" } 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 01023ecd15..dc665c9b9b 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_ai/d_a_e_ai.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,13 +13,6 @@ struct request_of_phase_process_class {}; -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&); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -144,35 +138,6 @@ struct dDlst_shadowControl_c { static u8 mSimpleTexObj[32]; }; -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(); - /* 8067BD9C */ ~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 dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -202,35 +167,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8067BD0C */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8067BCC4 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 8067BD54 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8067BEF8 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -397,9 +341,6 @@ 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 PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_19(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -425,7 +366,6 @@ 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" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -569,12 +509,18 @@ SECTION_DATA static u8 eff_id[6 + 2 /* padding */] = { #pragma pop /* 8067C578-8067C5BC 000038 0044+00 1/1 0/0 0/0 .data cc_cyl_src$3819 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xDA, 0xFB, 0xF9, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xdafbf9ff, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 80.0f, // mRadius + 250.0f // mHeight + } // mCyl }; /* 8067C5BC-8067C5DC -00001 0020+00 1/0 0/0 0/0 .data l_daE_AI_Method */ @@ -680,22 +626,30 @@ asm daE_AI_HIO_c::daE_AI_HIO_c() { /* ############################################################################################## */ /* 8067C438-8067C478 00003C 0040+00 1/1 0/0 0/0 .rodata at_sph_src$3817 */ -SECTION_RODATA static u8 const at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +const static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x8067C438, &at_sph_src); /* 8067C478-8067C4B8 00007C 0040+00 1/1 0/0 0/0 .rodata shield_sph_src$3818 */ -SECTION_RODATA static u8 const shield_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +const static dCcD_SrcSph shield_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x8067C478, &shield_sph_src); /* 806791BC-80679284 00013C 00C8+00 1/1 0/0 0/0 .text initCcCylinder__10e_ai_classFv */ #pragma push @@ -1213,7 +1167,8 @@ asm e_ai_class::e_ai_class() { #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_ai/d_a_e_ai/__dt__8cM3dGCylFv.s" } @@ -1223,7 +1178,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_ai/d_a_e_ai/__dt__8cM3dGSphFv.s" } @@ -1233,7 +1189,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_ai/d_a_e_ai/__dt__8cM3dGAabFv.s" } @@ -1243,7 +1200,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_ai/d_a_e_ai/__dt__10dCcD_GSttsFv.s" } @@ -1283,7 +1241,8 @@ static asm void daE_AI_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_ai/d_a_e_ai/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.cpp b/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.cpp index 570f056902..0c2f8ec100 100644 --- a/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.cpp +++ b/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -31,15 +32,6 @@ struct daPy_py_c { struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 8067CB68 */ ~cXyz(); -}; - struct daAlink_c { /* 800DC8C4 */ void setArrowShieldActor(fopAc_ac_c*, int); /* 800DCA2C */ void checkWoodShieldEquipNotIronBall() const; @@ -88,33 +80,6 @@ struct dMeter2_c { /* 8021F780 */ void setLifeZero(); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 8067E7B4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -153,26 +118,10 @@ struct dAttLook_c { /* 80073D08 */ void request(fopAc_ac_c*, f32, f32, f32, s16, int); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8067E724 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 8067E76C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8067E810 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -193,17 +142,6 @@ struct Z2SoundObjArrow { /* 802BEB38 */ Z2SoundObjArrow(); }; -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter { /* 8027EC60 */ void deleteAllParticle(); }; @@ -337,10 +275,6 @@ extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXScale(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_22(); extern "C" void _savegpr_24(); @@ -367,7 +301,6 @@ extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 g_meter2_info[248]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; 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 */]; @@ -481,7 +414,8 @@ static asm void fire_eff_set(e_arrow_class* param_0) { #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_arrow/d_a_e_arrow/__dt__4cXyzFv.s" } @@ -850,33 +784,48 @@ SECTION_DATA static u8 fire_name[8] = { /* 8067E9A0-8067E9E0 000028 0040+00 0/1 0/0 0/0 .data at_sph_src$5035 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_ARROW_STICK, 0x0, 0x8, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; #pragma pop /* 8067E9E0-8067EA20 000068 0040+00 0/1 0/0 0/0 .data tg_sph_src$5036 */ #pragma push #pragma force_active on -SECTION_DATA static u8 tg_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFA, 0xFD, 0xB7, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph tg_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fafdb7, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x5, 0x0, 0x0, 0x22}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 8067EA20-8067EA60 0000A8 0040+00 0/1 0/0 0/0 .data fire_eff_sph_src$5039 */ #pragma push #pragma force_active on -SECTION_DATA static u8 fire_eff_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x07, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph fire_eff_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x4, 0x1d}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_ARROW_STICK, 0x0, 0x0, 0x1, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1187,7 +1136,8 @@ static asm void daE_ARROW_Create(fopAc_ac_c* param_0) { #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_arrow/d_a_e_arrow/__dt__8cM3dGSphFv.s" } @@ -1197,7 +1147,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_arrow/d_a_e_arrow/__dt__8cM3dGAabFv.s" } @@ -1207,7 +1158,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_arrow/d_a_e_arrow/__dt__10dCcD_GSttsFv.s" } @@ -1217,7 +1169,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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_arrow/d_a_e_arrow/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/e/d_a_e_ba/d_a_e_ba.cpp b/rel/d/a/e/d_a_e_ba/d_a_e_ba.cpp index 88c33b47f0..2c4fbe7406 100644 --- a/rel/d/a/e/d_a_e_ba/d_a_e_ba.cpp +++ b/rel/d/a/e/d_a_e_ba/d_a_e_ba.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_ba/d_a_e_ba.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -58,13 +59,6 @@ struct daE_BA_HIO_c { /* 80681F00 */ ~daE_BA_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -110,28 +104,6 @@ struct dPa_control_c { 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(); - /* 80681D7C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -161,30 +133,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80681CEC */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80681D34 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80681EB8 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -202,13 +158,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DFrameCtrl { /* 8032842C */ void checkPass(f32); }; @@ -348,9 +297,6 @@ 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 _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_27(); @@ -372,7 +318,6 @@ 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" extern u32 __float_nan; 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]; @@ -563,11 +508,16 @@ SECTION_DATA static void* arc_name[3] = { }; /* 80682530-80682570 000094 0040+00 1/1 0/0 0/0 .data cc_sph_src$5011 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80682570-80682590 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BA_Method */ @@ -1199,7 +1149,8 @@ static asm void daE_BA_Create(fopAc_ac_c* param_0) { #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_ba/d_a_e_ba/__dt__8cM3dGSphFv.s" } @@ -1209,7 +1160,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_ba/d_a_e_ba/__dt__8cM3dGAabFv.s" } @@ -1219,7 +1171,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_ba/d_a_e_ba/__dt__10dCcD_GSttsFv.s" } @@ -1249,7 +1202,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_ba/d_a_e_ba/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/e/d_a_e_bee/d_a_e_bee.cpp b/rel/d/a/e/d_a_e_bee/d_a_e_bee.cpp index a54a79194a..14714f89d7 100644 --- a/rel/d/a/e/d_a_e_bee/d_a_e_bee.cpp +++ b/rel/d/a/e/d_a_e_bee/d_a_e_bee.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_bee/d_a_e_bee.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -30,14 +31,6 @@ struct daE_Bee_HIO_c { /* 8068539C */ ~daE_Bee_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80682D78 */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -70,34 +63,6 @@ struct dComIfG_play_c { /* 8002CB68 */ void entrySimpleModel(J3DModel*, int); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_LinChk { /* 80077C68 */ dBgS_LinChk(); /* 80077CDC */ ~dBgS_LinChk(); @@ -109,26 +74,6 @@ struct dBgS_GndChk { /* 800775F0 */ ~dBgS_GndChk(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80685224 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 8068526C */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 806852B4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -153,8 +98,6 @@ struct Z2SoundObjSimple { /* 802BE844 */ Z2SoundObjSimple(); }; -struct JAISoundID {}; - struct Z2SoundObjBeeGroup { /* 802C1D10 */ Z2SoundObjBeeGroup(); /* 802C1D6C */ void playBeeGroupSound(JAISoundID, u8); @@ -265,8 +208,6 @@ 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_19(); extern "C" void _savegpr_23(); @@ -295,7 +236,6 @@ 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" extern u32 __float_nan; extern "C" void __register_global_object(); // @@ -308,20 +248,31 @@ SECTION_RODATA static f32 const lit_3770 = 1.0f; COMPILER_STRIP_GATE(0x80685434, &lit_3770); /* 8068552C-80685570 000000 0044+00 1/1 0/0 0/0 .data cc_cyl_src$4798 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x41, 0x00, 0x22, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x410022, 0x23}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 30.0f, // mRadius + 130.0f // mHeight + } // mCyl }; /* 80685570-806855B0 000044 0040+00 1/1 0/0 0/0 .data at_sph_src$4799 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0xc, 0x0, 0x1}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; /* 806855B0-806855D0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_Bee_Method */ @@ -558,7 +509,8 @@ static asm void bee_ground_ang_set(bee_s* param_0) { #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_bee/d_a_e_bee/__dt__4cXyzFv.s" } @@ -1010,7 +962,8 @@ static asm void daE_Bee_Create(fopAc_ac_c* param_0) { #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_bee/d_a_e_bee/__dt__8cM3dGSphFv.s" } @@ -1020,7 +973,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_bee/d_a_e_bee/__dt__8cM3dGCylFv.s" } @@ -1030,7 +984,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_bee/d_a_e_bee/__dt__8cM3dGAabFv.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 e73002a112..bd1ba98975 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_bi/d_a_e_bi.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -46,13 +47,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 8068D79C */ ~cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -112,34 +106,6 @@ struct dDlst_shadowControl_c { 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(); - /* 8068D238 */ ~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(); }; @@ -183,37 +149,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8068D160 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 8068D1A8 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 8068D1F0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8068D294 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -241,13 +184,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -397,8 +333,6 @@ 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 _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_24(); @@ -427,7 +361,6 @@ 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 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -598,20 +531,31 @@ SECTION_DATA static void* lit_4662[8] = { }; /* 8068D958-8068D99C 00006C 0044+00 1/1 0/0 0/0 .data cc_cyl_src$4970 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 30.0f, // mRadius + 20.0f // mHeight + } // mCyl }; /* 8068D99C-8068D9DC 0000B0 0040+00 1/1 0/0 0/0 .data at_sph_src$4971 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; /* 8068D9DC-8068D9FC -00001 0020+00 1/0 0/0 0/0 .data l_daE_BI_Method */ @@ -1364,7 +1308,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_bi/d_a_e_bi/__dt__8cM3dGSphFv.s" } @@ -1374,7 +1319,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_bi/d_a_e_bi/__dt__8cM3dGCylFv.s" } @@ -1384,7 +1330,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_bi/d_a_e_bi/__dt__8cM3dGAabFv.s" } @@ -1394,7 +1341,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_bi/d_a_e_bi/__dt__10dCcD_GSttsFv.s" } @@ -1404,7 +1352,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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_bi/d_a_e_bi/__dt__10cCcD_GSttsFv.s" } @@ -1501,7 +1450,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_bi/d_a_e_bi/__dt__4cXyzFv.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 7d37ddbf23..e1897f6d7f 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_bs/d_a_e_bs.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -39,8 +40,6 @@ struct mDoExt_McaMorfSO { /* 80011310 */ void stopZelAnime(); }; -struct Vec {}; - struct mDoExt_McaMorf { /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, @@ -75,12 +74,6 @@ struct dSv_info_c { struct dKy_tevstr_c {}; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -117,36 +110,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 80690648 */ ~dCcD_Sph(); - /* 80690714 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80690798 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -176,32 +139,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806905B8 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80690600 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806908D4 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -370,8 +315,6 @@ 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_24(); @@ -399,7 +342,6 @@ 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" void __register_global_object(); @@ -583,19 +525,29 @@ SECTION_DATA static u8 ap_name_4233[6 + 2 /* padding */] = { }; /* 80690F48-80690F88 000084 0040+00 1/1 0/0 0/0 .data cc_sph_src$4691 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80690F88-80690FC8 0000C4 0040+00 1/1 0/0 0/0 .data at_sph_src$4692 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; /* 80690FC8-80690FE8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BS_Method */ @@ -1204,7 +1156,8 @@ static asm void daE_BS_Create(fopAc_ac_c* param_0) { #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_bs/d_a_e_bs/__dt__8cM3dGSphFv.s" } @@ -1214,7 +1167,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_bs/d_a_e_bs/__dt__8cM3dGAabFv.s" } @@ -1224,7 +1178,8 @@ asm cM3dGAab::~cM3dGAab() { #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_bs/d_a_e_bs/__dt__8dCcD_SphFv.s" } @@ -1234,7 +1189,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_bs/d_a_e_bs/__ct__8dCcD_SphFv.s" } @@ -1244,7 +1200,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_bs/d_a_e_bs/__dt__10dCcD_GSttsFv.s" } @@ -1274,7 +1231,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_bs/d_a_e_bs/__dt__10cCcD_GSttsFv.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 39d9b25e0d..bd58533573 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_bu/d_a_e_bu.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -63,12 +64,6 @@ struct dSv_info_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*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -107,28 +102,6 @@ struct dDlst_shadowControl_c { 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(); - /* 80694050 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -158,30 +131,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80693FC0 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80694008 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8069418C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -204,13 +161,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -346,9 +296,6 @@ 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 _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_26(); @@ -376,7 +323,6 @@ 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 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -581,11 +527,16 @@ SECTION_DATA static u8 ice_name[6 + 2 /* padding */] = { }; /* 80694850-80694890 0000D4 0040+00 1/1 0/0 0/0 .data cc_sph_src$4803 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80694890-806948B0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BU_Method */ @@ -1216,7 +1167,8 @@ static asm void daE_BU_Create(fopAc_ac_c* param_0) { #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_bu/d_a_e_bu/__dt__8cM3dGSphFv.s" } @@ -1226,7 +1178,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_bu/d_a_e_bu/__dt__8cM3dGAabFv.s" } @@ -1236,7 +1189,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_bu/d_a_e_bu/__dt__10dCcD_GSttsFv.s" } @@ -1266,7 +1220,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_bu/d_a_e_bu/__dt__10cCcD_GSttsFv.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 7d0b202fc7..cb0747e216 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_cr/d_a_e_cr.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -58,12 +59,6 @@ struct daE_CR_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*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -96,28 +91,6 @@ struct dDlst_shadowControl_c { 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(); - /* 80699670 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -147,30 +120,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806995E0 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80699628 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806997AC */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -310,8 +267,6 @@ 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 _savegpr_19(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -332,7 +287,6 @@ 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" void __register_global_object(); @@ -465,11 +419,16 @@ SECTION_DATA static u8 eff_id[6 + 2 /* padding */] = { #pragma pop /* 80699D84-80699DC4 000038 0040+00 1/1 0/0 0/0 .data cc_sph_src$4251 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80699DC4-80699DE4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_CR_Method */ @@ -895,7 +854,8 @@ static asm void daE_CR_Create(fopAc_ac_c* param_0) { #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_cr/d_a_e_cr/__dt__8cM3dGSphFv.s" } @@ -905,7 +865,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_cr/d_a_e_cr/__dt__8cM3dGAabFv.s" } @@ -915,7 +876,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_cr/d_a_e_cr/__dt__10dCcD_GSttsFv.s" } @@ -945,7 +907,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_cr/d_a_e_cr/__dt__10cCcD_GSttsFv.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 4b367f1e83..11ce8f2bab 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 @@ -4,6 +4,7 @@ // #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" // @@ -29,12 +30,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ 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*); @@ -62,26 +57,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -104,18 +79,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8069A7B4 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 8069A7FC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -124,22 +87,12 @@ struct cBgS_PolyInfo {}; struct _GXTexObj {}; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0530 */ void init(Vec*, Vec*, u8, u8); /* 802C06F4 */ void stopAnime(); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -211,7 +164,6 @@ extern "C" void stopAnime__10Z2CreatureFv(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" extern void* g_fopAc_Method[8]; @@ -413,11 +365,16 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { /* ############################################################################################## */ /* 8069A920-8069A960 00000C 0040+00 1/1 0/0 0/0 .data cc_sph_src$3802 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 8069A960-8069A980 -00001 0020+00 1/0 0/0 0/0 .data l_daE_CR_EGG_Method */ @@ -484,7 +441,8 @@ static asm void daE_CR_EGG_Create(fopAc_ac_c* param_0) { #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_cr_egg/d_a_e_cr_egg/__dt__8cM3dGSphFv.s" } @@ -494,7 +452,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_cr_egg/d_a_e_cr_egg/__dt__8cM3dGAabFv.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 c3e6b742d6..4899f083a3 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_db/d_a_e_db.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -39,8 +40,6 @@ struct mDoExt_McaMorfSO { /* 80011310 */ void stopZelAnime(); }; -struct Vec {}; - struct mDoExt_McaMorf { /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); /* 800105C8 */ void play(Vec*, u32, s8); @@ -69,14 +68,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 806A138C */ cXyz(); - /* 806A18BC */ ~cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -145,35 +136,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 806A114C */ dCcD_Sph(); - /* 806A11D0 */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806A132C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -207,32 +169,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806A129C */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 806A12E4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806A1390 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -263,13 +207,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -447,9 +384,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); 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_20(); @@ -486,7 +420,6 @@ 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 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -754,33 +687,48 @@ SECTION_DATA static u8 p_idx[12] = { /* 806A1C00-806A1C40 00018C 0040+00 0/1 0/0 0/0 .data cc_sph_src$5987 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x25}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 806A1C40-806A1C80 0001CC 0040+00 0/1 0/0 0/0 .data at_sph_src$5988 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 806A1C80-806A1CC0 00020C 0040+00 0/1 0/0 0/0 .data kuki_sph_src$5989 */ #pragma push #pragma force_active on -SECTION_DATA static u8 kuki_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph kuki_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1730,7 +1678,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_db/d_a_e_db/__ct__8dCcD_SphFv.s" } @@ -1740,7 +1689,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_db/d_a_e_db/__dt__8dCcD_SphFv.s" } @@ -1750,7 +1700,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_db/d_a_e_db/__dt__8cM3dGSphFv.s" } @@ -1760,7 +1711,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_db/d_a_e_db/__dt__8cM3dGAabFv.s" } @@ -1770,7 +1722,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_db/d_a_e_db/__dt__10dCcD_GSttsFv.s" } @@ -1782,7 +1735,8 @@ csXyz::csXyz() { } /* 806A138C-806A1390 00698C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1790,7 +1744,8 @@ cXyz::cXyz() { #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_db/d_a_e_db/__dt__10cCcD_GSttsFv.s" } @@ -1867,7 +1822,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_db/d_a_e_db/__dt__4cXyzFv.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 c4335f2d0d..bc09c510fc 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_dd/d_a_e_dd.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -76,12 +77,6 @@ struct dSv_info_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*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -118,33 +113,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 806A69A4 */ dCcD_Sph(); - /* 806A6A28 */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806A6B84 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -184,30 +152,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806A6AF4 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 806A6B3C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806A6CC0 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -225,12 +177,6 @@ struct cBgS { 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); @@ -238,17 +184,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -417,8 +352,6 @@ 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_22(); @@ -450,7 +383,6 @@ 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" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -690,19 +622,29 @@ SECTION_DATA static u8 xa[10 + 2 /* padding */] = { }; /* 806A7364-806A73A4 0000A4 0040+00 1/1 0/0 0/0 .data fire_sph_src$5643 */ -SECTION_DATA static u8 fire_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph fire_sph_src = { + { + {0x0, {{0x100, 0x2, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_SWORD, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 806A73A4-806A73E4 0000E4 0040+00 1/1 0/0 0/0 .data cc_sph_src$5644 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x1f}, {0xd8fbfdff, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 806A73E4-806A7404 -00001 0020+00 1/0 0/0 0/0 .data l_daE_DD_Method */ @@ -1422,7 +1364,8 @@ static asm void daE_DD_Create(fopAc_ac_c* param_0) { #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_dd/d_a_e_dd/__ct__8dCcD_SphFv.s" } @@ -1432,7 +1375,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_dd/d_a_e_dd/__dt__8dCcD_SphFv.s" } @@ -1442,7 +1386,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_dd/d_a_e_dd/__dt__8cM3dGSphFv.s" } @@ -1452,7 +1397,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_dd/d_a_e_dd/__dt__8cM3dGAabFv.s" } @@ -1462,7 +1408,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_dd/d_a_e_dd/__dt__10dCcD_GSttsFv.s" } @@ -1492,7 +1439,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_dd/d_a_e_dd/__dt__10cCcD_GSttsFv.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 4e1e9259b7..8876aa4dc1 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_df/d_a_e_df.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -145,29 +140,6 @@ struct dEvt_control_c { /* 80042468 */ void reset(); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806A99C0 */ ~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(); @@ -184,25 +156,10 @@ struct dBgS_LinChk { /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 806A9930 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 806A9978 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806A9A3C */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS { @@ -355,8 +312,6 @@ 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 PSVECSquareDistance(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); extern "C" void _savegpr_28(); @@ -378,7 +333,6 @@ 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 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -589,14 +543,19 @@ COMPILER_STRIP_GATE(0x806A9F58, &lit_3922); #pragma pop /* 806A9F5C-806A9FA0 00002C 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$3961 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0D, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, 0x43, 0x1E, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 150.0f, // mRadius + 158.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x806A9F5C, &ccCylSrc); /* 806A7828-806A78A0 000228 0078+00 1/1 0/0 0/0 .text initCcCylinder__8daE_DF_cFv */ #pragma push @@ -1080,7 +1039,8 @@ asm void daE_DF_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_df/d_a_e_df/__dt__8cM3dGCylFv.s" } @@ -1090,7 +1050,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_df/d_a_e_df/__dt__8cM3dGAabFv.s" } @@ -1100,7 +1061,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_df/d_a_e_df/__dt__10dCcD_GSttsFv.s" } @@ -1120,7 +1082,8 @@ static asm void daE_DF_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_df/d_a_e_df/__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 67f73d3da0..ab58517785 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_dn/d_a_e_dn.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -58,13 +59,6 @@ struct daE_DN_HIO_c { /* 804EE39C */ ~daE_DN_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -127,37 +121,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 804EE0C4 */ ~dCcD_Sph(); - /* 804EE190 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 804EE214 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - struct dBomb_c { /* 80031F94 */ void checkStateCarry(); }; @@ -211,32 +174,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 804EE034 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 804EE07C */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 804EE354 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -262,13 +207,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -472,9 +410,6 @@ 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_23(); @@ -508,7 +443,6 @@ 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" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -864,33 +798,48 @@ SECTION_DATA static void* jc_data[36] = { /* 804EED38-804EED78 0002F8 0040+00 0/1 0/0 0/0 .data cc_sph_src$7459 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 804EED78-804EEDB8 000338 0040+00 0/1 0/0 0/0 .data at_sph_src$7460 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 804EEDB8-804EEDF8 000378 0040+00 0/1 0/0 0/0 .data tate_sph_src$7461 */ #pragma push #pragma force_active on -SECTION_DATA static u8 tate_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcSph tate_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x5, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; #pragma pop @@ -2212,7 +2161,8 @@ asm e_dn_class::e_dn_class() { #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_dn/d_a_e_dn/__dt__8cM3dGSphFv.s" } @@ -2222,7 +2172,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_dn/d_a_e_dn/__dt__8cM3dGAabFv.s" } @@ -2232,7 +2183,8 @@ asm cM3dGAab::~cM3dGAab() { #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_dn/d_a_e_dn/__dt__8dCcD_SphFv.s" } @@ -2242,7 +2194,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_dn/d_a_e_dn/__ct__8dCcD_SphFv.s" } @@ -2252,7 +2205,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_dn/d_a_e_dn/__dt__10dCcD_GSttsFv.s" } @@ -2287,7 +2241,8 @@ csXyz::csXyz() { #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_dn/d_a_e_dn/__dt__10cCcD_GSttsFv.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 be46780550..d43700327d 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_fk/d_a_e_fk.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,10 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz { - /* 806BB680 */ ~cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CDD4 */ void transM(cXyz const&); @@ -122,31 +119,6 @@ struct dRes_control_c { 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&); - /* 806BB394 */ ~dCcD_Sph(); - /* 806BB460 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 800845B0 */ void getHitSeID(u8, int); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -168,24 +140,10 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806BB4E4 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 806BB52C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct Vec {}; - struct Z2CreatureEnemy { /* 802C0F64 */ Z2CreatureEnemy(); /* 802C1094 */ void init(Vec*, Vec*, u8, u8); @@ -320,8 +278,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -343,7 +299,6 @@ 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" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" void __register_global_object(); @@ -510,13 +465,17 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { /* ############################################################################################## */ /* 806BB704-806BB744 000034 0040+00 1/1 0/0 0/0 .rodata ccBodySphSrc$3886 */ -SECTION_RODATA static u8 const ccBodySphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +const static dCcD_SrcSph ccBodySphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4000000, 0x43}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0xd, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x806BB704, &ccBodySphSrc); /* 806B9534-806B95BC 000294 0088+00 1/1 0/0 0/0 .text initBodySph__8daE_FK_cFv */ #pragma push @@ -530,13 +489,17 @@ asm void daE_FK_c::initBodySph() { /* ############################################################################################## */ /* 806BB744-806BB784 000074 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3898 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0D, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_SWORD, 0x0, 0xd, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 80.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x806BB744, &ccSphSrc); /* 806B95BC-806B9670 00031C 00B4+00 1/1 0/0 0/0 .text initSwordSph__8daE_FK_cFv */ #pragma push @@ -1299,7 +1262,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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_fk/d_a_e_fk/__dt__8dCcD_SphFv.s" } @@ -1309,7 +1273,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_fk/d_a_e_fk/__ct__8dCcD_SphFv.s" } @@ -1319,7 +1284,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_fk/d_a_e_fk/__dt__8cM3dGSphFv.s" } @@ -1329,7 +1295,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_fk/d_a_e_fk/__dt__8cM3dGAabFv.s" } @@ -1416,7 +1383,8 @@ static asm void func_806BB678() { #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_fk/d_a_e_fk/__dt__4cXyzFv.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 c2f3692257..600b00f01f 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_fm/d_a_e_fm.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,19 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 804EF678 */ ~cXyz(); - /* 804FA4A4 */ cXyz(cXyz const&); - /* 804FA38C */ cXyz(); - /* 804FA550 */ void abs() const; - /* 804FA664 */ void operator=(cXyz const&); -}; - struct obj_ystone_class { /* 804FA488 */ void setCurrentPos(cXyz); }; @@ -170,33 +158,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 804FA100 */ ~dCcD_Sph(); - /* 804FA1CC */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 804FA250 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -244,30 +205,14 @@ struct chain_s { /* 804F9F14 */ chain_s(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 804FA070 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 804FA0B8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 804FA390 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -289,35 +234,18 @@ struct Z2SeqMgr { /* 802AFF8C */ void changeBgmStatus(s32); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - 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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct LIGHT_INFLUENCE {}; struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -564,9 +492,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_14(); @@ -608,7 +533,6 @@ 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" extern u8 struct_80450C98[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -1079,77 +1003,112 @@ SECTION_DATA static u8 eff_btk[8] = { /* 804FABC8-804FAC08 000278 0040+00 0/1 0/0 0/0 .data cc_sph_src$8693 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x1d}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 804FAC08-804FAC48 0002B8 0040+00 0/1 0/0 0/0 .data at_sph_src$8694 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0xe, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 804FAC48-804FAC88 0002F8 0040+00 0/1 0/0 0/0 .data core_sph_src$8695 */ #pragma push #pragma force_active on -SECTION_DATA static u8 core_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph core_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x2002, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 804FAC88-804FACC8 000338 0040+00 0/1 0/0 0/0 .data eff_at_sph_src$8696 */ #pragma push #pragma force_active on -SECTION_DATA static u8 eff_at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph eff_at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x4, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0xe, 0x1, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 804FACC8-804FAD08 000378 0040+00 0/1 0/0 0/0 .data f_eff_at_sph_src$8697 */ #pragma push #pragma force_active on -SECTION_DATA static u8 f_eff_at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph f_eff_at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x1, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x1, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 804FAD08-804FAD48 0003B8 0040+00 0/1 0/0 0/0 .data chain_at_sph_src$8698 */ #pragma push #pragma force_active on -SECTION_DATA static u8 chain_at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xB4, 0x00, 0x00, +static dCcD_SrcSph chain_at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_BOSS_SWING, 0x2, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x2, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 90.0f} // mSph + } // mSphAttr }; #pragma pop /* 804FAD48-804FAD88 0003F8 0040+00 0/0 0/0 0/0 .data chain_co_sph_src$8699 */ #pragma push #pragma force_active on -SECTION_DATA static u8 chain_co_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph chain_co_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1467,7 +1426,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_fm/d_a_e_fm/__dt__4cXyzFv.s" } @@ -2830,7 +2790,8 @@ csXyz::csXyz() { #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_fm/d_a_e_fm/__dt__8cM3dGSphFv.s" } @@ -2840,7 +2801,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_fm/d_a_e_fm/__dt__8cM3dGAabFv.s" } @@ -2850,7 +2812,8 @@ asm cM3dGAab::~cM3dGAab() { #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_fm/d_a_e_fm/__dt__8dCcD_SphFv.s" } @@ -2860,7 +2823,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_fm/d_a_e_fm/__ct__8dCcD_SphFv.s" } @@ -2870,7 +2834,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_fm/d_a_e_fm/__dt__10dCcD_GSttsFv.s" } @@ -2897,7 +2862,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma pop /* 804FA38C-804FA390 00B38C 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2905,7 +2871,8 @@ cXyz::cXyz() { #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_fm/d_a_e_fm/__dt__10cCcD_GSttsFv.s" } @@ -2970,7 +2937,8 @@ asm void obj_ystone_class::setCurrentPos(cXyz 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_fm/d_a_e_fm/__ct__4cXyzFRC4cXyz.s" } @@ -3003,7 +2971,8 @@ asm void daPy_py_c::changeDemoPos0(cXyz const* param_0) { #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_fm/d_a_e_fm/abs__4cXyzCFv.s" } @@ -3013,7 +2982,8 @@ asm void cXyz::abs() const { #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_fm/d_a_e_fm/__as__4cXyzFRC4cXyz.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 be4ad5f992..a949abc726 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_fs/d_a_e_fs.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -45,14 +46,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 806BE43C */ ~cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -116,37 +109,6 @@ struct dComIfG_play_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806BDE10 */ ~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(); }; @@ -192,35 +154,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806BDD38 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 806BDD80 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 806BDDC8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806BDF4C */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -386,8 +327,6 @@ 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 _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_26(); @@ -416,7 +355,6 @@ 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" 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(); @@ -584,20 +522,31 @@ SECTION_DATA static void* lit_4546[11] = { }; /* 806BE608-806BE64C 000088 0044+00 1/1 0/0 0/0 .data cc_cyl_src$4689 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, 0x43, 0x66, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x4, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 80.0f, // mRadius + 230.0f // mHeight + } // mCyl }; /* 806BE64C-806BE68C 0000CC 0040+00 1/1 0/0 0/0 .data at_sph_src$4690 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_17, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; /* 806BE68C-806BE6AC -00001 0020+00 1/0 0/0 0/0 .data l_daE_Fs_Method */ @@ -1286,7 +1235,8 @@ static asm void daE_Fs_Create(fopAc_ac_c* param_0) { #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_fs/d_a_e_fs/__dt__8cM3dGSphFv.s" } @@ -1296,7 +1246,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_fs/d_a_e_fs/__dt__8cM3dGCylFv.s" } @@ -1306,7 +1257,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_fs/d_a_e_fs/__dt__8cM3dGAabFv.s" } @@ -1316,7 +1268,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_fs/d_a_e_fs/__dt__10dCcD_GSttsFv.s" } @@ -1346,7 +1299,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_fs/d_a_e_fs/__dt__10cCcD_GSttsFv.s" } @@ -1413,7 +1367,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_fs/d_a_e_fs/__dt__4cXyzFv.s" } 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 b8714b3185..838fbc35ac 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_gb/d_a_e_gb.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -35,8 +36,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -67,14 +66,6 @@ struct daPy_py_c { static u8 m_midnaActor[4]; }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 806C6F4C */ cXyz(); - /* 806C747C */ ~cXyz(); -}; - struct daKey_c { /* 806C74B8 */ void setPos(cXyz); /* 80CDA9AC */ void actionWaitInit(); @@ -144,35 +135,6 @@ struct dDlst_shadowControl_c { 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(); - /* 806C6EEC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -204,37 +166,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806C6E5C */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 806C6E14 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 806C6EA4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806C6F50 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -245,13 +184,6 @@ struct Z2SeqMgr { /* 802B4164 */ void setBattleBgmOff(bool); }; -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); @@ -263,21 +195,10 @@ struct Z2Creature { /* 802C06F4 */ void stopAnime(); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DFrameCtrl { /* 803283FC */ void init(s16); /* 8032842C */ void checkPass(f32); @@ -453,9 +374,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); 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_20(); @@ -491,7 +409,6 @@ 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(); @@ -760,20 +677,31 @@ SECTION_DATA static u8 key_eno[4] = { }; /* 806C77C8-806C7808 000104 0040+00 1/1 0/0 0/0 .data head_cc_sph_src$5811 */ -SECTION_DATA static u8 head_cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph head_cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 806C7808-806C784C 000144 0044+00 1/1 0/0 0/0 .data body_cyl_src$5812 */ -SECTION_DATA static u8 body_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcCyl body_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 30.0f, // mRadius + 20.0f // mHeight + } // mCyl }; /* 806C784C-806C786C -00001 0020+00 1/0 0/0 0/0 .data l_daE_GB_Method */ @@ -1947,7 +1875,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_gb/d_a_e_gb/__dt__8cM3dGCylFv.s" } @@ -1957,7 +1886,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_gb/d_a_e_gb/__dt__8cM3dGSphFv.s" } @@ -1967,7 +1897,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_gb/d_a_e_gb/__dt__8cM3dGAabFv.s" } @@ -1977,7 +1908,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_gb/d_a_e_gb/__dt__10dCcD_GSttsFv.s" } @@ -1989,7 +1921,8 @@ csXyz::csXyz() { } /* 806C6F4C-806C6F50 00534C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1997,7 +1930,8 @@ cXyz::cXyz() { #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_gb/d_a_e_gb/__dt__10cCcD_GSttsFv.s" } @@ -2074,7 +2008,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_gb/d_a_e_gb/__dt__4cXyzFv.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 76b7fc37a9..2e3e5c9fe8 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 @@ -4,6 +4,7 @@ */ #include "rel/d/a/e/d_a_e_ge/d_a_e_ge.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -167,10 +168,6 @@ 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 PSVECScale(); -// extern "C" void PSVECSquareMag(); -// extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -182,7 +179,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" extern void* g_fopAc_Method[8]; // extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; @@ -195,7 +191,6 @@ 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" void __register_global_object(); @@ -479,11 +474,16 @@ SECTION_DATA u8 daE_GE_c::l_actionmenu[108] = { }; /* 806CD254-806CD294 00013C 0040+00 1/1 0/0 0/0 .data cc_sph_src$5699 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x22}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 806CD294-806CD2B4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_GE_Method */ 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 e2207bc89c..30417a9b0a 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_gob/d_a_e_gob.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -65,15 +66,6 @@ struct daE_GOB_HIO_c { /* 806DECD0 */ ~daE_GOB_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 806D853C */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); /* 8006FB10 */ void StartQuake(int, int, cXyz); @@ -147,29 +139,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -214,18 +183,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806DEBD0 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 806DEC18 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -249,20 +206,10 @@ struct Z2SeqMgr { /* 802B1DF4 */ void changeSubBgmStatus(s32); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - struct Z2CreatureGob { /* 802C24B0 */ void init(Vec*, Vec*, Vec*, u8, u8, u8); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -442,8 +389,6 @@ 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 _savegpr_16(); extern "C" void _savegpr_19(); extern "C" void _savegpr_24(); @@ -480,7 +425,6 @@ 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 u32 __float_nan; extern "C" extern u8 struct_80450C98[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -588,19 +532,29 @@ SECTION_DATA static void* lit_5446[12] = { }; /* 806DF134-806DF174 0000D8 0040+00 1/1 0/0 0/0 .data cc_sph_src$6427 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 806DF174-806DF1B4 000118 0040+00 1/1 0/0 0/0 .data at_sph_src$6428 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x2, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; /* 806DF1B4-806DF1D4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_GOB_Method */ @@ -734,7 +688,8 @@ static asm void daE_GOB_Draw(e_gob_class* param_0) { #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_gob/d_a_e_gob/__dt__4cXyzFv.s" } @@ -1954,7 +1909,8 @@ asm e_gob_class::e_gob_class() { #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_gob/d_a_e_gob/__dt__8cM3dGSphFv.s" } @@ -1964,7 +1920,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_gob/d_a_e_gob/__dt__8cM3dGAabFv.s" } 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 7f78fceecf..7c2d997321 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_hb/d_a_e_hb.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -39,8 +40,6 @@ struct mDoExt_McaMorfSO { /* 80011310 */ void stopZelAnime(); }; -struct Vec {}; - struct mDoExt_McaMorf { /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); /* 800105C8 */ void play(Vec*, u32, s8); @@ -69,14 +68,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80500584 */ cXyz(); - /* 80500AB4 */ ~cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -141,34 +132,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 80500344 */ dCcD_Sph(); - /* 805003C8 */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80500524 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -192,32 +155,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80500494 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 805004DC */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80500588 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -239,13 +184,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -403,9 +341,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); 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_22(); @@ -440,7 +375,6 @@ 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 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; @@ -631,33 +565,48 @@ SECTION_DATA static u8 p_idx[12] = { /* 80500CC8-80500D08 00008C 0040+00 0/1 0/0 0/0 .data cc_sph_src$5310 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x25}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 80500D08-80500D48 0000CC 0040+00 0/1 0/0 0/0 .data at_sph_src$5311 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 80500D48-80500D88 00010C 0040+00 0/1 0/0 0/0 .data kuki_sph_src$5312 */ #pragma push #pragma force_active on -SECTION_DATA static u8 kuki_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph kuki_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1474,7 +1423,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_hb/d_a_e_hb/__ct__8dCcD_SphFv.s" } @@ -1484,7 +1434,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_hb/d_a_e_hb/__dt__8dCcD_SphFv.s" } @@ -1494,7 +1445,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_hb/d_a_e_hb/__dt__8cM3dGSphFv.s" } @@ -1504,7 +1456,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_hb/d_a_e_hb/__dt__8cM3dGAabFv.s" } @@ -1514,7 +1467,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_hb/d_a_e_hb/__dt__10dCcD_GSttsFv.s" } @@ -1526,7 +1480,8 @@ csXyz::csXyz() { } /* 80500584-80500588 004904 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1534,7 +1489,8 @@ cXyz::cXyz() { #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_hb/d_a_e_hb/__dt__10cCcD_GSttsFv.s" } @@ -1611,7 +1567,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_hb/d_a_e_hb/__dt__4cXyzFv.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 0b7ad0d659..c9f018a766 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_hz/d_a_e_hz.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,15 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 8026702C */ bool operator==(Vec const&) const; - /* 806F0810 */ ~cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -169,31 +161,6 @@ struct dDlst_shadowControl_c { 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&); - /* 806EFFAC */ ~dCcD_Sph(); - /* 806F0078 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806F018C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 80181500 */ void GetForceLockOnActor(); /* 80181534 */ void ForceLockOn(fopAc_ac_c*); @@ -249,30 +216,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806F00FC */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 806F0144 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806F0320 */ ~cCcD_GStts(); -}; - struct cBgD_t {}; struct cBgW { @@ -512,8 +463,6 @@ 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 _savegpr_19(); extern "C" void _savegpr_23(); @@ -527,7 +476,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); 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 */]; @@ -543,7 +491,6 @@ 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 mode_init_drop__12daObjCarry_cFUc(); extern "C" void __register_global_object(); @@ -752,19 +699,29 @@ SECTION_DATA static void* lit_5940[12] = { }; /* 806F09E8-806F0A28 000074 0040+00 1/1 0/0 0/0 .data cc_sph_src$6246 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x10040, 0x3}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 806F0A28-806F0A68 0000B4 0040+00 1/1 0/0 0/0 .data cc_sph_src2$6247 */ -SECTION_DATA static u8 cc_sph_src2[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFA, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src2 = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x0}, {0xd8fafdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 806F0A68-806F0A88 -00001 0020+00 1/0 0/0 0/0 .data l_daE_HZ_Method */ @@ -1772,7 +1729,8 @@ asm void daE_HZ_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_hz/d_a_e_hz/__dt__8dCcD_SphFv.s" } @@ -1782,7 +1740,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_hz/d_a_e_hz/__ct__8dCcD_SphFv.s" } @@ -1792,7 +1751,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_hz/d_a_e_hz/__dt__8cM3dGSphFv.s" } @@ -1802,7 +1762,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_hz/d_a_e_hz/__dt__8cM3dGAabFv.s" } @@ -1812,7 +1773,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_hz/d_a_e_hz/__dt__10dCcD_GSttsFv.s" } @@ -1862,7 +1824,8 @@ static asm void daE_HZ_Create(daE_HZ_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_hz/d_a_e_hz/__dt__10cCcD_GSttsFv.s" } @@ -1929,7 +1892,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_hz/d_a_e_hz/__dt__4cXyzFv.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 7dc7a0bf34..7d027810b7 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_hzelda/d_a_e_hzelda.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -78,14 +79,6 @@ struct daE_HZELDA_HIO_c { /* 806F546C */ ~daE_HZELDA_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -140,34 +133,6 @@ 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 806F5198 */ ~dCcD_Sph(); - /* 806F5264 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806F52E8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); -}; - struct dCamera_c { /* 801614D0 */ void Stop(); /* 8016300C */ void SetTrimSize(s32); @@ -203,32 +168,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806F5108 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 806F5150 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806F5424 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -254,22 +201,12 @@ struct Z2SeqMgr { /* 802AF408 */ void bgmStop(u32, 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); /* 802C1B7C */ void setLinkSearch(bool); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter { /* 8027EC60 */ void deleteAllParticle(); }; @@ -278,13 +215,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -453,8 +383,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); 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_21(); extern "C" void _savegpr_25(); @@ -484,7 +412,6 @@ 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 u32 __float_nan; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -592,66 +519,96 @@ SECTION_DATA static u8 b_id_4933[12] = { /* 806F56D4-806F5714 000078 0040+00 0/1 0/0 0/0 .data cc_sph_src$5567 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFA, 0xFD, 0xBF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fafdbf, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 806F5714-806F5754 0000B8 0040+00 0/1 0/0 0/0 .data at_sph_src$5568 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFA, 0xFD, 0xBF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0B, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0xd8fafdbf, 0x3}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0xb, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 806F5754-806F5794 0000F8 0040+00 0/1 0/0 0/0 .data ball_at_sph_src$5569 */ #pragma push #pragma force_active on -SECTION_DATA static u8 ball_at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, +static dCcD_SrcSph ball_at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x4, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_13, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 15.0f} // mSph + } // mSphAttr }; #pragma pop /* 806F5794-806F57D4 000138 0040+00 0/1 0/0 0/0 .data ball_tg_sph_src$5570 */ #pragma push #pragma force_active on -SECTION_DATA static u8 ball_tg_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph ball_tg_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4000000, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 806F57D4-806F5814 000178 0040+00 0/1 0/0 0/0 .data tri_at_sph_src$5571 */ #pragma push #pragma force_active on -SECTION_DATA static u8 tri_at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x0E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, +static dCcD_SrcSph tri_at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x4, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_13, 0x0, 0xe, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 10.0f} // mSph + } // mSphAttr }; #pragma pop /* 806F5814-806F5854 0001B8 0040+00 0/1 0/0 0/0 .data pl_at_sph_src$5572 */ #pragma push #pragma force_active on -SECTION_DATA static u8 pl_at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph pl_at_sph_src = { + { + {0x0, {{AT_TYPE_MASTER_SWORD, 0x2, 0x3}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1518,7 +1475,8 @@ asm e_hzelda_class::e_hzelda_class() { #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_hzelda/d_a_e_hzelda/__dt__8cM3dGSphFv.s" } @@ -1528,7 +1486,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_hzelda/d_a_e_hzelda/__dt__8cM3dGAabFv.s" } @@ -1538,7 +1497,8 @@ asm cM3dGAab::~cM3dGAab() { #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_hzelda/d_a_e_hzelda/__dt__8dCcD_SphFv.s" } @@ -1548,7 +1508,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_hzelda/d_a_e_hzelda/__ct__8dCcD_SphFv.s" } @@ -1558,7 +1519,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_hzelda/d_a_e_hzelda/__dt__10dCcD_GSttsFv.s" } @@ -1588,7 +1550,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_hzelda/d_a_e_hzelda/__dt__10cCcD_GSttsFv.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 ec30f7a09b..b433bc08b2 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_is/d_a_e_is.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -52,13 +53,6 @@ struct daE_IS_HIO_c { /* 806F7AC4 */ ~daE_IS_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -99,36 +93,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 806F7940 */ ~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(); }; @@ -152,36 +116,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806F78B0 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F200 */ void SetR(f32); - /* 806F7868 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 806F78F8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806F7A7C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -317,7 +259,6 @@ extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); @@ -400,34 +341,50 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { /* 806F7C3C-806F7C7C 000020 0040+00 0/1 0/0 0/0 .data at_sph_src$4258 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x4, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x2, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; #pragma pop /* 806F7C7C-806F7CC0 000060 0044+00 0/1 0/0 0/0 .data cc_cyl_src$4259 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 200.0f, // mRadius + 250.0f // mHeight + } // mCyl }; #pragma pop /* 806F7CC0-806F7D00 0000A4 0040+00 0/1 0/0 0/0 .data core_sph_src$4260 */ #pragma push #pragma force_active on -SECTION_DATA static u8 core_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph core_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdfd, 0x3}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1012,7 +969,8 @@ asm e_is_class::e_is_class() { #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_is/d_a_e_is/__dt__8cM3dGCylFv.s" } @@ -1022,7 +980,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_is/d_a_e_is/__dt__8cM3dGSphFv.s" } @@ -1032,7 +991,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_is/d_a_e_is/__dt__8cM3dGAabFv.s" } @@ -1042,7 +1002,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_is/d_a_e_is/__dt__10dCcD_GSttsFv.s" } @@ -1072,7 +1033,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_is/d_a_e_is/__dt__10cCcD_GSttsFv.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 a6849ee7ed..9c3d1c60e0 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_kg/d_a_e_kg.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -72,12 +73,6 @@ struct dSv_info_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*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -110,28 +105,6 @@ struct dDlst_shadowControl_c { 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(); - /* 806F9D64 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -161,30 +134,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 806F9CD4 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 806F9D1C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 806F9EA0 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -334,8 +291,6 @@ 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 _savegpr_19(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); @@ -357,7 +312,6 @@ 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" void __register_global_object(); @@ -508,11 +462,16 @@ SECTION_DATA static void* lit_4276[11] = { }; /* 806FA4D8-806FA518 000064 0040+00 1/1 0/0 0/0 .data cc_sph_src$4468 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xDA, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0xdafbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 806FA518-806FA538 -00001 0020+00 1/0 0/0 0/0 .data l_daE_KG_Method */ @@ -1072,7 +1031,8 @@ static asm void daE_KG_Create(fopAc_ac_c* param_0) { #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_kg/d_a_e_kg/__dt__8cM3dGSphFv.s" } @@ -1082,7 +1042,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_kg/d_a_e_kg/__dt__8cM3dGAabFv.s" } @@ -1092,7 +1053,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_kg/d_a_e_kg/__dt__10dCcD_GSttsFv.s" } @@ -1122,7 +1084,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_kg/d_a_e_kg/__dt__10cCcD_GSttsFv.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 e1c72b2949..b1452a3745 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_kr/d_a_e_kr.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -72,16 +73,6 @@ struct dSv_info_c { struct dKy_tevstr_c {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266C18 */ void operator/(f32) const; - /* 80705220 */ cXyz(); - /* 80705AA8 */ ~cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -116,29 +107,6 @@ struct dDlst_shadowControl_c { 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(); - /* 807052B4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -173,29 +141,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80705224 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 8070526C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 807053F0 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -385,8 +338,6 @@ 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_26(); @@ -413,7 +364,6 @@ 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" void __register_global_object(); @@ -1383,44 +1333,64 @@ COMPILER_STRIP_GATE(0x80705C30, &lit_5873); /* 80705E08-80705E48 0001B4 0040+00 0/1 0/0 0/0 .data at_sph_src$5807 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 25.0f} // mSph + } // mSphAttr }; #pragma pop /* 80705E48-80705E88 0001F4 0040+00 0/1 0/0 0/0 .data head_tg_sph_src$5808 */ #pragma push #pragma force_active on -SECTION_DATA static u8 head_tg_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x7A, 0x00, 0x00, +static dCcD_SrcSph head_tg_sph_src = { + { + {0x0, {{0x0, 0x1, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 62.5f} // mSph + } // mSphAttr }; #pragma pop /* 80705E88-80705EC8 000234 0040+00 0/1 0/0 0/0 .data body_tg_sph_src$5809 */ #pragma push #pragma force_active on -SECTION_DATA static u8 body_tg_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x82, 0x00, 0x00, +static dCcD_SrcSph body_tg_sph_src = { + { + {0x0, {{0x0, 0x1, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 65.0f} // mSph + } // mSphAttr }; #pragma pop /* 80705EC8-80705F08 000274 0040+00 0/1 0/0 0/0 .data body_co_sph_src$5810 */ #pragma push #pragma force_active on -SECTION_DATA static u8 body_co_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, +static dCcD_SrcSph body_co_sph_src = { + { + {0x0, {{0x0, 0x1, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 80.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1516,7 +1486,8 @@ asm e_kr_class::e_kr_class() { #pragma pop /* 80705220-80705224 005960 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1524,7 +1495,8 @@ cXyz::cXyz() { #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_kr/d_a_e_kr/__dt__8cM3dGSphFv.s" } @@ -1534,7 +1506,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_kr/d_a_e_kr/__dt__8cM3dGAabFv.s" } @@ -1544,7 +1517,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_kr/d_a_e_kr/__dt__10dCcD_GSttsFv.s" } @@ -1574,7 +1548,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_kr/d_a_e_kr/__dt__10cCcD_GSttsFv.s" } @@ -1725,7 +1700,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_kr/d_a_e_kr/__dt__4cXyzFv.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 b4827d7431..39e1357cca 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_mb/d_a_e_mb.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -49,8 +50,6 @@ struct mDoExt_McaMorfSO { /* 80011310 */ void stopZelAnime(); }; -struct Vec {}; - struct mDoExt_McaMorf { /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, @@ -93,13 +92,6 @@ struct dSv_info_c { /* 80035360 */ void isSwitch(int, int) const; }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80706898 */ ~cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -113,40 +105,8 @@ struct dRes_control_c { 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct csXyz {}; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8070879C */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 807087E4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -261,9 +221,6 @@ extern "C" void init__12J3DFrameCtrlFs(); 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 _savegpr_26(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -283,7 +240,6 @@ 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" extern u32 __float_nan; extern "C" void __register_global_object(); // @@ -345,11 +301,16 @@ SECTION_DATA static void* lit_3884[7] = { }; /* 80708B10-80708B50 000020 0040+00 1/1 0/0 0/0 .data cc_sph_src$4733 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 60.0f} // mSph + } // mSphAttr }; /* 80708B50-80708B70 -00001 0020+00 1/0 0/0 0/0 .data l_daE_MB_Method */ @@ -705,7 +666,8 @@ static asm void e_mb_walk1(e_mb_class* param_0) { #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_mb/d_a_e_mb/__dt__4cXyzFv.s" } @@ -993,7 +955,8 @@ static asm void daE_MB_Create(fopAc_ac_c* param_0) { #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_mb/d_a_e_mb/__dt__8cM3dGSphFv.s" } @@ -1003,7 +966,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_mb/d_a_e_mb/__dt__8cM3dGAabFv.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 347e2562de..a7185e0eb6 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_md/d_a_e_md.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -16,8 +17,6 @@ struct csXyz { /* 802673F4 */ csXyz(s16, s16, s16); }; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -116,27 +115,6 @@ struct dDlst_shadowControl_c { struct dCcU_AtInfo {}; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ 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 dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -156,21 +134,6 @@ struct dBgS_Acch { /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 8070A3CC */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 8070A414 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -179,23 +142,11 @@ struct cBgS_PolyInfo {}; struct _GXTexObj {}; -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -321,14 +272,19 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; /* ############################################################################################## */ /* 8070A4EC-8070A530 000000 0044+00 3/3 0/0 0/0 .rodata ccCylSrc$3765 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x51}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 60.0f, // mRadius + 350.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x8070A4EC, &ccCylSrc); /* 80708DF8-80708E70 000078 0078+00 1/1 0/0 0/0 .text initCcCylinder__8daE_MD_cFv */ #pragma push @@ -686,7 +642,8 @@ asm void daE_MD_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_md/d_a_e_md/__dt__8cM3dGCylFv.s" } @@ -696,7 +653,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_md/d_a_e_md/__dt__8cM3dGAabFv.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 e90cab2ad5..5ec1c0408b 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_mf/d_a_e_mf.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -67,13 +68,6 @@ struct dSv_info_c { struct dKy_tevstr_c {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 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*); @@ -125,37 +119,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 8071318C */ ~dCcD_Sph(); - /* 80713258 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807132DC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - struct dBomb_c { /* 80031F94 */ void checkStateCarry(); }; @@ -209,32 +172,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807130FC */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80713144 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8071341C */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -260,13 +205,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -473,9 +411,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); 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_23(); @@ -509,7 +444,6 @@ 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" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -833,33 +767,48 @@ SECTION_DATA static void* jc_data[36] = { /* 80713D74-80713DB4 00026C 0040+00 0/1 0/0 0/0 .data cc_sph_src$7407 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFA, 0xFD, 0xBF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fafdbf, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 80713DB4-80713DF4 0002AC 0040+00 0/1 0/0 0/0 .data at_sph_src$7408 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 80713DF4-80713E34 0002EC 0040+00 0/1 0/0 0/0 .data tate_sph_src$7409 */ #pragma push #pragma force_active on -SECTION_DATA static u8 tate_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x05, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcSph tate_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x5, 0x0, 0x0, 0x303}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; #pragma pop @@ -2150,7 +2099,8 @@ asm e_mf_class::e_mf_class() { #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_mf/d_a_e_mf/__dt__8cM3dGSphFv.s" } @@ -2160,7 +2110,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_mf/d_a_e_mf/__dt__8cM3dGAabFv.s" } @@ -2170,7 +2121,8 @@ asm cM3dGAab::~cM3dGAab() { #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_mf/d_a_e_mf/__dt__8dCcD_SphFv.s" } @@ -2180,7 +2132,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_mf/d_a_e_mf/__ct__8dCcD_SphFv.s" } @@ -2190,7 +2143,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_mf/d_a_e_mf/__dt__10dCcD_GSttsFv.s" } @@ -2225,7 +2179,8 @@ csXyz::csXyz() { #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_mf/d_a_e_mf/__dt__10cCcD_GSttsFv.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 236155caf6..ba792ade9a 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_mk/d_a_e_mk.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -49,8 +50,6 @@ struct mDoExt_McaMorfSO { /* 80011310 */ void stopZelAnime(); }; -struct Vec {}; - struct mDoExt_McaMorf { /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, @@ -65,13 +64,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80714498 */ ~cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -152,27 +144,6 @@ struct dDlst_shadowControl_c { 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(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -203,18 +174,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8071C2EC */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 8071C334 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -231,32 +190,15 @@ struct Z2SeqMgr { /* 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 J3DModel {}; struct J3DFrameCtrl { @@ -436,9 +378,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); @@ -465,7 +404,6 @@ 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 mGroundY__11fopAcM_gc_c; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -626,11 +564,16 @@ SECTION_DATA static u8 bo_eno_0[8] = { }; /* 8071C978-8071C9B8 00017C 0040+00 1/1 0/0 0/0 .data cc_sph_src$6839 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 60.0f} // mSph + } // mSphAttr }; /* 8071C9B8-8071C9D8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_MK_Method */ @@ -771,7 +714,8 @@ static asm void daE_MK_Draw(e_mk_class* param_0) { #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_mk/d_a_e_mk/__dt__4cXyzFv.s" } @@ -2341,7 +2285,8 @@ asm e_mk_class::e_mk_class() { #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_mk/d_a_e_mk/__dt__8cM3dGSphFv.s" } @@ -2351,7 +2296,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_mk/d_a_e_mk/__dt__8cM3dGAabFv.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 d64f44bf29..55a667dffe 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 @@ -4,6 +4,7 @@ // #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" // @@ -36,8 +37,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -57,11 +56,6 @@ struct fopAc_ac_c { struct e_mk_bo_class {}; -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 8071F5F4 */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -99,28 +93,6 @@ struct dPa_control_c { cXyz const*, f32); }; -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(); - /* 8071F460 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -144,32 +116,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8071F3D0 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 8071F418 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8071F59C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -182,27 +136,10 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -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 JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -319,8 +256,6 @@ extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXScale(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_22(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -339,7 +274,6 @@ 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" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -864,11 +798,16 @@ static asm void daE_MK_BO_Delete(e_mk_bo_class* param_0) { /* ############################################################################################## */ /* 8071F71C-8071F75C 00003C 0040+00 1/1 0/0 0/0 .data at_sph_src$4657 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_40, 0x2, 0x1f}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_WOOD, 0x1, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; /* 8071F75C-8071F77C -00001 0020+00 1/0 0/0 0/0 .data l_daE_MK_BO_Method */ @@ -997,7 +936,8 @@ static asm void daE_MK_BO_Create(fopAc_ac_c* param_0) { #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_mk_bo/d_a_e_mk_bo/__dt__8cM3dGSphFv.s" } @@ -1007,7 +947,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_mk_bo/d_a_e_mk_bo/__dt__8cM3dGAabFv.s" } @@ -1017,7 +958,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_mk_bo/d_a_e_mk_bo/__dt__10dCcD_GSttsFv.s" } @@ -1047,7 +989,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_mk_bo/d_a_e_mk_bo/__dt__10cCcD_GSttsFv.s" } @@ -1077,7 +1020,8 @@ static asm void func_8071F5EC() { #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_mk_bo/d_a_e_mk_bo/__dt__4cXyzFv.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 dafe5ada53..6608e19486 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_mm/d_a_e_mm.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -62,13 +63,6 @@ struct dSv_info_c { struct dKy_tevstr_c {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80267128 */ void atan2sX_Z() const; -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -105,30 +99,6 @@ struct dDlst_shadowControl_c { 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(); - /* 807225FC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -163,30 +133,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8072256C */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 807225B4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80722738 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -211,13 +165,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; // @@ -350,9 +297,6 @@ extern "C" void __dl__FPv(); 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 _savegpr_19(); extern "C" void _savegpr_23(); extern "C" void _savegpr_26(); @@ -365,7 +309,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]; @@ -378,7 +321,6 @@ 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" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -564,19 +506,29 @@ SECTION_DATA static void* lit_4621[11] = { }; /* 80722D6C-80722DAC 000078 0040+00 1/1 0/0 0/0 .data cc_sph_src$4753 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, 0x0C, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x43}, 0x75}}, // mObj + {dCcD_SE_SOFT_BODY, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x406}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80722DAC-80722DEC 0000B8 0040+00 1/1 0/0 0/0 .data cc_wind_sph_src$4754 */ -SECTION_DATA static u8 cc_wind_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_wind_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x200, 0x11}, 0x0}}, // mObj + {dCcD_SE_SOFT_BODY, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80722DEC-80722E0C -00001 0020+00 1/0 0/0 0/0 .data l_daE_MM_Method */ @@ -1060,7 +1012,8 @@ static asm void daE_MM_Create(fopAc_ac_c* param_0) { #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_mm/d_a_e_mm/__dt__8cM3dGSphFv.s" } @@ -1070,7 +1023,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_mm/d_a_e_mm/__dt__8cM3dGAabFv.s" } @@ -1080,7 +1034,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_mm/d_a_e_mm/__dt__10dCcD_GSttsFv.s" } @@ -1110,7 +1065,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_mm/d_a_e_mm/__dt__10cCcD_GSttsFv.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 b790221786..d54ac9dd5c 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 @@ -4,6 +4,7 @@ // #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" // @@ -14,14 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 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); @@ -78,31 +71,6 @@ struct dDlst_shadowControl_c { 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(); - /* 807252A8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -132,30 +100,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80725218 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80725260 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 807253E4 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -168,12 +120,6 @@ struct cBgS { 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); @@ -181,10 +127,6 @@ struct Z2CreatureEnemy { struct Z2Creature {}; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -303,8 +245,6 @@ extern "C" void PSMTXCopy(); extern "C" void PSMTXInverse(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -329,7 +269,6 @@ 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" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -872,19 +811,29 @@ SECTION_DATA static u8 eff_id[6 + 2 /* padding */] = { #pragma pop /* 8072596C-807259AC 000038 0040+00 1/1 0/0 0/0 .data cc_sph_src$4792 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x09, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_METAL, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x407}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807259AC-807259EC 000078 0040+00 1/1 0/0 0/0 .data hk_sph_src$4793 */ -SECTION_DATA static u8 hk_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph hk_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4080, 0x3}, 0x0}}, // mObj + {dCcD_SE_13, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x406}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807259EC-80725A0C -00001 0020+00 1/0 0/0 0/0 .data l_daE_MM_MT_Method */ @@ -971,7 +920,8 @@ static asm void daE_MM_MT_Create(fopAc_ac_c* param_0) { #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_mm_mt/d_a_e_mm_mt/__dt__8cM3dGSphFv.s" } @@ -981,7 +931,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_mm_mt/d_a_e_mm_mt/__dt__8cM3dGAabFv.s" } @@ -991,7 +942,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_mm_mt/d_a_e_mm_mt/__dt__10dCcD_GSttsFv.s" } @@ -1021,7 +973,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_mm_mt/d_a_e_mm_mt/__dt__10cCcD_GSttsFv.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 9cfe398098..6b84b5435f 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_ms/d_a_e_ms.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -57,15 +58,6 @@ struct daE_MS_HIO_c { /* 8072900C */ ~daE_MS_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80726F54 */ cXyz(); - /* 807294B4 */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -109,28 +101,6 @@ struct dDlst_shadowControl_c { 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(); - /* 80728E88 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -165,30 +135,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80728DF8 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80728E40 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80728FC4 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -356,8 +310,6 @@ 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 __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); @@ -390,7 +342,6 @@ 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" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -554,19 +505,29 @@ SECTION_DATA static u8 eff_id_4781[8] = { }; /* 8072967C-807296BC 00006C 0040+00 1/1 0/0 0/0 .data cc_sph_src$4909 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xDA, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xdafbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807296BC-807296FC 0000AC 0040+00 1/1 0/0 0/0 .data at_sph_src$4910 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_SOFT_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 807296FC-8072971C -00001 0020+00 1/0 0/0 0/0 .data l_daE_MS_Method */ @@ -1010,7 +971,8 @@ static asm void search_ground_1(e_ms_class* param_0) { #pragma pop /* 80726F54-80726F58 0014B4 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1369,7 +1331,8 @@ static asm void daE_MS_Create(fopAc_ac_c* param_0) { #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_ms/d_a_e_ms/__dt__8cM3dGSphFv.s" } @@ -1379,7 +1342,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_ms/d_a_e_ms/__dt__8cM3dGAabFv.s" } @@ -1389,7 +1353,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_ms/d_a_e_ms/__dt__10dCcD_GSttsFv.s" } @@ -1419,7 +1384,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_ms/d_a_e_ms/__dt__10cCcD_GSttsFv.s" } @@ -1486,7 +1452,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_ms/d_a_e_ms/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp b/rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp index 3c48e44a80..4ad702f4c0 100644 --- a/rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp +++ b/rel/d/a/e/d_a_e_nest/d_a_e_nest.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_nest/d_a_e_nest.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -28,14 +29,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -113,35 +106,6 @@ struct dDlst_shadowControl_c { 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -187,25 +151,6 @@ struct dAttCatch_c { /* 80073A08 */ void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80504534 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 805044EC */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 8050457C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -237,16 +182,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -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]; }; @@ -397,8 +332,6 @@ extern "C" void __dl__FPv(); 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_24(); extern "C" void _savegpr_25(); @@ -429,7 +362,6 @@ 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 mGroundY__11fopAcM_gc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -470,20 +402,31 @@ SECTION_DATA static u8 b_eff_id[4] = { }; /* 80504820-80504860 000024 0040+00 1/1 0/0 0/0 .data cc_sph_src$5262 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; /* 80504860-805048A4 000064 0044+00 1/1 0/0 0/0 .data cc_cyl_src$5263 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x2020, 0x3}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 5.0f, // mRadius + 10.0f // mHeight + } // mCyl }; /* 805048A4-805048C4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_Nest_Method */ @@ -1280,7 +1223,8 @@ nest_hahen_s::nest_hahen_s() { #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_nest/d_a_e_nest/__dt__8cM3dGCylFv.s" } @@ -1290,7 +1234,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_nest/d_a_e_nest/__dt__8cM3dGSphFv.s" } @@ -1300,7 +1245,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_nest/d_a_e_nest/__dt__8cM3dGAabFv.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 32f74e5908..46c2f74b16 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_nz/d_a_e_nz.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -20,14 +21,6 @@ struct mDoMtx_stack_c { struct J3DModel {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 8072C130 */ ~cXyz(); -}; - struct mDoExt_invisibleModel { /* 8000E53C */ void create(J3DModel*, u8); /* 8000E7C0 */ void entryDL(cXyz*); @@ -114,28 +107,6 @@ struct dPa_control_c { 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(); - /* 8072BB04 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -168,30 +139,14 @@ struct dAttLook_c { /* 80073D08 */ void request(fopAc_ac_c*, f32, f32, f32, s16, int); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8072BA74 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 8072BABC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8072BC40 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -344,8 +299,6 @@ 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 _savegpr_19(); extern "C" void _savegpr_20(); extern "C" void _savegpr_26(); @@ -367,7 +320,6 @@ 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" extern u32 __float_nan; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -533,11 +485,16 @@ SECTION_DATA static u8 eff_id_4227[8] = { }; /* 8072C2E4-8072C324 000098 0040+00 1/1 0/0 0/0 .data cc_sph_src$4510 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 8072C324-8072C344 -00001 0020+00 1/0 0/0 0/0 .data l_daE_NZ_Method */ @@ -1120,7 +1077,8 @@ static asm void daE_NZ_Create(fopAc_ac_c* param_0) { #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_nz/d_a_e_nz/__dt__8cM3dGSphFv.s" } @@ -1130,7 +1088,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_nz/d_a_e_nz/__dt__8cM3dGAabFv.s" } @@ -1140,7 +1099,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_nz/d_a_e_nz/__dt__10dCcD_GSttsFv.s" } @@ -1170,7 +1130,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_nz/d_a_e_nz/__dt__10cCcD_GSttsFv.s" } @@ -1237,7 +1198,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_nz/d_a_e_nz/__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 89786f4546..e9b088b8be 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_ph/d_a_e_ph.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,8 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -142,26 +141,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 8016300C */ void SetTrimSize(s32); @@ -199,18 +178,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80741A44 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80741A8C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -229,18 +196,12 @@ struct Z2SeqMgr { /* 802AF010 */ void bgmStart(u32, u32, s32); }; -struct Vec {}; - 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]; }; @@ -403,8 +364,6 @@ 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 PSVECSquareDistance(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -425,7 +384,6 @@ 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 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -522,13 +480,17 @@ asm daE_PH_HIO_c::daE_PH_HIO_c() { /* ############################################################################################## */ /* 80741C00-80741C40 00000C 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3773 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC2, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, -100.0f, 0.0f}, 60.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80741C00, &ccSphSrc); /* 8073D48C-8073D4EC 00012C 0060+00 1/1 0/0 0/0 .text initCcSph__8daE_PH_cFv */ #pragma push @@ -1346,7 +1308,8 @@ asm void daE_PH_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_ph/d_a_e_ph/__dt__8cM3dGSphFv.s" } @@ -1356,7 +1319,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_ph/d_a_e_ph/__dt__8cM3dGAabFv.s" } 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 0c44694c0d..045c6d593e 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_pm/d_a_e_pm.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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); @@ -218,29 +213,6 @@ struct dComIfG_play_c { struct dCcU_AtInfo {}; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 8074B8C4 */ ~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(); @@ -289,33 +261,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 80742720 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8074B834 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 8074B87C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8074BA20 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -343,13 +296,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -584,8 +530,6 @@ 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_24(); extern "C" void _savegpr_25(); @@ -615,7 +559,6 @@ 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" extern u8 struct_80450C98[4]; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -1065,14 +1008,19 @@ static asm void s_pm_sub(void* param_0, void* param_1) { /* ############################################################################################## */ /* 8074BF8C-8074BFD0 000050 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$4052 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0D, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x51}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 40.0f, // mRadius + 130.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x8074BF8C, &ccCylSrc); /* 80742448-807424C0 000648 0078+00 1/1 0/0 0/0 .text initCcCylinder__8daE_PM_cFv */ #pragma push @@ -1143,7 +1091,8 @@ asm void daE_PM_c::SetAnm(int param_0, int param_1, f32 param_2, f32 param_3) { #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_pm/d_a_e_pm/__dt__8cM3dGPlaFv.s" } @@ -2469,7 +2418,8 @@ asm void daE_PM_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_pm/d_a_e_pm/__dt__8cM3dGCylFv.s" } @@ -2479,7 +2429,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_pm/d_a_e_pm/__dt__8cM3dGAabFv.s" } @@ -2489,7 +2440,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_pm/d_a_e_pm/__dt__10dCcD_GSttsFv.s" } @@ -2529,7 +2481,8 @@ static asm void daE_PM_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_pm/d_a_e_pm/__dt__10cCcD_GSttsFv.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 da2189d02b..c78686311a 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_po/d_a_e_po.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -26,24 +27,6 @@ struct mDoExt_morf_c { struct J3DModel {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80267128 */ void atan2sX_Z() const; - /* 80267150 */ void atan2sY_XZ() const; - /* 807572CC */ ~cXyz(); - /* 80757348 */ void operator+=(Vec const&); - /* 80757460 */ void abs() const; - /* 807575AC */ void set(f32, f32, f32); - /* 80757590 */ void set(Vec const&); - /* 80757604 */ void operator=(cXyz const&); - /* 8075768C */ cXyz(f32, f32, f32); - /* 80757670 */ cXyz(cXyz const&); -}; - struct mDoExt_invisibleModel { /* 8000E53C */ void create(J3DModel*, u8); /* 8000E7C0 */ void entryDL(cXyz*); @@ -194,36 +177,6 @@ struct dEvent_manager_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80756C50 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -280,39 +233,14 @@ struct dAttList_c { /* 80073864 */ void getActor(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80756B78 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80756BC0 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80756C08 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_ObjHitInf { - /* 80754AC8 */ void OnCoSetBit(); -}; - -struct cCcD_GStts { - /* 80756D90 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -323,15 +251,6 @@ struct cBgS { /* 800743B4 */ void LineCross(cBgS_LinChk*); }; -struct JAISoundID { - /* 807573C0 */ JAISoundID(u32); -}; - -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); @@ -339,10 +258,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter {}; struct JPAEmitterCallBack { @@ -357,13 +272,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -602,9 +510,6 @@ extern "C" void __dl__FPv(); 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_20(); @@ -620,7 +525,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 */]; @@ -640,7 +544,6 @@ 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 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; @@ -990,23 +893,34 @@ SECTION_DATA static u8 po_bottleIn_dt[4] = { /* 80757C7C-80757CC0 0001D8 0044+00 0/1 0/0 0/0 .data cc_cyl_src$7667 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8000000, 0x3}, 0x0}}, // mObj + {dCcD_SE_13, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 300.0f // mHeight + } // mCyl }; #pragma pop /* 80757CC0-80757D00 00021C 0040+00 0/1 0/0 0/0 .data at_sph_src$7668 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x15, 0x09, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x43}, 0x15}}, // mObj + {dCcD_SE_METAL, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; #pragma pop @@ -3202,7 +3116,8 @@ void fopAcM_SetGroup(fopAc_ac_c* param_0, u8 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cCcD_ObjHitInf::OnCoSetBit() { +// asm void cCcD_ObjHitInf::OnCoSetBit() { +extern "C" asm void OnCoSetBit__14cCcD_ObjHitInfFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/OnCoSetBit__14cCcD_ObjHitInfFv.s" } @@ -3427,7 +3342,8 @@ asm dPa_levelEcallBack::~dPa_levelEcallBack() { #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_po/d_a_e_po/__dt__8cM3dGSphFv.s" } @@ -3437,7 +3353,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_po/d_a_e_po/__dt__8cM3dGCylFv.s" } @@ -3447,7 +3364,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_po/d_a_e_po/__dt__8cM3dGAabFv.s" } @@ -3457,7 +3375,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_po/d_a_e_po/__dt__10dCcD_GSttsFv.s" } @@ -3492,7 +3411,8 @@ csXyz::csXyz() { #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_po/d_a_e_po/__dt__10cCcD_GSttsFv.s" } @@ -3593,7 +3513,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_po/d_a_e_po/__dt__4cXyzFv.s" } @@ -3623,7 +3544,8 @@ static asm void dComIfGp_event_reset() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::operator+=(Vec const& param_0) { +// asm void cXyz::operator+=(Vec const& param_0) { +extern "C" asm void __apl__4cXyzFRC3Vec() { nofralloc #include "asm/rel/d/a/e/d_a_e_po/d_a_e_po/__apl__4cXyzFRC3Vec.s" } @@ -3651,8 +3573,11 @@ static asm void dComIfGp_getVibration() { #pragma pop /* 807573C0-807573C8 -00001 0008+00 0/0 0/0 0/0 .text __ct__10JAISoundIDFUl */ -JAISoundID::JAISoundID(u32 param_0) { - *(u32*)this = (u32)(param_0); +// JAISoundID::JAISoundID(u32 param_0) { +void __ct__10JAISoundIDFUl() { + asm { + stw r4, 0x0(r3) + } } /* 807573C8-807573FC 00AF68 0034+00 1/1 0/0 0/0 .text fopAcM_offSwitch__FPC10fopAc_ac_ci @@ -3710,7 +3635,8 @@ static asm void cM_ssin(s16 param_0) { #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_po/d_a_e_po/abs__4cXyzCFv.s" } @@ -3731,7 +3657,8 @@ asm void daPy_py_c::changeDemoPos0(cXyz const* 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_po/d_a_e_po/set__4cXyzFRC3Vec.s" } @@ -3741,7 +3668,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_po/d_a_e_po/set__4cXyzFfff.s" } @@ -3791,7 +3719,8 @@ asm void dCamera_c::Fovy() { #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_po/d_a_e_po/__as__4cXyzFRC4cXyz.s" } @@ -3832,7 +3761,8 @@ asm void dEvt_info_c::checkCommandDemoAccrpt() { #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_po/d_a_e_po/__ct__4cXyzFRC4cXyz.s" } @@ -3842,7 +3772,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_po/d_a_e_po/__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 fc00f66092..a2bbe29557 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_rb/d_a_e_rb.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,14 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; -}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); @@ -103,29 +96,6 @@ struct dDlst_shadowControl_c { 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(); - /* 807646B4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -164,34 +134,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80764624 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80763CF0 */ ~cM3dGPla(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 8076466C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 807647F0 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -349,8 +299,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_18(); extern "C" void _savegpr_19(); @@ -375,7 +323,6 @@ 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" void __register_global_object(); @@ -513,11 +460,16 @@ SECTION_DATA static void* lit_4166[11] = { }; /* 80764E40-80764E80 000064 0040+00 1/1 0/0 0/0 .data cc_sph_src$4557 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_1000, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80764E80-80764EA0 -00001 0020+00 1/0 0/0 0/0 .data l_daE_RB_Method */ @@ -1014,7 +966,8 @@ static asm void e_rb_base_1(e_rb_class* 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_rb/d_a_e_rb/__dt__8cM3dGPlaFv.s" } @@ -1104,7 +1057,8 @@ static asm void daE_RB_Create(fopAc_ac_c* param_0) { #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_rb/d_a_e_rb/__dt__8cM3dGSphFv.s" } @@ -1114,7 +1068,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_rb/d_a_e_rb/__dt__8cM3dGAabFv.s" } @@ -1124,7 +1079,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_rb/d_a_e_rb/__dt__10dCcD_GSttsFv.s" } @@ -1154,7 +1110,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_rb/d_a_e_rb/__dt__10cCcD_GSttsFv.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 8901134734..83a70c8d47 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_rd/d_a_e_rd.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -46,8 +47,6 @@ struct mDoExt_McaMorfSO { /* 80011310 */ void stopZelAnime(); }; -struct Vec {}; - struct mDoExt_McaMorf { /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, @@ -81,15 +80,6 @@ struct daE_RD_HIO_c { /* 8051801C */ ~daE_RD_HIO_c(); }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 805163C0 */ void abs() const; - /* 80517FD0 */ cXyz(); - /* 80518534 */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -178,37 +168,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 80517D40 */ ~dCcD_Sph(); - /* 80517E0C */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80517E90 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -274,32 +233,14 @@ struct dAttention_c { /* 800737E4 */ void LockonTruth(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80517CB0 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80517CF8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80517FD4 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -323,12 +264,6 @@ struct Z2SeqMgr { /* 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); @@ -336,10 +271,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -647,10 +578,6 @@ extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXScale(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_15(); extern "C" void _savegpr_19(); @@ -693,7 +620,6 @@ 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 u32 __float_nan; 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 */]; @@ -1380,19 +1306,29 @@ SECTION_DATA static u8 ikki2_boss_part_bmd[8] = { }; /* 80518FC8-80519008 000620 0040+00 1/1 0/0 0/0 .data cc_sph_src$11818 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80519008-80519048 000660 0040+00 1/1 0/0 0/0 .data at_sph_src$11819 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; /* 80519048-80519068 -00001 0020+00 1/0 0/0 0/0 .data l_daE_RD_Method */ @@ -4053,7 +3989,8 @@ static asm void daE_RD_Execute(e_rd_class* param_0) { #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_rd/d_a_e_rd/abs__4cXyzCFv.s" } @@ -4355,7 +4292,8 @@ asm e_rd_class::e_rd_class() { #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_rd/d_a_e_rd/__dt__8cM3dGSphFv.s" } @@ -4365,7 +4303,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_rd/d_a_e_rd/__dt__8cM3dGAabFv.s" } @@ -4375,7 +4314,8 @@ asm cM3dGAab::~cM3dGAab() { #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_rd/d_a_e_rd/__dt__8dCcD_SphFv.s" } @@ -4385,7 +4325,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_rd/d_a_e_rd/__ct__8dCcD_SphFv.s" } @@ -4395,7 +4336,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_rd/d_a_e_rd/__dt__10dCcD_GSttsFv.s" } @@ -4427,7 +4369,8 @@ csXyz::csXyz() { } /* 80517FD0-80517FD4 013650 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -4435,7 +4378,8 @@ cXyz::cXyz() { #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_rd/d_a_e_rd/__dt__10cCcD_GSttsFv.s" } @@ -4542,7 +4486,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_rd/d_a_e_rd/__dt__4cXyzFv.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 dd4047e888..cb0e0f16c8 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_rdb/d_a_e_rdb.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -65,14 +66,6 @@ struct daE_RDB_HIO_c { /* 8076AF64 */ ~daE_RDB_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 8076B40C */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -143,39 +136,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 8076AC90 */ ~dCcD_Sph(); - /* 8076AD5C */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 8076ADE0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -207,37 +167,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8076ABB8 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 8076AC00 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 8076AC48 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8076AF1C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -257,13 +194,6 @@ struct Z2SeqMgr { /* 802AF884 */ void subBgmStop(); }; -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(); /* 802C10B4 */ void init(Vec*, Vec*, Vec*, u8, u8, u8); @@ -271,10 +201,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -473,8 +399,6 @@ 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_20(); @@ -513,7 +437,6 @@ 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 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(); @@ -733,34 +656,50 @@ SECTION_DATA static void* lit_5653[16] = { /* 8076B830-8076B870 000138 0040+00 0/1 0/0 0/0 .data cc_sph_src$6434 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFA, 0xFD, 0xBF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fafdbf, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x102}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 8076B870-8076B8B0 000178 0040+00 0/1 0/0 0/0 .data at_sph_src$6435 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFA, 0xFD, 0xBF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0xc, 0xd}, {0xd8fafdbf, 0x3}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x2, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x102}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 8076B8B0-8076B8F4 0001B8 0044+00 0/1 0/0 0/0 .data co_cyl_src$6444 */ #pragma push #pragma force_active on -SECTION_DATA static u8 co_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, +static dCcD_SrcCyl co_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 100.0f, // mRadius + 200.0f // mHeight + } // mCyl }; #pragma pop @@ -2402,7 +2341,8 @@ asm e_rdb_class::e_rdb_class() { #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_rdb/d_a_e_rdb/__dt__8cM3dGSphFv.s" } @@ -2412,7 +2352,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_rdb/d_a_e_rdb/__dt__8cM3dGCylFv.s" } @@ -2422,7 +2363,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_rdb/d_a_e_rdb/__dt__8cM3dGAabFv.s" } @@ -2432,7 +2374,8 @@ asm cM3dGAab::~cM3dGAab() { #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_rdb/d_a_e_rdb/__dt__8dCcD_SphFv.s" } @@ -2442,7 +2385,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_rdb/d_a_e_rdb/__ct__8dCcD_SphFv.s" } @@ -2452,7 +2396,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_rdb/d_a_e_rdb/__dt__10dCcD_GSttsFv.s" } @@ -2482,7 +2427,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_rdb/d_a_e_rdb/__dt__10cCcD_GSttsFv.s" } @@ -2549,7 +2495,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_rdb/d_a_e_rdb/__dt__4cXyzFv.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 95e655cf84..94e072ad40 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_rdy/d_a_e_rdy.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -66,15 +67,6 @@ struct daE_RDY_HIO_c { /* 80779880 */ ~daE_RDY_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80779D98 */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -165,37 +157,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 80779570 */ ~dCcD_Sph(); - /* 8077963C */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807796C0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -252,32 +213,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807794E0 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80779528 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80779838 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -302,12 +245,6 @@ struct Z2SeqMgr { /* 802B4164 */ void setBattleBgmOff(bool); }; -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); @@ -315,10 +252,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -585,10 +518,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_21(); @@ -630,7 +559,6 @@ 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 u32 __float_nan; 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 */]; @@ -1243,19 +1171,29 @@ SECTION_DATA static void* jc_data[33] = { }; /* 8077A6BC-8077A6FC 0005E0 0040+00 1/1 0/0 0/0 .data cc_sph_src$9405 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 8077A6FC-8077A73C 000620 0040+00 1/1 0/0 0/0 .data at_sph_src$9406 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; /* 8077A73C-8077A75C -00001 0020+00 1/0 0/0 0/0 .data l_daE_RDY_Method */ @@ -3205,7 +3143,8 @@ asm e_rdy_class::e_rdy_class() { #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_rdy/d_a_e_rdy/__dt__8cM3dGSphFv.s" } @@ -3215,7 +3154,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_rdy/d_a_e_rdy/__dt__8cM3dGAabFv.s" } @@ -3225,7 +3165,8 @@ asm cM3dGAab::~cM3dGAab() { #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_rdy/d_a_e_rdy/__dt__8dCcD_SphFv.s" } @@ -3235,7 +3176,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_rdy/d_a_e_rdy/__ct__8dCcD_SphFv.s" } @@ -3245,7 +3187,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_rdy/d_a_e_rdy/__dt__10dCcD_GSttsFv.s" } @@ -3290,7 +3233,8 @@ asm J3DLightObj::J3DLightObj() { #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_rdy/d_a_e_rdy/__dt__10cCcD_GSttsFv.s" } @@ -3397,7 +3341,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_rdy/d_a_e_rdy/__dt__4cXyzFv.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 063f90c7fb..ac1b4f9829 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_s1/d_a_e_s1.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -76,16 +77,6 @@ struct daE_S1_HIO_c { /* 80780840 */ ~daE_S1_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 807804D8 */ cXyz(); - /* 80780D74 */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -150,33 +141,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 8078056C */ ~dCcD_Sph(); - /* 80780638 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807806BC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -218,30 +182,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807804DC */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80780524 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 807807F8 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -271,13 +219,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DFrameCtrl { /* 8032842C */ void checkPass(f32); }; @@ -462,9 +403,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); 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 __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); @@ -498,7 +436,6 @@ 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 u32 __float_nan; extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -786,19 +723,29 @@ SECTION_DATA static void* jc_data[27] = { }; /* 807811E4-80781224 00023C 0040+00 1/1 0/0 0/0 .data cc_sph_src$6084 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80781224-80781264 00027C 0040+00 1/1 0/0 0/0 .data at_sph_src$6085 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; /* 80781264-80781284 -00001 0020+00 1/0 0/0 0/0 .data l_daE_S1_Method */ @@ -2075,7 +2022,8 @@ asm s1_ke_s::s1_ke_s() { #pragma pop /* 807804D8-807804DC 005A38 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2083,7 +2031,8 @@ cXyz::cXyz() { #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_s1/d_a_e_s1/__dt__8cM3dGSphFv.s" } @@ -2093,7 +2042,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_s1/d_a_e_s1/__dt__8cM3dGAabFv.s" } @@ -2103,7 +2053,8 @@ asm cM3dGAab::~cM3dGAab() { #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_s1/d_a_e_s1/__dt__8dCcD_SphFv.s" } @@ -2113,7 +2064,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_s1/d_a_e_s1/__ct__8dCcD_SphFv.s" } @@ -2123,7 +2075,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_s1/d_a_e_s1/__dt__10dCcD_GSttsFv.s" } @@ -2153,7 +2106,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_s1/d_a_e_s1/__dt__10cCcD_GSttsFv.s" } @@ -2249,7 +2203,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_s1/d_a_e_s1/__dt__4cXyzFv.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 3f50cf578a..5314d24c7c 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_sb/d_a_e_sb.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -154,27 +149,6 @@ struct dDlst_shadowControl_c { struct dCcU_AtInfo {}; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); -}; - -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(); }; @@ -208,21 +182,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 80784BA0 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80784B58 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80784BE8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -410,7 +369,6 @@ extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); @@ -431,7 +389,6 @@ 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 mGroundY__11fopAcM_gc_c; extern "C" void __register_global_object(); @@ -624,14 +581,19 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { /* ############################################################################################## */ /* 80784D94-80784DD8 00002C 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$3693 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0D, 0x00, 0x00, 0x60, 0x32, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x75, - 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x6032, 0x11}, 0x75}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 80.0f, // mRadius + 130.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80784D94, &ccCylSrc); /* 807817F0-80781850 000290 0060+00 1/1 0/0 0/0 .text initCcCylinder__8daE_SB_cFv */ #pragma push @@ -1444,7 +1406,8 @@ asm void daE_SB_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_sb/d_a_e_sb/__dt__8cM3dGCylFv.s" } @@ -1454,7 +1417,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_sb/d_a_e_sb/__dt__8cM3dGSphFv.s" } @@ -1464,7 +1428,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_sb/d_a_e_sb/__dt__8cM3dGAabFv.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 fc9805e497..3b6c9a56e0 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_sf/d_a_e_sf.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -63,14 +64,6 @@ struct dSv_info_c { struct dKy_tevstr_c {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -112,36 +105,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 807894A8 */ ~dCcD_Sph(); - /* 80789574 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807895F8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -190,32 +153,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80789418 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80789460 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80789734 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -241,13 +186,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -424,8 +362,6 @@ 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -457,7 +393,6 @@ 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" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -709,33 +644,48 @@ SECTION_DATA static u8 tate_data[8] = { /* 80789EAC-80789EEC 00011C 0040+00 0/1 0/0 0/0 .data cc_sph_src$5780 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 80789EEC-80789F2C 00015C 0040+00 0/1 0/0 0/0 .data at_sph_src$5781 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 80789F2C-80789F6C 00019C 0040+00 0/1 0/0 0/0 .data tate_sph_src$5782 */ #pragma push #pragma force_active on -SECTION_DATA static u8 tate_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcSph tate_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1697,7 +1647,8 @@ static asm void daE_SF_Create(fopAc_ac_c* param_0) { #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_sf/d_a_e_sf/__dt__8cM3dGSphFv.s" } @@ -1707,7 +1658,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_sf/d_a_e_sf/__dt__8cM3dGAabFv.s" } @@ -1717,7 +1669,8 @@ asm cM3dGAab::~cM3dGAab() { #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_sf/d_a_e_sf/__dt__8dCcD_SphFv.s" } @@ -1727,7 +1680,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_sf/d_a_e_sf/__ct__8dCcD_SphFv.s" } @@ -1737,7 +1691,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_sf/d_a_e_sf/__dt__10dCcD_GSttsFv.s" } @@ -1767,7 +1722,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_sf/d_a_e_sf/__dt__10cCcD_GSttsFv.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 e8e5e35966..17fdb9ef46 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_sg/d_a_e_sg.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -38,15 +39,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 8078A4DC */ ~cXyz(); - /* 8078DD7C */ cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -87,27 +79,6 @@ struct dDlst_shadowControl_c { 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(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -141,18 +112,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8078DB84 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 8078DBCC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -309,9 +268,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_23(); @@ -342,7 +298,6 @@ 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" void __register_global_object(); // @@ -485,11 +440,16 @@ SECTION_DATA static void* jc_data[3] = { }; /* 8078DFBC-8078DFFC 000108 0040+00 1/1 0/0 0/0 .data cc_sph_src$5023 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x0C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0xc, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 8078DFFC-8078E01C -00001 0020+00 1/0 0/0 0/0 .data l_daE_SG_Method */ @@ -613,7 +573,8 @@ static asm void daE_SG_Draw(e_sg_class* param_0) { #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_sg/d_a_e_sg/__dt__4cXyzFv.s" } @@ -1320,7 +1281,8 @@ static asm void daE_SG_Create(fopAc_ac_c* param_0) { #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_sg/d_a_e_sg/__dt__8cM3dGSphFv.s" } @@ -1330,7 +1292,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_sg/d_a_e_sg/__dt__8cM3dGAabFv.s" } @@ -1382,7 +1345,8 @@ asm void func_8078DD44() { #pragma pop /* 8078DD7C-8078DD80 003C3C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } 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 d480e5aade..c1dc0ab6f8 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_sh/d_a_e_sh.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -58,13 +59,6 @@ struct daE_SH_HIO_c { struct dKy_tevstr_c {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 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*); @@ -101,31 +95,6 @@ struct dDlst_shadowControl_c { 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&); - /* 807915E0 */ ~dCcD_Sph(); - /* 807916AC */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80791730 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -154,30 +123,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80791550 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80791598 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8079186C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -198,13 +151,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -345,8 +291,6 @@ 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_21(); @@ -378,7 +322,6 @@ 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" void __register_global_object(); @@ -615,19 +558,29 @@ SECTION_DATA static u8 time_scale[100] = { }; /* 80791FB0-80791FF0 0000E8 0040+00 1/1 0/0 0/0 .data cc_sph_src$5107 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80791FF0-80792030 000128 0040+00 1/1 0/0 0/0 .data at_sph_src$5108 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80792030-80792050 -00001 0020+00 1/0 0/0 0/0 .data l_daE_SH_Method */ @@ -1367,7 +1320,8 @@ static asm void daE_SH_Create(fopAc_ac_c* param_0) { #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_sh/d_a_e_sh/__dt__8cM3dGSphFv.s" } @@ -1377,7 +1331,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_sh/d_a_e_sh/__dt__8cM3dGAabFv.s" } @@ -1387,7 +1342,8 @@ asm cM3dGAab::~cM3dGAab() { #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_sh/d_a_e_sh/__dt__8dCcD_SphFv.s" } @@ -1397,7 +1353,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_sh/d_a_e_sh/__ct__8dCcD_SphFv.s" } @@ -1407,7 +1364,8 @@ asm dCcD_Sph::dCcD_Sph() { #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_sh/d_a_e_sh/__dt__10dCcD_GSttsFv.s" } @@ -1437,7 +1395,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_sh/d_a_e_sh/__dt__10cCcD_GSttsFv.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 08f8b73c7e..441504cd86 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_sm/d_a_e_sm.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,12 +13,6 @@ struct request_of_phase_process_class {}; -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); @@ -153,30 +148,6 @@ struct dDlst_shadowControl_c { 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(); - /* 80797F60 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -217,34 +188,14 @@ struct dBgS_Acch { /* 800773C0 */ void SetGndThinCellingOff(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80797ED0 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80797F18 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_Stts { - /* 8026395C */ void ClrCcMove(); -}; - -struct cCcD_GStts { - /* 807980A0 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -468,10 +419,6 @@ 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -497,7 +444,6 @@ 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" void __register_global_object(); @@ -653,19 +599,29 @@ SECTION_DATA static void* lit_5683[8] = { }; /* 80798838-80798878 0000AC 0040+00 1/1 0/0 0/0 .data cc_sph_src$5956 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xBD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbbdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_SOFT_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 80798878-807988B8 0000EC 0040+00 1/1 0/0 0/0 .data core_sph_src$5957 */ -SECTION_DATA static u8 core_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph core_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0x4000, 0x43}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807988B8-807988D8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_SM_Method */ @@ -2013,7 +1969,8 @@ asm daE_SM_c::daE_SM_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_sm/d_a_e_sm/__dt__8cM3dGSphFv.s" } @@ -2023,7 +1980,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_sm/d_a_e_sm/__dt__8cM3dGAabFv.s" } @@ -2033,7 +1991,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_sm/d_a_e_sm/__dt__10dCcD_GSttsFv.s" } @@ -2068,7 +2027,8 @@ csXyz::csXyz() { #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_sm/d_a_e_sm/__dt__10cCcD_GSttsFv.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 683da0aa71..c8119947ad 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_sm2/d_a_e_sm2.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -25,14 +26,6 @@ struct mDoHIO_entry_c { struct J3DModel {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 8079CE48 */ cXyz(); - /* 8079D560 */ ~cXyz(); -}; - struct mDoExt_invisibleModel { /* 8000E53C */ void create(J3DModel*, u8); /* 8000E7C0 */ void entryDL(cXyz*); @@ -140,33 +133,6 @@ struct dDlst_shadowControl_c { 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&); - /* 8079CB28 */ ~dCcD_Sph(); - /* 8079CBF4 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 8079CD08 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -214,32 +180,14 @@ struct dAttCatch_c { /* 80073A08 */ void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8079CC78 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 8079CCC0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8079CE4C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -438,8 +386,6 @@ 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_14(); extern "C" void _savegpr_19(); @@ -473,7 +419,6 @@ 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" 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(); @@ -852,11 +797,16 @@ SECTION_DATA static void* lit_5182[21] = { }; /* 8079DA2C-8079DA6C 0002F8 0040+00 1/1 0/0 0/0 .data cc_sph_src$5433 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xDA, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xdafbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_SOFT_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0xa0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 8079DA6C-8079DA8C -00001 0020+00 1/0 0/0 0/0 .data l_daE_SM2_Method */ @@ -1980,7 +1930,8 @@ static asm void daE_SM2_Create(fopAc_ac_c* param_0) { #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_sm2/d_a_e_sm2/__dt__8dCcD_SphFv.s" } @@ -1990,7 +1941,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_sm2/d_a_e_sm2/__ct__8dCcD_SphFv.s" } @@ -2000,7 +1952,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_sm2/d_a_e_sm2/__dt__8cM3dGSphFv.s" } @@ -2010,7 +1963,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_sm2/d_a_e_sm2/__dt__8cM3dGAabFv.s" } @@ -2020,7 +1974,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_sm2/d_a_e_sm2/__dt__10dCcD_GSttsFv.s" } @@ -2052,7 +2007,8 @@ csXyz::csXyz() { } /* 8079CE48-8079CE4C 0043E8 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2060,7 +2016,8 @@ cXyz::cXyz() { #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_sm2/d_a_e_sm2/__dt__10cCcD_GSttsFv.s" } @@ -2217,7 +2174,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_sm2/d_a_e_sm2/__dt__4cXyzFv.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 6ea68528ae..d40c371d8d 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_st/d_a_e_st.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -70,16 +71,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 807A61B0 */ cXyz(); - /* 807A67B8 */ ~cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -142,36 +133,6 @@ struct dDlst_shadowControl_c { 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(); - /* 807A6074 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -221,38 +182,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807A5FE4 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 807A5F9C */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 807A602C */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 807A61B4 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -481,8 +418,6 @@ 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_21(); @@ -521,7 +456,6 @@ 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" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; @@ -775,45 +709,66 @@ SECTION_DATA static u8 xa[12] = { /* 807A6B84-807A6BC4 000198 0040+00 0/1 0/0 0/0 .data cc_sph_src$6887 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 807A6BC4-807A6C04 0001D8 0040+00 0/1 0/0 0/0 .data at_sph_src$6888 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; #pragma pop /* 807A6C04-807A6C48 000218 0044+00 0/1 0/0 0/0 .data line_cyl_src$6889 */ #pragma push #pragma force_active on -SECTION_DATA static u8 line_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, +static dCcD_SrcCyl line_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 30.0f, // mRadius + 2000.0f // mHeight + } // mCyl }; #pragma pop /* 807A6C48-807A6C88 00025C 0040+00 0/1 0/0 0/0 .data def_sph_src$6890 */ #pragma push #pragma force_active on -SECTION_DATA static u8 def_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcSph def_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x5, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; #pragma pop @@ -2279,7 +2234,8 @@ st_foot::st_foot() { #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_st/d_a_e_st/__dt__8cM3dGCylFv.s" } @@ -2289,7 +2245,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_st/d_a_e_st/__dt__8cM3dGSphFv.s" } @@ -2299,7 +2256,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_st/d_a_e_st/__dt__8cM3dGAabFv.s" } @@ -2309,7 +2267,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_st/d_a_e_st/__dt__10dCcD_GSttsFv.s" } @@ -2336,7 +2295,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma pop /* 807A61B0-807A61B4 0084B0 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2344,7 +2304,8 @@ cXyz::cXyz() { #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_st/d_a_e_st/__dt__10cCcD_GSttsFv.s" } @@ -2449,7 +2410,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_st/d_a_e_st/__dt__4cXyzFv.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 feefb99eb2..06959ccc01 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_th/d_a_e_th.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -77,14 +78,6 @@ struct daE_TH_HIO_c { /* 807B3FA4 */ ~daE_TH_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 807B3C3C */ cXyz(); - /* 807B444C */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -135,31 +128,6 @@ struct dDlst_shadowControl_c { 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&); - /* 807B3C40 */ ~dCcD_Sph(); - /* 807B3D0C */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807B3E20 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -191,30 +159,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807B3D90 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 807B3DD8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 807B3F5C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -231,10 +183,6 @@ struct Z2CreatureEnemy { /* 802C1094 */ void init(Vec*, Vec*, u8, u8); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -407,8 +355,6 @@ 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 __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); @@ -440,7 +386,6 @@ 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" extern u8 struct_80450C98[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -642,11 +587,16 @@ SECTION_DATA static void* lit_5133[14] = { }; /* 807B4754-807B4794 000108 0040+00 1/1 0/0 0/0 .data cc_sph_src$5396 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807B4794-807B47B4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_TH_Method */ @@ -1690,7 +1640,8 @@ asm th_ke_s::th_ke_s() { #pragma pop /* 807B3C3C-807B3C40 00399C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1698,7 +1649,8 @@ cXyz::cXyz() { #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_th/d_a_e_th/__dt__8dCcD_SphFv.s" } @@ -1708,7 +1660,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_th/d_a_e_th/__ct__8dCcD_SphFv.s" } @@ -1718,7 +1671,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_th/d_a_e_th/__dt__8cM3dGSphFv.s" } @@ -1728,7 +1682,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_th/d_a_e_th/__dt__8cM3dGAabFv.s" } @@ -1738,7 +1693,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_th/d_a_e_th/__dt__10dCcD_GSttsFv.s" } @@ -1768,7 +1724,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_th/d_a_e_th/__dt__10cCcD_GSttsFv.s" } @@ -1835,7 +1792,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_th/d_a_e_th/__dt__4cXyzFv.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 646e62dd68..33a9e14e08 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 @@ -4,6 +4,7 @@ // #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" // @@ -36,15 +37,6 @@ struct e_th_ball_class { /* 807B7AA8 */ e_th_ball_class(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 807B5074 */ ~cXyz(); - /* 807B7E9C */ cXyz(); -}; - struct daPy_py_c { /* 8015F4F0 */ void setLookPos(cXyz*); }; @@ -76,28 +68,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -136,20 +106,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807B7D5C */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 807B7DA4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -296,9 +252,6 @@ extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_21(); extern "C" void _savegpr_22(); @@ -326,7 +279,6 @@ 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; // // Declarations: @@ -428,7 +380,8 @@ static asm void chain_control_01(e_th_ball_class* param_0) { #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_th_ball/d_a_e_th_ball/__dt__4cXyzFv.s" } @@ -1025,19 +978,29 @@ COMPILER_STRIP_GATE(0x807B7FBC, &lit_4829); #pragma pop /* 807B7FD0-807B8010 000000 0040+00 1/1 0/0 0/0 .data cc_sph_src$4795 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xEB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x01, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x5C, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8ebfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x1, 0x2, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 55.0f} // mSph + } // mSphAttr }; /* 807B8010-807B8050 000040 0040+00 1/1 0/0 0/0 .data at_sph_src$4796 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x5C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_BOSS_SWING, 0x4, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x1, 0xe, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 55.0f} // mSph + } // mSphAttr }; /* 807B792C-807B7AA8 00308C 017C+00 1/0 0/0 0/0 .text daE_TH_BALL_Create__FP10fopAc_ac_c @@ -1115,7 +1078,8 @@ asm e_th_ball_class::e_th_ball_class() { #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_th_ball/d_a_e_th_ball/__dt__8cM3dGSphFv.s" } @@ -1125,7 +1089,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_th_ball/d_a_e_th_ball/__dt__8cM3dGAabFv.s" } @@ -1157,7 +1122,8 @@ csXyz::csXyz() { } /* 807B7E9C-807B7EA0 0035FC 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* 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 fe19b8ed1b..7cb03d21b2 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_tk/d_a_e_tk.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -52,12 +53,6 @@ struct daE_TK_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*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -83,27 +78,6 @@ struct dPa_control_c { 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(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -137,18 +111,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807BA0C4 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 807BA10C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -288,7 +250,6 @@ extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -378,11 +339,16 @@ SECTION_DATA static void* lit_4185[11] = { }; /* 807BA358-807BA398 000060 0040+00 1/1 0/0 0/0 .data cc_sph_src$4408 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807BA398-807BA3B8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_TK_Method */ @@ -851,7 +817,8 @@ static asm void daE_TK_Create(fopAc_ac_c* param_0) { #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_tk/d_a_e_tk/__dt__8cM3dGSphFv.s" } @@ -861,7 +828,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_tk/d_a_e_tk/__dt__8cM3dGAabFv.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 7c65276955..c47be3ba9f 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_tk2/d_a_e_tk2.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -52,8 +53,6 @@ struct daE_TK2_HIO_c { 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*); @@ -79,27 +78,6 @@ struct dPa_control_c { 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(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -133,18 +111,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807BBC00 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 807BBC48 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -160,8 +126,6 @@ struct cBgS { /* 800744A0 */ void GroundCross(cBgS_GndChk*); }; -struct Vec {}; - struct Z2CreatureEnemy { /* 802C0F64 */ Z2CreatureEnemy(); /* 802C1094 */ void init(Vec*, Vec*, u8, u8); @@ -350,11 +314,16 @@ SECTION_DATA static void* lit_3947[13] = { }; /* 807BBE5C-807BBE9C 000034 0040+00 1/1 0/0 0/0 .data cc_sph_src$4256 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807BBE9C-807BBEBC -00001 0020+00 1/0 0/0 0/0 .data l_daE_TK2_Method */ @@ -774,7 +743,8 @@ static asm void daE_TK2_Create(fopAc_ac_c* param_0) { #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_tk2/d_a_e_tk2/__dt__8cM3dGSphFv.s" } @@ -784,7 +754,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_tk2/d_a_e_tk2/__dt__8cM3dGAabFv.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 3ce27cca6d..300b475727 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 @@ -4,6 +4,7 @@ // #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" // @@ -28,13 +29,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 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*); @@ -67,28 +61,6 @@ struct dPa_control_c { static u8 mParticleTracePCB[4 + 4 /* padding */]; }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); -}; - struct dBgS_LinChk { /* 80077C68 */ dBgS_LinChk(); /* 80077CDC */ ~dBgS_LinChk(); @@ -100,17 +72,6 @@ struct dAttention_c { /* 800737E4 */ void LockonTruth(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 807BD4D4 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 807BD51C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -208,10 +169,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXScale(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); @@ -230,7 +187,6 @@ 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" extern u32 __float_nan; extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; // @@ -501,19 +457,29 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { /* ############################################################################################## */ /* 807BD5D8-807BD618 000008 0040+00 1/1 0/0 0/0 .data at_sph_src$4199 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 807BD618-807BD658 000048 0040+00 1/1 0/0 0/0 .data tg_sph_src$4200 */ -SECTION_DATA static u8 tg_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph tg_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; /* 807BD658-807BD678 -00001 0020+00 1/0 0/0 0/0 .data l_daE_TK_BALL_Method */ @@ -567,7 +533,8 @@ static asm void daE_TK_BALL_Create(fopAc_ac_c* param_0) { #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_tk_ball/d_a_e_tk_ball/__dt__8cM3dGSphFv.s" } @@ -577,7 +544,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_tk_ball/d_a_e_tk_ball/__dt__8cM3dGAabFv.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 a55c9bfdea..70003d39ff 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 @@ -926,22 +926,32 @@ SECTION_DATA static u8 x_check_off[24] = { /* 807E341C-807E345C 0004C4 0040+00 0/1 0/0 0/0 .data cc_sph_src$10277 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x48, 0x60, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x486022, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 807E345C-807E349C 000504 0040+00 0/1 0/0 0/0 .data at_sph_src$10278 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_1000, 0x2, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop diff --git a/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp b/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp index f7e60adbd9..1218ffadf5 100644 --- a/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp +++ b/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_yc/d_a_e_yc.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -50,12 +51,6 @@ struct daE_YC_HIO_c { /* 807F27BC */ ~daE_YC_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -97,27 +92,6 @@ 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(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -140,18 +114,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807F26BC */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 807F2704 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -167,13 +129,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -284,8 +239,6 @@ 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 _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); @@ -309,7 +262,6 @@ 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 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -375,19 +327,29 @@ SECTION_DATA static u8 wing_j[8] = { }; /* 807F29E8-807F2A28 000094 0040+00 1/1 0/0 0/0 .data cc_sph_src$4529 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807F2A28-807F2A68 0000D4 0040+00 1/1 0/0 0/0 .data at_sph_src$4530 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807F2A68-807F2A88 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YC_Method */ @@ -1031,7 +993,8 @@ static asm void daE_YC_Create(fopAc_ac_c* param_0) { #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_yc/d_a_e_yc/__dt__8cM3dGSphFv.s" } @@ -1041,7 +1004,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_yc/d_a_e_yc/__dt__8cM3dGAabFv.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 46cb20b09f..f0d894c19d 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_yd/d_a_e_yd.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -52,8 +53,6 @@ struct mDoExt_McaMorfSO { /* 80011310 */ void stopZelAnime(); }; -struct Vec {}; - struct mDoExt_McaMorf { /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); /* 800105C8 */ void play(Vec*, u32, s8); @@ -82,14 +81,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 807F7480 */ cXyz(); - /* 807F79B0 */ ~cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -150,34 +141,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 807F7240 */ dCcD_Sph(); - /* 807F72C4 */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 807F7420 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -201,44 +164,20 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807F7390 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 807F73D8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 807F7484 */ ~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); @@ -246,10 +185,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter { /* 8027EC60 */ void deleteAllParticle(); }; @@ -258,13 +193,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -430,9 +358,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); 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_23(); @@ -466,7 +391,6 @@ 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 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]; @@ -658,33 +582,48 @@ SECTION_DATA static u8 p_idx[12] = { /* 807F7BC4-807F7C04 00008C 0040+00 0/1 0/0 0/0 .data cc_sph_src$5344 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x25}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 807F7C04-807F7C44 0000CC 0040+00 0/1 0/0 0/0 .data at_sph_src$5345 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 807F7C44-807F7C84 00010C 0040+00 0/1 0/0 0/0 .data kuki_sph_src$5346 */ #pragma push #pragma force_active on -SECTION_DATA static u8 kuki_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph kuki_sph_src = { + { + {0x0, {{0x0, 0x0, 0xd}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1532,7 +1471,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_yd/d_a_e_yd/__ct__8dCcD_SphFv.s" } @@ -1542,7 +1482,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_yd/d_a_e_yd/__dt__8dCcD_SphFv.s" } @@ -1552,7 +1493,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_yd/d_a_e_yd/__dt__8cM3dGSphFv.s" } @@ -1562,7 +1504,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_yd/d_a_e_yd/__dt__8cM3dGAabFv.s" } @@ -1572,7 +1515,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_yd/d_a_e_yd/__dt__10dCcD_GSttsFv.s" } @@ -1584,7 +1528,8 @@ csXyz::csXyz() { } /* 807F7480-807F7484 004940 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1592,7 +1537,8 @@ cXyz::cXyz() { #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_yd/d_a_e_yd/__dt__10cCcD_GSttsFv.s" } @@ -1669,7 +1615,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_yd/d_a_e_yd/__dt__4cXyzFv.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 95d6a420e1..6a107eec80 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_yg/d_a_e_yg.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -77,15 +78,6 @@ struct daE_YG_HIO_c { /* 807FC168 */ ~daE_YG_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 807F99CC */ cXyz(); - /* 807FCC64 */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -132,28 +124,6 @@ struct dDlst_shadowControl_c { 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(); - /* 807FBFE4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -188,30 +158,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807FBF54 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 807FBF9C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 807FC120 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -229,12 +183,6 @@ struct cBgS { 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); @@ -242,21 +190,10 @@ struct Z2CreatureEnemy { /* 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 J3DModel {}; struct J3DFrameCtrl { @@ -420,9 +357,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); 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 __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_19(); @@ -458,7 +392,6 @@ 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 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 */]; @@ -651,19 +584,29 @@ SECTION_DATA static u8 eff_id_5034[8] = { }; /* 807FCEC8-807FCF08 0000CC 0040+00 1/1 0/0 0/0 .data cc_sph_src$5193 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xDA, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xdafbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 807FCF08-807FCF48 00010C 0040+00 1/1 0/0 0/0 .data at_sph_src$5194 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_SOFT_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 807FCF48-807FCF68 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YG_Method */ @@ -1191,7 +1134,8 @@ static asm void search_ground_1(e_yg_class* param_0) { #pragma pop /* 807F99CC-807F99D0 00176C 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1809,7 +1753,8 @@ asm yg_ke_s::yg_ke_s() { #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_yg/d_a_e_yg/__dt__8cM3dGSphFv.s" } @@ -1819,7 +1764,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_yg/d_a_e_yg/__dt__8cM3dGAabFv.s" } @@ -1829,7 +1775,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_yg/d_a_e_yg/__dt__10dCcD_GSttsFv.s" } @@ -1859,7 +1806,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_yg/d_a_e_yg/__dt__10cCcD_GSttsFv.s" } @@ -1951,7 +1899,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_yg/d_a_e_yg/__dt__4cXyzFv.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 5d03f4ff84..6ef68b41f4 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_yh/d_a_e_yh.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -52,8 +53,6 @@ struct mDoExt_McaMorfSO { /* 80011310 */ void stopZelAnime(); }; -struct Vec {}; - struct mDoExt_McaMorf { /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*); /* 800105C8 */ void play(Vec*, u32, s8); @@ -82,14 +81,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80803CFC */ cXyz(); - /* 8080422C */ ~cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -157,35 +148,6 @@ struct dDlst_shadowControl_c { 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&); - /* 80084A78 */ void StartCAt(cXyz&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 80803ABC */ dCcD_Sph(); - /* 80803B40 */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80803C9C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -219,32 +181,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80803C0C */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80803C54 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80803D00 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -260,12 +204,6 @@ struct cBgS { 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); @@ -273,10 +211,6 @@ struct Z2CreatureEnemy { /* 802C1B90 */ void setEnemyName(char const*); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter { /* 8027EC60 */ void deleteAllParticle(); }; @@ -285,13 +219,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -477,9 +404,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); 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_20(); @@ -514,7 +438,6 @@ 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 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -783,33 +706,48 @@ SECTION_DATA static u8 p_idx[12] = { /* 80804574-808045B4 00018C 0040+00 0/1 0/0 0/0 .data cc_sph_src$5967 */ #pragma push #pragma force_active on -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x25}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 808045B4-808045F4 0001CC 0040+00 0/1 0/0 0/0 .data at_sph_src$5968 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 35.0f} // mSph + } // mSphAttr }; #pragma pop /* 808045F4-80804634 00020C 0040+00 0/1 0/0 0/0 .data kuki_sph_src$5969 */ #pragma push #pragma force_active on -SECTION_DATA static u8 kuki_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph kuki_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1793,7 +1731,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_yh/d_a_e_yh/__ct__8dCcD_SphFv.s" } @@ -1803,7 +1742,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_yh/d_a_e_yh/__dt__8dCcD_SphFv.s" } @@ -1813,7 +1753,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_yh/d_a_e_yh/__dt__8cM3dGSphFv.s" } @@ -1823,7 +1764,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_yh/d_a_e_yh/__dt__8cM3dGAabFv.s" } @@ -1833,7 +1775,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_yh/d_a_e_yh/__dt__10dCcD_GSttsFv.s" } @@ -1845,7 +1788,8 @@ csXyz::csXyz() { } /* 80803CFC-80803D00 00691C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1853,7 +1797,8 @@ cXyz::cXyz() { #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_yh/d_a_e_yh/__dt__10cCcD_GSttsFv.s" } @@ -1930,7 +1875,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_yh/d_a_e_yh/__dt__4cXyzFv.s" } 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 ed3141f746..73593ed8f4 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/e/d_a_e_yr/d_a_e_yr.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -70,15 +71,6 @@ struct dSv_info_c { struct dKy_tevstr_c {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80827F80 */ cXyz(); - /* 80828800 */ ~cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -117,29 +109,6 @@ struct dDlst_shadowControl_c { 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(); - /* 80828014 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -174,29 +143,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80827F84 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80827FCC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80828150 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -215,12 +169,6 @@ struct cBgS { 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); @@ -228,21 +176,10 @@ struct Z2CreatureEnemy { /* 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]; }; @@ -397,8 +334,6 @@ 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 __construct_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_21(); @@ -427,7 +362,6 @@ 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(); @@ -1473,44 +1407,64 @@ SECTION_DEAD static char const* const stringBase_808289AD = "E_yr"; /* 80828BD0-80828C10 00021C 0040+00 0/1 0/0 0/0 .data at_sph_src$6145 */ #pragma push #pragma force_active on -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 25.0f} // mSph + } // mSphAttr }; #pragma pop /* 80828C10-80828C50 00025C 0040+00 0/1 0/0 0/0 .data head_tg_sph_src$6146 */ #pragma push #pragma force_active on -SECTION_DATA static u8 head_tg_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x7A, 0x00, 0x00, +static dCcD_SrcSph head_tg_sph_src = { + { + {0x0, {{0x0, 0x1, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 62.5f} // mSph + } // mSphAttr }; #pragma pop /* 80828C50-80828C90 00029C 0040+00 0/1 0/0 0/0 .data body_tg_sph_src$6147 */ #pragma push #pragma force_active on -SECTION_DATA static u8 body_tg_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x82, 0x00, 0x00, +static dCcD_SrcSph body_tg_sph_src = { + { + {0x0, {{0x0, 0x1, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 65.0f} // mSph + } // mSphAttr }; #pragma pop /* 80828C90-80828CD0 0002DC 0040+00 0/1 0/0 0/0 .data body_co_sph_src$6148 */ #pragma push #pragma force_active on -SECTION_DATA static u8 body_co_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, +static dCcD_SrcSph body_co_sph_src = { + { + {0x0, {{0x0, 0x1, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 80.0f} // mSph + } // mSphAttr }; #pragma pop @@ -1606,7 +1560,8 @@ asm e_yr_class::e_yr_class() { #pragma pop /* 80827F80-80827F84 005E60 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1614,7 +1569,8 @@ cXyz::cXyz() { #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_yr/d_a_e_yr/__dt__8cM3dGSphFv.s" } @@ -1624,7 +1580,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_yr/d_a_e_yr/__dt__8cM3dGAabFv.s" } @@ -1634,7 +1591,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_yr/d_a_e_yr/__dt__10dCcD_GSttsFv.s" } @@ -1664,7 +1622,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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_yr/d_a_e_yr/__dt__10cCcD_GSttsFv.s" } @@ -1808,7 +1767,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_yr/d_a_e_yr/__dt__4cXyzFv.s" } diff --git a/rel/d/a/npc/d_a_npc_blue_ns/d_a_npc_blue_ns.cpp b/rel/d/a/npc/d_a_npc_blue_ns/d_a_npc_blue_ns.cpp index cd433d291d..35996f4b12 100644 --- a/rel/d/a/npc/d_a_npc_blue_ns/d_a_npc_blue_ns.cpp +++ b/rel/d/a/npc/d_a_npc_blue_ns/d_a_npc_blue_ns.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/npc/d_a_npc_blue_ns/d_a_npc_blue_ns.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -24,8 +25,6 @@ struct J3DAnmTransform {}; struct J3DModelData {}; -struct Vec {}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0420 */ ~Z2Creature(); @@ -82,12 +81,6 @@ struct csXyz { /* 8096C120 */ csXyz(); }; -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 8096C124 */ ~cXyz(); - /* 8096C160 */ cXyz(); -}; - struct daNpcF_Lookat_c { /* 80151038 */ void initialize(); /* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16, @@ -227,29 +220,6 @@ 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(); - /* 8096C610 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -283,31 +253,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80968AF0 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80968B38 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8096C748 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -534,7 +487,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __ptmf_test(); @@ -560,7 +512,6 @@ 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" void __register_global_object(); // @@ -905,7 +856,8 @@ asm daNpcBlueNS_c::daNpcBlueNS_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/npc/d_a_npc_blue_ns/d_a_npc_blue_ns/__dt__8cM3dGCylFv.s" } @@ -915,7 +867,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/npc/d_a_npc_blue_ns/d_a_npc_blue_ns/__dt__8cM3dGAabFv.s" } @@ -933,14 +886,19 @@ asm daNpcBlueNS_c::~daNpcBlueNS_c() { /* ############################################################################################## */ /* 8096C920-8096C964 000000 0044+00 8/8 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x8}, // mGObjAt + {dCcD_SE_NONE, 0x8, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x8096C920, &l_cyl_src); /* 8096C964-8096C9D4 000044 0070+00 3/9 0/0 0/0 .rodata m__19daNpcBlueNS_Param_c */ SECTION_RODATA u8 const daNpcBlueNS_Param_c::m[112] = { @@ -2035,14 +1993,16 @@ 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/npc/d_a_npc_blue_ns/d_a_npc_blue_ns/__dt__4cXyzFv.s" } #pragma pop /* 8096C160-8096C164 0038E0 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2080,7 +2040,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/npc/d_a_npc_blue_ns/d_a_npc_blue_ns/__dt__10dCcD_GSttsFv.s" } @@ -2140,7 +2101,8 @@ void daNpcF_c::drawOtherMdls() { #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/npc/d_a_npc_blue_ns/d_a_npc_blue_ns/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/npc/d_a_npc_du/d_a_npc_du.cpp b/rel/d/a/npc/d_a_npc_du/d_a_npc_du.cpp index 0dd49cf57e..8974fbb31f 100644 --- a/rel/d/a/npc/d_a_npc_du/d_a_npc_du.cpp +++ b/rel/d/a/npc/d_a_npc_du/d_a_npc_du.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/npc/d_a_npc_du/d_a_npc_du.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -33,8 +34,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -60,10 +59,6 @@ struct daNpc_Du_HIO_c { struct dKy_tevstr_c {}; -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*); @@ -89,24 +84,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -136,18 +113,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 809B16A0 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 809B16E8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -172,16 +137,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -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 J3DSys { static u8 mCurrentMtx[48]; }; @@ -296,7 +251,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -340,11 +294,16 @@ SECTION_DATA static u8 run_se[8] = { }; /* 809B18FC-809B193C 000010 0040+00 1/1 0/0 0/0 .data cc_sph_src$4342 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 809B193C-809B195C -00001 0020+00 1/0 0/0 0/0 .data l_daNpc_Du_Method */ @@ -849,7 +808,8 @@ static asm void daNpc_Du_Create(fopAc_ac_c* param_0) { #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/npc/d_a_npc_du/d_a_npc_du/__dt__8cM3dGSphFv.s" } @@ -859,7 +819,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/npc/d_a_npc_du/d_a_npc_du/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/npc/d_a_npc_ks/d_a_npc_ks.cpp b/rel/d/a/npc/d_a_npc_ks/d_a_npc_ks.cpp index f02ab5aa94..97be7d067f 100644 --- a/rel/d/a/npc/d_a_npc_ks/d_a_npc_ks.cpp +++ b/rel/d/a/npc/d_a_npc_ks/d_a_npc_ks.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/npc/d_a_npc_ks/d_a_npc_ks.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -46,8 +47,6 @@ struct J3DAnmTransform {}; struct J3DModelData {}; -struct Vec {}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0530 */ void init(Vec*, Vec*, u8, u8); @@ -72,18 +71,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80A49168 */ ~cXyz(); - /* 80A5DB80 */ cXyz(cXyz const&); - /* 80A5DDE4 */ cXyz(f32, f32, f32); - /* 80A5DC64 */ void operator+=(Vec const&); - /* 80A5DCA4 */ void set(f32, f32, f32); - /* 80A5DCB4 */ void operator=(cXyz const&); -}; - struct daPy_py_c { /* 8015F4F0 */ void setLookPos(cXyz*); /* 80A5DB40 */ void cancelOriginalDemo(); @@ -186,25 +173,6 @@ 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(); - /* 80A5D90C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -256,31 +224,14 @@ struct dAttention_c { /* 8007353C */ void LockonTarget(s32); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80A5D87C */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80A5D8C4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80A5DA48 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -302,18 +253,6 @@ struct Z2SeqMgr { /* 802B4164 */ void setBattleBgmOff(bool); }; -struct JAISoundID { - /* 80A5DE4C */ JAISoundID(u32); -}; - -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]; }; @@ -588,10 +527,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_19(); extern "C" void _savegpr_22(); @@ -628,7 +563,6 @@ 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" extern u8 struct_80450C98[4]; extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -1435,12 +1369,18 @@ SECTION_DATA static void* lit_11379[23] = { }; /* 80A5FD30-80A5FD74 0018D8 0044+00 1/1 0/0 0/0 .data cc_cyl_src$11445 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFA, 0xFD, 0x3F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fafd3f, 0x3}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 30.0f, // mRadius + 20.0f // mHeight + } // mCyl }; /* 80A5FD74-80A5FD94 -00001 0020+00 1/0 0/0 0/0 .data l_daNpc_Ks_Method */ @@ -1580,7 +1520,8 @@ static asm void otherBgCheck(fopAc_ac_c* param_0, fopAc_ac_c* 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/npc/d_a_npc_ks/d_a_npc_ks/__dt__4cXyzFv.s" } @@ -4790,7 +4731,8 @@ static asm void daNpc_Ks_Create(fopAc_ac_c* param_0) { #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/npc/d_a_npc_ks/d_a_npc_ks/__dt__8cM3dGCylFv.s" } @@ -4800,7 +4742,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/npc/d_a_npc_ks/d_a_npc_ks/__dt__8cM3dGAabFv.s" } @@ -4810,7 +4753,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/npc/d_a_npc_ks/d_a_npc_ks/__dt__10dCcD_GSttsFv.s" } @@ -4840,7 +4784,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/npc/d_a_npc_ks/d_a_npc_ks/__dt__10cCcD_GSttsFv.s" } @@ -4915,7 +4860,8 @@ static asm void dComIfGp_event_reset() { #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/npc/d_a_npc_ks/d_a_npc_ks/__ct__4cXyzFRC4cXyz.s" } @@ -4978,7 +4924,8 @@ asm void daPy_py_c::changeDemoPos0(cXyz const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cXyz::operator+=(Vec const& param_0) { +// asm void cXyz::operator+=(Vec const& param_0) { +extern "C" asm void __apl__4cXyzFRC3Vec() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_ks/d_a_npc_ks/__apl__4cXyzFRC3Vec.s" } @@ -4998,7 +4945,8 @@ asm void std::fabsf(f32 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/npc/d_a_npc_ks/d_a_npc_ks/set__4cXyzFfff.s" } @@ -5008,7 +4956,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 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/npc/d_a_npc_ks/d_a_npc_ks/__as__4cXyzFRC4cXyz.s" } @@ -5129,7 +5078,8 @@ static asm void dComIfGp_getVibration() { #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/npc/d_a_npc_ks/d_a_npc_ks/__ct__4cXyzFfff.s" } @@ -5167,8 +5117,12 @@ static asm void dComIfGs_setItem(int param_0, u8 param_1) { #pragma pop /* 80A5DE4C-80A5DE54 -00001 0008+00 0/0 0/0 0/0 .text __ct__10JAISoundIDFUl */ -JAISoundID::JAISoundID(u32 param_0) { - *(u32*)this = (u32)(param_0); +// JAISoundID::JAISoundID(u32 param_0) { +void __ct__10JAISoundIDFUl() { + // *(u32*)this = (u32)(param_0); + asm { + stw r4, 0x0(r3) + } } /* 80A5DE54-80A5DEB8 014FB4 0064+00 1/1 0/0 0/0 .text mDoAud_seStart__FUlPC3VecUlSc */ diff --git a/rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp b/rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp index 6c2d2136e3..2bc74e78da 100644 --- a/rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp +++ b/rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/npc/d_a_npc_ne/d_a_npc_ne.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -43,8 +44,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -83,12 +82,6 @@ struct dSv_event_c { struct dKy_tevstr_c {}; -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80A89160 */ ~cXyz(); - /* 80A8DD54 */ cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -131,24 +124,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -194,22 +169,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80A92274 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80A895F8 */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80A922BC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -243,16 +202,6 @@ struct Z2SeqMgr { /* 802AFF8C */ void changeBgmStatus(s32); }; -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]; }; @@ -444,9 +393,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_23(); @@ -481,7 +427,6 @@ 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 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -648,19 +593,29 @@ SECTION_DATA static u8 dish_bck[8] = { }; /* 80A92950-80A92990 000360 0040+00 1/1 0/0 0/0 .data cc_sph_src$7518 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 80A92990-80A929D0 0003A0 0040+00 1/1 0/0 0/0 .data at_sph_src$7519 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 15.0f} // mSph + } // mSphAttr }; /* 80A929D0-80A929F0 -00001 0020+00 1/0 0/0 0/0 .data l_daNpc_Ne_Method */ @@ -810,7 +765,8 @@ static asm void daNpc_Ne_Draw(npc_ne_class* param_0) { #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/npc/d_a_npc_ne/d_a_npc_ne/__dt__4cXyzFv.s" } @@ -885,7 +841,8 @@ static asm void way_bg_check(npc_ne_class* param_0, s16 param_1) { #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/npc/d_a_npc_ne/d_a_npc_ne/__dt__8cM3dGPlaFv.s" } @@ -1622,7 +1579,8 @@ static asm void search_ground_1(npc_ne_class* param_0) { #pragma pop /* 80A8DD54-80A8DD58 005174 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2114,7 +2072,8 @@ asm npc_ne_class::npc_ne_class() { #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/npc/d_a_npc_ne/d_a_npc_ne/__dt__8cM3dGSphFv.s" } @@ -2124,7 +2083,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/npc/d_a_npc_ne/d_a_npc_ne/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/npc/d_a_npc_sq/d_a_npc_sq.cpp b/rel/d/a/npc/d_a_npc_sq/d_a_npc_sq.cpp index 2902d6afa9..7a796649ce 100644 --- a/rel/d/a/npc/d_a_npc_sq/d_a_npc_sq.cpp +++ b/rel/d/a/npc/d_a_npc_sq/d_a_npc_sq.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/npc/d_a_npc_sq/d_a_npc_sq.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -33,8 +34,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -68,8 +67,6 @@ struct dSv_event_c { 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*); @@ -96,24 +93,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -145,18 +124,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80AF7260 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80AF72A8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -261,9 +228,6 @@ extern "C" void init__12J3DFrameCtrlFs(); 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 _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -283,7 +247,6 @@ 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" extern u32 __float_nan; extern "C" void __register_global_object(); // @@ -310,11 +273,16 @@ SECTION_DATA static void* lit_4052[10] = { }; /* 80AF74D0-80AF7510 000028 0040+00 1/1 0/0 0/0 .data cc_sph_src$4176 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 80AF7510-80AF7530 -00001 0020+00 1/0 0/0 0/0 .data l_daNpc_Sq_Method */ @@ -773,7 +741,8 @@ static asm void daNpc_Sq_Create(fopAc_ac_c* param_0) { #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/npc/d_a_npc_sq/d_a_npc_sq/__dt__8cM3dGSphFv.s" } @@ -783,7 +752,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/npc/d_a_npc_sq/d_a_npc_sq/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.cpp b/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.cpp index e88c210ff1..2fa8ae7775 100644 --- a/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.cpp +++ b/rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,19 +15,6 @@ struct request_of_phase_process_class {}; struct 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; - /* 80266EF4 */ void normalize(); - /* 8026706C */ bool operator!=(Vec const&) const; - /* 80B01678 */ ~cXyz(); - /* 80B0C0E0 */ cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -162,29 +150,6 @@ struct dComIfG_play_c { /* 8002C97C */ void getLayerNo(int); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084318 */ void ResetAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 800844B8 */ void ResetTgHit(); - /* 800846B0 */ void ResetCoHit(); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -235,20 +200,6 @@ struct dBgS_Acch { /* 80077114 */ void SetGroundUpY(f32); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80B0BFE0 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80B0C028 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -273,16 +224,6 @@ struct Z2SeqMgr { /* 802AFF8C */ void changeBgmStatus(s32); }; -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]; }; @@ -510,9 +451,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void _savegpr_23(); extern "C" void _savegpr_26(); @@ -524,7 +462,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 */]; @@ -541,7 +478,6 @@ 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" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void getType__13daNpc_Hanjo_cFv(); @@ -718,11 +654,16 @@ SECTION_DATA static void* lit_7877[14] = { }; /* 80B0C4D4-80B0C514 0000E0 0040+00 1/1 0/0 0/0 .data cc_sph_src$8096 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_THROW_OBJ, 0x1, 0x1f}, {0x0, 0x0}, 0x69}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 80.0f} // mSph + } // mSphAttr }; /* 80B0C514-80B0C534 -00001 0020+00 1/0 0/0 0/0 .data l_daNPC_TK_Method */ @@ -854,7 +795,8 @@ asm void daNPC_TK_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/npc/d_a_npc_tk/d_a_npc_tk/__dt__4cXyzFv.s" } @@ -2281,7 +2223,8 @@ asm void daNPC_TK_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/npc/d_a_npc_tk/d_a_npc_tk/__dt__8cM3dGSphFv.s" } @@ -2291,7 +2234,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/npc/d_a_npc_tk/d_a_npc_tk/__dt__8cM3dGAabFv.s" } @@ -2308,7 +2252,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma pop /* 80B0C0E0-80B0C0E4 00ADC0 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } diff --git a/rel/d/a/npc/d_a_npc_tkj2/d_a_npc_tkj2.cpp b/rel/d/a/npc/d_a_npc_tkj2/d_a_npc_tkj2.cpp index 19f6ff8397..5610dff10d 100644 --- a/rel/d/a/npc/d_a_npc_tkj2/d_a_npc_tkj2.cpp +++ b/rel/d/a/npc/d_a_npc_tkj2/d_a_npc_tkj2.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/npc/d_a_npc_tkj2/d_a_npc_tkj2.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -16,12 +17,6 @@ struct npc_tkj2_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -104,27 +99,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -163,30 +137,10 @@ struct dBgS_Acch { /* 800773A4 */ void ClrMoveBGOnly(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80B1411C */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80B1169C */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80B14164 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_Stts { - /* 8026395C */ void ClrCcMove(); -}; - struct cBgS_PolyInfo {}; struct cBgS_LinChk {}; @@ -354,9 +308,6 @@ 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 PSVECSquareDistance(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); @@ -380,7 +331,6 @@ 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" void __register_global_object(); // @@ -408,11 +358,16 @@ SECTION_DATA static void* lit_4761[7] = { }; /* 80B143D4-80B14414 00001C 0040+00 1/1 0/0 0/0 .data cc_sph_src$4995 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x42, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14202, 0x11}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 80B14414-80B14434 -00001 0020+00 1/0 0/0 0/0 .data l_daNpc_Tkj2_Method */ @@ -691,7 +646,8 @@ static asm void CheckRoof(npc_tkj2_class* 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/npc/d_a_npc_tkj2/d_a_npc_tkj2/__dt__8cM3dGPlaFv.s" } @@ -1136,7 +1092,8 @@ static asm void daNpc_Tkj2_Create(fopAc_ac_c* param_0) { #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/npc/d_a_npc_tkj2/d_a_npc_tkj2/__dt__8cM3dGSphFv.s" } @@ -1146,7 +1103,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/npc/d_a_npc_tkj2/d_a_npc_tkj2/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.cpp b/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.cpp index 8ccfa2c766..65dddda8d2 100644 --- a/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.cpp +++ b/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -43,13 +44,6 @@ struct daObjYtaihou_c { /* 80BA0FA4 */ ~daObjYtaihou_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80B9FD20 */ ~cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -99,26 +93,6 @@ struct dEvLib_callback_c { /* 80BA0F9C */ bool eventEnd(); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80BA0E34 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base { struct PushPullLabel {}; }; @@ -140,36 +114,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80BA0DA4 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80BA0DEC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BA0EFC */ ~cCcD_GStts(); -}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -279,7 +227,6 @@ extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); 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__16dBgS_MoveBgActor[10]; @@ -364,7 +311,8 @@ static asm void pushPullcallBack(fopAc_ac_c* param_0, fopAc_ac_c* param_1, s16 p #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/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou/__dt__4cXyzFv.s" } @@ -448,12 +396,18 @@ asm void daObjYtaihou_c::saveAngle() { /* ############################################################################################## */ /* 80BA11E4-80BA1228 000004 0044+00 1/1 0/0 0/0 .data l_cc_cyl_src */ -SECTION_DATA static u8 l_cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, +static dCcD_SrcCyl l_cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 120.0f, // mRadius + 200.0f // mHeight + } // mCyl }; /* 80BA1228-80BA1230 000048 0008+00 1/1 0/0 0/0 .data l_offsetAngle$3829 */ @@ -898,7 +852,8 @@ static asm void daObjYtaihou_create1st(daObjYtaihou_c* param_0) { #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/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou/__dt__8cM3dGCylFv.s" } @@ -908,7 +863,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/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou/__dt__8cM3dGAabFv.s" } @@ -918,7 +874,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/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou/__dt__10dCcD_GSttsFv.s" } @@ -961,7 +918,8 @@ static asm void daObjYtaihou_MoveBGDraw(daObjYtaihou_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/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp b/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp index d6bfe4a5a2..84dfe4f239 100644 --- a/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp +++ b/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -163,27 +158,6 @@ struct dDlst_peekZ_c { /* 80056018 */ void newData(s16, s16, u32*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -215,22 +189,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80BA52C8 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80BA3228 */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80BA5310 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -379,7 +337,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_26(); extern "C" void _savegpr_28(); @@ -403,7 +360,6 @@ 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" void __register_global_object(); // @@ -516,13 +472,17 @@ SECTION_RODATA static u16 const l_ari_itemno[1 + 1 /* padding */] = { COMPILER_STRIP_GATE(0x80BA5410, &l_ari_itemno); /* 80BA5414-80BA5454 00000C 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3781 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80BA5414, &ccSphSrc); /* 80BA26BC-80BA2728 00011C 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjARI_cFv */ #pragma push @@ -750,7 +710,8 @@ asm void daObjARI_c::WallWalk() { #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/obj/d_a_obj_ari/d_a_obj_ari/__dt__8cM3dGPlaFv.s" } @@ -1115,7 +1076,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/obj/d_a_obj_ari/d_a_obj_ari/__dt__8cM3dGSphFv.s" } @@ -1125,7 +1087,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/obj/d_a_obj_ari/d_a_obj_ari/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.cpp b/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.cpp index 19402d412d..deb440317b 100644 --- a/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.cpp +++ b/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,8 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -46,8 +45,6 @@ struct J3DAnmTransform {}; struct J3DModelData {}; -struct Vec {}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0420 */ ~Z2Creature(); @@ -109,32 +106,6 @@ struct dDlst_shadowControl_c { static u8 mSimpleTexObj[32]; }; -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(); - /* 80BA5E74 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -164,37 +135,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80BA5D2C */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80BA5D74 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BA5DBC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BA6A98 */ ~cCcD_GStts(); -}; - struct cBgS_GndChk { /* 80267C1C */ cBgS_GndChk(); /* 80267C94 */ ~cBgS_GndChk(); @@ -202,17 +150,6 @@ struct cBgS_GndChk { 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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -348,7 +285,6 @@ 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 mStayNo__20dStage_roomControl_c[4]; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -394,20 +330,31 @@ SECTION_DATA static void* l_resNameList[2] = { }; /* 80BA6CE0-80BA6D24 000030 0044+00 1/2 0/0 0/0 .data l_ccDCyl */ -SECTION_DATA static u8 l_ccDCyl[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_ccDCyl = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80BA6D24-80BA6D64 000074 0040+00 1/2 0/0 0/0 .data l_ccDSph */ -SECTION_DATA static u8 l_ccDSph[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcSph l_ccDSph = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 0.0f} // mSph + } // mSphAttr }; /* 80BA6D64-80BA6D84 -00001 0020+00 1/0 0/0 0/0 .data daObj_AutoMata_MethodTable */ @@ -575,7 +522,8 @@ asm void daObj_AutoMata_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/obj/d_a_obj_automata/d_a_obj_automata/__dt__8cM3dGSphFv.s" } @@ -585,7 +533,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/obj/d_a_obj_automata/d_a_obj_automata/__dt__8cM3dGCylFv.s" } @@ -595,7 +544,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/obj/d_a_obj_automata/d_a_obj_automata/__dt__8cM3dGAabFv.s" } @@ -615,7 +565,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/obj/d_a_obj_automata/d_a_obj_automata/__dt__10dCcD_GSttsFv.s" } @@ -913,7 +864,8 @@ static bool daObj_AutoMata_IsDelete(void* 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/obj/d_a_obj_automata/d_a_obj_automata/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.cpp b/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.cpp index f0768ccfbe..aa51b4cb89 100644 --- a/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.cpp +++ b/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,13 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266C18 */ void operator/(f32) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -85,28 +79,6 @@ 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(); - /* 80BA8BC0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -127,49 +99,20 @@ struct dBgS_Acch { /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80BA8B30 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BA8B78 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BA8D1C */ ~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); - /* 802AD8B0 */ void seStop(JAISoundID, u32); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -369,11 +312,16 @@ SECTION_DATA static u8 break_sound_id[12] = { #pragma pop /* 80BA8EA8-80BA8EE8 00004C 0040+00 1/1 0/0 0/0 .data cc_sph_src$3893 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x8, 0x11}, 0x0}}, // mObj + {dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80BA8EE8-80BA8F08 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Balloon_Method */ @@ -840,7 +788,8 @@ asm void daObj_Balloon_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/obj/d_a_obj_balloon/d_a_obj_balloon/__dt__8cM3dGSphFv.s" } @@ -850,7 +799,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/obj/d_a_obj_balloon/d_a_obj_balloon/__dt__8cM3dGAabFv.s" } @@ -860,7 +810,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/obj/d_a_obj_balloon/d_a_obj_balloon/__dt__10dCcD_GSttsFv.s" } @@ -900,7 +851,8 @@ static asm void daObj_Balloon_Create(daObj_Balloon_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/obj/d_a_obj_balloon/d_a_obj_balloon/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.cpp b/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.cpp index 654f6410af..ea876a8bda 100644 --- a/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.cpp +++ b/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -65,26 +64,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -102,33 +81,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80BAD030 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80BAD078 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -231,14 +187,19 @@ asm void daObjBBox_c::setBaseMtx() { /* ############################################################################################## */ /* 80BAD474-80BAD4B8 000000 0044+00 2/2 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xB4, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1f}, {0xd8000000, 0x11}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 90.0f, // mRadius + 100.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80BAD474, &l_cyl_src); /* 80BACDD8-80BACE50 000118 0078+00 1/0 0/0 0/0 .text Create__11daObjBBox_cFv */ #pragma push @@ -335,7 +296,8 @@ asm void daObjBBox_c::create1st() { #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/obj/d_a_obj_bbox/d_a_obj_bbox/__dt__8cM3dGCylFv.s" } @@ -345,7 +307,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/obj/d_a_obj_bbox/d_a_obj_bbox/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp b/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp index 6334ea3931..74bbf625ea 100644 --- a/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp +++ b/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -16,21 +17,6 @@ struct csXyz { /* 802673F4 */ csXyz(s16, s16, s16); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 8026706C */ bool operator!=(Vec const&) const; - /* 80BAF8BC */ ~cXyz(); - /* 80BB0ED0 */ cXyz(); - - static f32 Zero[3]; - static u8 BaseY[12]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CDD4 */ void transM(cXyz const&); @@ -175,43 +161,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_SrcCps {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80BB32A0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80BB3078 */ ~dCcD_Cyl(); - /* 80BB3144 */ dCcD_Cyl(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); - /* 80084824 */ void CalcAtVec(); -}; - struct dCamera_c { /* 80181534 */ void ForceLockOn(fopAc_ac_c*); }; @@ -281,43 +230,14 @@ struct dBgS_Acch { /* 800760A0 */ dBgS_Acch(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80BB3210 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80BAFF60 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80BB31C8 */ ~cM3dGCyl(); -}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026F000 */ void Set(cXyz const&, cXyz const&, f32); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BB3258 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BB3448 */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -337,17 +257,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JUTNameTab { /* 802DEAF8 */ void getName(u16) const; }; @@ -356,13 +265,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DJoint {}; @@ -576,9 +478,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareDistance(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); @@ -598,7 +497,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 */]; @@ -619,8 +517,6 @@ extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseY__4cXyz[12]; extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; -extern "C" extern u32 __float_max; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -823,35 +719,50 @@ SECTION_DATA static u8 l_cull_box[24] = { /* 80BB3ADC-80BB3B1C 000068 0040+00 0/1 0/0 0/0 .data l_sph_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x20, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcSph l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x402020, 0x11}, 0x58}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; #pragma pop /* 80BB3B1C-80BB3B68 0000A8 004C+00 0/1 0/0 0/0 .data l_cps_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{0x100, 0x1, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_SWORD, 0x0, 0x0, 0x1, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, 20.0f}, // mCps + } // mCpsAttr }; #pragma pop /* 80BB3B68-80BB3BAC 0000F4 0044+00 0/1 0/0 0/0 .data l_cyl_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1f}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 15.0f, // mRadius + 60.0f // mHeight + } // mCyl }; #pragma pop @@ -1400,7 +1311,8 @@ asm void daObjBm_c::setCrawCO() { #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/obj/d_a_obj_bemos/d_a_obj_bemos/__dt__4cXyzFv.s" } @@ -1498,7 +1410,8 @@ asm void daObjBm_c::calcBeamLenAndAt() { #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/obj/d_a_obj_bemos/d_a_obj_bemos/__dt__8cM3dGPlaFv.s" } @@ -1769,7 +1682,8 @@ asm daObjBm_c::Bgc_c::Bgc_c() { #pragma pop /* 80BB0ED0-80BB0ED4 002C50 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2121,7 +2035,8 @@ static asm void daObjBm_create1st(daObjBm_c* 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/obj/d_a_obj_bemos/d_a_obj_bemos/__dt__8dCcD_CylFv.s" } @@ -2131,7 +2046,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_bemos/d_a_obj_bemos/__ct__8dCcD_CylFv.s" } @@ -2141,7 +2057,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/obj/d_a_obj_bemos/d_a_obj_bemos/__dt__8cM3dGCylFv.s" } @@ -2151,7 +2068,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/obj/d_a_obj_bemos/d_a_obj_bemos/__dt__8cM3dGSphFv.s" } @@ -2161,7 +2079,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/obj/d_a_obj_bemos/d_a_obj_bemos/__dt__8cM3dGAabFv.s" } @@ -2171,7 +2090,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/obj/d_a_obj_bemos/d_a_obj_bemos/__dt__10dCcD_GSttsFv.s" } @@ -2233,7 +2153,8 @@ static asm void daObjBm_MoveBGDraw(daObjBm_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/obj/d_a_obj_bemos/d_a_obj_bemos/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.cpp b/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.cpp index 141a635309..d74437447a 100644 --- a/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.cpp +++ b/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -16,8 +17,6 @@ struct csXyz { /* 802673F4 */ csXyz(s16, s16, s16); }; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -95,28 +94,6 @@ struct dComIfG_play_c { /* 8002CB68 */ void entrySimpleModel(J3DModel*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844B8 */ void ResetTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -142,19 +119,6 @@ struct dBgS_LinChk { /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 805786B4 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 805786FC */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -170,18 +134,6 @@ struct cBgS { /* 800743B4 */ void LineCross(cBgS_LinChk*); }; -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -293,9 +245,6 @@ extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void _savegpr_23(); extern "C" void _savegpr_26(); @@ -319,7 +268,6 @@ 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 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -329,14 +277,19 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; /* ############################################################################################## */ /* 80578A88-80578ACC 000000 0044+00 11/11 0/0 0/0 .rodata ccCylSrc$3780 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x45, 0x09, 0x80, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 300.0f, // mRadius + 2200.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80578A88, &ccCylSrc); /* 80576A58-80576AC4 000078 006C+00 1/1 0/0 0/0 .text initCcCylinder__13daObjBHASHI_cFv */ @@ -956,7 +909,8 @@ asm void daObjBHASHI_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/obj/d_a_obj_bhashi/d_a_obj_bhashi/__dt__8cM3dGCylFv.s" } @@ -966,7 +920,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/obj/d_a_obj_bhashi/d_a_obj_bhashi/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.cpp b/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.cpp index 9eba45db97..57f36d4b35 100644 --- a/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.cpp +++ b/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -17,8 +18,6 @@ struct csXyz { /* 80BBB558 */ csXyz(); }; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -31,13 +30,6 @@ struct fopAc_ac_c { /* 80018C8C */ ~fopAc_ac_c(); }; -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct daObj_BouMato_c { /* 80BBAFEC */ ~daObj_BouMato_c(); /* 80BBB230 */ void create(); @@ -105,26 +97,6 @@ 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(); - /* 80BBB6A4 */ ~dCcD_GStts(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -159,35 +131,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGLin { - /* 80BBB55C */ ~cM3dGLin(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80BBB5A4 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BBB5EC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BBC348 */ ~cCcD_GStts(); -}; - struct cBgS_GndChk { /* 80267C1C */ cBgS_GndChk(); /* 80267C94 */ ~cBgS_GndChk(); @@ -195,18 +146,6 @@ struct cBgS_GndChk { struct _GXTexObj {}; -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -361,12 +300,18 @@ SECTION_DEAD static char const* const stringBase_80BBC519 = "H_BouMato"; #pragma pop /* 80BBC52C-80BBC570 000000 0044+00 2/2 0/0 0/0 .data l_ccDCyl */ -SECTION_DATA static u8 l_ccDCyl[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_ccDCyl = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80BBC570-80BBC574 -00001 0004+00 1/1 0/0 0/0 .data l_resName */ @@ -552,7 +497,8 @@ csXyz::csXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato/__dt__8cM3dGLinFv.s" } @@ -562,7 +508,8 @@ asm cM3dGLin::~cM3dGLin() { #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/obj/d_a_obj_boumato/d_a_obj_boumato/__dt__8cM3dGCylFv.s" } @@ -572,7 +519,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/obj/d_a_obj_boumato/d_a_obj_boumato/__dt__8cM3dGAabFv.s" } @@ -592,7 +540,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/obj/d_a_obj_boumato/d_a_obj_boumato/__dt__10dCcD_GSttsFv.s" } @@ -927,7 +876,8 @@ static bool daObj_BouMato_IsDelete(void* 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/obj/d_a_obj_boumato/d_a_obj_boumato/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.cpp b/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.cpp index 64fab21b62..8b32c5af60 100644 --- a/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.cpp +++ b/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -39,12 +40,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -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*); @@ -73,26 +68,6 @@ struct dPa_control_c { 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgW_Base {}; struct dBgW { @@ -104,17 +79,6 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8046E490 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 8046E4D8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -341,11 +305,16 @@ SECTION_DATA static u8 bef_brk[8] = { }; /* 8046E55C-8046E59C 00001C 0040+00 1/1 0/0 0/0 .data cc_sph_src$4003 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x20, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 8046E59C-8046E5BC -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Brakeeff_Method */ @@ -425,7 +394,8 @@ static asm void daObj_Brakeeff_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_brakeeff/d_a_obj_brakeeff/__dt__8cM3dGSphFv.s" } @@ -435,7 +405,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/obj/d_a_obj_brakeeff/d_a_obj_brakeeff/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.cpp b/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.cpp index e11d8cdc5f..3c10246ad8 100644 --- a/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.cpp +++ b/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -40,16 +41,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80BBCCFC */ ~cXyz(); - /* 80BC2134 */ cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -74,29 +65,6 @@ struct dRes_control_c { struct dCcU_AtInfo {}; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80BC1D74 */ ~dCcD_Cyl(); - /* 80BC1E40 */ dCcD_Cyl(); -}; - struct dBgW_Base {}; struct cBgD_t {}; @@ -115,19 +83,6 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80BC1EC4 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80BC1F0C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -141,28 +96,10 @@ struct br_s { /* 80BC2000 */ br_s(); }; -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 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 J3DLightObj { @@ -269,9 +206,6 @@ extern "C" void __dl__FPv(); extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __cvt_fp2unsigned(); @@ -292,7 +226,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void strcmp(); -extern "C" void sin(); extern "C" extern u8 const j3dDefaultLightInfo[52]; extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; extern "C" extern void* g_fopAc_Method[8]; @@ -309,7 +242,6 @@ 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 u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -481,7 +413,8 @@ static asm void ride_call_back(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* p #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/obj/d_a_obj_brg/d_a_obj_brg/__dt__4cXyzFv.s" } @@ -1183,21 +1116,33 @@ COMPILER_STRIP_GATE(0x80BC22A4, &lit_5567); #pragma pop /* 80BC23D8-80BC241C 000034 0044+00 1/1 0/0 0/0 .data himo_cyl_src$5532 */ -SECTION_DATA static u8 himo_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00, +static dCcD_SrcCyl himo_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0xff, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 5.0f, // mRadius + 1000.0f // mHeight + } // mCyl }; /* 80BC241C-80BC2460 000078 0044+00 1/1 0/0 0/0 .data wire_cyl_src$5533 */ -SECTION_DATA static u8 wire_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00, +static dCcD_SrcCyl wire_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 5.0f, // mRadius + 1000.0f // mHeight + } // mCyl }; /* 80BC08B0-80BC0A40 004090 0190+00 1/1 0/0 0/0 .text CreateInit__FP10fopAc_ac_c */ @@ -1810,7 +1755,8 @@ static asm void daObj_Brg_Create(fopAc_ac_c* 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/obj/d_a_obj_brg/d_a_obj_brg/__dt__8dCcD_CylFv.s" } @@ -1820,7 +1766,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_brg/d_a_obj_brg/__ct__8dCcD_CylFv.s" } @@ -1830,7 +1777,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/obj/d_a_obj_brg/d_a_obj_brg/__dt__8cM3dGCylFv.s" } @@ -1840,7 +1788,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/obj/d_a_obj_brg/d_a_obj_brg/__dt__8cM3dGAabFv.s" } @@ -1877,7 +1826,8 @@ asm J3DLightObj::J3DLightObj() { #pragma pop /* 80BC2134-80BC2138 005914 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } diff --git a/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.cpp b/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.cpp index 1bce085f81..5cd7056f73 100644 --- a/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.cpp +++ b/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -60,24 +59,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -95,17 +76,6 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8046ED44 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 8046ED8C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -222,14 +192,19 @@ COMPILER_STRIP_GATE(0x8046EE54, &l_heap_size); /* 8046EE60-8046EEA4 000018 0044+00 0/1 0/0 0/0 .rodata l_cyl_src */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1e}, {0x0, 0x1e}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 40.0f, // mRadius + 100.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x8046EE60, &l_cyl_src); #pragma pop /* 8046EEA4-8046EEB0 00005C 000A+02 0/1 0/0 0/0 .rodata particle_id$3649 */ @@ -423,7 +398,8 @@ static asm void daObjBurnBox_create1st(daObjBurnBox_c* param_0) { #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/obj/d_a_obj_burnbox/d_a_obj_burnbox/__dt__8cM3dGCylFv.s" } @@ -433,7 +409,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/obj/d_a_obj_burnbox/d_a_obj_burnbox/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp b/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp index 768fba778b..753ec65a0f 100644 --- a/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp +++ b/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.cpp @@ -23,53 +23,6 @@ struct dTres_c { /* 8009C3CC */ void setPosition(int, u8, Vec const*, int); }; -struct dPa_modelEcallBack { - /* 8004AC00 */ void setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, - u8); - - static u8 mEcallback[4]; -}; - -struct dPa_levelEcallBack {}; - -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); - /* 8004D068 */ void setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*); - - static u8 mTsubo[64]; -}; - -// struct dJntColData_c {}; - -// struct dJntCol_c { -// /* 80035C8C */ dJntCol_c(); -// /* 80035CA0 */ void init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int); -// }; - -struct dCcMassS_Mng { - /* 80085D98 */ void Set(cCcD_Obj*, u8); -}; - -struct dBgS { - /* 80074B40 */ void ChkMoveBG_NoDABg(cBgS_PolyInfo const&); - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); - /* 80075100 */ void GetRoomId(cBgS_PolyInfo const&); - /* 80075564 */ void SplGrpChk(dBgS_SplGrpChk*); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS { - /* 80074618 */ void GetActorPointer(int) const; - /* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - // // Forward References: // @@ -409,7 +362,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -// extern "C" extern u8 ZeroQuat[16]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__8dCcD_Cps[36]; @@ -421,7 +373,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" u8 mGndCheck__11fopAcM_gc_c[84]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mTsubo__13dPa_control_c[64]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; extern "C" f32 Zero__4cXyz[3]; @@ -597,52 +548,69 @@ COMPILER_STRIP_GATE(0x80479A24, &daObjCarry_c::mData); /* 8047A23C-8047A280 000930 0044+00 0/1 0/0 0/0 .rodata l_cyl_src */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x79, - 0x12, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{AT_TYPE_THROW_OBJ, 0x2, 0x1f}, {0xd8fbfdff, 0x1f}, 0x79}}, // mObj + {dCcD_SE_THROW_OBJ, 0x1, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 10.0f, // mRadius + 50.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x8047A23C, &l_cyl_src); #pragma pop /* 8047A280-8047A2C0 000974 0040+00 0/1 0/0 0/0 .rodata l_light_at_sph_src */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_light_at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, +const static dCcD_SrcSph l_light_at_sph_src = { + { + {0x0, {{AT_TYPE_LANTERN_SWING, 0x0, 0x11}, {0x0, 0x10}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x4, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 500.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x8047A280, &l_light_at_sph_src); #pragma pop /* 8047A2C0-8047A30C 0009B4 004C+00 0/1 0/0 0/0 .rodata l_atCpsSrc */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_atCpsSrc[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcCps l_atCpsSrc = { + { + {0x0, {{AT_TYPE_IRON_BALL, 0x64, 0x1f}, {0x0, 0x10}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, 40.0f}, // mCps + } // mCpsAttr }; -COMPILER_STRIP_GATE(0x8047A2C0, &l_atCpsSrc); #pragma pop /* 8047A30C-8047A350 000A00 0044+00 0/1 0/0 0/0 .rodata l_tg_cyl */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_tg_cyl[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +const static dCcD_SrcCyl l_tg_cyl = { + { + {0x0, {{0x0, 0x0, 0x1e}, {0x200, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_WOLF_KICK, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 40.0f, // mRadius + 60.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x8047A30C, &l_tg_cyl); #pragma pop /* 8047A350-8047A354 000A44 0004+00 0/0 0/0 0/0 .rodata l_light_color */ @@ -791,17 +759,22 @@ SECTION_DATA static u8 taru_jv_offset[24] = { }; /* 8047A710-8047A71C -00001 000C+00 1/1 0/0 0/0 .data kibako_jc_data */ -SECTION_DATA static void* kibako_jc_data[3] = { - (void*)0x01010000, - (void*)0x42340000, - (void*)&kibako_jv_offset, +// box joint col data +static dJntColData_c kibako_jc_data = { + 1, + 1, + 0, + 0x42340000, + &kibako_jv_offset }; /* 8047A71C-8047A728 -00001 000C+00 1/1 0/0 0/0 .data taru_jc_data */ -SECTION_DATA static void* taru_jc_data[3] = { - (void*)0x01010000, - (void*)0x42340000, - (void*)&taru_jv_offset, +static dJntColData_c taru_jc_data = { + 1, + 1, + 0, + 0x42340000, + &taru_jv_offset }; /* 8047A728-8047A734 -00001 000C+00 0/1 0/0 0/0 .data @5956 */ @@ -2292,13 +2265,13 @@ asm u8 daObjCarry_c::data() { #endif /* 8046F6BC-8046F6D4 00073C 0018+00 3/3 0/0 0/0 .text getArcName__12daObjCarry_cFv */ -void* daObjCarry_c::getArcName() { - return l_arcName[mType]; // l_arcName needs to be setup properly at some point +char* daObjCarry_c::getArcName() { + return (char*)l_arcName[mType]; // l_arcName needs to be setup properly at some point } /* 8046F6D4-8046F6EC 000754 0018+00 1/1 0/0 0/0 .text getBmdName__12daObjCarry_cFv */ -void* daObjCarry_c::getBmdName() { - return l_bmdName[mType]; // l_bmdName needs to be setup properly at some point +int daObjCarry_c::getBmdName() { + return (int)l_bmdName[mType]; // l_bmdName needs to be setup properly at some point } /* 8046F6EC-8046F724 00076C 0038+00 2/2 0/0 0/0 .text checkFlag__12daObjCarry_cFUc */ @@ -2421,7 +2394,7 @@ asm void daObjCarry_c::setBaseMtx() { s32 daObjCarry_c::preInit() { fopAcM_SetupActor(this, daObjCarry_c); if (field_0xd15 == 0) { - field_0xd16 = orig.angle.x; + mItemNo = orig.angle.x; field_0xd18 = orig.angle.z; orig.angle.z = 0; orig.angle.x = 0; @@ -2437,6 +2410,10 @@ s32 daObjCarry_c::preInit() { } /* 8046FB78-8046FD90 000BF8 0218+00 1/1 0/0 0/0 .text __ct__12daObjCarry_cFv */ +#ifdef NONMATCHING +// matches, but can't uncomment until explicitly defined vtables are removed +daObjCarry_c::daObjCarry_c() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2445,6 +2422,7 @@ asm daObjCarry_c::daObjCarry_c() { #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__ct__12daObjCarry_cFv.s" } #pragma pop +#endif /* 8046FD90-8046FDD8 000E10 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ #pragma push @@ -2483,8 +2461,8 @@ extern "C" asm void __dt__8cM3dGAabFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off +// asm dCcD_GStts::~dCcD_GStts() { extern "C" asm void __dt__10dCcD_GSttsFv() { - // asm dCcD_GStts::~dCcD_GStts() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__10dCcD_GSttsFv.s" } @@ -2513,55 +2491,74 @@ extern "C" asm void __dt__12dBgS_ObjAcchFv() { #pragma pop /* 8046FFA4-8046FFF8 001024 0054+00 1/1 0/0 0/0 .text checkBreakWolfAttack__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::checkBreakWolfAttack() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkBreakWolfAttack__12daObjCarry_cFv.s" +s32 daObjCarry_c::checkBreakWolfAttack() { + if (mType == TYPE_TSUBO || + mType == TYPE_TSUBO_2 || + mType == TYPE_OOTSUBO || + mType == TYPE_KIBAKO || + mType == TYPE_DOKURO || + mType == TYPE_AOTSUBO || + mType == TYPE_TSUBO_S || + mType == TYPE_TSUBO_B) { + return 1; + } + + return 0; } -#pragma pop /* 8046FFF8-80470054 001078 005C+00 1/1 0/0 0/0 .text checkCarryBoomerang__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::checkCarryBoomerang() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryBoomerang__12daObjCarry_cFv.s" +s32 daObjCarry_c::checkCarryBoomerang() { + if (mType == TYPE_TSUBO || + mType == TYPE_TSUBO_2 || + mType == TYPE_OOTSUBO || + mType == TYPE_KIBAKO || + mType == TYPE_DOKURO || + mType == TYPE_BOKKURI || + mType == TYPE_AOTSUBO || + mType == TYPE_TSUBO_S || + mType == TYPE_TSUBO_B) { + return 1; + } + + return 0; } -#pragma pop /* 80470054-80470080 0010D4 002C+00 1/1 0/0 0/0 .text checkCarryHookshot__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::checkCarryHookshot() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryHookshot__12daObjCarry_cFv.s" +s32 daObjCarry_c::checkCarryHookshot() { + if (mType == TYPE_BALL_S|| + mType == TYPE_BALL_S_2 || + mType == TYPE_LV8_BALL) { + return 1; + } + + return 0; } -#pragma pop /* 80470080-804700B4 001100 0034+00 1/1 0/0 0/0 .text checkCarryWolf__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::checkCarryWolf() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryWolf__12daObjCarry_cFv.s" +s32 daObjCarry_c::checkCarryWolf() { + if (mType == TYPE_TSUBO || + mType == TYPE_DOKURO || + mType == TYPE_TSUBO_2 || + mType == TYPE_TSUBO_S) { + return 1; + } + + return 0; } -#pragma pop /* 804700B4-804700F0 001134 003C+00 1/1 0/0 0/0 .text checkCarryOneHand__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::checkCarryOneHand() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCarryOneHand__12daObjCarry_cFv.s" +s32 daObjCarry_c::checkCarryOneHand() { + if (mType == TYPE_TSUBO || + mType == TYPE_DOKURO || + mType == TYPE_TSUBO_2 || + mType == TYPE_BOKKURI || + mType == TYPE_TSUBO_S) { + return 1; + } + + return 0; } -#pragma pop /* ############################################################################################## */ /* 8047A3B4-8047A3B8 000AA8 0004+00 0/1 0/0 0/0 .rodata @4594 */ @@ -2590,6 +2587,24 @@ COMPILER_STRIP_GATE(0x8047A3C0, &lit_4597); #pragma pop /* 804700F0-804705DC 001170 04EC+00 1/1 0/0 0/0 .text Create__12daObjCarry_cFv */ +#ifdef NONMATCHING +// need to map data() first +void daObjCarry_c::Create() { + mScale.set((f32)data(), (f32)data(), (f32)data()); // need to map data + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + mAcchCir.SetWall((f32)data(), (f32)data()); // need to map data + + mAcch.Set(&fopAcM_GetPosition_p(this), &fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, &fopAcM_GetSpeed_p(this), ¤t.angle, &shape_angle); + mAcch.SetWtrChkMode(2); + mAcch.ClrRoofNone(); + mAcch.SetRoofCrrHeight(80.0f); + + mStts.Init(data(),0xFF,this); // need to map data + field_0x7c8.Set(l_cyl_src); + + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2598,78 +2613,86 @@ asm void daObjCarry_c::Create() { #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/Create__12daObjCarry_cFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 8047A4BC-8047A4BC 000BB0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8047A5EF = "D_MN05A"; -#pragma pop +#endif /* 804705DC-80470650 00165C 0074+00 3/0 0/0 0/0 .text CreateInit_tsubo__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::CreateInit_tsubo() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_tsubo__12daObjCarry_cFv.s" +s32 daObjCarry_c::CreateInit_tsubo() { + if (!checkCrashRoll()) { + mCrashRoll = 1; + } + + mode_init_wait(); + + if (!strcmp(dComIfGp_getStartStageName(), "D_MN05A")) { + field_0xe25 = 1; + } + + return 1; } -#pragma pop /* 80470650-80470674 0016D0 0024+00 3/0 0/0 0/0 .text CreateInit_ootubo__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::CreateInit_ootubo() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ootubo__12daObjCarry_cFv.s" +s32 daObjCarry_c::CreateInit_ootubo() { + mode_init_wait(); + return 1; } -#pragma pop /* 80470674-804706D4 0016F4 0060+00 1/0 0/0 0/0 .text CreateInit_kibako__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::CreateInit_kibako() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_kibako__12daObjCarry_cFv.s" +s32 daObjCarry_c::CreateInit_kibako() { + if (!field_0xe10.init(this,&kibako_jc_data,mpModel,1)) { + return 0; + } + + mode_init_wait(); + return 1; } -#pragma pop /* 804706D4-804707E0 001754 010C+00 1/0 0/0 0/0 .text CreateInit_ironball__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::CreateInit_ironball() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_ironball__12daObjCarry_cFv.s" +s32 daObjCarry_c::CreateInit_ironball() { + if (chkSaveFlag()) { + u8 l_saveID = getSaveID(); + + current.pos = getPos(l_saveID); + next.pos = current.pos; + mAttentionInfo.mPosition = current.pos; + mEyePos = current.pos; + + fopAcM_SetRoomNo(this,getRoomNo(l_saveID)); + mTevStr.mRoomNo = fopAcM_GetRoomNo(this); + + if (chkSttsFlag(l_saveID,1)) { + mDraw = 1; + } + } + + mAcch.SetLink(); + mAcch.ClrObj(); + mode_init_wait(); + field_0x7c8.SetAtType(field_0x7c8.GetAtType() | AT_TYPE_IRON_BALL); + field_0x7c8.SetAtSe(6); + + return 1; } -#pragma pop /* 804707E0-80470840 001860 0060+00 1/0 0/0 0/0 .text CreateInit_taru__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::CreateInit_taru() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_taru__12daObjCarry_cFv.s" +s32 daObjCarry_c::CreateInit_taru() { + if (!field_0xe10.init(this,&taru_jc_data,mpModel,1)) { + return 0; + } + + mode_init_wait(); + return 1; } -#pragma pop /* 80470840-80470890 0018C0 0050+00 1/0 0/0 0/0 .text CreateInit_dokuro__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::CreateInit_dokuro() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_dokuro__12daObjCarry_cFv.s" +bool daObjCarry_c::CreateInit_dokuro() { + mode_init_wait(); + return !i_fopAcM_isSwitch(this,getSwbit()); } -#pragma pop /* ############################################################################################## */ /* 8047A3C4-8047A3C8 000AB8 0004+00 0/1 0/0 0/0 .rodata @4683 */ @@ -2691,14 +2714,54 @@ SECTION_RODATA static f32 const lit_4685 = 1.0f; COMPILER_STRIP_GATE(0x8047A3CC, &lit_4685); /* 80470890-804709DC 001910 014C+00 1/0 0/0 0/0 .text CreateInit_bokkuri__12daObjCarry_cFv */ +#ifndef NONMATCHING +s32 daObjCarry_c::CreateInit_bokkuri() { + field_0x7c8.SetTgHitMark((CcG_Tg_HitMark)0); + field_0x7c8.OnTgNoHitMark(); + field_0xd76 = 0; + field_0xd79 = 3; + field_0xd7a = 100; + field_0xd88.init(¤t.pos,1); + + switch(getSetType()) { + case 0: + mode_init_wait(); + break; + case 1: + field_0xd76 = 255; + speedF = FLOAT_LABEL(lit_4683); + speed.y = FLOAT_LABEL(lit_4684); + mScale.set(FLOAT_LABEL(lit_4685),FLOAT_LABEL(lit_4685),FLOAT_LABEL(lit_4685)); + mode_init_dbDrop(1); + break; + case 2: + fopAcM_OnCarryType(this,fopAcM_CARRY_TYPE_1); + field_0xdb0 = 1; + field_0xd7a = 0; + mode_init_wait(); + break; + case 3: + fopAcM_OnCarryType(this,fopAcM_CARRY_TYPE_1); + field_0xd76 = 255; + field_0xd7a = 0; + mode_init_growth(); + break; + default: + mode_init_wait(); + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjCarry_c::CreateInit_bokkuri() { +asm s32 daObjCarry_c::CreateInit_bokkuri() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_bokkuri__12daObjCarry_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8047A3D0-8047A3D4 000AC4 0004+00 1/1 0/0 0/0 .rodata @4707 */ @@ -2706,44 +2769,118 @@ SECTION_RODATA static f32 const lit_4707 = 750.0f; COMPILER_STRIP_GATE(0x8047A3D0, &lit_4707); /* 804709DC-80470AB4 001A5C 00D8+00 2/0 0/0 0/0 .text CreateInit_LightBall__12daObjCarry_cFv */ +#ifndef NONMATCHING +s32 daObjCarry_c::CreateInit_LightBall() { + field_0xd88.init(¤t.pos,1); + + if (dComIfGp_roomControl_getStayNo()) { + fopAcM_OnStatus(this,0x2000000); + } + + field_0xdf8.mPos = current.pos; + field_0xdf8.field_0xc = FLOAT_LABEL(lit_4707); + dKy_dalkmist_inf_set(&field_0xdf8); + field_0xe0c = 1; + fopAcM_OnStatus(this,0x20000); + field_0x7c8.SetTgSe(9); + field_0x7c8.SetTgHitMark((CcG_Tg_HitMark)2); + field_0x7c8.OffTgNoHitMark(); + field_0x7c8.OnTgShieldHit(); + field_0x7c8.SetAtSe(1); + mode_init_wait(); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjCarry_c::CreateInit_LightBall() { +asm s32 daObjCarry_c::CreateInit_LightBall() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_LightBall__12daObjCarry_cFv.s" } #pragma pop +#endif /* 80470AB4-80470B5C 001B34 00A8+00 1/0 0/0 0/0 .text CreateInit_Lv8Ball__12daObjCarry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjCarry_c::CreateInit_Lv8Ball() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateInit_Lv8Ball__12daObjCarry_cFv.s" +s32 daObjCarry_c::CreateInit_Lv8Ball() { + field_0xd88.init(¤t.pos,1); + field_0x7c8.SetTgSe(9); + field_0x7c8.SetTgHitMark((CcG_Tg_HitMark)2); + field_0x7c8.OffTgNoHitMark(); + field_0x7c8.OnTgShieldHit(); + + if (i_fopAcM_isSwitch(this,getSwbit())) { + mode_init_fit(); + } else { + mode_init_wait(); + } + + return 1; } -#pragma pop /* 80470B5C-80470BF4 001BDC 0098+00 1/1 0/0 0/0 .text CreateHeap__12daObjCarry_cFv */ +#ifdef NONMATCHING +// 1 instruction in wrong place +s32 daObjCarry_c::CreateHeap() { + s32 l_modelFlag; + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(getArcName(),getBmdName()); + + l_modelFlag = 0x80000; + + if (prm_chk_type_ironball()) { + l_modelFlag = 0; + } + + mpModel = mDoExt_J3DModel__create(modelData,l_modelFlag,0x11000084); + + if (mpModel == 0) { + return 0; + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjCarry_c::CreateHeap() { +asm s32 daObjCarry_c::CreateHeap() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/CreateHeap__12daObjCarry_cFv.s" } #pragma pop +#endif /* 80470BF4-80470CF0 001C74 00FC+00 1/1 0/0 0/0 .text create__12daObjCarry_cFv */ +#ifdef NONMATCHING +cPhs__Step daObjCarry_c::create() { + cPhs__Step step; + preInit(); + + switch(mType) { + case TYPE_BALL_S: + step = (cPhs__Step)checkCreate_LightBallA(); + case TYPE_BALL_S_2: + step = (cPhs__Step)checkCreate_LightBallB(); + case TYPE_LV8_BALL: + step = (cPhs__Step)checkCreate_Lv8Ball(); + } + + if (step == cPhs_NEXT_e) { + return; + } + + return step; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjCarry_c::create() { +asm cPhs__Step daObjCarry_c::create() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/func_80470BF4.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8047A3D4-8047A3E0 000AC8 000C+00 1/1 0/0 0/0 .rodata l_event_bitA$4815 */ @@ -2756,7 +2893,7 @@ COMPILER_STRIP_GATE(0x8047A3D4, &l_event_bitA); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjCarry_c::checkCreate_LightBallA() { +asm s32 daObjCarry_c::checkCreate_LightBallA() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCreate_LightBallA__12daObjCarry_cFv.s" } @@ -2773,7 +2910,7 @@ COMPILER_STRIP_GATE(0x8047A3E0, &l_event_bitB); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjCarry_c::checkCreate_LightBallB() { +asm s32 daObjCarry_c::checkCreate_LightBallB() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCreate_LightBallB__12daObjCarry_cFv.s" } @@ -2783,7 +2920,7 @@ asm void daObjCarry_c::checkCreate_LightBallB() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjCarry_c::checkCreate_Lv8Ball() { +asm s32 daObjCarry_c::checkCreate_Lv8Ball() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/checkCreate_Lv8Ball__12daObjCarry_cFv.s" } @@ -4370,8 +4507,8 @@ static asm void daObjCarry_Create(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off +// asm cCcD_GStts::~cCcD_GStts() { extern "C" asm void __dt__10cCcD_GSttsFv() { - // asm cCcD_GStts::~cCcD_GStts() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.cpp b/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.cpp index e118b4eb3b..a5654eee74 100644 --- a/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.cpp +++ b/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,16 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266F48 */ void normalizeZP(); - /* 80BC5CBC */ ~cXyz(); - /* 80BC6020 */ cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -69,28 +60,6 @@ struct dRes_control_c { struct dPath {}; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80BC6204 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80BC6024 */ dCcD_Cyl(); - /* 80BC60A8 */ ~dCcD_Cyl(); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -110,28 +79,6 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGCyl { - /* 80BC6174 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80BC61BC */ ~cM3dGAab(); -}; - -struct cCcD_GStts { - /* 80BC6930 */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -216,8 +163,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECDotProduct(); extern "C" void __construct_array(); extern "C" void __construct_new_array(); extern "C" void _savegpr_25(); @@ -333,12 +278,18 @@ SECTION_DATA static u8 l_side_co_offset[48] = { #pragma pop /* 80BC6B28-80BC6B6C 000054 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 60.0f, // mRadius + 300.0f // mHeight + } // mCyl }; /* 80BC5ABC-80BC5CBC 00019C 0200+00 1/0 0/0 0/0 .text Create__11daObjCBlk_cFv */ @@ -355,7 +306,8 @@ asm void daObjCBlk_c::Create() { #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/obj/d_a_obj_cblock/d_a_obj_cblock/__dt__4cXyzFv.s" } @@ -491,7 +443,8 @@ asm void daObjCBlk_c::create() { #pragma pop /* 80BC6020-80BC6024 000700 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -499,7 +452,8 @@ cXyz::cXyz() { #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/obj/d_a_obj_cblock/d_a_obj_cblock/__ct__8dCcD_CylFv.s" } @@ -509,7 +463,8 @@ asm dCcD_Cyl::dCcD_Cyl() { #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/obj/d_a_obj_cblock/d_a_obj_cblock/__dt__8dCcD_CylFv.s" } @@ -519,7 +474,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/obj/d_a_obj_cblock/d_a_obj_cblock/__dt__8cM3dGCylFv.s" } @@ -529,7 +485,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/obj/d_a_obj_cblock/d_a_obj_cblock/__dt__8cM3dGAabFv.s" } @@ -539,7 +496,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/obj/d_a_obj_cblock/d_a_obj_cblock/__dt__10dCcD_GSttsFv.s" } @@ -944,7 +902,8 @@ static asm void daObjCBlk_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/obj/d_a_obj_cblock/d_a_obj_cblock/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.cpp b/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.cpp index 83c101f251..0287b66a8e 100644 --- a/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.cpp +++ b/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -16,8 +17,6 @@ struct csXyz { /* 8026745C */ void operator+=(csXyz&); }; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -73,28 +72,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80BC95D0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80BC93F0 */ ~dCcD_Cyl(); - /* 80BC94BC */ dCcD_Cyl(); -}; - struct dBgW {}; struct dBgS_PolyPassChk { @@ -134,34 +111,10 @@ struct dBgS_Acch { /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); }; -struct cM3dGCyl { - /* 80BC9540 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BC9588 */ ~cM3dGAab(); -}; - -struct cCcD_GStts { - /* 80BC9F64 */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -251,8 +204,6 @@ extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_23(); @@ -272,7 +223,6 @@ 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" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 data_80BCA200[4]; @@ -293,14 +243,19 @@ asm void daObjChest_c::initBaseMtx() { /* ############################################################################################## */ /* 80BC9FFC-80BCA040 000000 0044+00 3/3 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x43, 0x82, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xffffffff, 0x0}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 40.0f, // mRadius + 260.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80BC9FFC, &l_cyl_src); /* 80BCA040-80BCA044 000044 0004+00 1/4 0/0 0/0 .rodata @3679 */ SECTION_RODATA static f32 const lit_3679 = 1.0f; @@ -543,7 +498,8 @@ asm void daObjChest_c::create() { #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/obj/d_a_obj_chest/d_a_obj_chest/__dt__8dCcD_CylFv.s" } @@ -553,7 +509,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_chest/d_a_obj_chest/__ct__8dCcD_CylFv.s" } @@ -563,7 +520,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/obj/d_a_obj_chest/d_a_obj_chest/__dt__8cM3dGCylFv.s" } @@ -573,7 +531,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/obj/d_a_obj_chest/d_a_obj_chest/__dt__8cM3dGAabFv.s" } @@ -583,7 +542,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/obj/d_a_obj_chest/d_a_obj_chest/__dt__10dCcD_GSttsFv.s" } @@ -853,7 +813,8 @@ static asm void daObjChest_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/obj/d_a_obj_chest/d_a_obj_chest/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp b/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp index 6bbe840961..0a7c61b40f 100644 --- a/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp +++ b/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -161,27 +156,6 @@ struct dDlst_peekZ_c { /* 80056018 */ void newData(s16, s16, u32*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -213,22 +187,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80BCC3C8 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80BCB834 */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80BCC410 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -381,8 +339,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); @@ -401,7 +357,6 @@ 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" extern u32 __float_nan; extern "C" void __register_global_object(); // @@ -502,13 +457,17 @@ asm daObj_ChoHIO_c::daObj_ChoHIO_c() { /* ############################################################################################## */ /* 80BCC57C-80BCC5BC 000004 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3779 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80BCC57C, &ccSphSrc); /* 80BCA334-80BCA3A0 000114 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjCHO_cFv */ #pragma push @@ -965,7 +924,8 @@ asm void daObjCHO_c::BoomChk() { #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/obj/d_a_obj_cho/d_a_obj_cho/__dt__8cM3dGPlaFv.s" } @@ -1109,7 +1069,8 @@ asm void daObjCHO_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/obj/d_a_obj_cho/d_a_obj_cho/__dt__8cM3dGSphFv.s" } @@ -1119,7 +1080,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/obj/d_a_obj_cho/d_a_obj_cho/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.cpp b/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.cpp index 00859bdd19..48ca6f3c37 100644 --- a/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.cpp +++ b/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -44,19 +45,6 @@ struct daObjCrope_c { /* 80BCE9BC */ void draw(); }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 80267128 */ void atan2sX_Z() const; - /* 80267150 */ void atan2sY_XZ() const; - /* 80BCD3D8 */ cXyz(); - /* 80BCD4C8 */ ~cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); }; @@ -67,50 +55,10 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -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(); - /* 80BCD46C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80BCD3DC */ ~cM3dGSph(); -}; - -struct cM3dGLin { - /* 8026F2A8 */ cM3dGLin(cXyz const&, cXyz const&); - /* 80BCE954 */ ~cM3dGLin(); -}; - -struct cM3dGAab { - /* 80BCD424 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BCEA7C */ ~cCcD_GStts(); -}; - // // Forward References: // @@ -172,10 +120,6 @@ extern "C" void __ct__8cM3dGLinFRC4cXyzRC4cXyz(); extern "C" void SetC__8cM3dGSphFRC4cXyz(); extern "C" void __dl__FPv(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_23(); @@ -194,7 +138,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_env_light[4880]; -extern "C" extern u32 __float_nan; // // Declarations: @@ -339,11 +282,16 @@ COMPILER_STRIP_GATE(0x80BCEB10, &lit_3882); #pragma pop /* 80BCEB3C-80BCEB7C 000000 0040+00 1/1 0/0 0/0 .data l_sphSrc */ -SECTION_DATA static u8 l_sphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +static dCcD_SrcSph l_sphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; /* 80BCEB7C-80BCEB80 000040 0004+00 1/1 0/0 0/0 .data color$4550 */ @@ -427,7 +375,8 @@ asm void daObjCrope_c::create() { #pragma pop /* 80BCD3D8-80BCD3DC 000778 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -435,7 +384,8 @@ cXyz::cXyz() { #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/obj/d_a_obj_crope/d_a_obj_crope/__dt__8cM3dGSphFv.s" } @@ -445,7 +395,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/obj/d_a_obj_crope/d_a_obj_crope/__dt__8cM3dGAabFv.s" } @@ -455,7 +406,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/obj/d_a_obj_crope/d_a_obj_crope/__dt__10dCcD_GSttsFv.s" } @@ -465,7 +417,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_crope/d_a_obj_crope/__dt__4cXyzFv.s" } @@ -599,7 +552,8 @@ asm void daObjCrope_c::execute() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope/__dt__8cM3dGLinFv.s" } @@ -640,7 +594,8 @@ static asm void daObjCrope_Draw(daObjCrope_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/obj/d_a_obj_crope/d_a_obj_crope/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.cpp b/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.cpp index 87a1a07542..c64945d32b 100644 --- a/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.cpp +++ b/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -16,8 +17,6 @@ struct csXyz { /* 802673F4 */ csXyz(s16, s16, s16); }; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -91,28 +90,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -132,20 +109,6 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F200 */ void SetR(f32); - /* 80BD49EC */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80BD4A34 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -158,18 +121,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -275,14 +226,19 @@ extern "C" void HakaiSet__15daObjCRVLH_UP_cFv(); /* ############################################################################################## */ /* 80BD4D04-80BD4D48 000000 0044+00 5/5 0/0 0/0 .rodata ccCylSrc$3655 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x400000, 0x11}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 250.0f, // mRadius + 400.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80BD4D04, &ccCylSrc); /* 80BD4138-80BD41A4 000078 006C+00 1/1 0/0 0/0 .text initCcCylinder__15daObjCRVLH_DW_cFv */ @@ -549,7 +505,8 @@ asm void daObjCRVLH_DW_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/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down/__dt__8cM3dGCylFv.s" } @@ -559,7 +516,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/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.cpp b/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.cpp index 39e8cf5315..2af9384f78 100644 --- a/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.cpp +++ b/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,20 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 80267128 */ void atan2sX_Z() const; - /* 80BD6CCC */ ~cXyz(); - /* 80BD9B70 */ cXyz(); - - static f32 Zero[3]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -106,34 +93,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -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(); - /* 80BD9D9C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80BD9B74 */ dCcD_Cyl(); - /* 80BD9C40 */ ~dCcD_Cyl(); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -153,41 +112,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80BD9BF8 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80BD9D0C */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80BD9D54 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BD9E64 */ ~cCcD_GStts(); -}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -299,9 +227,6 @@ extern "C" void* __nwa__FUl(); extern "C" void __dl__FPv(); 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 __construct_new_array(); extern "C" void __ptmf_scall(); @@ -317,7 +242,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]; @@ -333,7 +257,6 @@ extern "C" extern u8 g_env_light[4880]; extern "C" f32 Zero__4cXyz[3]; 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 */]; extern "C" void __register_global_object(); @@ -511,35 +434,52 @@ SECTION_DATA static u8 l_side_co_offset[48] = { /* 80BDA130-80BDA174 000070 0044+00 0/1 0/0 0/0 .data l_cyl_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00, 0x43, 0xE1, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 70.0f, // mRadius + 450.0f // mHeight + } // mCyl }; #pragma pop /* 80BDA174-80BDA1B8 0000B4 0044+00 0/1 0/0 0/0 .data l_cyl_src2 */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cyl_src2[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src2 = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 60.0f, // mRadius + 300.0f // mHeight + } // mCyl }; #pragma pop /* 80BDA1B8-80BDA1F8 0000F8 0040+00 0/1 0/0 0/0 .data l_sph_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcSph l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4000, 0x11}, 0x58}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; #pragma pop @@ -557,7 +497,8 @@ asm void daObjCwall_c::Create() { #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/obj/d_a_obj_cwall/d_a_obj_cwall/__dt__4cXyzFv.s" } @@ -1268,7 +1209,8 @@ static asm void daObjCwall_create1st(daObjCwall_c* param_0) { #pragma pop /* 80BD9B70-80BD9B74 003210 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1276,7 +1218,8 @@ cXyz::cXyz() { #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/obj/d_a_obj_cwall/d_a_obj_cwall/__ct__8dCcD_CylFv.s" } @@ -1286,7 +1229,8 @@ asm dCcD_Cyl::dCcD_Cyl() { #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/obj/d_a_obj_cwall/d_a_obj_cwall/__dt__8cM3dGSphFv.s" } @@ -1296,7 +1240,8 @@ asm cM3dGSph::~cM3dGSph() { #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/obj/d_a_obj_cwall/d_a_obj_cwall/__dt__8dCcD_CylFv.s" } @@ -1306,7 +1251,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/obj/d_a_obj_cwall/d_a_obj_cwall/__dt__8cM3dGCylFv.s" } @@ -1316,7 +1262,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/obj/d_a_obj_cwall/d_a_obj_cwall/__dt__8cM3dGAabFv.s" } @@ -1326,7 +1273,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/obj/d_a_obj_cwall/d_a_obj_cwall/__dt__10dCcD_GSttsFv.s" } @@ -1367,7 +1315,8 @@ static asm void daObjCwall_MoveBGDraw(daObjCwall_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/obj/d_a_obj_cwall/d_a_obj_cwall/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.cpp b/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.cpp index fa00437779..b59513359d 100644 --- a/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.cpp +++ b/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -159,27 +154,6 @@ struct dDlst_peekZ_c { /* 80056018 */ void newData(s16, s16, u32*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -212,18 +186,6 @@ struct dBgS_Acch { /* 800773A4 */ void ClrMoveBGOnly(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80BDC258 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80BDC2A0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -496,13 +458,17 @@ asm daObj_DanHIO_c::daObj_DanHIO_c() { /* ############################################################################################## */ /* 80BDC3B4-80BDC3F4 000004 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3779 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80BDC3B4, &ccSphSrc); /* 80BDA5B4-80BDA620 000114 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjDAN_cFv */ #pragma push @@ -989,7 +955,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/obj/d_a_obj_dan/d_a_obj_dan/__dt__8cM3dGSphFv.s" } @@ -999,7 +966,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/obj/d_a_obj_dan/d_a_obj_dan/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.cpp b/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.cpp index bf00c9ebcf..2ea8e9764e 100644 --- a/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.cpp +++ b/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -47,8 +48,6 @@ struct daObjDrop_c { /* 80BE1DCC */ void _delete(); }; -struct Vec {}; - struct dTres_c { /* 8009C3CC */ void setPosition(int, u8, Vec const*, int); }; @@ -97,14 +96,6 @@ struct csXyz { static u8 Zero[4]; }; -struct cXyz { - /* 802670AC */ void isZero() const; - /* 80BE0318 */ ~cXyz(); - /* 80BE0354 */ cXyz(); - - static f32 Zero[3]; -}; - 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*, @@ -119,25 +110,6 @@ struct dEvent_manager_c { /* 80047ADC */ void endCheckOld(char const*); }; -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(); - /* 80BE00EC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - struct dCamera_c { /* 80163028 */ void SetTrimTypeForce(s32); }; @@ -162,35 +134,14 @@ struct dBgS_Acch { /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F664 */ void Set(cXyz const&, f32); - /* 80BE005C */ ~cM3dGSph(); -}; - -struct cM3dGLin { - /* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&); - /* 80BE18E0 */ ~cM3dGLin(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BE00A4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BE1EF0 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -329,8 +280,6 @@ extern "C" void deleteObject__14Z2SoundObjBaseFv(); extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_18(); @@ -356,7 +305,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" extern u32 g_saftyWhiteColor; -extern "C" extern u32 __float_nan; extern "C" u8 Zero__5csXyz[4]; extern "C" extern u8 struct_80BE2238[4]; @@ -389,13 +337,17 @@ COMPILER_STRIP_GATE(0x80BE1F94, &l_sizuku_app_effect_list); #pragma pop /* 80BE1F98-80BE1FD8 000010 0040+00 1/1 0/0 0/0 .rodata l_sph_src */ -SECTION_RODATA static u8 const l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +const static dCcD_SrcSph l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80BE1F98, &l_sph_src); /* 80BE1FD8-80BE1FDC 000050 0004+00 1/2 0/0 0/0 .rodata @3825 */ SECTION_RODATA static f32 const lit_3825 = 50.0f; @@ -645,7 +597,8 @@ asm void daObjDrop_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/obj/d_a_obj_drop/d_a_obj_drop/__dt__8cM3dGSphFv.s" } @@ -655,7 +608,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/obj/d_a_obj_drop/d_a_obj_drop/__dt__8cM3dGAabFv.s" } @@ -665,7 +619,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/obj/d_a_obj_drop/d_a_obj_drop/__dt__10dCcD_GSttsFv.s" } @@ -736,14 +691,16 @@ 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/obj/d_a_obj_drop/d_a_obj_drop/__dt__4cXyzFv.s" } #pragma pop /* 80BE0354-80BE0358 0006F4 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1047,7 +1004,8 @@ asm void daObjDrop_c::modeWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/__dt__8cM3dGLinFv.s" } @@ -1202,7 +1160,8 @@ void JPAEmitterCallBack::drawAfter(JPABaseEmitter* 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/obj/d_a_obj_drop/d_a_obj_drop/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.cpp b/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.cpp index 9a459a2628..7e9e9fad4b 100644 --- a/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.cpp +++ b/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,8 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF0C */ void ZXYrotS(csXyz const&); @@ -55,27 +54,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 80BE5B2C */ ~dCcD_Sph(); - /* 80BE5BF8 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - struct dBgW_Base {}; struct dBgW { @@ -102,18 +80,6 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80BE5C7C */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80BE5CC4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -132,18 +98,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -221,8 +175,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_26(); @@ -242,7 +194,6 @@ 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" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -307,13 +258,17 @@ SECTION_RODATA static u8 const l_heap_size[12] = { COMPILER_STRIP_GATE(0x80BE5DC4, &l_heap_size); /* 80BE5DD0-80BE5E10 000050 0040+00 1/1 0/0 0/0 .rodata l_sph_src */ -SECTION_RODATA static u8 const l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, +const static dCcD_SrcSph l_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x1f}, {0x0, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x2, 0x0, 0x8}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 150.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80BE5DD0, &l_sph_src); /* 80BE5E10-80BE5E18 000090 0004+04 0/2 0/0 0/0 .rodata @3682 */ #pragma push @@ -631,7 +586,8 @@ static asm void daObjFan_create1st(daObjFan_c* param_0) { #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/obj/d_a_obj_fan/d_a_obj_fan/__dt__8dCcD_SphFv.s" } @@ -641,7 +597,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/obj/d_a_obj_fan/d_a_obj_fan/__ct__8dCcD_SphFv.s" } @@ -651,7 +608,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/obj/d_a_obj_fan/d_a_obj_fan/__dt__8cM3dGSphFv.s" } @@ -661,7 +619,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/obj/d_a_obj_fan/d_a_obj_fan/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.cpp b/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.cpp index 900633c50e..795c65518a 100644 --- a/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.cpp +++ b/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -39,25 +40,6 @@ struct dSv_info_c { /* 80035360 */ void isSwitch(int, int) const; }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCps {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80BE93A8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -78,37 +60,14 @@ struct dBgS_Acch { struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; -}; - -struct cM3dGCpsS {}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026F03C */ void Set(cM3dGCpsS const&); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BE9360 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BE9A40 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -235,12 +194,16 @@ SECTION_DATA static u8 l_cull_box[24] = { }; /* 80BE9AF4-80BE9B40 000038 004C+00 1/1 0/0 0/0 .data l_cps_src */ -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{0x100, 0x1, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x1, 0x2}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 100.0f, 0.0f}, 50.0f}, // mCps + } // mCpsAttr }; /* 80BE9190-80BE9230 0000F0 00A0+00 1/1 0/0 0/0 .text Create__14daObjFPillar_cFv */ @@ -371,7 +334,8 @@ asm void daObjFPillar_c::create() { #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/obj/d_a_obj_firepillar/d_a_obj_firepillar/__dt__8cM3dGAabFv.s" } @@ -381,7 +345,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/obj/d_a_obj_firepillar/d_a_obj_firepillar/__dt__10dCcD_GSttsFv.s" } @@ -594,7 +559,8 @@ static asm void daObjFPillar_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/obj/d_a_obj_firepillar/d_a_obj_firepillar/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.cpp b/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.cpp index ec8641b6a8..0bd91faaf6 100644 --- a/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.cpp +++ b/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,15 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - - static u8 BaseY[12]; - static u8 BaseZ[12]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -101,25 +93,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCps {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80BEA448 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -138,31 +111,14 @@ struct dBgS_Acch { /* 800760A0 */ dBgS_Acch(); }; -struct cM3dGCpsS {}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026F03C */ void Set(cM3dGCpsS const&); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BEA400 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BEB448 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -175,23 +131,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -427,12 +366,16 @@ SECTION_DATA static u8 l_cull_box[24] = { }; /* 80BEB564-80BEB5B0 00003C 004C+00 1/1 0/0 0/0 .data l_cps_src */ -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x01, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{0x100, 0x1, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0xe, 0x1, 0x2}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 100.0f, 0.0f}, 50.0f}, // mCps + } // mCpsAttr }; /* 80BE9DDC-80BEA034 00019C 0258+00 1/1 0/0 0/0 .text Create__15daObjFPillar2_cFv */ @@ -662,7 +605,8 @@ asm void daObjFPillar2_c::create() { #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/obj/d_a_obj_firepillar2/d_a_obj_firepillar2/__dt__8cM3dGAabFv.s" } @@ -672,7 +616,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/obj/d_a_obj_firepillar2/d_a_obj_firepillar2/__dt__10dCcD_GSttsFv.s" } @@ -959,7 +904,8 @@ static asm void daObjFPillar2_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/obj/d_a_obj_firepillar2/d_a_obj_firepillar2/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.cpp b/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.cpp index 31ed524b32..92e0f93233 100644 --- a/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.cpp +++ b/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,20 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266CBC */ void outprod(Vec const&) const; - /* 80266DC4 */ void normZC() const; - /* 80266F48 */ void normalizeZP(); - /* 80BEC790 */ ~cXyz(); - /* 80BEDB70 */ cXyz(); - - static f32 Zero[3]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -70,70 +57,10 @@ struct dRes_control_c { /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); }; -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(); - /* 80BEDC84 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80BEDB74 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80BEDBF4 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80BEDC3C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BEE070 */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DSys { /* 8031073C */ void reinitGX(); }; @@ -267,10 +194,6 @@ extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); extern "C" void DCStoreRangeNoSync(); extern "C" void PSMTXCopy(); extern "C" void PSMTXConcat(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECDotProduct(); extern "C" void GXSetVtxDesc(); extern "C" void GXClearVtxDesc(); extern "C" void GXSetVtxAttrFmt(); @@ -313,7 +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 sprintf(); extern "C" extern u8 const j3dDefaultLightInfo[52]; extern "C" extern void* g_fopAc_Method[8]; @@ -331,7 +253,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_env_light[4880]; extern "C" f32 Zero__4cXyz[3]; extern "C" extern u8 j3dSys[284]; -extern "C" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; @@ -386,7 +307,8 @@ asm void FlagCloth_c::initFlagPos(cXyz* param_0, fopAc_ac_c* 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/obj/d_a_obj_flag2/d_a_obj_flag2/__dt__4cXyzFv.s" } @@ -793,13 +715,17 @@ asm void FlagCloth_c::calcFlagNormalBack() { /* ############################################################################################## */ /* 80BEE11C-80BEE15C 000040 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3809 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x10000, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80BEE11C, &ccSphSrc); /* 80BECC78-80BECCE4 000698 006C+00 1/1 0/0 0/0 .text initCcSphere__11FlagCloth_cFP10fopAc_ac_c */ #pragma push @@ -915,14 +841,19 @@ asm void daObjFlag2_c::initBaseMtx() { /* 80BEE17C-80BEE1C0 0000A0 0044+00 0/1 0/0 0/0 .rodata ccCylSrc$3979 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 15.0f, // mRadius + 30.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80BEE17C, &ccCylSrc); #pragma pop /* 80BEE1C0-80BEE1C4 0000E4 0004+00 0/1 0/0 0/0 .rodata @3982 */ @@ -1111,7 +1042,8 @@ asm FlagCloth_c::~FlagCloth_c() { #pragma pop /* 80BEDB70-80BEDB74 001590 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1119,7 +1051,8 @@ cXyz::cXyz() { #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/obj/d_a_obj_flag2/d_a_obj_flag2/__dt__8cM3dGSphFv.s" } @@ -1139,7 +1072,8 @@ asm J3DLightObj::J3DLightObj() { #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/obj/d_a_obj_flag2/d_a_obj_flag2/__dt__8cM3dGCylFv.s" } @@ -1149,7 +1083,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/obj/d_a_obj_flag2/d_a_obj_flag2/__dt__8cM3dGAabFv.s" } @@ -1159,7 +1094,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/obj/d_a_obj_flag2/d_a_obj_flag2/__dt__10dCcD_GSttsFv.s" } @@ -1259,7 +1195,8 @@ static asm void daObjFlag2_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/obj/d_a_obj_flag2/d_a_obj_flag2/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp b/rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp index 92dd847c22..907582bde9 100644 --- a/rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp +++ b/rel/d/a/obj/d_a_obj_food/d_a_obj_food.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_food/d_a_obj_food.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -38,13 +39,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 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*); @@ -72,28 +66,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -127,20 +99,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80BF1BE8 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80BF1C30 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -168,16 +126,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -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]; }; @@ -279,7 +227,6 @@ extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); @@ -322,19 +269,29 @@ SECTION_DATA static u8 w_eff_id[8] = { }; /* 80BF1E20-80BF1E60 000008 0040+00 1/1 0/0 0/0 .data cc_sph_src$4146 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph + } // mSphAttr }; /* 80BF1E60-80BF1EA0 000048 0040+00 1/1 0/0 0/0 .data at_sph_src$4147 */ -SECTION_DATA static u8 at_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, +static dCcD_SrcSph at_sph_src = { + { + {0x0, {{AT_TYPE_THROW_OBJ, 0x0, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 15.0f} // mSph + } // mSphAttr }; /* 80BF1EA0-80BF1EC0 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Food_Method */ @@ -771,7 +728,8 @@ static asm void daObj_Food_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_food/d_a_obj_food/__dt__8cM3dGSphFv.s" } @@ -781,7 +739,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/obj/d_a_obj_food/d_a_obj_food/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.cpp b/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.cpp index 41cd984394..833bc4b8a9 100644 --- a/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.cpp +++ b/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,14 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266F48 */ void normalizeZP(); - /* 80BF33CC */ ~cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -96,26 +89,6 @@ 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(); - /* 80BF3370 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -152,39 +125,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 80BF40E8 */ ~cM3dGPla(); -}; - -struct cM3dGLin { - /* 80BF3228 */ ~cM3dGLin(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80BF3270 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BF32B8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BF4800 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -320,7 +268,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_23(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); @@ -329,7 +276,6 @@ extern "C" void _restgpr_23(); extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); 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_Cyl[36]; @@ -342,7 +288,6 @@ 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 f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" void __register_global_object(); // @@ -387,12 +332,18 @@ SECTION_DATA static void* l_resNameList[2] = { }; /* 80BF4A64-80BF4AA8 000038 0044+00 1/2 0/0 0/0 .data l_ccDCyl */ -SECTION_DATA static u8 l_ccDCyl[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_ccDCyl = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80BF4AA8-80BF4AB0 00007C 0008+00 1/1 0/0 0/0 .data emttrId$4553 */ @@ -567,7 +518,8 @@ asm void daObj_Gadget_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget/__dt__8cM3dGLinFv.s" } @@ -577,7 +529,8 @@ asm cM3dGLin::~cM3dGLin() { #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/obj/d_a_obj_gadget/d_a_obj_gadget/__dt__8cM3dGCylFv.s" } @@ -587,7 +540,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/obj/d_a_obj_gadget/d_a_obj_gadget/__dt__8cM3dGAabFv.s" } @@ -607,7 +561,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/obj/d_a_obj_gadget/d_a_obj_gadget/__dt__10dCcD_GSttsFv.s" } @@ -617,7 +572,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_gadget/d_a_obj_gadget/__dt__4cXyzFv.s" } @@ -828,7 +784,8 @@ asm void daObj_Gadget_c::Draw() { #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/obj/d_a_obj_gadget/d_a_obj_gadget/__dt__8cM3dGPlaFv.s" } @@ -1134,7 +1091,8 @@ static bool daObj_Gadget_IsDelete(void* 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/obj/d_a_obj_gadget/d_a_obj_gadget/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.cpp b/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.cpp index b373ac1da8..fd7d7054b0 100644 --- a/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.cpp +++ b/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -97,25 +92,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCps {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80BF8ED0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); -}; - struct dBgW { /* 8007B9C0 */ void Move(); }; @@ -135,42 +111,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGLin { - /* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&); - /* 80BF77F0 */ ~cM3dGLin(); -}; - -struct cM3dGCpsS {}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026F03C */ void Set(cM3dGCpsS const&); -}; - -struct cM3dGAab { - /* 80BF8E88 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BF8F98 */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct WIND_INFLUENCE {}; struct J3DModel {}; @@ -279,7 +223,6 @@ extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); @@ -294,7 +237,6 @@ 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" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 struct_80BF9240[4]; @@ -357,12 +299,16 @@ SECTION_DATA static u8 l_cull_box[24] = { }; /* 80BF90A4-80BF90F0 00003C 004C+00 1/1 0/0 0/0 .data l_cps_src */ -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x43, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{0x100, 0x0, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x1, 0x0, 0x2}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 500.0f, 0.0f}, 100.0f}, // mCps + } // mCpsAttr }; /* 80BF6F80-80BF70E0 0000E0 0160+00 1/0 0/0 0/0 .text Create__13daObjGeyser_cFv */ @@ -687,7 +633,8 @@ asm void daObjGeyser_c::actionOff2() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser/__dt__8cM3dGLinFv.s" } @@ -1060,7 +1007,8 @@ static asm void daObjGeyser_create1st(daObjGeyser_c* param_0) { #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/obj/d_a_obj_geyser/d_a_obj_geyser/__dt__8cM3dGAabFv.s" } @@ -1070,7 +1018,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/obj/d_a_obj_geyser/d_a_obj_geyser/__dt__10dCcD_GSttsFv.s" } @@ -1112,7 +1061,8 @@ static asm void daObjGeyser_MoveBGDraw(daObjGeyser_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/obj/d_a_obj_geyser/d_a_obj_geyser/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.cpp b/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.cpp index 2ba6e89c3d..9897739a47 100644 --- a/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.cpp +++ b/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -28,14 +29,6 @@ struct daObj { /* 80037330 */ void make_eff_break_gm_ootubo(fopAc_ac_c*); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80BFB3D4 */ ~cXyz(); - /* 80BFD238 */ cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -66,27 +59,6 @@ struct dDlst_shadowControl_c { 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(); - /* 80BFD0FC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -118,32 +90,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80BFD06C */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BFD0B4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80BFD23C */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -276,8 +230,6 @@ extern "C" void __ct__10Z2CreatureFv(); extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -299,7 +251,6 @@ 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" void __register_global_object(); // @@ -404,11 +355,16 @@ SECTION_DATA static u8 gm_obj_bmd[28] = { }; /* 80BFD494-80BFD4D4 0000CC 0040+00 1/1 0/0 0/0 .data cc_sph_src$4334 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x2, 0x1f}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x2, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80BFD4D4-80BFD4F4 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Gm_Method */ @@ -568,7 +524,8 @@ static asm void wall_angle_get(obj_gm_class* param_0) { #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/obj/d_a_obj_gm/d_a_obj_gm/__dt__4cXyzFv.s" } @@ -907,7 +864,8 @@ static asm void daObj_Gm_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_gm/d_a_obj_gm/__dt__8cM3dGSphFv.s" } @@ -917,7 +875,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/obj/d_a_obj_gm/d_a_obj_gm/__dt__8cM3dGAabFv.s" } @@ -927,7 +886,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/obj/d_a_obj_gm/d_a_obj_gm/__dt__10dCcD_GSttsFv.s" } @@ -954,7 +914,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma pop /* 80BFD238-80BFD23C 0021D8 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -962,7 +923,8 @@ cXyz::cXyz() { #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/obj/d_a_obj_gm/d_a_obj_gm/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.cpp b/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.cpp index 74050ecda1..feb7bcd40b 100644 --- a/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.cpp +++ b/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -19,11 +20,6 @@ struct csXyz { /* 80BFEA24 */ ~csXyz(); }; -struct cXyz { - /* 80BFE3FC */ ~cXyz(); - /* 80BFF8CC */ cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -87,28 +83,6 @@ struct dRes_control_c { /* 8003C6B8 */ void getObjectResName2Index(char const*, char const*); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 80BFF5B4 */ ~dCcD_Sph(); - /* 80BFF680 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -158,22 +132,10 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80BFF704 */ ~cM3dGSph(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80BFF74C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -190,18 +152,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -448,13 +398,17 @@ asm daObjGOMIKABE_HIO_c::daObjGOMIKABE_HIO_c() { /* ############################################################################################## */ /* 80BFFC1C-80BFFC5C 000000 0040+00 7/7 0/0 0/0 .rodata ccSphSrc$3769 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x2020, 0x11}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 200.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80BFFC1C, &ccSphSrc); /* 80BFE244-80BFE2CC 000104 0088+00 1/1 0/0 0/0 .text initCcCylinder__15daObjGOMIKABE_cFv */ @@ -518,7 +472,8 @@ asm void daObjGOMIKABE_c::SetCcCyl() { #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/obj/d_a_obj_gomikabe/d_a_obj_gomikabe/__dt__4cXyzFv.s" } @@ -918,7 +873,8 @@ asm void daObjGOMIKABE_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/obj/d_a_obj_gomikabe/d_a_obj_gomikabe/__dt__8dCcD_SphFv.s" } @@ -928,7 +884,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/obj/d_a_obj_gomikabe/d_a_obj_gomikabe/__ct__8dCcD_SphFv.s" } @@ -938,7 +895,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/obj/d_a_obj_gomikabe/d_a_obj_gomikabe/__dt__8cM3dGSphFv.s" } @@ -948,7 +906,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/obj/d_a_obj_gomikabe/d_a_obj_gomikabe/__dt__8cM3dGAabFv.s" } @@ -990,7 +949,8 @@ csXyz::csXyz() { } /* 80BFF8CC-80BFF8D0 00178C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } diff --git a/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.cpp b/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.cpp index 5401a0aaad..736b729893 100644 --- a/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.cpp +++ b/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -34,39 +35,6 @@ struct dSv_event_c { /* 800349BC */ void isEventBit(u16) const; }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct cXyz {}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80C10D48 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80C10D90 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -169,7 +137,8 @@ asm void daObjGraWall_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/obj/d_a_obj_graWall/d_a_obj_graWall/__dt__8cM3dGCylFv.s" } @@ -179,7 +148,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/obj/d_a_obj_graWall/d_a_obj_graWall/__dt__8cM3dGAabFv.s" } @@ -208,14 +178,19 @@ SECTION_RODATA static u8 const l_DATA[8] = { COMPILER_STRIP_GATE(0x80C10FB0, &l_DATA); /* 80C10FB8-80C10FFC 000008 0044+00 1/1 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x8}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80C10FB8, &l_cyl_src); /* 80C10E80-80C10ED4 000300 0054+00 1/1 0/0 0/0 .text col_init__14daObjGraWall_cFv */ #pragma push diff --git a/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.cpp b/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.cpp index 1db06e0d4b..3e36b92115 100644 --- a/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.cpp +++ b/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -21,8 +22,6 @@ struct mDoMtx_stack_c { static u8 now[48]; }; -struct Vec {}; - struct mDoExt_McaMorf { /* 800105C8 */ void play(Vec*, u32, s8); }; @@ -35,10 +34,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -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*); @@ -68,28 +63,6 @@ struct dDlst_shadowControl_c { 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -133,18 +106,6 @@ struct dAttention_c { /* 800737E4 */ void LockonTruth(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C1B4E8 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80C1B530 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -283,8 +244,6 @@ extern "C" void stopAnime__10Z2CreatureFv(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_24(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -308,7 +267,6 @@ 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" extern u8 data_80C1B7E0[4]; // @@ -884,11 +842,16 @@ COMPILER_STRIP_GATE(0x80C1B6FC, &lit_4457); #pragma pop /* 80C1B710-80C1B750 000008 0040+00 1/1 0/0 0/0 .data cc_sph_src$4381 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x05, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_1000, 0x3, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_WOOD, 0x0, 0x1, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x2, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80C1B750-80C1B770 -00001 0020+00 1/0 0/0 0/0 .data l_daOBJ_HB_Method */ @@ -954,7 +917,8 @@ static asm void daOBJ_HB_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_hb/d_a_obj_hb/__dt__8cM3dGSphFv.s" } @@ -964,7 +928,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/obj/d_a_obj_hb/d_a_obj_hb/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.cpp b/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.cpp index 1d229a8018..f800071f69 100644 --- a/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.cpp +++ b/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -44,8 +45,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct cXyz {}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -79,26 +78,6 @@ struct dEvLib_callback_c { /* 80C1C46C */ bool eventEnd(); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C1C304 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -116,38 +95,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80C1C2BC */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80C1BB34 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C1C3CC */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Vec {}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -279,12 +230,18 @@ SECTION_RODATA static f32 const lit_3699 = 200.0f; COMPILER_STRIP_GATE(0x80C1C5F8, &lit_3699); /* 80C1C738-80C1C77C 000004 0044+00 1/1 0/0 0/0 .data l_cc_cyl_src */ -SECTION_DATA static u8 l_cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00, +static dCcD_SrcCyl l_cc_cyl_src = { + { + {0x0, {{AT_TYPE_BOMB, 0x4, 0x13}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 1000.0f, // mRadius + 1000.0f // mHeight + } // mCyl }; /* 80C1C77C-80C1C790 000048 0012+02 1/1 0/0 0/0 .data id$3767 */ @@ -414,7 +371,8 @@ asm void daObjHBombkoya_c::Create() { #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/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__8cM3dGAabFv.s" } @@ -591,7 +549,8 @@ static asm void daObjHBombkoya_create1st(daObjHBombkoya_c* param_0) { #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/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__8cM3dGCylFv.s" } @@ -601,7 +560,8 @@ asm cM3dGCyl::~cM3dGCyl() { #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/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__10dCcD_GSttsFv.s" } @@ -644,7 +604,8 @@ static asm void daObjHBombkoya_MoveBGDraw(daObjHBombkoya_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/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.cpp b/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.cpp index f8c2087650..564cb3eb26 100644 --- a/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.cpp +++ b/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -18,11 +19,6 @@ struct csXyz { /* 8057FD6C */ ~csXyz(); }; -struct cXyz { - /* 8057FD30 */ ~cXyz(); - /* 805811C0 */ cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -92,28 +88,6 @@ struct dComIfG_play_c { /* 8002CB68 */ void entrySimpleModel(J3DModel*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844B8 */ void ResetTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -139,19 +113,6 @@ struct dBgS_LinChk { /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8058112C */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80581174 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -167,22 +128,10 @@ struct cBgS { /* 800743B4 */ void LineCross(cBgS_LinChk*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - struct Z2CreatureFM { /* 802C2194 */ void startChainSound(JAISoundID, u8, f32, u32, s8); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -285,8 +234,6 @@ extern "C" void startChainSound__12Z2CreatureFMF10JAISoundIDUcfUlSc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void _savegpr_22(); extern "C" void _savegpr_25(); @@ -312,7 +259,6 @@ 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 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -321,14 +267,19 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; /* ############################################################################################## */ /* 805814AC-805814F0 000000 0044+00 10/10 0/0 0/0 .rodata ccCylSrc$3773 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xDC, 0x00, 0x00, 0x43, 0x1E, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x11}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 110.0f, // mRadius + 158.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x805814AC, &ccCylSrc); /* 8057F9B8-8057FA18 000078 0060+00 1/1 0/0 0/0 .text initCcCylinder__13daObjHHASHI_cFv */ @@ -416,7 +367,8 @@ asm void daObjHHASHI_c::Set_Hahen(cXyz* param_0) { #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/obj/d_a_obj_hhashi/d_a_obj_hhashi/__dt__4cXyzFv.s" } @@ -886,7 +838,8 @@ asm void daObjHHASHI_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/obj/d_a_obj_hhashi/d_a_obj_hhashi/__dt__8cM3dGCylFv.s" } @@ -896,7 +849,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/obj/d_a_obj_hhashi/d_a_obj_hhashi/__dt__8cM3dGAabFv.s" } @@ -908,7 +862,8 @@ csXyz::csXyz() { } /* 805811C0-805811C4 001880 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } diff --git a/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.cpp b/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.cpp index 109be0a6d0..ba0e6e5e14 100644 --- a/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.cpp +++ b/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,16 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - - static u8 BaseZ[12]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -119,28 +110,6 @@ struct dEvt_control_c { /* 80042468 */ void reset(); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80C240D4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 80084548 */ void GetTgHitGObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dCamera_c { /* 801614AC */ void Start(); /* 801614D0 */ void Stop(); @@ -212,33 +181,14 @@ struct dBgS { /* 80075B84 */ void RideCallBack(cBgS_PolyInfo const&, fopAc_ac_c*); }; -struct cM3dGPla { - /* 80C23A08 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80C24044 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80C2408C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C2427C */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -262,16 +212,6 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -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 */]; -}; - // // Forward References: // @@ -418,8 +358,6 @@ extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_23(); extern "C" void _savegpr_25(); @@ -443,7 +381,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_env_light[4880]; extern "C" u8 BaseZ__4cXyz[12]; extern "C" extern u8 j3dSys[284]; -extern "C" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 struct_80C24698[4]; @@ -533,14 +470,19 @@ COMPILER_STRIP_GATE(0x80C24324, &l_dir_angle); /* 80C2432C-80C24370 000038 0044+00 0/1 0/0 0/0 .rodata l_cyl_src */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1D, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x43, 0x91, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x100, 0x1, 0x1d}, {0x400000, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x2, 0x1}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 180.0f, // mRadius + 290.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80C2432C, &l_cyl_src); #pragma pop /* 80C24370-80C24374 00007C 0004+00 2/5 0/0 0/0 .rodata @3936 */ @@ -1191,7 +1133,8 @@ asm void daObjIceBlk_c::checkFall() { #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/obj/d_a_obj_iceblock/d_a_obj_iceblock/__dt__8cM3dGPlaFv.s" } @@ -1303,7 +1246,8 @@ asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { #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/obj/d_a_obj_iceblock/d_a_obj_iceblock/__dt__8cM3dGCylFv.s" } @@ -1313,7 +1257,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/obj/d_a_obj_iceblock/d_a_obj_iceblock/__dt__8cM3dGAabFv.s" } @@ -1323,7 +1268,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/obj/d_a_obj_iceblock/d_a_obj_iceblock/__dt__10dCcD_GSttsFv.s" } @@ -1385,7 +1331,8 @@ static asm void daObjIceBlk_MoveBGDraw(daObjIceBlk_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/obj/d_a_obj_iceblock/d_a_obj_iceblock/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.cpp b/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.cpp index 6273798da9..5f4c535888 100644 --- a/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.cpp +++ b/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,8 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CDD4 */ void transM(cXyz const&); @@ -120,27 +119,6 @@ struct dEvent_manager_c { /* 80047A78 */ void endCheck(s16); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C2501C */ ~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(); }; @@ -161,43 +139,14 @@ struct dBgS_Acch { /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80C24F8C */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80C24FD4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C25D04 */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -305,7 +254,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -323,7 +271,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" extern u8 g_env_light[4880]; -extern "C" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 struct_80C25F98[4]; @@ -425,12 +372,18 @@ COMPILER_STRIP_GATE(0x80C25D74, &lit_3759); #pragma pop /* 80C25DD4-80C25E18 000024 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1f}, {0x400000, 0x11}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 100.0f // mHeight + } // mCyl }; /* 80C249E4-80C24BC4 000344 01E0+00 1/1 0/0 0/0 .text Create__14daObjIceLeaf_cFv */ @@ -669,7 +622,8 @@ asm void daObjIceLeaf_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/obj/d_a_obj_iceleaf/d_a_obj_iceleaf/__dt__8cM3dGCylFv.s" } @@ -679,7 +633,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/obj/d_a_obj_iceleaf/d_a_obj_iceleaf/__dt__8cM3dGAabFv.s" } @@ -689,7 +644,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/obj/d_a_obj_iceleaf/d_a_obj_iceleaf/__dt__10dCcD_GSttsFv.s" } @@ -940,7 +896,8 @@ static asm void daObjIceLeaf_Create(daObjIceLeaf_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/obj/d_a_obj_iceleaf/d_a_obj_iceleaf/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.cpp b/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.cpp index ffa986c4b1..2886f21536 100644 --- a/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.cpp +++ b/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -16,8 +17,6 @@ struct csXyz { /* 802673F4 */ csXyz(s16, s16, s16); }; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -76,39 +75,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 8008457C */ void GetTgHitObjSe(); - /* 800845B0 */ void getHitSeID(u8, int); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80C27BBC */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80C27C04 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -122,18 +88,6 @@ struct Z2SoundObjBase { /* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -255,26 +209,36 @@ static asm void bornCoCallBack(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fopAc /* ############################################################################################## */ /* 80C28120-80C28164 000000 0044+00 3/3 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0xD8, 0xFA, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1f}, {0xd8fafdff, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 140.0f, // mRadius + 70.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80C28120, &l_cyl_src); /* 80C28164-80C281A8 000044 0044+00 0/1 0/0 0/0 .rodata l_cyl_src2 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_cyl_src2[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src2 = { + { + {0x0, {{0x0, 0x0, 0x1f}, {0x2000, 0x11}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 140.0f, // mRadius + 70.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80C28164, &l_cyl_src2); #pragma pop /* 80C281A8-80C281AC 000088 0004+00 1/2 0/0 0/0 .rodata @3693 */ @@ -418,7 +382,8 @@ asm void daObjIBone_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/obj/d_a_obj_inobone/d_a_obj_inobone/__dt__8cM3dGCylFv.s" } @@ -428,7 +393,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/obj/d_a_obj_inobone/d_a_obj_inobone/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.cpp b/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.cpp index 668d33390d..2584c51c52 100644 --- a/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.cpp +++ b/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -17,8 +18,6 @@ struct csXyz { /* 80C29AC0 */ csXyz(); }; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -31,13 +30,6 @@ struct fopAc_ac_c { /* 80018C8C */ ~fopAc_ac_c(); }; -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct daObj_ItaMato_c { /* 80C294EC */ ~daObj_ItaMato_c(); /* 80C2971C */ void create(); @@ -104,26 +96,6 @@ 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(); - /* 80C29C0C */ ~dCcD_GStts(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -167,34 +139,14 @@ struct dAttList_c { /* 80073864 */ void getActor(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C29B0C */ ~cM3dGSph(); -}; - -struct cM3dGLin { - /* 80C29AC4 */ ~cM3dGLin(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80C29B54 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C2AA48 */ ~cCcD_GStts(); -}; - struct cBgS_GndChk { /* 80267C1C */ cBgS_GndChk(); /* 80267C94 */ ~cBgS_GndChk(); @@ -202,18 +154,6 @@ struct cBgS_GndChk { struct _GXTexObj {}; -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -368,11 +308,16 @@ SECTION_DEAD static char const* const stringBase_80C2AC20 = "H_ItaMato"; #pragma pop /* 80C2AC34-80C2AC74 000000 0040+00 2/2 0/0 0/0 .data l_ccDSph */ -SECTION_DATA static u8 l_ccDSph[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcSph l_ccDSph = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 0.0f} // mSph + } // mSphAttr }; /* 80C2AC74-80C2AC78 -00001 0004+00 1/1 0/0 0/0 .data l_resName */ @@ -551,7 +496,8 @@ csXyz::csXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato/__dt__8cM3dGLinFv.s" } @@ -561,7 +507,8 @@ asm cM3dGLin::~cM3dGLin() { #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/obj/d_a_obj_itamato/d_a_obj_itamato/__dt__8cM3dGSphFv.s" } @@ -571,7 +518,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/obj/d_a_obj_itamato/d_a_obj_itamato/__dt__8cM3dGAabFv.s" } @@ -591,7 +539,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/obj/d_a_obj_itamato/d_a_obj_itamato/__dt__10dCcD_GSttsFv.s" } @@ -931,7 +880,8 @@ static bool daObj_ItaMato_IsDelete(void* 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/obj/d_a_obj_itamato/d_a_obj_itamato/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp b/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp index ea84c8c992..d229f9d951 100644 --- a/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp +++ b/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -48,16 +49,6 @@ struct daObj_Ito_HIO_c { struct J3DModelData {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 8047B9A4 */ ~cXyz(); - /* 8047D594 */ cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -81,32 +72,6 @@ struct dPa_control_c { 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&); - /* 8047D598 */ ~dCcD_Sph(); - /* 8047D664 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - struct dBgS_LinChk { /* 80077C68 */ dBgS_LinChk(); /* 80077CDC */ ~dBgS_LinChk(); @@ -118,20 +83,6 @@ struct dBgS_GndChk { /* 800775F0 */ ~dBgS_GndChk(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 8047D6E8 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 8047D730 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -147,21 +98,11 @@ struct cBgS { /* 800744A0 */ void GroundCross(cBgS_GndChk*); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0530 */ void init(Vec*, Vec*, u8, u8); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -261,9 +202,6 @@ extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_14(); extern "C" void _savegpr_16(); @@ -290,7 +228,6 @@ 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" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -308,11 +245,16 @@ SECTION_RODATA static f32 const lit_3771 = 15.0f; COMPILER_STRIP_GATE(0x8047D814, &lit_3771); /* 8047D8DC-8047D91C 000000 0040+00 1/1 0/0 0/0 .data cc_sph_src$4829 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbffff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 8047D91C-8047D938 000040 001C+00 1/1 0/0 0/0 .data obj_size$4835 */ @@ -518,7 +460,8 @@ static asm void cut_line_calc(obj_ito_class* param_0, ito_s* param_1, int param_ #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/obj/d_a_obj_ito/d_a_obj_ito/__dt__4cXyzFv.s" } @@ -819,7 +762,8 @@ static asm void daObj_Ito_Create(fopAc_ac_c* param_0) { #pragma pop /* 8047D594-8047D598 002394 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -827,7 +771,8 @@ cXyz::cXyz() { #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/obj/d_a_obj_ito/d_a_obj_ito/__dt__8dCcD_SphFv.s" } @@ -837,7 +782,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/obj/d_a_obj_ito/d_a_obj_ito/__ct__8dCcD_SphFv.s" } @@ -847,7 +793,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/obj/d_a_obj_ito/d_a_obj_ito/__dt__8cM3dGSphFv.s" } @@ -857,7 +804,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/obj/d_a_obj_ito/d_a_obj_ito/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp b/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp index fa8269d36e..968281fbf5 100644 --- a/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp +++ b/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -162,27 +157,6 @@ struct dDlst_peekZ_c { /* 80056018 */ void newData(s16, s16, u32*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -210,22 +184,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C2DFD0 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80C2B844 */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80C2E018 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -372,7 +330,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -392,7 +349,6 @@ 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" void __register_global_object(); // @@ -507,13 +463,17 @@ asm daObj_KabHIO_c::daObj_KabHIO_c() { /* ############################################################################################## */ /* 80C2E11C-80C2E15C 00000C 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3781 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80C2E11C, &ccSphSrc); /* 80C2AEA4-80C2AF10 000124 006C+00 1/1 0/0 0/0 .text InitCcSph__13daObjKABUTO_cFv */ #pragma push @@ -715,7 +675,8 @@ asm void daObjKABUTO_c::WallCheck() { #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/obj/d_a_obj_kabuto/d_a_obj_kabuto/__dt__8cM3dGPlaFv.s" } @@ -1144,7 +1105,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/obj/d_a_obj_kabuto/d_a_obj_kabuto/__dt__8cM3dGSphFv.s" } @@ -1154,7 +1116,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/obj/d_a_obj_kabuto/d_a_obj_kabuto/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.cpp b/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.cpp index 3fb963e0fe..bdf48799bd 100644 --- a/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.cpp +++ b/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,14 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266F48 */ void normalizeZP(); - /* 80C32324 */ ~cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -97,33 +90,6 @@ 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(); - /* 80C322C8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084658 */ void ChkCoHit(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80C31C90 */ ~dCcD_Cyl(); - /* 80C32144 */ dCcD_Cyl(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -160,35 +126,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGLin { - /* 80C320FC */ ~cM3dGLin(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80C321C8 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80C32210 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C33B3C */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -331,7 +276,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_24(); @@ -353,7 +297,6 @@ 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 f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" void __register_global_object(); // @@ -398,12 +341,18 @@ SECTION_DATA static void* l_resNameList[2] = { }; /* 80C33DD8-80C33E1C 000038 0044+00 1/2 0/0 0/0 .data l_ccDCyl */ -SECTION_DATA static u8 l_ccDCyl[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_ccDCyl = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80C33E1C-80C33E24 00007C 0008+00 1/1 0/0 0/0 .data emttrId$4731 */ @@ -509,7 +458,8 @@ asm daObj_Kago_c::~daObj_Kago_c() { #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/obj/d_a_obj_kago/d_a_obj_kago/__dt__8dCcD_CylFv.s" } @@ -587,7 +537,8 @@ asm void daObj_Kago_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago/__dt__8cM3dGLinFv.s" } @@ -597,7 +548,8 @@ asm cM3dGLin::~cM3dGLin() { #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/obj/d_a_obj_kago/d_a_obj_kago/__ct__8dCcD_CylFv.s" } @@ -607,7 +559,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/obj/d_a_obj_kago/d_a_obj_kago/__dt__8cM3dGCylFv.s" } @@ -617,7 +570,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/obj/d_a_obj_kago/d_a_obj_kago/__dt__8cM3dGAabFv.s" } @@ -637,7 +591,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/obj/d_a_obj_kago/d_a_obj_kago/__dt__10dCcD_GSttsFv.s" } @@ -647,7 +602,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_kago/d_a_obj_kago/__dt__4cXyzFv.s" } @@ -1231,7 +1187,8 @@ static bool daObj_Kago_IsDelete(void* 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/obj/d_a_obj_kago/d_a_obj_kago/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.cpp b/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.cpp index 00ab04b63d..3cdbc72f12 100644 --- a/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.cpp +++ b/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,8 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -68,42 +67,10 @@ struct dRes_control_c { /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_AcchCir { /* 80075EAC */ dBgS_AcchCir(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80C34E4C */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80C34E94 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -180,7 +147,6 @@ extern "C" void cLib_addCalcAngleS__FPsssss(); extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); @@ -199,7 +165,6 @@ 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 mGroundY__11fopAcM_gc_c; // @@ -286,14 +251,19 @@ static asm void daObjKaisou_Delete(daObjKaisou_c* param_0) { /* ############################################################################################## */ /* 80C34EFC-80C34F40 000010 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$3850 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x2, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 100.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80C34EFC, &ccCylSrc); /* 80C34390-80C343F0 0003B0 0060+00 1/1 0/0 0/0 .text initCcCylinder__13daObjKaisou_cFv */ @@ -617,7 +587,8 @@ asm void daObjKaisou_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/obj/d_a_obj_kaisou/d_a_obj_kaisou/__dt__8cM3dGCylFv.s" } @@ -627,7 +598,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/obj/d_a_obj_kaisou/d_a_obj_kaisou/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.cpp b/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.cpp index 6a6fb18472..4516d27106 100644 --- a/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.cpp +++ b/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -163,27 +158,6 @@ struct dDlst_peekZ_c { /* 80056018 */ void newData(s16, s16, u32*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -215,22 +189,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C382C8 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80C35B9C */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80C38310 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -378,7 +336,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -398,7 +355,6 @@ 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" void __register_global_object(); // @@ -503,13 +459,17 @@ asm daObj_KamHIO_c::daObj_KamHIO_c() { /* ############################################################################################## */ /* 80C38410-80C38450 000008 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3780 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80C38410, &ccSphSrc); /* 80C351BC-80C35228 00011C 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjKAM_cFv */ #pragma push @@ -705,7 +665,8 @@ asm void daObjKAM_c::WallCheck() { #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/obj/d_a_obj_kamakiri/d_a_obj_kamakiri/__dt__8cM3dGPlaFv.s" } @@ -1117,7 +1078,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/obj/d_a_obj_kamakiri/d_a_obj_kamakiri/__dt__8cM3dGSphFv.s" } @@ -1127,7 +1089,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/obj/d_a_obj_kamakiri/d_a_obj_kamakiri/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp b/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp index 24ca7704d8..e2e40476c9 100644 --- a/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp +++ b/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -72,25 +73,6 @@ struct dEvent_manager_c { /* 80047ADC */ void endCheckOld(char const*); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C38E3C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -109,10 +91,6 @@ struct csXyz {}; struct dBgS {}; -struct cXyz { - /* 80266B84 */ void operator*(f32) const; -}; - struct dBgS_Acch { /* 80075F94 */ ~dBgS_Acch(); /* 800760A0 */ dBgS_Acch(); @@ -120,28 +98,10 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 80C38974 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80C38DAC */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80C38DF4 */ ~cM3dGAab(); -}; - -struct cCcD_GStts { - /* 80C395E8 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -242,8 +202,6 @@ extern "C" void SetR__8cM3dGCylFf(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareMag(); -extern "C" void C_VECReflect(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); @@ -259,7 +217,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 u32 __float_nan; extern "C" extern u8 data_80C39860[4]; // @@ -268,14 +225,19 @@ extern "C" extern u8 data_80C39860[4]; /* ############################################################################################## */ /* 80C39648-80C3968C 000000 0044+00 4/4 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x59, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xffffffff, 0x11}, 0x59}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 20.0f, // mRadius + 40.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80C39648, &l_cyl_src); /* 80C3968C-80C39690 000044 0004+00 0/3 0/0 0/0 .rodata @3855 */ #pragma push @@ -497,7 +459,8 @@ static asm void Reflect(cXyz* param_0, cBgS_PolyInfo const& param_1, f32 param_2 #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/obj/d_a_obj_kantera/d_a_obj_kantera/__dt__8cM3dGPlaFv.s" } @@ -577,7 +540,8 @@ asm void daItemKantera_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/obj/d_a_obj_kantera/d_a_obj_kantera/__dt__8cM3dGCylFv.s" } @@ -587,7 +551,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/obj/d_a_obj_kantera/d_a_obj_kantera/__dt__8cM3dGAabFv.s" } @@ -597,7 +562,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/obj/d_a_obj_kantera/d_a_obj_kantera/__dt__10dCcD_GSttsFv.s" } @@ -815,7 +781,8 @@ static asm void daItemKantera_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/obj/d_a_obj_kantera/d_a_obj_kantera/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.cpp b/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.cpp index e7ab8a7338..56f1e941d8 100644 --- a/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.cpp +++ b/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -163,27 +158,6 @@ struct dDlst_peekZ_c { /* 80056018 */ void newData(s16, s16, u32*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -216,22 +190,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C3C4C4 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80C3A490 */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80C3C50C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -382,7 +340,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_26(); extern "C" void _savegpr_28(); @@ -406,7 +363,6 @@ 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" void __register_global_object(); // @@ -515,13 +471,17 @@ SECTION_RODATA static u16 const l_kat_itemno[1 + 1 /* padding */] = { COMPILER_STRIP_GATE(0x80C3C678, &l_kat_itemno); /* 80C3C67C-80C3C6BC 000008 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3779 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80C3C67C, &ccSphSrc); /* 80C39994-80C39A00 000114 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjKAT_cFv */ #pragma push @@ -737,7 +697,8 @@ asm void daObjKAT_c::WallWalk() { #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/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri/__dt__8cM3dGPlaFv.s" } @@ -1087,7 +1048,8 @@ asm void daObjKAT_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/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri/__dt__8cM3dGSphFv.s" } @@ -1097,7 +1059,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/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.cpp b/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.cpp index 26be93edc9..91b0d1e10b 100644 --- a/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.cpp +++ b/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -57,64 +56,10 @@ struct dRes_control_c { /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C3D330 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80C3D2A0 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80C3D2E8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C3D38C */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -287,14 +232,19 @@ asm void daObjKazeNeko_c::setBaseMtx() { /* ############################################################################################## */ /* 80C3D41C-80C3D460 000040 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$3894 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x48, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x2048, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 10.0f, // mRadius + 30.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80C3D41C, &ccCylSrc); /* 80C3CA8C-80C3CB10 00022C 0084+00 1/1 0/0 0/0 .text initCcCylinder__15daObjKazeNeko_cFv */ @@ -491,7 +441,8 @@ static asm void daObjKazeNeko_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_kazeneko/d_a_obj_kazeneko/__dt__8cM3dGCylFv.s" } @@ -501,7 +452,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/obj/d_a_obj_kazeneko/d_a_obj_kazeneko/__dt__8cM3dGAabFv.s" } @@ -511,7 +463,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/obj/d_a_obj_kazeneko/d_a_obj_kazeneko/__dt__10dCcD_GSttsFv.s" } @@ -521,7 +474,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_kazeneko/d_a_obj_kazeneko/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.cpp b/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.cpp index b396881d83..9970be0fe7 100644 --- a/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.cpp +++ b/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,13 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266F48 */ void normalizeZP(); -}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -95,26 +89,6 @@ 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(); - /* 80586538 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -151,39 +125,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 80587558 */ ~cM3dGPla(); -}; - -struct cM3dGLin { - /* 805863F0 */ ~cM3dGLin(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80586438 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80586480 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80587C40 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -196,16 +145,6 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -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]; }; @@ -330,7 +269,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); @@ -341,7 +279,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); 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_Cyl[36]; @@ -355,7 +292,6 @@ 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 mStayNo__20dStage_roomControl_c[4]; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -397,12 +333,18 @@ SECTION_DATA static u8 l_bmdData[16] = { SECTION_DATA static void* l_resNameList = (void*)&d_a_obj_kbacket__stringBase0; /* 80587EAC-80587EF0 000034 0044+00 1/2 0/0 0/0 .data l_ccDCyl */ -SECTION_DATA static u8 l_ccDCyl[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_ccDCyl = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80587EF0-80587EF8 000078 0008+00 1/1 0/0 0/0 .data emttrId$4670 */ @@ -579,7 +521,8 @@ asm void daObj_KBacket_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket/__dt__8cM3dGLinFv.s" } @@ -589,7 +532,8 @@ asm cM3dGLin::~cM3dGLin() { #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/obj/d_a_obj_kbacket/d_a_obj_kbacket/__dt__8cM3dGCylFv.s" } @@ -599,7 +543,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/obj/d_a_obj_kbacket/d_a_obj_kbacket/__dt__8cM3dGAabFv.s" } @@ -619,7 +564,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/obj/d_a_obj_kbacket/d_a_obj_kbacket/__dt__10dCcD_GSttsFv.s" } @@ -856,7 +802,8 @@ asm void daObj_KBacket_c::Draw() { #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/obj/d_a_obj_kbacket/d_a_obj_kbacket/__dt__8cM3dGPlaFv.s" } @@ -1038,7 +985,8 @@ static bool daObj_KBacket_IsDelete(void* 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/obj/d_a_obj_kbacket/d_a_obj_kbacket/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.cpp b/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.cpp index 067c5c8efb..29fed0c3b8 100644 --- a/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.cpp +++ b/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -34,11 +35,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct cXyz { - /* 80266B84 */ void operator*(f32) const; - /* 80C3D8BC */ ~cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -81,26 +77,6 @@ struct dDlst_shadowControl_c { 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct dBgW_Base {}; struct dBgW { @@ -152,18 +128,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C3EE98 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80C3EEE0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -178,8 +142,6 @@ struct cBgS_PolyInfo {}; struct cBgS_LinChk {}; -struct Vec {}; - struct cBgS_GndChk { /* 80267D0C */ void SetPos(Vec const*); }; @@ -200,16 +162,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -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]; }; @@ -331,7 +283,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_21(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -375,11 +326,16 @@ SECTION_DATA static u8 w_eff_id[8] = { }; /* 80C3F134-80C3F174 000008 0040+00 1/1 0/0 0/0 .data cc_sph_src$4145 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80C3F174-80C3F194 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Kbox_Method */ @@ -640,7 +596,8 @@ static asm void break_eff(obj_kbox_class* param_0) { #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/obj/d_a_obj_kbox/d_a_obj_kbox/__dt__4cXyzFv.s" } @@ -1054,7 +1011,8 @@ static asm void daObj_Kbox_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_kbox/d_a_obj_kbox/__dt__8cM3dGSphFv.s" } @@ -1064,7 +1022,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/obj/d_a_obj_kbox/d_a_obj_kbox/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.cpp b/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.cpp index ba63eed07c..a6026d9c31 100644 --- a/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.cpp +++ b/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -25,8 +26,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData {}; @@ -50,14 +49,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80C41654 */ ~cXyz(); - /* 80C43900 */ cXyz(); -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -100,56 +91,15 @@ struct dComIfG_play_c { 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&); - /* 80C434E8 */ ~dCcD_Sph(); - /* 80C43878 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C43644 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); -}; - struct csXyz { /* 80C434AC */ ~csXyz(); /* 80C438FC */ csXyz(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C435B4 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80C435FC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C43904 */ ~cCcD_GStts(); -}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0530 */ void init(Vec*, Vec*, u8, u8); @@ -274,8 +224,6 @@ extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_16(); @@ -403,11 +351,16 @@ SECTION_DATA static void* arc_name[10] = { }; /* 80C43BD4-80C43C14 0000E8 0040+00 1/1 0/0 0/0 .data cc_sph_src$4485 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xBF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdbf, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 60.0f} // mSph + } // mSphAttr }; /* 80C43C14-80C43C34 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Keyhole_Method */ @@ -544,7 +497,8 @@ static asm void chain_control1(obj_keyhole_class* param_0, kh_chain_s* 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/obj/d_a_obj_keyhole/d_a_obj_keyhole/__dt__4cXyzFv.s" } @@ -1135,7 +1089,8 @@ asm csXyz::~csXyz() { #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/obj/d_a_obj_keyhole/d_a_obj_keyhole/__dt__8dCcD_SphFv.s" } @@ -1145,7 +1100,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/obj/d_a_obj_keyhole/d_a_obj_keyhole/__dt__8cM3dGSphFv.s" } @@ -1155,7 +1111,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/obj/d_a_obj_keyhole/d_a_obj_keyhole/__dt__8cM3dGAabFv.s" } @@ -1165,7 +1122,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/obj/d_a_obj_keyhole/d_a_obj_keyhole/__dt__10dCcD_GSttsFv.s" } @@ -1195,7 +1153,8 @@ asm kh_chain_s::kh_chain_s() { #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/obj/d_a_obj_keyhole/d_a_obj_keyhole/__ct__8dCcD_SphFv.s" } @@ -1207,7 +1166,8 @@ csXyz::csXyz() { } /* 80C43900-80C43904 0027A0 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1215,7 +1175,8 @@ cXyz::cXyz() { #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/obj/d_a_obj_keyhole/d_a_obj_keyhole/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.cpp b/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.cpp index f16580c58e..fe39b12a98 100644 --- a/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.cpp +++ b/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CDD4 */ void transM(cXyz const&); @@ -98,30 +93,6 @@ struct dEvent_manager_c { /* 8004817C */ void cutEnd(int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 8058A9FC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 8058A81C */ ~dCcD_Cyl(); - /* 8058A8E8 */ dCcD_Cyl(); -}; - struct dBgW_Base {}; struct dBgW { @@ -148,25 +119,10 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8058A96C */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 8058A9B4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 8058AAC4 */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -181,16 +137,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -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]; }; @@ -310,8 +256,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXInverse(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_24(); @@ -326,7 +270,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_Cyl[36]; @@ -422,14 +365,19 @@ COMPILER_STRIP_GATE(0x8058AB78, &l_cull_box); /* 8058AB90-8058ABD4 000060 0044+00 0/1 0/0 0/0 .rodata l_cyl_src */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1e}, {0x20, 0x11}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 40.0f, // mRadius + 350.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x8058AB90, &l_cyl_src); #pragma pop /* 8058ABD4-8058ABD8 0000A4 0004+00 3/5 0/0 0/0 .rodata @3881 */ @@ -1219,7 +1167,8 @@ static asm void daObjKGate_create1st(daObjKGate_c* 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/obj/d_a_obj_kgate/d_a_obj_kgate/__dt__8dCcD_CylFv.s" } @@ -1229,7 +1178,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_kgate/d_a_obj_kgate/__ct__8dCcD_CylFv.s" } @@ -1239,7 +1189,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/obj/d_a_obj_kgate/d_a_obj_kgate/__dt__8cM3dGCylFv.s" } @@ -1249,7 +1200,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/obj/d_a_obj_kgate/d_a_obj_kgate/__dt__8cM3dGAabFv.s" } @@ -1259,7 +1211,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/obj/d_a_obj_kgate/d_a_obj_kgate/__dt__10dCcD_GSttsFv.s" } @@ -1300,7 +1253,8 @@ static asm void daObjKGate_MoveBGDraw(daObjKGate_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/obj/d_a_obj_kgate/d_a_obj_kgate/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.cpp b/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.cpp index ae472c52ee..9dc63e23d3 100644 --- a/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.cpp +++ b/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -34,8 +35,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct cXyz {}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -47,25 +46,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_SrcTri {}; - -struct dCcD_Tri { - /* 80084884 */ void Set(dCcD_SrcTri const&); -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -85,23 +65,6 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct Vec {}; - -struct cM3dGTri { - /* 8026F7DC */ void setPos(Vec const*, Vec const*, Vec const*); - /* 80C46DF4 */ ~cM3dGTri(); -}; - -struct cM3dGPla { - /* 80C46E50 */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80C46E98 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -288,13 +251,16 @@ SECTION_DEAD static char const* const stringBase_80C46F92 = "move"; SECTION_DATA static void* l_arcName = (void*)&d_a_obj_kkanban__stringBase0; /* 80C46F9C-80C46FF0 000004 0054+00 1/1 0/0 0/0 .data l_tri_src */ -SECTION_DATA static u8 l_tri_src[84] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcTri l_tri_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x20, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}} // mTri + } // mTriAttr }; /* 80C46808-80C46928 0001E8 0120+00 1/0 0/0 0/0 .text Create__14daObjKKanban_cFv */ @@ -497,7 +463,8 @@ static asm void daObjKKanban_create1st(daObjKKanban_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGTri::~cM3dGTri() { +// asm cM3dGTri::~cM3dGTri() { +extern "C" asm void __dt__8cM3dGTriFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban/__dt__8cM3dGTriFv.s" } @@ -507,7 +474,8 @@ asm cM3dGTri::~cM3dGTri() { #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/obj/d_a_obj_kkanban/d_a_obj_kkanban/__dt__8cM3dGPlaFv.s" } @@ -517,7 +485,8 @@ asm cM3dGPla::~cM3dGPla() { #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/obj/d_a_obj_kkanban/d_a_obj_kkanban/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.cpp b/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.cpp index 1d4ebe476b..1fc22a2b02 100644 --- a/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.cpp +++ b/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,18 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266EF4 */ void normalize(); - - static f32 Zero[3]; - static u8 BaseZ[12]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -76,37 +65,6 @@ struct dMdl_c { /* 8009C668 */ void entryObj(dMdl_obj_c*); }; -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&); - /* 8058AF60 */ ~dCcD_Sph(); - /* 8058C1F4 */ 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(); - /* 800845B0 */ void getHitSeID(u8, int); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -126,37 +84,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8058C278 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8058C164 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 8058C1AC */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -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 J3DModel {}; // @@ -241,11 +172,6 @@ extern "C" void PSMTXCopy(); extern "C" void PSMTXConcat(); extern "C" void PSMTXRotAxisRad(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECDotProduct(); -extern "C" void PSVECCrossProduct(); extern "C" void __construct_array(); extern "C" void __construct_new_array(); extern "C" void _savegpr_22(); @@ -256,7 +182,6 @@ extern "C" void _restgpr_22(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" void acos(); 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]; @@ -272,7 +197,6 @@ extern "C" extern u8 g_env_light[4880]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseZ__4cXyz[12]; extern "C" extern u8 j3dSys[284]; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -301,20 +225,31 @@ SECTION_DEAD static char const* const stringBase_8058C3E8 = "K_lift00"; SECTION_DATA static void* l_arcName = (void*)&d_a_obj_klift00__stringBase0; /* 8058C3F8-8058C438 000004 0040+00 1/1 0/0 0/0 .data l_cc_sph_src */ -SECTION_DATA static u8 l_cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph l_cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 8058C438-8058C47C 000044 0044+00 1/1 0/0 0/0 .data l_cc_cyl_src */ -SECTION_DATA static u8 l_cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcCyl l_cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x408000, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 300.0f, // mRadius + 100.0f // mHeight + } // mCyl }; /* 8058C47C-8058C49C -00001 0020+00 1/0 0/0 0/0 .data daObjKLift00_METHODS */ @@ -371,7 +306,8 @@ SECTION_DATA extern void* __vt__8cM3dGAab[3] = { #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/obj/d_a_obj_klift00/d_a_obj_klift00/__dt__8dCcD_SphFv.s" } @@ -637,7 +573,8 @@ static asm void daObjKLift00_create1st(daObjKLift00_c* param_0) { #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/obj/d_a_obj_klift00/d_a_obj_klift00/__dt__8cM3dGCylFv.s" } @@ -647,7 +584,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/obj/d_a_obj_klift00/d_a_obj_klift00/__dt__8cM3dGAabFv.s" } @@ -657,7 +595,8 @@ asm cM3dGAab::~cM3dGAab() { #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/obj/d_a_obj_klift00/d_a_obj_klift00/__ct__8dCcD_SphFv.s" } @@ -667,7 +606,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/obj/d_a_obj_klift00/d_a_obj_klift00/__dt__8cM3dGSphFv.s" } diff --git a/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.cpp b/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.cpp index e69f2e3ee8..d52caf638f 100644 --- a/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.cpp +++ b/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -39,13 +40,6 @@ struct dKy_tevstr_c {}; struct _GXColor {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266F48 */ void normalizeZP(); -}; - struct dPa_control_c { struct level_c { /* 8004B918 */ void getEmitter(u32); @@ -59,51 +53,10 @@ struct dPa_control_c { _GXColor const*, cXyz const*, f32); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C47270 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80C472B8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter { /* 8027EC60 */ void deleteAllParticle(); }; @@ -162,7 +115,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECScale(); extern "C" void _savegpr_24(); extern "C" void _savegpr_26(); extern "C" void _savegpr_29(); @@ -192,13 +144,17 @@ SECTION_RODATA static u8 const l_DATA[12] = { COMPILER_STRIP_GATE(0x80C47950, &l_DATA); /* 80C4795C-80C4799C 00000C 0040+00 1/1 0/0 0/0 .rodata l_sph_src */ -SECTION_RODATA static u8 const l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +const static dCcD_SrcSph l_sph_src = { + { + {0x0, {{AT_TYPE_THROW_OBJ, 0x0, 0xd}, {0x10, 0x1f}, 0x0}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x8}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 0.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80C4795C, &l_sph_src); /* 80C4799C-80C479A0 00004C 0004+00 0/1 0/0 0/0 .rodata @3907 */ #pragma push @@ -278,7 +234,8 @@ asm void daObjKnBullet_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/obj/d_a_obj_knBullet/d_a_obj_knBullet/__dt__8cM3dGSphFv.s" } @@ -288,7 +245,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/obj/d_a_obj_knBullet/d_a_obj_knBullet/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.cpp b/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.cpp index 236a707571..311bf6f3ea 100644 --- a/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.cpp +++ b/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -163,27 +158,6 @@ struct dDlst_peekZ_c { /* 80056018 */ void newData(s16, s16, u32*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -215,22 +189,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C4D350 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80C4ABFC */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80C4D398 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -378,7 +336,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -398,7 +355,6 @@ 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" void __register_global_object(); // @@ -503,13 +459,17 @@ asm daObj_KuwHIO_c::daObj_KuwHIO_c() { /* ############################################################################################## */ /* 80C4D498-80C4D4D8 000008 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3780 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80C4D498, &ccSphSrc); /* 80C4A21C-80C4A288 00011C 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjKUW_cFv */ #pragma push @@ -705,7 +665,8 @@ asm void daObjKUW_c::WallCheck() { #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/obj/d_a_obj_kuwagata/d_a_obj_kuwagata/__dt__8cM3dGPlaFv.s" } @@ -1128,7 +1089,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/obj/d_a_obj_kuwagata/d_a_obj_kuwagata/__dt__8cM3dGSphFv.s" } @@ -1138,7 +1100,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/obj/d_a_obj_kuwagata/d_a_obj_kuwagata/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.cpp b/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.cpp index ef01e16f80..96f8a1d123 100644 --- a/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.cpp +++ b/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -42,8 +43,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct cXyz {}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -76,28 +75,6 @@ struct dEvLib_callback_c { /* 80C4E6DC */ bool eventEnd(); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 80C4E394 */ ~dCcD_Sph(); - /* 80C4E460 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C4E574 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -115,39 +92,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C4E4E4 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80C4E52C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C4E63C */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Vec {}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -337,11 +285,16 @@ asm void daObjKWheel00_c::CreateHeap() { /* ############################################################################################## */ /* 80C4E878-80C4E8B8 000008 0040+00 1/1 0/0 0/0 .data l_sphSrc */ -SECTION_DATA static u8 l_sphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00, +static dCcD_SrcSph l_sphSrc = { + { + {0x0, {{0x0, 0x1, 0x0}, {0xd8fbfdff, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 160.0f} // mSph + } // mSphAttr }; /* 80C4E8B8-80C4E8C0 000048 0008+00 2/2 0/0 0/0 .data l_se_angle */ @@ -543,7 +496,8 @@ static asm void daObjKWheel00_create1st(daObjKWheel00_c* param_0) { #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/obj/d_a_obj_kwheel00/d_a_obj_kwheel00/__dt__8dCcD_SphFv.s" } @@ -553,7 +507,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/obj/d_a_obj_kwheel00/d_a_obj_kwheel00/__ct__8dCcD_SphFv.s" } @@ -563,7 +518,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/obj/d_a_obj_kwheel00/d_a_obj_kwheel00/__dt__8cM3dGSphFv.s" } @@ -573,7 +529,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/obj/d_a_obj_kwheel00/d_a_obj_kwheel00/__dt__8cM3dGAabFv.s" } @@ -583,7 +540,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/obj/d_a_obj_kwheel00/d_a_obj_kwheel00/__dt__10dCcD_GSttsFv.s" } @@ -626,7 +584,8 @@ static asm void daObjKWheel00_MoveBGDraw(daObjKWheel00_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/obj/d_a_obj_kwheel00/d_a_obj_kwheel00/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.cpp b/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.cpp index 2758e71623..531f1b66d4 100644 --- a/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.cpp +++ b/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,16 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 802670AC */ void isZero() const; -}; - struct mDoMtx_stack_c { /* 8000CCC8 */ void push(); /* 8000CD14 */ void pop(); @@ -74,35 +65,6 @@ struct dRes_control_c { /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); }; -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C51F54 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct cM3dGCyl { - /* 80C51EC4 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80C51F0C */ ~cM3dGAab(); -}; - -struct cCcD_GStts { - /* 80C51FB0 */ ~cCcD_GStts(); -}; - struct LaundJoint_c { /* 80C51D2C */ ~LaundJoint_c(); /* 80C51EC0 */ LaundJoint_c(); @@ -198,9 +160,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXInverse(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_25(); @@ -222,7 +181,6 @@ 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; // // Declarations: @@ -333,14 +291,19 @@ asm void daObjLdy_c::getJointAngle(csXyz* param_0, int param_1) { /* 80C52054-80C52098 000054 0044+00 0/0 0/0 0/0 .rodata ccCylSrc$3800 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x60, 0x48, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x01, 0x49, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x16048, 0x11}, 0x149}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, -80.0f, 0.0f}, // mCenter + 25.0f, // mRadius + 25.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80C52054, &ccCylSrc); #pragma pop /* 80C52098-80C520A0 000098 0008+00 0/2 0/0 0/0 .rodata @3855 */ @@ -600,7 +563,8 @@ LaundJoint_c::LaundJoint_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/obj/d_a_obj_laundry/d_a_obj_laundry/__dt__8cM3dGCylFv.s" } @@ -610,7 +574,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/obj/d_a_obj_laundry/d_a_obj_laundry/__dt__8cM3dGAabFv.s" } @@ -620,7 +585,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/obj/d_a_obj_laundry/d_a_obj_laundry/__dt__10dCcD_GSttsFv.s" } @@ -630,7 +596,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_laundry/d_a_obj_laundry/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.cpp b/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.cpp index e6ca968b94..d2b52869d6 100644 --- a/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.cpp +++ b/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -43,17 +44,6 @@ struct daObjLndRope_c { static u8 const M_attr[20]; }; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 80C52820 */ ~cXyz(); - /* 80C53140 */ cXyz(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); }; @@ -64,37 +54,10 @@ struct dRes_control_c { /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); }; -struct dCcD_Sph { - /* 80C52F2C */ ~dCcD_Sph(); - /* 80C53144 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C53258 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - struct csXyz { /* 802673F4 */ csXyz(s16, s16, s16); }; -struct cM3dGSph { - /* 80C531C8 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80C53210 */ ~cM3dGAab(); -}; - -struct cCcD_GStts { - /* 80C532B4 */ ~cCcD_GStts(); -}; - // // Forward References: // @@ -154,9 +117,6 @@ extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz(); extern "C" void __dl__FPv(); extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_25(); @@ -173,7 +133,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_env_light[4880]; -extern "C" extern u32 __float_nan; // // Declarations: @@ -321,7 +280,8 @@ asm void daObjLndRope_c::create_init() { #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/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope/__dt__4cXyzFv.s" } @@ -351,13 +311,17 @@ asm void daObjLndRope_c::setBaseMtx() { /* 80C53364-80C533A4 000060 0040+00 0/0 0/0 0/0 .rodata ccSphSrc$3837 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x60, 0x7A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x01, 0x49, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x1607a, 0x11}, 0x149}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 0.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80C53364, &ccSphSrc); #pragma pop /* 80C533A4-80C533A8 0000A0 0004+00 0/1 0/0 0/0 .rodata @4012 */ @@ -514,7 +478,8 @@ static asm void daObjLndRope_Delete(daObjLndRope_c* param_0) { #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/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope/__dt__8dCcD_SphFv.s" } @@ -532,7 +497,8 @@ static asm void daObjLndRope_Create(fopAc_ac_c* param_0) { #pragma pop /* 80C53140-80C53144 000FC0 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -540,7 +506,8 @@ cXyz::cXyz() { #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/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope/__ct__8dCcD_SphFv.s" } @@ -550,7 +517,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/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope/__dt__8cM3dGSphFv.s" } @@ -560,7 +528,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/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope/__dt__8cM3dGAabFv.s" } @@ -570,7 +539,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/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope/__dt__10dCcD_GSttsFv.s" } @@ -580,7 +550,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp b/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp index ec62f4451e..2a8662c843 100644 --- a/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp +++ b/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -29,8 +30,6 @@ struct daObj_Lbox_HIO_c { /* 80C53F14 */ ~daObj_Lbox_HIO_c(); }; -struct cXyz {}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -50,25 +49,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); -}; - struct dBgW_Base {}; struct dBgW { @@ -102,18 +82,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C53E14 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80C53E5C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -130,18 +98,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -253,11 +209,16 @@ SECTION_RODATA static u8 const lit_3769[4] = { COMPILER_STRIP_GATE(0x80C53FC0, &lit_3769); /* 80C54008-80C54048 000000 0040+00 1/1 0/0 0/0 .data cc_sph_src$3950 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80C54048-80C54068 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Lbox_Method */ @@ -513,7 +474,8 @@ static asm void daObj_Lbox_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_lbox/d_a_obj_lbox/__dt__8cM3dGSphFv.s" } @@ -523,7 +485,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/obj/d_a_obj_lbox/d_a_obj_lbox/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.cpp b/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.cpp index d8e35b6b2d..c34ad2652d 100644 --- a/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.cpp +++ b/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,10 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz { - /* 80266B84 */ void operator*(f32) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -125,32 +122,6 @@ struct dEvent_manager_c { /* 80047ADC */ void endCheckOld(char const*); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 804CD2EC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -174,35 +145,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 804CCAD4 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 804CD25C */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 804CD2A4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 804CE2F4 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -220,18 +170,6 @@ struct Z2SoundObjBase { /* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter {}; struct JPAEmitterCallBack { @@ -386,8 +324,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXInverse(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void C_VECReflect(); extern "C" void __ptmf_scall(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_28(); @@ -409,7 +345,6 @@ 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" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 data_804CE6A0[4]; @@ -419,14 +354,19 @@ extern "C" extern u8 data_804CE6A0[4]; /* ############################################################################################## */ /* 804CE3F4-804CE438 000000 0044+00 6/6 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x59, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xffffffff, 0x11}, 0x59}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 20.0f, // mRadius + 40.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x804CE3F4, &l_cyl_src); /* 804CE438-804CE43C 000044 0004+00 1/6 0/0 0/0 .rodata @3855 */ SECTION_RODATA static u8 const lit_3855[4] = { @@ -680,7 +620,8 @@ static asm void Reflect(cXyz* param_0, cBgS_PolyInfo const& param_1, f32 param_2 #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/obj/d_a_obj_life_container/d_a_obj_life_container/__dt__8cM3dGPlaFv.s" } @@ -835,7 +776,8 @@ void dPa_levelEcallBack::cleanup() { #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/obj/d_a_obj_life_container/d_a_obj_life_container/__dt__8cM3dGCylFv.s" } @@ -845,7 +787,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/obj/d_a_obj_life_container/d_a_obj_life_container/__dt__8cM3dGAabFv.s" } @@ -855,7 +798,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/obj/d_a_obj_life_container/d_a_obj_life_container/__dt__10dCcD_GSttsFv.s" } @@ -1189,7 +1133,8 @@ static asm void daObjLife_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/obj/d_a_obj_life_container/d_a_obj_life_container/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.cpp b/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.cpp index 387813db2b..f0e8e9b85a 100644 --- a/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.cpp +++ b/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,19 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266EF4 */ void normalize(); - - static f32 Zero[3]; - static u8 BaseY[12]; - static u8 BaseZ[12]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE38 */ void scaleM(f32, f32, f32); @@ -98,31 +86,6 @@ 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&); - /* 80C662F4 */ ~dCcD_Sph(); - /* 80C663C0 */ 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(); - /* 800845B0 */ void getHitSeID(u8, int); -}; - struct dBgW {}; struct dBgS_PolyPassChk { @@ -155,19 +118,6 @@ struct dBgS_GndChk { /* 800775F0 */ ~dBgS_GndChk(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80C66444 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80C6648C */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -182,17 +132,6 @@ struct cBgS { 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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -305,12 +244,6 @@ extern "C" void PSMTXConcat(); extern "C" void PSMTXRotAxisRad(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECDotProduct(); -extern "C" void PSVECCrossProduct(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void __construct_new_array(); extern "C" void _savegpr_18(); @@ -327,7 +260,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_29(); -extern "C" void acos(); 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]; @@ -344,8 +276,6 @@ extern "C" u8 BaseY__4cXyz[12]; extern "C" u8 BaseZ__4cXyz[12]; extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -614,11 +544,16 @@ COMPILER_STRIP_GATE(0x80C668C0, &lit_4093); #pragma pop /* 80C66994-80C669D4 000004 0040+00 1/1 0/0 0/0 .data cc_sph_src */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80C63FA8-80C6449C 000CE8 04F4+00 1/0 0/0 0/0 .text Create__14daObjLv4Chan_cFv */ @@ -1015,7 +950,8 @@ asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { #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/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier/__dt__8dCcD_SphFv.s" } @@ -1025,7 +961,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/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier/__ct__8dCcD_SphFv.s" } @@ -1035,7 +972,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/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier/__dt__8cM3dGSphFv.s" } @@ -1045,7 +983,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/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.cpp b/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.cpp index 5f754547cd..0ed155e617 100644 --- a/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.cpp +++ b/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -38,15 +39,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266EF4 */ void normalize(); - - static f32 Zero[3]; -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -58,30 +50,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80C6E6F8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80C6E5A8 */ ~dCcD_Cyl(); - /* 80C6E674 */ dCcD_Cyl(); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -101,35 +69,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80C6E518 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80C6E560 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C6E7C0 */ ~cCcD_GStts(); -}; - -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 J3DModel {}; // @@ -200,8 +143,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_21(); @@ -227,7 +168,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_env_light[4880]; extern "C" f32 Zero__4cXyz[3]; extern "C" extern u8 j3dSys[284]; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -341,21 +281,33 @@ asm void daObjYchndlr_c::CreateHeap() { /* ############################################################################################## */ /* 80C6EA30-80C6EA74 00003C 0044+00 1/1 0/0 0/0 .data l_cc_src_shaft_cyl */ -SECTION_DATA static u8 l_cc_src_shaft_cyl[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcCyl l_cc_src_shaft_cyl = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 100.0f // mHeight + } // mCyl }; /* 80C6EA74-80C6EAB8 000080 0044+00 1/1 0/0 0/0 .data l_cc_cyl_src */ -SECTION_DATA static u8 l_cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, +static dCcD_SrcCyl l_cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x408000, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 350.0f, // mRadius + 150.0f // mHeight + } // mCyl }; /* 80C6DB5C-80C6DC64 00047C 0108+00 1/0 0/0 0/0 .text Create__14daObjYchndlr_cFv */ @@ -578,7 +530,8 @@ static asm void daObjYchndlr_create1st(daObjYchndlr_c* param_0) { #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/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr/__dt__8cM3dGCylFv.s" } @@ -588,7 +541,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/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr/__dt__8cM3dGAabFv.s" } @@ -598,7 +552,8 @@ asm cM3dGAab::~cM3dGAab() { #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/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr/__dt__8dCcD_CylFv.s" } @@ -608,7 +563,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr/__ct__8dCcD_CylFv.s" } @@ -618,7 +574,8 @@ asm dCcD_Cyl::dCcD_Cyl() { #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/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr/__dt__10dCcD_GSttsFv.s" } @@ -661,7 +618,8 @@ static asm void daObjYchndlr_MoveBGDraw(daObjYchndlr_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/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.cpp b/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.cpp index 2cd294115d..7263bc6565 100644 --- a/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.cpp +++ b/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -59,12 +60,6 @@ struct dSv_info_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*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -76,29 +71,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80C7059C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80C705F8 */ ~dCcD_Cyl(); - /* 80C706C4 */ dCcD_Cyl(); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -124,31 +96,10 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80C70748 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80C70790 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_ObjCo { - /* 8026491C */ void SetVsGrp(u32); -}; - -struct cCcD_GStts { - /* 80C70844 */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -157,16 +108,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -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]; }; @@ -268,10 +209,6 @@ extern "C" void PSMTXCopy(); extern "C" void PSMTXInverse(); 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 __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_29(); @@ -289,8 +226,6 @@ 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 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -438,12 +373,18 @@ SECTION_DATA static u8 l_back_pos[12] = { }; /* 80C70A60-80C70AA4 000028 0044+00 1/1 0/0 0/0 .data l_cc_cyl_src */ -SECTION_DATA static u8 l_cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xB4, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, +static dCcD_SrcCyl l_cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x39}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 90.0f, // mRadius + 200.0f // mHeight + } // mCyl }; /* 80C6EEFC-80C6F1E8 00037C 02EC+00 1/0 0/0 0/0 .text Create__16daObjYIblltray_cFv */ @@ -782,7 +723,8 @@ asm J3DFrameCtrl::~J3DFrameCtrl() { #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/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray/__dt__10dCcD_GSttsFv.s" } @@ -792,7 +734,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray/__dt__8dCcD_CylFv.s" } @@ -802,7 +745,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray/__ct__8dCcD_CylFv.s" } @@ -812,7 +756,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/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray/__dt__8cM3dGCylFv.s" } @@ -822,7 +767,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/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray/__dt__8cM3dGAabFv.s" } @@ -865,7 +811,8 @@ static asm void daObjYIblltray_MoveBGDraw(daObjYIblltray_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/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.cpp b/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.cpp index 32e208aac1..d73be663c3 100644 --- a/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.cpp +++ b/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CCC8 */ void push(); /* 8000CD14 */ void pop(); @@ -101,34 +100,6 @@ struct dDlst_shadowControl_c { static u8 mSimpleTexObj[32]; }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCps {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C7DD80 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); - /* 80084824 */ void CalcAtVec(); -}; - struct dBgW {}; struct dBgS_PolyPassChk { @@ -159,42 +130,14 @@ struct dBgS_GndChk { /* 800775F0 */ ~dBgS_GndChk(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80C7DCF0 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80C7DA74 */ ~cM3dGPla(); -}; - -struct cM3dGCpsS {}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026F03C */ void Set(cM3dGCpsS const&); -}; - -struct cM3dGAab { - /* 80C7DD38 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C7DE48 */ ~cCcD_GStts(); -}; - struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -struct Vec {}; - struct J3DSys { static u8 mCurrentMtx[48]; }; @@ -307,7 +250,6 @@ extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey( extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); @@ -317,7 +259,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" extern void* g_fopAc_Method[8]; extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; @@ -333,7 +274,6 @@ 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" extern u8 data_80C7E138[4]; // @@ -342,13 +282,17 @@ extern "C" extern u8 data_80C7E138[4]; /* ############################################################################################## */ /* 80C7DECC-80C7DF0C 000000 0040+00 5/5 0/0 0/0 .rodata l_sph_src */ -SECTION_RODATA static u8 const l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +const static dCcD_SrcSph l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x1e}, {0xd8fbfdff, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x8}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80C7DECC, &l_sph_src); /* 80C7DF0C-80C7DF10 000040 0004+00 0/1 0/0 0/0 .rodata @3728 */ #pragma push @@ -482,12 +426,16 @@ SECTION_DATA static u8 l_cull_box[24] = { }; /* 80C7DFB4-80C7E000 00003C 004C+00 1/1 0/0 0/0 .data l_cps_src */ -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{0x100, 0x1, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_SWORD, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, 50.0f}, // mCps + } // mCpsAttr }; /* 80C7CED4-80C7CFD0 000434 00FC+00 1/0 0/0 0/0 .text Create__11daObjL6Bm_cFv */ @@ -771,7 +719,8 @@ asm void daObjL6Bm_c::Draw() { #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/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos/__dt__8cM3dGPlaFv.s" } @@ -826,7 +775,8 @@ asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { #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/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos/__dt__8cM3dGSphFv.s" } @@ -836,7 +786,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/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos/__dt__8cM3dGAabFv.s" } @@ -846,7 +797,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/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos/__dt__10dCcD_GSttsFv.s" } @@ -886,7 +838,8 @@ static asm void daObjL6Bm_MoveBGDraw(daObjL6Bm_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/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.cpp b/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.cpp index 32be1bb3a0..b7e5e9882f 100644 --- a/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.cpp +++ b/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,16 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 8026706C */ bool operator!=(Vec const&) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CDD4 */ void transM(cXyz const&); @@ -131,44 +122,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_SrcCps {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C81AA0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); - /* 80084824 */ void CalcAtVec(); -}; - struct dCamera_c { /* 80181534 */ void ForceLockOn(fopAc_ac_c*); }; @@ -190,39 +143,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80C81A10 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80C7F8BC */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80C819C8 */ ~cM3dGCyl(); -}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026F000 */ void Set(cXyz const&, cXyz const&, f32); -}; - -struct cM3dGAab { - /* 80C81A58 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C81B68 */ ~cCcD_GStts(); -}; - struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; @@ -235,17 +159,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JUTNameTab { /* 802DEAF8 */ void getName(u16) const; }; @@ -254,13 +167,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DJoint {}; @@ -409,7 +315,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_23(); extern "C" void _savegpr_24(); @@ -425,7 +330,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 */]; @@ -444,7 +348,6 @@ 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 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 struct_80C81FE8[4]; @@ -607,35 +510,50 @@ SECTION_DATA static u8 l_cull_box[24] = { /* 80C81D6C-80C81DAC 000068 0040+00 0/1 0/0 0/0 .data l_sph_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x24, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcSph l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x402420, 0x11}, 0x58}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; #pragma pop /* 80C81DAC-80C81DF8 0000A8 004C+00 0/1 0/0 0/0 .data l_cps_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{0x100, 0x1, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_SWORD, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, 20.0f}, // mCps + } // mCpsAttr }; #pragma pop /* 80C81DF8-80C81E3C 0000F4 0044+00 0/1 0/0 0/0 .data l_cyl_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1e}, {0x400, 0x11}, 0x18}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 120.0f, // mRadius + 200.0f // mHeight + } // mCyl }; #pragma pop @@ -1015,7 +933,8 @@ asm void daObjLv6Bm_c::calcBeam() { #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/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2/__dt__8cM3dGPlaFv.s" } @@ -1333,7 +1252,8 @@ static asm void daObjLv6Bm_create1st(daObjLv6Bm_c* param_0) { #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/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2/__dt__8cM3dGCylFv.s" } @@ -1343,7 +1263,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/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2/__dt__8cM3dGSphFv.s" } @@ -1353,7 +1274,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/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2/__dt__8cM3dGAabFv.s" } @@ -1363,7 +1285,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/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2/__dt__10dCcD_GSttsFv.s" } @@ -1404,7 +1327,8 @@ static asm void daObjLv6Bm_MoveBGDraw(daObjLv6Bm_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/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.cpp b/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.cpp index 2678ecd832..12bccf3052 100644 --- a/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.cpp +++ b/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -45,37 +46,12 @@ struct csXyz {}; struct _GXColor {}; -struct cXyz {}; - 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 dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C82970 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80C82790 */ ~dCcD_Cyl(); - /* 80C8285C */ dCcD_Cyl(); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -99,25 +75,10 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80C828E0 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80C82928 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C82A38 */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -126,19 +87,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -struct JAISoundID {}; - -struct Vec {}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // @@ -267,12 +215,18 @@ SECTION_RODATA static u8 const l_cull_box[24] = { COMPILER_STRIP_GATE(0x80C82B70, &l_cull_box); /* 80C82BB4-80C82BF8 000004 0044+00 1/1 0/0 0/0 .data l_at_cyl_src */ -SECTION_DATA static u8 l_at_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0D, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, +static dCcD_SrcCyl l_at_cyl_src = { + { + {0x0, {{0x100, 0x2, 0xd}, {0x400, 0x0}, 0x11}}, // mObj + {dCcD_SE_NONE, 0x0, 0xd, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 300.0f // mHeight + } // mCyl }; /* 80C82180-80C822DC 000180 015C+00 1/0 0/0 0/0 .text Create__15daObjLv6EGate_cFv */ @@ -471,7 +425,8 @@ static asm void daObjLv6EGate_create1st(daObjLv6EGate_c* 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/obj/d_a_obj_lv6egate/d_a_obj_lv6egate/__dt__8dCcD_CylFv.s" } @@ -481,7 +436,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_lv6egate/d_a_obj_lv6egate/__ct__8dCcD_CylFv.s" } @@ -491,7 +447,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/obj/d_a_obj_lv6egate/d_a_obj_lv6egate/__dt__8cM3dGCylFv.s" } @@ -501,7 +458,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/obj/d_a_obj_lv6egate/d_a_obj_lv6egate/__dt__8cM3dGAabFv.s" } @@ -511,7 +469,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/obj/d_a_obj_lv6egate/d_a_obj_lv6egate/__dt__10dCcD_GSttsFv.s" } @@ -554,7 +513,8 @@ static asm void daObjLv6EGate_MoveBGDraw(daObjLv6EGate_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/obj/d_a_obj_lv6egate/d_a_obj_lv6egate/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.cpp b/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.cpp index 9490846d99..1933c53092 100644 --- a/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.cpp +++ b/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CDD4 */ void transM(cXyz const&); @@ -88,28 +87,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C87798 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80C875B8 */ ~dCcD_Cyl(); - /* 80C87684 */ dCcD_Cyl(); -}; - struct dBgW_Base {}; struct dBgW { @@ -156,29 +133,14 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80C87708 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80C87750 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C87940 */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -193,19 +155,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -struct JAISoundID {}; - -struct Vec {}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -487,12 +436,18 @@ SECTION_DATA static void* l_arcName[2] = { }; /* 80C87A5C-80C87AA0 000028 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x0, 0xd}, {0x0, 0x0}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0xd}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 100.0f, // mRadius + 250.0f // mHeight + } // mCyl }; /* 80C865B8-80C867CC 0002B8 0214+00 1/0 0/0 0/0 .text Create__13daObjLv7Brg_cFv */ @@ -847,7 +802,8 @@ static asm void daObjLv7Brg_create1st(daObjLv7Brg_c* 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/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge/__dt__8dCcD_CylFv.s" } @@ -857,7 +813,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge/__ct__8dCcD_CylFv.s" } @@ -867,7 +824,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/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge/__dt__8cM3dGCylFv.s" } @@ -877,7 +835,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/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge/__dt__8cM3dGAabFv.s" } @@ -887,7 +846,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/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge/__dt__10dCcD_GSttsFv.s" } @@ -949,7 +909,8 @@ static asm void daObjLv7Brg_MoveBGDraw(daObjLv7Brg_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/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.cpp b/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.cpp index 2f20d4d3d9..b6485f7a21 100644 --- a/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.cpp +++ b/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -49,8 +50,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct cXyz {}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -77,59 +76,10 @@ struct dPa_control_c { _GXColor const*, cXyz const*, f32); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80C9080C */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80C90854 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct JAISoundID {}; - -struct Vec {}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct LIGHT_INFLUENCE {}; struct J3DModel {}; @@ -253,11 +203,16 @@ SECTION_DATA static u8 eff_id_3833[4] = { }; /* 80C90984-80C909C4 000010 0040+00 1/1 0/0 0/0 .data cc_sph_src$4010 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x40000000, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80C909C4-80C909E4 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Maki_Method */ @@ -491,7 +446,8 @@ static asm void daObj_Maki_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_maki/d_a_obj_maki/__dt__8cM3dGSphFv.s" } @@ -501,7 +457,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/obj/d_a_obj_maki/d_a_obj_maki/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.cpp b/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.cpp index 91e190c12d..73db8897af 100644 --- a/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.cpp +++ b/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -96,35 +91,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCps {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); -}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026F000 */ void Set(cXyz const&, cXyz const&, f32); -}; - -struct cM3dGAab { - /* 80C93660 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -224,7 +190,6 @@ extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void C_MTXLightPerspective(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); extern "C" void _savegpr_29(); @@ -243,7 +208,6 @@ 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" extern u32 __float_nan; // // Declarations: @@ -417,12 +381,16 @@ SECTION_DATA static void* l_arcName[2] = { }; /* 80C93E1C-80C93E68 000008 004C+00 1/1 0/0 0/0 .data l_cps_src */ -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x44, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{AT_TYPE_40000, 0x0, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 1000.0f, 0.0f}, 150.0f}, // mCps + } // mCpsAttr }; /* 80C9307C-80C93198 00029C 011C+00 1/1 0/0 0/0 .text Create__12daObjMHole_cFv */ @@ -523,7 +491,8 @@ asm void daObjMHole_c::create() { #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/obj/d_a_obj_mhole/d_a_obj_mhole/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.cpp b/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.cpp index c2cd7a3e8d..33817bc4a5 100644 --- a/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.cpp +++ b/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,14 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266F48 */ void normalizeZP(); - /* 80C9453C */ ~cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -100,16 +93,6 @@ struct dDlst_shadowControl_c { static u8 mSimpleTexObj[32]; }; -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80C944E0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -145,39 +128,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 80C95290 */ ~cM3dGPla(); -}; - -struct cM3dGLin { - /* 80C94398 */ ~cM3dGLin(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80C943E0 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80C94428 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80C95968 */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -309,7 +267,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_23(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); @@ -318,7 +275,6 @@ extern "C" void _restgpr_23(); extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); 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_Cyl[36]; @@ -331,7 +287,6 @@ 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 f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" void getType__13daNpc_Pouya_cFv(); extern "C" void __register_global_object(); @@ -359,12 +314,18 @@ SECTION_DATA static void* l_resNameList[2] = { }; /* 80C95B98-80C95BDC 000010 0044+00 1/1 0/0 0/0 .data l_ccDCyl */ -SECTION_DATA static u8 l_ccDCyl[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_ccDCyl = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80C95BDC-80C95BE4 000054 0008+00 1/1 0/0 0/0 .data emttrId$4602 */ @@ -487,7 +448,8 @@ asm void daObj_Mie_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie/__dt__8cM3dGLinFv.s" } @@ -497,7 +459,8 @@ asm cM3dGLin::~cM3dGLin() { #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/obj/d_a_obj_mie/d_a_obj_mie/__dt__8cM3dGCylFv.s" } @@ -507,7 +470,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/obj/d_a_obj_mie/d_a_obj_mie/__dt__8cM3dGAabFv.s" } @@ -527,7 +491,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/obj/d_a_obj_mie/d_a_obj_mie/__dt__10dCcD_GSttsFv.s" } @@ -537,7 +502,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_mie/d_a_obj_mie/__dt__4cXyzFv.s" } @@ -774,7 +740,8 @@ asm void daObj_Mie_c::Draw() { #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/obj/d_a_obj_mie/d_a_obj_mie/__dt__8cM3dGPlaFv.s" } @@ -1081,7 +1048,8 @@ static bool daObj_Mie_IsDelete(void* 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/obj/d_a_obj_mie/d_a_obj_mie/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.cpp b/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.cpp index 4ec587d166..6dd15df822 100644 --- a/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.cpp +++ b/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -39,13 +38,6 @@ struct daObjNameplate_c { static u8 const M_attr[32]; }; -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 80084658 */ void ChkCoHit(); -}; - struct daObj { /* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32); }; @@ -76,41 +68,10 @@ struct dEvt_control_c { /* 80042468 */ void reset(); }; -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(); - /* 80594DC8 */ ~dCcD_GStts(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80594D38 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80594D80 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80594E24 */ ~cCcD_GStts(); -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -184,10 +145,8 @@ extern "C" void cLib_distanceAngleS__Fss(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_29(); 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]; @@ -303,13 +262,17 @@ asm void daObjNameplate_c::setBaseMtx() { /* ############################################################################################## */ /* 80594EB4-80594EF4 000040 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3700 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x60, 0x7A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC2, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x1607a, 0x11}, 0x99}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, -115.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80594EB4, &ccSphSrc); /* 80594248-805942B8 000228 0070+00 1/1 0/0 0/0 .text initCcSphere__16daObjNameplate_cFv */ @@ -532,7 +495,8 @@ static asm void daObjNameplate_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_nameplate/d_a_obj_nameplate/__dt__8cM3dGSphFv.s" } @@ -542,7 +506,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/obj/d_a_obj_nameplate/d_a_obj_nameplate/__dt__8cM3dGAabFv.s" } @@ -552,7 +517,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/obj/d_a_obj_nameplate/d_a_obj_nameplate/__dt__10dCcD_GSttsFv.s" } @@ -562,7 +528,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_nameplate/d_a_obj_nameplate/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.cpp b/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.cpp index 449ead9af2..4d4a8c3158 100644 --- a/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.cpp +++ b/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -26,8 +27,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct cXyz {}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -41,38 +40,6 @@ struct dRes_control_c { 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80CA39AC */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80CA39F4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -257,11 +224,16 @@ static asm void useHeapInit(fopAc_ac_c* param_0) { /* ############################################################################################## */ /* 80CA3A78-80CA3AB8 000000 0040+00 1/1 0/0 0/0 .data cc_sph_src$3869 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80CA3AB8-80CA3AD8 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Ndoor_Method */ @@ -315,7 +287,8 @@ static asm void daObj_Ndoor_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_ndoor/d_a_obj_ndoor/__dt__8cM3dGSphFv.s" } @@ -325,7 +298,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/obj/d_a_obj_ndoor/d_a_obj_ndoor/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.cpp b/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.cpp index eb7d87706b..8ec320d9ac 100644 --- a/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.cpp +++ b/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -19,11 +20,6 @@ struct csXyz { /* 80CA546C */ ~csXyz(); }; -struct cXyz { - /* 80CA54A8 */ ~cXyz(); - /* 80CA6250 */ cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -89,40 +85,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); - /* 80CA610C */ ~dCcD_Stts(); - /* 80CA619C */ dCcD_Stts(); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 80CA5F74 */ ~dCcD_Sph(); - /* 80CA6040 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80CA61F0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -142,34 +104,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80CA60C4 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 80CA5EE4 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80CA5F2C */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80CA625C */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -178,23 +116,11 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0530 */ void init(Vec*, Vec*, u8, u8); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -299,8 +225,6 @@ extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); extern "C" void __construct_array(); extern "C" void _savegpr_20(); extern "C" void _savegpr_21(); @@ -338,13 +262,17 @@ extern "C" extern u8 data_80CA6680[4]; /* ############################################################################################## */ /* 80CA6480-80CA64C0 000000 0040+00 6/6 0/0 0/0 .rodata ccSphSrc$3655 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, - 0x00, 0x10, 0x40, 0x02, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x7F, 0x0A, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x13}, {0x104002, 0x1f}, 0x7f}}, // mObj + {dCcD_SE_STONE, 0x2, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_STONE, 0x2, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 400.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80CA6480, &ccSphSrc); /* 80CA64C0-80CA64C4 000040 0004+00 0/1 0/0 0/0 .rodata @3681 */ #pragma push @@ -392,12 +320,18 @@ SECTION_DEAD static char const* const stringBase_80CA6550 = "Octhashi"; SECTION_DATA static void* l_arcName = (void*)&d_a_obj_octhashi__stringBase0; /* 80CA6588-80CA65CC 000004 0044+00 1/1 0/0 0/0 .data ccCylSrc$3656 */ -SECTION_DATA static u8 ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x0D, 0x00, 0x10, 0x40, 0x02, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x75, - 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0xd}, {0x104002, 0x1f}, 0x75}}, // mObj + {dCcD_SE_STONE, 0x2, 0x0, 0x0, 0x1}, // mGObjAt + {dCcD_SE_STONE, 0x2, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 400.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80CA4BB8-80CA4D98 000078 01E0+00 1/1 0/0 0/0 .text initCcCylinder__15daObjOCTHASHI_cFv @@ -551,7 +485,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/obj/d_a_obj_octhashi/d_a_obj_octhashi/__dt__4cXyzFv.s" } @@ -873,7 +808,8 @@ asm void daObjOCTHASHI_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/obj/d_a_obj_octhashi/d_a_obj_octhashi/__dt__8cM3dGCylFv.s" } @@ -883,7 +819,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/obj/d_a_obj_octhashi/d_a_obj_octhashi/__dt__8cM3dGAabFv.s" } @@ -893,7 +830,8 @@ asm cM3dGAab::~cM3dGAab() { #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/obj/d_a_obj_octhashi/d_a_obj_octhashi/__dt__8dCcD_SphFv.s" } @@ -903,7 +841,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/obj/d_a_obj_octhashi/d_a_obj_octhashi/__ct__8dCcD_SphFv.s" } @@ -913,7 +852,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/obj/d_a_obj_octhashi/d_a_obj_octhashi/__dt__8cM3dGSphFv.s" } @@ -923,7 +863,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Stts::~dCcD_Stts() { +// asm dCcD_Stts::~dCcD_Stts() { +extern "C" asm void __dt__9dCcD_SttsFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi/__dt__9dCcD_SttsFv.s" } @@ -933,7 +874,8 @@ asm dCcD_Stts::~dCcD_Stts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Stts::dCcD_Stts() { +// asm dCcD_Stts::dCcD_Stts() { +extern "C" asm void __ct__9dCcD_SttsFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi/__ct__9dCcD_SttsFv.s" } @@ -943,7 +885,8 @@ asm dCcD_Stts::dCcD_Stts() { #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/obj/d_a_obj_octhashi/d_a_obj_octhashi/__dt__10dCcD_GSttsFv.s" } @@ -955,7 +898,8 @@ csXyz::csXyz() { } /* 80CA6250-80CA6254 001710 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -969,7 +913,8 @@ static bool daObjOCTHASHI_IsDelete(daObjOCTHASHI_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/obj/d_a_obj_octhashi/d_a_obj_octhashi/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.cpp b/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.cpp index 28e45d95c7..789bcfab3d 100644 --- a/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.cpp +++ b/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); @@ -51,27 +50,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80CAC264 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -106,25 +84,10 @@ struct dBgS_GndChk { /* 800775F0 */ ~dBgS_GndChk(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80CAC1D4 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80CAC21C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80CAC32C */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -147,19 +110,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -struct JAISoundID {}; - -struct Vec {}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -245,7 +195,6 @@ extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECScale(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_25(); extern "C" void _savegpr_28(); @@ -267,7 +216,6 @@ 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 sincosTable___5JMath[65536]; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -495,12 +443,18 @@ asm void daObjPDtile_c::CreateHeap() { /* ############################################################################################## */ /* 80CAC648-80CAC68C 0000AC 0044+00 1/1 0/0 0/0 .data cc_cyl_src */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x8020, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 70.0f, // mRadius + 100.0f // mHeight + } // mCyl }; /* 80CAB258-80CAB374 000618 011C+00 1/0 0/0 0/0 .text Create__13daObjPDtile_cFv */ @@ -784,7 +738,8 @@ static asm void daObjPDtile_create1st(daObjPDtile_c* param_0) { #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/obj/d_a_obj_pdtile/d_a_obj_pdtile/__dt__8cM3dGCylFv.s" } @@ -794,7 +749,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/obj/d_a_obj_pdtile/d_a_obj_pdtile/__dt__8cM3dGAabFv.s" } @@ -804,7 +760,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/obj/d_a_obj_pdtile/d_a_obj_pdtile/__dt__10dCcD_GSttsFv.s" } @@ -846,7 +803,8 @@ static asm void daObjPDtile_MoveBGDraw(daObjPDtile_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/obj/d_a_obj_pdtile/d_a_obj_pdtile/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.cpp b/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.cpp index 7842ee0ad7..5a2d3646b5 100644 --- a/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.cpp +++ b/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -77,27 +76,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80CAFAE8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -117,37 +95,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80CAFA58 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80CAFAA0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80CB08E0 */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -236,7 +187,6 @@ extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -259,7 +209,6 @@ 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 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -293,14 +242,19 @@ SECTION_RODATA static u8 const l_heap_size[8] = { COMPILER_STRIP_GATE(0x80CB09EC, &l_heap_size); /* 80CB09F4-80CB0A38 000020 0044+00 1/1 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x96, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x400000, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x8}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 75.0f, // mRadius + 500.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80CB09F4, &l_cyl_src); /* 80CB0A38-80CB0A68 000064 0030+00 2/4 0/0 0/0 .rodata l_shake_data */ SECTION_RODATA static u8 const l_shake_data[48] = { @@ -590,7 +544,8 @@ asm void daPillar_c::create1st() { #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/obj/d_a_obj_pillar/d_a_obj_pillar/__dt__8cM3dGCylFv.s" } @@ -600,7 +555,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/obj/d_a_obj_pillar/d_a_obj_pillar/__dt__8cM3dGAabFv.s" } @@ -610,7 +566,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/obj/d_a_obj_pillar/d_a_obj_pillar/__dt__10dCcD_GSttsFv.s" } @@ -901,7 +858,8 @@ static asm void daPillar_MoveBGDraw(daPillar_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/obj/d_a_obj_pillar/d_a_obj_pillar/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.cpp b/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.cpp index 7d781d74e1..7b3f1228d4 100644 --- a/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.cpp +++ b/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,13 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266F48 */ void normalizeZP(); -}; - struct mDoMtx_stack_c { /* 8000CE70 */ void scaleM(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -111,30 +105,6 @@ 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(); - /* 80CB5EBC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 80084548 */ void GetTgHitGObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -171,45 +141,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 80CB77DC */ ~cM3dGPla(); -}; - -struct cM3dGLin { - /* 80CB5D74 */ ~cM3dGLin(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80CB5DBC */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80CB5E04 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_Stts { - /* 8026395C */ void ClrCcMove(); -}; - -struct cCcD_GStts { - /* 80CB822C */ ~cCcD_GStts(); -}; - struct cBgS_LinChk {}; struct cBgS_GndChk { @@ -222,16 +161,6 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -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]; }; @@ -373,7 +302,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); @@ -382,7 +310,6 @@ extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); 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_Cyl[36]; @@ -395,7 +322,6 @@ 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 f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" u8 const m__19daNpc_Jagar_Param_c[160]; extern "C" void __register_global_object(); @@ -442,12 +368,18 @@ SECTION_DATA static void* l_resNameList[2] = { }; /* 80CB849C-80CB84E0 000030 0044+00 1/2 0/0 0/0 .data l_ccDCyl */ -SECTION_DATA static u8 l_ccDCyl[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_ccDCyl = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80CB84E0-80CB84E8 000074 0008+00 1/1 0/0 0/0 .data emttrId$5110 */ @@ -602,7 +534,8 @@ asm void daObj_Pumpkin_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin/__dt__8cM3dGLinFv.s" } @@ -612,7 +545,8 @@ asm cM3dGLin::~cM3dGLin() { #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/obj/d_a_obj_pumpkin/d_a_obj_pumpkin/__dt__8cM3dGCylFv.s" } @@ -622,7 +556,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/obj/d_a_obj_pumpkin/d_a_obj_pumpkin/__dt__8cM3dGAabFv.s" } @@ -642,7 +577,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #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/obj/d_a_obj_pumpkin/d_a_obj_pumpkin/__dt__10dCcD_GSttsFv.s" } @@ -897,7 +833,8 @@ asm void daObj_Pumpkin_c::Draw() { #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/obj/d_a_obj_pumpkin/d_a_obj_pumpkin/__dt__8cM3dGPlaFv.s" } @@ -1104,7 +1041,8 @@ static bool daObj_Pumpkin_IsDelete(void* 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/obj/d_a_obj_pumpkin/d_a_obj_pumpkin/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.cpp b/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.cpp index 9443d48db3..cea1ac34f3 100644 --- a/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.cpp +++ b/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CDD4 */ void transM(cXyz const&); @@ -105,21 +100,6 @@ struct dEvent_manager_c { /* 8004817C */ void cutEnd(int); }; -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80CBC234 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 80CBC054 */ ~dCcD_Cyl(); - /* 80CBC120 */ dCcD_Cyl(); -}; - struct dBgW_Base {}; struct dBgW { @@ -146,18 +126,6 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGCyl { - /* 80CBC1A4 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80CBC1EC */ ~cM3dGAab(); -}; - -struct cCcD_GStts { - /* 80CBC2FC */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -172,16 +140,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -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]; }; @@ -301,8 +259,6 @@ extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXInverse(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_25(); @@ -313,7 +269,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" 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 */]; @@ -366,14 +321,19 @@ COMPILER_STRIP_GATE(0x80CBC368, &l_cull_box); /* 80CBC380-80CBC3C4 000018 0044+00 0/0 0/0 0/0 .rodata l_cyl_src */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1e}, {0x20, 0x11}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 40.0f, // mRadius + 350.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80CBC380, &l_cyl_src); #pragma pop /* 80CBC3C4-80CBC3C8 00005C 0004+00 2/8 0/0 0/0 .rodata @3897 */ @@ -1039,7 +999,8 @@ static asm void daObjRgate_create1st(daObjRgate_c* 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/obj/d_a_obj_rgate/d_a_obj_rgate/__dt__8dCcD_CylFv.s" } @@ -1049,7 +1010,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_rgate/d_a_obj_rgate/__ct__8dCcD_CylFv.s" } @@ -1059,7 +1021,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/obj/d_a_obj_rgate/d_a_obj_rgate/__dt__8cM3dGCylFv.s" } @@ -1069,7 +1032,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/obj/d_a_obj_rgate/d_a_obj_rgate/__dt__8cM3dGAabFv.s" } @@ -1079,7 +1043,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/obj/d_a_obj_rgate/d_a_obj_rgate/__dt__10dCcD_GSttsFv.s" } @@ -1120,7 +1085,8 @@ static asm void daObjRgate_MoveBGDraw(daObjRgate_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/obj/d_a_obj_rgate/d_a_obj_rgate/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.cpp b/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.cpp index 6cd3a47963..a9220c602e 100644 --- a/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.cpp +++ b/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,8 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -86,25 +85,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -132,18 +112,6 @@ struct dBgS { /* 80074CBC */ void GetSpecialCode(cBgS_PolyInfo const&); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F200 */ void SetR(f32); - /* 80CBD71C */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80CBD764 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -162,18 +130,6 @@ struct Z2SoundObjBase { /* 802BDFF8 */ void deleteObject(); }; -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -375,14 +331,19 @@ asm daObjRIVERROCK_HIO_c::daObjRIVERROCK_HIO_c() { /* ############################################################################################## */ /* 80CBDA60-80CBDAA4 000004 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$3635 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x20, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, -500.0f, 0.0f}, // mCenter + 1000.0f, // mRadius + 1000.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80CBDA60, &ccCylSrc); /* 80CBC6F4-80CBC754 000114 0060+00 1/1 0/0 0/0 .text initCcCylinder__16daObjRIVERROCK_cFv */ #pragma push @@ -751,7 +712,8 @@ asm void daObjRIVERROCK_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/obj/d_a_obj_riverrock/d_a_obj_riverrock/__dt__8cM3dGCylFv.s" } @@ -761,7 +723,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/obj/d_a_obj_riverrock/d_a_obj_riverrock/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp b/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp index 831ecdd717..8f6fea1663 100644 --- a/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp +++ b/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -45,25 +46,6 @@ struct dComIfG_play_c { /* 8002CB68 */ void entrySimpleModel(J3DModel*, int); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - struct dBgS_ObjGndChk_Spl { /* 800777B0 */ dBgS_ObjGndChk_Spl(); /* 80077848 */ ~dBgS_ObjGndChk_Spl(); @@ -74,24 +56,6 @@ struct dBgS_GndChk { /* 800775F0 */ ~dBgS_GndChk(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80CBE70C */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80CBE754 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -160,7 +124,6 @@ extern "C" void MtxPull__Fv(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_23(); extern "C" void _savegpr_26(); @@ -180,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" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; // // Declarations: @@ -348,11 +310,16 @@ COMPILER_STRIP_GATE(0x80CBE7DC, &lit_4018); #pragma pop /* 80CBE7F0-80CBE830 000000 0040+00 1/1 0/0 0/0 .data cc_sph_src$3926 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80CBE138-80CBE5A4 000518 046C+00 1/0 0/0 0/0 .text daObj_Rock_Create__FP10fopAc_ac_c @@ -427,7 +394,8 @@ asm rock_ss::rock_ss() { #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/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGSphFv.s" } @@ -437,7 +405,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/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.cpp b/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.cpp index d16a6016c4..2de2655a21 100644 --- a/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.cpp +++ b/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,17 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 80596130 */ ~cXyz(); - /* 80596DE8 */ cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CDD4 */ void transM(cXyz const&); @@ -106,37 +96,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCps {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80597C64 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); - /* 80084854 */ void CalcTgVec(); - /* 80597B20 */ ~dCcD_Cps(); - /* 80597BE4 */ dCcD_Cps(); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -158,32 +117,10 @@ struct dAttLook_c { /* 80073D08 */ void request(fopAc_ac_c*, f32, f32, f32, s16, int); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80597A90 */ ~cM3dGSph(); -}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026EFA4 */ ~cM3dGCps(); - /* 8026F000 */ void Set(cXyz const&, cXyz const&, f32); -}; - -struct cM3dGAab { - /* 80597AD8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80597D2C */ ~cCcD_GStts(); -}; - struct Z2SoundObjSimple { /* 802BE844 */ Z2SoundObjSimple(); }; @@ -193,16 +130,6 @@ struct Z2SoundObjBase { /* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*); }; -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 J3DModel {}; // @@ -314,8 +241,6 @@ extern "C" void* __nwa__FUl(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void __construct_new_array(); extern "C" void __ptmf_scall(); @@ -345,7 +270,6 @@ extern "C" u8 mLineCheck__11fopAcM_lc_c[112]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 j3dSys[284]; -extern "C" extern u32 __float_nan; extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 data_805980F8[4]; @@ -504,7 +428,8 @@ asm void daObjRBridge_c::setStPos() { #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/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge/__dt__4cXyzFv.s" } @@ -720,34 +645,48 @@ SECTION_DATA static u32 l_att_ang = 0x60006000; /* 80597F18-80597F58 0000B4 0040+00 0/1 0/0 0/0 .data l_sph_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x2002, 0x11}, 0x18}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 80597F58-80597F98 0000F4 0040+00 0/1 0/0 0/0 .data l_sph_src2 */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_sph_src2[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph l_sph_src2 = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x10}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; #pragma pop /* 80597F98-80597FE4 000134 004C+00 0/1 0/0 0/0 .data l_cps_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x2002, 0x11}, 0x0}}, // mObj + {dCcD_SE_SWORD, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, 50.0f}, // mCps + } // mCpsAttr }; #pragma pop @@ -878,7 +817,8 @@ asm void daObjRBridge_c::CreateHeap() { #pragma pop /* 80596DE8-80596DEC 001028 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -1089,7 +1029,8 @@ static asm void daObjRBridge_create1st(daObjRBridge_c* param_0) { #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/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge/__dt__8cM3dGSphFv.s" } @@ -1099,7 +1040,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/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge/__dt__8cM3dGAabFv.s" } @@ -1109,7 +1051,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cps::~dCcD_Cps() { +// asm dCcD_Cps::~dCcD_Cps() { +extern "C" asm void __dt__8dCcD_CpsFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge/__dt__8dCcD_CpsFv.s" } @@ -1119,7 +1062,8 @@ asm dCcD_Cps::~dCcD_Cps() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cps::dCcD_Cps() { +// asm dCcD_Cps::dCcD_Cps() { +extern "C" asm void __ct__8dCcD_CpsFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge/__ct__8dCcD_CpsFv.s" } @@ -1129,7 +1073,8 @@ asm dCcD_Cps::dCcD_Cps() { #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/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge/__dt__10dCcD_GSttsFv.s" } @@ -1172,7 +1117,8 @@ static asm void daObjRBridge_MoveBGDraw(daObjRBridge_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/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.cpp b/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.cpp index 75eaaa4d5e..d991dd62a9 100644 --- a/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.cpp +++ b/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -24,21 +25,12 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz {}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); static u8 mGndCheck[84]; }; -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - struct daObj { /* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32); }; @@ -74,52 +66,8 @@ struct dDlst_shadowControl_c { 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&); - /* 80CC38C4 */ ~dCcD_Sph(); - /* 80CC3990 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80CC36E4 */ ~dCcD_Cyl(); - /* 80CC37B0 */ dCcD_Cyl(); -}; - struct csXyz {}; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80CC3A14 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80CC3834 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80CC387C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -128,8 +76,6 @@ struct cBgS_PolyInfo {}; struct _GXTexObj {}; -struct Vec {}; - struct Z2CreatureEnemy { /* 802C0F64 */ Z2CreatureEnemy(); /* 802C1094 */ void init(Vec*, Vec*, u8, u8); @@ -228,7 +174,6 @@ extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); 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_21(); extern "C" void _savegpr_24(); @@ -278,20 +223,31 @@ SECTION_DATA static u8 pole_z[16] = { }; /* 80CC3B74-80CC3BB4 000020 0040+00 1/1 0/0 0/0 .data cc_sph_src$3951 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80CC3BB4-80CC3BF8 000060 0044+00 1/1 0/0 0/0 .data cc_cyl_src$3952 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 200.0f, // mRadius + 250.0f // mHeight + } // mCyl }; /* 80CC3BF8-80CC3C18 -00001 0020+00 1/0 0/0 0/0 .data l_daOBJ_RW_Method */ @@ -624,7 +580,8 @@ static asm void daOBJ_RW_Create(fopAc_ac_c* 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/obj/d_a_obj_rw/d_a_obj_rw/__dt__8dCcD_CylFv.s" } @@ -634,7 +591,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_rw/d_a_obj_rw/__ct__8dCcD_CylFv.s" } @@ -644,7 +602,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/obj/d_a_obj_rw/d_a_obj_rw/__dt__8cM3dGCylFv.s" } @@ -654,7 +613,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/obj/d_a_obj_rw/d_a_obj_rw/__dt__8cM3dGAabFv.s" } @@ -664,7 +624,8 @@ asm cM3dGAab::~cM3dGAab() { #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/obj/d_a_obj_rw/d_a_obj_rw/__dt__8dCcD_SphFv.s" } @@ -674,7 +635,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/obj/d_a_obj_rw/d_a_obj_rw/__ct__8dCcD_SphFv.s" } @@ -684,7 +646,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/obj/d_a_obj_rw/d_a_obj_rw/__dt__8cM3dGSphFv.s" } diff --git a/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.cpp b/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.cpp index d9dd22f836..089afea313 100644 --- a/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.cpp +++ b/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -22,10 +23,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266B84 */ void operator*(f32) const; -}; - struct fopAcM_gc_c { /* 8001DCBC */ void gndCheck(cXyz const*); @@ -101,30 +98,6 @@ struct dEvent_manager_c { /* 80047ADC */ void endCheckOld(char const*); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80CD74B0 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084658 */ void ChkCoHit(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -150,35 +123,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 80CD6D54 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80CD7420 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80CD7468 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80CD81F8 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -187,18 +139,6 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -317,9 +257,6 @@ extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareMag(); -extern "C" void C_VECReflect(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); @@ -336,7 +273,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 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 struct_80CD8520[4]; @@ -347,14 +283,19 @@ extern "C" extern u8 struct_80CD8520[4]; /* ############################################################################################## */ /* 80CD8274-80CD82B8 000000 0044+00 5/5 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x59, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xffffffff, 0x11}, 0x59}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 20.0f, // mRadius + 40.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80CD8274, &l_cyl_src); /* 80CD82B8-80CD82BC 000044 0004+00 0/4 0/0 0/0 .rodata @3856 */ #pragma push @@ -626,7 +567,8 @@ static asm void Reflect(cXyz* param_0, cBgS_PolyInfo const& param_1, f32 param_2 #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/obj/d_a_obj_shield/d_a_obj_shield/__dt__8cM3dGPlaFv.s" } @@ -763,7 +705,8 @@ asm void daItemShield_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/obj/d_a_obj_shield/d_a_obj_shield/__dt__8cM3dGCylFv.s" } @@ -773,7 +716,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/obj/d_a_obj_shield/d_a_obj_shield/__dt__8cM3dGAabFv.s" } @@ -783,7 +727,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/obj/d_a_obj_shield/d_a_obj_shield/__dt__10dCcD_GSttsFv.s" } @@ -1076,7 +1021,8 @@ static asm void daItemShield_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/obj/d_a_obj_shield/d_a_obj_shield/__dt__10cCcD_GSttsFv.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 2b47085da3..03460ff461 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 @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,10 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz { - /* 80266B84 */ void operator*(f32) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -82,8 +79,6 @@ struct daItemBase_c { /* 801451D0 */ void getCollisionR(); }; -struct Vec {}; - struct dTres_c { /* 8009C1F0 */ void offStatus(u8, int, int); /* 8009C3CC */ void setPosition(int, u8, Vec const*, int); @@ -133,25 +128,6 @@ struct dEvent_manager_c { /* 80047ADC */ void endCheckOld(char const*); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80CDA544 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -175,35 +151,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 80CD9E3C */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80CDA4B4 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80CDA4FC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80CDB6F4 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -212,17 +167,6 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter {}; struct JPAEmitterCallBack { @@ -373,9 +317,6 @@ extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); -extern "C" void PSVECSquareMag(); -extern "C" void C_VECReflect(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); extern "C" void __cvt_fp2unsigned(); @@ -397,7 +338,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 u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 data_80CDBAB0[4]; @@ -407,14 +347,19 @@ extern "C" extern u8 data_80CDBAB0[4]; /* ############################################################################################## */ /* 80CDB7F4-80CDB838 000000 0044+00 6/6 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x59, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xffffffff, 0x11}, 0x59}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 20.0f, // mRadius + 40.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80CDB7F4, &l_cyl_src); /* 80CDB838-80CDB83C 000044 0004+00 2/7 0/0 0/0 .rodata @3875 */ SECTION_RODATA static u8 const lit_3875[4] = { @@ -718,7 +663,8 @@ static asm void Reflect(cXyz* param_0, cBgS_PolyInfo const& param_1, f32 param_2 #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/obj/d_a_obj_smallkey/d_a_obj_smallkey/__dt__8cM3dGPlaFv.s" } @@ -856,7 +802,8 @@ asm void dPa_followEcallBack::__defctor() { #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/obj/d_a_obj_smallkey/d_a_obj_smallkey/__dt__8cM3dGCylFv.s" } @@ -866,7 +813,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/obj/d_a_obj_smallkey/d_a_obj_smallkey/__dt__8cM3dGAabFv.s" } @@ -876,7 +824,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/obj/d_a_obj_smallkey/d_a_obj_smallkey/__dt__10dCcD_GSttsFv.s" } @@ -1232,7 +1181,8 @@ static asm void daKey_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/obj/d_a_obj_smallkey/d_a_obj_smallkey/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp b/rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp index c70211e66a..95e579c537 100644 --- a/rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp +++ b/rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_so/d_a_obj_so.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -32,14 +33,6 @@ struct daObj_So_HIO_c { /* 80CE3928 */ ~daObj_So_HIO_c(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80CE0C54 */ ~cXyz(); - /* 80CE3924 */ cXyz(); -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -86,29 +79,6 @@ struct dPa_control_c { struct dCcU_AtInfo {}; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80CE36D0 */ ~dCcD_Cyl(); - /* 80CE379C */ dCcD_Cyl(); -}; - struct dCamera_c { /* 801614D0 */ void Stop(); /* 8016300C */ void SetTrimSize(s32); @@ -155,19 +125,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80CE3820 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80CE3868 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -193,22 +150,12 @@ struct Z2SeqMgr { /* 802B4164 */ void setBattleBgmOff(bool); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - struct Z2Creature { /* 802C03C8 */ Z2Creature(); /* 802C0530 */ void init(Vec*, Vec*, u8, u8); /* 802C06F4 */ void stopAnime(); }; -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JMath { static u8 sincosTable_[65536]; }; @@ -347,8 +294,6 @@ extern "C" void __dl__FPv(); 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_14(); extern "C" void _savegpr_18(); @@ -375,7 +320,6 @@ 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" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); @@ -402,12 +346,18 @@ SECTION_DATA static u8 e_id[6 + 2 /* padding */] = { }; /* 80CE3B78-80CE3BBC 000008 0044+00 1/1 0/0 0/0 .data cc_cyl_src$5220 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFA, 0xFD, 0x3F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fafd3f, 0x1f}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 10.0f, // mRadius + 120.0f // mHeight + } // mCyl }; /* 80CE3BBC-80CE3BDC -00001 0020+00 1/0 0/0 0/0 .data l_daObj_So_Method */ @@ -737,7 +687,8 @@ static asm void part_set(obj_so_class* param_0, s8 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/obj/d_a_obj_so/d_a_obj_so/__dt__4cXyzFv.s" } @@ -1349,7 +1300,8 @@ static asm void daObj_So_Create(fopAc_ac_c* 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/obj/d_a_obj_so/d_a_obj_so/__dt__8dCcD_CylFv.s" } @@ -1359,7 +1311,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_so/d_a_obj_so/__ct__8dCcD_CylFv.s" } @@ -1369,7 +1322,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/obj/d_a_obj_so/d_a_obj_so/__dt__8cM3dGCylFv.s" } @@ -1379,7 +1333,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/obj/d_a_obj_so/d_a_obj_so/__dt__8cM3dGAabFv.s" } @@ -1401,7 +1356,8 @@ csXyz::csXyz() { } /* 80CE3924-80CE3928 003644 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } diff --git a/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.cpp b/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.cpp index 3de34d7535..2a06a7916b 100644 --- a/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.cpp +++ b/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -76,39 +75,6 @@ struct dEvLib_callback_c { /* 80CF811C */ bool eventEnd(); }; -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&); - /* 80CF7DD4 */ dCcD_Sph(); - /* 80CF7E58 */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80CF7FB4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); - /* 8008457C */ void GetTgHitObjSe(); - /* 800845B0 */ void getHitSeID(u8, int); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -128,30 +94,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80CF7F24 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80CF7D8C */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80CF7F6C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80CF807C */ ~cCcD_GStts(); -}; - struct Z2SoundObjSimple { /* 802BE844 */ Z2SoundObjSimple(); }; @@ -162,18 +108,6 @@ struct Z2SoundObjBase { /* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JUTNameTab { /* 802DEAF8 */ void getName(u16) const; }; @@ -331,24 +265,32 @@ asm void daObjSwLight_c::setBaseMtx() { /* ############################################################################################## */ /* 80CF83A0-80CF83E0 000000 0040+00 4/4 0/0 0/0 .rodata l_sph_src_at */ -SECTION_RODATA static u8 const l_sph_src_at[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +const static dCcD_SrcSph l_sph_src_at = { + { + {0x0, {{AT_TYPE_LANTERN_SWING, 0x0, 0x11}, {0x0, 0x0}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x4, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 100.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80CF83A0, &l_sph_src_at); /* 80CF83E0-80CF8420 000040 0040+00 0/1 0/0 0/0 .rodata l_sph_src_tg */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_sph_src_tg[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xB4, 0x00, 0x00, +const static dCcD_SrcSph l_sph_src_tg = { + { + {0x0, {{0x0, 0x0, 0x10}, {0x202, 0x11}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x4, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 90.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80CF83E0, &l_sph_src_tg); #pragma pop /* 80CF8420-80CF8424 000080 0004+00 2/6 0/0 0/0 .rodata @3701 */ @@ -402,12 +344,18 @@ SECTION_DATA static u8 l_cull_box[24] = { }; /* 80CF84A4-80CF84E8 00003C 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1E, 0xD8, 0xFA, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x07, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xB4, 0x00, 0x00, 0x43, 0x2A, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1e}, {0xd8fafdff, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x7, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 90.0f, // mRadius + 170.0f // mHeight + } // mCyl }; /* 80CF7038-80CF71F0 000118 01B8+00 1/0 0/0 0/0 .text Create__14daObjSwLight_cFv */ @@ -787,7 +735,8 @@ static asm void daObjSwLight_create1st(daObjSwLight_c* param_0) { #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/obj/d_a_obj_swLight/d_a_obj_swLight/__dt__8cM3dGCylFv.s" } @@ -797,7 +746,8 @@ asm cM3dGCyl::~cM3dGCyl() { #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/obj/d_a_obj_swLight/d_a_obj_swLight/__ct__8dCcD_SphFv.s" } @@ -807,7 +757,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/obj/d_a_obj_swLight/d_a_obj_swLight/__dt__8dCcD_SphFv.s" } @@ -817,7 +768,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/obj/d_a_obj_swLight/d_a_obj_swLight/__dt__8cM3dGSphFv.s" } @@ -827,7 +779,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/obj/d_a_obj_swLight/d_a_obj_swLight/__dt__8cM3dGAabFv.s" } @@ -837,7 +790,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/obj/d_a_obj_swLight/d_a_obj_swLight/__dt__10dCcD_GSttsFv.s" } @@ -880,7 +834,8 @@ static asm void daObjSwLight_MoveBGDraw(daObjSwLight_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/obj/d_a_obj_swLight/d_a_obj_swLight/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.cpp b/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.cpp index 25220ab829..64717cce5b 100644 --- a/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.cpp +++ b/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,16 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 80267128 */ void atan2sX_Z() const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -100,25 +91,6 @@ struct dMdl_c { /* 8009C668 */ void entryObj(dMdl_obj_c*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084658 */ void ChkCoHit(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -147,40 +119,15 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80CF8E40 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80CF8E88 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_Stts { - /* 8026395C */ void ClrCcMove(); -}; - struct cBgS { /* 80074618 */ void GetActorPointer(int) const; /* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&); }; -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]; }; @@ -284,9 +231,6 @@ extern "C" void* __nwa__FUl(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_new_array(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); @@ -298,7 +242,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); 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]; @@ -313,7 +256,6 @@ extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; 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 u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -391,19 +333,29 @@ SECTION_DEAD static char const* const stringBase_80CFB790 = "P_Chain"; SECTION_DATA static void* l_arcName = (void*)&d_a_obj_swchain__stringBase0; /* 80CFB79C-80CFB7DC 000004 0040+00 1/1 0/0 0/0 .data l_sph_src */ -SECTION_DATA static u8 l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcSph l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4000, 0x11}, 0x58}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; /* 80CFB7DC-80CFB81C 000044 0040+00 1/1 0/0 0/0 .data l_sph_srcCo */ -SECTION_DATA static u8 l_sph_srcCo[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcSph l_sph_srcCo = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x10}, 0x49}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 50.0f} // mSph + } // mSphAttr }; /* 80CF8768-80CF89C0 000128 0258+00 1/1 0/0 0/0 .text Create__14daObjSwChain_cFv */ @@ -522,7 +474,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/obj/d_a_obj_swchain/d_a_obj_swchain/__dt__8cM3dGSphFv.s" } @@ -532,7 +485,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/obj/d_a_obj_swchain/d_a_obj_swchain/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.cpp b/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.cpp index 13d28d60e0..72de0b9e93 100644 --- a/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.cpp +++ b/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.cpp @@ -260,22 +260,32 @@ SECTION_DATA static u8 l_hang_offset[60] = { /* 80CFD33C-80CFD37C 000084 0040+00 0/1 0/0 0/0 .data l_sph_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, +static dCcD_SrcSph l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x10}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 80.0f} // mSph + } // mSphAttr }; #pragma pop /* 80CFD37C-80CFD3BC 0000C4 0040+00 0/1 0/0 0/0 .data l_sph_src2 */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_sph_src2[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, +static dCcD_SrcSph l_sph_src2 = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4000, 0x11}, 0x18}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 80.0f} // mSph + } // mSphAttr }; #pragma pop diff --git a/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.cpp b/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.cpp index a53d3a5251..b3de89019c 100644 --- a/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.cpp +++ b/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -45,53 +46,11 @@ struct dComIfG_play_c { /* 8002CB68 */ void entrySimpleModel(J3DModel*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_GndChk { /* 8007757C */ dBgS_GndChk(); /* 800775F0 */ ~dBgS_GndChk(); }; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80D08528 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D08570 */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -169,7 +128,6 @@ extern "C" void MtxPull__Fv(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); extern "C" void _savegpr_23(); extern "C" void _savegpr_25(); @@ -190,7 +148,6 @@ 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; // // Declarations: @@ -404,12 +361,18 @@ COMPILER_STRIP_GATE(0x80D08618, &lit_4076); #pragma pop /* 80D08628-80D0866C 000000 0044+00 1/1 0/0 0/0 .data cc_cyl_src$3986 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 35.0f, // mRadius + 120.0f // mHeight + } // mCyl }; /* 80D07FD8-80D083C0 000678 03E8+00 1/0 0/0 0/0 .text daObj_Tatigi_Create__FP10fopAc_ac_c @@ -484,7 +447,8 @@ asm tg_ss::tg_ss() { #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/obj/d_a_obj_tatigi/d_a_obj_tatigi/__dt__8cM3dGCylFv.s" } @@ -494,7 +458,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/obj/d_a_obj_tatigi/d_a_obj_tatigi/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.cpp b/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.cpp index 63378a2822..b77d976c8b 100644 --- a/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.cpp +++ b/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -167,27 +162,6 @@ struct dDlst_peekZ_c { /* 80056018 */ void newData(s16, s16, u32*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -219,22 +193,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80D0B7B0 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80D08FC0 */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80D0B7F8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -388,7 +346,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -408,7 +365,6 @@ 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" f32 mGroundY__11fopAcM_gc_c; extern "C" void __register_global_object(); @@ -518,13 +474,17 @@ SECTION_RODATA static u16 const l_ten_itemno[1 + 1 /* padding */] = { COMPILER_STRIP_GATE(0x80D0B8F4, &l_ten_itemno); /* 80D0B8F8-80D0B938 000008 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3779 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80D0B8F8, &ccSphSrc); /* 80D087F4-80D08860 000114 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjTEN_cFv */ #pragma push @@ -699,7 +659,8 @@ asm void daObjTEN_c::WallCheck() { #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/obj/d_a_obj_ten/d_a_obj_ten/__dt__8cM3dGPlaFv.s" } @@ -1120,7 +1081,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/obj/d_a_obj_ten/d_a_obj_ten/__dt__8cM3dGSphFv.s" } @@ -1130,7 +1092,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/obj/d_a_obj_ten/d_a_obj_ten/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.cpp b/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.cpp index e394d48210..08ac171fa1 100644 --- a/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.cpp +++ b/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -17,11 +18,6 @@ struct csXyz { /* 80D0CE60 */ csXyz(); }; -struct cXyz { - /* 80D0C2DC */ ~cXyz(); - /* 80D0CE64 */ cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -61,30 +57,6 @@ struct dRes_control_c { /* 8003C6B8 */ void getObjectResName2Index(char const*, char const*); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_Sph { - /* 80D0CC58 */ ~dCcD_Sph(); - /* 80D0CD24 */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW { /* 8007B970 */ dBgW(); }; @@ -123,19 +95,6 @@ struct dBgS_Acch { /* 800760A0 */ dBgS_Acch(); }; -struct cM3dGSph { - /* 80D0CDA8 */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80D0CBC8 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D0CC10 */ ~cM3dGAab(); -}; - struct cBgD_t {}; struct cBgW { @@ -309,14 +268,19 @@ COMPILER_STRIP_GATE(0x80D0D1DC, &lit_3697); #pragma pop /* 80D0D1E4-80D0D228 000058 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$3701 */ -SECTION_RODATA static u8 const ccCylSrc_3701[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x75, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xDC, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc_3701 = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x75}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 110.0f, // mRadius + 130.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80D0D1E4, &ccCylSrc_3701); /* 80D0C238-80D0C298 000078 0060+00 1/1 0/0 0/0 .text initCcCylinder__13daObjTHASHI_cFv */ @@ -354,7 +318,8 @@ static asm void daObjTHASHI_Delete(daObjTHASHI_c* param_0) { #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/obj/d_a_obj_thashi/d_a_obj_thashi/__dt__4cXyzFv.s" } @@ -778,7 +743,8 @@ asm void daObjTHASHI_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/obj/d_a_obj_thashi/d_a_obj_thashi/__dt__8cM3dGCylFv.s" } @@ -788,7 +754,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/obj/d_a_obj_thashi/d_a_obj_thashi/__dt__8cM3dGAabFv.s" } @@ -798,7 +765,8 @@ asm cM3dGAab::~cM3dGAab() { #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/obj/d_a_obj_thashi/d_a_obj_thashi/__dt__8dCcD_SphFv.s" } @@ -808,7 +776,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/obj/d_a_obj_thashi/d_a_obj_thashi/__ct__8dCcD_SphFv.s" } @@ -818,7 +787,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/obj/d_a_obj_thashi/d_a_obj_thashi/__dt__8cM3dGSphFv.s" } @@ -840,7 +810,8 @@ csXyz::csXyz() { } /* 80D0CE64-80D0CE68 000CA4 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } diff --git a/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.cpp b/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.cpp index 57d065eb8b..c5259a7ccd 100644 --- a/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.cpp +++ b/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,12 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -90,28 +85,6 @@ struct dEvent_manager_c { /* 8004817C */ void cutEnd(int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80D0E4C4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80D0E2E4 */ ~dCcD_Cyl(); - /* 80D0E3B0 */ dCcD_Cyl(); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -137,25 +110,10 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80D0E434 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D0E47C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80D0E58C */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -164,17 +122,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -396,12 +343,18 @@ SECTION_DATA static void* l_staffName = (void*)(((char*)&d_a_obj_thdoor__stringB /* 80D0E684-80D0E6C8 00002C 0044+00 0/1 0/0 0/0 .data l_cyl_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x16, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x10}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 37.5f, // mRadius + 250.0f // mHeight + } // mCyl }; #pragma pop @@ -753,7 +706,8 @@ static asm void daObjThDoor_create1st(daObjThDoor_c* 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/obj/d_a_obj_thdoor/d_a_obj_thdoor/__dt__8dCcD_CylFv.s" } @@ -763,7 +717,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_thdoor/d_a_obj_thdoor/__ct__8dCcD_CylFv.s" } @@ -773,7 +728,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/obj/d_a_obj_thdoor/d_a_obj_thdoor/__dt__8cM3dGCylFv.s" } @@ -783,7 +739,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/obj/d_a_obj_thdoor/d_a_obj_thdoor/__dt__8cM3dGAabFv.s" } @@ -793,7 +750,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/obj/d_a_obj_thdoor/d_a_obj_thdoor/__dt__10dCcD_GSttsFv.s" } @@ -835,7 +793,8 @@ static asm void daObjThDoor_MoveBGDraw(daObjThDoor_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/obj/d_a_obj_thdoor/d_a_obj_thdoor/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.cpp b/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.cpp index 0ecc2a8bda..5999c57bfe 100644 --- a/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.cpp +++ b/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,12 +15,6 @@ 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&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -163,27 +158,6 @@ struct dDlst_peekZ_c { /* 80056018 */ void newData(s16, s16, u32*); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -229,22 +203,6 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80D1B580 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80D1A8BC */ ~cM3dGPla(); -}; - -struct cM3dGAab { - /* 80D1B5C8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -405,8 +363,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); @@ -426,7 +382,6 @@ 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" extern u32 __float_nan; extern "C" void __register_global_object(); // @@ -555,13 +510,17 @@ SECTION_RODATA static u16 const l_tom_itemno[1 + 1 /* padding */] = { COMPILER_STRIP_GATE(0x80D1B6E0, &l_tom_itemno); /* 80D1B6E4-80D1B724 00000C 0040+00 1/1 0/0 0/0 .rodata ccSphSrc$3780 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80D1B6E4, &ccSphSrc); /* 80D19200-80D1926C 000120 006C+00 1/1 0/0 0/0 .text InitCcSph__12daObjTOMBO_cFv */ #pragma push @@ -1040,7 +999,8 @@ asm void daObjTOMBO_c::BoomChk() { #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/obj/d_a_obj_tombo/d_a_obj_tombo/__dt__8cM3dGPlaFv.s" } @@ -1226,7 +1186,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #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/obj/d_a_obj_tombo/d_a_obj_tombo/__dt__8cM3dGSphFv.s" } @@ -1236,7 +1197,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/obj/d_a_obj_tombo/d_a_obj_tombo/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.cpp b/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.cpp index 2dd80f11a1..22b21d30b8 100644 --- a/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.cpp +++ b/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,13 +13,6 @@ struct csXyz {}; -struct cXyz { - /* 80266EF4 */ void normalize(); - /* 802670AC */ void isZero() const; - - static f32 Zero[3]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -48,53 +42,10 @@ struct dSv_info_c { /* 80035360 */ void isSwitch(int, int) const; }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCps {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); -}; - -struct cM3dGCpsS {}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026F03C */ void Set(cM3dGCpsS const&); -}; - -struct cM3dGAab { - /* 80D1C0A8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct WIND_INFLUENCE {}; // @@ -148,8 +99,6 @@ extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareDistance(); extern "C" void __cvt_fp2unsigned(); extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; @@ -162,7 +111,6 @@ 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" f32 Zero__4cXyz[3]; -extern "C" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -358,12 +306,16 @@ COMPILER_STRIP_GATE(0x80D1C3A0, &lit_3762); #pragma pop /* 80D1C3B4-80D1C400 000000 004C+00 1/1 0/0 0/0 .data l_cps_src */ -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x45, 0x3B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{AT_TYPE_LANTERN_SWING, 0x0, 0x11}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x3, 0x2}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 3000.0f, 0.0f}, 300.0f}, // mCps + } // mCpsAttr }; /* 80D1BE6C-80D1BFB0 00054C 0144+00 1/1 0/0 0/0 .text Create__11daObjTrnd_cFv */ @@ -420,7 +372,8 @@ asm void daObjTrnd_c::create() { #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/obj/d_a_obj_tornado/d_a_obj_tornado/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.cpp b/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.cpp index c6b10e1667..eda762cbd9 100644 --- a/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.cpp +++ b/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,13 +13,6 @@ struct csXyz {}; -struct cXyz { - /* 80266EF4 */ void normalize(); - /* 802670AC */ void isZero() const; - - static f32 Zero[3]; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -64,37 +58,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCps {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); -}; - -struct cM3dGCpsS {}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026F03C */ void Set(cM3dGCpsS const&); -}; - -struct cM3dGAab { - /* 80D1CD78 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -158,8 +121,6 @@ extern "C" void cLib_chaseF__FPfff(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_26(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -177,7 +138,6 @@ 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" f32 Zero__4cXyz[3]; -extern "C" extern u32 __float_nan; // // Declarations: @@ -458,12 +418,16 @@ COMPILER_STRIP_GATE(0x80D1D448, &lit_3820); #pragma pop /* 80D1D458-80D1D4A4 000000 004C+00 1/1 0/0 0/0 .data l_cps_src */ -SECTION_DATA static u8 l_cps_src[76] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x45, 0x3B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, +static dCcD_SrcCps l_cps_src = { + { + {0x0, {{AT_TYPE_LANTERN_SWING, 0x0, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x3, 0x2}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, {0.0f, 3000.0f, 0.0f}, 150.0f}, // mCps + } // mCpsAttr }; /* 80D1C98C-80D1CC80 00052C 02F4+00 1/1 0/0 0/0 .text Create__12daObjTrnd2_cFv */ @@ -520,7 +484,8 @@ asm void daObjTrnd2_c::create() { #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/obj/d_a_obj_tornado2/d_a_obj_tornado2/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.cpp b/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.cpp index 20ffa423f4..085ab3727b 100644 --- a/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.cpp +++ b/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -45,8 +46,6 @@ struct mDoExt_McaMorfCallBack2_c {}; struct mDoExt_McaMorfCallBack1_c {}; -struct Vec {}; - struct J3DAnmTransform {}; struct J3DModelData { @@ -67,10 +66,6 @@ struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - struct dVibration_c { /* 8006FA24 */ void StartShock(int, int, cXyz); }; @@ -106,25 +101,6 @@ struct dPa_control_c { cXyz const*, f32); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80D1ED80 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base {}; struct dBgW { @@ -136,25 +112,10 @@ struct dBgS { /* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80D1ECF0 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D1ED38 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80D1EDDC */ ~cCcD_GStts(); -}; - struct cBgD_t {}; struct cBgW { @@ -167,17 +128,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DTexMtxInfo { /* 80325794 */ void setEffectMtx(f32 (*)[4]); }; @@ -278,7 +228,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void C_MTXLightPerspective(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_19(); extern "C" void _savegpr_22(); extern "C" void _savegpr_25(); @@ -302,7 +251,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; 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" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -472,12 +420,18 @@ SECTION_DATA static u8 eff_brk[8] = { #pragma pop /* 80D1EF08-80D1EF4C 000068 0044+00 1/1 0/0 0/0 .data cc_cyl_src$4468 */ -SECTION_DATA static u8 cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFA, 0xFD, 0xBF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x43, 0xB4, 0x00, 0x00, +static dCcD_SrcCyl cc_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fafdbf, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 360.0f // mHeight + } // mCyl }; /* 80D1EF4C-80D1EF6C -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Tp_Method */ @@ -718,7 +672,8 @@ static asm void daObj_Tp_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_tp/d_a_obj_tp/__dt__8cM3dGCylFv.s" } @@ -728,7 +683,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/obj/d_a_obj_tp/d_a_obj_tp/__dt__8cM3dGAabFv.s" } @@ -738,7 +694,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/obj/d_a_obj_tp/d_a_obj_tp/__dt__10dCcD_GSttsFv.s" } @@ -748,7 +705,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/obj/d_a_obj_tp/d_a_obj_tp/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.cpp b/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.cpp index b166f178cc..82f0bf92ca 100644 --- a/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.cpp +++ b/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -26,8 +27,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct cXyz {}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -43,24 +42,6 @@ struct dComIfG_play_c { /* 8002C97C */ void getLayerNo(int); }; -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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - struct dBgW_Base {}; struct dBgW { @@ -74,14 +55,6 @@ struct dBgS { struct csXyz {}; -struct cM3dGSph { - /* 80D20D48 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80D20D90 */ ~cM3dGAab(); -}; - struct cBgD_t {}; struct cBgW { @@ -94,18 +67,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -struct JAISoundID {}; - -struct Vec {}; - -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]; }; @@ -328,11 +289,16 @@ COMPILER_STRIP_GATE(0x80D20E0C, &lit_3831); #pragma pop /* 80D20E2C-80D20E6C 000010 0040+00 1/1 0/0 0/0 .data cc_sph_src$3768 */ -SECTION_DATA static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x3}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80D20E6C-80D20E8C -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Udoor_Method */ @@ -386,7 +352,8 @@ static asm void daObj_Udoor_Create(fopAc_ac_c* param_0) { #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/obj/d_a_obj_udoor/d_a_obj_udoor/__dt__8cM3dGSphFv.s" } @@ -396,7 +363,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/obj/d_a_obj_udoor/d_a_obj_udoor/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.cpp b/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.cpp index 9baa438e1d..7ed816b2ee 100644 --- a/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.cpp +++ b/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,8 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CD9C */ void transM(f32, f32, f32); @@ -177,25 +176,6 @@ 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(); - /* 80D26938 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base {}; struct dBgW {}; @@ -246,29 +226,14 @@ struct dAttHint_c { /* 800738FC */ void request(fopAc_ac_c*, int); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80D268A8 */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80D268F0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80D26AE0 */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -279,30 +244,10 @@ struct cBgS { struct _GXTexObj {}; -struct JAISoundID {}; - -struct Vec {}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JUTNameTab { /* 802DEAF8 */ void getName(u16) const; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -463,7 +408,6 @@ extern "C" void getName__10JUTNameTabCFUs(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); @@ -490,7 +434,6 @@ extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 g_meter2_info[248]; extern "C" extern u8 j3dSys[284]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -636,12 +579,18 @@ SECTION_DATA static void* l_staff_name = (void*)(((char*)&d_a_obj_volcbom__strin /* 80D26C80-80D26CC4 00002C 0044+00 0/1 0/0 0/0 .data l_cyl_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x44, 0xBB, 0x80, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x1f}, {0x0, 0x10}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0xc, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 350.0f, // mRadius + 1500.0f // mHeight + } // mCyl }; #pragma pop @@ -1491,7 +1440,8 @@ static asm void daObjVolcBom_create1st(daObjVolcBom_c* param_0) { #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/obj/d_a_obj_volcbom/d_a_obj_volcbom/__dt__8cM3dGCylFv.s" } @@ -1501,7 +1451,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/obj/d_a_obj_volcbom/d_a_obj_volcbom/__dt__8cM3dGAabFv.s" } @@ -1511,7 +1462,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/obj/d_a_obj_volcbom/d_a_obj_volcbom/__dt__10dCcD_GSttsFv.s" } @@ -1574,7 +1526,8 @@ static asm void daObjVolcBom_MoveBGDraw(daObjVolcBom_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/obj/d_a_obj_volcbom/d_a_obj_volcbom/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.cpp b/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.cpp index b24a4c44bf..6483fa1c52 100644 --- a/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.cpp +++ b/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,14 +13,6 @@ struct request_of_phase_process_class {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80D2EFF8 */ ~cXyz(); - /* 80D2F6DC */ cXyz(); -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -47,55 +40,10 @@ struct dSv_info_c { /* 80035360 */ void isSwitch(int, int) const; }; -struct dCcD_Tri { - /* 80D2F770 */ ~dCcD_Tri(); - /* 80D2F850 */ dCcD_Tri(); -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBomb_c { /* 80031FF4 */ void checkWaterBomb(fopAc_ac_c*); }; -struct cM3dGTri { - /* 80D2F8E0 */ ~cM3dGTri(); -}; - -struct cM3dGPla { - /* 80D2F93C */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80D2F6E0 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D2F728 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -248,7 +196,8 @@ asm void daObjWaterFall_c::search_bomb() { #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/obj/d_a_obj_waterfall/d_a_obj_waterfall/__dt__4cXyzFv.s" } @@ -311,12 +260,18 @@ SECTION_DEAD static char const* const stringBase_80D2FD7C = "sample"; SECTION_DATA static void* l_arcName = (void*)&d_a_obj_waterfall__stringBase0; /* 80D2FD88-80D2FDCC 000004 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x84, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x2, 0x10}, 0x119}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x84}, // mGObjTg + {0x2}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80D2F39C-80D2F5A0 0007FC 0204+00 1/1 0/0 0/0 .text Create__16daObjWaterFall_cFv */ @@ -391,7 +346,8 @@ asm void daObjWaterFall_c::create() { #pragma pop /* 80D2F6DC-80D2F6E0 000B3C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -399,7 +355,8 @@ cXyz::cXyz() { #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/obj/d_a_obj_waterfall/d_a_obj_waterfall/__dt__8cM3dGCylFv.s" } @@ -409,7 +366,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/obj/d_a_obj_waterfall/d_a_obj_waterfall/__dt__8cM3dGAabFv.s" } @@ -419,7 +377,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Tri::~dCcD_Tri() { +// asm dCcD_Tri::~dCcD_Tri() { +extern "C" asm void __dt__8dCcD_TriFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall/__dt__8dCcD_TriFv.s" } @@ -429,7 +388,8 @@ asm dCcD_Tri::~dCcD_Tri() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Tri::dCcD_Tri() { +// asm dCcD_Tri::dCcD_Tri() { +extern "C" asm void __ct__8dCcD_TriFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall/__ct__8dCcD_TriFv.s" } @@ -439,7 +399,8 @@ asm dCcD_Tri::dCcD_Tri() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGTri::~cM3dGTri() { +// asm cM3dGTri::~cM3dGTri() { +extern "C" asm void __dt__8cM3dGTriFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall/__dt__8cM3dGTriFv.s" } @@ -449,7 +410,8 @@ asm cM3dGTri::~cM3dGTri() { #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/obj/d_a_obj_waterfall/d_a_obj_waterfall/__dt__8cM3dGPlaFv.s" } diff --git a/rel/d/a/obj/d_a_obj_window/d_a_obj_window.cpp b/rel/d/a/obj/d_a_obj_window/d_a_obj_window.cpp index d02f4cf5db..ef727ca47d 100644 --- a/rel/d/a/obj/d_a_obj_window/d_a_obj_window.cpp +++ b/rel/d/a/obj/d_a_obj_window/d_a_obj_window.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_window/d_a_obj_window.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -59,24 +58,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW {}; struct cBgS_PolyInfo {}; @@ -96,35 +77,10 @@ struct dBgS_MoveBgActor { /* 80078950 */ void MoveBGExecute(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F200 */ void SetR(f32); - /* 80D39128 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D39170 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct JAISoundID {}; - -struct Vec {}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -282,12 +238,18 @@ SECTION_DEAD static char const* const stringBase_80D3927C = "J_KazeD"; SECTION_DATA static void* l_arcName = (void*)&d_a_obj_window__stringBase0; /* 80D39288-80D392CC 000004 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 40.0f, // mRadius + 400.0f // mHeight + } // mCyl }; /* 80D38840-80D388F0 000160 00B0+00 1/0 0/0 0/0 .text Create__13daObjWindow_cFv */ @@ -523,7 +485,8 @@ static asm void daObjWindow_create1st(daObjWindow_c* param_0) { #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/obj/d_a_obj_window/d_a_obj_window/__dt__8cM3dGCylFv.s" } @@ -533,7 +496,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/obj/d_a_obj_window/d_a_obj_window/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.cpp b/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.cpp index 8ae2c825e9..d0217bb00b 100644 --- a/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.cpp +++ b/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,8 +13,6 @@ struct request_of_phase_process_class {}; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); @@ -50,38 +49,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 80D39798 */ dCcD_Sph(); - /* 80D3981C */ ~dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 80D398E8 */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 80D39930 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -192,24 +159,32 @@ asm void daObjWPndlm_c::setBaseMtx() { /* ############################################################################################## */ /* 80D39C88-80D39CC8 000000 0040+00 2/2 0/0 0/0 .rodata l_sph_src */ -SECTION_RODATA static u8 const l_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, +const static dCcD_SrcSph l_sph_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x0, 0xd}, {0x0, 0x10}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x1, 0x0, 0x8}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 150.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80D39C88, &l_sph_src); /* 80D39CC8-80D39D08 000040 0040+00 0/1 0/0 0/0 .rodata l_sph_src2 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const l_sph_src2[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, - 0xD8, 0xFA, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, +const static dCcD_SrcSph l_sph_src2 = { + { + {0x0, {{0x0, 0x0, 0xc}, {0xd8fafdff, 0x11}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x1, 0x0, 0x8}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 120.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x80D39CC8, &l_sph_src2); #pragma pop /* 80D39D08-80D39D10 000080 0004+04 0/1 0/0 0/0 .rodata @3672 */ @@ -313,7 +288,8 @@ asm void daObjWPndlm_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/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum/__ct__8dCcD_SphFv.s" } @@ -323,7 +299,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/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum/__dt__8dCcD_SphFv.s" } @@ -333,7 +310,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/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum/__dt__8cM3dGSphFv.s" } @@ -343,7 +321,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/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.cpp b/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.cpp index cdbc853318..b50ebb50b2 100644 --- a/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.cpp +++ b/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,10 +15,6 @@ struct request_of_phase_process_class {}; struct csXyz {}; -struct cXyz { - /* 80266B84 */ void operator*(f32) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -122,30 +119,6 @@ struct dEvent_manager_c { /* 800483C4 */ void setGoal(cXyz*); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80D3A7AC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084658 */ void ChkCoHit(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -169,35 +142,14 @@ struct dBgS_Acch { /* 80076AAC */ void CrrPos(dBgS&); }; -struct cM3dGPla { - /* 80D3A134 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80D3A71C */ ~cM3dGCyl(); -}; - struct cM3dGCir { /* 8026EF18 */ ~cM3dGCir(); }; -struct cM3dGAab { - /* 80D3A764 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80D3B538 */ ~cCcD_GStts(); -}; - struct cBgS_PolyInfo { /* 802680B0 */ ~cBgS_PolyInfo(); }; @@ -206,18 +158,6 @@ struct cBgS { /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; }; -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct JPABaseEmitter {}; struct JPAEmitterCallBack { @@ -364,8 +304,6 @@ extern "C" void __dt__18JPAEmitterCallBackFv(); extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); -extern "C" void PSVECSquareMag(); -extern "C" void C_VECReflect(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_28(); @@ -385,7 +323,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 u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" extern u8 data_80D3B8F0[4]; @@ -395,14 +332,19 @@ extern "C" extern u8 data_80D3B8F0[4]; /* ############################################################################################## */ /* 80D3B638-80D3B67C 000000 0044+00 5/5 0/0 0/0 .rodata l_cyl_src */ -SECTION_RODATA static u8 const l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x59, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xffffffff, 0x11}, 0x59}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 20.0f, // mRadius + 40.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x80D3B638, &l_cyl_src); /* 80D3B67C-80D3B680 000044 0004+00 0/3 0/0 0/0 .rodata @3857 */ #pragma push @@ -674,7 +616,8 @@ static asm void Reflect(cXyz* param_0, cBgS_PolyInfo const& param_1, f32 param_2 #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/obj/d_a_obj_wood_statue/d_a_obj_wood_statue/__dt__8cM3dGPlaFv.s" } @@ -810,7 +753,8 @@ asm void dPa_followEcallBack::__defctor() { #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/obj/d_a_obj_wood_statue/d_a_obj_wood_statue/__dt__8cM3dGCylFv.s" } @@ -820,7 +764,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/obj/d_a_obj_wood_statue/d_a_obj_wood_statue/__dt__8cM3dGAabFv.s" } @@ -830,7 +775,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/obj/d_a_obj_wood_statue/d_a_obj_wood_statue/__dt__10dCcD_GSttsFv.s" } @@ -1152,7 +1098,8 @@ static asm void daObjWStatue_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/obj/d_a_obj_wood_statue/d_a_obj_wood_statue/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.cpp b/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.cpp index 6f51a29b14..d071c0a8ed 100644 --- a/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.cpp +++ b/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -35,8 +36,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct cXyz {}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -48,24 +47,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -83,17 +64,6 @@ struct dBgS_Acch { /* 800760A0 */ dBgS_Acch(); }; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 80D3BCA0 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D3BCE8 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -212,12 +182,18 @@ SECTION_DEAD static char const* const pad_80D3BF2A = "\0"; SECTION_DATA static void* l_arcName = (void*)&d_a_obj_wsword__stringBase0; /* 80D3BF30-80D3BF74 000004 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 150.0f // mHeight + } // mCyl }; /* 80D3BA40-80D3BAB8 000140 0078+00 1/1 0/0 0/0 .text Create__13daObjWSword_cFv */ @@ -304,7 +280,8 @@ asm void daObjWSword_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/obj/d_a_obj_wsword/d_a_obj_wsword/__dt__8cM3dGCylFv.s" } @@ -314,7 +291,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/obj/d_a_obj_wsword/d_a_obj_wsword/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp b/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp index 9572a0b768..85a4f6c5c6 100644 --- a/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp +++ b/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp @@ -544,14 +544,19 @@ extern "C" asm void __dt__5csXyzFv() { /* ############################################################################################## */ /* 8059DEE0-8059DF24 000064 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$3880 */ -SECTION_RODATA static u8 const ccCylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0x48, 0x04, 0x22, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x01, 0x39, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, +const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8480422, 0x11}, 0x139}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x2}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 30.0f, // mRadius + 80.0f // mHeight + } // mCyl }; -COMPILER_STRIP_GATE(0x8059DEE0, &ccCylSrc); /* 8059D320-8059D380 0009A0 0060+00 1/1 0/0 0/0 .text initCcCylinder__15daObjYobikusa_cFv */ diff --git a/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.cpp b/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.cpp index 3002f45558..340e05c98e 100644 --- a/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.cpp +++ b/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -12,12 +13,6 @@ struct csXyz {}; -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE70 */ void scaleM(cXyz const&); @@ -125,27 +120,6 @@ 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(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084548 */ void GetTgHitGObj(); -}; - struct dBgS_PolyPassChk { /* 80078E68 */ void SetObj(); }; @@ -196,18 +170,6 @@ struct dAttCatch_c { /* 80073A08 */ void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int); }; -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 804D149C */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 804D14E4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; @@ -359,8 +321,6 @@ 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 PSVECSquareDistance(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_25(); extern "C" void _savegpr_28(); @@ -382,7 +342,6 @@ 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" extern u32 __float_nan; // // Declarations: @@ -390,13 +349,17 @@ extern "C" extern u32 __float_nan; /* ############################################################################################## */ /* 804D15F0-804D1630 000000 0040+00 11/11 0/0 0/0 .rodata ccSphSrc$3652 */ -SECTION_RODATA static u8 const ccSphSrc[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x40, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x75, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +const static dCcD_SrcSph ccSphSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x14002, 0x11}, 0x75}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -COMPILER_STRIP_GATE(0x804D15F0, &ccSphSrc); /* 804CE738-804CE7A4 000078 006C+00 1/1 0/0 0/0 .text InitCcSph__13daObjYOUSEI_cFv */ #pragma push @@ -1214,7 +1177,8 @@ asm void daObjYOUSEI_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/obj/d_a_obj_yousei/d_a_obj_yousei/__dt__8cM3dGSphFv.s" } @@ -1224,7 +1188,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/obj/d_a_obj_yousei/d_a_obj_yousei/__dt__8cM3dGAabFv.s" } diff --git a/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.cpp b/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.cpp index 089a49b5f2..8235ac4024 100644 --- a/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.cpp +++ b/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -34,12 +35,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -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*); @@ -52,27 +47,6 @@ struct dRes_control_c { /* 8003C6B8 */ void getObjectResName2Index(char const*, char const*); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80D3FFA8 */ ~dCcD_Cyl(); - /* 80D40074 */ dCcD_Cyl(); -}; - struct dBgW {}; struct dBgS_PolyPassChk { @@ -109,34 +83,10 @@ struct dBgS_Acch { /* 800760A0 */ dBgS_Acch(); }; -struct cM3dGCylS {}; - -struct cM3dGCyl { - /* 8026F114 */ void Set(cM3dGCylS const&); - /* 8026F1DC */ void SetC(cXyz const&); - /* 80D3FF18 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D3FF60 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; // @@ -369,21 +319,33 @@ static asm void doorTgHitCallBack(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fo /* ############################################################################################## */ /* 80D40310-80D40354 000000 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x11}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 35.0f, // mRadius + 400.0f // mHeight + } // mCyl }; /* 80D40354-80D40398 000044 0044+00 1/1 0/0 0/0 .data l_cyl_src2 */ -SECTION_DATA static u8 l_cyl_src2[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src2 = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 80.0f, // mRadius + 400.0f // mHeight + } // mCyl }; /* 80D3F65C-80D3F740 00029C 00E4+00 1/1 0/0 0/0 .text init_cyl__9daZdoor_cFv */ @@ -649,7 +611,8 @@ static asm void daZdoor_create1st(daZdoor_c* param_0) { #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/obj/d_a_obj_zdoor/d_a_obj_zdoor/__dt__8cM3dGCylFv.s" } @@ -659,7 +622,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/obj/d_a_obj_zdoor/d_a_obj_zdoor/__dt__8cM3dGAabFv.s" } @@ -669,7 +633,8 @@ asm cM3dGAab::~cM3dGAab() { #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/obj/d_a_obj_zdoor/d_a_obj_zdoor/__dt__8dCcD_CylFv.s" } @@ -679,7 +644,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #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/obj/d_a_obj_zdoor/d_a_obj_zdoor/__ct__8dCcD_CylFv.s" } diff --git a/rel/d/a/tag/d_a_tag_attack_item/d_a_tag_attack_item.cpp b/rel/d/a/tag/d_a_tag_attack_item/d_a_tag_attack_item.cpp index 6e6d4d3384..c70408043a 100644 --- a/rel/d/a/tag/d_a_tag_attack_item/d_a_tag_attack_item.cpp +++ b/rel/d/a/tag/d_a_tag_attack_item/d_a_tag_attack_item.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/tag/d_a_tag_attack_item/d_a_tag_attack_item.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -14,8 +15,6 @@ struct csXyz { /* 802673F4 */ csXyz(s16, s16, s16); }; -struct cXyz {}; - struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); @@ -49,49 +48,10 @@ struct dEvLib_callback_c { /* 805A30F8 */ bool eventEnd(); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 805A2BEC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 805A2B5C */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 805A2BA4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 805A3278 */ ~cCcD_GStts(); -}; - // // Forward References: // @@ -148,7 +108,6 @@ extern "C" void SetC__8cM3dGCylFRC4cXyz(); extern "C" void SetH__8cM3dGCylFf(); extern "C" void SetR__8cM3dGCylFf(); extern "C" void __dl__FPv(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_27(); extern "C" void _savegpr_29(); extern "C" void _restgpr_27(); @@ -161,7 +120,6 @@ extern "C" extern void* __vt__12cCcD_CylAttr[25]; extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_nan; // // Declarations: @@ -187,12 +145,18 @@ SECTION_RODATA static f32 const lit_3658 = 100.0f; COMPILER_STRIP_GATE(0x805A32CC, &lit_3658); /* 805A32F4-805A3338 000000 0044+00 1/1 0/0 0/0 .data l_cyl_src */ -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x1f}, {0x400020, 0x11}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 100.0f // mHeight + } // mCyl }; /* 805A2990-805A2A34 0000B0 00A4+00 1/1 0/0 0/0 .text Create__14daTagAtkItem_cFv */ @@ -295,7 +259,8 @@ asm void daTagAtkItem_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/tag/d_a_tag_attack_item/d_a_tag_attack_item/__dt__8cM3dGCylFv.s" } @@ -305,7 +270,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/tag/d_a_tag_attack_item/d_a_tag_attack_item/__dt__8cM3dGAabFv.s" } @@ -315,7 +281,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/tag/d_a_tag_attack_item/d_a_tag_attack_item/__dt__10dCcD_GSttsFv.s" } @@ -537,7 +504,8 @@ asm daTagAtkItem_c::~daTagAtkItem_c() { #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/tag/d_a_tag_attack_item/d_a_tag_attack_item/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/tag/d_a_tag_csw/d_a_tag_csw.cpp b/rel/d/a/tag/d_a_tag_csw/d_a_tag_csw.cpp index 1f50c1fdaf..c44c05ccfb 100644 --- a/rel/d/a/tag/d_a_tag_csw/d_a_tag_csw.cpp +++ b/rel/d/a/tag/d_a_tag_csw/d_a_tag_csw.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/tag/d_a_tag_csw/d_a_tag_csw.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -59,10 +60,6 @@ struct dKy_tevstr_c {}; struct J3DModelData {}; -struct cXyz { - /* 80266EF4 */ void normalize(); -}; - struct dScnKy_env_light_c { /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); @@ -74,28 +71,6 @@ struct dRes_control_c { /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 80D57764 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - struct dBgW_Base {}; struct dBgW { @@ -109,26 +84,10 @@ struct dBgS { struct csXyz {}; -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F200 */ void SetR(f32); - /* 80D576D4 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D5771C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80D58568 */ ~cCcD_GStts(); -}; - struct cBgW_BgId { /* 802681D4 */ void ChkUsed() const; }; @@ -143,19 +102,6 @@ struct cBgS { /* 80074250 */ void Release(dBgW_Base*); }; -struct JAISoundID {}; - -struct Vec {}; - -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 Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - struct J3DModel {}; struct J3DFrameCtrl { @@ -241,9 +187,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_27(); extern "C" void _savegpr_29(); @@ -261,8 +204,6 @@ 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" extern u32 __float_nan; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -300,12 +241,18 @@ SECTION_DATA static void* l_arcName = (void*)&d_a_tag_csw__stringBase0; /* 80D5864C-80D58690 000024 0044+00 0/1 0/0 0/0 .data l_cyl_src */ #pragma push #pragma force_active on -SECTION_DATA static u8 l_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, +static dCcD_SrcCyl l_cyl_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xffffffff, 0x0}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 300.0f, // mRadius + 600.0f // mHeight + } // mCyl }; #pragma pop @@ -508,7 +455,8 @@ asm void daTagCsw_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/tag/d_a_tag_csw/d_a_tag_csw/__dt__8cM3dGCylFv.s" } @@ -518,7 +466,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/tag/d_a_tag_csw/d_a_tag_csw/__dt__8cM3dGAabFv.s" } @@ -528,7 +477,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/tag/d_a_tag_csw/d_a_tag_csw/__dt__10dCcD_GSttsFv.s" } @@ -747,7 +697,8 @@ static asm void daTagCsw_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/tag/d_a_tag_csw/d_a_tag_csw/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/tag/d_a_tag_qs/d_a_tag_qs.cpp b/rel/d/a/tag/d_a_tag_qs/d_a_tag_qs.cpp index 25e6d21c0b..dd76c9bd08 100644 --- a/rel/d/a/tag/d_a_tag_qs/d_a_tag_qs.cpp +++ b/rel/d/a/tag/d_a_tag_qs/d_a_tag_qs.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/tag/d_a_tag_qs/d_a_tag_qs.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -39,55 +40,6 @@ struct dSv_info_c { /* 80035360 */ void isSwitch(int, int) const; }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80D5E110 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266EF4 */ void normalize(); -}; - -struct cM3dGCyl { - /* 80D5E16C */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D5E1B4 */ ~cM3dGAab(); -}; - -struct cCcD_GStts { - /* 80D5EC90 */ ~cCcD_GStts(); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - // // Forward References: // @@ -138,10 +90,6 @@ extern "C" void cM_atan2s__Fff(); extern "C" void cM_rndFX__Ff(); extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void __dl__FPv(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_28(); @@ -154,7 +102,6 @@ extern "C" extern void* __vt__12cCcD_CylAttr[25]; extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_nan; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -163,12 +110,18 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; /* ############################################################################################## */ /* 80D5ED44-80D5ED88 000000 0044+00 1/1 0/0 0/0 .data l_cc_cyl_src */ -SECTION_DATA static u8 l_cc_cyl_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, +static dCcD_SrcCyl l_cc_cyl_src = { + { + {0x0, {{AT_TYPE_CSTATUE_SWING, 0x0, 0x11}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x5, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 50.0f // mHeight + } // mCyl }; /* 80D5ED88-80D5EDA8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagQs_Method */ @@ -261,7 +214,8 @@ asm void daTagQs_c::create() { #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/tag/d_a_tag_qs/d_a_tag_qs/__dt__10dCcD_GSttsFv.s" } @@ -271,7 +225,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/tag/d_a_tag_qs/d_a_tag_qs/__dt__8cM3dGCylFv.s" } @@ -281,7 +236,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/tag/d_a_tag_qs/d_a_tag_qs/__dt__8cM3dGAabFv.s" } @@ -544,7 +500,8 @@ static asm void daTagQs_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/tag/d_a_tag_qs/d_a_tag_qs/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.cpp b/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.cpp index a5a9623f3b..60cbd88159 100644 --- a/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.cpp +++ b/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.h" +#include "d/cc/d_cc_d.h" #include "dol2asm.h" // @@ -17,14 +18,6 @@ struct fopAc_ac_c { struct dPath {}; -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); -}; - struct daTagSppath_c { /* 80D61C18 */ void create(); /* 80D61EC4 */ ~daTagSppath_c(); @@ -36,51 +29,10 @@ struct dSv_info_c { /* 80035360 */ void isSwitch(int, int) const; }; -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80D61DB8 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct cM3dGLin { - /* 8026F31C */ void SetStartEnd(Vec const&, Vec const&); - /* 80D62978 */ ~cM3dGLin(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 80D61E14 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D61E5C */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - struct cCcS { /* 80264BA8 */ void Set(cCcD_Obj*); }; -struct cCcD_GStts { - /* 80D62BC8 */ ~cCcD_GStts(); -}; - // // Forward References: // @@ -123,9 +75,6 @@ extern "C" void SetC__8cM3dGCylFRC4cXyz(); extern "C" void SetH__8cM3dGCylFf(); extern "C" void SetStartEnd__8cM3dGLinFRC3VecRC3Vec(); extern "C" void __dl__FPv(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void _savegpr_24(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -141,8 +90,6 @@ extern "C" extern void* __vt__12cCcD_CylAttr[25]; extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_nan; -extern "C" extern u32 __float_max; // // Declarations: @@ -164,12 +111,18 @@ SECTION_DEAD static char const* const stringBase_80D62C4C = "D_MN10A"; #pragma pop /* 80D62C54-80D62C98 000000 0044+00 1/1 0/0 0/0 .data l_cylSrc */ -SECTION_DATA static u8 l_cylSrc[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, +static dCcD_SrcCyl l_cylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x80000, 0x11}, 0x0}}, // mObj + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 30.0f, // mRadius + 100.0f // mHeight + } // mCyl }; /* 80D62C98-80D62CB8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagSppath_Method */ @@ -243,7 +196,8 @@ asm void daTagSppath_c::create() { #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/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__10dCcD_GSttsFv.s" } @@ -253,7 +207,8 @@ asm dCcD_GStts::~dCcD_GStts() { #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/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__8cM3dGCylFv.s" } @@ -263,7 +218,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/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__8cM3dGAabFv.s" } @@ -374,7 +330,8 @@ asm void daTagSppath_c::getNearPathPos(cXyz* param_0, dPath* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { +// asm cM3dGLin::~cM3dGLin() { +extern "C" asm void __dt__8cM3dGLinFv() { nofralloc #include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__8cM3dGLinFv.s" } @@ -415,7 +372,8 @@ static bool daTagSppath_Draw(daTagSppath_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/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__10cCcD_GSttsFv.s" } diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 7946946c36..5b104ec892 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -3561,7 +3561,7 @@ asm void mDoExt_removeSubFont() { /* 80014C54-80014D5C 00F594 0108+00 3/3 14/14 445/445 .text * mDoExt_J3DModel__create__FP12J3DModelDataUlUl */ -J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 modelFlag, u32 differedDlistFlag) { +J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag, u32 i_differedDlistFlag) { if (i_modelData != NULL) { J3DModel* model = new J3DModel(); @@ -3569,18 +3569,18 @@ J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 modelFlag, u32 // Update the modelFlag if the model data passed in has a shared dlist object if (i_modelData->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL) { if (i_modelData->isLocked()) { - modelFlag = J3DMdlFlag_Unk20000; - } else if (modelFlag == J3DMdlFlag_Unk20000) { - modelFlag |= J3DMdlFlag_Unk40000; + i_modelFlag = J3DMdlFlag_Unk20000; + } else if (i_modelFlag == J3DMdlFlag_Unk20000) { + i_modelFlag |= J3DMdlFlag_Unk40000; } else { - modelFlag = J3DMdlFlag_Unk80000; + i_modelFlag = J3DMdlFlag_Unk80000; } } // Set up the model - if (!model->entryModelData(i_modelData, modelFlag, 1)) { - if (modelFlag == J3DMdlFlag_Unk80000 && - model->newDifferedDisplayList(differedDlistFlag)) + if (!model->entryModelData(i_modelData, i_modelFlag, 1)) { + if (i_modelFlag == J3DMdlFlag_Unk80000 && + model->newDifferedDisplayList(i_differedDlistFlag)) { return NULL; } diff --git a/tools/ghidra/tp_class_to_cpp.py b/tools/ghidra/tp_class_to_cpp.py new file mode 100644 index 0000000000..9d2de60776 --- /dev/null +++ b/tools/ghidra/tp_class_to_cpp.py @@ -0,0 +1,70 @@ +# Dumps structure members to C format with comments and names +#@Pheenoh / Taka +#@category +#@keybinding +#@menupath +#@toolbar + +dtm = currentProgram.getDataTypeManager(); + +type_name = askString("Generate Struct Members", "Enter a data type name: ") +struct = dtm.getDataType("/" + type_name) + +size = struct.getLength() +size_str = str("{:X}".format(size)) + +offset_pad_size = len(size_str) + +check = False +start_address = "" +member_name = "" +undefined_member_name = "" + +for i in range (struct.numComponents): + data_type = str(struct.getComponent(i).getDataType().getName()) + offset = struct.getComponent(i).getOffset() + hex_offset_string = str("0x%0*X" % (offset_pad_size, offset)) + + if struct.getComponent(i).getFieldName() is not None: + member_name = str(struct.getComponent(i).getFieldName()) + else: + member_name = "field_"+hex_offset_string.lower() + + # if undefined member + if data_type == 'undefined' or check == True: + if data_type == 'undefined': + if check == False: + check = True + start_address = hex_offset_string + continue + + check = False + undefined_member_name = "field_"+start_address+"["+hex_offset_string+" - "+start_address+"]" + + if undefined_member_name != "": + undefined_member_name = "/* " +start_address+" */ u8 "+undefined_member_name+";" + print(undefined_member_name) + undefined_member_name = "" + + # turn 'byte' members into u8 + if data_type == 'byte': + data_type = 'u8' + + # turn 'pointer' members into void* + if data_type == 'pointer': + data_type = 'void*' + + if data_type == 'float': + data_type = 'f32' + + data_type = str(data_type) + + if "[" in data_type: + # move array to member name + array_start_idx = data_type.find("[") + array = data_type[array_start_idx:] + data_type = data_type[0:array_start_idx] + member_name = member_name+array + + member_string = "/* " +hex_offset_string+" */ "+str(data_type).replace(" ","")+" "+member_name+";" + print(member_string) \ No newline at end of file diff --git a/tools/setup_shape_data.py b/tools/setup_shape_data.py new file mode 100644 index 0000000000..b1f00a0269 --- /dev/null +++ b/tools/setup_shape_data.py @@ -0,0 +1,676 @@ +import struct +import click +import sys +import os +import re +import subprocess + +# Enum mappings +cCcD_ObjAtType = { + 0x00000002: "AT_TYPE_NORMAL_SWORD", + 0x00000004: "AT_TYPE_HORSE", + 0x00000008: "AT_TYPE_THROW_OBJ", + 0x00000010: "AT_TYPE_SHIELD_ATTACK", + 0x00000020: "AT_TYPE_BOMB", + 0x00000040: "AT_TYPE_40", + 0x00000080: "AT_TYPE_SLINGSHOT", + 0x00000200: "AT_TYPE_LANTERN_SWING", + 0x00000400: "AT_TYPE_CSTATUE_SWING", + 0x00000800: "AT_TYPE_800", + 0x00001000: "AT_TYPE_1000", + 0x00002000: "AT_TYPE_ARROW", + 0x00004000: "AT_TYPE_HOOKSHOT", + 0x00010000: "AT_TYPE_BOOMERANG", + 0x00040000: "AT_TYPE_40000", + 0x00080000: "AT_TYPE_SPINNER", + 0x00100000: "AT_TYPE_CSTATUE_BOSS_SWING", + 0x00200000: "AT_TYPE_HEAVY_BOOTS", + 0x00400000: "AT_TYPE_IRON_BALL", + 0x00800000: "AT_TYPE_COPY_ROD", + 0x01000000: "AT_TYPE_1000000", + 0x04000000: "AT_TYPE_MASTER_SWORD", + 0x08000000: "AT_TYPE_MIDNA_LOCK", + 0x10000000: "AT_TYPE_10000000", + 0x40000000: "AT_TYPE_WOLF_CUT_TURN", + 0x80000000: "AT_TYPE_WOLF_ATTACK", + 0xD8000000: "AT_TYPE_UNK" +} + +dCcD_hitSe = { + 0x0: "dCcD_SE_NONE", + 0x1: "dCcD_SE_SWORD", + 0x2: "dCcD_SE_SHIELD_ATTACK", + 0x3: "dCcD_SE_WOLF_KICK", + 0x4: "dCcD_SE_WOLF_BITE", + 0x5: "dCcD_SE_WOOD", + 0x6: "dCcD_SE_HAMMER", + 0x7: "dCcD_SE_ARROW_STICK", + 0x8: "dCcD_SE_HOOKSHOT_STICK", + 0x9: "dCcD_SE_METAL", + 0xA: "dCcD_SE_STONE", + 0xB: "dCcD_SE_HARD_BODY", + 0xC: "dCcD_SE_SOFT_BODY", + 0xD: "dCcD_SE_13", + 0xE: "dCcD_SE_SWORD_STAB", + 0xF: "dCcD_SE_15", + 0x10: "dCcD_SE_SWORD_RUN", + 0x11: "dCcD_SE_17", + 0x12: "dCcD_SE_THROW_OBJ", + 0x13: "dCcD_SE_SPINNER", + 0x14: "dCcD_SE_COPYROD", + 0x15: "dCcD_SE_STATUE_HAMMER", + 0x16: "dCcD_SE_PACHINKO", + 0x17: "dCcD_SE_23" +} + +def unpack_cylinder_data(data): + # Verify data length is correct + if len(data) != 68: + print("Invalid data length for cylinder: %d" % len(data)) + print("Cylinder data (dCcD_SrcCyl) should be 68 bytes long.") + return None + + # dCcD_SrcGObjInf + mFlags, = struct.unpack('>I', bytes(data[:4])) + mObjAt_mType, mObjAt_mAtp, mObjAt_mBase = struct.unpack('>lBxxxl', bytes(data[4:16])) + mObjTg_mType, mObjTg_mBase = struct.unpack('>Il', bytes(data[16:24])) + mObjCo_mBase, = struct.unpack('>l', bytes(data[24:28])) + mGObjAt_mSe, mGObjAt_mHitMark, mGObjAt_mSpl, mGObjAt_mMtrl, mGObjAt_mGFlag = struct.unpack('>4BI', bytes(data[28:36])) + mGObjTg_mSe, mGObjTg_mHitMark, mGObjTg_mSpl, mGObjTg_mMtrl, mGObjTg_mGFlag = struct.unpack('>4BI', bytes(data[36:44])) + mGObjCo_mGFlag, = struct.unpack('>I', bytes(data[44:48])) + + # Swap in enums for known values + mObjAt_mType = cCcD_ObjAtType.get(mObjAt_mType, hex(mObjAt_mType)) + mGObjAt_mSe = dCcD_hitSe.get(mGObjAt_mSe, hex(mGObjAt_mSe)) + mGObjTg_mSe = dCcD_hitSe.get(mGObjTg_mSe, hex(mGObjTg_mSe)) + + # cM3dGCylS + mCenter_x, mCenter_y, mCenter_z, mRadius, mHeight = struct.unpack('>3f2f', bytes(data[48:68])) + + return { + "mFlags": mFlags, + "mObjAt": (mObjAt_mType, mObjAt_mAtp, mObjAt_mBase), + "mObjTg": (mObjTg_mType, mObjTg_mBase), + "mObjCo": mObjCo_mBase, + "mGObjAt": (mGObjAt_mSe, mGObjAt_mHitMark, mGObjAt_mSpl, mGObjAt_mMtrl, mGObjAt_mGFlag), + "mGObjTg": (mGObjTg_mSe, mGObjTg_mHitMark, mGObjTg_mSpl, mGObjTg_mMtrl, mGObjTg_mGFlag), + "mGObjCo": mGObjCo_mGFlag, + "mCenter": (mCenter_x, mCenter_y, mCenter_z), + "mRadius": mRadius, + "mHeight": mHeight + } + +def unpack_sphere_data(data): + # Verify data length is correct + if len(data) != 64: + print("Invalid data length for sphere: %d" % len(data)) + print("Sphere data (dCcD_SrcSph) should be 64 bytes long.") + return None + + # dCcD_SrcGObjInf + mFlags, = struct.unpack('>I', bytes(data[:4])) + mObjAt_mType, mObjAt_mAtp, mObjAt_mBase = struct.unpack('>lBxxxl', bytes(data[4:16])) + mObjTg_mType, mObjTg_mBase = struct.unpack('>Il', bytes(data[16:24])) + mObjCo_mBase, = struct.unpack('>l', bytes(data[24:28])) + mGObjAt_mSe, mGObjAt_mHitMark, mGObjAt_mSpl, mGObjAt_mMtrl, mGObjAt_mGFlag = struct.unpack('>4BI', bytes(data[28:36])) + mGObjTg_mSe, mGObjTg_mHitMark, mGObjTg_mSpl, mGObjTg_mMtrl, mGObjTg_mGFlag = struct.unpack('>4BI', bytes(data[36:44])) + mGObjCo_mGFlag, = struct.unpack('>I', bytes(data[44:48])) + + # Swap in enums for known values + mObjAt_mType = cCcD_ObjAtType.get(mObjAt_mType, hex(mObjAt_mType)) + mGObjAt_mSe = dCcD_hitSe.get(mGObjAt_mSe, hex(mGObjAt_mSe)) + mGObjTg_mSe = dCcD_hitSe.get(mGObjTg_mSe, hex(mGObjTg_mSe)) + + # cM3dGSphS + mCenter_x, mCenter_y, mCenter_z, mRadius = struct.unpack('>3f1f', bytes(data[48:64])) + + return { + "mFlags": mFlags, + "mObjAt": (mObjAt_mType, mObjAt_mAtp, mObjAt_mBase), + "mObjTg": (mObjTg_mType, mObjTg_mBase), + "mObjCo": mObjCo_mBase, + "mGObjAt": (mGObjAt_mSe, mGObjAt_mHitMark, mGObjAt_mSpl, mGObjAt_mMtrl, mGObjAt_mGFlag), + "mGObjTg": (mGObjTg_mSe, mGObjTg_mHitMark, mGObjTg_mSpl, mGObjTg_mMtrl, mGObjTg_mGFlag), + "mGObjCo": mGObjCo_mGFlag, + "mCenter": (mCenter_x, mCenter_y, mCenter_z), + "mRadius": mRadius + } + +def unpack_triangle_data(data): + # Verify data length is correct + if len(data) != 84: + print("Invalid data length for triangle: %d" % len(data)) + print("Triangle data (dCcD_SrcTri) should be 84 bytes long.") + return None + + # dCcD_SrcGObjInf + mFlags, = struct.unpack('>I', bytes(data[:4])) + mObjAt_mType, mObjAt_mAtp, mObjAt_mBase = struct.unpack('>lBxxxl', bytes(data[4:16])) + mObjTg_mType, mObjTg_mBase = struct.unpack('>Il', bytes(data[16:24])) + mObjCo_mBase, = struct.unpack('>l', bytes(data[24:28])) + mGObjAt_mSe, mGObjAt_mHitMark, mGObjAt_mSpl, mGObjAt_mMtrl, mGObjAt_mGFlag = struct.unpack('>4BI', bytes(data[28:36])) + mGObjTg_mSe, mGObjTg_mHitMark, mGObjTg_mSpl, mGObjTg_mMtrl, mGObjTg_mGFlag = struct.unpack('>4BI', bytes(data[36:44])) + mGObjCo_mGFlag, = struct.unpack('>I', bytes(data[44:48])) + + # Swap in enums for known values + mObjAt_mType = cCcD_ObjAtType.get(mObjAt_mType, hex(mObjAt_mType)) + mGObjAt_mSe = dCcD_hitSe.get(mGObjAt_mSe, hex(mGObjAt_mSe)) + mGObjTg_mSe = dCcD_hitSe.get(mGObjTg_mSe, hex(mGObjTg_mSe)) + + # cM3dGTriS + a_x, a_y, a_z, b_x, b_y, b_z, c_x, c_y, c_z = struct.unpack('>3f3f3f', bytes(data[48:84])) + + return { + "mFlags": mFlags, + "mObjAt": (mObjAt_mType, mObjAt_mAtp, mObjAt_mBase), + "mObjTg": (mObjTg_mType, mObjTg_mBase), + "mObjCo": mObjCo_mBase, + "mGObjAt": (mGObjAt_mSe, mGObjAt_mHitMark, mGObjAt_mSpl, mGObjAt_mMtrl, mGObjAt_mGFlag), + "mGObjTg": (mGObjTg_mSe, mGObjTg_mHitMark, mGObjTg_mSpl, mGObjTg_mMtrl, mGObjTg_mGFlag), + "mGObjCo": mGObjCo_mGFlag, + "a": (a_x, a_y, a_z), + "b": (b_x, b_y, b_z), + "c": (c_x, c_y, c_z), + } + +def unpack_capsule_data(data): + # Verify data length is correct + if len(data) != 76: + print("Invalid data length for capsule: %d" % len(data)) + print("Capsule data (dCcD_SrcCps) should be 76 bytes long.") + return None + + # dCcD_SrcGObjInf + mFlags, = struct.unpack('>I', bytes(data[:4])) + mObjAt_mType, mObjAt_mAtp, mObjAt_mBase = struct.unpack('>lBxxxl', bytes(data[4:16])) + mObjTg_mType, mObjTg_mBase = struct.unpack('>Il', bytes(data[16:24])) + mObjCo_mBase, = struct.unpack('>l', bytes(data[24:28])) + mGObjAt_mSe, mGObjAt_mHitMark, mGObjAt_mSpl, mGObjAt_mMtrl, mGObjAt_mGFlag = struct.unpack('>4BI', bytes(data[28:36])) + mGObjTg_mSe, mGObjTg_mHitMark, mGObjTg_mSpl, mGObjTg_mMtrl, mGObjTg_mGFlag = struct.unpack('>4BI', bytes(data[36:44])) + mGObjCo_mGFlag, = struct.unpack('>I', bytes(data[44:48])) + + # Swap in enums for known values + mObjAt_mType = cCcD_ObjAtType.get(mObjAt_mType, hex(mObjAt_mType)) + mGObjAt_mSe = dCcD_hitSe.get(mGObjAt_mSe, hex(mGObjAt_mSe)) + mGObjTg_mSe = dCcD_hitSe.get(mGObjTg_mSe, hex(mGObjTg_mSe)) + + # cM3dGTriS + mStart_x, mStart_y, mStart_z, mEnd_x, mEnd_y, mEnd_z, mRadius = struct.unpack('>3f3f1f', bytes(data[48:76])) + + return { + "mFlags": mFlags, + "mObjAt": (mObjAt_mType, mObjAt_mAtp, mObjAt_mBase), + "mObjTg": (mObjTg_mType, mObjTg_mBase), + "mObjCo": mObjCo_mBase, + "mGObjAt": (mGObjAt_mSe, mGObjAt_mHitMark, mGObjAt_mSpl, mGObjAt_mMtrl, mGObjAt_mGFlag), + "mGObjTg": (mGObjTg_mSe, mGObjTg_mHitMark, mGObjTg_mSpl, mGObjTg_mMtrl, mGObjTg_mGFlag), + "mGObjCo": mGObjCo_mGFlag, + "mStart": (mStart_x, mStart_y, mStart_z), + "mEnd": (mEnd_x, mEnd_y, mEnd_z), + "mRadius": mRadius, + } + +# Fetch the byte data from the file +def fetch_shape_data(filename, variable_name): + with open(filename, 'r') as f: + lines = f.readlines() + + # Find the start and end of the data + start_index = None + end_index = None + section_rodata_present = False + section_data_present = False + + for i, line in enumerate(lines): + if variable_name in line: + start_index = i + if 'SECTION_RODATA' in line: + section_rodata_present = True + elif 'SECTION_DATA' in line: + section_data_present = True + if start_index is not None and '};' in line: + end_index = i + break + + if start_index is None or end_index is None: + print(f"{variable_name} data not found in the file.") + return None + elif not section_rodata_present and not section_data_present: + print(f"{variable_name} already setup!") + return None + + # Extract the byte data + byte_data = [] + for line in lines[start_index + 1:end_index]: + byte_values = line.strip().split(',') + for value in byte_values: + if value: + byte_data.append(int(value, 16)) + return ({ + "data": byte_data, + "section_rodata_present": section_rodata_present, + "start_index": start_index, + "end_index": end_index + }) + +# Write the unpacked data back to the file +def write_cylinder_shape_data(filename, data, variable_name, section_rodata_present, start_index, end_index): + with open(filename, 'r') as f: + lines = f.readlines() + + # Formatting the output + const_keyword = "const " if section_rodata_present else "" + formatted_output = [] + formatted_output.append(f"{const_keyword}static dCcD_SrcCyl {variable_name} = {{\n") + formatted_output.append(" {\n") + + # cCcD_SrcObj members + formatted_output.append(f" {{{hex(data['mFlags'])}, {{{{{data['mObjAt'][0]}, {hex(data['mObjAt'][1])}, {hex(data['mObjAt'][2])}}}, {{{hex(data['mObjTg'][0])}, {hex(data['mObjTg'][1])}}}, {hex(data['mObjCo'])}}}}}, // mObj\n") + # dCcD_SrcGObjAt members + formatted_output.append(f" {{{data['mGObjAt'][0]}, {hex(data['mGObjAt'][1])}, {hex(data['mGObjAt'][2])}, {hex(data['mGObjAt'][3])}, {hex(data['mGObjAt'][4])}}}, // mGObjAt\n") + # dCcD_SrcGObjTg members + formatted_output.append(f" {{{data['mGObjTg'][0]}, {hex(data['mGObjTg'][1])}, {hex(data['mGObjTg'][2])}, {hex(data['mGObjTg'][3])}, {hex(data['mGObjTg'][4])}}}, // mGObjTg\n") + # dCcD_SrcGObjCo members + formatted_output.append(f" {{{hex(data['mGObjCo'])}}}, // mGObjCo\n") + formatted_output.append(" }, // mObjInf\n") + + # cM3dGCylS members + formatted_output.append(" {\n") + formatted_output.append(f" {{{data['mCenter'][0]}f, {data['mCenter'][1]}f, {data['mCenter'][2]}f}}, // mCenter\n") + formatted_output.append(f" {data['mRadius']}f, // mRadius\n") + formatted_output.append(f" {data['mHeight']}f // mHeight\n") + formatted_output.append(" } // mCyl\n") + formatted_output.append("};\n") + + # Remove the compiler strip gate macro if it was present + if 'COMPILER_STRIP_GATE' in lines[end_index+1]: + del lines[end_index+1] + + # Replace the original section with the new formatted output + lines[start_index:end_index+1] = formatted_output + + # Write the modified lines back to the file + with open(filename, 'w') as f: + f.writelines(lines) + +# Write the unpacked data back to the file +def write_sphere_shape_data(filename, data, variable_name, section_rodata_present, start_index, end_index): + with open(filename, 'r') as f: + lines = f.readlines() + + # Formatting the output + const_keyword = "const " if section_rodata_present else "" + formatted_output = [] + formatted_output.append(f"{const_keyword}static dCcD_SrcSph {variable_name} = {{\n") + formatted_output.append(" {\n") + + # cCcD_SrcObj members + formatted_output.append(f" {{{hex(data['mFlags'])}, {{{{{data['mObjAt'][0]}, {hex(data['mObjAt'][1])}, {hex(data['mObjAt'][2])}}}, {{{hex(data['mObjTg'][0])}, {hex(data['mObjTg'][1])}}}, {hex(data['mObjCo'])}}}}}, // mObj\n") + # dCcD_SrcGObjAt members + formatted_output.append(f" {{{data['mGObjAt'][0]}, {hex(data['mGObjAt'][1])}, {hex(data['mGObjAt'][2])}, {hex(data['mGObjAt'][3])}, {hex(data['mGObjAt'][4])}}}, // mGObjAt\n") + # dCcD_SrcGObjTg members + formatted_output.append(f" {{{data['mGObjTg'][0]}, {hex(data['mGObjTg'][1])}, {hex(data['mGObjTg'][2])}, {hex(data['mGObjTg'][3])}, {hex(data['mGObjTg'][4])}}}, // mGObjTg\n") + # dCcD_SrcGObjCo members + formatted_output.append(f" {{{hex(data['mGObjCo'])}}}, // mGObjCo\n") + formatted_output.append(" }, // mObjInf\n") + + # cM3dGCylS members + formatted_output.append(" {\n") + formatted_output.append(f" {{{{{data['mCenter'][0]}f, {data['mCenter'][1]}f, {data['mCenter'][2]}f}}, {data['mRadius']}f}} // mSph\n") + formatted_output.append(" } // mSphAttr\n") + formatted_output.append("};\n") + + # Remove the compiler strip gate macro if it was present + if 'COMPILER_STRIP_GATE' in lines[end_index+1]: + del lines[end_index+1] + + # Replace the original section with the new formatted output + lines[start_index:end_index+1] = formatted_output + + # Write the modified lines back to the file + with open(filename, 'w') as f: + f.writelines(lines) + +# Write the unpacked data back to the file +def write_triangle_shape_data(filename, data, variable_name, section_rodata_present, start_index, end_index): + with open(filename, 'r') as f: + lines = f.readlines() + + # Formatting the output + const_keyword = "const " if section_rodata_present else "" + formatted_output = [] + formatted_output.append(f"{const_keyword}static dCcD_SrcTri {variable_name} = {{\n") + formatted_output.append(" {\n") + + # cCcD_SrcObj members + formatted_output.append(f" {{{hex(data['mFlags'])}, {{{{{data['mObjAt'][0]}, {hex(data['mObjAt'][1])}, {hex(data['mObjAt'][2])}}}, {{{hex(data['mObjTg'][0])}, {hex(data['mObjTg'][1])}}}, {hex(data['mObjCo'])}}}}}, // mObj\n") + # dCcD_SrcGObjAt members + formatted_output.append(f" {{{data['mGObjAt'][0]}, {hex(data['mGObjAt'][1])}, {hex(data['mGObjAt'][2])}, {hex(data['mGObjAt'][3])}, {hex(data['mGObjAt'][4])}}}, // mGObjAt\n") + # dCcD_SrcGObjTg members + formatted_output.append(f" {{{data['mGObjTg'][0]}, {hex(data['mGObjTg'][1])}, {hex(data['mGObjTg'][2])}, {hex(data['mGObjTg'][3])}, {hex(data['mGObjTg'][4])}}}, // mGObjTg\n") + # dCcD_SrcGObjCo members + formatted_output.append(f" {{{hex(data['mGObjCo'])}}}, // mGObjCo\n") + formatted_output.append(" }, // mObjInf\n") + + # cM3dGCylS members + formatted_output.append(" {\n") + formatted_output.append(f" {{{{{data['a'][0]}f, {data['a'][1]}f, {data['a'][2]}f}}, {{{data['b'][0]}f, {data['b'][1]}f, {data['b'][2]}f}}, {{{data['c'][0]}f, {data['c'][1]}f, {data['c'][2]}f}}}} // mTri\n") + formatted_output.append(" } // mTriAttr\n") + formatted_output.append("};\n") + + # Remove the compiler strip gate macro if it was present + if 'COMPILER_STRIP_GATE' in lines[end_index+1]: + del lines[end_index+1] + + # Replace the original section with the new formatted output + lines[start_index:end_index+1] = formatted_output + + # Write the modified lines back to the file + with open(filename, 'w') as f: + f.writelines(lines) + +# Write the unpacked data back to the file +def write_capsule_shape_data(filename, data, variable_name, section_rodata_present, start_index, end_index): + with open(filename, 'r') as f: + lines = f.readlines() + + # Formatting the output + const_keyword = "const " if section_rodata_present else "" + formatted_output = [] + formatted_output.append(f"{const_keyword}static dCcD_SrcCps {variable_name} = {{\n") + formatted_output.append(" {\n") + + # cCcD_SrcObj members + formatted_output.append(f" {{{hex(data['mFlags'])}, {{{{{data['mObjAt'][0]}, {hex(data['mObjAt'][1])}, {hex(data['mObjAt'][2])}}}, {{{hex(data['mObjTg'][0])}, {hex(data['mObjTg'][1])}}}, {hex(data['mObjCo'])}}}}}, // mObj\n") + # dCcD_SrcGObjAt members + formatted_output.append(f" {{{data['mGObjAt'][0]}, {hex(data['mGObjAt'][1])}, {hex(data['mGObjAt'][2])}, {hex(data['mGObjAt'][3])}, {hex(data['mGObjAt'][4])}}}, // mGObjAt\n") + # dCcD_SrcGObjTg members + formatted_output.append(f" {{{data['mGObjTg'][0]}, {hex(data['mGObjTg'][1])}, {hex(data['mGObjTg'][2])}, {hex(data['mGObjTg'][3])}, {hex(data['mGObjTg'][4])}}}, // mGObjTg\n") + # dCcD_SrcGObjCo members + formatted_output.append(f" {{{hex(data['mGObjCo'])}}}, // mGObjCo\n") + formatted_output.append(" }, // mObjInf\n") + + # cM3dGCylS members + formatted_output.append(" {\n") + formatted_output.append(f" {{{{{data['mStart'][0]}f, {data['mStart'][1]}f, {data['mStart'][2]}f}}, {{{data['mEnd'][0]}f, {data['mEnd'][1]}f, {data['mEnd'][2]}f}}, {data['mRadius']}f}}, // mCps\n") + formatted_output.append(" } // mCpsAttr\n") + formatted_output.append("};\n") + + # Remove the compiler strip gate macro if it was present + if 'COMPILER_STRIP_GATE' in lines[end_index+1]: + del lines[end_index+1] + + # Replace the original section with the new formatted output + lines[start_index:end_index+1] = formatted_output + + # Write the modified lines back to the file + with open(filename, 'w') as f: + f.writelines(lines) + +def post_process(filename): + """ + Checks if we need to include d_cc_d header file, remove structs, remove functions and/or rename ctor/dtors. + """ + with open(filename, 'r') as f: + lines = f.readlines() + + remove_structs = { + "struct Vec", + "struct cXyz", + "struct dCcD_Stts", + "struct dCcD_GStts", + "struct dCcD_GObjInf", + "struct dCcD_SrcSph" + "struct dCcD_Cyl", + "struct dCcD_Cyl", + "struct dCcD_Sph", + "struct dCcD_Cps", + "struct dCcD_Tri", + "struct dCcD_SrcSph", + "struct dCcD_SrcCyl", + "struct dCcD_SrcCps", + "struct dCcD_SrcTri", + "struct dCcD_GAtTgCoCommonBase", + "struct cCcD_Obj", + "struct cCcD_Stts", + "struct cCcD_GStts", + "struct cM3dGSph", + "struct cM3dGPla", + "struct cM3dGCyl", + "struct cM3dGCps", + "struct cM3dGAab", + "struct cM3dGLin", + "struct cM3dGTri", + "struct Z2SeMgr", + "struct JAISoundID", + "struct Z2AudioMgr", + "struct JGeometry" + } + + remove_functions = { + "void PSVECAdd();", + "void PSVECSubtract();", + "void PSVECSquareMag();", + "void PSVECScale();", + "void PSVECSquareDistance();", + "void PSVECDotProduct();", + "void PSVECCrossProduct();", + "void C_VECReflect();", + "void abs();", + "void sin();", + "void acos();", + "void tan();", + "u32 __float_nan;", + "f32 G_CM3D_F_ABS_MIN", + "u32 __float_max" + } + + extern_c_replacements = { + "asm cXyz::~cXyz()", + "asm cM3dGPla::~cM3dGPla()", + "cXyz::cXyz()", + "asm cM3dGPla::~cM3dGPla()", + "asm cM3dGCyl::~cM3dGCyl()", + "asm cM3dGSph::~cM3dGSph()", + "asm cM3dGAab::~cM3dGAab()", + "asm dCcD_Sph::~dCcD_Sph()", + "asm dCcD_Sph::dCcD_Sph()", + "asm dCcD_GStts::~dCcD_GStts()", + "asm cCcD_GStts::~cCcD_GStts()", + "asm cXyz::cXyz(cXyz const& param_0)", + "asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2)", + "asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2)", + "asm void cXyz::set(Vec const& param_0)", + "asm void cXyz::operator=(cXyz const& param_0)", + "asm void cXyz::operator+=(Vec const& param_0)", + "JAISoundID::JAISoundID(u32 param_0)", # special case, needs manual replacement + "asm dCcD_Cyl::~dCcD_Cyl()", + "asm cM3dGLin::~cM3dGLin()", + "asm dCcD_Cyl::dCcD_Cyl()", + "asm dCcD_Stts::~dCcD_Stts()", + "asm dCcD_Stts::dCcD_Stts()", + "asm dCcD_Tri::~dCcD_Tri()", + "asm dCcD_Tri::dCcD_Tri()", + "asm cM3dGTri::~cM3dGTri()", + "asm void cCcD_ObjHitInf::OnCoSetBit()", + "asm void cXyz::abs()", + "asm dCcD_Cps::~dCcD_Cps()", + "asm dCcD_Cps::dCcD_Cps()" + } + + include_line = False + i = len(lines) - 1 + + while i >= 0: + line = lines[i] + + if any(struct in line for struct in remove_structs): + print(f"Removing struct at line {i}: {line}") + include_line = True + + # Find the end of the struct data + end_index = None + brace_count = 0 + for j in range(i, len(lines)): + brace_count += lines[j].count('{') + brace_count -= lines[j].count('}') + if brace_count == 0: + end_index = j + break + + # Remove the struct data + if end_index is not None: + del lines[i:end_index+2] # rm struct and trailing newline + i = end_index + 1 # Adjust i to skip over deleted lines + + elif any(function in line for function in remove_functions): + print(f"Removing function at line {i}: {line}") + include_line = True + del lines[i] + + elif any(function in line for function in extern_c_replacements) and not line.startswith("//"): + print(f"Replacing function at line {i}: {line}") + + include_line = True + + # Grab the mangled name from 4 lines above + if "asm" in line: + symbol_line = lines[i-4] + else: + symbol_line = lines[i-1] + + match = re.search(r'(\S+)\s+\*/$', symbol_line) + if match: + symbol = match.group(1) + print("SYMBOL:", symbol) + else: + print("Symbol not found") + + # comment out original line + lines[i] = f"// {lines[i]}" + + # Add new line after with extern "C" asm void + lines.insert(i+1, f'extern "C" asm void {symbol}() {{\n') + + i -= 1 + + if include_line: + # Find the first #include line + include_index = next((i for i, line in enumerate(lines) if line.strip().startswith("#include")), None) + if include_index is not None: + # Insert the new header after the first #include line + lines.insert(include_index + 1, '#include "d/cc/d_cc_d.h"\n') + else: + # If no #include line is found, insert at the beginning (or handle as you see fit) + lines.insert(0, '#include "d/cc/d_cc_d.h"\n') + + # Write the modified lines back to the file + with open(filename, 'w') as f: + f.writelines(lines) + +def search_files(shape, size): + ignore_files = [''] + directories = ['rel', 'src'] + pattern = re.compile(f'(SECTION_DATA|SECTION_RODATA).*static\s+u8\s+(const\s+)?(\w*{shape}\w*)\[{size}\]', re.I) + + file_matches = [] + for directory in directories: + for root, dirs, files in os.walk(directory): + for file in files: + if file.endswith('.cpp') and file not in ignore_files: + filepath = os.path.join(root, file) + with open(filepath, 'r') as f: + contents = f.read() + matches = pattern.findall(contents) + if matches: + for match in matches: + # Extract the desired part of the match and append it to the file_matches list + variable_name = match[2] + file_matches.append((filepath, variable_name)) + + return file_matches + +def run_make_command(): + command = "make all rels -j$(nproc) WINE=~/git/c/wibo/build/wibo" + result = subprocess.run(command, shell=True) + if result.returncode != 0: + print("Failed to run make command") + sys.exit(1) + +@click.command() +@click.option('--shape', required=True, help='Shape to unpack. Should be on of: triangle, sphere, cylinder or capsule.') +def process_file(shape): + filenames = [] + + match shape.lower(): + case "cylinder": + filenames = search_files("cyl", 68) + + for filename in filenames: + cylinder_data = None + f_name = filename[0] + variable_name = filename[1] + data = fetch_shape_data(f_name, variable_name) + if data is not None: + cylinder_data = unpack_cylinder_data(data["data"]) + + if cylinder_data is not None: + print("Updating", f_name) + write_cylinder_shape_data(f_name, cylinder_data, variable_name, data["section_rodata_present"], data["start_index"], data["end_index"]) + post_process(f_name) + run_make_command() + case "sphere": + filenames = search_files("sph", 64) + + for filename in filenames: + sphere_data = None + f_name = filename[0] + variable_name = filename[1] + data = fetch_shape_data(f_name, variable_name) + if data is not None: + sphere_data = unpack_sphere_data(data["data"]) + + if sphere_data is not None: + print("Updating", f_name) + write_sphere_shape_data(f_name, sphere_data, variable_name, data["section_rodata_present"], data["start_index"], data["end_index"]) + post_process(f_name) + run_make_command() + case "triangle": + filenames = search_files("tri", 84) + + for filename in filenames: + triangle_data = None + f_name = filename[0] + variable_name = filename[1] + data = fetch_shape_data(f_name, variable_name) + if data is not None: + triangle_data = unpack_triangle_data(data["data"]) + + if triangle_data is not None: + print("Updating", f_name) + write_triangle_shape_data(f_name, triangle_data, variable_name, data["section_rodata_present"], data["start_index"], data["end_index"]) + post_process(f_name) + run_make_command() + case "capsule": + filenames = search_files("cps", 76) + + for filename in filenames: + capsule_data = None + f_name = filename[0] + variable_name = filename[1] + data = fetch_shape_data(f_name, variable_name) + if data is not None: + capsule_data = unpack_capsule_data(data["data"]) + + if capsule_data is not None: + print("Updating", f_name) + write_capsule_shape_data(f_name, capsule_data, variable_name, data["section_rodata_present"], data["start_index"], data["end_index"]) + post_process(f_name) + run_make_command() + case _: + raise ValueError(f"Unknown shape: {shape}") + + + +if __name__ == '__main__': + process_file()