From 672990a0b04b752c55ed0349141c096d0261a3d7 Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Thu, 15 Feb 2024 23:51:12 -0800 Subject: [PATCH] e_arrow OK (#2072) * e_arrow done * remove asm --- Progress.md | 8 +- .../d_a_e_arrow/__dt__10cCcD_GSttsFv.s | 20 - .../d_a_e_arrow/__dt__10dCcD_GSttsFv.s | 26 - .../d_a_e_arrow/__dt__14dBgS_ObjGndChkFv.s | 32 - .../e/d_a_e_arrow/d_a_e_arrow/__dt__4cXyzFv.s | 17 - .../d_a_e_arrow/__dt__8cM3dGAabFv.s | 20 - .../d_a_e_arrow/__dt__8cM3dGSphFv.s | 20 - .../d_a_e_arrow/action__FP13e_arrow_class.s | 167 -- ...dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s | 31 - .../daE_ARROW_Create__FP10fopAc_ac_c.s | 201 -- .../daE_ARROW_Delete__FP13e_arrow_class.s | 28 - .../daE_ARROW_Draw__FP13e_arrow_class.s | 48 - .../daE_ARROW_Execute__FP13e_arrow_class.s | 155 -- .../e_arrow_bg__FP13e_arrow_class.s | 78 - .../e_arrow_demo_bound__FP13e_arrow_class.s | 135 -- .../e_arrow_demo_fire__FP13e_arrow_class.s | 266 --- .../e_arrow_shield__FP13e_arrow_class.s | 66 - .../e_arrow_shot__FP13e_arrow_class.s | 135 -- .../e_arrow_spin__FP13e_arrow_class.s | 58 - .../fire_eff_set__FP13e_arrow_class.s | 209 -- .../e/d_a_e_arrow/d_a_e_arrow/func_8067E858.s | 3 - .../e/d_a_e_arrow/d_a_e_arrow/func_8067E860.s | 3 - .../e/d_a_e_arrow/d_a_e_arrow/func_8067E868.s | 3 - .../hit_check__FP13e_arrow_class.s | 435 ---- .../d_a_e_arrow/s_limit_sub__FPvPv.s | 39 - .../d_a_e_arrow/useHeapInit__FP10fopAc_ac_c.s | 50 - include/d/a/d_a_player.h | 2 + include/d/d_bomb.h | 12 +- include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h | 50 +- rel/d/a/e/d_a_e_arrow/d_a_e_arrow.cpp | 1761 +++++++---------- 30 files changed, 791 insertions(+), 3287 deletions(-) delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__10cCcD_GSttsFv.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__10dCcD_GSttsFv.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__14dBgS_ObjGndChkFv.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__4cXyzFv.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__8cM3dGAabFv.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__8cM3dGSphFv.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/action__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/atHit_CB__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Delete__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Draw__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Execute__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_bg__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_bound__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_fire__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shield__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shot__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_spin__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/fire_eff_set__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E858.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E860.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E868.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/hit_check__FP13e_arrow_class.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/s_limit_sub__FPvPv.s delete mode 100644 asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/useHeapInit__FP10fopAc_ac_c.s diff --git a/Progress.md b/Progress.md index 5bd5023fd22..f13c80b79cf 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 52.078459% | 2093904 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 52.078459% | 2093904 | 4020672 -RELs | 35.988169% | 4138756 | 11500324 -Total | 40.156315% | 6232660 | 15520996 +RELs | 36.060758% | 4147104 | 11500324 +Total | 40.210100% | 6241008 | 15520996 ## RELs @@ -85,7 +85,7 @@ d_a_door_shutter | 37.465797% | 14240 | 38008 d_a_door_spiral | 100.000000% | 504 | 504 d_a_dshutter | 94.779772% | 4648 | 4904 d_a_e_ai | 28.308171% | 5100 | 18016 -d_a_e_arrow | 35.306882% | 4556 | 12904 +d_a_e_arrow | 100.000000% | 12904 | 12904 d_a_e_ba | 28.140394% | 5484 | 19488 d_a_e_bee | 30.316629% | 4864 | 16044 d_a_e_bg | 27.665091% | 7256 | 26228 @@ -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 | 35.988169% | 4138756 | 11500324 +Total | 36.060758% | 4147104 | 11500324 diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__10cCcD_GSttsFv.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__10cCcD_GSttsFv.s deleted file mode 100644 index 24c781aa18d..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__10cCcD_GSttsFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8067E810: -/* 8067E810 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067E814 7C 08 02 A6 */ mflr r0 -/* 8067E818 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067E81C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067E820 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8067E824 41 82 00 1C */ beq lbl_8067E840 -/* 8067E828 3C A0 80 68 */ lis r5, __vt__10cCcD_GStts@ha /* 0x8067EAB0@ha */ -/* 8067E82C 38 05 EA B0 */ addi r0, r5, __vt__10cCcD_GStts@l /* 0x8067EAB0@l */ -/* 8067E830 90 1F 00 00 */ stw r0, 0(r31) -/* 8067E834 7C 80 07 35 */ extsh. r0, r4 -/* 8067E838 40 81 00 08 */ ble lbl_8067E840 -/* 8067E83C 4B C5 05 01 */ bl __dl__FPv -lbl_8067E840: -/* 8067E840 7F E3 FB 78 */ mr r3, r31 -/* 8067E844 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067E848 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067E84C 7C 08 03 A6 */ mtlr r0 -/* 8067E850 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067E854 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__10dCcD_GSttsFv.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__10dCcD_GSttsFv.s deleted file mode 100644 index ad5127424fb..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__10dCcD_GSttsFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8067E7B4: -/* 8067E7B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067E7B8 7C 08 02 A6 */ mflr r0 -/* 8067E7BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067E7C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067E7C4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8067E7C8 41 82 00 30 */ beq lbl_8067E7F8 -/* 8067E7CC 3C 60 80 68 */ lis r3, __vt__10dCcD_GStts@ha /* 0x8067EABC@ha */ -/* 8067E7D0 38 03 EA BC */ addi r0, r3, __vt__10dCcD_GStts@l /* 0x8067EABC@l */ -/* 8067E7D4 90 1F 00 00 */ stw r0, 0(r31) -/* 8067E7D8 41 82 00 10 */ beq lbl_8067E7E8 -/* 8067E7DC 3C 60 80 68 */ lis r3, __vt__10cCcD_GStts@ha /* 0x8067EAB0@ha */ -/* 8067E7E0 38 03 EA B0 */ addi r0, r3, __vt__10cCcD_GStts@l /* 0x8067EAB0@l */ -/* 8067E7E4 90 1F 00 00 */ stw r0, 0(r31) -lbl_8067E7E8: -/* 8067E7E8 7C 80 07 35 */ extsh. r0, r4 -/* 8067E7EC 40 81 00 0C */ ble lbl_8067E7F8 -/* 8067E7F0 7F E3 FB 78 */ mr r3, r31 -/* 8067E7F4 4B C5 05 49 */ bl __dl__FPv -lbl_8067E7F8: -/* 8067E7F8 7F E3 FB 78 */ mr r3, r31 -/* 8067E7FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067E800 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067E804 7C 08 03 A6 */ mtlr r0 -/* 8067E808 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067E80C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__14dBgS_ObjGndChkFv.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__14dBgS_ObjGndChkFv.s deleted file mode 100644 index 4086409db4c..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__14dBgS_ObjGndChkFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8067DA70: -/* 8067DA70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067DA74 7C 08 02 A6 */ mflr r0 -/* 8067DA78 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067DA7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067DA80 93 C1 00 08 */ stw r30, 8(r1) -/* 8067DA84 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8067DA88 7C 9F 23 78 */ mr r31, r4 -/* 8067DA8C 41 82 00 40 */ beq lbl_8067DACC -/* 8067DA90 3C 80 80 68 */ lis r4, __vt__14dBgS_ObjGndChk@ha /* 0x8067EAE0@ha */ -/* 8067DA94 38 84 EA E0 */ addi r4, r4, __vt__14dBgS_ObjGndChk@l /* 0x8067EAE0@l */ -/* 8067DA98 90 9E 00 10 */ stw r4, 0x10(r30) -/* 8067DA9C 38 04 00 0C */ addi r0, r4, 0xc -/* 8067DAA0 90 1E 00 20 */ stw r0, 0x20(r30) -/* 8067DAA4 38 04 00 18 */ addi r0, r4, 0x18 -/* 8067DAA8 90 1E 00 3C */ stw r0, 0x3c(r30) -/* 8067DAAC 38 04 00 24 */ addi r0, r4, 0x24 -/* 8067DAB0 90 1E 00 4C */ stw r0, 0x4c(r30) -/* 8067DAB4 38 80 00 00 */ li r4, 0 -/* 8067DAB8 4B 9F 9B 39 */ bl __dt__11dBgS_GndChkFv -/* 8067DABC 7F E0 07 35 */ extsh. r0, r31 -/* 8067DAC0 40 81 00 0C */ ble lbl_8067DACC -/* 8067DAC4 7F C3 F3 78 */ mr r3, r30 -/* 8067DAC8 4B C5 12 75 */ bl __dl__FPv -lbl_8067DACC: -/* 8067DACC 7F C3 F3 78 */ mr r3, r30 -/* 8067DAD0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067DAD4 83 C1 00 08 */ lwz r30, 8(r1) -/* 8067DAD8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067DADC 7C 08 03 A6 */ mtlr r0 -/* 8067DAE0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067DAE4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__4cXyzFv.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__4cXyzFv.s deleted file mode 100644 index 3ac3cc477af..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__4cXyzFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8067CB68: -/* 8067CB68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067CB6C 7C 08 02 A6 */ mflr r0 -/* 8067CB70 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067CB74 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067CB78 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8067CB7C 41 82 00 10 */ beq lbl_8067CB8C -/* 8067CB80 7C 80 07 35 */ extsh. r0, r4 -/* 8067CB84 40 81 00 08 */ ble lbl_8067CB8C -/* 8067CB88 4B C5 21 B5 */ bl __dl__FPv -lbl_8067CB8C: -/* 8067CB8C 7F E3 FB 78 */ mr r3, r31 -/* 8067CB90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067CB94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067CB98 7C 08 03 A6 */ mtlr r0 -/* 8067CB9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067CBA0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__8cM3dGAabFv.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__8cM3dGAabFv.s deleted file mode 100644 index aec7f12e94b..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__8cM3dGAabFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8067E76C: -/* 8067E76C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067E770 7C 08 02 A6 */ mflr r0 -/* 8067E774 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067E778 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067E77C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8067E780 41 82 00 1C */ beq lbl_8067E79C -/* 8067E784 3C A0 80 68 */ lis r5, __vt__8cM3dGAab@ha /* 0x8067EAD4@ha */ -/* 8067E788 38 05 EA D4 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x8067EAD4@l */ -/* 8067E78C 90 1F 00 18 */ stw r0, 0x18(r31) -/* 8067E790 7C 80 07 35 */ extsh. r0, r4 -/* 8067E794 40 81 00 08 */ ble lbl_8067E79C -/* 8067E798 4B C5 05 A5 */ bl __dl__FPv -lbl_8067E79C: -/* 8067E79C 7F E3 FB 78 */ mr r3, r31 -/* 8067E7A0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067E7A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067E7A8 7C 08 03 A6 */ mtlr r0 -/* 8067E7AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067E7B0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__8cM3dGSphFv.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__8cM3dGSphFv.s deleted file mode 100644 index 71607f3e0f2..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__8cM3dGSphFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8067E724: -/* 8067E724 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067E728 7C 08 02 A6 */ mflr r0 -/* 8067E72C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067E730 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067E734 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8067E738 41 82 00 1C */ beq lbl_8067E754 -/* 8067E73C 3C A0 80 68 */ lis r5, __vt__8cM3dGSph@ha /* 0x8067EAC8@ha */ -/* 8067E740 38 05 EA C8 */ addi r0, r5, __vt__8cM3dGSph@l /* 0x8067EAC8@l */ -/* 8067E744 90 1F 00 10 */ stw r0, 0x10(r31) -/* 8067E748 7C 80 07 35 */ extsh. r0, r4 -/* 8067E74C 40 81 00 08 */ ble lbl_8067E754 -/* 8067E750 4B C5 05 ED */ bl __dl__FPv -lbl_8067E754: -/* 8067E754 7F E3 FB 78 */ mr r3, r31 -/* 8067E758 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067E75C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067E760 7C 08 03 A6 */ mtlr r0 -/* 8067E764 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067E768 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/action__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/action__FP13e_arrow_class.s deleted file mode 100644 index 516fb13d6b1..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/action__FP13e_arrow_class.s +++ /dev/null @@ -1,167 +0,0 @@ -lbl_8067DE54: -/* 8067DE54 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8067DE58 7C 08 02 A6 */ mflr r0 -/* 8067DE5C 90 01 00 44 */ stw r0, 0x44(r1) -/* 8067DE60 39 61 00 40 */ addi r11, r1, 0x40 -/* 8067DE64 4B CE 43 79 */ bl _savegpr_29 -/* 8067DE68 7C 7E 1B 78 */ mr r30, r3 -/* 8067DE6C 3C 80 80 68 */ lis r4, lit_3983@ha /* 0x8067E880@ha */ -/* 8067DE70 3B E4 E8 80 */ addi r31, r4, lit_3983@l /* 0x8067E880@l */ -/* 8067DE74 3B A0 00 00 */ li r29, 0 -/* 8067DE78 A8 03 05 C2 */ lha r0, 0x5c2(r3) -/* 8067DE7C 2C 00 00 03 */ cmpwi r0, 3 -/* 8067DE80 41 82 01 20 */ beq lbl_8067DFA0 -/* 8067DE84 40 80 00 1C */ bge lbl_8067DEA0 -/* 8067DE88 2C 00 00 01 */ cmpwi r0, 1 -/* 8067DE8C 41 82 00 C4 */ beq lbl_8067DF50 -/* 8067DE90 40 80 01 04 */ bge lbl_8067DF94 -/* 8067DE94 2C 00 00 00 */ cmpwi r0, 0 -/* 8067DE98 40 80 00 18 */ bge lbl_8067DEB0 -/* 8067DE9C 48 00 01 20 */ b lbl_8067DFBC -lbl_8067DEA0: -/* 8067DEA0 2C 00 00 05 */ cmpwi r0, 5 -/* 8067DEA4 41 82 01 10 */ beq lbl_8067DFB4 -/* 8067DEA8 40 80 01 14 */ bge lbl_8067DFBC -/* 8067DEAC 48 00 01 00 */ b lbl_8067DFAC -lbl_8067DEB0: -/* 8067DEB0 4B FF F3 6D */ bl e_arrow_shot__FP13e_arrow_class -/* 8067DEB4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067DEB8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067DEBC 38 63 5B 6C */ addi r3, r3, 0x5b6c -/* 8067DEC0 7F C4 F3 78 */ mr r4, r30 -/* 8067DEC4 C0 3F 00 D0 */ lfs f1, 0xd0(r31) -/* 8067DEC8 C0 5F 00 84 */ lfs f2, 0x84(r31) -/* 8067DECC C0 7F 00 D4 */ lfs f3, 0xd4(r31) -/* 8067DED0 38 A0 60 00 */ li r5, 0x6000 -/* 8067DED4 38 C0 00 01 */ li r6, 1 -/* 8067DED8 4B 9F 5E 31 */ bl request__10dAttLook_cFP10fopAc_ac_cfffsi -/* 8067DEDC 7F C3 F3 78 */ mr r3, r30 -/* 8067DEE0 4B FF EC C5 */ bl hit_check__FP13e_arrow_class -/* 8067DEE4 88 1E 05 B8 */ lbz r0, 0x5b8(r30) -/* 8067DEE8 28 00 00 01 */ cmplwi r0, 1 -/* 8067DEEC 40 82 00 34 */ bne lbl_8067DF20 -/* 8067DEF0 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080008@ha */ -/* 8067DEF4 38 03 00 08 */ addi r0, r3, 0x0008 /* 0x00080008@l */ -/* 8067DEF8 90 01 00 18 */ stw r0, 0x18(r1) -/* 8067DEFC 38 7E 0A 18 */ addi r3, r30, 0xa18 -/* 8067DF00 38 81 00 18 */ addi r4, r1, 0x18 -/* 8067DF04 38 A0 00 00 */ li r5, 0 -/* 8067DF08 38 C0 FF FF */ li r6, -1 -/* 8067DF0C 81 9E 0A 28 */ lwz r12, 0xa28(r30) -/* 8067DF10 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8067DF14 7D 89 03 A6 */ mtctr r12 -/* 8067DF18 4E 80 04 21 */ bctrl -/* 8067DF1C 48 00 00 A0 */ b lbl_8067DFBC -lbl_8067DF20: -/* 8067DF20 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080004@ha */ -/* 8067DF24 38 03 00 04 */ addi r0, r3, 0x0004 /* 0x00080004@l */ -/* 8067DF28 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067DF2C 38 7E 0A 18 */ addi r3, r30, 0xa18 -/* 8067DF30 38 81 00 14 */ addi r4, r1, 0x14 -/* 8067DF34 38 A0 00 00 */ li r5, 0 -/* 8067DF38 38 C0 FF FF */ li r6, -1 -/* 8067DF3C 81 9E 0A 28 */ lwz r12, 0xa28(r30) -/* 8067DF40 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8067DF44 7D 89 03 A6 */ mtctr r12 -/* 8067DF48 4E 80 04 21 */ bctrl -/* 8067DF4C 48 00 00 70 */ b lbl_8067DFBC -lbl_8067DF50: -/* 8067DF50 4B FF F4 BD */ bl e_arrow_bg__FP13e_arrow_class -/* 8067DF54 88 1E 05 B8 */ lbz r0, 0x5b8(r30) -/* 8067DF58 28 00 00 01 */ cmplwi r0, 1 -/* 8067DF5C 40 82 00 30 */ bne lbl_8067DF8C -/* 8067DF60 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080006@ha */ -/* 8067DF64 38 03 00 06 */ addi r0, r3, 0x0006 /* 0x00080006@l */ -/* 8067DF68 90 01 00 10 */ stw r0, 0x10(r1) -/* 8067DF6C 38 7E 0A 18 */ addi r3, r30, 0xa18 -/* 8067DF70 38 81 00 10 */ addi r4, r1, 0x10 -/* 8067DF74 38 A0 00 00 */ li r5, 0 -/* 8067DF78 38 C0 FF FF */ li r6, -1 -/* 8067DF7C 81 9E 0A 28 */ lwz r12, 0xa28(r30) -/* 8067DF80 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8067DF84 7D 89 03 A6 */ mtctr r12 -/* 8067DF88 4E 80 04 21 */ bctrl -lbl_8067DF8C: -/* 8067DF8C 3B A0 00 01 */ li r29, 1 -/* 8067DF90 48 00 00 2C */ b lbl_8067DFBC -lbl_8067DF94: -/* 8067DF94 4B FF F5 9D */ bl e_arrow_spin__FP13e_arrow_class -/* 8067DF98 3B A0 00 01 */ li r29, 1 -/* 8067DF9C 48 00 00 20 */ b lbl_8067DFBC -lbl_8067DFA0: -/* 8067DFA0 4B FF FB BD */ bl e_arrow_shield__FP13e_arrow_class -/* 8067DFA4 3B A0 00 01 */ li r29, 1 -/* 8067DFA8 48 00 00 14 */ b lbl_8067DFBC -lbl_8067DFAC: -/* 8067DFAC 4B FF F6 E1 */ bl e_arrow_demo_fire__FP13e_arrow_class -/* 8067DFB0 48 00 00 0C */ b lbl_8067DFBC -lbl_8067DFB4: -/* 8067DFB4 4B FF FC A5 */ bl e_arrow_demo_bound__FP13e_arrow_class -/* 8067DFB8 48 00 00 EC */ b lbl_8067E0A4 -lbl_8067DFBC: -/* 8067DFBC 7F A0 07 75 */ extsb. r0, r29 -/* 8067DFC0 41 82 00 44 */ beq lbl_8067E004 -/* 8067DFC4 88 1E 05 B8 */ lbz r0, 0x5b8(r30) -/* 8067DFC8 28 00 00 02 */ cmplwi r0, 2 -/* 8067DFCC 40 82 00 38 */ bne lbl_8067E004 -/* 8067DFD0 38 00 00 00 */ li r0, 0 -/* 8067DFD4 90 01 00 08 */ stw r0, 8(r1) -/* 8067DFD8 38 60 02 21 */ li r3, 0x221 -/* 8067DFDC 38 80 00 00 */ li r4, 0 -/* 8067DFE0 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 8067DFE4 38 C0 FF FF */ li r6, -1 -/* 8067DFE8 38 E0 00 00 */ li r7, 0 -/* 8067DFEC 39 00 00 00 */ li r8, 0 -/* 8067DFF0 39 20 FF FF */ li r9, -1 -/* 8067DFF4 39 40 00 00 */ li r10, 0 -/* 8067DFF8 4B 99 BE 0D */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8067DFFC 7F C3 F3 78 */ mr r3, r30 -/* 8067E000 4B 99 BC 7D */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_8067E004: -/* 8067E004 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */ -/* 8067E008 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */ -/* 8067E00C 80 63 00 00 */ lwz r3, 0(r3) -/* 8067E010 A8 9E 04 DE */ lha r4, 0x4de(r30) -/* 8067E014 4B 98 E3 C9 */ bl mDoMtx_YrotS__FPA4_fs -/* 8067E018 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */ -/* 8067E01C 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */ -/* 8067E020 80 63 00 00 */ lwz r3, 0(r3) -/* 8067E024 A8 9E 04 DC */ lha r4, 0x4dc(r30) -/* 8067E028 4B 98 E3 75 */ bl mDoMtx_XrotM__FPA4_fs -/* 8067E02C C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 8067E030 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8067E034 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8067E038 C0 1E 05 2C */ lfs f0, 0x52c(r30) -/* 8067E03C D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8067E040 38 61 00 1C */ addi r3, r1, 0x1c -/* 8067E044 38 9E 04 F8 */ addi r4, r30, 0x4f8 -/* 8067E048 4B BF 2E A5 */ bl MtxPosition__FP4cXyzP4cXyz -/* 8067E04C C0 5E 04 D0 */ lfs f2, 0x4d0(r30) -/* 8067E050 C0 3E 04 F8 */ lfs f1, 0x4f8(r30) -/* 8067E054 C0 1E 05 D0 */ lfs f0, 0x5d0(r30) -/* 8067E058 EC 01 00 2A */ fadds f0, f1, f0 -/* 8067E05C EC 02 00 2A */ fadds f0, f2, f0 -/* 8067E060 D0 1E 04 D0 */ stfs f0, 0x4d0(r30) -/* 8067E064 C0 3E 04 D4 */ lfs f1, 0x4d4(r30) -/* 8067E068 C0 1E 04 FC */ lfs f0, 0x4fc(r30) -/* 8067E06C EC 01 00 2A */ fadds f0, f1, f0 -/* 8067E070 D0 1E 04 D4 */ stfs f0, 0x4d4(r30) -/* 8067E074 C0 5E 04 D8 */ lfs f2, 0x4d8(r30) -/* 8067E078 C0 3E 05 00 */ lfs f1, 0x500(r30) -/* 8067E07C C0 1E 05 D4 */ lfs f0, 0x5d4(r30) -/* 8067E080 EC 01 00 2A */ fadds f0, f1, f0 -/* 8067E084 EC 02 00 2A */ fadds f0, f2, f0 -/* 8067E088 D0 1E 04 D8 */ stfs f0, 0x4d8(r30) -/* 8067E08C C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 8067E090 D0 1E 05 38 */ stfs f0, 0x538(r30) -/* 8067E094 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 8067E098 D0 1E 05 3C */ stfs f0, 0x53c(r30) -/* 8067E09C C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 8067E0A0 D0 1E 05 40 */ stfs f0, 0x540(r30) -lbl_8067E0A4: -/* 8067E0A4 39 61 00 40 */ addi r11, r1, 0x40 -/* 8067E0A8 4B CE 41 81 */ bl _restgpr_29 -/* 8067E0AC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8067E0B0 7C 08 03 A6 */ mtlr r0 -/* 8067E0B4 38 21 00 40 */ addi r1, r1, 0x40 -/* 8067E0B8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/atHit_CB__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/atHit_CB__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s deleted file mode 100644 index b49326ef4be..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/atHit_CB__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_8067DAE8: -/* 8067DAE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067DAEC 7C 08 02 A6 */ mflr r0 -/* 8067DAF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067DAF4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067DAF8 93 C1 00 08 */ stw r30, 8(r1) -/* 8067DAFC 7C 7E 1B 78 */ mr r30, r3 -/* 8067DB00 28 05 00 00 */ cmplwi r5, 0 -/* 8067DB04 41 82 00 40 */ beq lbl_8067DB44 -/* 8067DB08 A8 05 00 08 */ lha r0, 8(r5) -/* 8067DB0C 2C 00 00 FD */ cmpwi r0, 0xfd -/* 8067DB10 40 82 00 34 */ bne lbl_8067DB44 -/* 8067DB14 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067DB18 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067DB1C 80 7F 5D B4 */ lwz r3, 0x5db4(r31) -/* 8067DB20 4B A5 EF 0D */ bl checkWoodShieldEquipNotIronBall__9daAlink_cCFv -/* 8067DB24 2C 03 00 00 */ cmpwi r3, 0 -/* 8067DB28 41 82 00 1C */ beq lbl_8067DB44 -/* 8067DB2C 80 7F 5D B4 */ lwz r3, 0x5db4(r31) -/* 8067DB30 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 8067DB34 38 BE 04 E4 */ addi r5, r30, 0x4e4 -/* 8067DB38 38 DE 09 D4 */ addi r6, r30, 0x9d4 -/* 8067DB3C 38 FE 09 C8 */ addi r7, r30, 0x9c8 -/* 8067DB40 4B A5 EF 41 */ bl getArrowShieldOffset__9daAlink_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz -lbl_8067DB44: -/* 8067DB44 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067DB48 83 C1 00 08 */ lwz r30, 8(r1) -/* 8067DB4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067DB50 7C 08 03 A6 */ mtlr r0 -/* 8067DB54 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067DB58 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Create__FP10fopAc_ac_c.s deleted file mode 100644 index d1666e10d1f..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,201 +0,0 @@ -lbl_8067E428: -/* 8067E428 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8067E42C 7C 08 02 A6 */ mflr r0 -/* 8067E430 90 01 00 34 */ stw r0, 0x34(r1) -/* 8067E434 39 61 00 30 */ addi r11, r1, 0x30 -/* 8067E438 4B CE 3D 95 */ bl _savegpr_25 -/* 8067E43C 7C 7B 1B 78 */ mr r27, r3 -/* 8067E440 3C 80 80 68 */ lis r4, cNullVec__6Z2Calc@ha /* 0x8067E978@ha */ -/* 8067E444 3B E4 E9 78 */ addi r31, r4, cNullVec__6Z2Calc@l /* 0x8067E978@l */ -/* 8067E448 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 8067E44C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8067E450 40 82 01 58 */ bne lbl_8067E5A8 -/* 8067E454 7F 60 DB 79 */ or. r0, r27, r27 -/* 8067E458 41 82 01 44 */ beq lbl_8067E59C -/* 8067E45C 7C 1A 03 78 */ mr r26, r0 -/* 8067E460 4B 99 A7 05 */ bl __ct__10fopAc_ac_cFv -/* 8067E464 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */ -/* 8067E468 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */ -/* 8067E46C 90 1A 05 FC */ stw r0, 0x5fc(r26) -/* 8067E470 38 7A 06 00 */ addi r3, r26, 0x600 -/* 8067E474 4B A0 52 ED */ bl __ct__10dCcD_GSttsFv -/* 8067E478 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */ -/* 8067E47C 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */ -/* 8067E480 90 7A 05 FC */ stw r3, 0x5fc(r26) -/* 8067E484 38 03 00 20 */ addi r0, r3, 0x20 -/* 8067E488 90 1A 06 00 */ stw r0, 0x600(r26) -/* 8067E48C 3B 3A 06 20 */ addi r25, r26, 0x620 -/* 8067E490 7F 23 CB 78 */ mr r3, r25 -/* 8067E494 4B A0 55 95 */ bl __ct__12dCcD_GObjInfFv -/* 8067E498 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */ -/* 8067E49C 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */ -/* 8067E4A0 90 19 01 20 */ stw r0, 0x120(r25) -/* 8067E4A4 3C 60 80 68 */ lis r3, __vt__8cM3dGAab@ha /* 0x8067EAD4@ha */ -/* 8067E4A8 38 03 EA D4 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x8067EAD4@l */ -/* 8067E4AC 90 19 01 1C */ stw r0, 0x11c(r25) -/* 8067E4B0 3C 60 80 68 */ lis r3, __vt__8cM3dGSph@ha /* 0x8067EAC8@ha */ -/* 8067E4B4 38 03 EA C8 */ addi r0, r3, __vt__8cM3dGSph@l /* 0x8067EAC8@l */ -/* 8067E4B8 90 19 01 34 */ stw r0, 0x134(r25) -/* 8067E4BC 3C 60 80 3C */ lis r3, __vt__12cCcD_SphAttr@ha /* 0x803C3540@ha */ -/* 8067E4C0 38 63 35 40 */ addi r3, r3, __vt__12cCcD_SphAttr@l /* 0x803C3540@l */ -/* 8067E4C4 90 79 01 20 */ stw r3, 0x120(r25) -/* 8067E4C8 3B C3 00 58 */ addi r30, r3, 0x58 -/* 8067E4CC 93 D9 01 34 */ stw r30, 0x134(r25) -/* 8067E4D0 3C 60 80 3B */ lis r3, __vt__8dCcD_Sph@ha /* 0x803ABFC0@ha */ -/* 8067E4D4 38 63 BF C0 */ addi r3, r3, __vt__8dCcD_Sph@l /* 0x803ABFC0@l */ -/* 8067E4D8 90 79 00 3C */ stw r3, 0x3c(r25) -/* 8067E4DC 3B A3 00 2C */ addi r29, r3, 0x2c -/* 8067E4E0 93 B9 01 20 */ stw r29, 0x120(r25) -/* 8067E4E4 3B 83 00 84 */ addi r28, r3, 0x84 -/* 8067E4E8 93 99 01 34 */ stw r28, 0x134(r25) -/* 8067E4EC 3B 3A 07 58 */ addi r25, r26, 0x758 -/* 8067E4F0 7F 23 CB 78 */ mr r3, r25 -/* 8067E4F4 4B A0 55 35 */ bl __ct__12dCcD_GObjInfFv -/* 8067E4F8 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */ -/* 8067E4FC 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */ -/* 8067E500 90 19 01 20 */ stw r0, 0x120(r25) -/* 8067E504 3C 60 80 68 */ lis r3, __vt__8cM3dGAab@ha /* 0x8067EAD4@ha */ -/* 8067E508 38 03 EA D4 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x8067EAD4@l */ -/* 8067E50C 90 19 01 1C */ stw r0, 0x11c(r25) -/* 8067E510 3C 60 80 68 */ lis r3, __vt__8cM3dGSph@ha /* 0x8067EAC8@ha */ -/* 8067E514 38 03 EA C8 */ addi r0, r3, __vt__8cM3dGSph@l /* 0x8067EAC8@l */ -/* 8067E518 90 19 01 34 */ stw r0, 0x134(r25) -/* 8067E51C 3C 60 80 3C */ lis r3, __vt__12cCcD_SphAttr@ha /* 0x803C3540@ha */ -/* 8067E520 38 03 35 40 */ addi r0, r3, __vt__12cCcD_SphAttr@l /* 0x803C3540@l */ -/* 8067E524 90 19 01 20 */ stw r0, 0x120(r25) -/* 8067E528 93 D9 01 34 */ stw r30, 0x134(r25) -/* 8067E52C 3C 60 80 3B */ lis r3, __vt__8dCcD_Sph@ha /* 0x803ABFC0@ha */ -/* 8067E530 38 03 BF C0 */ addi r0, r3, __vt__8dCcD_Sph@l /* 0x803ABFC0@l */ -/* 8067E534 90 19 00 3C */ stw r0, 0x3c(r25) -/* 8067E538 93 B9 01 20 */ stw r29, 0x120(r25) -/* 8067E53C 93 99 01 34 */ stw r28, 0x134(r25) -/* 8067E540 3B 3A 08 90 */ addi r25, r26, 0x890 -/* 8067E544 7F 23 CB 78 */ mr r3, r25 -/* 8067E548 4B A0 54 E1 */ bl __ct__12dCcD_GObjInfFv -/* 8067E54C 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */ -/* 8067E550 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */ -/* 8067E554 90 19 01 20 */ stw r0, 0x120(r25) -/* 8067E558 3C 60 80 68 */ lis r3, __vt__8cM3dGAab@ha /* 0x8067EAD4@ha */ -/* 8067E55C 38 03 EA D4 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x8067EAD4@l */ -/* 8067E560 90 19 01 1C */ stw r0, 0x11c(r25) -/* 8067E564 3C 60 80 68 */ lis r3, __vt__8cM3dGSph@ha /* 0x8067EAC8@ha */ -/* 8067E568 38 03 EA C8 */ addi r0, r3, __vt__8cM3dGSph@l /* 0x8067EAC8@l */ -/* 8067E56C 90 19 01 34 */ stw r0, 0x134(r25) -/* 8067E570 3C 60 80 3C */ lis r3, __vt__12cCcD_SphAttr@ha /* 0x803C3540@ha */ -/* 8067E574 38 03 35 40 */ addi r0, r3, __vt__12cCcD_SphAttr@l /* 0x803C3540@l */ -/* 8067E578 90 19 01 20 */ stw r0, 0x120(r25) -/* 8067E57C 93 D9 01 34 */ stw r30, 0x134(r25) -/* 8067E580 3C 60 80 3B */ lis r3, __vt__8dCcD_Sph@ha /* 0x803ABFC0@ha */ -/* 8067E584 38 03 BF C0 */ addi r0, r3, __vt__8dCcD_Sph@l /* 0x803ABFC0@l */ -/* 8067E588 90 19 00 3C */ stw r0, 0x3c(r25) -/* 8067E58C 93 B9 01 20 */ stw r29, 0x120(r25) -/* 8067E590 93 99 01 34 */ stw r28, 0x134(r25) -/* 8067E594 38 7A 0A 18 */ addi r3, r26, 0xa18 -/* 8067E598 4B C4 05 A1 */ bl __ct__15Z2SoundObjArrowFv -lbl_8067E59C: -/* 8067E59C 80 1B 04 A0 */ lwz r0, 0x4a0(r27) -/* 8067E5A0 60 00 00 08 */ ori r0, r0, 8 -/* 8067E5A4 90 1B 04 A0 */ stw r0, 0x4a0(r27) -lbl_8067E5A8: -/* 8067E5A8 80 1B 00 B0 */ lwz r0, 0xb0(r27) -/* 8067E5AC 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 -/* 8067E5B0 41 82 00 14 */ beq lbl_8067E5C4 -/* 8067E5B4 3C 60 80 68 */ lis r3, d_a_e_arrow__stringBase0@ha /* 0x8067E96C@ha */ -/* 8067E5B8 38 03 E9 6C */ addi r0, r3, d_a_e_arrow__stringBase0@l /* 0x8067E96C@l */ -/* 8067E5BC 90 1B 05 BC */ stw r0, 0x5bc(r27) -/* 8067E5C0 48 00 00 14 */ b lbl_8067E5D4 -lbl_8067E5C4: -/* 8067E5C4 3C 60 80 68 */ lis r3, d_a_e_arrow__stringBase0@ha /* 0x8067E96C@ha */ -/* 8067E5C8 38 63 E9 6C */ addi r3, r3, d_a_e_arrow__stringBase0@l /* 0x8067E96C@l */ -/* 8067E5CC 38 03 00 06 */ addi r0, r3, 6 -/* 8067E5D0 90 1B 05 BC */ stw r0, 0x5bc(r27) -lbl_8067E5D4: -/* 8067E5D4 38 7B 05 AC */ addi r3, r27, 0x5ac -/* 8067E5D8 80 9B 05 BC */ lwz r4, 0x5bc(r27) -/* 8067E5DC 4B 9A E8 E1 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 8067E5E0 7C 7C 1B 78 */ mr r28, r3 -/* 8067E5E4 2C 1C 00 04 */ cmpwi r28, 4 -/* 8067E5E8 40 82 01 20 */ bne lbl_8067E708 -/* 8067E5EC 80 1B 00 B0 */ lwz r0, 0xb0(r27) -/* 8067E5F0 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 8067E5F4 98 1B 05 B8 */ stb r0, 0x5b8(r27) -/* 8067E5F8 80 1B 00 B0 */ lwz r0, 0xb0(r27) -/* 8067E5FC 54 00 06 36 */ rlwinm r0, r0, 0, 0x18, 0x1b -/* 8067E600 98 1B 05 B9 */ stb r0, 0x5b9(r27) -/* 8067E604 7F 63 DB 78 */ mr r3, r27 -/* 8067E608 3C 80 80 68 */ lis r4, useHeapInit__FP10fopAc_ac_c@ha /* 0x8067E374@ha */ -/* 8067E60C 38 84 E3 74 */ addi r4, r4, useHeapInit__FP10fopAc_ac_c@l /* 0x8067E374@l */ -/* 8067E610 38 A0 08 20 */ li r5, 0x820 -/* 8067E614 4B 99 BE 9D */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 8067E618 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8067E61C 40 82 00 0C */ bne lbl_8067E628 -/* 8067E620 38 60 00 05 */ li r3, 5 -/* 8067E624 48 00 00 E8 */ b lbl_8067E70C -lbl_8067E628: -/* 8067E628 80 7B 05 B4 */ lwz r3, 0x5b4(r27) -/* 8067E62C 38 03 00 24 */ addi r0, r3, 0x24 -/* 8067E630 90 1B 05 04 */ stw r0, 0x504(r27) -/* 8067E634 38 7B 05 E4 */ addi r3, r27, 0x5e4 -/* 8067E638 38 80 00 FF */ li r4, 0xff -/* 8067E63C 38 A0 00 00 */ li r5, 0 -/* 8067E640 7F 66 DB 78 */ mr r6, r27 -/* 8067E644 4B A0 52 1D */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c -/* 8067E648 38 7B 06 20 */ addi r3, r27, 0x620 -/* 8067E64C 38 9F 00 28 */ addi r4, r31, 0x28 -/* 8067E650 4B A0 63 E5 */ bl Set__8dCcD_SphFRC11dCcD_SrcSph -/* 8067E654 38 1B 05 E4 */ addi r0, r27, 0x5e4 -/* 8067E658 90 1B 06 64 */ stw r0, 0x664(r27) -/* 8067E65C 3C 60 80 68 */ lis r3, atHit_CB__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha /* 0x8067DAE8@ha */ -/* 8067E660 38 03 DA E8 */ addi r0, r3, atHit_CB__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 0x8067DAE8@l */ -/* 8067E664 90 1B 06 80 */ stw r0, 0x680(r27) -/* 8067E668 88 1B 05 B8 */ lbz r0, 0x5b8(r27) -/* 8067E66C 28 00 00 01 */ cmplwi r0, 1 -/* 8067E670 40 82 00 0C */ bne lbl_8067E67C -/* 8067E674 38 00 00 01 */ li r0, 1 -/* 8067E678 98 1B 06 95 */ stb r0, 0x695(r27) -lbl_8067E67C: -/* 8067E67C 38 7B 06 20 */ addi r3, r27, 0x620 -/* 8067E680 38 9B 04 D0 */ addi r4, r27, 0x4d0 -/* 8067E684 4B A0 63 F5 */ bl StartCAt__8dCcD_SphFR4cXyz -/* 8067E688 38 7B 07 58 */ addi r3, r27, 0x758 -/* 8067E68C 38 9F 00 68 */ addi r4, r31, 0x68 -/* 8067E690 4B A0 63 A5 */ bl Set__8dCcD_SphFRC11dCcD_SrcSph -/* 8067E694 38 1B 05 E4 */ addi r0, r27, 0x5e4 -/* 8067E698 90 1B 07 9C */ stw r0, 0x79c(r27) -/* 8067E69C 3C 60 80 68 */ lis r3, lit_4605@ha /* 0x8067E8F8@ha */ -/* 8067E6A0 C0 23 E8 F8 */ lfs f1, lit_4605@l(r3) /* 0x8067E8F8@l */ -/* 8067E6A4 4B BE 92 B1 */ bl cM_rndF__Ff -/* 8067E6A8 FC 00 08 1E */ fctiwz f0, f1 -/* 8067E6AC D8 01 00 08 */ stfd f0, 8(r1) -/* 8067E6B0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8067E6B4 B0 1B 05 C0 */ sth r0, 0x5c0(r27) -/* 8067E6B8 88 1B 05 B9 */ lbz r0, 0x5b9(r27) -/* 8067E6BC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 8067E6C0 41 82 00 18 */ beq lbl_8067E6D8 -/* 8067E6C4 38 7B 08 90 */ addi r3, r27, 0x890 -/* 8067E6C8 38 9F 00 A8 */ addi r4, r31, 0xa8 -/* 8067E6CC 4B A0 63 69 */ bl Set__8dCcD_SphFRC11dCcD_SrcSph -/* 8067E6D0 38 1B 05 E4 */ addi r0, r27, 0x5e4 -/* 8067E6D4 90 1B 08 D4 */ stw r0, 0x8d4(r27) -lbl_8067E6D8: -/* 8067E6D8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E6DC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E6E0 3C 80 80 68 */ lis r4, lit_4362@ha /* 0x8067E88C@ha */ -/* 8067E6E4 C0 24 E8 8C */ lfs f1, lit_4362@l(r4) /* 0x8067E88C@l */ -/* 8067E6E8 FC 40 08 90 */ fmr f2, f1 -/* 8067E6EC FC 60 08 90 */ fmr f3, f1 -/* 8067E6F0 4B CC 82 79 */ bl PSMTXScale -/* 8067E6F4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E6F8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E6FC 80 9B 05 B4 */ lwz r4, 0x5b4(r27) -/* 8067E700 38 84 00 24 */ addi r4, r4, 0x24 -/* 8067E704 4B CC 7D AD */ bl PSMTXCopy -lbl_8067E708: -/* 8067E708 7F 83 E3 78 */ mr r3, r28 -lbl_8067E70C: -/* 8067E70C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8067E710 4B CE 3B 09 */ bl _restgpr_25 -/* 8067E714 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8067E718 7C 08 03 A6 */ mtlr r0 -/* 8067E71C 38 21 00 30 */ addi r1, r1, 0x30 -/* 8067E720 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Delete__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Delete__FP13e_arrow_class.s deleted file mode 100644 index 2f70e33701c..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Delete__FP13e_arrow_class.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8067E30C: -/* 8067E30C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067E310 7C 08 02 A6 */ mflr r0 -/* 8067E314 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067E318 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067E31C 7C 7F 1B 78 */ mr r31, r3 -/* 8067E320 38 7F 05 AC */ addi r3, r31, 0x5ac -/* 8067E324 80 9F 05 BC */ lwz r4, 0x5bc(r31) -/* 8067E328 4B 9A EC E1 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 8067E32C 38 7F 0A 18 */ addi r3, r31, 0xa18 -/* 8067E330 4B C3 FC C9 */ bl deleteObject__14Z2SoundObjBaseFv -/* 8067E334 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067E338 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067E33C 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 8067E340 38 63 02 10 */ addi r3, r3, 0x210 -/* 8067E344 80 9F 09 EC */ lwz r4, 0x9ec(r31) -/* 8067E348 4B 9C D5 D1 */ bl getEmitter__Q213dPa_control_c7level_cFUl -/* 8067E34C 28 03 00 00 */ cmplwi r3, 0 -/* 8067E350 41 82 00 0C */ beq lbl_8067E35C -/* 8067E354 38 00 00 00 */ li r0, 0 -/* 8067E358 90 03 00 F0 */ stw r0, 0xf0(r3) -lbl_8067E35C: -/* 8067E35C 38 60 00 01 */ li r3, 1 -/* 8067E360 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067E364 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067E368 7C 08 03 A6 */ mtlr r0 -/* 8067E36C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067E370 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Draw__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Draw__FP13e_arrow_class.s deleted file mode 100644 index 0ad4c160684..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Draw__FP13e_arrow_class.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_8067C7CC: -/* 8067C7CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067C7D0 7C 08 02 A6 */ mflr r0 -/* 8067C7D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067C7D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067C7DC 7C 7F 1B 78 */ mr r31, r3 -/* 8067C7E0 88 03 0A 14 */ lbz r0, 0xa14(r3) -/* 8067C7E4 28 00 00 00 */ cmplwi r0, 0 -/* 8067C7E8 41 82 00 0C */ beq lbl_8067C7F4 -/* 8067C7EC 38 60 00 01 */ li r3, 1 -/* 8067C7F0 48 00 00 70 */ b lbl_8067C860 -lbl_8067C7F4: -/* 8067C7F4 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 8067C7F8 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 -/* 8067C7FC 41 82 00 20 */ beq lbl_8067C81C -/* 8067C800 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8067C804 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8067C808 38 80 00 02 */ li r4, 2 -/* 8067C80C 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 8067C810 38 DF 01 0C */ addi r6, r31, 0x10c -/* 8067C814 4B B2 6F B1 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 8067C818 48 00 00 1C */ b lbl_8067C834 -lbl_8067C81C: -/* 8067C81C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8067C820 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8067C824 38 80 00 00 */ li r4, 0 -/* 8067C828 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 8067C82C 38 DF 01 0C */ addi r6, r31, 0x10c -/* 8067C830 4B B2 6F 95 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -lbl_8067C834: -/* 8067C834 80 9F 05 B4 */ lwz r4, 0x5b4(r31) -/* 8067C838 28 04 00 00 */ cmplwi r4, 0 -/* 8067C83C 41 82 00 20 */ beq lbl_8067C85C -/* 8067C840 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8067C844 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8067C848 80 84 00 04 */ lwz r4, 4(r4) -/* 8067C84C 38 BF 01 0C */ addi r5, r31, 0x10c -/* 8067C850 4B B2 85 51 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 8067C854 80 7F 05 B4 */ lwz r3, 0x5b4(r31) -/* 8067C858 4B 99 14 6D */ bl mDoExt_modelUpdateDL__FP8J3DModel -lbl_8067C85C: -/* 8067C85C 38 60 00 01 */ li r3, 1 -lbl_8067C860: -/* 8067C860 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067C864 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067C868 7C 08 03 A6 */ mtlr r0 -/* 8067C86C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067C870 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Execute__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Execute__FP13e_arrow_class.s deleted file mode 100644 index aaa0626e7b7..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Execute__FP13e_arrow_class.s +++ /dev/null @@ -1,155 +0,0 @@ -lbl_8067E0BC: -/* 8067E0BC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8067E0C0 7C 08 02 A6 */ mflr r0 -/* 8067E0C4 90 01 00 34 */ stw r0, 0x34(r1) -/* 8067E0C8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8067E0CC 4B CE 41 0D */ bl _savegpr_28 -/* 8067E0D0 7C 7F 1B 78 */ mr r31, r3 -/* 8067E0D4 3C 60 80 68 */ lis r3, lit_3983@ha /* 0x8067E880@ha */ -/* 8067E0D8 3B C3 E8 80 */ addi r30, r3, lit_3983@l /* 0x8067E880@l */ -/* 8067E0DC 88 1F 0A 14 */ lbz r0, 0xa14(r31) -/* 8067E0E0 28 00 00 00 */ cmplwi r0, 0 -/* 8067E0E4 41 82 00 0C */ beq lbl_8067E0F0 -/* 8067E0E8 38 60 00 01 */ li r3, 1 -/* 8067E0EC 48 00 02 00 */ b lbl_8067E2EC -lbl_8067E0F0: -/* 8067E0F0 A8 7F 05 C0 */ lha r3, 0x5c0(r31) -/* 8067E0F4 38 03 00 01 */ addi r0, r3, 1 -/* 8067E0F8 B0 1F 05 C0 */ sth r0, 0x5c0(r31) -/* 8067E0FC 38 60 00 00 */ li r3, 0 -/* 8067E100 38 00 00 04 */ li r0, 4 -/* 8067E104 7C 09 03 A6 */ mtctr r0 -lbl_8067E108: -/* 8067E108 38 A3 05 C6 */ addi r5, r3, 0x5c6 -/* 8067E10C 7C 9F 2A AE */ lhax r4, r31, r5 -/* 8067E110 2C 04 00 00 */ cmpwi r4, 0 -/* 8067E114 41 82 00 0C */ beq lbl_8067E120 -/* 8067E118 38 04 FF FF */ addi r0, r4, -1 -/* 8067E11C 7C 1F 2B 2E */ sthx r0, r31, r5 -lbl_8067E120: -/* 8067E120 38 63 00 02 */ addi r3, r3, 2 -/* 8067E124 42 00 FF E4 */ bdnz lbl_8067E108 -/* 8067E128 7F E3 FB 78 */ mr r3, r31 -/* 8067E12C 4B FF FD 29 */ bl action__FP13e_arrow_class -/* 8067E130 80 1F 05 B4 */ lwz r0, 0x5b4(r31) -/* 8067E134 28 00 00 00 */ cmplwi r0, 0 -/* 8067E138 40 82 00 0C */ bne lbl_8067E144 -/* 8067E13C 38 60 00 01 */ li r3, 1 -/* 8067E140 48 00 01 AC */ b lbl_8067E2EC -lbl_8067E144: -/* 8067E144 88 1F 05 B8 */ lbz r0, 0x5b8(r31) -/* 8067E148 28 00 00 01 */ cmplwi r0, 1 -/* 8067E14C 41 80 00 0C */ blt lbl_8067E158 -/* 8067E150 7F E3 FB 78 */ mr r3, r31 -/* 8067E154 4B FF E7 21 */ bl fire_eff_set__FP13e_arrow_class -lbl_8067E158: -/* 8067E158 A8 7F 05 CE */ lha r3, 0x5ce(r31) -/* 8067E15C 2C 03 00 00 */ cmpwi r3, 0 -/* 8067E160 41 82 00 7C */ beq lbl_8067E1DC -/* 8067E164 38 03 FF FF */ addi r0, r3, -1 -/* 8067E168 B0 1F 05 CE */ sth r0, 0x5ce(r31) -/* 8067E16C C0 5E 00 B8 */ lfs f2, 0xb8(r30) -/* 8067E170 A8 1F 05 CE */ lha r0, 0x5ce(r31) -/* 8067E174 C8 3E 00 C8 */ lfd f1, 0xc8(r30) -/* 8067E178 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8067E17C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8067E180 3C 00 43 30 */ lis r0, 0x4330 -/* 8067E184 90 01 00 08 */ stw r0, 8(r1) -/* 8067E188 C8 01 00 08 */ lfd f0, 8(r1) -/* 8067E18C EC 00 08 28 */ fsubs f0, f0, f1 -/* 8067E190 EC 22 00 32 */ fmuls f1, f2, f0 -/* 8067E194 A8 9F 05 C0 */ lha r4, 0x5c0(r31) -/* 8067E198 1C 04 70 00 */ mulli r0, r4, 0x7000 -/* 8067E19C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8067E1A0 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8067E1A4 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8067E1A8 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8067E1AC EC 01 00 32 */ fmuls f0, f1, f0 -/* 8067E1B0 FC 00 00 1E */ fctiwz f0, f0 -/* 8067E1B4 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8067E1B8 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8067E1BC 1C 04 7A 00 */ mulli r0, r4, 0x7a00 -/* 8067E1C0 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8067E1C4 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8067E1C8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8067E1CC FC 00 00 1E */ fctiwz f0, f0 -/* 8067E1D0 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8067E1D4 83 81 00 1C */ lwz r28, 0x1c(r1) -/* 8067E1D8 48 00 00 0C */ b lbl_8067E1E4 -lbl_8067E1DC: -/* 8067E1DC 3B 80 00 00 */ li r28, 0 -/* 8067E1E0 3B A0 00 00 */ li r29, 0 -lbl_8067E1E4: -/* 8067E1E4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E1E8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E1EC C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 8067E1F0 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 8067E1F4 C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 8067E1F8 4B CC 86 F1 */ bl PSMTXTrans -/* 8067E1FC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E200 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E204 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 8067E208 4B 98 E2 2D */ bl mDoMtx_YrotM__FPA4_fs -/* 8067E20C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E210 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E214 A8 9F 04 E4 */ lha r4, 0x4e4(r31) -/* 8067E218 4B 98 E1 85 */ bl mDoMtx_XrotM__FPA4_fs -/* 8067E21C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E220 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E224 A8 9F 04 E8 */ lha r4, 0x4e8(r31) -/* 8067E228 4B 98 E2 A5 */ bl mDoMtx_ZrotM__FPA4_fs -/* 8067E22C C0 3E 00 0C */ lfs f1, 0xc(r30) -/* 8067E230 FC 40 08 90 */ fmr f2, f1 -/* 8067E234 C0 7E 00 D8 */ lfs f3, 0xd8(r30) -/* 8067E238 4B 98 EB 65 */ bl transM__14mDoMtx_stack_cFfff -/* 8067E23C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E240 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E244 7F A4 EB 78 */ mr r4, r29 -/* 8067E248 4B 98 E1 ED */ bl mDoMtx_YrotM__FPA4_fs -/* 8067E24C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E250 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E254 7F 84 E3 78 */ mr r4, r28 -/* 8067E258 4B 98 E1 45 */ bl mDoMtx_XrotM__FPA4_fs -/* 8067E25C C0 3E 00 0C */ lfs f1, 0xc(r30) -/* 8067E260 FC 40 08 90 */ fmr f2, f1 -/* 8067E264 C0 7E 00 DC */ lfs f3, 0xdc(r30) -/* 8067E268 4B 98 EB 35 */ bl transM__14mDoMtx_stack_cFfff -/* 8067E26C C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 8067E270 FC 40 08 90 */ fmr f2, f1 -/* 8067E274 C0 7E 00 E0 */ lfs f3, 0xe0(r30) -/* 8067E278 4B 98 EB C1 */ bl scaleM__14mDoMtx_stack_cFfff -/* 8067E27C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E280 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E284 38 80 A4 34 */ li r4, -23500 -/* 8067E288 4B 98 E1 AD */ bl mDoMtx_YrotM__FPA4_fs -/* 8067E28C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E290 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E294 38 80 F8 30 */ li r4, -2000 -/* 8067E298 4B 98 E1 05 */ bl mDoMtx_XrotM__FPA4_fs -/* 8067E29C C0 3E 00 E4 */ lfs f1, 0xe4(r30) -/* 8067E2A0 C0 5E 00 E8 */ lfs f2, 0xe8(r30) -/* 8067E2A4 C0 7E 00 D8 */ lfs f3, 0xd8(r30) -/* 8067E2A8 4B 98 EA F5 */ bl transM__14mDoMtx_stack_cFfff -/* 8067E2AC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067E2B0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067E2B4 80 9F 05 B4 */ lwz r4, 0x5b4(r31) -/* 8067E2B8 38 84 00 24 */ addi r4, r4, 0x24 -/* 8067E2BC 4B CC 81 F5 */ bl PSMTXCopy -/* 8067E2C0 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 8067E2C4 7C 03 07 74 */ extsb r3, r0 -/* 8067E2C8 4B 9A ED A5 */ bl dComIfGp_getReverb__Fi -/* 8067E2CC 7C 65 1B 78 */ mr r5, r3 -/* 8067E2D0 38 7F 0A 18 */ addi r3, r31, 0xa18 -/* 8067E2D4 38 80 00 00 */ li r4, 0 -/* 8067E2D8 81 9F 0A 28 */ lwz r12, 0xa28(r31) -/* 8067E2DC 81 8C 00 08 */ lwz r12, 8(r12) -/* 8067E2E0 7D 89 03 A6 */ mtctr r12 -/* 8067E2E4 4E 80 04 21 */ bctrl -/* 8067E2E8 38 60 00 01 */ li r3, 1 -lbl_8067E2EC: -/* 8067E2EC 39 61 00 30 */ addi r11, r1, 0x30 -/* 8067E2F0 4B CE 3F 35 */ bl _restgpr_28 -/* 8067E2F4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8067E2F8 7C 08 03 A6 */ mtlr r0 -/* 8067E2FC 38 21 00 30 */ addi r1, r1, 0x30 -/* 8067E300 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_bg__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_bg__FP13e_arrow_class.s deleted file mode 100644 index ff12e725a82..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_bg__FP13e_arrow_class.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_8067D40C: -/* 8067D40C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8067D410 7C 08 02 A6 */ mflr r0 -/* 8067D414 90 01 00 24 */ stw r0, 0x24(r1) -/* 8067D418 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8067D41C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8067D420 7C 7E 1B 78 */ mr r30, r3 -/* 8067D424 3C 60 80 68 */ lis r3, lit_3983@ha /* 0x8067E880@ha */ -/* 8067D428 3B E3 E8 80 */ addi r31, r3, lit_3983@l /* 0x8067E880@l */ -/* 8067D42C A8 1E 05 C4 */ lha r0, 0x5c4(r30) -/* 8067D430 2C 00 00 01 */ cmpwi r0, 1 -/* 8067D434 41 82 00 24 */ beq lbl_8067D458 -/* 8067D438 40 80 00 E0 */ bge lbl_8067D518 -/* 8067D43C 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D440 40 80 00 08 */ bge lbl_8067D448 -/* 8067D444 48 00 00 D4 */ b lbl_8067D518 -lbl_8067D448: -/* 8067D448 38 00 00 01 */ li r0, 1 -/* 8067D44C B0 1E 05 C4 */ sth r0, 0x5c4(r30) -/* 8067D450 38 00 00 64 */ li r0, 0x64 -/* 8067D454 B0 1E 05 C6 */ sth r0, 0x5c6(r30) -lbl_8067D458: -/* 8067D458 38 60 00 43 */ li r3, 0x43 -/* 8067D45C 38 80 00 01 */ li r4, 1 -/* 8067D460 4B A1 AA 81 */ bl checkItemGet__FUci -/* 8067D464 2C 03 00 00 */ cmpwi r3, 0 -/* 8067D468 41 82 00 9C */ beq lbl_8067D504 -/* 8067D46C 7F C3 F3 78 */ mr r3, r30 -/* 8067D470 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067D474 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067D478 80 84 5D AC */ lwz r4, 0x5dac(r4) -/* 8067D47C 4B 99 D3 65 */ bl fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 8067D480 C0 1F 00 7C */ lfs f0, 0x7c(r31) -/* 8067D484 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8067D488 40 80 00 7C */ bge lbl_8067D504 -/* 8067D48C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067D490 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067D494 A8 64 5D F4 */ lha r3, 0x5df4(r4) -/* 8067D498 38 03 00 01 */ addi r0, r3, 1 -/* 8067D49C B0 04 5D F4 */ sth r0, 0x5df4(r4) -/* 8067D4A0 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 8067D4A4 38 80 00 11 */ li r4, 0x11 -/* 8067D4A8 38 A0 FF FF */ li r5, -1 -/* 8067D4AC 38 C0 00 00 */ li r6, 0 -/* 8067D4B0 38 E0 00 00 */ li r7, 0 -/* 8067D4B4 C0 3F 00 0C */ lfs f1, 0xc(r31) -/* 8067D4B8 FC 40 08 90 */ fmr f2, f1 -/* 8067D4BC 4B 99 ED 41 */ bl fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff -/* 8067D4C0 38 00 00 18 */ li r0, 0x18 -/* 8067D4C4 90 01 00 08 */ stw r0, 8(r1) -/* 8067D4C8 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 8067D4CC 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 8067D4D0 80 63 00 00 */ lwz r3, 0(r3) -/* 8067D4D4 38 81 00 08 */ addi r4, r1, 8 -/* 8067D4D8 38 A0 00 00 */ li r5, 0 -/* 8067D4DC 38 C0 00 00 */ li r6, 0 -/* 8067D4E0 38 E0 00 00 */ li r7, 0 -/* 8067D4E4 C0 3F 00 20 */ lfs f1, 0x20(r31) -/* 8067D4E8 FC 40 08 90 */ fmr f2, f1 -/* 8067D4EC C0 7F 00 80 */ lfs f3, 0x80(r31) -/* 8067D4F0 FC 80 18 90 */ fmr f4, f3 -/* 8067D4F4 39 00 00 00 */ li r8, 0 -/* 8067D4F8 4B C2 E4 8D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8067D4FC 38 00 00 00 */ li r0, 0 -/* 8067D500 B0 1E 05 C6 */ sth r0, 0x5c6(r30) -lbl_8067D504: -/* 8067D504 A8 1E 05 C6 */ lha r0, 0x5c6(r30) -/* 8067D508 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D50C 40 82 00 0C */ bne lbl_8067D518 -/* 8067D510 7F C3 F3 78 */ mr r3, r30 -/* 8067D514 4B 99 C7 69 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_8067D518: -/* 8067D518 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8067D51C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8067D520 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8067D524 7C 08 03 A6 */ mtlr r0 -/* 8067D528 38 21 00 20 */ addi r1, r1, 0x20 -/* 8067D52C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_bound__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_bound__FP13e_arrow_class.s deleted file mode 100644 index 66c652a02ca..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_bound__FP13e_arrow_class.s +++ /dev/null @@ -1,135 +0,0 @@ -lbl_8067DC58: -/* 8067DC58 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8067DC5C 7C 08 02 A6 */ mflr r0 -/* 8067DC60 90 01 00 34 */ stw r0, 0x34(r1) -/* 8067DC64 39 61 00 30 */ addi r11, r1, 0x30 -/* 8067DC68 4B CE 45 71 */ bl _savegpr_28 -/* 8067DC6C 7C 7E 1B 78 */ mr r30, r3 -/* 8067DC70 3C 60 80 68 */ lis r3, lit_3983@ha /* 0x8067E880@ha */ -/* 8067DC74 3B E3 E8 80 */ addi r31, r3, lit_3983@l /* 0x8067E880@l */ -/* 8067DC78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067DC7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067DC80 83 A3 5D AC */ lwz r29, 0x5dac(r3) -/* 8067DC84 A8 1E 05 C4 */ lha r0, 0x5c4(r30) -/* 8067DC88 2C 00 00 00 */ cmpwi r0, 0 -/* 8067DC8C 40 82 00 24 */ bne lbl_8067DCB0 -/* 8067DC90 38 00 2E E0 */ li r0, 0x2ee0 -/* 8067DC94 B0 1E 0A 0C */ sth r0, 0xa0c(r30) -/* 8067DC98 C0 1F 00 AC */ lfs f0, 0xac(r31) -/* 8067DC9C D0 1E 0A 10 */ stfs f0, 0xa10(r30) -/* 8067DCA0 38 00 00 01 */ li r0, 1 -/* 8067DCA4 B0 1E 05 C4 */ sth r0, 0x5c4(r30) -/* 8067DCA8 38 00 00 50 */ li r0, 0x50 -/* 8067DCAC B0 1E 05 C6 */ sth r0, 0x5c6(r30) -lbl_8067DCB0: -/* 8067DCB0 A8 1E 05 C6 */ lha r0, 0x5c6(r30) -/* 8067DCB4 2C 00 00 00 */ cmpwi r0, 0 -/* 8067DCB8 40 82 00 0C */ bne lbl_8067DCC4 -/* 8067DCBC 7F C3 F3 78 */ mr r3, r30 -/* 8067DCC0 4B 99 BF BD */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_8067DCC4: -/* 8067DCC4 A8 1E 0A 0C */ lha r0, 0xa0c(r30) -/* 8067DCC8 2C 00 00 00 */ cmpwi r0, 0 -/* 8067DCCC 40 81 01 04 */ ble lbl_8067DDD0 -/* 8067DCD0 A8 7E 04 E4 */ lha r3, 0x4e4(r30) -/* 8067DCD4 C0 1E 0A 10 */ lfs f0, 0xa10(r30) -/* 8067DCD8 FC 00 00 1E */ fctiwz f0, f0 -/* 8067DCDC D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8067DCE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067DCE4 7C 03 02 14 */ add r0, r3, r0 -/* 8067DCE8 B0 1E 04 E4 */ sth r0, 0x4e4(r30) -/* 8067DCEC A8 9E 04 E4 */ lha r4, 0x4e4(r30) -/* 8067DCF0 A8 7E 0A 0C */ lha r3, 0xa0c(r30) -/* 8067DCF4 7C 04 18 00 */ cmpw r4, r3 -/* 8067DCF8 41 81 00 14 */ bgt lbl_8067DD0C -/* 8067DCFC 7C 03 00 D0 */ neg r0, r3 -/* 8067DD00 7C 00 07 34 */ extsh r0, r0 -/* 8067DD04 7C 04 00 00 */ cmpw r4, r0 -/* 8067DD08 40 80 00 C8 */ bge lbl_8067DDD0 -lbl_8067DD0C: -/* 8067DD0C 2C 03 03 E8 */ cmpwi r3, 0x3e8 -/* 8067DD10 40 81 00 7C */ ble lbl_8067DD8C -/* 8067DD14 C0 5F 00 B0 */ lfs f2, 0xb0(r31) -/* 8067DD18 C8 3F 00 C8 */ lfd f1, 0xc8(r31) -/* 8067DD1C 6C 60 80 00 */ xoris r0, r3, 0x8000 -/* 8067DD20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067DD24 3C 00 43 30 */ lis r0, 0x4330 -/* 8067DD28 90 01 00 10 */ stw r0, 0x10(r1) -/* 8067DD2C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8067DD30 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8067DD34 EC 22 00 32 */ fmuls f1, f2, f0 -/* 8067DD38 4B CE 43 75 */ bl __cvt_fp2unsigned -/* 8067DD3C 7C 7C 1B 78 */ mr r28, r3 -/* 8067DD40 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 8067DD44 7C 03 07 74 */ extsb r3, r0 -/* 8067DD48 4B 9A F3 25 */ bl dComIfGp_getReverb__Fi -/* 8067DD4C 7C 67 1B 78 */ mr r7, r3 -/* 8067DD50 3C 60 00 08 */ lis r3, 0x0008 /* 0x000800C4@ha */ -/* 8067DD54 38 03 00 C4 */ addi r0, r3, 0x00C4 /* 0x000800C4@l */ -/* 8067DD58 90 01 00 08 */ stw r0, 8(r1) -/* 8067DD5C 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 8067DD60 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 8067DD64 80 63 00 00 */ lwz r3, 0(r3) -/* 8067DD68 38 81 00 08 */ addi r4, r1, 8 -/* 8067DD6C 38 BE 05 38 */ addi r5, r30, 0x538 -/* 8067DD70 7F 86 E3 78 */ mr r6, r28 -/* 8067DD74 C0 3F 00 20 */ lfs f1, 0x20(r31) -/* 8067DD78 FC 40 08 90 */ fmr f2, f1 -/* 8067DD7C C0 7F 00 80 */ lfs f3, 0x80(r31) -/* 8067DD80 FC 80 18 90 */ fmr f4, f3 -/* 8067DD84 39 00 00 00 */ li r8, 0 -/* 8067DD88 4B C2 DB FD */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -lbl_8067DD8C: -/* 8067DD8C A8 1E 0A 0C */ lha r0, 0xa0c(r30) -/* 8067DD90 7C 00 0E 70 */ srawi r0, r0, 1 -/* 8067DD94 7C 00 01 94 */ addze r0, r0 -/* 8067DD98 B0 1E 0A 0C */ sth r0, 0xa0c(r30) -/* 8067DD9C A8 1E 04 E4 */ lha r0, 0x4e4(r30) -/* 8067DDA0 2C 00 00 00 */ cmpwi r0, 0 -/* 8067DDA4 40 81 00 10 */ ble lbl_8067DDB4 -/* 8067DDA8 A8 1E 0A 0C */ lha r0, 0xa0c(r30) -/* 8067DDAC B0 1E 04 E4 */ sth r0, 0x4e4(r30) -/* 8067DDB0 48 00 00 10 */ b lbl_8067DDC0 -lbl_8067DDB4: -/* 8067DDB4 A8 1E 0A 0C */ lha r0, 0xa0c(r30) -/* 8067DDB8 7C 00 00 D0 */ neg r0, r0 -/* 8067DDBC B0 1E 04 E4 */ sth r0, 0x4e4(r30) -lbl_8067DDC0: -/* 8067DDC0 C0 3E 0A 10 */ lfs f1, 0xa10(r30) -/* 8067DDC4 C0 1F 00 80 */ lfs f0, 0x80(r31) -/* 8067DDC8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8067DDCC D0 1E 0A 10 */ stfs f0, 0xa10(r30) -lbl_8067DDD0: -/* 8067DDD0 A8 7D 04 E6 */ lha r3, 0x4e6(r29) -/* 8067DDD4 38 03 E0 00 */ addi r0, r3, -8192 -/* 8067DDD8 B0 1E 04 E6 */ sth r0, 0x4e6(r30) -/* 8067DDDC C0 3D 04 D0 */ lfs f1, 0x4d0(r29) -/* 8067DDE0 C0 1F 00 B4 */ lfs f0, 0xb4(r31) -/* 8067DDE4 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8067DDE8 D0 1E 04 D0 */ stfs f0, 0x4d0(r30) -/* 8067DDEC A8 1E 04 E4 */ lha r0, 0x4e4(r30) -/* 8067DDF0 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8067DDF4 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8067DDF8 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8067DDFC 7C 23 04 2E */ lfsx f1, r3, r0 -/* 8067DE00 C0 1F 00 B8 */ lfs f0, 0xb8(r31) -/* 8067DE04 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8067DE08 FC 00 02 10 */ fabs f0, f0 -/* 8067DE0C FC 40 00 18 */ frsp f2, f0 -/* 8067DE10 C0 3F 00 BC */ lfs f1, 0xbc(r31) -/* 8067DE14 C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 8067DE18 EC 01 00 2A */ fadds f0, f1, f0 -/* 8067DE1C EC 00 10 2A */ fadds f0, f0, f2 -/* 8067DE20 D0 1E 04 D4 */ stfs f0, 0x4d4(r30) -/* 8067DE24 C0 5F 00 C0 */ lfs f2, 0xc0(r31) -/* 8067DE28 C0 3F 00 A4 */ lfs f1, 0xa4(r31) -/* 8067DE2C C0 1D 04 D8 */ lfs f0, 0x4d8(r29) -/* 8067DE30 EC 01 00 2A */ fadds f0, f1, f0 -/* 8067DE34 EC 02 00 2A */ fadds f0, f2, f0 -/* 8067DE38 D0 1E 04 D8 */ stfs f0, 0x4d8(r30) -/* 8067DE3C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8067DE40 4B CE 43 E5 */ bl _restgpr_28 -/* 8067DE44 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8067DE48 7C 08 03 A6 */ mtlr r0 -/* 8067DE4C 38 21 00 30 */ addi r1, r1, 0x30 -/* 8067DE50 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_fire__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_fire__FP13e_arrow_class.s deleted file mode 100644 index e44d4e9f9d4..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_fire__FP13e_arrow_class.s +++ /dev/null @@ -1,266 +0,0 @@ -lbl_8067D68C: -/* 8067D68C 94 21 FF 30 */ stwu r1, -0xd0(r1) -/* 8067D690 7C 08 02 A6 */ mflr r0 -/* 8067D694 90 01 00 D4 */ stw r0, 0xd4(r1) -/* 8067D698 DB E1 00 C0 */ stfd f31, 0xc0(r1) -/* 8067D69C F3 E1 00 C8 */ psq_st f31, 200(r1), 0, 0 /* qr0 */ -/* 8067D6A0 39 61 00 C0 */ addi r11, r1, 0xc0 -/* 8067D6A4 4B CE 4B 25 */ bl _savegpr_24 -/* 8067D6A8 7C 7D 1B 78 */ mr r29, r3 -/* 8067D6AC 3C 60 80 68 */ lis r3, lit_3983@ha /* 0x8067E880@ha */ -/* 8067D6B0 3B E3 E8 80 */ addi r31, r3, lit_3983@l /* 0x8067E880@l */ -/* 8067D6B4 A8 1D 05 C4 */ lha r0, 0x5c4(r29) -/* 8067D6B8 2C 00 00 01 */ cmpwi r0, 1 -/* 8067D6BC 41 82 00 6C */ beq lbl_8067D728 -/* 8067D6C0 40 80 00 10 */ bge lbl_8067D6D0 -/* 8067D6C4 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D6C8 40 80 00 14 */ bge lbl_8067D6DC -/* 8067D6CC 48 00 03 84 */ b lbl_8067DA50 -lbl_8067D6D0: -/* 8067D6D0 2C 00 00 03 */ cmpwi r0, 3 -/* 8067D6D4 40 80 03 7C */ bge lbl_8067DA50 -/* 8067D6D8 48 00 03 68 */ b lbl_8067DA40 -lbl_8067D6DC: -/* 8067D6DC 38 00 00 01 */ li r0, 1 -/* 8067D6E0 B0 1D 05 C4 */ sth r0, 0x5c4(r29) -/* 8067D6E4 C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 8067D6E8 D0 1D 0A 00 */ stfs f0, 0xa00(r29) -/* 8067D6EC C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 8067D6F0 D0 1D 0A 04 */ stfs f0, 0xa04(r29) -/* 8067D6F4 C0 1D 04 D8 */ lfs f0, 0x4d8(r29) -/* 8067D6F8 D0 1D 0A 08 */ stfs f0, 0xa08(r29) -/* 8067D6FC C0 3D 0A 08 */ lfs f1, 0xa08(r29) -/* 8067D700 C0 1F 00 88 */ lfs f0, 0x88(r31) -/* 8067D704 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8067D708 40 81 00 10 */ ble lbl_8067D718 -/* 8067D70C 38 00 80 00 */ li r0, -32768 -/* 8067D710 B0 1D 0A 0C */ sth r0, 0xa0c(r29) -/* 8067D714 48 00 00 0C */ b lbl_8067D720 -lbl_8067D718: -/* 8067D718 38 00 00 00 */ li r0, 0 -/* 8067D71C B0 1D 0A 0C */ sth r0, 0xa0c(r29) -lbl_8067D720: -/* 8067D720 38 00 00 14 */ li r0, 0x14 -/* 8067D724 B0 1D 05 C6 */ sth r0, 0x5c6(r29) -lbl_8067D728: -/* 8067D728 A8 1D 0A 0C */ lha r0, 0xa0c(r29) -/* 8067D72C 3B 40 00 00 */ li r26, 0 -/* 8067D730 B3 41 00 24 */ sth r26, 0x24(r1) -/* 8067D734 B0 01 00 26 */ sth r0, 0x26(r1) -/* 8067D738 B3 41 00 28 */ sth r26, 0x28(r1) -/* 8067D73C 3B 00 00 00 */ li r24, 0 -/* 8067D740 3B C0 00 00 */ li r30, 0 -/* 8067D744 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067D748 3B 63 61 C0 */ addi r27, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067D74C 3C 60 80 68 */ lis r3, fire_name@ha /* 0x8067E998@ha */ -/* 8067D750 3B 83 E9 98 */ addi r28, r3, fire_name@l /* 0x8067E998@l */ -lbl_8067D754: -/* 8067D754 80 7B 5D 3C */ lwz r3, 0x5d3c(r27) -/* 8067D758 38 00 00 FF */ li r0, 0xff -/* 8067D75C 90 01 00 08 */ stw r0, 8(r1) -/* 8067D760 38 80 00 00 */ li r4, 0 -/* 8067D764 90 81 00 0C */ stw r4, 0xc(r1) -/* 8067D768 38 00 FF FF */ li r0, -1 -/* 8067D76C 90 01 00 10 */ stw r0, 0x10(r1) -/* 8067D770 90 81 00 14 */ stw r4, 0x14(r1) -/* 8067D774 90 81 00 18 */ stw r4, 0x18(r1) -/* 8067D778 90 81 00 1C */ stw r4, 0x1c(r1) -/* 8067D77C 3B 3A 09 F0 */ addi r25, r26, 0x9f0 -/* 8067D780 7C 9D C8 2E */ lwzx r4, r29, r25 -/* 8067D784 38 A0 00 00 */ li r5, 0 -/* 8067D788 7C DC F2 2E */ lhzx r6, r28, r30 -/* 8067D78C 38 FD 0A 00 */ addi r7, r29, 0xa00 -/* 8067D790 39 00 00 00 */ li r8, 0 -/* 8067D794 39 21 00 24 */ addi r9, r1, 0x24 -/* 8067D798 39 40 00 00 */ li r10, 0 -/* 8067D79C C0 3F 00 20 */ lfs f1, 0x20(r31) -/* 8067D7A0 4B 9C FD 2D */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 8067D7A4 7C 7D C9 2E */ stwx r3, r29, r25 -/* 8067D7A8 80 7B 5D 3C */ lwz r3, 0x5d3c(r27) -/* 8067D7AC 38 63 02 10 */ addi r3, r3, 0x210 -/* 8067D7B0 7C 9D C8 2E */ lwzx r4, r29, r25 -/* 8067D7B4 4B 9C E1 01 */ bl forceOnEventMove__Q213dPa_control_c7level_cFUl -/* 8067D7B8 3B 18 00 01 */ addi r24, r24, 1 -/* 8067D7BC 2C 18 00 04 */ cmpwi r24, 4 -/* 8067D7C0 3B DE 00 02 */ addi r30, r30, 2 -/* 8067D7C4 3B 5A 00 04 */ addi r26, r26, 4 -/* 8067D7C8 41 80 FF 8C */ blt lbl_8067D754 -/* 8067D7CC A8 1D 05 C6 */ lha r0, 0x5c6(r29) -/* 8067D7D0 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D7D4 40 82 02 28 */ bne lbl_8067D9FC -/* 8067D7D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067D7DC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067D7E0 83 C3 5D AC */ lwz r30, 0x5dac(r3) -/* 8067D7E4 A8 1D 0A 0C */ lha r0, 0xa0c(r29) -/* 8067D7E8 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D7EC 40 82 00 14 */ bne lbl_8067D800 -/* 8067D7F0 C3 FF 00 8C */ lfs f31, 0x8c(r31) -/* 8067D7F4 C0 1F 00 90 */ lfs f0, 0x90(r31) -/* 8067D7F8 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 8067D7FC 48 00 00 10 */ b lbl_8067D80C -lbl_8067D800: -/* 8067D800 C3 FF 00 94 */ lfs f31, 0x94(r31) -/* 8067D804 C0 1F 00 98 */ lfs f0, 0x98(r31) -/* 8067D808 D0 01 00 40 */ stfs f0, 0x40(r1) -lbl_8067D80C: -/* 8067D80C 7F C3 F3 78 */ mr r3, r30 -/* 8067D810 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 8067D814 81 8C 00 B4 */ lwz r12, 0xb4(r12) -/* 8067D818 7D 89 03 A6 */ mtctr r12 -/* 8067D81C 4E 80 04 21 */ bctrl -/* 8067D820 2C 03 00 00 */ cmpwi r3, 0 -/* 8067D824 40 82 00 60 */ bne lbl_8067D884 -/* 8067D828 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067D82C 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067D830 88 04 4F AD */ lbz r0, 0x4fad(r4) -/* 8067D834 28 00 00 00 */ cmplwi r0, 0 -/* 8067D838 41 82 00 1C */ beq lbl_8067D854 -/* 8067D83C 3C 60 80 45 */ lis r3, m_midnaActor__9daPy_py_c@ha /* 0x80451018@ha */ -/* 8067D840 83 43 10 18 */ lwz r26, m_midnaActor__9daPy_py_c@l(r3) /* 0x80451018@l */ -/* 8067D844 80 64 5D B4 */ lwz r3, 0x5db4(r4) -/* 8067D848 4B 99 E2 CD */ bl fopAcM_getTalkEventPartner__FPC10fopAc_ac_c -/* 8067D84C 7C 03 D0 40 */ cmplw r3, r26 -/* 8067D850 41 82 00 34 */ beq lbl_8067D884 -lbl_8067D854: -/* 8067D854 4B BB A9 D9 */ bl getStatus__12dMsgObject_cFv -/* 8067D858 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 8067D85C 20 60 00 01 */ subfic r3, r0, 1 -/* 8067D860 30 03 FF FF */ addic r0, r3, -1 -/* 8067D864 7C 00 19 10 */ subfe r0, r0, r3 -/* 8067D868 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8067D86C 40 82 00 18 */ bne lbl_8067D884 -/* 8067D870 38 7D 0A 08 */ addi r3, r29, 0xa08 -/* 8067D874 FC 20 F8 90 */ fmr f1, f31 -/* 8067D878 C0 5F 00 9C */ lfs f2, 0x9c(r31) -/* 8067D87C C0 7D 0A 10 */ lfs f3, 0xa10(r29) -/* 8067D880 4B BF 21 BD */ bl cLib_addCalc2__FPffff -lbl_8067D884: -/* 8067D884 A8 1D 0A 0C */ lha r0, 0xa0c(r29) -/* 8067D888 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D88C 40 82 00 F8 */ bne lbl_8067D984 -/* 8067D890 3C 60 80 68 */ lis r3, s_limit_sub__FPvPv@ha /* 0x8067D5FC@ha */ -/* 8067D894 38 63 D5 FC */ addi r3, r3, s_limit_sub__FPvPv@l /* 0x8067D5FC@l */ -/* 8067D898 7F A4 EB 78 */ mr r4, r29 -/* 8067D89C 4B 9A 3A 9D */ bl fpcEx_Search__FPFPvPv_PvPv -/* 8067D8A0 28 03 00 00 */ cmplwi r3, 0 -/* 8067D8A4 41 82 00 E0 */ beq lbl_8067D984 -/* 8067D8A8 3B 01 00 44 */ addi r24, r1, 0x44 -/* 8067D8AC 7F 03 C3 78 */ mr r3, r24 -/* 8067D8B0 4B 9F 9C CD */ bl __ct__11dBgS_GndChkFv -/* 8067D8B4 3C 60 80 68 */ lis r3, __vt__14dBgS_ObjGndChk@ha /* 0x8067EAE0@ha */ -/* 8067D8B8 38 63 EA E0 */ addi r3, r3, __vt__14dBgS_ObjGndChk@l /* 0x8067EAE0@l */ -/* 8067D8BC 90 61 00 54 */ stw r3, 0x54(r1) -/* 8067D8C0 3B 23 00 0C */ addi r25, r3, 0xc -/* 8067D8C4 93 21 00 64 */ stw r25, 0x64(r1) -/* 8067D8C8 3B 43 00 18 */ addi r26, r3, 0x18 -/* 8067D8CC 93 41 00 80 */ stw r26, 0x80(r1) -/* 8067D8D0 3B 63 00 24 */ addi r27, r3, 0x24 -/* 8067D8D4 93 61 00 90 */ stw r27, 0x90(r1) -/* 8067D8D8 38 78 00 3C */ addi r3, r24, 0x3c -/* 8067D8DC 4B 9F B5 8D */ bl SetObj__16dBgS_PolyPassChkFv -/* 8067D8E0 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 8067D8E4 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8067D8E8 C0 3E 04 D4 */ lfs f1, 0x4d4(r30) -/* 8067D8EC D0 21 00 3C */ stfs f1, 0x3c(r1) -/* 8067D8F0 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 8067D8F4 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 8067D8F8 C0 1F 00 40 */ lfs f0, 0x40(r31) -/* 8067D8FC EC 01 00 2A */ fadds f0, f1, f0 -/* 8067D900 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 8067D904 7F 03 C3 78 */ mr r3, r24 -/* 8067D908 38 81 00 38 */ addi r4, r1, 0x38 -/* 8067D90C 4B BE A4 1D */ bl SetPos__11cBgS_GndChkFPC4cXyz -/* 8067D910 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067D914 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067D918 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8067D91C 7F 04 C3 78 */ mr r4, r24 -/* 8067D920 4B 9F 6B 81 */ bl GroundCross__4cBgSFP11cBgS_GndChk -/* 8067D924 C0 1F 00 A0 */ lfs f0, 0xa0(r31) -/* 8067D928 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8067D92C 40 81 00 34 */ ble lbl_8067D960 -/* 8067D930 38 00 00 02 */ li r0, 2 -/* 8067D934 B0 1D 05 C4 */ sth r0, 0x5c4(r29) -/* 8067D938 3C 60 80 68 */ lis r3, __vt__14dBgS_ObjGndChk@ha /* 0x8067EAE0@ha */ -/* 8067D93C 38 03 EA E0 */ addi r0, r3, __vt__14dBgS_ObjGndChk@l /* 0x8067EAE0@l */ -/* 8067D940 90 01 00 54 */ stw r0, 0x54(r1) -/* 8067D944 93 21 00 64 */ stw r25, 0x64(r1) -/* 8067D948 93 41 00 80 */ stw r26, 0x80(r1) -/* 8067D94C 93 61 00 90 */ stw r27, 0x90(r1) -/* 8067D950 7F 03 C3 78 */ mr r3, r24 -/* 8067D954 38 80 00 00 */ li r4, 0 -/* 8067D958 4B 9F 9C 99 */ bl __dt__11dBgS_GndChkFv -/* 8067D95C 48 00 00 F4 */ b lbl_8067DA50 -lbl_8067D960: -/* 8067D960 3C 60 80 68 */ lis r3, __vt__14dBgS_ObjGndChk@ha /* 0x8067EAE0@ha */ -/* 8067D964 38 03 EA E0 */ addi r0, r3, __vt__14dBgS_ObjGndChk@l /* 0x8067EAE0@l */ -/* 8067D968 90 01 00 54 */ stw r0, 0x54(r1) -/* 8067D96C 93 21 00 64 */ stw r25, 0x64(r1) -/* 8067D970 93 41 00 80 */ stw r26, 0x80(r1) -/* 8067D974 93 61 00 90 */ stw r27, 0x90(r1) -/* 8067D978 7F 03 C3 78 */ mr r3, r24 -/* 8067D97C 38 80 00 00 */ li r4, 0 -/* 8067D980 4B 9F 9C 71 */ bl __dt__11dBgS_GndChkFv -lbl_8067D984: -/* 8067D984 38 7D 0A 10 */ addi r3, r29, 0xa10 -/* 8067D988 C0 3F 00 A4 */ lfs f1, 0xa4(r31) -/* 8067D98C C0 5F 00 20 */ lfs f2, 0x20(r31) -/* 8067D990 FC 60 10 90 */ fmr f3, f2 -/* 8067D994 4B BF 20 A9 */ bl cLib_addCalc2__FPffff -/* 8067D998 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067D99C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067D9A0 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 8067D9A4 28 00 00 00 */ cmplwi r0, 0 -/* 8067D9A8 40 82 00 4C */ bne lbl_8067D9F4 -/* 8067D9AC C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 8067D9B0 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 8067D9B4 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8067D9B8 38 61 00 2C */ addi r3, r1, 0x2c -/* 8067D9BC 38 9D 0A 00 */ addi r4, r29, 0xa00 -/* 8067D9C0 38 A1 00 38 */ addi r5, r1, 0x38 -/* 8067D9C4 4B BE 91 21 */ bl __pl__4cXyzCFRC3Vec -/* 8067D9C8 38 7D 09 B4 */ addi r3, r29, 0x9b4 -/* 8067D9CC 38 81 00 2C */ addi r4, r1, 0x2c -/* 8067D9D0 4B BF 1C 79 */ bl SetC__8cM3dGSphFRC4cXyz -/* 8067D9D4 38 7D 09 B4 */ addi r3, r29, 0x9b4 -/* 8067D9D8 C0 3F 00 A8 */ lfs f1, 0xa8(r31) -/* 8067D9DC 4B BF 1D 2D */ bl SetR__8cM3dGSphFf -/* 8067D9E0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067D9E4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067D9E8 38 63 23 3C */ addi r3, r3, 0x233c -/* 8067D9EC 38 9D 08 90 */ addi r4, r29, 0x890 -/* 8067D9F0 4B BE 71 B9 */ bl Set__4cCcSFP8cCcD_Obj -lbl_8067D9F4: -/* 8067D9F4 38 00 00 00 */ li r0, 0 -/* 8067D9F8 90 1D 05 B4 */ stw r0, 0x5b4(r29) -lbl_8067D9FC: -/* 8067D9FC 3C 60 00 08 */ lis r3, 0x0008 /* 0x000800D3@ha */ -/* 8067DA00 38 03 00 D3 */ addi r0, r3, 0x00D3 /* 0x000800D3@l */ -/* 8067DA04 90 01 00 20 */ stw r0, 0x20(r1) -/* 8067DA08 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */ -/* 8067DA0C 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */ -/* 8067DA10 80 63 00 00 */ lwz r3, 0(r3) -/* 8067DA14 38 81 00 20 */ addi r4, r1, 0x20 -/* 8067DA18 38 BD 0A 00 */ addi r5, r29, 0xa00 -/* 8067DA1C 38 C0 00 00 */ li r6, 0 -/* 8067DA20 38 E0 00 00 */ li r7, 0 -/* 8067DA24 C0 3F 00 20 */ lfs f1, 0x20(r31) -/* 8067DA28 FC 40 08 90 */ fmr f2, f1 -/* 8067DA2C C0 7F 00 80 */ lfs f3, 0x80(r31) -/* 8067DA30 FC 80 18 90 */ fmr f4, f3 -/* 8067DA34 39 00 00 00 */ li r8, 0 -/* 8067DA38 4B C2 EA D5 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc -/* 8067DA3C 48 00 00 14 */ b lbl_8067DA50 -lbl_8067DA40: -/* 8067DA40 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 8067DA44 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 8067DA48 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 8067DA4C 4B BA 1D 35 */ bl setLifeZero__9dMeter2_cFv -lbl_8067DA50: -/* 8067DA50 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, 0 /* qr0 */ -/* 8067DA54 CB E1 00 C0 */ lfd f31, 0xc0(r1) -/* 8067DA58 39 61 00 C0 */ addi r11, r1, 0xc0 -/* 8067DA5C 4B CE 47 B9 */ bl _restgpr_24 -/* 8067DA60 80 01 00 D4 */ lwz r0, 0xd4(r1) -/* 8067DA64 7C 08 03 A6 */ mtlr r0 -/* 8067DA68 38 21 00 D0 */ addi r1, r1, 0xd0 -/* 8067DA6C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shield__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shield__FP13e_arrow_class.s deleted file mode 100644 index e6a87f7bb51..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shield__FP13e_arrow_class.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_8067DB5C: -/* 8067DB5C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8067DB60 7C 08 02 A6 */ mflr r0 -/* 8067DB64 90 01 00 24 */ stw r0, 0x24(r1) -/* 8067DB68 39 61 00 20 */ addi r11, r1, 0x20 -/* 8067DB6C 4B CE 46 71 */ bl _savegpr_29 -/* 8067DB70 7C 67 1B 78 */ mr r7, r3 -/* 8067DB74 3C 60 80 68 */ lis r3, lit_1109@ha /* 0x8067EB18@ha */ -/* 8067DB78 3B C3 EB 18 */ addi r30, r3, lit_1109@l /* 0x8067EB18@l */ -/* 8067DB7C 7C FD 3B 78 */ mr r29, r7 -/* 8067DB80 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067DB84 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067DB88 80 7F 5D B4 */ lwz r3, 0x5db4(r31) -/* 8067DB8C 38 9D 04 D0 */ addi r4, r29, 0x4d0 -/* 8067DB90 38 BD 04 E4 */ addi r5, r29, 0x4e4 -/* 8067DB94 38 C7 09 D4 */ addi r6, r7, 0x9d4 -/* 8067DB98 38 E7 09 C8 */ addi r7, r7, 0x9c8 -/* 8067DB9C 4B A5 F1 D9 */ bl setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz -/* 8067DBA0 88 1E 00 68 */ lbz r0, 0x68(r30) -/* 8067DBA4 7C 00 07 75 */ extsb. r0, r0 -/* 8067DBA8 40 82 00 3C */ bne lbl_8067DBE4 -/* 8067DBAC 3C 60 80 68 */ lis r3, lit_4362@ha /* 0x8067E88C@ha */ -/* 8067DBB0 C0 03 E8 8C */ lfs f0, lit_4362@l(r3) /* 0x8067E88C@l */ -/* 8067DBB4 D0 1E 00 6C */ stfs f0, 0x6c(r30) -/* 8067DBB8 38 7E 00 6C */ addi r3, r30, 0x6c -/* 8067DBBC D0 03 00 04 */ stfs f0, 4(r3) -/* 8067DBC0 3C 80 80 68 */ lis r4, lit_4549@ha /* 0x8067E8D8@ha */ -/* 8067DBC4 C0 04 E8 D8 */ lfs f0, lit_4549@l(r4) /* 0x8067E8D8@l */ -/* 8067DBC8 D0 03 00 08 */ stfs f0, 8(r3) -/* 8067DBCC 3C 80 80 68 */ lis r4, __dt__4cXyzFv@ha /* 0x8067CB68@ha */ -/* 8067DBD0 38 84 CB 68 */ addi r4, r4, __dt__4cXyzFv@l /* 0x8067CB68@l */ -/* 8067DBD4 38 BE 00 5C */ addi r5, r30, 0x5c -/* 8067DBD8 4B FF EB 81 */ bl __register_global_object -/* 8067DBDC 38 00 00 01 */ li r0, 1 -/* 8067DBE0 98 1E 00 68 */ stb r0, 0x68(r30) -lbl_8067DBE4: -/* 8067DBE4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067DBE8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067DBEC C0 3D 04 D0 */ lfs f1, 0x4d0(r29) -/* 8067DBF0 C0 5D 04 D4 */ lfs f2, 0x4d4(r29) -/* 8067DBF4 C0 7D 04 D8 */ lfs f3, 0x4d8(r29) -/* 8067DBF8 4B CC 8C F1 */ bl PSMTXTrans -/* 8067DBFC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067DC00 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067DC04 A8 9D 04 E4 */ lha r4, 0x4e4(r29) -/* 8067DC08 A8 BD 04 E6 */ lha r5, 0x4e6(r29) -/* 8067DC0C 38 C0 00 00 */ li r6, 0 -/* 8067DC10 4B 98 E6 91 */ bl mDoMtx_ZXYrotM__FPA4_fsss -/* 8067DC14 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067DC18 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067DC1C 38 9E 00 6C */ addi r4, r30, 0x6c -/* 8067DC20 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 8067DC24 4B CC 91 49 */ bl PSMTXMultVec -/* 8067DC28 80 7F 5D B4 */ lwz r3, 0x5db4(r31) -/* 8067DC2C 80 03 05 80 */ lwz r0, 0x580(r3) -/* 8067DC30 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8067DC34 41 82 00 0C */ beq lbl_8067DC40 -/* 8067DC38 7F A3 EB 78 */ mr r3, r29 -/* 8067DC3C 4B 99 C0 41 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_8067DC40: -/* 8067DC40 39 61 00 20 */ addi r11, r1, 0x20 -/* 8067DC44 4B CE 45 E5 */ bl _restgpr_29 -/* 8067DC48 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8067DC4C 7C 08 03 A6 */ mtlr r0 -/* 8067DC50 38 21 00 20 */ addi r1, r1, 0x20 -/* 8067DC54 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shot__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shot__FP13e_arrow_class.s deleted file mode 100644 index d1bd6568dc9..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shot__FP13e_arrow_class.s +++ /dev/null @@ -1,135 +0,0 @@ -lbl_8067D21C: -/* 8067D21C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8067D220 7C 08 02 A6 */ mflr r0 -/* 8067D224 90 01 00 44 */ stw r0, 0x44(r1) -/* 8067D228 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8067D22C 93 C1 00 38 */ stw r30, 0x38(r1) -/* 8067D230 7C 7E 1B 78 */ mr r30, r3 -/* 8067D234 3C 60 80 68 */ lis r3, lit_3983@ha /* 0x8067E880@ha */ -/* 8067D238 3B E3 E8 80 */ addi r31, r3, lit_3983@l /* 0x8067E880@l */ -/* 8067D23C A8 1E 05 C4 */ lha r0, 0x5c4(r30) -/* 8067D240 2C 00 00 01 */ cmpwi r0, 1 -/* 8067D244 41 82 00 8C */ beq lbl_8067D2D0 -/* 8067D248 40 80 01 AC */ bge lbl_8067D3F4 -/* 8067D24C 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D250 40 80 00 08 */ bge lbl_8067D258 -/* 8067D254 48 00 01 A0 */ b lbl_8067D3F4 -lbl_8067D258: -/* 8067D258 C0 1F 00 74 */ lfs f0, 0x74(r31) -/* 8067D25C D0 1E 05 2C */ stfs f0, 0x52c(r30) -/* 8067D260 38 00 00 01 */ li r0, 1 -/* 8067D264 B0 1E 05 C4 */ sth r0, 0x5c4(r30) -/* 8067D268 88 1E 05 B9 */ lbz r0, 0x5b9(r30) -/* 8067D26C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 8067D270 41 82 00 10 */ beq lbl_8067D280 -/* 8067D274 38 00 27 10 */ li r0, 0x2710 -/* 8067D278 B0 1E 05 C6 */ sth r0, 0x5c6(r30) -/* 8067D27C 48 00 00 0C */ b lbl_8067D288 -lbl_8067D280: -/* 8067D280 38 00 00 64 */ li r0, 0x64 -/* 8067D284 B0 1E 05 C6 */ sth r0, 0x5c6(r30) -lbl_8067D288: -/* 8067D288 C0 3F 00 78 */ lfs f1, 0x78(r31) -/* 8067D28C 4B BE A6 C9 */ bl cM_rndF__Ff -/* 8067D290 FC 00 08 1E */ fctiwz f0, f1 -/* 8067D294 D8 01 00 28 */ stfd f0, 0x28(r1) -/* 8067D298 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 8067D29C B0 1E 04 E8 */ sth r0, 0x4e8(r30) -/* 8067D2A0 80 1E 04 A4 */ lwz r0, 0x4a4(r30) -/* 8067D2A4 90 01 00 0C */ stw r0, 0xc(r1) -/* 8067D2A8 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 8067D2AC 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 8067D2B0 38 81 00 0C */ addi r4, r1, 0xc -/* 8067D2B4 4B 99 C5 45 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 8067D2B8 28 03 00 00 */ cmplwi r3, 0 -/* 8067D2BC 41 82 00 14 */ beq lbl_8067D2D0 -/* 8067D2C0 C0 03 04 F8 */ lfs f0, 0x4f8(r3) -/* 8067D2C4 D0 1E 05 D0 */ stfs f0, 0x5d0(r30) -/* 8067D2C8 C0 03 05 00 */ lfs f0, 0x500(r3) -/* 8067D2CC D0 1E 05 D4 */ stfs f0, 0x5d4(r30) -lbl_8067D2D0: -/* 8067D2D0 88 1E 05 B9 */ lbz r0, 0x5b9(r30) -/* 8067D2D4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 8067D2D8 41 82 00 EC */ beq lbl_8067D3C4 -/* 8067D2DC 38 00 00 56 */ li r0, 0x56 -/* 8067D2E0 B0 01 00 08 */ sth r0, 8(r1) -/* 8067D2E4 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 8067D2E8 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 8067D2EC 38 81 00 08 */ addi r4, r1, 8 -/* 8067D2F0 4B 99 C5 09 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 8067D2F4 7C 64 1B 79 */ or. r4, r3, r3 -/* 8067D2F8 41 82 00 BC */ beq lbl_8067D3B4 -/* 8067D2FC 38 61 00 10 */ addi r3, r1, 0x10 -/* 8067D300 38 84 05 38 */ addi r4, r4, 0x538 -/* 8067D304 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 8067D308 4B BE 98 2D */ bl __mi__4cXyzCFRC3Vec -/* 8067D30C C0 21 00 10 */ lfs f1, 0x10(r1) -/* 8067D310 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 8067D314 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 8067D318 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8067D31C C0 41 00 18 */ lfs f2, 0x18(r1) -/* 8067D320 D0 41 00 24 */ stfs f2, 0x24(r1) -/* 8067D324 4B BE A3 51 */ bl cM_atan2s__Fff -/* 8067D328 7C 64 1B 78 */ mr r4, r3 -/* 8067D32C A8 1E 04 DE */ lha r0, 0x4de(r30) -/* 8067D330 7C 00 20 50 */ subf r0, r0, r4 -/* 8067D334 7C 00 07 34 */ extsh r0, r0 -/* 8067D338 2C 00 10 00 */ cmpwi r0, 0x1000 -/* 8067D33C 40 80 00 68 */ bge lbl_8067D3A4 -/* 8067D340 2C 00 F0 00 */ cmpwi r0, -4096 -/* 8067D344 40 81 00 60 */ ble lbl_8067D3A4 -/* 8067D348 38 7E 04 DE */ addi r3, r30, 0x4de -/* 8067D34C 38 A0 00 02 */ li r5, 2 -/* 8067D350 38 C0 00 19 */ li r6, 0x19 -/* 8067D354 4B BF 32 B5 */ bl cLib_addCalcAngleS2__FPssss -/* 8067D358 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 8067D35C EC 20 00 32 */ fmuls f1, f0, f0 -/* 8067D360 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 8067D364 EC 00 00 32 */ fmuls f0, f0, f0 -/* 8067D368 EC 41 00 2A */ fadds f2, f1, f0 -/* 8067D36C C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 8067D370 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8067D374 40 81 00 0C */ ble lbl_8067D380 -/* 8067D378 FC 00 10 34 */ frsqrte f0, f2 -/* 8067D37C EC 40 00 B2 */ fmuls f2, f0, f2 -lbl_8067D380: -/* 8067D380 C0 21 00 20 */ lfs f1, 0x20(r1) -/* 8067D384 4B BE A2 F1 */ bl cM_atan2s__Fff -/* 8067D388 7C 03 00 D0 */ neg r0, r3 -/* 8067D38C 7C 04 07 34 */ extsh r4, r0 -/* 8067D390 38 7E 04 DC */ addi r3, r30, 0x4dc -/* 8067D394 38 A0 00 02 */ li r5, 2 -/* 8067D398 38 C0 00 19 */ li r6, 0x19 -/* 8067D39C 4B BF 32 6D */ bl cLib_addCalcAngleS2__FPssss -/* 8067D3A0 48 00 00 30 */ b lbl_8067D3D0 -lbl_8067D3A4: -/* 8067D3A4 A8 7E 04 DC */ lha r3, 0x4dc(r30) -/* 8067D3A8 38 03 00 41 */ addi r0, r3, 0x41 -/* 8067D3AC B0 1E 04 DC */ sth r0, 0x4dc(r30) -/* 8067D3B0 48 00 00 20 */ b lbl_8067D3D0 -lbl_8067D3B4: -/* 8067D3B4 A8 7E 04 DC */ lha r3, 0x4dc(r30) -/* 8067D3B8 38 03 00 41 */ addi r0, r3, 0x41 -/* 8067D3BC B0 1E 04 DC */ sth r0, 0x4dc(r30) -/* 8067D3C0 48 00 00 10 */ b lbl_8067D3D0 -lbl_8067D3C4: -/* 8067D3C4 A8 7E 04 DC */ lha r3, 0x4dc(r30) -/* 8067D3C8 38 03 00 41 */ addi r0, r3, 0x41 -/* 8067D3CC B0 1E 04 DC */ sth r0, 0x4dc(r30) -lbl_8067D3D0: -/* 8067D3D0 A8 1E 04 DE */ lha r0, 0x4de(r30) -/* 8067D3D4 B0 1E 04 E6 */ sth r0, 0x4e6(r30) -/* 8067D3D8 A8 1E 04 DC */ lha r0, 0x4dc(r30) -/* 8067D3DC B0 1E 04 E4 */ sth r0, 0x4e4(r30) -/* 8067D3E0 A8 1E 05 C6 */ lha r0, 0x5c6(r30) -/* 8067D3E4 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D3E8 40 82 00 0C */ bne lbl_8067D3F4 -/* 8067D3EC 7F C3 F3 78 */ mr r3, r30 -/* 8067D3F0 4B 99 C8 8D */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_8067D3F4: -/* 8067D3F4 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 8067D3F8 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 8067D3FC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8067D400 7C 08 03 A6 */ mtlr r0 -/* 8067D404 38 21 00 40 */ addi r1, r1, 0x40 -/* 8067D408 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_spin__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_spin__FP13e_arrow_class.s deleted file mode 100644 index 351f172ef26..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_spin__FP13e_arrow_class.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8067D530: -/* 8067D530 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067D534 7C 08 02 A6 */ mflr r0 -/* 8067D538 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067D53C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067D540 7C 7F 1B 78 */ mr r31, r3 -/* 8067D544 A8 03 05 C4 */ lha r0, 0x5c4(r3) -/* 8067D548 2C 00 00 01 */ cmpwi r0, 1 -/* 8067D54C 41 82 00 58 */ beq lbl_8067D5A4 -/* 8067D550 40 80 00 10 */ bge lbl_8067D560 -/* 8067D554 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D558 40 80 00 14 */ bge lbl_8067D56C -/* 8067D55C 48 00 00 8C */ b lbl_8067D5E8 -lbl_8067D560: -/* 8067D560 2C 00 00 03 */ cmpwi r0, 3 -/* 8067D564 40 80 00 84 */ bge lbl_8067D5E8 -/* 8067D568 48 00 00 48 */ b lbl_8067D5B0 -lbl_8067D56C: -/* 8067D56C 38 00 00 19 */ li r0, 0x19 -/* 8067D570 B0 1F 05 C6 */ sth r0, 0x5c6(r31) -/* 8067D574 3C 60 80 68 */ lis r3, lit_4367@ha /* 0x8067E8A0@ha */ -/* 8067D578 C0 23 E8 A0 */ lfs f1, lit_4367@l(r3) /* 0x8067E8A0@l */ -/* 8067D57C 4B BE A3 D9 */ bl cM_rndF__Ff -/* 8067D580 3C 60 80 68 */ lis r3, lit_4548@ha /* 0x8067E8D4@ha */ -/* 8067D584 C0 03 E8 D4 */ lfs f0, lit_4548@l(r3) /* 0x8067E8D4@l */ -/* 8067D588 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8067D58C 40 81 00 10 */ ble lbl_8067D59C -/* 8067D590 38 00 00 01 */ li r0, 1 -/* 8067D594 B0 1F 05 C4 */ sth r0, 0x5c4(r31) -/* 8067D598 48 00 00 0C */ b lbl_8067D5A4 -lbl_8067D59C: -/* 8067D59C 38 00 00 02 */ li r0, 2 -/* 8067D5A0 B0 1F 05 C4 */ sth r0, 0x5c4(r31) -lbl_8067D5A4: -/* 8067D5A4 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 8067D5A8 38 03 FC 00 */ addi r0, r3, -1024 -/* 8067D5AC B0 1F 04 E6 */ sth r0, 0x4e6(r31) -lbl_8067D5B0: -/* 8067D5B0 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 8067D5B4 38 03 02 00 */ addi r0, r3, 0x200 -/* 8067D5B8 B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 8067D5BC A8 7F 04 E4 */ lha r3, 0x4e4(r31) -/* 8067D5C0 38 03 EE 00 */ addi r0, r3, -4608 -/* 8067D5C4 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 8067D5C8 A8 7F 04 DC */ lha r3, 0x4dc(r31) -/* 8067D5CC 38 03 02 BC */ addi r0, r3, 0x2bc -/* 8067D5D0 B0 1F 04 DC */ sth r0, 0x4dc(r31) -/* 8067D5D4 A8 1F 05 C6 */ lha r0, 0x5c6(r31) -/* 8067D5D8 2C 00 00 00 */ cmpwi r0, 0 -/* 8067D5DC 40 82 00 0C */ bne lbl_8067D5E8 -/* 8067D5E0 7F E3 FB 78 */ mr r3, r31 -/* 8067D5E4 4B 99 C6 99 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_8067D5E8: -/* 8067D5E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067D5EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067D5F0 7C 08 03 A6 */ mtlr r0 -/* 8067D5F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067D5F8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/fire_eff_set__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/fire_eff_set__FP13e_arrow_class.s deleted file mode 100644 index 3c5a3f25ca0..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/fire_eff_set__FP13e_arrow_class.s +++ /dev/null @@ -1,209 +0,0 @@ -lbl_8067C874: -/* 8067C874 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 8067C878 7C 08 02 A6 */ mflr r0 -/* 8067C87C 90 01 00 74 */ stw r0, 0x74(r1) -/* 8067C880 39 61 00 70 */ addi r11, r1, 0x70 -/* 8067C884 4B CE 59 3D */ bl _savegpr_22 -/* 8067C888 7C 78 1B 78 */ mr r24, r3 -/* 8067C88C 3C 60 80 68 */ lis r3, lit_3983@ha /* 0x8067E880@ha */ -/* 8067C890 3B 83 E8 80 */ addi r28, r3, lit_3983@l /* 0x8067E880@l */ -/* 8067C894 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */ -/* 8067C898 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */ -/* 8067C89C 80 63 00 00 */ lwz r3, 0(r3) -/* 8067C8A0 A8 98 04 E6 */ lha r4, 0x4e6(r24) -/* 8067C8A4 4B 98 FB 39 */ bl mDoMtx_YrotS__FPA4_fs -/* 8067C8A8 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */ -/* 8067C8AC 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */ -/* 8067C8B0 80 63 00 00 */ lwz r3, 0(r3) -/* 8067C8B4 A8 98 04 E4 */ lha r4, 0x4e4(r24) -/* 8067C8B8 4B 98 FA E5 */ bl mDoMtx_XrotM__FPA4_fs -/* 8067C8BC C0 1C 00 0C */ lfs f0, 0xc(r28) -/* 8067C8C0 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 8067C8C4 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8067C8C8 A8 18 05 C2 */ lha r0, 0x5c2(r24) -/* 8067C8CC 2C 00 00 05 */ cmpwi r0, 5 -/* 8067C8D0 40 82 00 10 */ bne lbl_8067C8E0 -/* 8067C8D4 C0 1C 00 10 */ lfs f0, 0x10(r28) -/* 8067C8D8 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 8067C8DC 48 00 00 0C */ b lbl_8067C8E8 -lbl_8067C8E0: -/* 8067C8E0 C0 1C 00 14 */ lfs f0, 0x14(r28) -/* 8067C8E4 D0 01 00 3C */ stfs f0, 0x3c(r1) -lbl_8067C8E8: -/* 8067C8E8 38 61 00 34 */ addi r3, r1, 0x34 -/* 8067C8EC 38 81 00 28 */ addi r4, r1, 0x28 -/* 8067C8F0 4B BF 45 FD */ bl MtxPosition__FP4cXyzP4cXyz -/* 8067C8F4 38 61 00 28 */ addi r3, r1, 0x28 -/* 8067C8F8 38 98 04 D0 */ addi r4, r24, 0x4d0 -/* 8067C8FC 7C 65 1B 78 */ mr r5, r3 -/* 8067C900 4B CC A7 91 */ bl PSVECAdd -/* 8067C904 88 18 05 B8 */ lbz r0, 0x5b8(r24) -/* 8067C908 28 00 00 02 */ cmplwi r0, 2 -/* 8067C90C 40 82 00 20 */ bne lbl_8067C92C -/* 8067C910 3B 40 00 02 */ li r26, 2 -/* 8067C914 3C 60 00 01 */ lis r3, 0x0001 /* 0x000086A5@ha */ -/* 8067C918 38 03 86 A5 */ addi r0, r3, 0x86A5 /* 0x000086A5@l */ -/* 8067C91C B0 01 00 24 */ sth r0, 0x24(r1) -/* 8067C920 38 03 86 A6 */ addi r0, r3, -31066 -/* 8067C924 B0 01 00 26 */ sth r0, 0x26(r1) -/* 8067C928 48 00 00 14 */ b lbl_8067C93C -lbl_8067C92C: -/* 8067C92C 3B 40 00 01 */ li r26, 1 -/* 8067C930 3C 60 00 01 */ lis r3, 0x0001 /* 0x00008113@ha */ -/* 8067C934 38 03 81 13 */ addi r0, r3, 0x8113 /* 0x00008113@l */ -/* 8067C938 B0 01 00 24 */ sth r0, 0x24(r1) -lbl_8067C93C: -/* 8067C93C C0 38 04 F8 */ lfs f1, 0x4f8(r24) -/* 8067C940 C0 18 05 D0 */ lfs f0, 0x5d0(r24) -/* 8067C944 EC 01 00 2A */ fadds f0, f1, f0 -/* 8067C948 D0 18 05 D8 */ stfs f0, 0x5d8(r24) -/* 8067C94C C0 18 04 FC */ lfs f0, 0x4fc(r24) -/* 8067C950 D0 18 05 DC */ stfs f0, 0x5dc(r24) -/* 8067C954 C0 38 05 00 */ lfs f1, 0x500(r24) -/* 8067C958 C0 18 05 D4 */ lfs f0, 0x5d4(r24) -/* 8067C95C EC 01 00 2A */ fadds f0, f1, f0 -/* 8067C960 D0 18 05 E0 */ stfs f0, 0x5e0(r24) -/* 8067C964 88 18 05 B8 */ lbz r0, 0x5b8(r24) -/* 8067C968 28 00 00 01 */ cmplwi r0, 1 -/* 8067C96C 40 82 00 18 */ bne lbl_8067C984 -/* 8067C970 38 78 05 D8 */ addi r3, r24, 0x5d8 -/* 8067C974 7C 64 1B 78 */ mr r4, r3 -/* 8067C978 C0 3C 00 18 */ lfs f1, 0x18(r28) -/* 8067C97C 4B CC A7 5D */ bl PSVECScale -/* 8067C980 48 00 00 14 */ b lbl_8067C994 -lbl_8067C984: -/* 8067C984 38 78 05 D8 */ addi r3, r24, 0x5d8 -/* 8067C988 7C 64 1B 78 */ mr r4, r3 -/* 8067C98C C0 3C 00 1C */ lfs f1, 0x1c(r28) -/* 8067C990 4B CC A7 49 */ bl PSVECScale -lbl_8067C994: -/* 8067C994 3B 20 00 00 */ li r25, 0 -/* 8067C998 3A E0 00 00 */ li r23, 0 -/* 8067C99C 3A C0 00 00 */ li r22, 0 -/* 8067C9A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067C9A4 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067C9A8 3B 78 05 D8 */ addi r27, r24, 0x5d8 -/* 8067C9AC 3B C1 00 24 */ addi r30, r1, 0x24 -/* 8067C9B0 48 00 01 98 */ b lbl_8067CB48 -lbl_8067C9B4: -/* 8067C9B4 80 7D 5D 3C */ lwz r3, 0x5d3c(r29) -/* 8067C9B8 38 00 00 FF */ li r0, 0xff -/* 8067C9BC 90 01 00 08 */ stw r0, 8(r1) -/* 8067C9C0 38 80 00 00 */ li r4, 0 -/* 8067C9C4 90 81 00 0C */ stw r4, 0xc(r1) -/* 8067C9C8 38 00 FF FF */ li r0, -1 -/* 8067C9CC 90 01 00 10 */ stw r0, 0x10(r1) -/* 8067C9D0 90 81 00 14 */ stw r4, 0x14(r1) -/* 8067C9D4 90 81 00 18 */ stw r4, 0x18(r1) -/* 8067C9D8 90 81 00 1C */ stw r4, 0x1c(r1) -/* 8067C9DC 3B F6 09 E4 */ addi r31, r22, 0x9e4 -/* 8067C9E0 7C 98 F8 2E */ lwzx r4, r24, r31 -/* 8067C9E4 38 A0 00 00 */ li r5, 0 -/* 8067C9E8 7C DE BA 2E */ lhzx r6, r30, r23 -/* 8067C9EC 38 E1 00 28 */ addi r7, r1, 0x28 -/* 8067C9F0 39 00 00 00 */ li r8, 0 -/* 8067C9F4 39 38 04 E4 */ addi r9, r24, 0x4e4 -/* 8067C9F8 39 40 00 00 */ li r10, 0 -/* 8067C9FC C0 3C 00 20 */ lfs f1, 0x20(r28) -/* 8067CA00 4B 9D 0A CD */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 8067CA04 7C 78 F9 2E */ stwx r3, r24, r31 -/* 8067CA08 2C 19 00 00 */ cmpwi r25, 0 -/* 8067CA0C 40 82 01 30 */ bne lbl_8067CB3C -/* 8067CA10 80 7D 5D 3C */ lwz r3, 0x5d3c(r29) -/* 8067CA14 38 63 02 10 */ addi r3, r3, 0x210 -/* 8067CA18 7C 98 F8 2E */ lwzx r4, r24, r31 -/* 8067CA1C 4B 9C EE FD */ bl getEmitter__Q213dPa_control_c7level_cFUl -/* 8067CA20 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8067CA24 41 82 01 18 */ beq lbl_8067CB3C -/* 8067CA28 38 78 05 D8 */ addi r3, r24, 0x5d8 -/* 8067CA2C 4B CC A7 0D */ bl PSVECSquareMag -/* 8067CA30 C0 1C 00 0C */ lfs f0, 0xc(r28) -/* 8067CA34 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8067CA38 40 81 00 58 */ ble lbl_8067CA90 -/* 8067CA3C FC 00 08 34 */ frsqrte f0, f1 -/* 8067CA40 C8 9C 00 28 */ lfd f4, 0x28(r28) -/* 8067CA44 FC 44 00 32 */ fmul f2, f4, f0 -/* 8067CA48 C8 7C 00 30 */ lfd f3, 0x30(r28) -/* 8067CA4C FC 00 00 32 */ fmul f0, f0, f0 -/* 8067CA50 FC 01 00 32 */ fmul f0, f1, f0 -/* 8067CA54 FC 03 00 28 */ fsub f0, f3, f0 -/* 8067CA58 FC 02 00 32 */ fmul f0, f2, f0 -/* 8067CA5C FC 44 00 32 */ fmul f2, f4, f0 -/* 8067CA60 FC 00 00 32 */ fmul f0, f0, f0 -/* 8067CA64 FC 01 00 32 */ fmul f0, f1, f0 -/* 8067CA68 FC 03 00 28 */ fsub f0, f3, f0 -/* 8067CA6C FC 02 00 32 */ fmul f0, f2, f0 -/* 8067CA70 FC 44 00 32 */ fmul f2, f4, f0 -/* 8067CA74 FC 00 00 32 */ fmul f0, f0, f0 -/* 8067CA78 FC 01 00 32 */ fmul f0, f1, f0 -/* 8067CA7C FC 03 00 28 */ fsub f0, f3, f0 -/* 8067CA80 FC 02 00 32 */ fmul f0, f2, f0 -/* 8067CA84 FC 21 00 32 */ fmul f1, f1, f0 -/* 8067CA88 FC 20 08 18 */ frsp f1, f1 -/* 8067CA8C 48 00 00 88 */ b lbl_8067CB14 -lbl_8067CA90: -/* 8067CA90 C8 1C 00 38 */ lfd f0, 0x38(r28) -/* 8067CA94 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8067CA98 40 80 00 10 */ bge lbl_8067CAA8 -/* 8067CA9C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8067CAA0 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 8067CAA4 48 00 00 70 */ b lbl_8067CB14 -lbl_8067CAA8: -/* 8067CAA8 D0 21 00 20 */ stfs f1, 0x20(r1) -/* 8067CAAC 80 81 00 20 */ lwz r4, 0x20(r1) -/* 8067CAB0 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8067CAB4 3C 00 7F 80 */ lis r0, 0x7f80 -/* 8067CAB8 7C 03 00 00 */ cmpw r3, r0 -/* 8067CABC 41 82 00 14 */ beq lbl_8067CAD0 -/* 8067CAC0 40 80 00 40 */ bge lbl_8067CB00 -/* 8067CAC4 2C 03 00 00 */ cmpwi r3, 0 -/* 8067CAC8 41 82 00 20 */ beq lbl_8067CAE8 -/* 8067CACC 48 00 00 34 */ b lbl_8067CB00 -lbl_8067CAD0: -/* 8067CAD0 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8067CAD4 41 82 00 0C */ beq lbl_8067CAE0 -/* 8067CAD8 38 00 00 01 */ li r0, 1 -/* 8067CADC 48 00 00 28 */ b lbl_8067CB04 -lbl_8067CAE0: -/* 8067CAE0 38 00 00 02 */ li r0, 2 -/* 8067CAE4 48 00 00 20 */ b lbl_8067CB04 -lbl_8067CAE8: -/* 8067CAE8 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8067CAEC 41 82 00 0C */ beq lbl_8067CAF8 -/* 8067CAF0 38 00 00 05 */ li r0, 5 -/* 8067CAF4 48 00 00 10 */ b lbl_8067CB04 -lbl_8067CAF8: -/* 8067CAF8 38 00 00 03 */ li r0, 3 -/* 8067CAFC 48 00 00 08 */ b lbl_8067CB04 -lbl_8067CB00: -/* 8067CB00 38 00 00 04 */ li r0, 4 -lbl_8067CB04: -/* 8067CB04 2C 00 00 01 */ cmpwi r0, 1 -/* 8067CB08 40 82 00 0C */ bne lbl_8067CB14 -/* 8067CB0C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8067CB10 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_8067CB14: -/* 8067CB14 C0 1C 00 20 */ lfs f0, 0x20(r28) -/* 8067CB18 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8067CB1C 40 81 00 18 */ ble lbl_8067CB34 -/* 8067CB20 3C 60 80 45 */ lis r3, mParticleTracePCB__13dPa_control_c@ha /* 0x80450EC8@ha */ -/* 8067CB24 38 03 0E C8 */ addi r0, r3, mParticleTracePCB__13dPa_control_c@l /* 0x80450EC8@l */ -/* 8067CB28 90 1F 00 F0 */ stw r0, 0xf0(r31) -/* 8067CB2C 93 7F 00 C0 */ stw r27, 0xc0(r31) -/* 8067CB30 48 00 00 0C */ b lbl_8067CB3C -lbl_8067CB34: -/* 8067CB34 38 00 00 00 */ li r0, 0 -/* 8067CB38 90 1F 00 F0 */ stw r0, 0xf0(r31) -lbl_8067CB3C: -/* 8067CB3C 3B 39 00 01 */ addi r25, r25, 1 -/* 8067CB40 3A F7 00 02 */ addi r23, r23, 2 -/* 8067CB44 3A D6 00 04 */ addi r22, r22, 4 -lbl_8067CB48: -/* 8067CB48 7C 19 D0 00 */ cmpw r25, r26 -/* 8067CB4C 41 80 FE 68 */ blt lbl_8067C9B4 -/* 8067CB50 39 61 00 70 */ addi r11, r1, 0x70 -/* 8067CB54 4B CE 56 B9 */ bl _restgpr_22 -/* 8067CB58 80 01 00 74 */ lwz r0, 0x74(r1) -/* 8067CB5C 7C 08 03 A6 */ mtlr r0 -/* 8067CB60 38 21 00 70 */ addi r1, r1, 0x70 -/* 8067CB64 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E858.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E858.s deleted file mode 100644 index 6bb1a4ebb35..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E858.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8067E858: -/* 8067E858 38 63 FF EC */ addi r3, r3, -20 -/* 8067E85C 4B FF F2 14 */ b __dt__14dBgS_ObjGndChkFv diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E860.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E860.s deleted file mode 100644 index 418768431eb..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E860.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8067E860: -/* 8067E860 38 63 FF B4 */ addi r3, r3, -76 -/* 8067E864 4B FF F2 0C */ b __dt__14dBgS_ObjGndChkFv diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E868.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E868.s deleted file mode 100644 index bae6d6172ae..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E868.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8067E868: -/* 8067E868 38 63 FF C4 */ addi r3, r3, -60 -/* 8067E86C 4B FF F2 04 */ b __dt__14dBgS_ObjGndChkFv diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/hit_check__FP13e_arrow_class.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/hit_check__FP13e_arrow_class.s deleted file mode 100644 index a8c1c316232..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/hit_check__FP13e_arrow_class.s +++ /dev/null @@ -1,435 +0,0 @@ -lbl_8067CBA4: -/* 8067CBA4 94 21 FE 80 */ stwu r1, -0x180(r1) -/* 8067CBA8 7C 08 02 A6 */ mflr r0 -/* 8067CBAC 90 01 01 84 */ stw r0, 0x184(r1) -/* 8067CBB0 39 61 01 80 */ addi r11, r1, 0x180 -/* 8067CBB4 4B CE 56 1D */ bl _savegpr_26 -/* 8067CBB8 7C 7D 1B 78 */ mr r29, r3 -/* 8067CBBC 3C 60 80 68 */ lis r3, lit_1109@ha /* 0x8067EB18@ha */ -/* 8067CBC0 3B C3 EB 18 */ addi r30, r3, lit_1109@l /* 0x8067EB18@l */ -/* 8067CBC4 3C 60 80 68 */ lis r3, lit_3983@ha /* 0x8067E880@ha */ -/* 8067CBC8 3B E3 E8 80 */ addi r31, r3, lit_3983@l /* 0x8067E880@l */ -/* 8067CBCC 38 61 01 0C */ addi r3, r1, 0x10c -/* 8067CBD0 4B 9F AB E1 */ bl __ct__18dBgS_ObjGndChk_SplFv -/* 8067CBD4 C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 8067CBD8 D0 01 00 90 */ stfs f0, 0x90(r1) -/* 8067CBDC C0 3D 04 D4 */ lfs f1, 0x4d4(r29) -/* 8067CBE0 D0 21 00 94 */ stfs f1, 0x94(r1) -/* 8067CBE4 C0 1D 04 D8 */ lfs f0, 0x4d8(r29) -/* 8067CBE8 D0 01 00 98 */ stfs f0, 0x98(r1) -/* 8067CBEC C0 1F 00 40 */ lfs f0, 0x40(r31) -/* 8067CBF0 EC 01 00 2A */ fadds f0, f1, f0 -/* 8067CBF4 D0 01 00 94 */ stfs f0, 0x94(r1) -/* 8067CBF8 38 61 01 0C */ addi r3, r1, 0x10c -/* 8067CBFC 38 81 00 90 */ addi r4, r1, 0x90 -/* 8067CC00 4B BE B1 29 */ bl SetPos__11cBgS_GndChkFPC4cXyz -/* 8067CC04 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067CC08 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067CC0C 3B 63 0F 38 */ addi r27, r3, 0xf38 -/* 8067CC10 7F 63 DB 78 */ mr r3, r27 -/* 8067CC14 38 81 01 0C */ addi r4, r1, 0x10c -/* 8067CC18 4B 9F 78 89 */ bl GroundCross__4cBgSFP11cBgS_GndChk -/* 8067CC1C C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 8067CC20 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8067CC24 4C 40 13 82 */ cror 2, 0, 2 -/* 8067CC28 40 82 00 30 */ bne lbl_8067CC58 -/* 8067CC2C C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 8067CC30 D0 1D 05 2C */ stfs f0, 0x52c(r29) -/* 8067CC34 D0 1D 04 F8 */ stfs f0, 0x4f8(r29) -/* 8067CC38 D0 1D 04 FC */ stfs f0, 0x4fc(r29) -/* 8067CC3C D0 1D 05 00 */ stfs f0, 0x500(r29) -/* 8067CC40 7F A3 EB 78 */ mr r3, r29 -/* 8067CC44 4B 99 D0 39 */ bl fopAcM_delete__FP10fopAc_ac_c -/* 8067CC48 38 61 01 0C */ addi r3, r1, 0x10c -/* 8067CC4C 38 80 FF FF */ li r4, -1 -/* 8067CC50 4B 9F AB F9 */ bl __dt__18dBgS_ObjGndChk_SplFv -/* 8067CC54 48 00 05 B0 */ b lbl_8067D204 -lbl_8067CC58: -/* 8067CC58 38 61 00 9C */ addi r3, r1, 0x9c -/* 8067CC5C 4B 9F B5 7D */ bl __ct__16dBgS_ArrowLinChkFv -/* 8067CC60 C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 8067CC64 D0 01 00 84 */ stfs f0, 0x84(r1) -/* 8067CC68 C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 8067CC6C D0 01 00 88 */ stfs f0, 0x88(r1) -/* 8067CC70 C0 1D 04 D8 */ lfs f0, 0x4d8(r29) -/* 8067CC74 D0 01 00 8C */ stfs f0, 0x8c(r1) -/* 8067CC78 3B 80 00 00 */ li r28, 0 -lbl_8067CC7C: -/* 8067CC7C 38 61 00 84 */ addi r3, r1, 0x84 -/* 8067CC80 38 9D 04 F8 */ addi r4, r29, 0x4f8 -/* 8067CC84 7C 65 1B 78 */ mr r5, r3 -/* 8067CC88 4B CC A4 2D */ bl PSVECSubtract -/* 8067CC8C 3B 9C 00 01 */ addi r28, r28, 1 -/* 8067CC90 2C 1C 00 02 */ cmpwi r28, 2 -/* 8067CC94 41 80 FF E8 */ blt lbl_8067CC7C -/* 8067CC98 38 61 00 9C */ addi r3, r1, 0x9c -/* 8067CC9C 38 81 00 84 */ addi r4, r1, 0x84 -/* 8067CCA0 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 8067CCA4 7F A6 EB 78 */ mr r6, r29 -/* 8067CCA8 4B 9F B0 BD */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c -/* 8067CCAC 7F 63 DB 78 */ mr r3, r27 -/* 8067CCB0 38 81 00 9C */ addi r4, r1, 0x9c -/* 8067CCB4 4B 9F 77 01 */ bl LineCross__4cBgSFP11cBgS_LinChk -/* 8067CCB8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8067CCBC 41 82 01 A0 */ beq lbl_8067CE5C -/* 8067CCC0 C0 01 00 CC */ lfs f0, 0xcc(r1) -/* 8067CCC4 D0 1D 04 D0 */ stfs f0, 0x4d0(r29) -/* 8067CCC8 C0 01 00 D0 */ lfs f0, 0xd0(r1) -/* 8067CCCC D0 1D 04 D4 */ stfs f0, 0x4d4(r29) -/* 8067CCD0 C0 01 00 D4 */ lfs f0, 0xd4(r1) -/* 8067CCD4 D0 1D 04 D8 */ stfs f0, 0x4d8(r29) -/* 8067CCD8 7F 63 DB 78 */ mr r3, r27 -/* 8067CCDC 3B 81 00 B0 */ addi r28, r1, 0xb0 -/* 8067CCE0 7F 84 E3 78 */ mr r4, r28 -/* 8067CCE4 7F A5 EB 78 */ mr r5, r29 -/* 8067CCE8 38 DD 04 D0 */ addi r6, r29, 0x4d0 -/* 8067CCEC 4B 9F 8F 09 */ bl ArrowStickCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_cR4cXyz -/* 8067CCF0 88 1D 05 B9 */ lbz r0, 0x5b9(r29) -/* 8067CCF4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 8067CCF8 41 82 00 20 */ beq lbl_8067CD18 -/* 8067CCFC 38 00 00 04 */ li r0, 4 -/* 8067CD00 B0 1D 05 C2 */ sth r0, 0x5c2(r29) -/* 8067CD04 C0 1F 00 44 */ lfs f0, 0x44(r31) -/* 8067CD08 D0 1D 04 D0 */ stfs f0, 0x4d0(r29) -/* 8067CD0C C0 1F 00 48 */ lfs f0, 0x48(r31) -/* 8067CD10 D0 1D 04 D4 */ stfs f0, 0x4d4(r29) -/* 8067CD14 48 00 00 2C */ b lbl_8067CD40 -lbl_8067CD18: -/* 8067CD18 38 00 00 01 */ li r0, 1 -/* 8067CD1C B0 1D 05 C2 */ sth r0, 0x5c2(r29) -/* 8067CD20 38 61 00 54 */ addi r3, r1, 0x54 -/* 8067CD24 38 9D 04 F8 */ addi r4, r29, 0x4f8 -/* 8067CD28 C0 3F 00 4C */ lfs f1, 0x4c(r31) -/* 8067CD2C 4B BE 9E 59 */ bl __ml__4cXyzCFf -/* 8067CD30 38 7D 04 D0 */ addi r3, r29, 0x4d0 -/* 8067CD34 38 81 00 54 */ addi r4, r1, 0x54 -/* 8067CD38 7C 65 1B 78 */ mr r5, r3 -/* 8067CD3C 4B CC A3 79 */ bl PSVECSubtract -lbl_8067CD40: -/* 8067CD40 38 00 00 00 */ li r0, 0 -/* 8067CD44 B0 1D 05 C4 */ sth r0, 0x5c4(r29) -/* 8067CD48 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 8067CD4C D0 1D 05 2C */ stfs f0, 0x52c(r29) -/* 8067CD50 D0 1D 04 F8 */ stfs f0, 0x4f8(r29) -/* 8067CD54 D0 1D 04 FC */ stfs f0, 0x4fc(r29) -/* 8067CD58 D0 1D 05 00 */ stfs f0, 0x500(r29) -/* 8067CD5C D0 1D 05 D4 */ stfs f0, 0x5d4(r29) -/* 8067CD60 D0 1D 05 D0 */ stfs f0, 0x5d0(r29) -/* 8067CD64 C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 8067CD68 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 8067CD6C C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 8067CD70 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 8067CD74 C0 1D 04 D8 */ lfs f0, 0x4d8(r29) -/* 8067CD78 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 8067CD7C 38 61 00 48 */ addi r3, r1, 0x48 -/* 8067CD80 38 80 00 03 */ li r4, 3 -/* 8067CD84 28 1D 00 00 */ cmplwi r29, 0 -/* 8067CD88 41 82 00 0C */ beq lbl_8067CD94 -/* 8067CD8C 80 BD 00 04 */ lwz r5, 4(r29) -/* 8067CD90 48 00 00 08 */ b lbl_8067CD98 -lbl_8067CD94: -/* 8067CD94 38 A0 FF FF */ li r5, -1 -lbl_8067CD98: -/* 8067CD98 38 C0 00 0A */ li r6, 0xa -/* 8067CD9C 4B B2 B4 25 */ bl dKy_Sound_set__F4cXyziUii -/* 8067CDA0 7F 63 DB 78 */ mr r3, r27 -/* 8067CDA4 7F 84 E3 78 */ mr r4, r28 -/* 8067CDA8 4B 9F 80 A9 */ bl GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo -/* 8067CDAC 7C 7B 1B 78 */ mr r27, r3 -/* 8067CDB0 7F 83 E3 78 */ mr r3, r28 -/* 8067CDB4 4B B2 E7 0D */ bl dKy_pol_sound_get__FPC13cBgS_PolyInfo -/* 8067CDB8 38 00 00 05 */ li r0, 5 -/* 8067CDBC B0 1D 05 CE */ sth r0, 0x5ce(r29) -/* 8067CDC0 2C 1B 00 05 */ cmpwi r27, 5 -/* 8067CDC4 40 82 00 0C */ bne lbl_8067CDD0 -/* 8067CDC8 38 00 00 14 */ li r0, 0x14 -/* 8067CDCC B0 1D 05 CE */ sth r0, 0x5ce(r29) -lbl_8067CDD0: -/* 8067CDD0 7F 83 E3 78 */ mr r3, r28 -/* 8067CDD4 4B B2 E6 ED */ bl dKy_pol_sound_get__FPC13cBgS_PolyInfo -/* 8067CDD8 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 8067CDDC 38 7D 0A 18 */ addi r3, r29, 0xa18 -/* 8067CDE0 3C 80 00 04 */ lis r4, 0x0004 /* 0x00040007@ha */ -/* 8067CDE4 38 84 00 07 */ addi r4, r4, 0x0007 /* 0x00040007@l */ -/* 8067CDE8 38 C0 00 00 */ li r6, 0 -/* 8067CDEC 4B C4 16 B9 */ bl startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase -/* 8067CDF0 C0 1F 00 50 */ lfs f0, 0x50(r31) -/* 8067CDF4 D0 01 00 78 */ stfs f0, 0x78(r1) -/* 8067CDF8 D0 01 00 7C */ stfs f0, 0x7c(r1) -/* 8067CDFC D0 01 00 80 */ stfs f0, 0x80(r1) -/* 8067CE00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067CE04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067CE08 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 8067CE0C 38 00 00 FF */ li r0, 0xff -/* 8067CE10 90 01 00 08 */ stw r0, 8(r1) -/* 8067CE14 38 80 00 00 */ li r4, 0 -/* 8067CE18 90 81 00 0C */ stw r4, 0xc(r1) -/* 8067CE1C 38 00 FF FF */ li r0, -1 -/* 8067CE20 90 01 00 10 */ stw r0, 0x10(r1) -/* 8067CE24 90 81 00 14 */ stw r4, 0x14(r1) -/* 8067CE28 90 81 00 18 */ stw r4, 0x18(r1) -/* 8067CE2C 90 81 00 1C */ stw r4, 0x1c(r1) -/* 8067CE30 80 9D 09 E0 */ lwz r4, 0x9e0(r29) -/* 8067CE34 38 A0 00 00 */ li r5, 0 -/* 8067CE38 38 C0 00 E6 */ li r6, 0xe6 -/* 8067CE3C 38 FD 04 D0 */ addi r7, r29, 0x4d0 -/* 8067CE40 39 1D 01 0C */ addi r8, r29, 0x10c -/* 8067CE44 39 3D 04 E4 */ addi r9, r29, 0x4e4 -/* 8067CE48 39 41 00 78 */ addi r10, r1, 0x78 -/* 8067CE4C C0 3F 00 20 */ lfs f1, 0x20(r31) -/* 8067CE50 4B 9D 06 7D */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 8067CE54 90 7D 09 E0 */ stw r3, 0x9e0(r29) -/* 8067CE58 48 00 03 94 */ b lbl_8067D1EC -lbl_8067CE5C: -/* 8067CE5C 38 61 00 3C */ addi r3, r1, 0x3c -/* 8067CE60 38 9D 04 F8 */ addi r4, r29, 0x4f8 -/* 8067CE64 C0 3F 00 54 */ lfs f1, 0x54(r31) -/* 8067CE68 4B BE 9D 1D */ bl __ml__4cXyzCFf -/* 8067CE6C 38 61 00 30 */ addi r3, r1, 0x30 -/* 8067CE70 38 9D 04 D0 */ addi r4, r29, 0x4d0 -/* 8067CE74 38 A1 00 3C */ addi r5, r1, 0x3c -/* 8067CE78 4B BE 9C 6D */ bl __pl__4cXyzCFRC3Vec -/* 8067CE7C C0 01 00 30 */ lfs f0, 0x30(r1) -/* 8067CE80 D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 8067CE84 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 8067CE88 D0 01 00 70 */ stfs f0, 0x70(r1) -/* 8067CE8C C0 01 00 38 */ lfs f0, 0x38(r1) -/* 8067CE90 D0 01 00 74 */ stfs f0, 0x74(r1) -/* 8067CE94 38 7D 08 7C */ addi r3, r29, 0x87c -/* 8067CE98 38 81 00 6C */ addi r4, r1, 0x6c -/* 8067CE9C 4B BF 27 AD */ bl SetC__8cM3dGSphFRC4cXyz -/* 8067CEA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067CEA4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067CEA8 3B 83 23 3C */ addi r28, r3, 0x233c -/* 8067CEAC 7F 83 E3 78 */ mr r3, r28 -/* 8067CEB0 38 9D 07 58 */ addi r4, r29, 0x758 -/* 8067CEB4 4B BE 7C F5 */ bl Set__4cCcSFP8cCcD_Obj -/* 8067CEB8 80 1D 06 7C */ lwz r0, 0x67c(r29) -/* 8067CEBC 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8067CEC0 41 82 01 60 */ beq lbl_8067D020 -/* 8067CEC4 3B 7D 06 78 */ addi r27, r29, 0x678 -/* 8067CEC8 7F 63 DB 78 */ mr r3, r27 -/* 8067CECC 4B A0 67 BD */ bl GetAc__22dCcD_GAtTgCoCommonBaseFv -/* 8067CED0 28 03 00 00 */ cmplwi r3, 0 -/* 8067CED4 41 82 01 4C */ beq lbl_8067D020 -/* 8067CED8 7F 63 DB 78 */ mr r3, r27 -/* 8067CEDC 4B A0 67 AD */ bl GetAc__22dCcD_GAtTgCoCommonBaseFv -/* 8067CEE0 A8 03 00 08 */ lha r0, 8(r3) -/* 8067CEE4 2C 00 00 FD */ cmpwi r0, 0xfd -/* 8067CEE8 40 82 01 38 */ bne lbl_8067D020 -/* 8067CEEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067CEF0 3B 63 61 C0 */ addi r27, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067CEF4 80 7B 5D B4 */ lwz r3, 0x5db4(r27) -/* 8067CEF8 4B A5 FB 35 */ bl checkWoodShieldEquipNotIronBall__9daAlink_cCFv -/* 8067CEFC 2C 03 00 00 */ cmpwi r3, 0 -/* 8067CF00 41 82 01 20 */ beq lbl_8067D020 -/* 8067CF04 38 00 00 03 */ li r0, 3 -/* 8067CF08 B0 1D 05 C2 */ sth r0, 0x5c2(r29) -/* 8067CF0C 38 00 00 00 */ li r0, 0 -/* 8067CF10 B0 1D 05 C4 */ sth r0, 0x5c4(r29) -/* 8067CF14 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 8067CF18 D0 1D 05 2C */ stfs f0, 0x52c(r29) -/* 8067CF1C 88 1D 05 B8 */ lbz r0, 0x5b8(r29) -/* 8067CF20 28 00 00 01 */ cmplwi r0, 1 -/* 8067CF24 40 82 00 40 */ bne lbl_8067CF64 -/* 8067CF28 3B 40 00 01 */ li r26, 1 -/* 8067CF2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067CF30 3B 83 61 C0 */ addi r28, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067CF34 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8067CF38 38 63 02 10 */ addi r3, r3, 0x210 -/* 8067CF3C 80 9D 09 E4 */ lwz r4, 0x9e4(r29) -/* 8067CF40 4B 9C E9 D9 */ bl getEmitter__Q213dPa_control_c7level_cFUl -/* 8067CF44 28 03 00 00 */ cmplwi r3, 0 -/* 8067CF48 41 82 00 20 */ beq lbl_8067CF68 -/* 8067CF4C 4B C0 1D 15 */ bl deleteAllParticle__14JPABaseEmitterFv -/* 8067CF50 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 8067CF54 38 63 02 10 */ addi r3, r3, 0x210 -/* 8067CF58 80 9D 09 E4 */ lwz r4, 0x9e4(r29) -/* 8067CF5C 4B 9C E9 59 */ bl forceOnEventMove__Q213dPa_control_c7level_cFUl -/* 8067CF60 48 00 00 08 */ b lbl_8067CF68 -lbl_8067CF64: -/* 8067CF64 3B 40 00 00 */ li r26, 0 -lbl_8067CF68: -/* 8067CF68 38 00 00 00 */ li r0, 0 -/* 8067CF6C 98 1D 05 B8 */ stb r0, 0x5b8(r29) -/* 8067CF70 B0 1D 05 CE */ sth r0, 0x5ce(r29) -/* 8067CF74 80 7B 5D B4 */ lwz r3, 0x5db4(r27) -/* 8067CF78 7F A4 EB 78 */ mr r4, r29 -/* 8067CF7C 7F 45 D3 78 */ mr r5, r26 -/* 8067CF80 4B A5 F9 45 */ bl setArrowShieldActor__9daAlink_cFP10fopAc_ac_ci -/* 8067CF84 80 7B 5D B4 */ lwz r3, 0x5db4(r27) -/* 8067CF88 38 9D 04 D0 */ addi r4, r29, 0x4d0 -/* 8067CF8C 38 BD 04 E4 */ addi r5, r29, 0x4e4 -/* 8067CF90 38 DD 09 D4 */ addi r6, r29, 0x9d4 -/* 8067CF94 38 FD 09 C8 */ addi r7, r29, 0x9c8 -/* 8067CF98 4B A5 FD DD */ bl setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz -/* 8067CF9C 88 1E 00 4C */ lbz r0, 0x4c(r30) -/* 8067CFA0 7C 00 07 75 */ extsb. r0, r0 -/* 8067CFA4 40 82 00 34 */ bne lbl_8067CFD8 -/* 8067CFA8 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 8067CFAC D0 1E 00 50 */ stfs f0, 0x50(r30) -/* 8067CFB0 38 7E 00 50 */ addi r3, r30, 0x50 -/* 8067CFB4 D0 03 00 04 */ stfs f0, 4(r3) -/* 8067CFB8 C0 1F 00 58 */ lfs f0, 0x58(r31) -/* 8067CFBC D0 03 00 08 */ stfs f0, 8(r3) -/* 8067CFC0 3C 80 80 68 */ lis r4, __dt__4cXyzFv@ha /* 0x8067CB68@ha */ -/* 8067CFC4 38 84 CB 68 */ addi r4, r4, __dt__4cXyzFv@l /* 0x8067CB68@l */ -/* 8067CFC8 38 BE 00 40 */ addi r5, r30, 0x40 -/* 8067CFCC 4B FF F7 8D */ bl __register_global_object -/* 8067CFD0 38 00 00 01 */ li r0, 1 -/* 8067CFD4 98 1E 00 4C */ stb r0, 0x4c(r30) -lbl_8067CFD8: -/* 8067CFD8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067CFDC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067CFE0 C0 3D 04 D0 */ lfs f1, 0x4d0(r29) -/* 8067CFE4 C0 5D 04 D4 */ lfs f2, 0x4d4(r29) -/* 8067CFE8 C0 7D 04 D8 */ lfs f3, 0x4d8(r29) -/* 8067CFEC 4B CC 98 FD */ bl PSMTXTrans -/* 8067CFF0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067CFF4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067CFF8 A8 9D 04 E4 */ lha r4, 0x4e4(r29) -/* 8067CFFC A8 BD 04 E6 */ lha r5, 0x4e6(r29) -/* 8067D000 38 C0 00 00 */ li r6, 0 -/* 8067D004 4B 98 F2 9D */ bl mDoMtx_ZXYrotM__FPA4_fsss -/* 8067D008 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8067D00C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8067D010 38 9E 00 50 */ addi r4, r30, 0x50 -/* 8067D014 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 8067D018 4B CC 9D 55 */ bl PSMTXMultVec -/* 8067D01C 48 00 01 D0 */ b lbl_8067D1EC -lbl_8067D020: -/* 8067D020 38 7D 07 58 */ addi r3, r29, 0x758 -/* 8067D024 4B A0 74 3D */ bl ChkTgHit__12dCcD_GObjInfFv -/* 8067D028 28 03 00 00 */ cmplwi r3, 0 -/* 8067D02C 40 82 00 10 */ bne lbl_8067D03C -/* 8067D030 80 1D 06 7C */ lwz r0, 0x67c(r29) -/* 8067D034 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8067D038 41 82 01 14 */ beq lbl_8067D14C -lbl_8067D03C: -/* 8067D03C 38 00 00 02 */ li r0, 2 -/* 8067D040 B0 1D 05 C2 */ sth r0, 0x5c2(r29) -/* 8067D044 38 00 00 00 */ li r0, 0 -/* 8067D048 B0 1D 05 C4 */ sth r0, 0x5c4(r29) -/* 8067D04C C0 3F 00 5C */ lfs f1, 0x5c(r31) -/* 8067D050 4B BE A9 3D */ bl cM_rndFX__Ff -/* 8067D054 C0 1F 00 60 */ lfs f0, 0x60(r31) -/* 8067D058 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8067D05C FC 00 00 1E */ fctiwz f0, f0 -/* 8067D060 D8 01 01 60 */ stfd f0, 0x160(r1) -/* 8067D064 80 01 01 64 */ lwz r0, 0x164(r1) -/* 8067D068 B0 1D 04 DC */ sth r0, 0x4dc(r29) -/* 8067D06C C0 3D 05 2C */ lfs f1, 0x52c(r29) -/* 8067D070 C0 1F 00 50 */ lfs f0, 0x50(r31) -/* 8067D074 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8067D078 D0 1D 05 2C */ stfs f0, 0x52c(r29) -/* 8067D07C 38 7D 07 58 */ addi r3, r29, 0x758 -/* 8067D080 4B A0 73 E1 */ bl ChkTgHit__12dCcD_GObjInfFv -/* 8067D084 28 03 00 00 */ cmplwi r3, 0 -/* 8067D088 41 82 00 5C */ beq lbl_8067D0E4 -/* 8067D08C C0 3F 00 68 */ lfs f1, 0x68(r31) -/* 8067D090 4B BE A8 FD */ bl cM_rndFX__Ff -/* 8067D094 C0 1F 00 64 */ lfs f0, 0x64(r31) -/* 8067D098 EC 00 08 2A */ fadds f0, f0, f1 -/* 8067D09C FC 00 00 1E */ fctiwz f0, f0 -/* 8067D0A0 D8 01 01 60 */ stfd f0, 0x160(r1) -/* 8067D0A4 80 61 01 64 */ lwz r3, 0x164(r1) -/* 8067D0A8 A8 1D 04 DE */ lha r0, 0x4de(r29) -/* 8067D0AC 7C 00 1A 14 */ add r0, r0, r3 -/* 8067D0B0 B0 1D 04 DE */ sth r0, 0x4de(r29) -/* 8067D0B4 3C 60 00 04 */ lis r3, 0x0004 /* 0x0004001A@ha */ -/* 8067D0B8 38 03 00 1A */ addi r0, r3, 0x001A /* 0x0004001A@l */ -/* 8067D0BC 90 01 00 20 */ stw r0, 0x20(r1) -/* 8067D0C0 38 7D 0A 18 */ addi r3, r29, 0xa18 -/* 8067D0C4 38 81 00 20 */ addi r4, r1, 0x20 -/* 8067D0C8 38 A0 00 00 */ li r5, 0 -/* 8067D0CC 38 C0 FF FF */ li r6, -1 -/* 8067D0D0 81 9D 0A 28 */ lwz r12, 0xa28(r29) -/* 8067D0D4 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8067D0D8 7D 89 03 A6 */ mtctr r12 -/* 8067D0DC 4E 80 04 21 */ bctrl -/* 8067D0E0 48 00 00 2C */ b lbl_8067D10C -lbl_8067D0E4: -/* 8067D0E4 C0 3F 00 6C */ lfs f1, 0x6c(r31) -/* 8067D0E8 4B BE A8 A5 */ bl cM_rndFX__Ff -/* 8067D0EC C0 1F 00 64 */ lfs f0, 0x64(r31) -/* 8067D0F0 EC 00 08 2A */ fadds f0, f0, f1 -/* 8067D0F4 FC 00 00 1E */ fctiwz f0, f0 -/* 8067D0F8 D8 01 01 60 */ stfd f0, 0x160(r1) -/* 8067D0FC 80 61 01 64 */ lwz r3, 0x164(r1) -/* 8067D100 A8 1D 04 DE */ lha r0, 0x4de(r29) -/* 8067D104 7C 00 1A 14 */ add r0, r0, r3 -/* 8067D108 B0 1D 04 DE */ sth r0, 0x4de(r29) -lbl_8067D10C: -/* 8067D10C C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 8067D110 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8067D114 C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 8067D118 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8067D11C C0 1D 04 D8 */ lfs f0, 0x4d8(r29) -/* 8067D120 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 8067D124 38 61 00 24 */ addi r3, r1, 0x24 -/* 8067D128 38 80 00 03 */ li r4, 3 -/* 8067D12C 28 1D 00 00 */ cmplwi r29, 0 -/* 8067D130 41 82 00 0C */ beq lbl_8067D13C -/* 8067D134 80 BD 00 04 */ lwz r5, 4(r29) -/* 8067D138 48 00 00 08 */ b lbl_8067D140 -lbl_8067D13C: -/* 8067D13C 38 A0 FF FF */ li r5, -1 -lbl_8067D140: -/* 8067D140 38 C0 00 0A */ li r6, 0xa -/* 8067D144 4B B2 B0 7D */ bl dKy_Sound_set__F4cXyziUii -/* 8067D148 48 00 00 A4 */ b lbl_8067D1EC -lbl_8067D14C: -/* 8067D14C 38 7D 06 20 */ addi r3, r29, 0x620 -/* 8067D150 38 81 00 6C */ addi r4, r1, 0x6c -/* 8067D154 4B A0 79 71 */ bl MoveCAt__8dCcD_SphFR4cXyz -/* 8067D158 7F 83 E3 78 */ mr r3, r28 -/* 8067D15C 38 9D 06 20 */ addi r4, r29, 0x620 -/* 8067D160 4B BE 7A 49 */ bl Set__4cCcSFP8cCcD_Obj -/* 8067D164 38 7D 06 20 */ addi r3, r29, 0x620 -/* 8067D168 4B A0 71 59 */ bl ChkAtHit__12dCcD_GObjInfFv -/* 8067D16C 28 03 00 00 */ cmplwi r3, 0 -/* 8067D170 41 82 00 7C */ beq lbl_8067D1EC -/* 8067D174 C0 1F 00 70 */ lfs f0, 0x70(r31) -/* 8067D178 D0 01 00 60 */ stfs f0, 0x60(r1) -/* 8067D17C D0 01 00 64 */ stfs f0, 0x64(r1) -/* 8067D180 D0 01 00 68 */ stfs f0, 0x68(r1) -/* 8067D184 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067D188 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067D18C 80 7E 5D 3C */ lwz r3, 0x5d3c(r30) -/* 8067D190 38 80 00 01 */ li r4, 1 -/* 8067D194 7F A5 EB 78 */ mr r5, r29 -/* 8067D198 38 DD 04 D0 */ addi r6, r29, 0x4d0 -/* 8067D19C 38 FD 04 E4 */ addi r7, r29, 0x4e4 -/* 8067D1A0 39 01 00 60 */ addi r8, r1, 0x60 -/* 8067D1A4 39 20 00 00 */ li r9, 0 -/* 8067D1A8 4B 9C F0 71 */ bl setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl -/* 8067D1AC 7F A3 EB 78 */ mr r3, r29 -/* 8067D1B0 4B 99 CA CD */ bl fopAcM_delete__FP10fopAc_ac_c -/* 8067D1B4 88 1D 05 B8 */ lbz r0, 0x5b8(r29) -/* 8067D1B8 28 00 00 01 */ cmplwi r0, 1 -/* 8067D1BC 40 82 00 30 */ bne lbl_8067D1EC -/* 8067D1C0 38 00 00 00 */ li r0, 0 -/* 8067D1C4 98 1D 05 B8 */ stb r0, 0x5b8(r29) -/* 8067D1C8 80 7E 5D 3C */ lwz r3, 0x5d3c(r30) -/* 8067D1CC 38 63 02 10 */ addi r3, r3, 0x210 -/* 8067D1D0 80 9D 09 EC */ lwz r4, 0x9ec(r29) -/* 8067D1D4 4B 9C E7 45 */ bl getEmitter__Q213dPa_control_c7level_cFUl -/* 8067D1D8 28 03 00 00 */ cmplwi r3, 0 -/* 8067D1DC 41 82 00 10 */ beq lbl_8067D1EC -/* 8067D1E0 80 03 00 F4 */ lwz r0, 0xf4(r3) -/* 8067D1E4 60 00 00 04 */ ori r0, r0, 4 -/* 8067D1E8 90 03 00 F4 */ stw r0, 0xf4(r3) -lbl_8067D1EC: -/* 8067D1EC 38 61 00 9C */ addi r3, r1, 0x9c -/* 8067D1F0 38 80 FF FF */ li r4, -1 -/* 8067D1F4 4B 9F B0 4D */ bl __dt__16dBgS_ArrowLinChkFv -/* 8067D1F8 38 61 01 0C */ addi r3, r1, 0x10c -/* 8067D1FC 38 80 FF FF */ li r4, -1 -/* 8067D200 4B 9F A6 49 */ bl __dt__18dBgS_ObjGndChk_SplFv -lbl_8067D204: -/* 8067D204 39 61 01 80 */ addi r11, r1, 0x180 -/* 8067D208 4B CE 50 15 */ bl _restgpr_26 -/* 8067D20C 80 01 01 84 */ lwz r0, 0x184(r1) -/* 8067D210 7C 08 03 A6 */ mtlr r0 -/* 8067D214 38 21 01 80 */ addi r1, r1, 0x180 -/* 8067D218 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/s_limit_sub__FPvPv.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/s_limit_sub__FPvPv.s deleted file mode 100644 index 2320d243baa..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/s_limit_sub__FPvPv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8067D5FC: -/* 8067D5FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067D600 7C 08 02 A6 */ mflr r0 -/* 8067D604 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067D608 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067D60C 93 C1 00 08 */ stw r30, 8(r1) -/* 8067D610 7C 7E 1B 78 */ mr r30, r3 -/* 8067D614 7C 9F 23 78 */ mr r31, r4 -/* 8067D618 4B 99 B6 C9 */ bl fopAc_IsActor__FPv -/* 8067D61C 2C 03 00 00 */ cmpwi r3, 0 -/* 8067D620 41 82 00 50 */ beq lbl_8067D670 -/* 8067D624 7C 1E F8 40 */ cmplw r30, r31 -/* 8067D628 41 82 00 48 */ beq lbl_8067D670 -/* 8067D62C A8 1E 00 08 */ lha r0, 8(r30) -/* 8067D630 2C 00 02 E5 */ cmpwi r0, 0x2e5 -/* 8067D634 40 82 00 3C */ bne lbl_8067D670 -/* 8067D638 A8 1E 05 C2 */ lha r0, 0x5c2(r30) -/* 8067D63C 2C 00 00 04 */ cmpwi r0, 4 -/* 8067D640 40 82 00 30 */ bne lbl_8067D670 -/* 8067D644 C0 3E 0A 08 */ lfs f1, 0xa08(r30) -/* 8067D648 C0 1F 0A 08 */ lfs f0, 0xa08(r31) -/* 8067D64C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8067D650 FC 00 02 10 */ fabs f0, f0 -/* 8067D654 FC 20 00 18 */ frsp f1, f0 -/* 8067D658 3C 60 80 68 */ lis r3, lit_4659@ha /* 0x8067E904@ha */ -/* 8067D65C C0 03 E9 04 */ lfs f0, lit_4659@l(r3) /* 0x8067E904@l */ -/* 8067D660 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8067D664 40 80 00 0C */ bge lbl_8067D670 -/* 8067D668 7F C3 F3 78 */ mr r3, r30 -/* 8067D66C 48 00 00 08 */ b lbl_8067D674 -lbl_8067D670: -/* 8067D670 38 60 00 00 */ li r3, 0 -lbl_8067D674: -/* 8067D674 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067D678 83 C1 00 08 */ lwz r30, 8(r1) -/* 8067D67C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067D680 7C 08 03 A6 */ mtlr r0 -/* 8067D684 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067D688 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/useHeapInit__FP10fopAc_ac_c.s b/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/useHeapInit__FP10fopAc_ac_c.s deleted file mode 100644 index 13b360dc5f0..00000000000 --- a/asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/useHeapInit__FP10fopAc_ac_c.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8067E374: -/* 8067E374 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8067E378 7C 08 02 A6 */ mflr r0 -/* 8067E37C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8067E380 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8067E384 7C 7F 1B 78 */ mr r31, r3 -/* 8067E388 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 8067E38C 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 -/* 8067E390 38 60 00 45 */ li r3, 0x45 -/* 8067E394 41 82 00 08 */ beq lbl_8067E39C -/* 8067E398 38 60 00 52 */ li r3, 0x52 -lbl_8067E39C: -/* 8067E39C 7C 64 1B 78 */ mr r4, r3 -/* 8067E3A0 88 1F 05 B8 */ lbz r0, 0x5b8(r31) -/* 8067E3A4 28 00 00 02 */ cmplwi r0, 2 -/* 8067E3A8 40 82 00 08 */ bne lbl_8067E3B0 -/* 8067E3AC 38 83 00 01 */ addi r4, r3, 1 -lbl_8067E3B0: -/* 8067E3B0 80 7F 05 BC */ lwz r3, 0x5bc(r31) -/* 8067E3B4 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8067E3B8 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8067E3BC 3C A5 00 02 */ addis r5, r5, 2 -/* 8067E3C0 38 C0 00 80 */ li r6, 0x80 -/* 8067E3C4 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 8067E3C8 4B 9B DF 25 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 8067E3CC 3C 80 00 08 */ lis r4, 8 -/* 8067E3D0 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 8067E3D4 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 8067E3D8 4B 99 68 7D */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 8067E3DC 90 7F 05 B4 */ stw r3, 0x5b4(r31) -/* 8067E3E0 80 1F 05 B4 */ lwz r0, 0x5b4(r31) -/* 8067E3E4 28 00 00 00 */ cmplwi r0, 0 -/* 8067E3E8 40 82 00 0C */ bne lbl_8067E3F4 -/* 8067E3EC 38 60 00 00 */ li r3, 0 -/* 8067E3F0 48 00 00 24 */ b lbl_8067E414 -lbl_8067E3F4: -/* 8067E3F4 38 7F 0A 18 */ addi r3, r31, 0xa18 -/* 8067E3F8 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 8067E3FC 38 A0 00 01 */ li r5, 1 -/* 8067E400 81 9F 0A 28 */ lwz r12, 0xa28(r31) -/* 8067E404 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8067E408 7D 89 03 A6 */ mtctr r12 -/* 8067E40C 4E 80 04 21 */ bctrl -/* 8067E410 38 60 00 01 */ li r3, 1 -lbl_8067E414: -/* 8067E414 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8067E418 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8067E41C 7C 08 03 A6 */ mtlr r0 -/* 8067E420 38 21 00 10 */ addi r1, r1, 0x10 -/* 8067E424 4E 80 00 20 */ blr diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 2c6ee210039..4e18a0a245d 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -413,6 +413,7 @@ public: RFLG0_UNK_10 = 0x10, RFLG0_UNK_8 = 0x8, RFLG0_UNK_2 = 0x2, + RFLG0_UNK_1 = 0x1, }; enum daPy_RFLG1 { @@ -761,6 +762,7 @@ public: void onShieldBackBone() { i_onEndResetFlg1(ERFLG1_GANON_FINISH); } void onWolfEyeKeep() { i_onEndResetFlg1(ERFLG1_WOLF_EYE_KEEP); } void onFogFade() { i_onNoResetFlg2(FLG2_UNK_4000); } + BOOL checkStickArrowReset() const { return i_checkResetFlg0(RFLG0_UNK_1); } void offCargoCarry() { if (checkCargoCarry()) { diff --git a/include/d/d_bomb.h b/include/d/d_bomb.h index de7b3a2b763..8d833f2f6df 100644 --- a/include/d/d_bomb.h +++ b/include/d/d_bomb.h @@ -41,12 +41,16 @@ public: bool checkWaterBomb(fopAc_ac_c*); bool checkInsectBombMove(fopAc_ac_c*); - static fopAc_ac_c* createNormalBombPlayer(cXyz* p_pos) { - return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 8, p_pos, -1, NULL, NULL, -1, NULL, NULL); + static fopAc_ac_c* createNormalBombPlayer(cXyz* i_pos) { + return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 8, i_pos, -1, NULL, NULL, -1, NULL, NULL); } - static fopAc_ac_c* createWaterBombPlayer(cXyz* p_pos) { - return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 9, p_pos, -1, NULL, NULL, -1, NULL, NULL); + static fopAc_ac_c* createNormalBombExplode(cXyz* i_pos) { + return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 0, i_pos, -1, NULL, NULL, -1, NULL, NULL); + } + + static fopAc_ac_c* createWaterBombPlayer(cXyz* i_pos) { + return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 9, i_pos, -1, NULL, NULL, -1, NULL, NULL); } static fopAc_ac_c* createFlowerBomb(cXyz* i_pos, csXyz* i_angle, int param_2) { diff --git a/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h b/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h index 13b5c66a506..28439659dda 100644 --- a/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h +++ b/include/rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h @@ -1,6 +1,54 @@ #ifndef D_A_E_ARROW_H #define D_A_E_ARROW_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/com/d_com_inf_game.h" + +enum e_arrow_action { + ACTION_ARROW_SHOT, + ACTION_ARROW_BG, + ACTION_ARROW_SPIN, + ACTION_ARROW_SHIELD, + ACTION_ARROW_FIRE, + ACTION_ARROW_BOUND, +}; + +enum e_arrow_type { + ARROW_TYPE_NORMAL, + ARROW_TYPE_FIRE, + ARROW_TYPE_BOMB, +}; + +class e_arrow_class : public fopEn_enemy_c { +public: + /* 0x5AC */ request_of_phase_process_class mPhase; + /* 0x5B4 */ J3DModel* mpModel; + /* 0x5B8 */ u8 mArrowType; + /* 0x5B9 */ u8 mFlags; + /* 0x5BC */ char* mResName; + /* 0x5C0 */ s16 field_0x5c0; + /* 0x5C2 */ s16 mAction; + /* 0x5C4 */ s16 mMode; + /* 0x5C6 */ s16 mTimers[4]; + /* 0x5CE */ s16 field_0x5ce; + /* 0x5D0 */ f32 field_0x5d0; + /* 0x5D4 */ f32 field_0x5d4; + /* 0x5D8 */ cXyz field_0x5d8; + /* 0x5E4 */ dCcD_Stts mCcStts; + /* 0x620 */ dCcD_Sph mCcAtSph; + /* 0x758 */ dCcD_Sph mCcTgSph; + /* 0x890 */ dCcD_Sph mCcFireEffSph; + /* 0x9C8 */ cXyz field_0x9c8; + /* 0x9D4 */ cXyz field_0x9d4; + /* 0x9E0 */ u32 mStickSmokeEMKey; + /* 0x9E4 */ u32 mFireEMKeys[2]; + /* 0x9EC */ u32 field_0x9ec; + /* 0x9F0 */ u32 field_0x9f0[4]; + /* 0xA00 */ cXyz field_0xa00; + /* 0xA0C */ s16 field_0xa0c; + /* 0xA10 */ f32 field_0xa10; + /* 0xA14 */ u8 field_0xa14; + /* 0xA18 */ Z2SoundObjArrow mSound; +}; #endif /* D_A_E_ARROW_H */ 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 0c2f8ec1002..3ddc940ed48 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 @@ -1,512 +1,102 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_arrow -// +/** + * d_a_e_arrow.cpp + * Enemy Arrow + */ #include "rel/d/a/e/d_a_e_arrow/d_a_e_arrow.h" -#include "d/cc/d_cc_d.h" -#include "dol2asm.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_arrow_class {}; - -struct daPy_py_c { - static u8 m_midnaActor[4]; -}; - -struct csXyz {}; - -struct daAlink_c { - /* 800DC8C4 */ void setArrowShieldActor(fopAc_ac_c*, int); - /* 800DCA2C */ void checkWoodShieldEquipNotIronBall() const; - /* 800DCA80 */ void getArrowShieldOffset(cXyz const*, csXyz const*, cXyz*, cXyz*) const; - /* 800DCD74 */ void setArrowShieldPos(cXyz*, csXyz*, cXyz const*, cXyz const*) const; -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B8B4 */ void forceOnEventMove(u32); - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - - static u8 mParticleTracePCB[4 + 4 /* padding */]; -}; - -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; - -struct dMeter2_c { - /* 8021F780 */ void setLifeZero(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_ObjGndChk { - /* 8067DA70 */ ~dBgS_ObjGndChk(); -}; - -struct dBgS_LinChk { - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_ArrowLinChk { - /* 800781D8 */ dBgS_ArrowLinChk(); - /* 80078240 */ ~dBgS_ArrowLinChk(); -}; - -struct cBgS_PolyInfo {}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); - /* 80075BF4 */ void ArrowStickCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, cXyz&); -}; - -struct dAttLook_c { - /* 80073D08 */ void request(fopAc_ac_c*, f32, f32, f32, s16, int); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct Z2SoundObjBase { - /* 802BDFF8 */ void deleteObject(); - /* 802BE4A4 */ void startCollisionSE(u32, u32, Z2SoundObjBase*); -}; - -struct Z2SoundObjArrow { - /* 802BEB38 */ Z2SoundObjArrow(); -}; - -struct JPABaseEmitter { - /* 8027EC60 */ void deleteAllParticle(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -// -// Forward References: -// - -extern "C" static void daE_ARROW_Draw__FP13e_arrow_class(); -extern "C" static void fire_eff_set__FP13e_arrow_class(); -extern "C" void __dt__4cXyzFv(); -extern "C" static void hit_check__FP13e_arrow_class(); -extern "C" static void e_arrow_shot__FP13e_arrow_class(); -extern "C" static void e_arrow_bg__FP13e_arrow_class(); -extern "C" static void e_arrow_spin__FP13e_arrow_class(); -extern "C" static void s_limit_sub__FPvPv(); -extern "C" static void e_arrow_demo_fire__FP13e_arrow_class(); -extern "C" void __dt__14dBgS_ObjGndChkFv(); -extern "C" static void atHit_CB__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" static void e_arrow_shield__FP13e_arrow_class(); -extern "C" static void e_arrow_demo_bound__FP13e_arrow_class(); -extern "C" static void action__FP13e_arrow_class(); -extern "C" static void daE_ARROW_Execute__FP13e_arrow_class(); -extern "C" static bool daE_ARROW_IsDelete__FP13e_arrow_class(); -extern "C" static void daE_ARROW_Delete__FP13e_arrow_class(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" static void daE_ARROW_Create__FP10fopAc_ac_c(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" static void func_8067E858(); -extern "C" static void func_8067E860(); -extern "C" static void func_8067E868(); -extern "C" extern char const* const d_a_e_arrow__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_getTalkEventPartner__FPC10fopAc_ac_c(); -extern "C" void fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void forceOnEventMove__Q213dPa_control_c7level_cFUl(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void request__10dAttLook_cFP10fopAc_ac_cfffsi(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void ArrowStickCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_cR4cXyz(); -extern "C" void __ct__11dBgS_GndChkFv(); -extern "C" void __dt__11dBgS_GndChkFv(); -extern "C" void __ct__18dBgS_ObjGndChk_SplFv(); -extern "C" void __dt__18dBgS_ObjGndChk_SplFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void __ct__16dBgS_ArrowLinChkFv(); -extern "C" void __dt__16dBgS_ArrowLinChkFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkAtHit__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void StartCAt__8dCcD_SphFR4cXyz(); -extern "C" void MoveCAt__8dCcD_SphFR4cXyz(); -extern "C" void checkItemGet__FUci(); -extern "C" void setArrowShieldActor__9daAlink_cFP10fopAc_ac_ci(); -extern "C" void checkWoodShieldEquipNotIronBall__9daAlink_cCFv(); -extern "C" void getArrowShieldOffset__9daAlink_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz(); -extern "C" void setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_Sound_set__F4cXyziUii(); -extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo(); -extern "C" void setLifeZero__9dMeter2_cFv(); -extern "C" void getStatus__12dMsgObject_cFv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void deleteAllParticle__14JPABaseEmitterFv(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase(); -extern "C" void __ct__15Z2SoundObjArrowFv(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXScale(); -extern "C" void PSMTXMultVec(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 g_meter2_info[248]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" u8 m_midnaActor__9daPy_py_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// +#include "SSystem/SComponent/c_math.h" +#include "d/a/d_a_alink.h" +#include "d/d_bomb.h" +#include "d/d_item.h" +#include "d/meter/d_meter2.h" +#include "d/msg/d_msg_object.h" +#include "d/s/d_s_play.h" /* 8067C7CC-8067C874 0000EC 00A8+00 1/0 0/0 0/0 .text daE_ARROW_Draw__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daE_ARROW_Draw(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Draw__FP13e_arrow_class.s" -} -#pragma pop +static int daE_ARROW_Draw(e_arrow_class* i_this) { + if (i_this->field_0xa14) { + return 1; + } -/* ############################################################################################## */ -/* 8067E880-8067E88C 000000 000C+00 8/8 0/0 0/0 .rodata @3983 */ -SECTION_RODATA static u8 const lit_3983[12] = { + if (fopAcM_GetParam(i_this) & 0x80000000) { + g_env_light.settingTevStruct(2, &i_this->current.pos, &i_this->mTevStr); + } else { + g_env_light.settingTevStruct(0, &i_this->current.pos, &i_this->mTevStr); + } + + if (i_this->mpModel != NULL) { + g_env_light.setLightTevColorType_MAJI(i_this->mpModel, &i_this->mTevStr); + mDoExt_modelUpdateDL(i_this->mpModel); + } + + return 1; +} + +static u8 const lit_3983[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -COMPILER_STRIP_GATE(0x8067E880, &lit_3983); - -/* 8067E88C-8067E890 00000C 0004+00 2/9 0/0 0/0 .rodata @4362 */ -SECTION_RODATA static u8 const lit_4362[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8067E88C, &lit_4362); - -/* 8067E890-8067E894 000010 0004+00 0/1 0/0 0/0 .rodata @4363 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4363 = 28.0f; -COMPILER_STRIP_GATE(0x8067E890, &lit_4363); -#pragma pop - -/* 8067E894-8067E898 000014 0004+00 0/1 0/0 0/0 .rodata @4364 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4364 = 20.0f; -COMPILER_STRIP_GATE(0x8067E894, &lit_4364); -#pragma pop - -/* 8067E898-8067E89C 000018 0004+00 0/1 0/0 0/0 .rodata @4365 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4365 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x8067E898, &lit_4365); -#pragma pop - -/* 8067E89C-8067E8A0 00001C 0004+00 0/1 0/0 0/0 .rodata @4366 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4366 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x8067E89C, &lit_4366); -#pragma pop - -/* 8067E8A0-8067E8A8 000020 0004+04 1/7 0/0 0/0 .rodata @4367 */ -SECTION_RODATA static f32 const lit_4367[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8067E8A0, &lit_4367); - -/* 8067E8A8-8067E8B0 000028 0008+00 0/1 0/0 0/0 .rodata @4368 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4368[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8067E8A8, &lit_4368); -#pragma pop - -/* 8067E8B0-8067E8B8 000030 0008+00 0/1 0/0 0/0 .rodata @4369 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4369[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8067E8B0, &lit_4369); -#pragma pop - -/* 8067E8B8-8067E8C0 000038 0008+00 0/1 0/0 0/0 .rodata @4370 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4370[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8067E8B8, &lit_4370); -#pragma pop /* 8067C874-8067CB68 000194 02F4+00 1/1 0/0 0/0 .text fire_eff_set__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fire_eff_set(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/fire_eff_set__FP13e_arrow_class.s" +static void fire_eff_set(e_arrow_class* i_this) { + cXyz sp38; + cXyz sp44; + + cMtx_YrotS(*calc_mtx, i_this->shape_angle.y); + cMtx_XrotM(*calc_mtx, i_this->shape_angle.x); + + sp38.x = 0.0f; + sp38.y = 0.0f; + + if (i_this->mAction == ACTION_ARROW_BOUND) { + sp38.z = TREG_F(14) + 28.0f; + } else { + sp38.z = TREG_F(14) + 20.0f; + } + + MtxPosition(&sp38, &sp44); + sp44 += i_this->current.pos; + + int emitter_num; + u16 particle_names[2]; + if (i_this->mArrowType == ARROW_TYPE_BOMB) { + emitter_num = 2; + particle_names[0] = 0x86A5; + particle_names[1] = 0x86A6; + } else { + emitter_num = 1; + particle_names[0] = 0x8113; + } + + i_this->field_0x5d8.x = i_this->speed.x + i_this->field_0x5d0; + i_this->field_0x5d8.y = i_this->speed.y; + i_this->field_0x5d8.z = i_this->speed.z + i_this->field_0x5d4; + + if (i_this->mArrowType == ARROW_TYPE_FIRE) { + i_this->field_0x5d8 *= 0.9f; + } else { + i_this->field_0x5d8 *= 0.8f; + } + + for (int i = 0; i < emitter_num; i++) { + i_this->mFireEMKeys[i] = dComIfGp_particle_set(i_this->mFireEMKeys[i], particle_names[i], + &sp44, &i_this->shape_angle, NULL); + + if (i == 0) { + JPABaseEmitter* emitter_p = dComIfGp_particle_getEmitter(i_this->mFireEMKeys[i]); + if (emitter_p != NULL) { + if (i_this->field_0x5d8.abs() > 1.0f) { + emitter_p->setParticleCallBackPtr(dPa_control_c::getParticleTracePCB()); + emitter_p->setUserWork((u32)&i_this->field_0x5d8); + } else { + emitter_p->setParticleCallBackPtr(NULL); + } + } + } + } } -#pragma pop - -/* 8067CB68-8067CBA4 000488 003C+00 2/2 0/0 0/0 .text __dt__4cXyzFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// 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" -} -#pragma pop - -/* ############################################################################################## */ -/* 8067E8C0-8067E8C4 000040 0004+00 0/2 0/0 0/0 .rodata @4543 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4543 = 200.0f; -COMPILER_STRIP_GATE(0x8067E8C0, &lit_4543); -#pragma pop - -/* 8067E8C4-8067E8C8 000044 0004+00 0/1 0/0 0/0 .rodata @4544 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4544 = -93652.0f; -COMPILER_STRIP_GATE(0x8067E8C4, &lit_4544); -#pragma pop - -/* 8067E8C8-8067E8CC 000048 0004+00 0/1 0/0 0/0 .rodata @4545 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4545 = -5975.0f; -COMPILER_STRIP_GATE(0x8067E8C8, &lit_4545); -#pragma pop - -/* 8067E8CC-8067E8D0 00004C 0004+00 0/1 0/0 0/0 .rodata @4546 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4546 = 7.0f / 20.0f; -COMPILER_STRIP_GATE(0x8067E8CC, &lit_4546); -#pragma pop - -/* 8067E8D0-8067E8D4 000050 0004+00 0/1 0/0 0/0 .rodata @4547 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4547 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x8067E8D0, &lit_4547); -#pragma pop - -/* 8067E8D4-8067E8D8 000054 0004+00 1/2 0/0 0/0 .rodata @4548 */ -SECTION_RODATA static f32 const lit_4548 = 0.5f; -COMPILER_STRIP_GATE(0x8067E8D4, &lit_4548); - -/* 8067E8D8-8067E8DC 000058 0004+00 1/2 0/0 0/0 .rodata @4549 */ -SECTION_RODATA static f32 const lit_4549 = -30.0f; -COMPILER_STRIP_GATE(0x8067E8D8, &lit_4549); - -/* 8067E8DC-8067E8E0 00005C 0004+00 0/1 0/0 0/0 .rodata @4550 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4550 = 2000.0f; -COMPILER_STRIP_GATE(0x8067E8DC, &lit_4550); -#pragma pop - -/* 8067E8E0-8067E8E4 000060 0004+00 0/1 0/0 0/0 .rodata @4551 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4551 = 10000.0f; -COMPILER_STRIP_GATE(0x8067E8E0, &lit_4551); -#pragma pop - -/* 8067E8E4-8067E8E8 000064 0004+00 0/1 0/0 0/0 .rodata @4552 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4552 = 32768.0f; -COMPILER_STRIP_GATE(0x8067E8E4, &lit_4552); -#pragma pop - -/* 8067E8E8-8067E8EC 000068 0004+00 0/1 0/0 0/0 .rodata @4553 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4553 = 8000.0f; -COMPILER_STRIP_GATE(0x8067E8E8, &lit_4553); -#pragma pop - -/* 8067E8EC-8067E8F0 00006C 0004+00 0/1 0/0 0/0 .rodata @4554 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4554 = 4000.0f; -COMPILER_STRIP_GATE(0x8067E8EC, &lit_4554); -#pragma pop - -/* 8067E8F0-8067E8F4 000070 0004+00 0/1 0/0 0/0 .rodata @4555 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4555 = 2.0f / 5.0f; -COMPILER_STRIP_GATE(0x8067E8F0, &lit_4555); -#pragma pop +// Unreferenced BSS /* 8067EB18-8067EB1C 000008 0001+03 2/2 0/0 0/0 .bss @1109 */ static u8 lit_1109[1 + 3 /* padding */]; @@ -599,174 +189,265 @@ static u8 lit_1010[1 + 3 /* padding */]; #pragma force_active on static u8 lit_1009[1 + 3 /* padding */]; #pragma pop - -/* 8067EB58-8067EB68 000048 000C+04 0/1 0/0 0/0 .bss @4411 */ -#pragma push -#pragma force_active on -static u8 lit_4411[12 + 4 /* padding */]; -#pragma pop - -/* 8067EB68-8067EB74 000058 000C+00 0/1 0/0 0/0 .bss localOffset$4410 */ -#pragma push -#pragma force_active on -static u8 localOffset_4410[12]; -#pragma pop +// end unreferenced BSS /* 8067CBA4-8067D21C 0004C4 0678+00 1/1 0/0 0/0 .text hit_check__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void hit_check(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/hit_check__FP13e_arrow_class.s" +static void hit_check(e_arrow_class* i_this) { + dBgS_ObjGndChk_Spl ground_chk; + + cXyz gnd_chk_pos(i_this->current.pos); + gnd_chk_pos.y += 200.0f; + ground_chk.SetPos(&gnd_chk_pos); + + if (i_this->current.pos.y <= dComIfG_Bgsp().GroundCross(&ground_chk)) { + i_this->speedF = 0.0f; + i_this->speed.set(0.0f, 0.0f, 0.0f); + fopAcM_delete(i_this); + return; + } + + dBgS_ArrowLinChk line_chk; + cXyz line_chk_start(i_this->current.pos); + for (int i = 0; i < 2; i++) { + line_chk_start -= i_this->speed; + } + + line_chk.Set(&line_chk_start, &i_this->current.pos, i_this); + + if (dComIfG_Bgsp().LineCross(&line_chk)) { + i_this->current.pos = line_chk.i_GetCross(); + dComIfG_Bgsp().ArrowStickCallBack(line_chk, i_this, i_this->current.pos); + + if (i_this->mFlags & 0x10) { + i_this->mAction = ACTION_ARROW_FIRE; + i_this->current.pos.x = -93652.0f; + i_this->current.pos.y = -5975.0f; + } else { + i_this->mAction = ACTION_ARROW_BG; + i_this->current.pos -= i_this->speed * 0.35f; + } + + i_this->mMode = 0; + i_this->speedF = 0.0f; + i_this->speed.set(0.0f, 0.0f, 0.0f); + i_this->field_0x5d4 = 0.0f; + i_this->field_0x5d0 = 0.0f; + + dKy_Sound_set(i_this->current.pos, 3, fopAcM_GetID(i_this), 10); + + int poly_att0 = dComIfG_Bgsp().GetPolyAtt0(line_chk); + dKy_pol_sound_get(&line_chk); + + i_this->field_0x5ce = 5; + if (poly_att0 == 5) { + i_this->field_0x5ce = 20; + } + + i_this->mSound.startCollisionSE(Z2SE_HIT_ARROW_STICK, dKy_pol_sound_get(&line_chk), NULL); + + cXyz sp114(0.3f, 0.3f, 0.3f); + i_this->mStickSmokeEMKey = dComIfGp_particle_set( + i_this->mStickSmokeEMKey, dPa_name::ZI_J_dashSmoke_a_e, &i_this->current.pos, + &i_this->mTevStr, &i_this->shape_angle, &sp114, 0xFF, NULL, -1, NULL, NULL, NULL); + } else { + cXyz sp120 = i_this->current.pos + (i_this->speed * 0.5f); + i_this->mCcTgSph.SetC(sp120); + dComIfG_Ccsp()->Set(&i_this->mCcTgSph); + + if (i_this->mCcAtSph.ChkAtShieldHit() && i_this->mCcAtSph.GetAtHitAc() != NULL && + fopAcM_GetName(i_this->mCcAtSph.GetAtHitAc()) == PROC_ALINK && + daAlink_getAlinkActorClass()->checkWoodShieldEquipNotIronBall()) + { + i_this->mAction = ACTION_ARROW_SHIELD; + i_this->mMode = 0; + i_this->speedF = 0.0f; + + BOOL var_r26; + if (i_this->mArrowType == ARROW_TYPE_FIRE) { + var_r26 = 1; + JPABaseEmitter* emitter_p = dComIfGp_particle_getEmitter(i_this->mFireEMKeys[0]); + if (emitter_p != NULL) { + emitter_p->deleteAllParticle(); + dComIfGp_particle_levelEmitterOnEventMove(i_this->mFireEMKeys[0]); + } + } else { + var_r26 = 0; + } + + i_this->mArrowType = ARROW_TYPE_NORMAL; + i_this->field_0x5ce = 0; + + daAlink_getAlinkActorClass()->setArrowShieldActor(i_this, var_r26); + daAlink_getAlinkActorClass()->setArrowShieldPos( + &i_this->current.pos, &i_this->shape_angle, &i_this->field_0x9d4, + &i_this->field_0x9c8); + + static cXyz localOffset(0.0f, 0.0f, -30.0f); + mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y, + i_this->current.pos.z); + mDoMtx_stack_c::ZXYrotM(i_this->shape_angle.x, i_this->shape_angle.y, 0); + mDoMtx_stack_c::multVec(&localOffset, &i_this->current.pos); + } else if (i_this->mCcTgSph.ChkTgHit() || i_this->mCcAtSph.ChkAtShieldHit()) { + i_this->mAction = ACTION_ARROW_SPIN; + i_this->mMode = 0; + i_this->current.angle.x = cM_rndFX(2000.0f) - 10000.0f; + i_this->speedF *= 0.3f; + + if (i_this->mCcTgSph.ChkTgHit()) { + i_this->current.angle.y += (s16)(cM_rndFX(8000.0f) + 32768.0f); + i_this->mSound.startSound(Z2SE_COL_FLIP_ARROW, 0, -1); + } else { + i_this->current.angle.y += (s16)(cM_rndFX(4000.0f) + 32768.0f); + } + + dKy_Sound_set(i_this->current.pos, 3, fopAcM_GetID(i_this), 10); + } else { + i_this->mCcAtSph.MoveCAt(sp120); + dComIfG_Ccsp()->Set(&i_this->mCcAtSph); + + if (i_this->mCcAtSph.ChkAtHit()) { + cXyz sp12C(0.4f, 0.4f, 0.4f); + i_dComIfGp_setHitMark(1, i_this, &i_this->current.pos, &i_this->shape_angle, &sp12C, + 0); + + fopAcM_delete(i_this); + + if (i_this->mArrowType == ARROW_TYPE_FIRE) { + i_this->mArrowType = ARROW_TYPE_NORMAL; + + JPABaseEmitter* emitter_p = dComIfGp_particle_getEmitter(i_this->field_0x9ec); + if (emitter_p != NULL) { + emitter_p->stopDrawParticle(); + } + } + } + } + } } -#pragma pop - -/* ############################################################################################## */ -/* 8067E8F4-8067E8F8 000074 0004+00 0/1 0/0 0/0 .rodata @4604 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4604 = 100.0f; -COMPILER_STRIP_GATE(0x8067E8F4, &lit_4604); -#pragma pop - -/* 8067E8F8-8067E8FC 000078 0004+00 1/2 0/0 0/0 .rodata @4605 */ -SECTION_RODATA static f32 const lit_4605 = 65535.0f; -COMPILER_STRIP_GATE(0x8067E8F8, &lit_4605); /* 8067D21C-8067D40C 000B3C 01F0+00 1/1 0/0 0/0 .text e_arrow_shot__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void e_arrow_shot(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shot__FP13e_arrow_class.s" +static void e_arrow_shot(e_arrow_class* i_this) { + switch (i_this->mMode) { + case 0: + i_this->speedF = 100.0f; + i_this->mMode = 1; + + if (i_this->mFlags & 0x10) { + i_this->mTimers[0] = 10000; + } else { + i_this->mTimers[0] = 100; + } + + i_this->shape_angle.z = cM_rndF(0xFFFF); + + fopAc_ac_c* parent_p = fopAcM_SearchByID(i_this->mParentPcId); + if (parent_p != NULL) { + i_this->field_0x5d0 = parent_p->speed.x; + i_this->field_0x5d4 = parent_p->speed.z; + } + case 1: + if (i_this->mFlags & 0x20) { + fopAc_ac_c* coach_p = i_fopAcM_SearchByName(PROC_NPC_COACH); + + if (coach_p != NULL) { + cXyz sp30; + sp30 = coach_p->mEyePos - i_this->current.pos; + + s16 temp_r4 = cM_atan2s(sp30.x, sp30.z); + s16 temp_r0 = temp_r4 - i_this->current.angle.y; + if (temp_r0 < 0x1000 && temp_r0 > -0x1000) { + cLib_addCalcAngleS2(&i_this->current.angle.y, temp_r4, 2, 25); + f32 sq = JMAFastSqrt(sp30.x * sp30.x + sp30.z * sp30.z); + + cLib_addCalcAngleS2(&i_this->current.angle.x, -cM_atan2s(sp30.y, sq), 2, 25); + } else { + i_this->current.angle.x += 65; + } + } else { + i_this->current.angle.x += 65; + } + } else { + i_this->current.angle.x += 65; + } + + i_this->shape_angle.y = i_this->current.angle.y; + i_this->shape_angle.x = i_this->current.angle.x; + + if (i_this->mTimers[0] == 0) { + fopAcM_delete(i_this); + } + } } -#pragma pop - -/* ############################################################################################## */ -/* 8067E8FC-8067E900 00007C 0004+00 0/1 0/0 0/0 .rodata @4628 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4628 = 30.0f; -COMPILER_STRIP_GATE(0x8067E8FC, &lit_4628); -#pragma pop - -/* 8067E900-8067E904 000080 0004+00 0/3 0/0 0/0 .rodata @4629 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4629 = -1.0f; -COMPILER_STRIP_GATE(0x8067E900, &lit_4629); -#pragma pop /* 8067D40C-8067D530 000D2C 0124+00 1/1 0/0 0/0 .text e_arrow_bg__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void e_arrow_bg(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_bg__FP13e_arrow_class.s" +static void e_arrow_bg(e_arrow_class* i_this) { + switch (i_this->mMode) { + case 0: + i_this->mMode = 1; + i_this->mTimers[0] = 100; + case 1: + if (checkItemGet(BOW, 1) && fopAcM_searchPlayerDistance(i_this) < 30.0f) { + dComIfGp_setItemArrowNumCount(1); + fopAcM_createItemForSimpleDemo(&i_this->current.pos, ARROW_1, -1, NULL, NULL, 0.0f, + 0.0f); + mDoAud_seStart(Z2SE_CONSUMP_ITEM_GET, NULL, 0, 0); + + i_this->mTimers[0] = 0; + } + + if (i_this->mTimers[0] == 0) { + fopAcM_delete(i_this); + } + } } -#pragma pop /* 8067D530-8067D5FC 000E50 00CC+00 1/1 0/0 0/0 .text e_arrow_spin__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void e_arrow_spin(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_spin__FP13e_arrow_class.s" -} -#pragma pop +static void e_arrow_spin(e_arrow_class* i_this) { + switch (i_this->mMode) { + case 0: + i_this->mTimers[0] = 25; -/* ############################################################################################## */ -/* 8067E904-8067E908 000084 0004+00 1/2 0/0 0/0 .rodata @4659 */ -SECTION_RODATA static f32 const lit_4659 = 300.0f; -COMPILER_STRIP_GATE(0x8067E904, &lit_4659); + if (cM_rndF(1.0f) > 0.5f) { + i_this->mMode = 1; + } else { + i_this->mMode = 2; + } + case 1: + i_this->shape_angle.y -= 0x400; + case 2: + i_this->shape_angle.y += 0x200; + i_this->shape_angle.x -= 0x1200; + i_this->current.angle.x += 700; + + if (i_this->mTimers[0] == 0) { + fopAcM_delete(i_this); + } + } +} /* 8067D5FC-8067D68C 000F1C 0090+00 1/1 0/0 0/0 .text s_limit_sub__FPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void s_limit_sub(void* param_0, void* param_1) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/s_limit_sub__FPvPv.s" +static void* s_limit_sub(void* i_actor, void* i_data) { + if (fopAcM_IsActor(i_actor) != NULL && i_actor != i_data && + fopAcM_GetName(i_actor) == PROC_E_ARROW && + static_cast(i_actor)->mAction == ACTION_ARROW_FIRE && + fabsf(static_cast(i_actor)->field_0xa00.z - + static_cast(i_data)->field_0xa00.z) < 300.0f) + { + return i_actor; + } + + return NULL; } -#pragma pop - -/* ############################################################################################## */ -/* 8067E908-8067E90C 000088 0004+00 0/1 0/0 0/0 .rodata @4754 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4754 = 39000.0f; -COMPILER_STRIP_GATE(0x8067E908, &lit_4754); -#pragma pop - -/* 8067E90C-8067E910 00008C 0004+00 0/1 0/0 0/0 .rodata @4755 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4755 = 41200.0f; -COMPILER_STRIP_GATE(0x8067E90C, &lit_4755); -#pragma pop - -/* 8067E910-8067E914 000090 0004+00 0/1 0/0 0/0 .rodata @4756 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4756 = -700.0f; -COMPILER_STRIP_GATE(0x8067E910, &lit_4756); -#pragma pop - -/* 8067E914-8067E918 000094 0004+00 0/1 0/0 0/0 .rodata @4757 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4757 = 36800.0f; -COMPILER_STRIP_GATE(0x8067E914, &lit_4757); -#pragma pop - -/* 8067E918-8067E91C 000098 0004+00 0/1 0/0 0/0 .rodata @4758 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4758 = 700.0f; -COMPILER_STRIP_GATE(0x8067E918, &lit_4758); -#pragma pop - -/* 8067E91C-8067E920 00009C 0004+00 0/1 0/0 0/0 .rodata @4759 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4759 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x8067E91C, &lit_4759); -#pragma pop - -/* 8067E920-8067E924 0000A0 0004+00 0/1 0/0 0/0 .rodata @4760 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4760 = -10000.0f; -COMPILER_STRIP_GATE(0x8067E920, &lit_4760); -#pragma pop - -/* 8067E924-8067E928 0000A4 0004+00 0/2 0/0 0/0 .rodata @4761 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4761 = 10.0f; -COMPILER_STRIP_GATE(0x8067E924, &lit_4761); -#pragma pop - -/* 8067E928-8067E92C 0000A8 0004+00 0/1 0/0 0/0 .rodata @4762 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4762 = 800.0f; -COMPILER_STRIP_GATE(0x8067E928, &lit_4762); -#pragma pop /* 8067E978-8067E984 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 8067E984-8067E998 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ #pragma push #pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -776,437 +457,451 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { }; #pragma pop -/* 8067E998-8067E9A0 000020 0008+00 1/1 0/0 0/0 .data fire_name$4663 */ -SECTION_DATA static u8 fire_name[8] = { - 0x84, 0xEE, 0x84, 0xEF, 0x84, 0xF0, 0x84, 0xF1, -}; - -/* 8067E9A0-8067E9E0 000028 0040+00 0/1 0/0 0/0 .data at_sph_src$5035 */ -#pragma push -#pragma force_active on -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 -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 -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 - -/* 8067EA60-8067EA80 -00001 0020+00 1/0 0/0 0/0 .data l_daE_ARROW_Method */ -SECTION_DATA static void* l_daE_ARROW_Method[8] = { - (void*)daE_ARROW_Create__FP10fopAc_ac_c, - (void*)daE_ARROW_Delete__FP13e_arrow_class, - (void*)daE_ARROW_Execute__FP13e_arrow_class, - (void*)daE_ARROW_IsDelete__FP13e_arrow_class, - (void*)daE_ARROW_Draw__FP13e_arrow_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 8067EA80-8067EAB0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_ARROW */ -SECTION_DATA extern void* g_profile_E_ARROW[12] = { - (void*)0xFFFFFFFD, (void*)0x0008FFFD, - (void*)0x02E50000, (void*)&g_fpcLf_Method, - (void*)0x00000A50, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00A30000, (void*)&l_daE_ARROW_Method, - (void*)0x00044100, (void*)0x02000000, -}; - -/* 8067EAB0-8067EABC 000138 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 8067EABC-8067EAC8 000144 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 8067EAC8-8067EAD4 000150 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 8067EAD4-8067EAE0 00015C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 8067EAE0-8067EB10 000168 0030+00 2/2 0/0 0/0 .data __vt__14dBgS_ObjGndChk */ -SECTION_DATA extern void* __vt__14dBgS_ObjGndChk[12] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14dBgS_ObjGndChkFv, - (void*)NULL, - (void*)NULL, - (void*)func_8067E858, - (void*)NULL, - (void*)NULL, - (void*)func_8067E868, - (void*)NULL, - (void*)NULL, - (void*)func_8067E860, -}; - /* 8067D68C-8067DA70 000FAC 03E4+00 1/1 0/0 0/0 .text e_arrow_demo_fire__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void e_arrow_demo_fire(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_fire__FP13e_arrow_class.s" -} -#pragma pop +static void e_arrow_demo_fire(e_arrow_class* i_this) { + cXyz sp9C; + csXyz spB0; -/* 8067DA70-8067DAE8 001390 0078+00 4/3 0/0 0/0 .text __dt__14dBgS_ObjGndChkFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/__dt__14dBgS_ObjGndChkFv.s" + switch (i_this->mMode) { + case 0: + i_this->mMode = 1; + i_this->field_0xa00 = i_this->current.pos; + + if (i_this->field_0xa00.z > 39000.0f) { + i_this->field_0xa0c = -0x8000; + } else { + i_this->field_0xa0c = 0; + } + + i_this->mTimers[0] = 20; + case 1: + spB0.set(0, i_this->field_0xa0c, 0); + + static u16 fire_name[] = {0x84EE, 0x84EF, 0x84F0, 0x84F1}; + + for (int i = 0; i < 4; i++) { + i_this->field_0x9f0[i] = dComIfGp_particle_set(i_this->field_0x9f0[i], fire_name[i], + &i_this->field_0xa00, &spB0, NULL); + + dComIfGp_particle_levelEmitterOnEventMove(i_this->field_0x9f0[i]); + } + + if (i_this->mTimers[0] == 0) { + daPy_py_c* player_p = (daPy_py_c*)dComIfGp_getPlayer(0); + + f32 var_f31; + if (i_this->field_0xa0c == 0) { + var_f31 = 41200.0f; + sp9C.z = -700.0f; + } else { + var_f31 = 36800.0f; + sp9C.z = 700.0f; + } + + if (!player_p->checkWolfDig() && + (!i_dComIfGp_event_runCheck() || + fopAcM_getTalkEventPartner(daPy_getLinkPlayerActorClass()) != + (fopAc_ac_c*)daPy_py_c::getMidnaActor())) + { + if (!dMsgObject_isTalkNowCheck()) { + cLib_addCalc2(&i_this->field_0xa00.z, var_f31, 0.1f, i_this->field_0xa10); + } + } + + if (i_this->field_0xa0c == 0 && i_fpcM_Search(s_limit_sub, i_this) != NULL) { + dBgS_ObjGndChk gnd_chk; + sp9C = player_p->current.pos; + sp9C.y += 200.0f; + gnd_chk.SetPos(&sp9C); + + if (dComIfG_Bgsp().GroundCross(&gnd_chk) > -10000.0f) { + i_this->mMode = 2; + return; + } + } + + cLib_addCalc2(&i_this->field_0xa10, 10.0f, 1.0f, 1.0f); + + if (!i_dComIfGp_event_runCheck()) { + sp9C.y = 0.0f; + sp9C.x = 0.0f; + + i_this->mCcFireEffSph.SetC(i_this->field_0xa00 + sp9C); + i_this->mCcFireEffSph.SetR(800.0f); + dComIfG_Ccsp()->Set(&i_this->mCcFireEffSph); + } + + i_this->mpModel = NULL; + } + + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_STRAWFENCE_BURNING, &i_this->field_0xa00, 0, 0, 1.0f, + 1.0f, -1.0f, -1.0f, 0); + break; + case 2: + dMeter2Info_getMeterClass()->setLifeZero(); + break; + } } -#pragma pop /* 8067DAE8-8067DB5C 001408 0074+00 1/1 0/0 0/0 .text * atHit_CB__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void atHit_CB(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fopAc_ac_c* param_2, - dCcD_GObjInf* param_3) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/atHit_CB__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf.s" +static void atHit_CB(fopAc_ac_c* i_atActor, dCcD_GObjInf* i_atObjInf, fopAc_ac_c* i_tgActor, + dCcD_GObjInf* i_tgObjInf) { + if (i_tgActor != NULL && fopAcM_GetName(i_tgActor) == PROC_ALINK) { + if (daAlink_getAlinkActorClass()->checkWoodShieldEquipNotIronBall()) { + daAlink_getAlinkActorClass()->getArrowShieldOffset( + &i_atActor->current.pos, &i_atActor->shape_angle, + &static_cast(i_atActor)->field_0x9d4, + &static_cast(i_atActor)->field_0x9c8); + } + } } -#pragma pop - -/* ############################################################################################## */ -/* 8067EB74-8067EB84 000064 000C+04 0/1 0/0 0/0 .bss @4787 */ -#pragma push -#pragma force_active on -static u8 lit_4787[12 + 4 /* padding */]; -#pragma pop - -/* 8067EB84-8067EB90 000074 000C+00 0/1 0/0 0/0 .bss localOffset$4786 */ -#pragma push -#pragma force_active on -static u8 localOffset_4786[12]; -#pragma pop /* 8067DB5C-8067DC58 00147C 00FC+00 1/1 0/0 0/0 .text e_arrow_shield__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void e_arrow_shield(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_shield__FP13e_arrow_class.s" +static void e_arrow_shield(e_arrow_class* i_this) { + e_arrow_class* a_this = (e_arrow_class*)i_this; // necessary for reg alloc + daAlink_getAlinkActorClass()->setArrowShieldPos(&a_this->current.pos, &a_this->shape_angle, + &i_this->field_0x9d4, &i_this->field_0x9c8); + + static cXyz localOffset(0.0f, 0.0f, -30.0f); + mDoMtx_stack_c::transS(a_this->current.pos.x, a_this->current.pos.y, a_this->current.pos.z); + mDoMtx_stack_c::ZXYrotM(a_this->shape_angle.x, a_this->shape_angle.y, 0); + mDoMtx_stack_c::multVec(&localOffset, &a_this->current.pos); + + if (daAlink_getAlinkActorClass()->checkStickArrowReset()) { + fopAcM_delete(a_this); + } } -#pragma pop - -/* ############################################################################################## */ -/* 8067E92C-8067E930 0000AC 0004+00 0/1 0/0 0/0 .rodata @4858 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4858 = 2500.0f; -COMPILER_STRIP_GATE(0x8067E92C, &lit_4858); -#pragma pop - -/* 8067E930-8067E934 0000B0 0004+00 0/1 0/0 0/0 .rodata @4859 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4859 = 1.0f / 100.0f; -COMPILER_STRIP_GATE(0x8067E930, &lit_4859); -#pragma pop - -/* 8067E934-8067E938 0000B4 0004+00 0/1 0/0 0/0 .rodata @4860 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4860 = 60.0f; -COMPILER_STRIP_GATE(0x8067E934, &lit_4860); -#pragma pop - -/* 8067E938-8067E93C 0000B8 0004+00 0/2 0/0 0/0 .rodata @4861 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4861 = 50.0f; -COMPILER_STRIP_GATE(0x8067E938, &lit_4861); -#pragma pop - -/* 8067E93C-8067E940 0000BC 0004+00 0/1 0/0 0/0 .rodata @4862 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4862 = 5.0f; -COMPILER_STRIP_GATE(0x8067E93C, &lit_4862); -#pragma pop - -/* 8067E940-8067E948 0000C0 0004+04 0/1 0/0 0/0 .rodata @4863 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4863[1 + 1 /* padding */] = { - 25.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8067E940, &lit_4863); -#pragma pop - -/* 8067E948-8067E950 0000C8 0008+00 0/2 0/0 0/0 .rodata @4865 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4865[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8067E948, &lit_4865); -#pragma pop /* 8067DC58-8067DE54 001578 01FC+00 1/1 0/0 0/0 .text e_arrow_demo_bound__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void e_arrow_demo_bound(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/e_arrow_demo_bound__FP13e_arrow_class.s" +static void e_arrow_demo_bound(e_arrow_class* i_this) { + fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; + fopAc_ac_c* const player_p = dComIfGp_getPlayer(0); + + if (i_this->mMode == 0) { + i_this->field_0xa0c = 12000; + i_this->field_0xa10 = 2500.0f; + i_this->mMode = 1; + i_this->mTimers[0] = 80; + } + + if (i_this->mTimers[0] == 0) { + fopAcM_delete(a_this); + } + + if (i_this->field_0xa0c > 0) { + a_this->shape_angle.x += (s16)i_this->field_0xa10; + + if (a_this->shape_angle.x > i_this->field_0xa0c || + a_this->shape_angle.x < (s16)-i_this->field_0xa0c) + { + if (i_this->field_0xa0c > 1000) { + fopAcM_seStart(a_this, Z2SE_OBJ_KEY_BOUND, i_this->field_0xa0c * 0.01f); + } + + i_this->field_0xa0c /= 2; + + if (a_this->shape_angle.x > 0) { + a_this->shape_angle.x = i_this->field_0xa0c; + } else { + a_this->shape_angle.x = -i_this->field_0xa0c; + } + + i_this->field_0xa10 *= -1.0f; + } + } + + a_this->shape_angle.y = player_p->shape_angle.y - 0x2000; + a_this->current.pos.x = player_p->current.pos.x - 60.0f; + a_this->current.pos.y = + player_p->current.pos.y + 5.0f + fabsf(cM_ssin(a_this->shape_angle.x) * 50.0f); + a_this->current.pos.z = player_p->current.pos.z + 10.0f + 25.0f; } -#pragma pop - -/* ############################################################################################## */ -/* 8067E950-8067E954 0000D0 0004+00 0/1 0/0 0/0 .rodata @4914 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4914 = 1000.0f; -COMPILER_STRIP_GATE(0x8067E950, &lit_4914); -#pragma pop - -/* 8067E954-8067E958 0000D4 0004+00 0/1 0/0 0/0 .rodata @4915 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4915 = -300.0f; -COMPILER_STRIP_GATE(0x8067E954, &lit_4915); -#pragma pop /* 8067DE54-8067E0BC 001774 0268+00 1/1 0/0 0/0 .text action__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void action(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/action__FP13e_arrow_class.s" +static void action(e_arrow_class* i_this) { + s8 try_create_explosion = false; + + switch (i_this->mAction) { + case ACTION_ARROW_SHOT: + e_arrow_shot(i_this); + dComIfGp_att_LookRequest(i_this, 1000.0f, 300.0f, -300.0f, 0x6000, 1); + hit_check(i_this); + + if (i_this->mArrowType == ARROW_TYPE_FIRE) { + i_this->mSound.startLevelSound(Z2SE_OBJ_ARROW_FLY_FIRE, 0, -1); + } else { + i_this->mSound.startLevelSound(Z2SE_OBJ_ARROW_FLY_NORMAL, 0, -1); + } + break; + case ACTION_ARROW_BG: + e_arrow_bg(i_this); + + if (i_this->mArrowType == ARROW_TYPE_FIRE) { + i_this->mSound.startLevelSound(Z2SE_OBJ_ARROW_FIRE_READY, 0, -1); + } + + try_create_explosion = true; + break; + case ACTION_ARROW_SPIN: + e_arrow_spin(i_this); + try_create_explosion = true; + break; + case ACTION_ARROW_SHIELD: + e_arrow_shield(i_this); + try_create_explosion = true; + break; + case ACTION_ARROW_FIRE: + e_arrow_demo_fire(i_this); + break; + case ACTION_ARROW_BOUND: + e_arrow_demo_bound(i_this); + return; + } + + if (try_create_explosion && i_this->mArrowType == ARROW_TYPE_BOMB) { + dBomb_c::createNormalBombExplode(&i_this->current.pos); + fopAcM_delete(i_this); + } + + cMtx_YrotS(*calc_mtx, i_this->current.angle.y); + cMtx_XrotM(*calc_mtx, i_this->current.angle.x); + + cXyz sp20; + sp20.x = 0.0f; + sp20.y = 0.0f; + sp20.z = i_this->speedF; + MtxPosition(&sp20, &i_this->speed); + + i_this->current.pos.x += i_this->speed.x + i_this->field_0x5d0; + i_this->current.pos.y += i_this->speed.y; + i_this->current.pos.z += i_this->speed.z + i_this->field_0x5d4; + + i_this->mEyePos = i_this->current.pos; } -#pragma pop - -/* ############################################################################################## */ -/* 8067E958-8067E95C 0000D8 0004+00 0/1 0/0 0/0 .rodata @4979 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4979 = 40.0f; -COMPILER_STRIP_GATE(0x8067E958, &lit_4979); -#pragma pop - -/* 8067E95C-8067E960 0000DC 0004+00 0/1 0/0 0/0 .rodata @4980 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4980 = -40.0f; -COMPILER_STRIP_GATE(0x8067E95C, &lit_4980); -#pragma pop - -/* 8067E960-8067E964 0000E0 0004+00 0/1 0/0 0/0 .rodata @4981 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4981 = 19.0f / 20.0f; -COMPILER_STRIP_GATE(0x8067E960, &lit_4981); -#pragma pop - -/* 8067E964-8067E968 0000E4 0004+00 0/1 0/0 0/0 .rodata @4982 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4982 = -60.0f; -COMPILER_STRIP_GATE(0x8067E964, &lit_4982); -#pragma pop - -/* 8067E968-8067E96C 0000E8 0004+00 0/1 0/0 0/0 .rodata @4983 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4983 = -10.0f; -COMPILER_STRIP_GATE(0x8067E968, &lit_4983); -#pragma pop /* 8067E0BC-8067E304 0019DC 0248+00 1/0 0/0 0/0 .text daE_ARROW_Execute__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daE_ARROW_Execute(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Execute__FP13e_arrow_class.s" +static int daE_ARROW_Execute(e_arrow_class* i_this) { + const fopAc_ac_c* a_this = static_cast(i_this); + + if (i_this->field_0xa14 != 0) { + return 1; + } + + cXyz sp60; + cXyz sp6C; + cXyz sp78; + + i_this->field_0x5c0++; + + for (int i = 0; i < 4; i++) { + if (i_this->mTimers[i] != 0) { + i_this->mTimers[i]--; + } + } + + action(i_this); + + if (i_this->mpModel == NULL) { + return 1; + } + + if (i_this->mArrowType >= ARROW_TYPE_FIRE) { + fire_eff_set(i_this); + } + + s16 var_r29; + s16 var_r28; + + if (i_this->field_0x5ce != 0) { + i_this->field_0x5ce--; + + f32 temp_f1 = i_this->field_0x5ce * 50.0f; + var_r29 = temp_f1 * cM_ssin(i_this->field_0x5c0 * 0x7000); + var_r28 = temp_f1 * cM_ssin(i_this->field_0x5c0 * 0x7A00); + } else { + var_r28 = 0; + var_r29 = 0; + } + + mDoMtx_stack_c::transS(a_this->current.pos.x, a_this->current.pos.y, a_this->current.pos.z); + mDoMtx_stack_c::YrotM(a_this->shape_angle.y); + mDoMtx_stack_c::XrotM(a_this->shape_angle.x); + mDoMtx_stack_c::ZrotM(a_this->shape_angle.z); + mDoMtx_stack_c::transM(0.0f, 0.0f, 40.0f); + mDoMtx_stack_c::YrotM(var_r29); + mDoMtx_stack_c::XrotM(var_r28); + mDoMtx_stack_c::transM(0.0f, 0.0f, -40.0f); + mDoMtx_stack_c::scaleM(1.0f, 1.0f, 0.95f); + mDoMtx_stack_c::YrotM(-23500); + mDoMtx_stack_c::XrotM(-2000); + mDoMtx_stack_c::transM(-60.0f, -10.0f, 40.0f); + + i_this->mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + i_this->mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(a_this))); + return 1; } -#pragma pop /* 8067E304-8067E30C 001C24 0008+00 1/0 0/0 0/0 .text daE_ARROW_IsDelete__FP13e_arrow_class */ -static bool daE_ARROW_IsDelete(e_arrow_class* param_0) { - return true; +static int daE_ARROW_IsDelete(e_arrow_class* i_this) { + return 1; } /* 8067E30C-8067E374 001C2C 0068+00 1/0 0/0 0/0 .text daE_ARROW_Delete__FP13e_arrow_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daE_ARROW_Delete(e_arrow_class* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Delete__FP13e_arrow_class.s" +static int daE_ARROW_Delete(e_arrow_class* i_this) { + fopAcM_GetID(i_this); + dComIfG_resDelete(&i_this->mPhase, i_this->mResName); + i_this->mSound.deleteObject(); + + JPABaseEmitter* emitter_p = dComIfGp_particle_getEmitter(i_this->field_0x9ec); + if (emitter_p != NULL) { + emitter_p->setParticleCallBackPtr(NULL); + } + + return 1; } -#pragma pop /* 8067E374-8067E428 001C94 00B4+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void useHeapInit(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/useHeapInit__FP10fopAc_ac_c.s" -} -#pragma pop +static int useHeapInit(fopAc_ac_c* i_this) { + e_arrow_class* a_this = static_cast(i_this); -/* ############################################################################################## */ -/* 8067E96C-8067E96C 0000EC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8067E96C = "E_rdy"; -SECTION_DEAD static char const* const stringBase_8067E972 = "E_rd"; -#pragma pop + int res_id; + if (fopAcM_GetParam(a_this) & 0x80000000) { + res_id = 0x52; + } else { + res_id = 0x45; + } + + if (a_this->mArrowType == ARROW_TYPE_BOMB) { + res_id++; + } + + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(a_this->mResName, res_id); + JUT_ASSERT(modelData != 0); + + a_this->mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); + if (a_this->mpModel == NULL) { + return 0; + } + + a_this->mSound.init(&a_this->current.pos, 1); + return 1; +} /* 8067E428-8067E724 001D48 02FC+00 1/0 0/0 0/0 .text daE_ARROW_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daE_ARROW_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/daE_ARROW_Create__FP10fopAc_ac_c.s" -} -#pragma pop +static int daE_ARROW_Create(fopAc_ac_c* i_this) { + e_arrow_class* const a_this = static_cast(i_this); + fopAcM_SetupActor(i_this, e_arrow_class); -/* 8067E724-8067E76C 002044 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// 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" -} -#pragma pop + if (fopAcM_GetParam(a_this) & 0x80000000) { + a_this->mResName = "E_rdy"; + } else { + a_this->mResName = "E_rd"; + } -/* 8067E76C-8067E7B4 00208C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// 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" -} -#pragma pop + int phase_state = dComIfG_resLoad(&a_this->mPhase, a_this->mResName); + if (phase_state == cPhs_COMPLEATE_e) { + a_this->mArrowType = fopAcM_GetParam(a_this) & 0xF; + a_this->mFlags = fopAcM_GetParam(a_this) & 0xF0; -/* 8067E7B4-8067E810 0020D4 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// 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" -} -#pragma pop + if (!fopAcM_entrySolidHeap(a_this, useHeapInit, 0x820)) { + return cPhs_ERROR_e; + } -/* 8067E810-8067E858 002130 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// 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" -} -#pragma pop + fopAcM_SetMtx(a_this, a_this->mpModel->getBaseTRMtx()); -/* 8067E858-8067E860 002178 0008+00 1/0 0/0 0/0 .text @20@__dt__14dBgS_ObjGndChkFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void func_8067E858() { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E858.s" -} -#pragma pop + 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 + }; -/* 8067E860-8067E868 002180 0008+00 1/0 0/0 0/0 .text @76@__dt__14dBgS_ObjGndChkFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void func_8067E860() { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E860.s" -} -#pragma pop + 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 + }; -/* 8067E868-8067E870 002188 0008+00 1/0 0/0 0/0 .text @60@__dt__14dBgS_ObjGndChkFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void func_8067E868() { - nofralloc -#include "asm/rel/d/a/e/d_a_e_arrow/d_a_e_arrow/func_8067E868.s" -} -#pragma pop + 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 + }; + + a_this->mCcStts.Init(0xFF, 0, a_this); + a_this->mCcAtSph.Set(at_sph_src); + a_this->mCcAtSph.SetStts(&a_this->mCcStts); + a_this->mCcAtSph.SetAtHitCallback(atHit_CB); + + if (a_this->mArrowType == ARROW_TYPE_FIRE) { + a_this->mCcAtSph.SetAtMtrl(1); + } + + a_this->mCcAtSph.StartCAt(a_this->current.pos); + + a_this->mCcTgSph.Set(tg_sph_src); + a_this->mCcTgSph.SetStts(&a_this->mCcStts); + + a_this->field_0x5c0 = cM_rndF(0xFFFF); + if (a_this->mFlags & 0x10) { + a_this->mCcFireEffSph.Set(fire_eff_sph_src); + a_this->mCcFireEffSph.SetStts(&a_this->mCcStts); + } + + mDoMtx_stack_c::scaleS(0.0f, 0.0f, 0.0f); + a_this->mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + } + + return phase_state; +} + +/* 8067EA60-8067EA80 -00001 0020+00 1/0 0/0 0/0 .data l_daE_ARROW_Method */ +static actor_method_class l_daE_ARROW_Method = { + (process_method_func)daE_ARROW_Create, (process_method_func)daE_ARROW_Delete, + (process_method_func)daE_ARROW_Execute, (process_method_func)daE_ARROW_IsDelete, + (process_method_func)daE_ARROW_Draw, +}; + +/* 8067EA80-8067EAB0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_ARROW */ +extern actor_process_profile_definition g_profile_E_ARROW = { + fpcLy_CURRENT_e, + 8, + fpcPi_CURRENT_e, + PROC_E_ARROW, + &g_fpcLf_Method.mBase, + sizeof(e_arrow_class), + 0, + 0, + &g_fopAc_Method.base, + 163, + &l_daE_ARROW_Method, + 0x44100, + fopAc_ENEMY_e, + fopAc_CULLBOX_0_e, +}; + +// TODO: these are unreferenced, supposed to be auto generated? fix eventually -/* ############################################################################################## */ /* 8067EB90-8067EB94 000080 0004+00 0/0 0/0 0/0 .bss * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ #pragma push