From 35484fb2c7c90c41ea461ae9d37974e360b2ad64 Mon Sep 17 00:00:00 2001 From: doop <56421834+dooplecks@users.noreply.github.com> Date: Tue, 14 May 2024 16:43:47 -0400 Subject: [PATCH] d_a_tag_yami work (#2154) --- Progress.md | 8 +- .../d_a_tag_yami/Execute__11daTagYami_cFv.s | 16 - .../d_a_tag_yami/__dt__10cCcD_GSttsFv.s | 20 - .../d_a_tag_yami/__dt__10dCcD_GSttsFv.s | 26 - .../d_a_tag_yami/__dt__8cM3dGAabFv.s | 20 - .../d_a_tag_yami/__dt__8cM3dGCylFv.s | 20 - .../calcCoC__11daTagYami_cFR4cXyz.s | 43 -- .../d_a_tag_yami/chk_CoHit__11daTagYami_cFv.s | 24 - .../d_a_tag_yami/create__11daTagYami_cFv.s | 148 ------ .../daTagYami_Create__FP10fopAc_ac_c.s | 9 - .../daTagYami_Delete__FP11daTagYami_c.s | 78 --- .../daTagYami_Execute__FP10fopAc_ac_c.s | 9 - .../d_a_tag_yami/getPlDist__11daTagYami_cFv.s | 109 ---- .../offMidnaTagSw2__11daTagYami_cFv.s | 15 - .../onMidnaTagSw__11daTagYami_cFv.s | 15 - .../setCoC__11daTagYami_cF4cXyz.s | 8 - .../rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h | 43 ++ rel/d/a/tag/d_a_tag_yami/Makefile | 1 + rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.cpp | 497 ++++-------------- 19 files changed, 162 insertions(+), 947 deletions(-) delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/Execute__11daTagYami_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10cCcD_GSttsFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10dCcD_GSttsFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGAabFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGCylFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/calcCoC__11daTagYami_cFR4cXyz.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/chk_CoHit__11daTagYami_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/create__11daTagYami_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Delete__FP11daTagYami_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Execute__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/getPlDist__11daTagYami_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/offMidnaTagSw2__11daTagYami_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/onMidnaTagSw__11daTagYami_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/setCoC__11daTagYami_cF4cXyz.s diff --git a/Progress.md b/Progress.md index 0d92a58eed6..104c7df6e68 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 54.954197% | 2209528 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 54.954197% | 2209528 | 4020672 -RELs | 38.629138% | 4442476 | 11500324 -Total | 42.858100% | 6652004 | 15520996 +RELs | 38.647050% | 4444536 | 11500324 +Total | 42.871372% | 6654064 | 15520996 ## RELs @@ -774,7 +774,7 @@ d_a_tag_wara_howl | 100.000000% | 1420 | 1420 d_a_tag_watchge | 100.000000% | 1240 | 1240 d_a_tag_waterfall | 100.000000% | 3408 | 3408 d_a_tag_wljump | 45.248380% | 1676 | 3704 -d_a_tag_yami | 42.650334% | 1532 | 3592 +d_a_tag_yami | 100.000000% | 3592 | 3592 d_a_talk | 100.000000% | 1840 | 1840 d_a_tbox | 30.165503% | 9332 | 30936 d_a_tbox2 | 100.000000% | 10328 | 10328 @@ -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 | 38.629138% | 4442476 | 11500324 +Total | 38.647050% | 4444536 | 11500324 diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/Execute__11daTagYami_cFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/Execute__11daTagYami_cFv.s deleted file mode 100644 index defca3a2142..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/Execute__11daTagYami_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80D65C24: -/* 80D65C24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D65C28 7C 08 02 A6 */ mflr r0 -/* 80D65C2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D65C30 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D65C34 7C 7F 1B 78 */ mr r31, r3 -/* 80D65C38 48 00 00 D1 */ bl col_set__11daTagYami_cFv -/* 80D65C3C 7F E3 FB 78 */ mr r3, r31 -/* 80D65C40 48 00 00 CD */ bl chk_CoHit__11daTagYami_cFv -/* 80D65C44 90 7F 07 00 */ stw r3, 0x700(r31) -/* 80D65C48 38 60 00 01 */ li r3, 1 -/* 80D65C4C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D65C50 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D65C54 7C 08 03 A6 */ mtlr r0 -/* 80D65C58 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D65C5C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10cCcD_GSttsFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10cCcD_GSttsFv.s deleted file mode 100644 index 391b15a5d52..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10cCcD_GSttsFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80D660B8: -/* 80D660B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D660BC 7C 08 02 A6 */ mflr r0 -/* 80D660C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D660C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D660C8 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80D660CC 41 82 00 1C */ beq lbl_80D660E8 -/* 80D660D0 3C A0 80 D6 */ lis r5, __vt__10cCcD_GStts@ha /* 0x80D662D0@ha */ -/* 80D660D4 38 05 62 D0 */ addi r0, r5, __vt__10cCcD_GStts@l /* 0x80D662D0@l */ -/* 80D660D8 90 1F 00 00 */ stw r0, 0(r31) -/* 80D660DC 7C 80 07 35 */ extsh. r0, r4 -/* 80D660E0 40 81 00 08 */ ble lbl_80D660E8 -/* 80D660E4 4B 56 8C 59 */ bl __dl__FPv -lbl_80D660E8: -/* 80D660E8 7F E3 FB 78 */ mr r3, r31 -/* 80D660EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D660F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D660F4 7C 08 03 A6 */ mtlr r0 -/* 80D660F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D660FC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10dCcD_GSttsFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10dCcD_GSttsFv.s deleted file mode 100644 index 7b97397d518..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10dCcD_GSttsFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80D6611C: -/* 80D6611C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D66120 7C 08 02 A6 */ mflr r0 -/* 80D66124 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66128 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D6612C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80D66130 41 82 00 30 */ beq lbl_80D66160 -/* 80D66134 3C 60 80 D6 */ lis r3, __vt__10dCcD_GStts@ha /* 0x80D662DC@ha */ -/* 80D66138 38 03 62 DC */ addi r0, r3, __vt__10dCcD_GStts@l /* 0x80D662DC@l */ -/* 80D6613C 90 1F 00 00 */ stw r0, 0(r31) -/* 80D66140 41 82 00 10 */ beq lbl_80D66150 -/* 80D66144 3C 60 80 D6 */ lis r3, __vt__10cCcD_GStts@ha /* 0x80D662D0@ha */ -/* 80D66148 38 03 62 D0 */ addi r0, r3, __vt__10cCcD_GStts@l /* 0x80D662D0@l */ -/* 80D6614C 90 1F 00 00 */ stw r0, 0(r31) -lbl_80D66150: -/* 80D66150 7C 80 07 35 */ extsh. r0, r4 -/* 80D66154 40 81 00 0C */ ble lbl_80D66160 -/* 80D66158 7F E3 FB 78 */ mr r3, r31 -/* 80D6615C 4B 56 8B E1 */ bl __dl__FPv -lbl_80D66160: -/* 80D66160 7F E3 FB 78 */ mr r3, r31 -/* 80D66164 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D66168 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D6616C 7C 08 03 A6 */ mtlr r0 -/* 80D66170 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66174 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGAabFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGAabFv.s deleted file mode 100644 index 4bdf94f47ba..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGAabFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80D661C0: -/* 80D661C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D661C4 7C 08 02 A6 */ mflr r0 -/* 80D661C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D661CC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D661D0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80D661D4 41 82 00 1C */ beq lbl_80D661F0 -/* 80D661D8 3C A0 80 D6 */ lis r5, __vt__8cM3dGAab@ha /* 0x80D662F4@ha */ -/* 80D661DC 38 05 62 F4 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x80D662F4@l */ -/* 80D661E0 90 1F 00 18 */ stw r0, 0x18(r31) -/* 80D661E4 7C 80 07 35 */ extsh. r0, r4 -/* 80D661E8 40 81 00 08 */ ble lbl_80D661F0 -/* 80D661EC 4B 56 8B 51 */ bl __dl__FPv -lbl_80D661F0: -/* 80D661F0 7F E3 FB 78 */ mr r3, r31 -/* 80D661F4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D661F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D661FC 7C 08 03 A6 */ mtlr r0 -/* 80D66200 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66204 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGCylFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGCylFv.s deleted file mode 100644 index abca01e776a..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGCylFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80D66178: -/* 80D66178 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6617C 7C 08 02 A6 */ mflr r0 -/* 80D66180 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66184 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D66188 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80D6618C 41 82 00 1C */ beq lbl_80D661A8 -/* 80D66190 3C A0 80 D6 */ lis r5, __vt__8cM3dGCyl@ha /* 0x80D662E8@ha */ -/* 80D66194 38 05 62 E8 */ addi r0, r5, __vt__8cM3dGCyl@l /* 0x80D662E8@l */ -/* 80D66198 90 1F 00 14 */ stw r0, 0x14(r31) -/* 80D6619C 7C 80 07 35 */ extsh. r0, r4 -/* 80D661A0 40 81 00 08 */ ble lbl_80D661A8 -/* 80D661A4 4B 56 8B 99 */ bl __dl__FPv -lbl_80D661A8: -/* 80D661A8 7F E3 FB 78 */ mr r3, r31 -/* 80D661AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D661B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D661B4 7C 08 03 A6 */ mtlr r0 -/* 80D661B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D661BC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/calcCoC__11daTagYami_cFR4cXyz.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/calcCoC__11daTagYami_cFR4cXyz.s deleted file mode 100644 index c6ca148e63e..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/calcCoC__11daTagYami_cFR4cXyz.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80D65C60: -/* 80D65C60 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80D65C64 7C 08 02 A6 */ mflr r0 -/* 80D65C68 90 01 00 34 */ stw r0, 0x34(r1) -/* 80D65C6C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80D65C70 93 C1 00 28 */ stw r30, 0x28(r1) -/* 80D65C74 7C 7E 1B 78 */ mr r30, r3 -/* 80D65C78 7C 9F 23 78 */ mr r31, r4 -/* 80D65C7C 3C 60 80 D6 */ lis r3, lit_3820@ha /* 0x80D6625C@ha */ -/* 80D65C80 C0 03 62 5C */ lfs f0, lit_3820@l(r3) /* 0x80D6625C@l */ -/* 80D65C84 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80D65C88 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80D65C8C 3C 60 80 D6 */ lis r3, lit_3821@ha /* 0x80D66260@ha */ -/* 80D65C90 C0 03 62 60 */ lfs f0, lit_3821@l(r3) /* 0x80D66260@l */ -/* 80D65C94 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80D65C98 38 61 00 08 */ addi r3, r1, 8 -/* 80D65C9C 38 80 00 00 */ li r4, 0 -/* 80D65CA0 38 A0 80 6A */ li r5, -32662 -/* 80D65CA4 38 C0 00 00 */ li r6, 0 -/* 80D65CA8 4B 50 17 4D */ bl __ct__5csXyzFsss -/* 80D65CAC 38 61 00 08 */ addi r3, r1, 8 -/* 80D65CB0 4B 2A 72 5D */ bl ZXYrotS__14mDoMtx_stack_cFRC5csXyz -/* 80D65CB4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D65CB8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D65CBC 38 81 00 1C */ addi r4, r1, 0x1c -/* 80D65CC0 7C 85 23 78 */ mr r5, r4 -/* 80D65CC4 4B 5E 10 A9 */ bl PSMTXMultVec -/* 80D65CC8 38 61 00 10 */ addi r3, r1, 0x10 -/* 80D65CCC 38 9E 04 A8 */ addi r4, r30, 0x4a8 -/* 80D65CD0 38 A1 00 1C */ addi r5, r1, 0x1c -/* 80D65CD4 4B 50 0E 11 */ bl __pl__4cXyzCFRC3Vec -/* 80D65CD8 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80D65CDC D0 1F 00 00 */ stfs f0, 0(r31) -/* 80D65CE0 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80D65CE4 D0 1F 00 04 */ stfs f0, 4(r31) -/* 80D65CE8 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80D65CEC D0 1F 00 08 */ stfs f0, 8(r31) -/* 80D65CF0 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80D65CF4 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80D65CF8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80D65CFC 7C 08 03 A6 */ mtlr r0 -/* 80D65D00 38 21 00 30 */ addi r1, r1, 0x30 -/* 80D65D04 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/chk_CoHit__11daTagYami_cFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/chk_CoHit__11daTagYami_cFv.s deleted file mode 100644 index 851fd9e222f..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/chk_CoHit__11daTagYami_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80D65D0C: -/* 80D65D0C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D65D10 7C 08 02 A6 */ mflr r0 -/* 80D65D14 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D65D18 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80D65D1C F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80D65D20 88 03 06 E0 */ lbz r0, 0x6e0(r3) -/* 80D65D24 28 00 00 00 */ cmplwi r0, 0 -/* 80D65D28 40 82 00 0C */ bne lbl_80D65D34 -/* 80D65D2C 38 60 00 00 */ li r3, 0 -/* 80D65D30 48 00 00 18 */ b lbl_80D65D48 -lbl_80D65D34: -/* 80D65D34 C3 E3 06 FC */ lfs f31, 0x6fc(r3) -/* 80D65D38 48 00 00 29 */ bl getPlDist__11daTagYami_cFv -/* 80D65D3C FC 01 F8 40 */ fcmpo cr0, f1, f31 -/* 80D65D40 7C 00 00 26 */ mfcr r0 -/* 80D65D44 54 03 0F FE */ srwi r3, r0, 0x1f -lbl_80D65D48: -/* 80D65D48 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80D65D4C CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80D65D50 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D65D54 7C 08 03 A6 */ mtlr r0 -/* 80D65D58 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D65D5C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/create__11daTagYami_cFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/create__11daTagYami_cFv.s deleted file mode 100644 index d585b4d1df4..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/create__11daTagYami_cFv.s +++ /dev/null @@ -1,148 +0,0 @@ -lbl_80D659F8: -/* 80D659F8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80D659FC 7C 08 02 A6 */ mflr r0 -/* 80D65A00 90 01 00 34 */ stw r0, 0x34(r1) -/* 80D65A04 39 61 00 30 */ addi r11, r1, 0x30 -/* 80D65A08 4B 5F C7 D1 */ bl _savegpr_28 -/* 80D65A0C 7C 7E 1B 78 */ mr r30, r3 -/* 80D65A10 3C 80 80 D6 */ lis r4, l_sph_src@ha /* 0x80D66210@ha */ -/* 80D65A14 3B E4 62 10 */ addi r31, r4, l_sph_src@l /* 0x80D66210@l */ -/* 80D65A18 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D65A1C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D65A20 40 82 00 A8 */ bne lbl_80D65AC8 -/* 80D65A24 7F C0 F3 79 */ or. r0, r30, r30 -/* 80D65A28 41 82 00 94 */ beq lbl_80D65ABC -/* 80D65A2C 7C 1D 03 78 */ mr r29, r0 -/* 80D65A30 4B 2B 31 35 */ bl __ct__10fopAc_ac_cFv -/* 80D65A34 3B 9D 05 68 */ addi r28, r29, 0x568 -/* 80D65A38 7F 83 E3 78 */ mr r3, r28 -/* 80D65A3C 4B 31 DF ED */ bl __ct__12dCcD_GObjInfFv -/* 80D65A40 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */ -/* 80D65A44 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */ -/* 80D65A48 90 1C 01 20 */ stw r0, 0x120(r28) -/* 80D65A4C 3C 60 80 D6 */ lis r3, __vt__8cM3dGAab@ha /* 0x80D662F4@ha */ -/* 80D65A50 38 03 62 F4 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80D662F4@l */ -/* 80D65A54 90 1C 01 1C */ stw r0, 0x11c(r28) -/* 80D65A58 3C 60 80 D6 */ lis r3, __vt__8cM3dGCyl@ha /* 0x80D662E8@ha */ -/* 80D65A5C 38 03 62 E8 */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80D662E8@l */ -/* 80D65A60 90 1C 01 38 */ stw r0, 0x138(r28) -/* 80D65A64 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */ -/* 80D65A68 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */ -/* 80D65A6C 90 7C 01 20 */ stw r3, 0x120(r28) -/* 80D65A70 38 03 00 58 */ addi r0, r3, 0x58 -/* 80D65A74 90 1C 01 38 */ stw r0, 0x138(r28) -/* 80D65A78 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */ -/* 80D65A7C 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */ -/* 80D65A80 90 7C 00 3C */ stw r3, 0x3c(r28) -/* 80D65A84 38 03 00 2C */ addi r0, r3, 0x2c -/* 80D65A88 90 1C 01 20 */ stw r0, 0x120(r28) -/* 80D65A8C 38 03 00 84 */ addi r0, r3, 0x84 -/* 80D65A90 90 1C 01 38 */ stw r0, 0x138(r28) -/* 80D65A94 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */ -/* 80D65A98 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */ -/* 80D65A9C 90 1D 06 BC */ stw r0, 0x6bc(r29) -/* 80D65AA0 38 7D 06 C0 */ addi r3, r29, 0x6c0 -/* 80D65AA4 4B 31 DC BD */ bl __ct__10dCcD_GSttsFv -/* 80D65AA8 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */ -/* 80D65AAC 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */ -/* 80D65AB0 90 7D 06 BC */ stw r3, 0x6bc(r29) -/* 80D65AB4 38 03 00 20 */ addi r0, r3, 0x20 -/* 80D65AB8 90 1D 06 C0 */ stw r0, 0x6c0(r29) -lbl_80D65ABC: -/* 80D65ABC 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 80D65AC0 60 00 00 08 */ ori r0, r0, 8 -/* 80D65AC4 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_80D65AC8: -/* 80D65AC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D65ACC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D65AD0 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80D65AD4 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80D65AD8 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80D65ADC A0 84 04 74 */ lhz r4, 0x474(r4) -/* 80D65AE0 4B 2C EE DD */ bl isEventBit__11dSv_event_cCFUs -/* 80D65AE4 2C 03 00 00 */ cmpwi r3, 0 -/* 80D65AE8 41 82 00 0C */ beq lbl_80D65AF4 -/* 80D65AEC 38 60 00 05 */ li r3, 5 -/* 80D65AF0 48 00 01 1C */ b lbl_80D65C0C -lbl_80D65AF4: -/* 80D65AF4 38 7E 06 A4 */ addi r3, r30, 0x6a4 -/* 80D65AF8 38 80 00 FF */ li r4, 0xff -/* 80D65AFC 38 A0 00 FF */ li r5, 0xff -/* 80D65B00 7F C6 F3 78 */ mr r6, r30 -/* 80D65B04 4B 31 DD 5D */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c -/* 80D65B08 38 7E 05 68 */ addi r3, r30, 0x568 -/* 80D65B0C 38 9F 00 00 */ addi r4, r31, 0 -/* 80D65B10 4B 31 ED A5 */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl -/* 80D65B14 38 1E 06 A4 */ addi r0, r30, 0x6a4 -/* 80D65B18 90 1E 05 AC */ stw r0, 0x5ac(r30) -/* 80D65B1C 38 00 00 00 */ li r0, 0 -/* 80D65B20 90 1E 07 00 */ stw r0, 0x700(r30) -/* 80D65B24 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80D65B28 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80D65B2C 90 1E 06 E4 */ stw r0, 0x6e4(r30) -/* 80D65B30 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80D65B34 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f -/* 80D65B38 90 1E 06 E8 */ stw r0, 0x6e8(r30) -/* 80D65B3C 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80D65B40 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80D65B44 2C 00 00 02 */ cmpwi r0, 2 -/* 80D65B48 41 82 00 08 */ beq lbl_80D65B50 -/* 80D65B4C 48 00 00 B4 */ b lbl_80D65C00 -lbl_80D65B50: -/* 80D65B50 7F C3 F3 78 */ mr r3, r30 -/* 80D65B54 38 81 00 14 */ addi r4, r1, 0x14 -/* 80D65B58 48 00 01 09 */ bl calcCoC__11daTagYami_cFR4cXyz -/* 80D65B5C C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80D65B60 D0 01 00 08 */ stfs f0, 8(r1) -/* 80D65B64 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80D65B68 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80D65B6C C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80D65B70 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80D65B74 7F C3 F3 78 */ mr r3, r30 -/* 80D65B78 38 81 00 08 */ addi r4, r1, 8 -/* 80D65B7C 48 00 05 85 */ bl setCoC__11daTagYami_cF4cXyz -/* 80D65B80 C0 1F 00 44 */ lfs f0, 0x44(r31) -/* 80D65B84 D0 1E 06 FC */ stfs f0, 0x6fc(r30) -/* 80D65B88 C0 1F 00 48 */ lfs f0, 0x48(r31) -/* 80D65B8C D0 1E 06 F8 */ stfs f0, 0x6f8(r30) -/* 80D65B90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D65B94 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D65B98 38 80 00 3D */ li r4, 0x3d -/* 80D65B9C 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 80D65BA0 7C 05 07 74 */ extsb r5, r0 -/* 80D65BA4 4B 2C F7 BD */ bl isSwitch__10dSv_info_cCFii -/* 80D65BA8 2C 03 00 00 */ cmpwi r3, 0 -/* 80D65BAC 41 82 00 3C */ beq lbl_80D65BE8 -/* 80D65BB0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D65BB4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D65BB8 38 80 00 3E */ li r4, 0x3e -/* 80D65BBC 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 80D65BC0 7C 05 07 74 */ extsb r5, r0 -/* 80D65BC4 4B 2C F7 9D */ bl isSwitch__10dSv_info_cCFii -/* 80D65BC8 2C 03 00 00 */ cmpwi r3, 0 -/* 80D65BCC 41 82 00 1C */ beq lbl_80D65BE8 -/* 80D65BD0 80 1E 05 94 */ lwz r0, 0x594(r30) -/* 80D65BD4 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 80D65BD8 90 1E 05 94 */ stw r0, 0x594(r30) -/* 80D65BDC 38 00 00 00 */ li r0, 0 -/* 80D65BE0 98 1E 06 E0 */ stb r0, 0x6e0(r30) -/* 80D65BE4 48 00 00 24 */ b lbl_80D65C08 -lbl_80D65BE8: -/* 80D65BE8 80 1E 05 94 */ lwz r0, 0x594(r30) -/* 80D65BEC 60 00 00 01 */ ori r0, r0, 1 -/* 80D65BF0 90 1E 05 94 */ stw r0, 0x594(r30) -/* 80D65BF4 38 00 00 01 */ li r0, 1 -/* 80D65BF8 98 1E 06 E0 */ stb r0, 0x6e0(r30) -/* 80D65BFC 48 00 00 0C */ b lbl_80D65C08 -lbl_80D65C00: -/* 80D65C00 38 60 00 05 */ li r3, 5 -/* 80D65C04 48 00 00 08 */ b lbl_80D65C0C -lbl_80D65C08: -/* 80D65C08 38 60 00 04 */ li r3, 4 -lbl_80D65C0C: -/* 80D65C0C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80D65C10 4B 5F C6 15 */ bl _restgpr_28 -/* 80D65C14 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80D65C18 7C 08 03 A6 */ mtlr r0 -/* 80D65C1C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80D65C20 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 689c098c589..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D65F5C: -/* 80D65F5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D65F60 7C 08 02 A6 */ mflr r0 -/* 80D65F64 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D65F68 4B FF FA 91 */ bl create__11daTagYami_cFv -/* 80D65F6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D65F70 7C 08 03 A6 */ mtlr r0 -/* 80D65F74 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D65F78 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Delete__FP11daTagYami_c.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Delete__FP11daTagYami_c.s deleted file mode 100644 index 867378d6855..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Delete__FP11daTagYami_c.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_80D65F9C: -/* 80D65F9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D65FA0 7C 08 02 A6 */ mflr r0 -/* 80D65FA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D65FA8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D65FAC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80D65FB0 41 82 00 F0 */ beq lbl_80D660A0 -/* 80D65FB4 34 1F 06 A4 */ addic. r0, r31, 0x6a4 -/* 80D65FB8 41 82 00 54 */ beq lbl_80D6600C -/* 80D65FBC 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */ -/* 80D65FC0 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */ -/* 80D65FC4 90 7F 06 BC */ stw r3, 0x6bc(r31) -/* 80D65FC8 38 03 00 20 */ addi r0, r3, 0x20 -/* 80D65FCC 90 1F 06 C0 */ stw r0, 0x6c0(r31) -/* 80D65FD0 34 1F 06 C0 */ addic. r0, r31, 0x6c0 -/* 80D65FD4 41 82 00 24 */ beq lbl_80D65FF8 -/* 80D65FD8 3C 60 80 D6 */ lis r3, __vt__10dCcD_GStts@ha /* 0x80D662DC@ha */ -/* 80D65FDC 38 03 62 DC */ addi r0, r3, __vt__10dCcD_GStts@l /* 0x80D662DC@l */ -/* 80D65FE0 90 1F 06 C0 */ stw r0, 0x6c0(r31) -/* 80D65FE4 34 1F 06 C0 */ addic. r0, r31, 0x6c0 -/* 80D65FE8 41 82 00 10 */ beq lbl_80D65FF8 -/* 80D65FEC 3C 60 80 D6 */ lis r3, __vt__10cCcD_GStts@ha /* 0x80D662D0@ha */ -/* 80D65FF0 38 03 62 D0 */ addi r0, r3, __vt__10cCcD_GStts@l /* 0x80D662D0@l */ -/* 80D65FF4 90 1F 06 C0 */ stw r0, 0x6c0(r31) -lbl_80D65FF8: -/* 80D65FF8 34 1F 06 A4 */ addic. r0, r31, 0x6a4 -/* 80D65FFC 41 82 00 10 */ beq lbl_80D6600C -/* 80D66000 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */ -/* 80D66004 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */ -/* 80D66008 90 1F 06 BC */ stw r0, 0x6bc(r31) -lbl_80D6600C: -/* 80D6600C 34 1F 05 68 */ addic. r0, r31, 0x568 -/* 80D66010 41 82 00 84 */ beq lbl_80D66094 -/* 80D66014 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */ -/* 80D66018 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */ -/* 80D6601C 90 7F 05 A4 */ stw r3, 0x5a4(r31) -/* 80D66020 38 03 00 2C */ addi r0, r3, 0x2c -/* 80D66024 90 1F 06 88 */ stw r0, 0x688(r31) -/* 80D66028 38 03 00 84 */ addi r0, r3, 0x84 -/* 80D6602C 90 1F 06 A0 */ stw r0, 0x6a0(r31) -/* 80D66030 34 1F 06 6C */ addic. r0, r31, 0x66c -/* 80D66034 41 82 00 54 */ beq lbl_80D66088 -/* 80D66038 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */ -/* 80D6603C 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */ -/* 80D66040 90 7F 06 88 */ stw r3, 0x688(r31) -/* 80D66044 38 03 00 58 */ addi r0, r3, 0x58 -/* 80D66048 90 1F 06 A0 */ stw r0, 0x6a0(r31) -/* 80D6604C 34 1F 06 8C */ addic. r0, r31, 0x68c -/* 80D66050 41 82 00 10 */ beq lbl_80D66060 -/* 80D66054 3C 60 80 D6 */ lis r3, __vt__8cM3dGCyl@ha /* 0x80D662E8@ha */ -/* 80D66058 38 03 62 E8 */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80D662E8@l */ -/* 80D6605C 90 1F 06 A0 */ stw r0, 0x6a0(r31) -lbl_80D66060: -/* 80D66060 34 1F 06 6C */ addic. r0, r31, 0x66c -/* 80D66064 41 82 00 24 */ beq lbl_80D66088 -/* 80D66068 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */ -/* 80D6606C 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */ -/* 80D66070 90 1F 06 88 */ stw r0, 0x688(r31) -/* 80D66074 34 1F 06 6C */ addic. r0, r31, 0x66c -/* 80D66078 41 82 00 10 */ beq lbl_80D66088 -/* 80D6607C 3C 60 80 D6 */ lis r3, __vt__8cM3dGAab@ha /* 0x80D662F4@ha */ -/* 80D66080 38 03 62 F4 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80D662F4@l */ -/* 80D66084 90 1F 06 84 */ stw r0, 0x684(r31) -lbl_80D66088: -/* 80D66088 38 7F 05 68 */ addi r3, r31, 0x568 -/* 80D6608C 38 80 00 00 */ li r4, 0 -/* 80D66090 4B 31 E0 55 */ bl __dt__12dCcD_GObjInfFv -lbl_80D66094: -/* 80D66094 7F E3 FB 78 */ mr r3, r31 -/* 80D66098 38 80 00 00 */ li r4, 0 -/* 80D6609C 4B 2B 2B F1 */ bl __dt__10fopAc_ac_cFv -lbl_80D660A0: -/* 80D660A0 38 60 00 01 */ li r3, 1 -/* 80D660A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D660A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D660AC 7C 08 03 A6 */ mtlr r0 -/* 80D660B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D660B4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Execute__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Execute__FP10fopAc_ac_c.s deleted file mode 100644 index a8e838fd0d3..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Execute__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D65F7C: -/* 80D65F7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D65F80 7C 08 02 A6 */ mflr r0 -/* 80D65F84 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D65F88 4B FF FC 9D */ bl Execute__11daTagYami_cFv -/* 80D65F8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D65F90 7C 08 03 A6 */ mtlr r0 -/* 80D65F94 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D65F98 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/getPlDist__11daTagYami_cFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/getPlDist__11daTagYami_cFv.s deleted file mode 100644 index 280ab98d474..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/getPlDist__11daTagYami_cFv.s +++ /dev/null @@ -1,109 +0,0 @@ -lbl_80D65D60: -/* 80D65D60 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80D65D64 7C 08 02 A6 */ mflr r0 -/* 80D65D68 90 01 00 54 */ stw r0, 0x54(r1) -/* 80D65D6C 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 80D65D70 3C 80 80 D6 */ lis r4, l_sph_src@ha /* 0x80D66210@ha */ -/* 80D65D74 3B E4 62 10 */ addi r31, r4, l_sph_src@l /* 0x80D66210@l */ -/* 80D65D78 C0 03 06 EC */ lfs f0, 0x6ec(r3) -/* 80D65D7C D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80D65D80 C0 03 06 F0 */ lfs f0, 0x6f0(r3) -/* 80D65D84 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 80D65D88 C0 03 06 F4 */ lfs f0, 0x6f4(r3) -/* 80D65D8C D0 01 00 44 */ stfs f0, 0x44(r1) -/* 80D65D90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D65D94 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D65D98 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 80D65D9C C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 80D65DA0 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80D65DA4 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 80D65DA8 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80D65DAC C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 80D65DB0 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80D65DB4 38 61 00 18 */ addi r3, r1, 0x18 -/* 80D65DB8 38 81 00 30 */ addi r4, r1, 0x30 -/* 80D65DBC 38 A1 00 3C */ addi r5, r1, 0x3c -/* 80D65DC0 4B 50 0D 75 */ bl __mi__4cXyzCFRC3Vec -/* 80D65DC4 C0 41 00 18 */ lfs f2, 0x18(r1) -/* 80D65DC8 D0 41 00 24 */ stfs f2, 0x24(r1) -/* 80D65DCC C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80D65DD0 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80D65DD4 C0 21 00 20 */ lfs f1, 0x20(r1) -/* 80D65DD8 D0 21 00 2C */ stfs f1, 0x2c(r1) -/* 80D65DDC D0 41 00 0C */ stfs f2, 0xc(r1) -/* 80D65DE0 C0 1F 00 4C */ lfs f0, 0x4c(r31) -/* 80D65DE4 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80D65DE8 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 80D65DEC 38 61 00 0C */ addi r3, r1, 0xc -/* 80D65DF0 4B 5E 13 49 */ bl PSVECSquareMag -/* 80D65DF4 C0 1F 00 4C */ lfs f0, 0x4c(r31) -/* 80D65DF8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D65DFC 40 81 00 58 */ ble lbl_80D65E54 -/* 80D65E00 FC 00 08 34 */ frsqrte f0, f1 -/* 80D65E04 C8 9F 00 58 */ lfd f4, 0x58(r31) -/* 80D65E08 FC 44 00 32 */ fmul f2, f4, f0 -/* 80D65E0C C8 7F 00 60 */ lfd f3, 0x60(r31) -/* 80D65E10 FC 00 00 32 */ fmul f0, f0, f0 -/* 80D65E14 FC 01 00 32 */ fmul f0, f1, f0 -/* 80D65E18 FC 03 00 28 */ fsub f0, f3, f0 -/* 80D65E1C FC 02 00 32 */ fmul f0, f2, f0 -/* 80D65E20 FC 44 00 32 */ fmul f2, f4, f0 -/* 80D65E24 FC 00 00 32 */ fmul f0, f0, f0 -/* 80D65E28 FC 01 00 32 */ fmul f0, f1, f0 -/* 80D65E2C FC 03 00 28 */ fsub f0, f3, f0 -/* 80D65E30 FC 02 00 32 */ fmul f0, f2, f0 -/* 80D65E34 FC 44 00 32 */ fmul f2, f4, f0 -/* 80D65E38 FC 00 00 32 */ fmul f0, f0, f0 -/* 80D65E3C FC 01 00 32 */ fmul f0, f1, f0 -/* 80D65E40 FC 03 00 28 */ fsub f0, f3, f0 -/* 80D65E44 FC 02 00 32 */ fmul f0, f2, f0 -/* 80D65E48 FC 21 00 32 */ fmul f1, f1, f0 -/* 80D65E4C FC 20 08 18 */ frsp f1, f1 -/* 80D65E50 48 00 00 88 */ b lbl_80D65ED8 -lbl_80D65E54: -/* 80D65E54 C8 1F 00 68 */ lfd f0, 0x68(r31) -/* 80D65E58 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D65E5C 40 80 00 10 */ bge lbl_80D65E6C -/* 80D65E60 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80D65E64 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80D65E68 48 00 00 70 */ b lbl_80D65ED8 -lbl_80D65E6C: -/* 80D65E6C D0 21 00 08 */ stfs f1, 8(r1) -/* 80D65E70 80 81 00 08 */ lwz r4, 8(r1) -/* 80D65E74 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 80D65E78 3C 00 7F 80 */ lis r0, 0x7f80 -/* 80D65E7C 7C 03 00 00 */ cmpw r3, r0 -/* 80D65E80 41 82 00 14 */ beq lbl_80D65E94 -/* 80D65E84 40 80 00 40 */ bge lbl_80D65EC4 -/* 80D65E88 2C 03 00 00 */ cmpwi r3, 0 -/* 80D65E8C 41 82 00 20 */ beq lbl_80D65EAC -/* 80D65E90 48 00 00 34 */ b lbl_80D65EC4 -lbl_80D65E94: -/* 80D65E94 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80D65E98 41 82 00 0C */ beq lbl_80D65EA4 -/* 80D65E9C 38 00 00 01 */ li r0, 1 -/* 80D65EA0 48 00 00 28 */ b lbl_80D65EC8 -lbl_80D65EA4: -/* 80D65EA4 38 00 00 02 */ li r0, 2 -/* 80D65EA8 48 00 00 20 */ b lbl_80D65EC8 -lbl_80D65EAC: -/* 80D65EAC 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80D65EB0 41 82 00 0C */ beq lbl_80D65EBC -/* 80D65EB4 38 00 00 05 */ li r0, 5 -/* 80D65EB8 48 00 00 10 */ b lbl_80D65EC8 -lbl_80D65EBC: -/* 80D65EBC 38 00 00 03 */ li r0, 3 -/* 80D65EC0 48 00 00 08 */ b lbl_80D65EC8 -lbl_80D65EC4: -/* 80D65EC4 38 00 00 04 */ li r0, 4 -lbl_80D65EC8: -/* 80D65EC8 2C 00 00 01 */ cmpwi r0, 1 -/* 80D65ECC 40 82 00 0C */ bne lbl_80D65ED8 -/* 80D65ED0 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80D65ED4 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_80D65ED8: -/* 80D65ED8 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 80D65EDC 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80D65EE0 7C 08 03 A6 */ mtlr r0 -/* 80D65EE4 38 21 00 50 */ addi r1, r1, 0x50 -/* 80D65EE8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/offMidnaTagSw2__11daTagYami_cFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/offMidnaTagSw2__11daTagYami_cFv.s deleted file mode 100644 index 5ef2f24d745..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/offMidnaTagSw2__11daTagYami_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80D65F24: -/* 80D65F24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D65F28 7C 08 02 A6 */ mflr r0 -/* 80D65F2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D65F30 7C 65 1B 78 */ mr r5, r3 -/* 80D65F34 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D65F38 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D65F3C 80 85 06 E8 */ lwz r4, 0x6e8(r5) -/* 80D65F40 88 05 04 BA */ lbz r0, 0x4ba(r5) -/* 80D65F44 7C 05 07 74 */ extsb r5, r0 -/* 80D65F48 4B 2C F3 69 */ bl offSwitch__10dSv_info_cFii -/* 80D65F4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D65F50 7C 08 03 A6 */ mtlr r0 -/* 80D65F54 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D65F58 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/onMidnaTagSw__11daTagYami_cFv.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/onMidnaTagSw__11daTagYami_cFv.s deleted file mode 100644 index d8b76bda6aa..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/onMidnaTagSw__11daTagYami_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80D65EEC: -/* 80D65EEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D65EF0 7C 08 02 A6 */ mflr r0 -/* 80D65EF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D65EF8 7C 65 1B 78 */ mr r5, r3 -/* 80D65EFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D65F00 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D65F04 80 85 06 E4 */ lwz r4, 0x6e4(r5) -/* 80D65F08 88 05 04 BA */ lbz r0, 0x4ba(r5) -/* 80D65F0C 7C 05 07 74 */ extsb r5, r0 -/* 80D65F10 4B 2C F2 F1 */ bl onSwitch__10dSv_info_cFii -/* 80D65F14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D65F18 7C 08 03 A6 */ mtlr r0 -/* 80D65F1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D65F20 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/setCoC__11daTagYami_cF4cXyz.s b/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/setCoC__11daTagYami_cF4cXyz.s deleted file mode 100644 index a063f80aba1..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/setCoC__11daTagYami_cF4cXyz.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80D66100: -/* 80D66100 C0 04 00 00 */ lfs f0, 0(r4) -/* 80D66104 D0 03 06 EC */ stfs f0, 0x6ec(r3) -/* 80D66108 C0 04 00 04 */ lfs f0, 4(r4) -/* 80D6610C D0 03 06 F0 */ stfs f0, 0x6f0(r3) -/* 80D66110 C0 04 00 08 */ lfs f0, 8(r4) -/* 80D66114 D0 03 06 F4 */ stfs f0, 0x6f4(r3) -/* 80D66118 4E 80 00 20 */ blr diff --git a/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h b/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h index 38eeb07cefb..1ea30c0d8fe 100644 --- a/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h +++ b/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h @@ -1,6 +1,49 @@ #ifndef D_A_TAG_YAMI_H #define D_A_TAG_YAMI_H +#include "d/cc/d_cc_d.h" #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTagYami_c : public fopAc_ac_c { +public: + /* 80D659F8 */ int create(); + /* 80D65C24 */ int Execute(); + /* 80D65C60 */ void calcCoC(cXyz&); + /* 80D65D08 */ void col_set(); + /* 80D65D0C */ u32 chk_CoHit(); + /* 80D65D60 */ f32 getPlDist(); + /* 80D65EEC */ void onMidnaTagSw(); + /* 80D65F24 */ void offMidnaTagSw2(); + /* 80D66100 */ void setCoC(cXyz i_coC) { mCoC = i_coC; } + + u8 get_MTagSw() { return fopAcM_GetParamBit(this, 8, 8); } + u8 get_MTagSw2() { return fopAcM_GetParamBit(this, 16, 8); } + s32 get_prm() { return fopAcM_GetParam(this) & 0xff; } + + void on_CoHit() { + mCyl.OnCoSetBit(); + mCoHitValid = 1; + } + + void off_CoHit() { + mCyl.OffCoSetBit(); + mCoHitValid = 0; + } + + f32 getCoR() { return mCoR; } + void setCoR(f32 i_value) { mCoR = i_value; } + void setCoH(f32 i_value) { mCoH = i_value; } + + /* 0x568 */ dCcD_Cyl mCyl; + /* 0x6A4 */ dCcD_Stts mStts; + /* 0x6E0 */ u8 mCoHitValid; + /* 0x6E4 */ u32 mMTagSw; + /* 0x6E8 */ u32 mMTagSw2; + /* 0x6EC */ cXyz mCoC; + /* 0x6F8 */ f32 mCoH; + /* 0x6FC */ f32 mCoR; + /* 0x700 */ u32 mIsCoHit; +}; #endif /* D_A_TAG_YAMI_H */ diff --git a/rel/d/a/tag/d_a_tag_yami/Makefile b/rel/d/a/tag/d_a_tag_yami/Makefile index da987775582..a7f92f7ad31 100644 --- a/rel/d/a/tag/d_a_tag_yami/Makefile +++ b/rel/d/a/tag/d_a_tag_yami/Makefile @@ -19,6 +19,7 @@ M753_LIBS := \ M753_CFLAGS := \ -sdata 0 \ -sdata2 0 \ + -sym on \ M753_LDFLAGS := \ -nodefaults \ diff --git a/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.cpp b/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.cpp index 649e64cfce1..33b90e00194 100644 --- a/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.cpp +++ b/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.cpp @@ -1,278 +1,81 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_yami -// +/** + * d_a_tag_yami.cpp + * Tag - Yami (Twili) + */ #include "rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h" -#include "dol2asm.h" - -// -// Types: -// - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct mDoMtx_stack_c { - /* 8000CF0C */ void ZXYrotS(csXyz const&); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct daTagYami_c { - /* 80D659F8 */ void create(); - /* 80D65C24 */ void Execute(); - /* 80D65C60 */ void calcCoC(cXyz&); - /* 80D65D08 */ void col_set(); - /* 80D65D0C */ void chk_CoHit(); - /* 80D65D60 */ void getPlDist(); - /* 80D65EEC */ void onMidnaTagSw(); - /* 80D65F24 */ void offMidnaTagSw2(); - /* 80D66100 */ void setCoC(cXyz); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80D6611C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct cM3dGCyl { - /* 80D66178 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D661C0 */ ~cM3dGAab(); -}; - -struct cCcD_GStts { - /* 80D660B8 */ ~cCcD_GStts(); -}; - -// -// Forward References: -// - -extern "C" void create__11daTagYami_cFv(); -extern "C" void Execute__11daTagYami_cFv(); -extern "C" void calcCoC__11daTagYami_cFR4cXyz(); -extern "C" void col_set__11daTagYami_cFv(); -extern "C" void chk_CoHit__11daTagYami_cFv(); -extern "C" void getPlDist__11daTagYami_cFv(); -extern "C" void onMidnaTagSw__11daTagYami_cFv(); -extern "C" void offMidnaTagSw2__11daTagYami_cFv(); -extern "C" static void daTagYami_Create__FP10fopAc_ac_c(); -extern "C" static void daTagYami_Execute__FP10fopAc_ac_c(); -extern "C" static void daTagYami_Delete__FP11daTagYami_c(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void setCoC__11daTagYami_cF4cXyz(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); - -// -// External References: -// - -extern "C" void ZXYrotS__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_28(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_nan; - -// -// Declarations: -// +#include "d/com/d_com_inf_game.h" /* ############################################################################################## */ /* 80D66210-80D66254 000000 0044+00 2/2 0/0 0/0 .rodata l_sph_src */ -SECTION_RODATA static u8 const l_sph_src[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D66210, &l_sph_src); - -/* 80D66254-80D66258 000044 0004+00 0/1 0/0 0/0 .rodata @3726 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3726 = 700.0f; -COMPILER_STRIP_GATE(0x80D66254, &lit_3726); -#pragma pop - -/* 80D66258-80D6625C 000048 0004+00 0/1 0/0 0/0 .rodata @3727 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3727 = 300.0f; -COMPILER_STRIP_GATE(0x80D66258, &lit_3727); -#pragma pop - -/* 80D66280-80D662A0 -00001 0020+00 1/0 0/0 0/0 .data l_daTagYami_Method */ -SECTION_DATA static void* l_daTagYami_Method[8] = { - (void*)daTagYami_Create__FP10fopAc_ac_c, - (void*)daTagYami_Delete__FP11daTagYami_c, - (void*)daTagYami_Execute__FP10fopAc_ac_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80D662A0-80D662D0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_YAMI */ -SECTION_DATA extern void* g_profile_TAG_YAMI[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00230000, (void*)&g_fpcLf_Method, - (void*)0x00000704, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00150000, (void*)&l_daTagYami_Method, - (void*)0x00040000, (void*)0x000E0000, -}; - -/* 80D662D0-80D662DC 000050 000C+00 3/3 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, -}; - -/* 80D662DC-80D662E8 00005C 000C+00 2/2 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, -}; - -/* 80D662E8-80D662F4 000068 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; - -/* 80D662F4-80D66300 000074 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, +const static dCcD_SrcCyl l_sph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x0}, 0x19}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x8}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl }; /* 80D659F8-80D65C24 000078 022C+00 1/1 0/0 0/0 .text create__11daTagYami_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagYami_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/create__11daTagYami_cFv.s" +int daTagYami_c::create() { + fopAcM_SetupActor(this, daTagYami_c); + + if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[570])) { + return cPhs_ERROR_e; + } + + OS_REPORT("-------------- TAG YAMI CREATE!!\n"); + mStts.Init(0xff, 0xff, this); + mCyl.Set(l_sph_src); + mCyl.SetStts(&mStts); + + mIsCoHit = 0; + mMTagSw = get_MTagSw(); + mMTagSw2 = get_MTagSw2(); + + switch (get_prm()) { + case 2: { + cXyz coC; + calcCoC(coC); + setCoC(coC); + setCoR(700.0f); + setCoH(300.0f); + + if (fopAcM_isSwitch(this, 0x3d) && fopAcM_isSwitch(this, 0x3e)) { + off_CoHit(); + } else { + on_CoHit(); + } + break; + } + default: + return cPhs_ERROR_e; + } + + return cPhs_COMPLEATE_e; } -#pragma pop /* 80D65C24-80D65C60 0002A4 003C+00 1/1 0/0 0/0 .text Execute__11daTagYami_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagYami_c::Execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/Execute__11daTagYami_cFv.s" +int daTagYami_c::Execute() { + col_set(); + mIsCoHit = chk_CoHit(); + return 1; } -#pragma pop /* ############################################################################################## */ -/* 80D6625C-80D66260 00004C 0004+00 1/2 0/0 0/0 .rodata @3820 */ -SECTION_RODATA static u8 const lit_3820[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D6625C, &lit_3820); - -/* 80D66260-80D66268 000050 0004+04 1/1 0/0 0/0 .rodata @3821 */ -SECTION_RODATA static f32 const lit_3821[1 + 1 /* padding */] = { - 430.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80D66260, &lit_3821); - /* 80D65C60-80D65D08 0002E0 00A8+00 1/1 0/0 0/0 .text calcCoC__11daTagYami_cFR4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagYami_c::calcCoC(cXyz& param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/calcCoC__11daTagYami_cFR4cXyz.s" +void daTagYami_c::calcCoC(cXyz& i_dst) { + cXyz base(0.0f, 0.0f, 430.0f); + mDoMtx_stack_c::ZXYrotS(csXyz(0, -0x7f96, 0)); + mDoMtx_stack_c::multVec(&base, &base); + i_dst = home.pos + base; } -#pragma pop /* 80D65D08-80D65D0C 000388 0004+00 1/1 0/0 0/0 .text col_set__11daTagYami_cFv */ void daTagYami_c::col_set() { @@ -280,151 +83,79 @@ void daTagYami_c::col_set() { } /* 80D65D0C-80D65D60 00038C 0054+00 1/1 0/0 0/0 .text chk_CoHit__11daTagYami_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagYami_c::chk_CoHit() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/chk_CoHit__11daTagYami_cFv.s" +u32 daTagYami_c::chk_CoHit() { + if (!mCoHitValid) { + return 0; + } + + f32 coR = getCoR(); + f32 plDist = getPlDist(); + return plDist < coR; } -#pragma pop /* ############################################################################################## */ -/* 80D66268-80D66270 000058 0008+00 0/1 0/0 0/0 .rodata @3889 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3889[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D66268, &lit_3889); -#pragma pop - -/* 80D66270-80D66278 000060 0008+00 0/1 0/0 0/0 .rodata @3890 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3890[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D66270, &lit_3890); -#pragma pop - -/* 80D66278-80D66280 000068 0008+00 0/1 0/0 0/0 .rodata @3891 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3891[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D66278, &lit_3891); -#pragma pop - /* 80D65D60-80D65EEC 0003E0 018C+00 1/1 0/0 0/0 .text getPlDist__11daTagYami_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagYami_c::getPlDist() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/getPlDist__11daTagYami_cFv.s" +f32 daTagYami_c::getPlDist() { + cXyz coC(mCoC); + daPy_py_c* py = daPy_getPlayerActorClass(); + cXyz pyPos = fopAcM_GetPosition((fopAc_ac_c*)py); + cXyz diff = pyPos - coC; + return diff.absXZ(); } -#pragma pop /* 80D65EEC-80D65F24 00056C 0038+00 0/0 0/0 1/1 .text onMidnaTagSw__11daTagYami_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagYami_c::onMidnaTagSw() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/onMidnaTagSw__11daTagYami_cFv.s" +void daTagYami_c::onMidnaTagSw() { + fopAcM_onSwitch(this, mMTagSw); } -#pragma pop /* 80D65F24-80D65F5C 0005A4 0038+00 0/0 0/0 1/1 .text offMidnaTagSw2__11daTagYami_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagYami_c::offMidnaTagSw2() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/offMidnaTagSw2__11daTagYami_cFv.s" +void daTagYami_c::offMidnaTagSw2() { + OS_REPORT("-----------off mtag2 sw!!\n"); + fopAcM_offSwitch(this, mMTagSw2); } -#pragma pop /* 80D65F5C-80D65F7C 0005DC 0020+00 1/0 0/0 0/0 .text daTagYami_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagYami_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Create__FP10fopAc_ac_c.s" +int daTagYami_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80D65F7C-80D65F9C 0005FC 0020+00 1/0 0/0 0/0 .text daTagYami_Execute__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagYami_Execute(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Execute__FP10fopAc_ac_c.s" +int daTagYami_Execute(fopAc_ac_c* i_this) { + return static_cast(i_this)->Execute(); } -#pragma pop /* 80D65F9C-80D660B8 00061C 011C+00 1/0 0/0 0/0 .text daTagYami_Delete__FP11daTagYami_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagYami_Delete(daTagYami_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/daTagYami_Delete__FP11daTagYami_c.s" +int daTagYami_Delete(daTagYami_c* i_this) { + i_this->~daTagYami_c(); + return 1; } -#pragma pop -/* 80D660B8-80D66100 000738 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() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10cCcD_GSttsFv.s" -} -#pragma pop - -/* 80D66100-80D6611C 000780 001C+00 1/1 0/0 0/0 .text setCoC__11daTagYami_cF4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagYami_c::setCoC(cXyz param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/setCoC__11daTagYami_cF4cXyz.s" -} -#pragma pop - -/* 80D6611C-80D66178 00079C 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() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__10dCcD_GSttsFv.s" -} -#pragma pop - -/* 80D66178-80D661C0 0007F8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGCylFv.s" -} -#pragma pop +/* ############################################################################################## */ +/* 80D66280-80D662A0 -00001 0020+00 1/0 0/0 0/0 .data l_daTagYami_Method */ +static actor_method_class l_daTagYami_Method = { + (process_method_func)daTagYami_Create, + (process_method_func)daTagYami_Delete, + (process_method_func)daTagYami_Execute, +}; -/* 80D661C0-80D66208 000840 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami/__dt__8cM3dGAabFv.s" -} -#pragma pop +/* 80D662A0-80D662D0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_YAMI */ +extern actor_process_profile_definition g_profile_TAG_YAMI = { + fpcLy_CURRENT_e, // mLayerID + 3, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_TAG_YAMI, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daTagYami_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 21, // mPriority + &l_daTagYami_Method, // sub_method + 0x40000, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; + +#pragma nosyminline on