diff --git a/Progress.md b/Progress.md index 90c32b490a3..afc58a8d75b 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 32.620219% | 1311552 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 32.620219% | 1311552 | 4020672 -RELs | 33.244942% | 3823276 | 11500324 -Total | 33.083109% | 5134828 | 15520996 +RELs | 33.262680% | 3825316 | 11500324 +Total | 33.096252% | 5136868 | 15520996 ## RELs @@ -713,7 +713,7 @@ d_a_tag_allmato | 30.234070% | 3720 | 12304 d_a_tag_arena | 100.000000% | 712 | 712 d_a_tag_assistance | 100.000000% | 824 | 824 d_a_tag_attack_item | 43.212237% | 1808 | 4184 -d_a_tag_attention | 50.000000% | 1012 | 2024 +d_a_tag_attention | 100.000000% | 2024 | 2024 d_a_tag_bottle_item | 38.554217% | 1024 | 2656 d_a_tag_camera | 37.023593% | 1632 | 4408 d_a_tag_chgrestart | 48.868778% | 864 | 1768 @@ -764,7 +764,7 @@ d_a_tag_shop_item | 41.944848% | 1156 | 2756 d_a_tag_smk_emt | 50.127226% | 788 | 1572 d_a_tag_spinner | 90.663900% | 1748 | 1928 d_a_tag_sppath | 33.333333% | 2040 | 6120 -d_a_tag_spring | 45.780591% | 868 | 1896 +d_a_tag_spring | 100.000000% | 1896 | 1896 d_a_tag_ss_drink | 36.483740% | 1436 | 3936 d_a_tag_statue_evt | 38.427948% | 2816 | 7328 d_a_tag_stream | 100.000000% | 1480 | 1480 @@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244 d_a_warp_bug | 54.940711% | 1112 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 33.244942% | 3823276 | 11500324 +Total | 33.262680% | 3825316 | 11500324 diff --git a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/Create__8daAttp_cFv.s b/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/Create__8daAttp_cFv.s deleted file mode 100644 index 52df6bbd03b..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/Create__8daAttp_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_804D5318: -/* 804D5318 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D531C 7C 08 02 A6 */ mflr r0 -/* 804D5320 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5324 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 804D5328 54 00 C7 FE */ rlwinm r0, r0, 0x18, 0x1f, 0x1f -/* 804D532C 3C 80 80 4D */ lis r4, l_dist_tbl@ha /* 0x804D5724@ha */ -/* 804D5330 38 84 57 24 */ addi r4, r4, l_dist_tbl@l /* 0x804D5724@l */ -/* 804D5334 7C 04 00 AE */ lbzx r0, r4, r0 -/* 804D5338 98 03 05 44 */ stb r0, 0x544(r3) -/* 804D533C 48 00 00 71 */ bl execute__8daAttp_cFv -/* 804D5340 38 60 00 01 */ li r3, 1 -/* 804D5344 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D5348 7C 08 03 A6 */ mtlr r0 -/* 804D534C 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D5350 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Create__FP10fopAc_ac_c.s deleted file mode 100644 index bbaee133e18..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_804D56FC: -/* 804D56FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D5700 7C 08 02 A6 */ mflr r0 -/* 804D5704 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5708 4B FF FC 4D */ bl create__8daAttp_cFv -/* 804D570C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D5710 7C 08 03 A6 */ mtlr r0 -/* 804D5714 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D5718 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Delete__FP8daAttp_c.s b/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Delete__FP8daAttp_c.s deleted file mode 100644 index ee689e8c24a..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Delete__FP8daAttp_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_804D56DC: -/* 804D56DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D56E0 7C 08 02 A6 */ mflr r0 -/* 804D56E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D56E8 4B FF FF AD */ bl _delete__8daAttp_cFv -/* 804D56EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D56F0 7C 08 03 A6 */ mtlr r0 -/* 804D56F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D56F8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Draw__FP8daAttp_c.s b/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Draw__FP8daAttp_c.s deleted file mode 100644 index 74ca231b05b..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Draw__FP8daAttp_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_804D569C: -/* 804D569C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D56A0 7C 08 02 A6 */ mflr r0 -/* 804D56A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D56A8 4B FF FF E5 */ bl draw__8daAttp_cFv -/* 804D56AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D56B0 7C 08 03 A6 */ mtlr r0 -/* 804D56B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D56B8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Execute__FP8daAttp_c.s b/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Execute__FP8daAttp_c.s deleted file mode 100644 index bdffc424808..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Execute__FP8daAttp_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_804D56BC: -/* 804D56BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D56C0 7C 08 02 A6 */ mflr r0 -/* 804D56C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D56C8 4B FF FC E5 */ bl execute__8daAttp_cFv -/* 804D56CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D56D0 7C 08 03 A6 */ mtlr r0 -/* 804D56D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D56D8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/execute__8daAttp_cFv.s b/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/execute__8daAttp_cFv.s deleted file mode 100644 index ad1bdaee774..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/execute__8daAttp_cFv.s +++ /dev/null @@ -1,207 +0,0 @@ -lbl_804D53AC: -/* 804D53AC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 804D53B0 7C 08 02 A6 */ mflr r0 -/* 804D53B4 90 01 00 34 */ stw r0, 0x34(r1) -/* 804D53B8 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 804D53BC 93 C1 00 28 */ stw r30, 0x28(r1) -/* 804D53C0 7C 7E 1B 78 */ mr r30, r3 -/* 804D53C4 3B E0 00 01 */ li r31, 1 -/* 804D53C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D53CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D53D0 80 83 5D AC */ lwz r4, 0x5dac(r3) -/* 804D53D4 38 61 00 08 */ addi r3, r1, 8 -/* 804D53D8 38 84 04 D0 */ addi r4, r4, 0x4d0 -/* 804D53DC 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 804D53E0 4B D9 17 55 */ bl __mi__4cXyzCFRC3Vec -/* 804D53E4 C0 01 00 08 */ lfs f0, 8(r1) -/* 804D53E8 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 804D53EC C0 01 00 0C */ lfs f0, 0xc(r1) -/* 804D53F0 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 804D53F4 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 804D53F8 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 804D53FC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 804D5400 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 804D5404 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 804D5408 7C 00 00 D0 */ neg r0, r0 -/* 804D540C 7C 04 07 34 */ extsh r4, r0 -/* 804D5410 4B B3 6F CD */ bl mDoMtx_YrotS__FPA4_fs -/* 804D5414 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 804D5418 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 804D541C 38 81 00 14 */ addi r4, r1, 0x14 -/* 804D5420 7C 85 23 78 */ mr r5, r4 -/* 804D5424 4B E7 19 49 */ bl PSMTXMultVec -/* 804D5428 80 9E 00 B0 */ lwz r4, 0xb0(r30) -/* 804D542C 54 80 E7 7E */ rlwinm r0, r4, 0x1c, 0x1d, 0x1f -/* 804D5430 28 00 00 07 */ cmplwi r0, 7 -/* 804D5434 41 81 00 BC */ bgt lbl_804D54F0 -/* 804D5438 3C 60 80 4D */ lis r3, lit_3773@ha /* 0x804D572C@ha */ -/* 804D543C 38 63 57 2C */ addi r3, r3, lit_3773@l /* 0x804D572C@l */ -/* 804D5440 54 00 10 3A */ slwi r0, r0, 2 -/* 804D5444 7C 03 00 2E */ lwzx r0, r3, r0 -/* 804D5448 7C 09 03 A6 */ mtctr r0 -/* 804D544C 4E 80 04 20 */ bctr -lbl_804D5450: -/* 804D5450 C0 21 00 1C */ lfs f1, 0x1c(r1) -/* 804D5454 3C 60 80 4D */ lis r3, lit_3772@ha /* 0x804D5728@ha */ -/* 804D5458 C0 03 57 28 */ lfs f0, lit_3772@l(r3) /* 0x804D5728@l */ -/* 804D545C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 804D5460 40 80 00 90 */ bge lbl_804D54F0 -/* 804D5464 3B E0 00 00 */ li r31, 0 -/* 804D5468 48 00 00 88 */ b lbl_804D54F0 -lbl_804D546C: -/* 804D546C C0 21 00 18 */ lfs f1, 0x18(r1) -/* 804D5470 3C 60 80 4D */ lis r3, lit_3772@ha /* 0x804D5728@ha */ -/* 804D5474 C0 03 57 28 */ lfs f0, lit_3772@l(r3) /* 0x804D5728@l */ -/* 804D5478 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 804D547C 40 81 00 74 */ ble lbl_804D54F0 -/* 804D5480 3B E0 00 00 */ li r31, 0 -/* 804D5484 48 00 00 6C */ b lbl_804D54F0 -lbl_804D5488: -/* 804D5488 C0 21 00 18 */ lfs f1, 0x18(r1) -/* 804D548C 3C 60 80 4D */ lis r3, lit_3772@ha /* 0x804D5728@ha */ -/* 804D5490 C0 03 57 28 */ lfs f0, lit_3772@l(r3) /* 0x804D5728@l */ -/* 804D5494 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 804D5498 40 80 00 58 */ bge lbl_804D54F0 -/* 804D549C 3B E0 00 00 */ li r31, 0 -/* 804D54A0 48 00 00 50 */ b lbl_804D54F0 -lbl_804D54A4: -/* 804D54A4 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 804D54A8 3C 60 80 4D */ lis r3, lit_3772@ha /* 0x804D5728@ha */ -/* 804D54AC C0 23 57 28 */ lfs f1, lit_3772@l(r3) /* 0x804D5728@l */ -/* 804D54B0 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 804D54B4 41 81 00 10 */ bgt lbl_804D54C4 -/* 804D54B8 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 804D54BC FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 804D54C0 40 80 00 30 */ bge lbl_804D54F0 -lbl_804D54C4: -/* 804D54C4 3B E0 00 00 */ li r31, 0 -/* 804D54C8 48 00 00 28 */ b lbl_804D54F0 -lbl_804D54CC: -/* 804D54CC C0 01 00 18 */ lfs f0, 0x18(r1) -/* 804D54D0 3C 60 80 4D */ lis r3, lit_3772@ha /* 0x804D5728@ha */ -/* 804D54D4 C0 23 57 28 */ lfs f1, lit_3772@l(r3) /* 0x804D5728@l */ -/* 804D54D8 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 804D54DC 41 80 00 10 */ blt lbl_804D54EC -/* 804D54E0 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 804D54E4 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 804D54E8 40 80 00 08 */ bge lbl_804D54F0 -lbl_804D54EC: -/* 804D54EC 3B E0 00 00 */ li r31, 0 -lbl_804D54F0: -/* 804D54F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D54F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D54F8 54 84 86 3E */ rlwinm r4, r4, 0x10, 0x18, 0x1f -/* 804D54FC 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 804D5500 7C 05 07 74 */ extsb r5, r0 -/* 804D5504 4B B5 FE 5D */ bl isSwitch__10dSv_info_cCFii -/* 804D5508 2C 03 00 00 */ cmpwi r3, 0 -/* 804D550C 41 82 00 7C */ beq lbl_804D5588 -/* 804D5510 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 804D5514 54 00 F7 BE */ rlwinm r0, r0, 0x1e, 0x1e, 0x1f -/* 804D5518 2C 00 00 02 */ cmpwi r0, 2 -/* 804D551C 41 82 00 44 */ beq lbl_804D5560 -/* 804D5520 40 80 00 14 */ bge lbl_804D5534 -/* 804D5524 2C 00 00 00 */ cmpwi r0, 0 -/* 804D5528 41 82 01 24 */ beq lbl_804D564C -/* 804D552C 40 80 00 14 */ bge lbl_804D5540 -/* 804D5530 48 00 01 1C */ b lbl_804D564C -lbl_804D5534: -/* 804D5534 2C 00 00 04 */ cmpwi r0, 4 -/* 804D5538 40 80 01 14 */ bge lbl_804D564C -/* 804D553C 48 00 00 44 */ b lbl_804D5580 -lbl_804D5540: -/* 804D5540 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D5544 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D5548 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 804D554C 80 03 05 74 */ lwz r0, 0x574(r3) -/* 804D5550 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 804D5554 41 82 00 F8 */ beq lbl_804D564C -/* 804D5558 3B E0 00 00 */ li r31, 0 -/* 804D555C 48 00 00 F0 */ b lbl_804D564C -lbl_804D5560: -/* 804D5560 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D5564 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D5568 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 804D556C 80 03 05 74 */ lwz r0, 0x574(r3) -/* 804D5570 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 804D5574 40 82 00 D8 */ bne lbl_804D564C -/* 804D5578 3B E0 00 00 */ li r31, 0 -/* 804D557C 48 00 00 D0 */ b lbl_804D564C -lbl_804D5580: -/* 804D5580 3B E0 00 00 */ li r31, 0 -/* 804D5584 48 00 00 C8 */ b lbl_804D564C -lbl_804D5588: -/* 804D5588 80 9E 00 B0 */ lwz r4, 0xb0(r30) -/* 804D558C 54 80 07 BE */ clrlwi r0, r4, 0x1e -/* 804D5590 2C 00 00 02 */ cmpwi r0, 2 -/* 804D5594 41 82 00 44 */ beq lbl_804D55D8 -/* 804D5598 40 80 00 14 */ bge lbl_804D55AC -/* 804D559C 2C 00 00 00 */ cmpwi r0, 0 -/* 804D55A0 41 82 00 5C */ beq lbl_804D55FC -/* 804D55A4 40 80 00 14 */ bge lbl_804D55B8 -/* 804D55A8 48 00 00 54 */ b lbl_804D55FC -lbl_804D55AC: -/* 804D55AC 2C 00 00 04 */ cmpwi r0, 4 -/* 804D55B0 40 80 00 4C */ bge lbl_804D55FC -/* 804D55B4 48 00 00 44 */ b lbl_804D55F8 -lbl_804D55B8: -/* 804D55B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D55BC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D55C0 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 804D55C4 80 03 05 74 */ lwz r0, 0x574(r3) -/* 804D55C8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 804D55CC 41 82 00 30 */ beq lbl_804D55FC -/* 804D55D0 3B E0 00 00 */ li r31, 0 -/* 804D55D4 48 00 00 28 */ b lbl_804D55FC -lbl_804D55D8: -/* 804D55D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D55DC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D55E0 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 804D55E4 80 03 05 74 */ lwz r0, 0x574(r3) -/* 804D55E8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 804D55EC 40 82 00 10 */ bne lbl_804D55FC -/* 804D55F0 3B E0 00 00 */ li r31, 0 -/* 804D55F4 48 00 00 08 */ b lbl_804D55FC -lbl_804D55F8: -/* 804D55F8 3B E0 00 00 */ li r31, 0 -lbl_804D55FC: -/* 804D55FC 54 84 46 3E */ srwi r4, r4, 0x18 -/* 804D5600 28 04 00 FF */ cmplwi r4, 0xff -/* 804D5604 41 82 00 48 */ beq lbl_804D564C -/* 804D5608 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D560C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D5610 88 1E 04 BA */ lbz r0, 0x4ba(r30) -/* 804D5614 7C 05 07 74 */ extsb r5, r0 -/* 804D5618 4B B5 FD 49 */ bl isSwitch__10dSv_info_cCFii -/* 804D561C 2C 03 00 00 */ cmpwi r3, 0 -/* 804D5620 41 82 00 18 */ beq lbl_804D5638 -/* 804D5624 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 804D5628 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f -/* 804D562C 40 82 00 20 */ bne lbl_804D564C -/* 804D5630 3B E0 00 00 */ li r31, 0 -/* 804D5634 48 00 00 18 */ b lbl_804D564C -lbl_804D5638: -/* 804D5638 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 804D563C 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f -/* 804D5640 28 00 00 01 */ cmplwi r0, 1 -/* 804D5644 40 82 00 08 */ bne lbl_804D564C -/* 804D5648 3B E0 00 00 */ li r31, 0 -lbl_804D564C: -/* 804D564C 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 804D5650 41 82 00 14 */ beq lbl_804D5664 -/* 804D5654 80 1E 05 5C */ lwz r0, 0x55c(r30) -/* 804D5658 60 00 00 01 */ ori r0, r0, 1 -/* 804D565C 90 1E 05 5C */ stw r0, 0x55c(r30) -/* 804D5660 48 00 00 10 */ b lbl_804D5670 -lbl_804D5664: -/* 804D5664 80 1E 05 5C */ lwz r0, 0x55c(r30) -/* 804D5668 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 804D566C 90 1E 05 5C */ stw r0, 0x55c(r30) -lbl_804D5670: -/* 804D5670 38 60 00 01 */ li r3, 1 -/* 804D5674 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 804D5678 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 804D567C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 804D5680 7C 08 03 A6 */ mtlr r0 -/* 804D5684 38 21 00 30 */ addi r1, r1, 0x30 -/* 804D5688 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/func_804D5354.s b/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/func_804D5354.s deleted file mode 100644 index 5184f5480c7..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/func_804D5354.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_804D5354: -/* 804D5354 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D5358 7C 08 02 A6 */ mflr r0 -/* 804D535C 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5360 93 E1 00 0C */ stw r31, 0xc(r1) -/* 804D5364 7C 7F 1B 78 */ mr r31, r3 -/* 804D5368 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 804D536C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 804D5370 40 82 00 1C */ bne lbl_804D538C -/* 804D5374 28 1F 00 00 */ cmplwi r31, 0 -/* 804D5378 41 82 00 08 */ beq lbl_804D5380 -/* 804D537C 4B B4 37 E9 */ bl __ct__10fopAc_ac_cFv -lbl_804D5380: -/* 804D5380 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 804D5384 60 00 00 08 */ ori r0, r0, 8 -/* 804D5388 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_804D538C: -/* 804D538C 7F E3 FB 78 */ mr r3, r31 -/* 804D5390 4B FF FF 89 */ bl Create__8daAttp_cFv -/* 804D5394 38 60 00 04 */ li r3, 4 -/* 804D5398 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 804D539C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D53A0 7C 08 03 A6 */ mtlr r0 -/* 804D53A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D53A8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/Create__13daTagSpring_cFv.s b/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/Create__13daTagSpring_cFv.s deleted file mode 100644 index 937acbe770b..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/Create__13daTagSpring_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_805A6AD0: -/* 805A6AD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A6AD4 7C 08 02 A6 */ mflr r0 -/* 805A6AD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A6ADC 4B FF FF 7D */ bl initBaseMtx__13daTagSpring_cFv -/* 805A6AE0 38 60 00 01 */ li r3, 1 -/* 805A6AE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A6AE8 7C 08 03 A6 */ mtlr r0 -/* 805A6AEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A6AF0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/checkArea__13daTagSpring_cFv.s b/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/checkArea__13daTagSpring_cFv.s deleted file mode 100644 index 16a9447c64a..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/checkArea__13daTagSpring_cFv.s +++ /dev/null @@ -1,104 +0,0 @@ -lbl_805A6C84: -/* 805A6C84 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 805A6C88 7C 08 02 A6 */ mflr r0 -/* 805A6C8C 90 01 00 34 */ stw r0, 0x34(r1) -/* 805A6C90 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 805A6C94 93 C1 00 28 */ stw r30, 0x28(r1) -/* 805A6C98 7C 7E 1B 78 */ mr r30, r3 -/* 805A6C9C 3C 60 80 5A */ lis r3, lit_3728@ha /* 0x805A6E6C@ha */ -/* 805A6CA0 3B E3 6E 6C */ addi r31, r3, lit_3728@l /* 0x805A6E6C@l */ -/* 805A6CA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A6CA8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A6CAC 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 805A6CB0 C0 43 04 D8 */ lfs f2, 0x4d8(r3) -/* 805A6CB4 C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 805A6CB8 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 805A6CBC C0 3F 00 04 */ lfs f1, 4(r31) -/* 805A6CC0 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 805A6CC4 D0 41 00 14 */ stfs f2, 0x14(r1) -/* 805A6CC8 C0 5E 04 D8 */ lfs f2, 0x4d8(r30) -/* 805A6CCC C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 805A6CD0 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 805A6CD4 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 805A6CD8 D0 41 00 20 */ stfs f2, 0x20(r1) -/* 805A6CDC 38 61 00 0C */ addi r3, r1, 0xc -/* 805A6CE0 38 81 00 18 */ addi r4, r1, 0x18 -/* 805A6CE4 4B DA 06 B9 */ bl PSVECSquareDistance -/* 805A6CE8 C0 1F 00 04 */ lfs f0, 4(r31) -/* 805A6CEC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 805A6CF0 40 81 00 58 */ ble lbl_805A6D48 -/* 805A6CF4 FC 00 08 34 */ frsqrte f0, f1 -/* 805A6CF8 C8 9F 00 08 */ lfd f4, 8(r31) -/* 805A6CFC FC 44 00 32 */ fmul f2, f4, f0 -/* 805A6D00 C8 7F 00 10 */ lfd f3, 0x10(r31) -/* 805A6D04 FC 00 00 32 */ fmul f0, f0, f0 -/* 805A6D08 FC 01 00 32 */ fmul f0, f1, f0 -/* 805A6D0C FC 03 00 28 */ fsub f0, f3, f0 -/* 805A6D10 FC 02 00 32 */ fmul f0, f2, f0 -/* 805A6D14 FC 44 00 32 */ fmul f2, f4, f0 -/* 805A6D18 FC 00 00 32 */ fmul f0, f0, f0 -/* 805A6D1C FC 01 00 32 */ fmul f0, f1, f0 -/* 805A6D20 FC 03 00 28 */ fsub f0, f3, f0 -/* 805A6D24 FC 02 00 32 */ fmul f0, f2, f0 -/* 805A6D28 FC 44 00 32 */ fmul f2, f4, f0 -/* 805A6D2C FC 00 00 32 */ fmul f0, f0, f0 -/* 805A6D30 FC 01 00 32 */ fmul f0, f1, f0 -/* 805A6D34 FC 03 00 28 */ fsub f0, f3, f0 -/* 805A6D38 FC 02 00 32 */ fmul f0, f2, f0 -/* 805A6D3C FC 21 00 32 */ fmul f1, f1, f0 -/* 805A6D40 FC 20 08 18 */ frsp f1, f1 -/* 805A6D44 48 00 00 88 */ b lbl_805A6DCC -lbl_805A6D48: -/* 805A6D48 C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 805A6D4C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 805A6D50 40 80 00 10 */ bge lbl_805A6D60 -/* 805A6D54 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 805A6D58 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 805A6D5C 48 00 00 70 */ b lbl_805A6DCC -lbl_805A6D60: -/* 805A6D60 D0 21 00 08 */ stfs f1, 8(r1) -/* 805A6D64 80 81 00 08 */ lwz r4, 8(r1) -/* 805A6D68 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 805A6D6C 3C 00 7F 80 */ lis r0, 0x7f80 -/* 805A6D70 7C 03 00 00 */ cmpw r3, r0 -/* 805A6D74 41 82 00 14 */ beq lbl_805A6D88 -/* 805A6D78 40 80 00 40 */ bge lbl_805A6DB8 -/* 805A6D7C 2C 03 00 00 */ cmpwi r3, 0 -/* 805A6D80 41 82 00 20 */ beq lbl_805A6DA0 -/* 805A6D84 48 00 00 34 */ b lbl_805A6DB8 -lbl_805A6D88: -/* 805A6D88 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 805A6D8C 41 82 00 0C */ beq lbl_805A6D98 -/* 805A6D90 38 00 00 01 */ li r0, 1 -/* 805A6D94 48 00 00 28 */ b lbl_805A6DBC -lbl_805A6D98: -/* 805A6D98 38 00 00 02 */ li r0, 2 -/* 805A6D9C 48 00 00 20 */ b lbl_805A6DBC -lbl_805A6DA0: -/* 805A6DA0 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 805A6DA4 41 82 00 0C */ beq lbl_805A6DB0 -/* 805A6DA8 38 00 00 05 */ li r0, 5 -/* 805A6DAC 48 00 00 10 */ b lbl_805A6DBC -lbl_805A6DB0: -/* 805A6DB0 38 00 00 03 */ li r0, 3 -/* 805A6DB4 48 00 00 08 */ b lbl_805A6DBC -lbl_805A6DB8: -/* 805A6DB8 38 00 00 04 */ li r0, 4 -lbl_805A6DBC: -/* 805A6DBC 2C 00 00 01 */ cmpwi r0, 1 -/* 805A6DC0 40 82 00 0C */ bne lbl_805A6DCC -/* 805A6DC4 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 805A6DC8 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_805A6DCC: -/* 805A6DCC C0 5F 00 20 */ lfs f2, 0x20(r31) -/* 805A6DD0 C0 1E 04 EC */ lfs f0, 0x4ec(r30) -/* 805A6DD4 EC 02 00 32 */ fmuls f0, f2, f0 -/* 805A6DD8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 805A6DDC 7C 00 00 26 */ mfcr r0 -/* 805A6DE0 54 03 0F FE */ srwi r3, r0, 0x1f -/* 805A6DE4 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 805A6DE8 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 805A6DEC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 805A6DF0 7C 08 03 A6 */ mtlr r0 -/* 805A6DF4 38 21 00 30 */ addi r1, r1, 0x30 -/* 805A6DF8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Create__FP13daTagSpring_c.s b/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Create__FP13daTagSpring_c.s deleted file mode 100644 index 2cedaaa802f..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Create__FP13daTagSpring_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A6E44: -/* 805A6E44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A6E48 7C 08 02 A6 */ mflr r0 -/* 805A6E4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A6E50 4B FF FC A5 */ bl create__13daTagSpring_cFv -/* 805A6E54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A6E58 7C 08 03 A6 */ mtlr r0 -/* 805A6E5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A6E60 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Delete__FP13daTagSpring_c.s b/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Delete__FP13daTagSpring_c.s deleted file mode 100644 index 731f7c59e4c..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Delete__FP13daTagSpring_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A6E24: -/* 805A6E24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A6E28 7C 08 02 A6 */ mflr r0 -/* 805A6E2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A6E30 4B FF FF CD */ bl _delete__13daTagSpring_cFv -/* 805A6E34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A6E38 7C 08 03 A6 */ mtlr r0 -/* 805A6E3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A6E40 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Execute__FP13daTagSpring_c.s b/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Execute__FP13daTagSpring_c.s deleted file mode 100644 index 7d771f867c9..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Execute__FP13daTagSpring_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A6E04: -/* 805A6E04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A6E08 7C 08 02 A6 */ mflr r0 -/* 805A6E0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A6E10 4B FF FD 4D */ bl execute__13daTagSpring_cFv -/* 805A6E14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A6E18 7C 08 03 A6 */ mtlr r0 -/* 805A6E1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A6E20 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/execute__13daTagSpring_cFv.s b/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/execute__13daTagSpring_cFv.s deleted file mode 100644 index ffadcf5e32d..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/execute__13daTagSpring_cFv.s +++ /dev/null @@ -1,83 +0,0 @@ -lbl_805A6B5C: -/* 805A6B5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A6B60 7C 08 02 A6 */ mflr r0 -/* 805A6B64 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A6B68 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A6B6C 93 C1 00 08 */ stw r30, 8(r1) -/* 805A6B70 7C 7F 1B 78 */ mr r31, r3 -/* 805A6B74 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 805A6B78 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 805A6B7C 28 04 00 FF */ cmplwi r4, 0xff -/* 805A6B80 41 82 00 28 */ beq lbl_805A6BA8 -/* 805A6B84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A6B88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A6B8C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A6B90 7C 05 07 74 */ extsb r5, r0 -/* 805A6B94 4B A8 E7 CD */ bl isSwitch__10dSv_info_cCFii -/* 805A6B98 2C 03 00 00 */ cmpwi r3, 0 -/* 805A6B9C 40 82 00 0C */ bne lbl_805A6BA8 -/* 805A6BA0 38 60 00 01 */ li r3, 1 -/* 805A6BA4 48 00 00 C8 */ b lbl_805A6C6C -lbl_805A6BA8: -/* 805A6BA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A6BAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A6BB0 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 805A6BB4 28 00 00 00 */ cmplwi r0, 0 -/* 805A6BB8 41 82 00 0C */ beq lbl_805A6BC4 -/* 805A6BBC 38 60 00 01 */ li r3, 1 -/* 805A6BC0 48 00 00 AC */ b lbl_805A6C6C -lbl_805A6BC4: -/* 805A6BC4 83 C3 5D AC */ lwz r30, 0x5dac(r3) -/* 805A6BC8 7F E3 FB 78 */ mr r3, r31 -/* 805A6BCC 48 00 00 B9 */ bl checkArea__13daTagSpring_cFv -/* 805A6BD0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 805A6BD4 41 82 00 8C */ beq lbl_805A6C60 -/* 805A6BD8 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 805A6BDC 4B A7 71 A9 */ bl waterCheck__11fopAcM_wt_cFPC4cXyz -/* 805A6BE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 805A6BE4 41 82 00 7C */ beq lbl_805A6C60 -/* 805A6BE8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A6BEC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A6BF0 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 805A6BF4 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 805A6BF8 40 82 00 18 */ bne lbl_805A6C10 -/* 805A6BFC 3C 60 80 45 */ lis r3, mWaterY__11fopAcM_wt_c@ha /* 0x80450CD8@ha */ -/* 805A6C00 C0 23 0C D8 */ lfs f1, mWaterY__11fopAcM_wt_c@l(r3) /* 0x80450CD8@l */ -/* 805A6C04 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 805A6C08 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 805A6C0C 41 81 00 0C */ bgt lbl_805A6C18 -lbl_805A6C10: -/* 805A6C10 28 00 00 00 */ cmplwi r0, 0 -/* 805A6C14 41 82 00 4C */ beq lbl_805A6C60 -lbl_805A6C18: -/* 805A6C18 88 7F 05 68 */ lbz r3, 0x568(r31) -/* 805A6C1C 28 03 00 00 */ cmplwi r3, 0 -/* 805A6C20 41 82 00 10 */ beq lbl_805A6C30 -/* 805A6C24 38 03 FF FF */ addi r0, r3, -1 -/* 805A6C28 98 1F 05 68 */ stb r0, 0x568(r31) -/* 805A6C2C 48 00 00 3C */ b lbl_805A6C68 -lbl_805A6C30: -/* 805A6C30 38 00 00 1E */ li r0, 0x1e -/* 805A6C34 98 1F 05 68 */ stb r0, 0x568(r31) -/* 805A6C38 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A6C3C 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A6C40 C0 24 5D C0 */ lfs f1, 0x5dc0(r4) -/* 805A6C44 3C 60 80 5A */ lis r3, lit_3728@ha /* 0x805A6E6C@ha */ -/* 805A6C48 C0 03 6E 6C */ lfs f0, lit_3728@l(r3) /* 0x805A6E6C@l */ -/* 805A6C4C EC 01 00 2A */ fadds f0, f1, f0 -/* 805A6C50 D0 04 5D C0 */ stfs f0, 0x5dc0(r4) -/* 805A6C54 38 00 00 01 */ li r0, 1 -/* 805A6C58 98 04 5E B6 */ stb r0, 0x5eb6(r4) -/* 805A6C5C 48 00 00 0C */ b lbl_805A6C68 -lbl_805A6C60: -/* 805A6C60 38 00 00 1E */ li r0, 0x1e -/* 805A6C64 98 1F 05 68 */ stb r0, 0x568(r31) -lbl_805A6C68: -/* 805A6C68 38 60 00 01 */ li r3, 1 -lbl_805A6C6C: -/* 805A6C6C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A6C70 83 C1 00 08 */ lwz r30, 8(r1) -/* 805A6C74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A6C78 7C 08 03 A6 */ mtlr r0 -/* 805A6C7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A6C80 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/func_805A6AF4.s b/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/func_805A6AF4.s deleted file mode 100644 index 85a2e48cc13..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/func_805A6AF4.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_805A6AF4: -/* 805A6AF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A6AF8 7C 08 02 A6 */ mflr r0 -/* 805A6AFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A6B00 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A6B04 7C 7F 1B 78 */ mr r31, r3 -/* 805A6B08 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 805A6B0C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 805A6B10 40 82 00 1C */ bne lbl_805A6B2C -/* 805A6B14 28 1F 00 00 */ cmplwi r31, 0 -/* 805A6B18 41 82 00 08 */ beq lbl_805A6B20 -/* 805A6B1C 4B A7 20 49 */ bl __ct__10fopAc_ac_cFv -lbl_805A6B20: -/* 805A6B20 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 805A6B24 60 00 00 08 */ ori r0, r0, 8 -/* 805A6B28 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_805A6B2C: -/* 805A6B2C 7F E3 FB 78 */ mr r3, r31 -/* 805A6B30 4B FF FF A1 */ bl Create__13daTagSpring_cFv -/* 805A6B34 2C 03 00 00 */ cmpwi r3, 0 -/* 805A6B38 40 82 00 0C */ bne lbl_805A6B44 -/* 805A6B3C 38 60 00 05 */ li r3, 5 -/* 805A6B40 48 00 00 08 */ b lbl_805A6B48 -lbl_805A6B44: -/* 805A6B44 38 60 00 04 */ li r3, 4 -lbl_805A6B48: -/* 805A6B48 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A6B4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A6B50 7C 08 03 A6 */ mtlr r0 -/* 805A6B54 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A6B58 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/initBaseMtx__13daTagSpring_cFv.s b/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/initBaseMtx__13daTagSpring_cFv.s deleted file mode 100644 index 2e358e6c620..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/initBaseMtx__13daTagSpring_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A6A58: -/* 805A6A58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A6A5C 7C 08 02 A6 */ mflr r0 -/* 805A6A60 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A6A64 48 00 00 15 */ bl setBaseMtx__13daTagSpring_cFv -/* 805A6A68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A6A6C 7C 08 03 A6 */ mtlr r0 -/* 805A6A70 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A6A74 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/setBaseMtx__13daTagSpring_cFv.s b/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/setBaseMtx__13daTagSpring_cFv.s deleted file mode 100644 index 0b7ac14560f..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/setBaseMtx__13daTagSpring_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_805A6A78: -/* 805A6A78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A6A7C 7C 08 02 A6 */ mflr r0 -/* 805A6A80 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A6A84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A6A88 7C 7F 1B 78 */ mr r31, r3 -/* 805A6A8C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 805A6A90 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 805A6A94 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 805A6A98 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 805A6A9C C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 805A6AA0 4B D9 FE 49 */ bl PSMTXTrans -/* 805A6AA4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 805A6AA8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 805A6AAC A8 9F 04 E4 */ lha r4, 0x4e4(r31) -/* 805A6AB0 A8 BF 04 E6 */ lha r5, 0x4e6(r31) -/* 805A6AB4 A8 DF 04 E8 */ lha r6, 0x4e8(r31) -/* 805A6AB8 4B A6 57 E9 */ bl mDoMtx_ZXYrotM__FPA4_fsss -/* 805A6ABC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A6AC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A6AC4 7C 08 03 A6 */ mtlr r0 -/* 805A6AC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A6ACC 4E 80 00 20 */ blr diff --git a/docs/Contributing.md b/docs/Contributing.md index 294dba36faf..d47af10afd4 100644 --- a/docs/Contributing.md +++ b/docs/Contributing.md @@ -4,8 +4,9 @@ Ghidra Setup ----- 1. Install [Java 11 64-bit Runtime and Development Kit](https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html). 2. Download Ghidra from [here](https://github.com/NationalSecurityAgency/ghidra/releases). -3. Open a pull request against [this repo](https://github.com/zsrtp/tp-ghidra-server), adding your desired username and permissions level into users.yaml -4. Login using the following server info: +3. Download the Ghidra-GameCube-Loader from [here](https://github.com/Cuyler36/Ghidra-GameCube-Loader/releases). Follow the Installation Instructions for installing. +4. Open a pull request against [this repo](https://github.com/zsrtp/tp-ghidra-server), adding your desired username and permissions level into users.yaml +5. Login using the following server info: ``` Server: ghidra.tpgz.io diff --git a/include/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.h b/include/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.h index dae96544be3..cb161f80c60 100644 --- a/include/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.h +++ b/include/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.h @@ -1,6 +1,42 @@ #ifndef D_A_TAG_ATTENTION_H #define D_A_TAG_ATTENTION_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" +#include "dol2asm.h" +#include "f_op/f_op_actor_mng.h" + +class daAttp_c : public fopAc_ac_c { +public: + /* 804D5318 */ int Create(); + /* 804D5354 */ int create(); + /* 804D53AC */ int execute(); + /* 804D568C */ int draw(); + /* 804D5694 */ int _delete(); +}; // Size: 0x568 + +namespace daAttp_prm { +static inline u32 getArg0(daAttp_c* pActor) { + return fopAcM_GetParam(pActor) & 3; +} +static inline u32 getArg1(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 2) & 3; +} +static inline u32 getArg2(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 4) & 7; +} +static inline u32 getArg3(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 7) & 1; +} +static inline u32 getArg4(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 8) & 1; +} +static inline u32 getSw1(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 0x10) & 0xff; +} +static inline u32 getSw2(daAttp_c* pActor) { + return (fopAcM_GetParam(pActor) >> 0x18); +} +} // namespace daAttp_prm #endif /* D_A_TAG_ATTENTION_H */ diff --git a/include/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h b/include/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h index fbefe37b548..3f6ef214fc5 100644 --- a/include/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h +++ b/include/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h @@ -1,7 +1,9 @@ #ifndef D_A_TAG_HINIT_H #define D_A_TAG_HINIT_H +#include "d/com/d_com_inf_game.h" #include "f_op/f_op_actor.h" +#include "rel/d/a/d_a_horse/d_a_horse.h" class daTagHinit_c : public fopAc_ac_c { public: diff --git a/include/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring.h b/include/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring.h index 544846a30c4..7d602f033cd 100644 --- a/include/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring.h +++ b/include/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring.h @@ -1,6 +1,22 @@ #ifndef D_A_TAG_SPRING_H #define D_A_TAG_SPRING_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" +#include "f_op/f_op_actor_mng.h" + +class daTagSpring_c : public fopAc_ac_c { +public: + /* 805A6A58 */ void initBaseMtx(); + /* 805A6A78 */ void setBaseMtx(); + /* 805A6AD0 */ int Create(); + /* 805A6AF4 */ int create(); + /* 805A6B5C */ int execute(); + /* 805A6C84 */ u8 checkArea(); + /* 805A6DFC */ int _delete(); + u32 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); } + /* 0x568 */ u8 mTimer; + +}; // Size: 0x56C #endif /* D_A_TAG_SPRING_H */ diff --git a/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp b/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp index 729f77cb70b..be1a1987f3d 100644 --- a/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp +++ b/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp @@ -1,74 +1,9 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_attention -// +/** + * d_a_tag_attention.cpp + * + */ #include "rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daAttp_c { - /* 804D5318 */ void Create(); - /* 804D5354 */ void create(); - /* 804D53AC */ void execute(); - /* 804D568C */ bool draw(); - /* 804D5694 */ bool _delete(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -// -// Forward References: -// - -extern "C" void Create__8daAttp_cFv(); -extern "C" void create__8daAttp_cFv(); -extern "C" void execute__8daAttp_cFv(); -extern "C" bool draw__8daAttp_cFv(); -extern "C" bool _delete__8daAttp_cFv(); -extern "C" static void daAttp_Draw__FP8daAttp_c(); -extern "C" static void daAttp_Execute__FP8daAttp_c(); -extern "C" static void daAttp_Delete__FP8daAttp_c(); -extern "C" static void daAttp_Create__FP10fopAc_ac_c(); -extern "C" extern void* g_profile_Tag_Attp[12]; - -// -// External References: -// - -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void PSMTXMultVec(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// /* ############################################################################################## */ /* 804D5724-804D5728 000000 0002+02 1/1 0/0 0/0 .rodata l_dist_tbl$3641 */ @@ -82,122 +17,175 @@ SECTION_RODATA static u8 const l_dist_tbl[2 + 2 /* padding */] = { COMPILER_STRIP_GATE(0x804D5724, &l_dist_tbl); /* 804D5318-804D5354 000078 003C+00 1/1 0/0 0/0 .text Create__8daAttp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAttp_c::Create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/Create__8daAttp_cFv.s" +int daAttp_c::Create() { + mAttentionInfo.field_0x0[0] = l_dist_tbl[daAttp_prm::getArg4(this)]; + + execute(); + return 1; } -#pragma pop /* 804D5354-804D53AC 0000B4 0058+00 1/1 0/0 0/0 .text create__8daAttp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAttp_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/func_804D5354.s" +int daAttp_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daAttp_c(); + fopAcM_OnCondition(this, 8); + } + Create(); + return cPhs_COMPLEATE_e; } -#pragma pop - -/* ############################################################################################## */ -/* 804D5728-804D572C 000004 0004+00 1/1 0/0 0/0 .rodata @3772 */ -SECTION_RODATA static u8 const lit_3772[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x804D5728, &lit_3772); - -/* 804D572C-804D574C -00001 0020+00 1/1 0/0 0/0 .data @3773 */ -SECTION_DATA static void* lit_3773[8] = { - (void*)(((char*)execute__8daAttp_cFv) + 0xA4), (void*)(((char*)execute__8daAttp_cFv) + 0xC0), - (void*)(((char*)execute__8daAttp_cFv) + 0xDC), (void*)(((char*)execute__8daAttp_cFv) + 0xF8), - (void*)(((char*)execute__8daAttp_cFv) + 0x120), (void*)(((char*)execute__8daAttp_cFv) + 0x144), - (void*)(((char*)execute__8daAttp_cFv) + 0x144), (void*)(((char*)execute__8daAttp_cFv) + 0x144), -}; /* 804D53AC-804D568C 00010C 02E0+00 3/2 0/0 0/0 .text execute__8daAttp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAttp_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/execute__8daAttp_cFv.s" +int daAttp_c::execute() { + bool bVar1 = true; + fopAc_ac_c& link = *daPy_getPlayerActorClass(); + + cXyz pos = link.current.pos - current.pos; + mDoMtx_stack_c::YrotS(-shape_angle.y); + mDoMtx_stack_c::multVec(&pos, &pos); + + switch (daAttp_prm::getArg2(this)) { + case 0: + if (pos.z < 0) { + bVar1 = false; + } + break; + case 1: + if (pos.y > 0) { + bVar1 = false; + } + break; + case 2: + if (pos.y < 0) { + bVar1 = false; + } + break; + case 3: + if (pos.y > 0 || pos.z < 0) { + bVar1 = false; + } + break; + case 4: + if (pos.y < 0 || pos.z < 0) { + bVar1 = false; + } + break; + default: + break; + case 7: + break; + } + + if (i_fopAcM_isSwitch(this, daAttp_prm::getSw1(this))) { + switch (daAttp_prm::getArg1(this)) { + case 0: + break; + case 1: + if (daPy_py_c::i_checkNowWolf()) { + bVar1 = false; + } + break; + case 2: + if (!daPy_py_c::i_checkNowWolf()) { + bVar1 = false; + } + break; + case 3: + bVar1 = false; + break; + } + } else { + switch (daAttp_prm::getArg0(this)) { + case 0: + break; + case 1: + if (daPy_py_c::i_checkNowWolf()) { + bVar1 = false; + } + break; + case 2: + if (!daPy_py_c::i_checkNowWolf()) { + bVar1 = false; + } + break; + case 3: + bVar1 = false; + } + + if (daAttp_prm::getSw2(this) != 0xff) { + if (i_fopAcM_isSwitch(this, daAttp_prm::getSw2(this))) { + if (daAttp_prm::getArg3(this) == 0) { + bVar1 = false; + } + } else if (daAttp_prm::getArg3(this) == 1) { + bVar1 = false; + } + } + } + + if (bVar1) { + mAttentionInfo.mFlags = mAttentionInfo.mFlags | 1; + } else { + mAttentionInfo.mFlags = mAttentionInfo.mFlags & 0xfffffffe; + } + + return 1; } -#pragma pop /* 804D568C-804D5694 0003EC 0008+00 1/1 0/0 0/0 .text draw__8daAttp_cFv */ -bool daAttp_c::draw() { - return true; +int daAttp_c::draw() { + return 1; } /* 804D5694-804D569C 0003F4 0008+00 1/1 0/0 0/0 .text _delete__8daAttp_cFv */ -bool daAttp_c::_delete() { - return true; +int daAttp_c::_delete() { + return 1; } /* 804D569C-804D56BC 0003FC 0020+00 1/0 0/0 0/0 .text daAttp_Draw__FP8daAttp_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAttp_Draw(daAttp_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Draw__FP8daAttp_c.s" +static int daAttp_Draw(daAttp_c* i_this) { + return i_this->draw(); } -#pragma pop /* 804D56BC-804D56DC 00041C 0020+00 1/0 0/0 0/0 .text daAttp_Execute__FP8daAttp_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAttp_Execute(daAttp_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Execute__FP8daAttp_c.s" + +static int daAttp_Execute(daAttp_c* i_this) { + return i_this->execute(); } -#pragma pop /* 804D56DC-804D56FC 00043C 0020+00 1/0 0/0 0/0 .text daAttp_Delete__FP8daAttp_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAttp_Delete(daAttp_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Delete__FP8daAttp_c.s" +static int daAttp_Delete(daAttp_c* i_this) { + return i_this->_delete(); } -#pragma pop /* 804D56FC-804D571C 00045C 0020+00 1/0 0/0 0/0 .text daAttp_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAttp_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention/daAttp_Create__FP10fopAc_ac_c.s" +static int daAttp_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* ############################################################################################## */ /* 804D574C-804D576C -00001 0020+00 1/0 0/0 0/0 .data l_daAttp_Method */ -SECTION_DATA static void* l_daAttp_Method[8] = { - (void*)daAttp_Create__FP10fopAc_ac_c, - (void*)daAttp_Delete__FP8daAttp_c, - (void*)daAttp_Execute__FP8daAttp_c, - (void*)NULL, - (void*)daAttp_Draw__FP8daAttp_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daAttp_Method = { + (process_method_func)daAttp_Create, (process_method_func)daAttp_Delete, + (process_method_func)daAttp_Execute, (process_method_func)NULL, + (process_method_func)daAttp_Draw, }; /* 804D576C-804D579C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Attp */ -SECTION_DATA extern void* g_profile_Tag_Attp[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x015A0000, (void*)&g_fpcLf_Method, - (void*)0x00000568, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01B80000, (void*)&l_daAttp_Method, - (void*)0x00040100, (void*)NULL, +extern actor_process_profile_definition g_profile_Tag_Attp = { + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_Tag_Attp, // mProcName + 0, // padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daAttp_c), // mSize + 0, // mSizeOther + 0, // mParameter + &g_fopAc_Method.base, // mSubMtd + 0x01B8, // mPriority + 0, // padding + 0, // padding + &l_daAttp_Method, // mSubMtd + 0x00040100, // mStatus + 0, // mActorType }; diff --git a/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp b/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp index cc7c008facd..88b968c5120 100644 --- a/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp +++ b/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp @@ -4,19 +4,6 @@ */ #include "rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h" -#include "d/com/d_com_inf_game.h" -#include "dol2asm.h" -#include "rel/d/a/d_a_horse/d_a_horse.h" - -// -// Forward References: -// - -extern "C" extern void* g_profile_Tag_Hinit[12]; - -// -// Declarations: -// /* 805A3758-805A3800 000078 00A8+00 1/1 0/0 0/0 .text create__12daTagHinit_cFv */ int daTagHinit_c::create() { @@ -60,7 +47,8 @@ int daTagHinit_c::execute() { i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x56c])) && (field_0x56e == 0xFFFF || !i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x56e])) && - (field_0x568 == 0xFF || i_fopAcM_isSwitch(this, field_0x568))) { + (field_0x568 == 0xFF || i_fopAcM_isSwitch(this, field_0x568))) + { if (field_0x569 != 0xFF) { i_fopAcM_onSwitch(this, field_0x569); } @@ -87,23 +75,32 @@ static int daTagHinit_Draw(daTagHinit_c*) { /* ############################################################################################## */ /* 805A39E8-805A3A08 -00001 0020+00 1/0 0/0 0/0 .data l_daTagHinit_Method */ -SECTION_DATA static void* l_daTagHinit_Method[8] = { - (void*)daTagHinit_Create, - (void*)daTagHinit_Delete, - (void*)daTagHinit_Execute, - (void*)NULL, - (void*)daTagHinit_Draw, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagHinit_Method = { + (process_method_func)daTagHinit_Create, (process_method_func)daTagHinit_Delete, + (process_method_func)daTagHinit_Execute, (process_method_func)NULL, + (process_method_func)daTagHinit_Draw, + }; /* 805A3A08-805A3A38 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Hinit */ -SECTION_DATA extern void* g_profile_Tag_Hinit[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00E90000, (void*)&g_fpcLf_Method, - (void*)0x00000570, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01B10000, (void*)&l_daTagHinit_Method, - (void*)0x00060000, (void*)0x030E0000, +extern actor_process_profile_definition g_profile_Tag_Hinit = { + -3, + 3, + -3, + PROC_Tag_Hinit, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagHinit_c), + 0, + 0, + &g_fopAc_Method.base, + 0x01B1, + 0, + 0, + &l_daTagHinit_Method, + 0x00060000, + 3, + 0x0E, + 0, + 0, }; diff --git a/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring.cpp b/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring.cpp index dd0b1a74823..55ed36f04b3 100644 --- a/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring.cpp +++ b/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring.cpp @@ -1,249 +1,129 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_spring -// +/** + * d_a_tag_spring.cpp + * + */ #include "rel/d/a/tag/d_a_tag_spring/d_a_tag_spring.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct cXyz {}; - -struct fopAcM_wt_c { - /* 8001DD84 */ void waterCheck(cXyz const*); - - static f32 mWaterY[1 + 1 /* padding */]; -}; - -struct daTagSpring_c { - /* 805A6A58 */ void initBaseMtx(); - /* 805A6A78 */ void setBaseMtx(); - /* 805A6AD0 */ void Create(); - /* 805A6AF4 */ void create(); - /* 805A6B5C */ void execute(); - /* 805A6C84 */ void checkArea(); - /* 805A6DFC */ bool _delete(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -// -// Forward References: -// - -extern "C" void initBaseMtx__13daTagSpring_cFv(); -extern "C" void setBaseMtx__13daTagSpring_cFv(); -extern "C" void Create__13daTagSpring_cFv(); -extern "C" void create__13daTagSpring_cFv(); -extern "C" void execute__13daTagSpring_cFv(); -extern "C" void checkArea__13daTagSpring_cFv(); -extern "C" bool _delete__13daTagSpring_cFv(); -extern "C" static void daTagSpring_Execute__FP13daTagSpring_c(); -extern "C" static void daTagSpring_Delete__FP13daTagSpring_c(); -extern "C" static void daTagSpring_Create__FP13daTagSpring_c(); -extern "C" extern void* g_profile_Tag_Spring[12]; - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void waterCheck__11fopAcM_wt_cFPC4cXyz(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareDistance(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_nan; -extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; - -// -// Declarations: -// /* 805A6A58-805A6A78 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__13daTagSpring_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagSpring_c::initBaseMtx() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/initBaseMtx__13daTagSpring_cFv.s" +void daTagSpring_c::initBaseMtx() { + setBaseMtx(); } -#pragma pop /* 805A6A78-805A6AD0 000098 0058+00 1/1 0/0 0/0 .text setBaseMtx__13daTagSpring_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagSpring_c::setBaseMtx() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/setBaseMtx__13daTagSpring_cFv.s" +void daTagSpring_c::setBaseMtx() { + PSMTXTrans(mDoMtx_stack_c::now, current.pos.x, current.pos.y, current.pos.z); + mDoMtx_ZXYrotM(mDoMtx_stack_c::now, shape_angle.x, shape_angle.y, shape_angle.z); } -#pragma pop /* 805A6AD0-805A6AF4 0000F0 0024+00 1/1 0/0 0/0 .text Create__13daTagSpring_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagSpring_c::Create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/Create__13daTagSpring_cFv.s" +int daTagSpring_c::Create() { + initBaseMtx(); + return 1; } -#pragma pop /* 805A6AF4-805A6B5C 000114 0068+00 1/1 0/0 0/0 .text create__13daTagSpring_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagSpring_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/func_805A6AF4.s" -} -#pragma pop +int daTagSpring_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagSpring_c(); + fopAcM_OnCondition(this, 8); + } -/* ############################################################################################## */ -/* 805A6E6C-805A6E70 000000 0004+00 2/2 0/0 0/0 .rodata @3728 */ -SECTION_RODATA static f32 const lit_3728 = 1.0f; -COMPILER_STRIP_GATE(0x805A6E6C, &lit_3728); + if (Create() == NULL) { + return cPhs_ERROR_e; + } else { + fopAcM_GetParam(this); + return cPhs_COMPLEATE_e; + } +} /* 805A6B5C-805A6C84 00017C 0128+00 1/1 0/0 0/0 .text execute__13daTagSpring_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagSpring_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/execute__13daTagSpring_cFv.s" +int daTagSpring_c::execute() { + if (getSwbit() != 0xff) { + if (!i_fopAcM_isSwitch(this, getSwbit())) { + return 1; + } + } + if (i_dComIfGp_event_runCheck()) { + return 1; + + } else { + fopAc_ac_c& link = *daPy_getPlayerActorClass(); + if ((checkArea()) && ((fopAcM_wt_c::waterCheck(&link.current.pos) & 0xff) != NULL) && + (!(i_dComIfGp_checkPlayerStatus0(0, daPy_py_c::FLG0_UNK_100000)) && + (fopAcM_wt_c::mWaterY[0] > link.current.pos.y) || + (i_dComIfGp_checkPlayerStatus0(0, daPy_py_c::FLG0_UNK_100000)) != NULL)) + { + if (mTimer != NULL) { + mTimer--; + + } else { + mTimer = 0x1e; + g_dComIfG_gameInfo.play.mItemLifeCount++; + g_dComIfG_gameInfo.play.mItemLifeCountType = 1; + } + } else { + mTimer = 0x1e; + } + } + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 805A6E70-805A6E74 000004 0004+00 0/1 0/0 0/0 .rodata @3773 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3773[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x805A6E70, &lit_3773); -#pragma pop - -/* 805A6E74-805A6E7C 000008 0008+00 0/1 0/0 0/0 .rodata @3774 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3774[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A6E74, &lit_3774); -#pragma pop - -/* 805A6E7C-805A6E84 000010 0008+00 0/1 0/0 0/0 .rodata @3775 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3775[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A6E7C, &lit_3775); -#pragma pop - -/* 805A6E84-805A6E8C 000018 0008+00 0/1 0/0 0/0 .rodata @3776 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3776[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A6E84, &lit_3776); -#pragma pop - -/* 805A6E8C-805A6E90 000020 0004+00 0/1 0/0 0/0 .rodata @3777 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3777 = 1000.0f; -COMPILER_STRIP_GATE(0x805A6E8C, &lit_3777); -#pragma pop /* 805A6C84-805A6DFC 0002A4 0178+00 1/1 0/0 0/0 .text checkArea__13daTagSpring_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagSpring_c::checkArea() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/checkArea__13daTagSpring_cFv.s" +u8 daTagSpring_c::checkArea() { + fopAc_ac_c& player = *daPy_getPlayerActorClass(); + return player.current.pos.absXZ(current.pos) < (mScale.x * 1000); } -#pragma pop /* 805A6DFC-805A6E04 00041C 0008+00 1/1 0/0 0/0 .text _delete__13daTagSpring_cFv */ -bool daTagSpring_c::_delete() { - return true; +int daTagSpring_c::_delete() { + return 1; } /* 805A6E04-805A6E24 000424 0020+00 1/0 0/0 0/0 .text daTagSpring_Execute__FP13daTagSpring_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagSpring_Execute(daTagSpring_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Execute__FP13daTagSpring_c.s" +static int daTagSpring_Execute(daTagSpring_c* i_this) { + return i_this->execute(); } -#pragma pop /* 805A6E24-805A6E44 000444 0020+00 1/0 0/0 0/0 .text daTagSpring_Delete__FP13daTagSpring_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagSpring_Delete(daTagSpring_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Delete__FP13daTagSpring_c.s" +static int daTagSpring_Delete(daTagSpring_c* i_this) { + return i_this->_delete(); } -#pragma pop /* 805A6E44-805A6E64 000464 0020+00 1/0 0/0 0/0 .text daTagSpring_Create__FP13daTagSpring_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagSpring_Create(daTagSpring_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spring/d_a_tag_spring/daTagSpring_Create__FP13daTagSpring_c.s" +static int daTagSpring_Create(daTagSpring_c* i_this) { + return i_this->create(); } -#pragma pop /* ############################################################################################## */ /* 805A6E90-805A6EB0 -00001 0020+00 1/0 0/0 0/0 .data l_daTagSpring_Method */ -SECTION_DATA static void* l_daTagSpring_Method[8] = { - (void*)daTagSpring_Create__FP13daTagSpring_c, - (void*)daTagSpring_Delete__FP13daTagSpring_c, - (void*)daTagSpring_Execute__FP13daTagSpring_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagSpring_Method = { + (process_method_func)daTagSpring_Create, + (process_method_func)daTagSpring_Delete, + (process_method_func)daTagSpring_Execute, + (process_method_func)NULL, }; /* 805A6EB0-805A6EE0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Spring */ -SECTION_DATA extern void* g_profile_Tag_Spring[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01AD0000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x024B0000, (void*)&l_daTagSpring_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_Spring = { + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_Tag_Spring, // mProcName + 0, // padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTagSpring_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x024B, // mPriority + 0, // padding + 0, // padding + &l_daTagSpring_Method, // mSubMtd + 0x00040000, // mStatus + 0, // mActorType + 0x0E, // mCullType + 0, // padding + 0, // padding };