From 8d01442f7ceb128a79c4bedfea0aa3143526d641 Mon Sep 17 00:00:00 2001 From: Trueffel <106771418+Trueffeloot@users.noreply.github.com> Date: Sun, 30 Apr 2023 02:37:30 +0200 Subject: [PATCH] d_a_tag_CstaSw & d_a_tag_shop_item OK (#326) * d_a_tag_CstaSw & d_a_tag_shop_item OK * d_a_tag_spinner OK --- Progress.md | 12 +- .../Execute__13daTagCstaSw_cFv.s | 47 -- .../__ct__17daTagCstaSw_HIO_cFv.s | 10 - .../d_a_tag_CstaSw/__dt__14mDoHIO_entry_cFv.s | 20 - .../__dt__17daTagCstaSw_HIO_cFv.s | 26 -- .../__sinit_d_a_tag_CstaSw_cpp.s | 16 - .../areaCheck__13daTagCstaSw_cFv.s | 117 ----- .../create__13daTagCstaSw_cFv.s | 27 -- .../daTagCstaSw_Create__FP10fopAc_ac_c.s | 9 - .../daTagCstaSw_Delete__FP13daTagCstaSw_c.s | 9 - .../daTagCstaSw_Draw__FP13daTagCstaSw_c.s | 9 - .../daTagCstaSw_Execute__FP13daTagCstaSw_c.s | 9 - .../searchSekizoAct__13daTagCstaSw_cFPvPv.s | 23 - .../setBaseMtx__13daTagCstaSw_cFv.s | 23 - .../Delete__16daTag_ShopItem_cFv.s | 37 -- .../Execute__16daTag_ShopItem_cFv.s | 147 ------ .../__dt__16daTag_ShopItem_cFv.s | 26 -- .../create__16daTag_ShopItem_cFv.s | 137 ------ .../daTag_ShopItem_Create__FPv.s | 9 - .../daTag_ShopItem_Delete__FPv.s | 9 - .../daTag_ShopItem_Draw__FPv.s | 9 - .../daTag_ShopItem_Execute__FPv.s | 9 - .../getGroupID__16daTag_ShopItem_cFv.s | 4 - .../getSwitchBit1__16daTag_ShopItem_cFv.s | 4 - .../getSwitchBit2__16daTag_ShopItem_cFv.s | 4 - .../getType__16daTag_ShopItem_cFv.s | 4 - .../initialize__16daTag_ShopItem_cFv.s | 34 -- .../execute__14daTagSpinner_cFv.s | 49 -- include/rel/d/a/d_a_spinner/d_a_spinner.h | 11 + .../d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.h | 27 +- .../tag/d_a_tag_shop_item/d_a_tag_shop_item.h | 23 +- .../d/a/tag/d_a_tag_spinner/d_a_tag_spinner.h | 2 +- rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.cpp | 383 ++++------------ .../d_a_tag_shop_item/d_a_tag_shop_item.cpp | 424 +++++++----------- .../a/tag/d_a_tag_spinner/d_a_tag_spinner.cpp | 108 ++--- 35 files changed, 348 insertions(+), 1469 deletions(-) delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/Execute__13daTagCstaSw_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__ct__17daTagCstaSw_HIO_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__14mDoHIO_entry_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__17daTagCstaSw_HIO_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__sinit_d_a_tag_CstaSw_cpp.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/areaCheck__13daTagCstaSw_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/create__13daTagCstaSw_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Delete__FP13daTagCstaSw_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Draw__FP13daTagCstaSw_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Execute__FP13daTagCstaSw_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/searchSekizoAct__13daTagCstaSw_cFPvPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/setBaseMtx__13daTagCstaSw_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Delete__16daTag_ShopItem_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Execute__16daTag_ShopItem_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/__dt__16daTag_ShopItem_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/create__16daTag_ShopItem_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Create__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Delete__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Draw__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Execute__FPv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getGroupID__16daTag_ShopItem_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit1__16daTag_ShopItem_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit2__16daTag_ShopItem_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getType__16daTag_ShopItem_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/initialize__16daTag_ShopItem_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/execute__14daTagSpinner_cFv.s diff --git a/Progress.md b/Progress.md index 5e7748558e3..56431cde096 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 34.337345% | 1380592 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 34.337345% | 1380592 | 4020672 -RELs | 33.516030% | 3854452 | 11500324 -Total | 33.728789% | 5235044 | 15520996 +RELs | 33.542325% | 3857476 | 11500324 +Total | 33.748272% | 5238068 | 15520996 ## RELs @@ -703,7 +703,7 @@ d_a_swLBall | 33.651805% | 1268 | 3768 d_a_swTime | 100.000000% | 1040 | 1040 d_a_swc00 | 43.087121% | 1820 | 4224 d_a_swhit0 | 35.577421% | 2748 | 7724 -d_a_tag_CstaSw | 51.406250% | 1316 | 2560 +d_a_tag_CstaSw | 100.000000% | 2560 | 2560 d_a_tag_Lv6Gate | 39.281576% | 2712 | 6904 d_a_tag_Lv7Gate | 34.752224% | 2188 | 6296 d_a_tag_Lv8Gate | 43.347193% | 1668 | 3848 @@ -760,9 +760,9 @@ d_a_tag_schedule | 100.000000% | 712 | 712 d_a_tag_setBall | 100.000000% | 880 | 880 d_a_tag_setrestart | 100.000000% | 1840 | 1840 d_a_tag_shop_camera | 100.000000% | 1196 | 1196 -d_a_tag_shop_item | 41.944848% | 1156 | 2756 +d_a_tag_shop_item | 100.000000% | 2756 | 2756 d_a_tag_smk_emt | 100.000000% | 1572 | 1572 -d_a_tag_spinner | 90.663900% | 1748 | 1928 +d_a_tag_spinner | 100.000000% | 1928 | 1928 d_a_tag_sppath | 33.333333% | 2040 | 6120 d_a_tag_spring | 100.000000% | 1896 | 1896 d_a_tag_ss_drink | 36.483740% | 1436 | 3936 @@ -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.516030% | 3854452 | 11500324 +Total | 33.542325% | 3857476 | 11500324 diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/Execute__13daTagCstaSw_cFv.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/Execute__13daTagCstaSw_cFv.s deleted file mode 100644 index 81c5b171b61..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/Execute__13daTagCstaSw_cFv.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_805A2340: -/* 805A2340 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2344 7C 08 02 A6 */ mflr r0 -/* 805A2348 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A234C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A2350 7C 7F 1B 78 */ mr r31, r3 -/* 805A2354 4B FF FE 4D */ bl areaCheck__13daTagCstaSw_cFv -/* 805A2358 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 805A235C 28 00 00 01 */ cmplwi r0, 1 -/* 805A2360 40 82 00 40 */ bne lbl_805A23A0 -/* 805A2364 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A2368 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A236C 88 9F 05 68 */ lbz r4, 0x568(r31) -/* 805A2370 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A2374 7C 05 07 74 */ extsb r5, r0 -/* 805A2378 4B A9 2F E9 */ bl isSwitch__10dSv_info_cCFii -/* 805A237C 2C 03 00 00 */ cmpwi r3, 0 -/* 805A2380 40 82 00 58 */ bne lbl_805A23D8 -/* 805A2384 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A2388 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A238C 88 9F 05 68 */ lbz r4, 0x568(r31) -/* 805A2390 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A2394 7C 05 07 74 */ extsb r5, r0 -/* 805A2398 4B A9 2E 69 */ bl onSwitch__10dSv_info_cFii -/* 805A239C 48 00 00 3C */ b lbl_805A23D8 -lbl_805A23A0: -/* 805A23A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A23A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A23A8 88 9F 05 68 */ lbz r4, 0x568(r31) -/* 805A23AC 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A23B0 7C 05 07 74 */ extsb r5, r0 -/* 805A23B4 4B A9 2F AD */ bl isSwitch__10dSv_info_cCFii -/* 805A23B8 2C 03 00 00 */ cmpwi r3, 0 -/* 805A23BC 41 82 00 1C */ beq lbl_805A23D8 -/* 805A23C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A23C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A23C8 88 9F 05 68 */ lbz r4, 0x568(r31) -/* 805A23CC 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A23D0 7C 05 07 74 */ extsb r5, r0 -/* 805A23D4 4B A9 2E DD */ bl offSwitch__10dSv_info_cFii -lbl_805A23D8: -/* 805A23D8 38 60 00 01 */ li r3, 1 -/* 805A23DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A23E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A23E4 7C 08 03 A6 */ mtlr r0 -/* 805A23E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A23EC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__ct__17daTagCstaSw_HIO_cFv.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__ct__17daTagCstaSw_HIO_cFv.s deleted file mode 100644 index 6c1d0dd4726..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__ct__17daTagCstaSw_HIO_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_805A202C: -/* 805A202C 3C 80 80 5A */ lis r4, __vt__14mDoHIO_entry_c@ha /* 0x805A25AC@ha */ -/* 805A2030 38 04 25 AC */ addi r0, r4, __vt__14mDoHIO_entry_c@l /* 0x805A25AC@l */ -/* 805A2034 90 03 00 00 */ stw r0, 0(r3) -/* 805A2038 3C 80 80 5A */ lis r4, __vt__17daTagCstaSw_HIO_c@ha /* 0x805A25A0@ha */ -/* 805A203C 38 04 25 A0 */ addi r0, r4, __vt__17daTagCstaSw_HIO_c@l /* 0x805A25A0@l */ -/* 805A2040 90 03 00 00 */ stw r0, 0(r3) -/* 805A2044 38 00 00 00 */ li r0, 0 -/* 805A2048 98 03 00 04 */ stb r0, 4(r3) -/* 805A204C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__14mDoHIO_entry_cFv.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__14mDoHIO_entry_cFv.s deleted file mode 100644 index 4946e78fe1f..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__14mDoHIO_entry_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_805A2050: -/* 805A2050 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2054 7C 08 02 A6 */ mflr r0 -/* 805A2058 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A205C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A2060 7C 7F 1B 79 */ or. r31, r3, r3 -/* 805A2064 41 82 00 1C */ beq lbl_805A2080 -/* 805A2068 3C A0 80 5A */ lis r5, __vt__14mDoHIO_entry_c@ha /* 0x805A25AC@ha */ -/* 805A206C 38 05 25 AC */ addi r0, r5, __vt__14mDoHIO_entry_c@l /* 0x805A25AC@l */ -/* 805A2070 90 1F 00 00 */ stw r0, 0(r31) -/* 805A2074 7C 80 07 35 */ extsh. r0, r4 -/* 805A2078 40 81 00 08 */ ble lbl_805A2080 -/* 805A207C 4B D2 CC C1 */ bl __dl__FPv -lbl_805A2080: -/* 805A2080 7F E3 FB 78 */ mr r3, r31 -/* 805A2084 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A2088 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A208C 7C 08 03 A6 */ mtlr r0 -/* 805A2090 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A2094 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__17daTagCstaSw_HIO_cFv.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__17daTagCstaSw_HIO_cFv.s deleted file mode 100644 index 37065d8411d..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__17daTagCstaSw_HIO_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_805A2480: -/* 805A2480 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2484 7C 08 02 A6 */ mflr r0 -/* 805A2488 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A248C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A2490 7C 7F 1B 79 */ or. r31, r3, r3 -/* 805A2494 41 82 00 30 */ beq lbl_805A24C4 -/* 805A2498 3C 60 80 5A */ lis r3, __vt__17daTagCstaSw_HIO_c@ha /* 0x805A25A0@ha */ -/* 805A249C 38 03 25 A0 */ addi r0, r3, __vt__17daTagCstaSw_HIO_c@l /* 0x805A25A0@l */ -/* 805A24A0 90 1F 00 00 */ stw r0, 0(r31) -/* 805A24A4 41 82 00 10 */ beq lbl_805A24B4 -/* 805A24A8 3C 60 80 5A */ lis r3, __vt__14mDoHIO_entry_c@ha /* 0x805A25AC@ha */ -/* 805A24AC 38 03 25 AC */ addi r0, r3, __vt__14mDoHIO_entry_c@l /* 0x805A25AC@l */ -/* 805A24B0 90 1F 00 00 */ stw r0, 0(r31) -lbl_805A24B4: -/* 805A24B4 7C 80 07 35 */ extsh. r0, r4 -/* 805A24B8 40 81 00 0C */ ble lbl_805A24C4 -/* 805A24BC 7F E3 FB 78 */ mr r3, r31 -/* 805A24C0 4B D2 C8 7D */ bl __dl__FPv -lbl_805A24C4: -/* 805A24C4 7F E3 FB 78 */ mr r3, r31 -/* 805A24C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A24CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A24D0 7C 08 03 A6 */ mtlr r0 -/* 805A24D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A24D8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__sinit_d_a_tag_CstaSw_cpp.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__sinit_d_a_tag_CstaSw_cpp.s deleted file mode 100644 index ba34a382371..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__sinit_d_a_tag_CstaSw_cpp.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_805A24DC: -/* 805A24DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A24E0 7C 08 02 A6 */ mflr r0 -/* 805A24E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A24E8 3C 60 80 5A */ lis r3, l_HIO@ha /* 0x805A25CC@ha */ -/* 805A24EC 38 63 25 CC */ addi r3, r3, l_HIO@l /* 0x805A25CC@l */ -/* 805A24F0 4B FF FB 3D */ bl __ct__17daTagCstaSw_HIO_cFv -/* 805A24F4 3C 80 80 5A */ lis r4, __dt__17daTagCstaSw_HIO_cFv@ha /* 0x805A2480@ha */ -/* 805A24F8 38 84 24 80 */ addi r4, r4, __dt__17daTagCstaSw_HIO_cFv@l /* 0x805A2480@l */ -/* 805A24FC 3C A0 80 5A */ lis r5, lit_3619@ha /* 0x805A25C0@ha */ -/* 805A2500 38 A5 25 C0 */ addi r5, r5, lit_3619@l /* 0x805A25C0@l */ -/* 805A2504 4B FF FA B5 */ bl __register_global_object -/* 805A2508 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A250C 7C 08 03 A6 */ mtlr r0 -/* 805A2510 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A2514 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/areaCheck__13daTagCstaSw_cFv.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/areaCheck__13daTagCstaSw_cFv.s deleted file mode 100644 index 139ea9f76c7..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/areaCheck__13daTagCstaSw_cFv.s +++ /dev/null @@ -1,117 +0,0 @@ -lbl_805A21A0: -/* 805A21A0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 805A21A4 7C 08 02 A6 */ mflr r0 -/* 805A21A8 90 01 00 44 */ stw r0, 0x44(r1) -/* 805A21AC 39 61 00 40 */ addi r11, r1, 0x40 -/* 805A21B0 4B DC 00 2D */ bl _savegpr_29 -/* 805A21B4 7C 7D 1B 78 */ mr r29, r3 -/* 805A21B8 3C 60 80 5A */ lis r3, lit_3724@ha /* 0x805A252C@ha */ -/* 805A21BC 3B E3 25 2C */ addi r31, r3, lit_3724@l /* 0x805A252C@l */ -/* 805A21C0 3B C0 00 00 */ li r30, 0 -/* 805A21C4 3C 60 80 5A */ lis r3, searchSekizoAct__13daTagCstaSw_cFPvPv@ha /* 0x805A2150@ha */ -/* 805A21C8 38 63 21 50 */ addi r3, r3, searchSekizoAct__13daTagCstaSw_cFPvPv@l /* 0x805A2150@l */ -/* 805A21CC 7F A4 EB 78 */ mr r4, r29 -/* 805A21D0 4B A7 76 29 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 805A21D4 7C 65 1B 79 */ or. r5, r3, r3 -/* 805A21D8 40 82 00 0C */ bne lbl_805A21E4 -/* 805A21DC 38 60 00 00 */ li r3, 0 -/* 805A21E0 48 00 01 48 */ b lbl_805A2328 -lbl_805A21E4: -/* 805A21E4 38 61 00 18 */ addi r3, r1, 0x18 -/* 805A21E8 38 9D 04 D0 */ addi r4, r29, 0x4d0 -/* 805A21EC 38 A5 04 D0 */ addi r5, r5, 0x4d0 -/* 805A21F0 4B CC 49 45 */ bl __mi__4cXyzCFRC3Vec -/* 805A21F4 C0 41 00 18 */ lfs f2, 0x18(r1) -/* 805A21F8 D0 41 00 24 */ stfs f2, 0x24(r1) -/* 805A21FC C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 805A2200 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 805A2204 C0 21 00 20 */ lfs f1, 0x20(r1) -/* 805A2208 D0 21 00 2C */ stfs f1, 0x2c(r1) -/* 805A220C D0 41 00 0C */ stfs f2, 0xc(r1) -/* 805A2210 C0 1F 00 00 */ lfs f0, 0(r31) -/* 805A2214 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 805A2218 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 805A221C 38 61 00 0C */ addi r3, r1, 0xc -/* 805A2220 4B DA 4F 19 */ bl PSVECSquareMag -/* 805A2224 C0 1F 00 00 */ lfs f0, 0(r31) -/* 805A2228 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 805A222C 40 81 00 58 */ ble lbl_805A2284 -/* 805A2230 FC 00 08 34 */ frsqrte f0, f1 -/* 805A2234 C8 9F 00 08 */ lfd f4, 8(r31) -/* 805A2238 FC 44 00 32 */ fmul f2, f4, f0 -/* 805A223C C8 7F 00 10 */ lfd f3, 0x10(r31) -/* 805A2240 FC 00 00 32 */ fmul f0, f0, f0 -/* 805A2244 FC 01 00 32 */ fmul f0, f1, f0 -/* 805A2248 FC 03 00 28 */ fsub f0, f3, f0 -/* 805A224C FC 02 00 32 */ fmul f0, f2, f0 -/* 805A2250 FC 44 00 32 */ fmul f2, f4, f0 -/* 805A2254 FC 00 00 32 */ fmul f0, f0, f0 -/* 805A2258 FC 01 00 32 */ fmul f0, f1, f0 -/* 805A225C FC 03 00 28 */ fsub f0, f3, f0 -/* 805A2260 FC 02 00 32 */ fmul f0, f2, f0 -/* 805A2264 FC 44 00 32 */ fmul f2, f4, f0 -/* 805A2268 FC 00 00 32 */ fmul f0, f0, f0 -/* 805A226C FC 01 00 32 */ fmul f0, f1, f0 -/* 805A2270 FC 03 00 28 */ fsub f0, f3, f0 -/* 805A2274 FC 02 00 32 */ fmul f0, f2, f0 -/* 805A2278 FC 21 00 32 */ fmul f1, f1, f0 -/* 805A227C FC 20 08 18 */ frsp f1, f1 -/* 805A2280 48 00 00 88 */ b lbl_805A2308 -lbl_805A2284: -/* 805A2284 C8 1F 00 18 */ lfd f0, 0x18(r31) -/* 805A2288 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 805A228C 40 80 00 10 */ bge lbl_805A229C -/* 805A2290 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 805A2294 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 805A2298 48 00 00 70 */ b lbl_805A2308 -lbl_805A229C: -/* 805A229C D0 21 00 08 */ stfs f1, 8(r1) -/* 805A22A0 80 81 00 08 */ lwz r4, 8(r1) -/* 805A22A4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 805A22A8 3C 00 7F 80 */ lis r0, 0x7f80 -/* 805A22AC 7C 03 00 00 */ cmpw r3, r0 -/* 805A22B0 41 82 00 14 */ beq lbl_805A22C4 -/* 805A22B4 40 80 00 40 */ bge lbl_805A22F4 -/* 805A22B8 2C 03 00 00 */ cmpwi r3, 0 -/* 805A22BC 41 82 00 20 */ beq lbl_805A22DC -/* 805A22C0 48 00 00 34 */ b lbl_805A22F4 -lbl_805A22C4: -/* 805A22C4 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 805A22C8 41 82 00 0C */ beq lbl_805A22D4 -/* 805A22CC 38 00 00 01 */ li r0, 1 -/* 805A22D0 48 00 00 28 */ b lbl_805A22F8 -lbl_805A22D4: -/* 805A22D4 38 00 00 02 */ li r0, 2 -/* 805A22D8 48 00 00 20 */ b lbl_805A22F8 -lbl_805A22DC: -/* 805A22DC 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 805A22E0 41 82 00 0C */ beq lbl_805A22EC -/* 805A22E4 38 00 00 05 */ li r0, 5 -/* 805A22E8 48 00 00 10 */ b lbl_805A22F8 -lbl_805A22EC: -/* 805A22EC 38 00 00 03 */ li r0, 3 -/* 805A22F0 48 00 00 08 */ b lbl_805A22F8 -lbl_805A22F4: -/* 805A22F4 38 00 00 04 */ li r0, 4 -lbl_805A22F8: -/* 805A22F8 2C 00 00 01 */ cmpwi r0, 1 -/* 805A22FC 40 82 00 0C */ bne lbl_805A2308 -/* 805A2300 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 805A2304 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_805A2308: -/* 805A2308 C0 5F 00 20 */ lfs f2, 0x20(r31) -/* 805A230C C0 1D 04 EC */ lfs f0, 0x4ec(r29) -/* 805A2310 EC 02 00 32 */ fmuls f0, f2, f0 -/* 805A2314 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 805A2318 4C 40 13 82 */ cror 2, 0, 2 -/* 805A231C 40 82 00 08 */ bne lbl_805A2324 -/* 805A2320 3B C0 00 01 */ li r30, 1 -lbl_805A2324: -/* 805A2324 7F C3 F3 78 */ mr r3, r30 -lbl_805A2328: -/* 805A2328 39 61 00 40 */ addi r11, r1, 0x40 -/* 805A232C 4B DB FE FD */ bl _restgpr_29 -/* 805A2330 80 01 00 44 */ lwz r0, 0x44(r1) -/* 805A2334 7C 08 03 A6 */ mtlr r0 -/* 805A2338 38 21 00 40 */ addi r1, r1, 0x40 -/* 805A233C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/create__13daTagCstaSw_cFv.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/create__13daTagCstaSw_cFv.s deleted file mode 100644 index 4e481fdcc60..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/create__13daTagCstaSw_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_805A20F0: -/* 805A20F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A20F4 7C 08 02 A6 */ mflr r0 -/* 805A20F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A20FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A2100 7C 7F 1B 78 */ mr r31, r3 -/* 805A2104 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 805A2108 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 805A210C 40 82 00 1C */ bne lbl_805A2128 -/* 805A2110 28 1F 00 00 */ cmplwi r31, 0 -/* 805A2114 41 82 00 08 */ beq lbl_805A211C -/* 805A2118 4B A7 6A 4D */ bl __ct__10fopAc_ac_cFv -lbl_805A211C: -/* 805A211C 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 805A2120 60 00 00 08 */ ori r0, r0, 8 -/* 805A2124 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_805A2128: -/* 805A2128 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 805A212C 98 1F 05 68 */ stb r0, 0x568(r31) -/* 805A2130 7F E3 FB 78 */ mr r3, r31 -/* 805A2134 4B FF FF 65 */ bl setBaseMtx__13daTagCstaSw_cFv -/* 805A2138 38 60 00 04 */ li r3, 4 -/* 805A213C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A2140 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A2144 7C 08 03 A6 */ mtlr r0 -/* 805A2148 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A214C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 13b9bbfdec3..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A2460: -/* 805A2460 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2464 7C 08 02 A6 */ mflr r0 -/* 805A2468 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A246C 4B FF FC 85 */ bl create__13daTagCstaSw_cFv -/* 805A2470 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A2474 7C 08 03 A6 */ mtlr r0 -/* 805A2478 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A247C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Delete__FP13daTagCstaSw_c.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Delete__FP13daTagCstaSw_c.s deleted file mode 100644 index f162b910711..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Delete__FP13daTagCstaSw_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A2440: -/* 805A2440 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2444 7C 08 02 A6 */ mflr r0 -/* 805A2448 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A244C 4B FF FF AD */ bl Delete__13daTagCstaSw_cFv -/* 805A2450 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A2454 7C 08 03 A6 */ mtlr r0 -/* 805A2458 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A245C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Draw__FP13daTagCstaSw_c.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Draw__FP13daTagCstaSw_c.s deleted file mode 100644 index c0ee411d6d0..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Draw__FP13daTagCstaSw_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A2400: -/* 805A2400 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2404 7C 08 02 A6 */ mflr r0 -/* 805A2408 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A240C 4B FF FF E5 */ bl Draw__13daTagCstaSw_cFv -/* 805A2410 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A2414 7C 08 03 A6 */ mtlr r0 -/* 805A2418 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A241C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Execute__FP13daTagCstaSw_c.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Execute__FP13daTagCstaSw_c.s deleted file mode 100644 index 7c7d10c5553..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Execute__FP13daTagCstaSw_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A2420: -/* 805A2420 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2424 7C 08 02 A6 */ mflr r0 -/* 805A2428 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A242C 4B FF FF 15 */ bl Execute__13daTagCstaSw_cFv -/* 805A2430 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A2434 7C 08 03 A6 */ mtlr r0 -/* 805A2438 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A243C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/searchSekizoAct__13daTagCstaSw_cFPvPv.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/searchSekizoAct__13daTagCstaSw_cFPvPv.s deleted file mode 100644 index 97f353dd16b..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/searchSekizoAct__13daTagCstaSw_cFPvPv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_805A2150: -/* 805A2150 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A2154 7C 08 02 A6 */ mflr r0 -/* 805A2158 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A215C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A2160 7C 7F 1B 79 */ or. r31, r3, r3 -/* 805A2164 41 82 00 24 */ beq lbl_805A2188 -/* 805A2168 4B A7 6B 79 */ bl fopAc_IsActor__FPv -/* 805A216C 2C 03 00 00 */ cmpwi r3, 0 -/* 805A2170 41 82 00 18 */ beq lbl_805A2188 -/* 805A2174 A8 1F 00 0E */ lha r0, 0xe(r31) -/* 805A2178 2C 00 00 BB */ cmpwi r0, 0xbb -/* 805A217C 40 82 00 0C */ bne lbl_805A2188 -/* 805A2180 7F E3 FB 78 */ mr r3, r31 -/* 805A2184 48 00 00 08 */ b lbl_805A218C -lbl_805A2188: -/* 805A2188 38 60 00 00 */ li r3, 0 -lbl_805A218C: -/* 805A218C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A2190 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A2194 7C 08 03 A6 */ mtlr r0 -/* 805A2198 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A219C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/setBaseMtx__13daTagCstaSw_cFv.s b/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/setBaseMtx__13daTagCstaSw_cFv.s deleted file mode 100644 index 089fe5e1469..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/setBaseMtx__13daTagCstaSw_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_805A2098: -/* 805A2098 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A209C 7C 08 02 A6 */ mflr r0 -/* 805A20A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A20A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A20A8 7C 7F 1B 78 */ mr r31, r3 -/* 805A20AC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 805A20B0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 805A20B4 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 805A20B8 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 805A20BC C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 805A20C0 4B DA 48 29 */ bl PSMTXTrans -/* 805A20C4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 805A20C8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 805A20CC A8 9F 04 E4 */ lha r4, 0x4e4(r31) -/* 805A20D0 A8 BF 04 E6 */ lha r5, 0x4e6(r31) -/* 805A20D4 A8 DF 04 E8 */ lha r6, 0x4e8(r31) -/* 805A20D8 4B A6 A1 C9 */ bl mDoMtx_ZXYrotM__FPA4_fsss -/* 805A20DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A20E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A20E4 7C 08 03 A6 */ mtlr r0 -/* 805A20E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A20EC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Delete__16daTag_ShopItem_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Delete__16daTag_ShopItem_cFv.s deleted file mode 100644 index 46795d9ee18..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Delete__16daTag_ShopItem_cFv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80D60D78: -/* 80D60D78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60D7C 7C 08 02 A6 */ mflr r0 -/* 80D60D80 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60D84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D60D88 93 C1 00 08 */ stw r30, 8(r1) -/* 80D60D8C 7C 7E 1B 78 */ mr r30, r3 -/* 80D60D90 88 03 05 72 */ lbz r0, 0x572(r3) -/* 80D60D94 28 00 00 00 */ cmplwi r0, 0 -/* 80D60D98 41 82 00 50 */ beq lbl_80D60DE8 -/* 80D60D9C 48 00 02 9D */ bl getGroupID__16daTag_ShopItem_cFv -/* 80D60DA0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60DA4 28 00 00 0F */ cmplwi r0, 0xf -/* 80D60DA8 40 82 00 40 */ bne lbl_80D60DE8 -/* 80D60DAC 7F C3 F3 78 */ mr r3, r30 -/* 80D60DB0 48 00 02 95 */ bl getSwitchBit1__16daTag_ShopItem_cFv -/* 80D60DB4 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60DB8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60DBC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60DC0 3B E3 09 58 */ addi r31, r3, 0x958 -/* 80D60DC4 7F E3 FB 78 */ mr r3, r31 -/* 80D60DC8 4B 2D 3A 99 */ bl isSwitch__12dSv_memBit_cCFi -/* 80D60DCC 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60DD0 41 82 00 18 */ beq lbl_80D60DE8 -/* 80D60DD4 7F C3 F3 78 */ mr r3, r30 -/* 80D60DD8 48 00 02 79 */ bl getSwitchBit2__16daTag_ShopItem_cFv -/* 80D60DDC 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60DE0 7F E3 FB 78 */ mr r3, r31 -/* 80D60DE4 4B 2D 3A 55 */ bl offSwitch__12dSv_memBit_cFi -lbl_80D60DE8: -/* 80D60DE8 38 60 00 01 */ li r3, 1 -/* 80D60DEC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D60DF0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D60DF4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60DF8 7C 08 03 A6 */ mtlr r0 -/* 80D60DFC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60E00 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Execute__16daTag_ShopItem_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Execute__16daTag_ShopItem_cFv.s deleted file mode 100644 index 51018ef14df..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Execute__16daTag_ShopItem_cFv.s +++ /dev/null @@ -1,147 +0,0 @@ -lbl_80D60E04: -/* 80D60E04 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D60E08 7C 08 02 A6 */ mflr r0 -/* 80D60E0C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D60E10 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80D60E14 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80D60E18 7C 7F 1B 78 */ mr r31, r3 -/* 80D60E1C 80 83 05 6C */ lwz r4, 0x56c(r3) -/* 80D60E20 3C 04 00 01 */ addis r0, r4, 1 -/* 80D60E24 28 00 FF FF */ cmplwi r0, 0xffff -/* 80D60E28 40 82 00 FC */ bne lbl_80D60F24 -/* 80D60E2C A8 9F 05 70 */ lha r4, 0x570(r31) -/* 80D60E30 2C 04 00 00 */ cmpwi r4, 0 -/* 80D60E34 40 82 00 44 */ bne lbl_80D60E78 -/* 80D60E38 48 00 02 01 */ bl getGroupID__16daTag_ShopItem_cFv -/* 80D60E3C 54 7E E0 06 */ slwi r30, r3, 0x1c -/* 80D60E40 7F E3 FB 78 */ mr r3, r31 -/* 80D60E44 48 00 01 E9 */ bl getType__16daTag_ShopItem_cFv -/* 80D60E48 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60E4C 7C 04 F3 78 */ or r4, r0, r30 -/* 80D60E50 38 60 02 1E */ li r3, 0x21e -/* 80D60E54 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 80D60E58 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 80D60E5C 7C 06 07 74 */ extsb r6, r0 -/* 80D60E60 38 FF 04 DC */ addi r7, r31, 0x4dc -/* 80D60E64 39 00 00 00 */ li r8, 0 -/* 80D60E68 39 20 FF FF */ li r9, -1 -/* 80D60E6C 4B 2B 8F 2D */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc -/* 80D60E70 90 7F 05 6C */ stw r3, 0x56c(r31) -/* 80D60E74 48 00 01 94 */ b lbl_80D61008 -lbl_80D60E78: -/* 80D60E78 38 04 FF FF */ addi r0, r4, -1 -/* 80D60E7C B0 1F 05 70 */ sth r0, 0x570(r31) -/* 80D60E80 48 00 01 B9 */ bl getGroupID__16daTag_ShopItem_cFv -/* 80D60E84 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60E88 28 00 00 0F */ cmplwi r0, 0xf -/* 80D60E8C 40 82 00 1C */ bne lbl_80D60EA8 -/* 80D60E90 88 1F 05 72 */ lbz r0, 0x572(r31) -/* 80D60E94 28 00 00 00 */ cmplwi r0, 0 -/* 80D60E98 41 82 01 70 */ beq lbl_80D61008 -/* 80D60E9C 38 00 00 00 */ li r0, 0 -/* 80D60EA0 B0 1F 05 70 */ sth r0, 0x570(r31) -/* 80D60EA4 48 00 01 64 */ b lbl_80D61008 -lbl_80D60EA8: -/* 80D60EA8 7F E3 FB 78 */ mr r3, r31 -/* 80D60EAC 48 00 01 99 */ bl getSwitchBit1__16daTag_ShopItem_cFv -/* 80D60EB0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60EB4 28 00 00 FF */ cmplwi r0, 0xff -/* 80D60EB8 41 82 00 28 */ beq lbl_80D60EE0 -/* 80D60EBC 7F E3 FB 78 */ mr r3, r31 -/* 80D60EC0 48 00 01 85 */ bl getSwitchBit1__16daTag_ShopItem_cFv -/* 80D60EC4 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60EC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60ECC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60ED0 38 63 09 58 */ addi r3, r3, 0x958 -/* 80D60ED4 4B 2D 39 8D */ bl isSwitch__12dSv_memBit_cCFi -/* 80D60ED8 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60EDC 40 82 01 2C */ bne lbl_80D61008 -lbl_80D60EE0: -/* 80D60EE0 7F E3 FB 78 */ mr r3, r31 -/* 80D60EE4 48 00 01 6D */ bl getSwitchBit2__16daTag_ShopItem_cFv -/* 80D60EE8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60EEC 28 00 00 FF */ cmplwi r0, 0xff -/* 80D60EF0 41 82 00 28 */ beq lbl_80D60F18 -/* 80D60EF4 7F E3 FB 78 */ mr r3, r31 -/* 80D60EF8 48 00 01 59 */ bl getSwitchBit2__16daTag_ShopItem_cFv -/* 80D60EFC 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60F00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60F04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60F08 38 63 09 58 */ addi r3, r3, 0x958 -/* 80D60F0C 4B 2D 39 55 */ bl isSwitch__12dSv_memBit_cCFi -/* 80D60F10 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60F14 41 82 00 F4 */ beq lbl_80D61008 -lbl_80D60F18: -/* 80D60F18 38 00 00 00 */ li r0, 0 -/* 80D60F1C B0 1F 05 70 */ sth r0, 0x570(r31) -/* 80D60F20 48 00 00 E8 */ b lbl_80D61008 -lbl_80D60F24: -/* 80D60F24 90 81 00 08 */ stw r4, 8(r1) -/* 80D60F28 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 80D60F2C 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 80D60F30 38 81 00 08 */ addi r4, r1, 8 -/* 80D60F34 4B 2B 88 C5 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80D60F38 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80D60F3C 41 82 00 CC */ beq lbl_80D61008 -/* 80D60F40 7F E3 FB 78 */ mr r3, r31 -/* 80D60F44 48 00 00 F5 */ bl getGroupID__16daTag_ShopItem_cFv -/* 80D60F48 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60F4C 28 00 00 0F */ cmplwi r0, 0xf -/* 80D60F50 40 82 00 28 */ bne lbl_80D60F78 -/* 80D60F54 88 1F 05 72 */ lbz r0, 0x572(r31) -/* 80D60F58 28 00 00 00 */ cmplwi r0, 0 -/* 80D60F5C 40 82 00 10 */ bne lbl_80D60F6C -/* 80D60F60 7F C3 F3 78 */ mr r3, r30 -/* 80D60F64 4B 2D 6B 01 */ bl hide__12daItemBase_cFv -/* 80D60F68 48 00 00 A0 */ b lbl_80D61008 -lbl_80D60F6C: -/* 80D60F6C 7F C3 F3 78 */ mr r3, r30 -/* 80D60F70 4B 2D 6B 05 */ bl show__12daItemBase_cFv -/* 80D60F74 48 00 00 94 */ b lbl_80D61008 -lbl_80D60F78: -/* 80D60F78 7F E3 FB 78 */ mr r3, r31 -/* 80D60F7C 48 00 00 C9 */ bl getSwitchBit1__16daTag_ShopItem_cFv -/* 80D60F80 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60F84 28 00 00 FF */ cmplwi r0, 0xff -/* 80D60F88 41 82 00 34 */ beq lbl_80D60FBC -/* 80D60F8C 7F E3 FB 78 */ mr r3, r31 -/* 80D60F90 48 00 00 B5 */ bl getSwitchBit1__16daTag_ShopItem_cFv -/* 80D60F94 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60F98 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60F9C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60FA0 38 63 09 58 */ addi r3, r3, 0x958 -/* 80D60FA4 4B 2D 38 BD */ bl isSwitch__12dSv_memBit_cCFi -/* 80D60FA8 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60FAC 41 82 00 10 */ beq lbl_80D60FBC -/* 80D60FB0 7F C3 F3 78 */ mr r3, r30 -/* 80D60FB4 4B 2D 6A B1 */ bl hide__12daItemBase_cFv -/* 80D60FB8 48 00 00 50 */ b lbl_80D61008 -lbl_80D60FBC: -/* 80D60FBC 7F E3 FB 78 */ mr r3, r31 -/* 80D60FC0 48 00 00 91 */ bl getSwitchBit2__16daTag_ShopItem_cFv -/* 80D60FC4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60FC8 28 00 00 FF */ cmplwi r0, 0xff -/* 80D60FCC 41 82 00 34 */ beq lbl_80D61000 -/* 80D60FD0 7F E3 FB 78 */ mr r3, r31 -/* 80D60FD4 48 00 00 7D */ bl getSwitchBit2__16daTag_ShopItem_cFv -/* 80D60FD8 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60FDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60FE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60FE4 38 63 09 58 */ addi r3, r3, 0x958 -/* 80D60FE8 4B 2D 38 79 */ bl isSwitch__12dSv_memBit_cCFi -/* 80D60FEC 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60FF0 40 82 00 10 */ bne lbl_80D61000 -/* 80D60FF4 7F C3 F3 78 */ mr r3, r30 -/* 80D60FF8 4B 2D 6A 6D */ bl hide__12daItemBase_cFv -/* 80D60FFC 48 00 00 0C */ b lbl_80D61008 -lbl_80D61000: -/* 80D61000 7F C3 F3 78 */ mr r3, r30 -/* 80D61004 4B 2D 6A 71 */ bl show__12daItemBase_cFv -lbl_80D61008: -/* 80D61008 38 60 00 01 */ li r3, 1 -/* 80D6100C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80D61010 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80D61014 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D61018 7C 08 03 A6 */ mtlr r0 -/* 80D6101C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D61020 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/__dt__16daTag_ShopItem_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/__dt__16daTag_ShopItem_cFv.s deleted file mode 100644 index 8d23959298b..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/__dt__16daTag_ShopItem_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80D61168: -/* 80D61168 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6116C 7C 08 02 A6 */ mflr r0 -/* 80D61170 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D61174 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D61178 93 C1 00 08 */ stw r30, 8(r1) -/* 80D6117C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80D61180 7C 9F 23 78 */ mr r31, r4 -/* 80D61184 41 82 00 28 */ beq lbl_80D611AC -/* 80D61188 3C 80 80 D6 */ lis r4, __vt__16daTag_ShopItem_c@ha /* 0x80D61240@ha */ -/* 80D6118C 38 04 12 40 */ addi r0, r4, __vt__16daTag_ShopItem_c@l /* 0x80D61240@l */ -/* 80D61190 90 1E 05 68 */ stw r0, 0x568(r30) -/* 80D61194 38 80 00 00 */ li r4, 0 -/* 80D61198 4B 2B 7A F5 */ bl __dt__10fopAc_ac_cFv -/* 80D6119C 7F E0 07 35 */ extsh. r0, r31 -/* 80D611A0 40 81 00 0C */ ble lbl_80D611AC -/* 80D611A4 7F C3 F3 78 */ mr r3, r30 -/* 80D611A8 4B 56 DB 95 */ bl __dl__FPv -lbl_80D611AC: -/* 80D611AC 7F C3 F3 78 */ mr r3, r30 -/* 80D611B0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D611B4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D611B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D611BC 7C 08 03 A6 */ mtlr r0 -/* 80D611C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D611C4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/create__16daTag_ShopItem_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/create__16daTag_ShopItem_cFv.s deleted file mode 100644 index 8bca783e246..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/create__16daTag_ShopItem_cFv.s +++ /dev/null @@ -1,137 +0,0 @@ -lbl_80D60B78: -/* 80D60B78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60B7C 7C 08 02 A6 */ mflr r0 -/* 80D60B80 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60B84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D60B88 93 C1 00 08 */ stw r30, 8(r1) -/* 80D60B8C 7C 7F 1B 78 */ mr r31, r3 -/* 80D60B90 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D60B94 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D60B98 40 82 00 28 */ bne lbl_80D60BC0 -/* 80D60B9C 28 1F 00 00 */ cmplwi r31, 0 -/* 80D60BA0 41 82 00 14 */ beq lbl_80D60BB4 -/* 80D60BA4 4B 2B 7F C1 */ bl __ct__10fopAc_ac_cFv -/* 80D60BA8 3C 60 80 D6 */ lis r3, __vt__16daTag_ShopItem_c@ha /* 0x80D61240@ha */ -/* 80D60BAC 38 03 12 40 */ addi r0, r3, __vt__16daTag_ShopItem_c@l /* 0x80D61240@l */ -/* 80D60BB0 90 1F 05 68 */ stw r0, 0x568(r31) -lbl_80D60BB4: -/* 80D60BB4 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D60BB8 60 00 00 08 */ ori r0, r0, 8 -/* 80D60BBC 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D60BC0: -/* 80D60BC0 7F E3 FB 78 */ mr r3, r31 -/* 80D60BC4 48 00 04 99 */ bl initialize__16daTag_ShopItem_cFv -/* 80D60BC8 38 00 00 00 */ li r0, 0 -/* 80D60BCC 98 1F 05 72 */ stb r0, 0x572(r31) -/* 80D60BD0 3C 60 80 D6 */ lis r3, d_a_tag_shop_item__stringBase0@ha /* 0x80D611E8@ha */ -/* 80D60BD4 38 63 11 E8 */ addi r3, r3, d_a_tag_shop_item__stringBase0@l /* 0x80D611E8@l */ -/* 80D60BD8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60BDC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60BE0 38 84 4E 00 */ addi r4, r4, 0x4e00 -/* 80D60BE4 4B 60 7D B1 */ bl strcmp -/* 80D60BE8 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60BEC 40 82 00 68 */ bne lbl_80D60C54 -/* 80D60BF0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60BF4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60BF8 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80D60BFC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80D60C00 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80D60C04 A0 84 00 80 */ lhz r4, 0x80(r4) -/* 80D60C08 4B 2D 3D B5 */ bl isEventBit__11dSv_event_cCFUs -/* 80D60C0C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60C10 40 82 00 0C */ bne lbl_80D60C1C -/* 80D60C14 38 60 00 05 */ li r3, 5 -/* 80D60C18 48 00 01 48 */ b lbl_80D60D60 -lbl_80D60C1C: -/* 80D60C1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60C20 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60C24 C0 23 00 34 */ lfs f1, 0x34(r3) -/* 80D60C28 3C 60 80 D6 */ lis r3, lit_3684@ha /* 0x80D611D0@ha */ -/* 80D60C2C C0 03 11 D0 */ lfs f0, lit_3684@l(r3) /* 0x80D611D0@l */ -/* 80D60C30 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D60C34 4C 41 13 82 */ cror 2, 1, 2 -/* 80D60C38 40 82 00 1C */ bne lbl_80D60C54 -/* 80D60C3C 3C 60 80 D6 */ lis r3, lit_3685@ha /* 0x80D611D4@ha */ -/* 80D60C40 C0 03 11 D4 */ lfs f0, lit_3685@l(r3) /* 0x80D611D4@l */ -/* 80D60C44 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D60C48 40 80 00 0C */ bge lbl_80D60C54 -/* 80D60C4C 38 60 00 05 */ li r3, 5 -/* 80D60C50 48 00 01 10 */ b lbl_80D60D60 -lbl_80D60C54: -/* 80D60C54 7F E3 FB 78 */ mr r3, r31 -/* 80D60C58 48 00 03 E1 */ bl getGroupID__16daTag_ShopItem_cFv -/* 80D60C5C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60C60 28 00 00 0F */ cmplwi r0, 0xf -/* 80D60C64 40 82 00 70 */ bne lbl_80D60CD4 -/* 80D60C68 38 00 00 96 */ li r0, 0x96 -/* 80D60C6C B0 1F 05 70 */ sth r0, 0x570(r31) -/* 80D60C70 7F E3 FB 78 */ mr r3, r31 -/* 80D60C74 48 00 03 D1 */ bl getSwitchBit1__16daTag_ShopItem_cFv -/* 80D60C78 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60C7C 28 00 00 FF */ cmplwi r0, 0xff -/* 80D60C80 41 82 00 DC */ beq lbl_80D60D5C -/* 80D60C84 7F E3 FB 78 */ mr r3, r31 -/* 80D60C88 48 00 03 BD */ bl getSwitchBit1__16daTag_ShopItem_cFv -/* 80D60C8C 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60C90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60C94 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60C98 3B C3 09 58 */ addi r30, r3, 0x958 -/* 80D60C9C 7F C3 F3 78 */ mr r3, r30 -/* 80D60CA0 4B 2D 3B C1 */ bl isSwitch__12dSv_memBit_cCFi -/* 80D60CA4 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60CA8 40 82 00 B4 */ bne lbl_80D60D5C -/* 80D60CAC 7F E3 FB 78 */ mr r3, r31 -/* 80D60CB0 48 00 03 A1 */ bl getSwitchBit2__16daTag_ShopItem_cFv -/* 80D60CB4 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60CB8 7F C3 F3 78 */ mr r3, r30 -/* 80D60CBC 4B 2D 3B 55 */ bl onSwitch__12dSv_memBit_cFi -/* 80D60CC0 38 00 00 01 */ li r0, 1 -/* 80D60CC4 98 1F 05 72 */ stb r0, 0x572(r31) -/* 80D60CC8 38 00 00 00 */ li r0, 0 -/* 80D60CCC B0 1F 05 70 */ sth r0, 0x570(r31) -/* 80D60CD0 48 00 00 8C */ b lbl_80D60D5C -lbl_80D60CD4: -/* 80D60CD4 38 00 00 00 */ li r0, 0 -/* 80D60CD8 B0 1F 05 70 */ sth r0, 0x570(r31) -/* 80D60CDC 7F E3 FB 78 */ mr r3, r31 -/* 80D60CE0 48 00 03 65 */ bl getSwitchBit1__16daTag_ShopItem_cFv -/* 80D60CE4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60CE8 28 00 00 FF */ cmplwi r0, 0xff -/* 80D60CEC 41 82 00 30 */ beq lbl_80D60D1C -/* 80D60CF0 7F E3 FB 78 */ mr r3, r31 -/* 80D60CF4 48 00 03 51 */ bl getSwitchBit1__16daTag_ShopItem_cFv -/* 80D60CF8 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60CFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60D00 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60D04 38 63 09 58 */ addi r3, r3, 0x958 -/* 80D60D08 4B 2D 3B 59 */ bl isSwitch__12dSv_memBit_cCFi -/* 80D60D0C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60D10 41 82 00 0C */ beq lbl_80D60D1C -/* 80D60D14 38 00 00 96 */ li r0, 0x96 -/* 80D60D18 B0 1F 05 70 */ sth r0, 0x570(r31) -lbl_80D60D1C: -/* 80D60D1C 7F E3 FB 78 */ mr r3, r31 -/* 80D60D20 48 00 03 31 */ bl getSwitchBit2__16daTag_ShopItem_cFv -/* 80D60D24 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80D60D28 28 00 00 FF */ cmplwi r0, 0xff -/* 80D60D2C 41 82 00 30 */ beq lbl_80D60D5C -/* 80D60D30 7F E3 FB 78 */ mr r3, r31 -/* 80D60D34 48 00 03 1D */ bl getSwitchBit2__16daTag_ShopItem_cFv -/* 80D60D38 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 80D60D3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60D40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60D44 38 63 09 58 */ addi r3, r3, 0x958 -/* 80D60D48 4B 2D 3B 19 */ bl isSwitch__12dSv_memBit_cCFi -/* 80D60D4C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D60D50 40 82 00 0C */ bne lbl_80D60D5C -/* 80D60D54 38 00 00 96 */ li r0, 0x96 -/* 80D60D58 B0 1F 05 70 */ sth r0, 0x570(r31) -lbl_80D60D5C: -/* 80D60D5C 38 60 00 04 */ li r3, 4 -lbl_80D60D60: -/* 80D60D60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D60D64 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D60D68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60D6C 7C 08 03 A6 */ mtlr r0 -/* 80D60D70 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60D74 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Create__FPv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Create__FPv.s deleted file mode 100644 index a6a0b13bb3d..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Create__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D610E0: -/* 80D610E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D610E4 7C 08 02 A6 */ mflr r0 -/* 80D610E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D610EC 4B FF FA 8D */ bl create__16daTag_ShopItem_cFv -/* 80D610F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D610F4 7C 08 03 A6 */ mtlr r0 -/* 80D610F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D610FC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Delete__FPv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Delete__FPv.s deleted file mode 100644 index 3b1ee230aeb..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Delete__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D61100: -/* 80D61100 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D61104 7C 08 02 A6 */ mflr r0 -/* 80D61108 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D6110C 4B FF FC 6D */ bl Delete__16daTag_ShopItem_cFv -/* 80D61110 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D61114 7C 08 03 A6 */ mtlr r0 -/* 80D61118 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D6111C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Draw__FPv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Draw__FPv.s deleted file mode 100644 index c3e918f9885..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Draw__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D61140: -/* 80D61140 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D61144 7C 08 02 A6 */ mflr r0 -/* 80D61148 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D6114C 4B FF FE D9 */ bl Draw__16daTag_ShopItem_cFv -/* 80D61150 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D61154 7C 08 03 A6 */ mtlr r0 -/* 80D61158 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D6115C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Execute__FPv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Execute__FPv.s deleted file mode 100644 index 31fca3858d6..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Execute__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D61120: -/* 80D61120 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D61124 7C 08 02 A6 */ mflr r0 -/* 80D61128 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D6112C 4B FF FC D9 */ bl Execute__16daTag_ShopItem_cFv -/* 80D61130 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D61134 7C 08 03 A6 */ mtlr r0 -/* 80D61138 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D6113C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getGroupID__16daTag_ShopItem_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getGroupID__16daTag_ShopItem_cFv.s deleted file mode 100644 index 6b0189a3fd7..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getGroupID__16daTag_ShopItem_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80D61038: -/* 80D61038 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80D6103C 54 03 27 3E */ srwi r3, r0, 0x1c -/* 80D61040 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit1__16daTag_ShopItem_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit1__16daTag_ShopItem_cFv.s deleted file mode 100644 index c5126c3c134..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit1__16daTag_ShopItem_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80D61044: -/* 80D61044 A8 03 04 B8 */ lha r0, 0x4b8(r3) -/* 80D61048 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80D6104C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit2__16daTag_ShopItem_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit2__16daTag_ShopItem_cFv.s deleted file mode 100644 index a151d4a8961..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit2__16daTag_ShopItem_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80D61050: -/* 80D61050 A8 03 04 B8 */ lha r0, 0x4b8(r3) -/* 80D61054 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f -/* 80D61058 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getType__16daTag_ShopItem_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getType__16daTag_ShopItem_cFv.s deleted file mode 100644 index 377d9e91685..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getType__16daTag_ShopItem_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80D6102C: -/* 80D6102C 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80D61030 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80D61034 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/initialize__16daTag_ShopItem_cFv.s b/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/initialize__16daTag_ShopItem_cFv.s deleted file mode 100644 index 218cfa4a44e..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/initialize__16daTag_ShopItem_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80D6105C: -/* 80D6105C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D61060 7C 08 02 A6 */ mflr r0 -/* 80D61064 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D61068 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D6106C 7C 7F 1B 78 */ mr r31, r3 -/* 80D61070 3C 80 80 D6 */ lis r4, lit_3684@ha /* 0x80D611D0@ha */ -/* 80D61074 38 84 11 D0 */ addi r4, r4, lit_3684@l /* 0x80D611D0@l */ -/* 80D61078 C0 24 00 08 */ lfs f1, 8(r4) -/* 80D6107C C0 44 00 0C */ lfs f2, 0xc(r4) -/* 80D61080 FC 60 08 90 */ fmr f3, f1 -/* 80D61084 C0 84 00 10 */ lfs f4, 0x10(r4) -/* 80D61088 C0 A4 00 14 */ lfs f5, 0x14(r4) -/* 80D6108C FC C0 20 90 */ fmr f6, f4 -/* 80D61090 4B 2B 94 B9 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff -/* 80D61094 38 00 00 00 */ li r0, 0 -/* 80D61098 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 80D6109C A8 7F 04 B6 */ lha r3, 0x4b6(r31) -/* 80D610A0 B0 1F 04 DC */ sth r0, 0x4dc(r31) -/* 80D610A4 B0 7F 04 DE */ sth r3, 0x4de(r31) -/* 80D610A8 B0 1F 04 E0 */ sth r0, 0x4e0(r31) -/* 80D610AC A8 1F 04 DC */ lha r0, 0x4dc(r31) -/* 80D610B0 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 80D610B4 A8 1F 04 DE */ lha r0, 0x4de(r31) -/* 80D610B8 B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 80D610BC A8 1F 04 E0 */ lha r0, 0x4e0(r31) -/* 80D610C0 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 80D610C4 38 00 FF FF */ li r0, -1 -/* 80D610C8 90 1F 05 6C */ stw r0, 0x56c(r31) -/* 80D610CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D610D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D610D4 7C 08 03 A6 */ mtlr r0 -/* 80D610D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D610DC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/execute__14daTagSpinner_cFv.s b/asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/execute__14daTagSpinner_cFv.s deleted file mode 100644 index 6af1742e888..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/execute__14daTagSpinner_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_80D61A00: -/* 80D61A00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D61A04 7C 08 02 A6 */ mflr r0 -/* 80D61A08 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D61A0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D61A10 7C 7F 1B 78 */ mr r31, r3 -/* 80D61A14 3C 60 80 D6 */ lis r3, search_spinner_sub__FPvPv@ha /* 0x80D61718@ha */ -/* 80D61A18 38 63 17 18 */ addi r3, r3, search_spinner_sub__FPvPv@l /* 0x80D61718@l */ -/* 80D61A1C 7F E4 FB 78 */ mr r4, r31 -/* 80D61A20 4B 2B 7D D9 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80D61A24 28 03 00 00 */ cmplwi r3, 0 -/* 80D61A28 41 82 00 58 */ beq lbl_80D61A80 -/* 80D61A2C 88 03 0A 6F */ lbz r0, 0xa6f(r3) -/* 80D61A30 28 00 00 00 */ cmplwi r0, 0 -/* 80D61A34 40 82 00 0C */ bne lbl_80D61A40 -/* 80D61A38 38 00 00 01 */ li r0, 1 -/* 80D61A3C 98 03 0A 6F */ stb r0, 0xa6f(r3) -lbl_80D61A40: -/* 80D61A40 38 00 00 00 */ li r0, 0 -/* 80D61A44 90 03 0A 64 */ stw r0, 0xa64(r3) -/* 80D61A48 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 80D61A4C D0 03 0A A4 */ stfs f0, 0xaa4(r3) -/* 80D61A50 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 80D61A54 D0 03 0A A8 */ stfs f0, 0xaa8(r3) -/* 80D61A58 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 80D61A5C D0 03 0A AC */ stfs f0, 0xaac(r3) -/* 80D61A60 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D61A64 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D61A68 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D61A6C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80D61A70 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D61A74 7C 05 07 74 */ extsb r5, r0 -/* 80D61A78 4B 2D 37 89 */ bl onSwitch__10dSv_info_cFii -/* 80D61A7C 48 00 00 20 */ b lbl_80D61A9C -lbl_80D61A80: -/* 80D61A80 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D61A84 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D61A88 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D61A8C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80D61A90 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D61A94 7C 05 07 74 */ extsb r5, r0 -/* 80D61A98 4B 2D 38 19 */ bl offSwitch__10dSv_info_cFii -lbl_80D61A9C: -/* 80D61A9C 38 60 00 01 */ li r3, 1 -/* 80D61AA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D61AA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D61AA8 7C 08 03 A6 */ mtlr r0 -/* 80D61AAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D61AB0 4E 80 00 20 */ blr diff --git a/include/rel/d/a/d_a_spinner/d_a_spinner.h b/include/rel/d/a/d_a_spinner/d_a_spinner.h index 2e096d5e87d..f139147ad6e 100644 --- a/include/rel/d/a/d_a_spinner/d_a_spinner.h +++ b/include/rel/d/a/d_a_spinner/d_a_spinner.h @@ -48,6 +48,17 @@ public: mCyl.OnAtSetBit(); } + void clearPathMove() { mpPathMove = NULL; } + + void setSpinnerTag(const cXyz& param_0) { + if (!mSpinnerTag) { + mSpinnerTag = 1; + } + + clearPathMove(); + field_0xaa4 = param_0; + } + bool reflectAccept() { bool accept = false; if (!mBck.isStop() && mSpinnerTag == 0) { diff --git a/include/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.h b/include/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.h index 4336ddc7fa6..e6992306e6d 100644 --- a/include/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.h +++ b/include/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.h @@ -1,6 +1,31 @@ #ifndef D_A_TAG_CSTASW_H #define D_A_TAG_CSTASW_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "m_Do/m_Do_hostIO.h" + +class daTagCstaSw_c : public fopAc_ac_c { +public: + /* 805A2098 */ void setBaseMtx(); + /* 805A20F0 */ int create(); + /* 805A2150 */ static fopAc_ac_c* searchSekizoAct(void*, void*); + /* 805A21A0 */ bool areaCheck(); + /* 805A2340 */ int Execute(); + /* 805A23F0 */ int Draw(); + /* 805A23F8 */ int Delete(); + + u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); } + +private: + /* 0x568 */ u8 mSwitch; + /* 0x569 */ u8 unused[0x570 - 0x569]; + +}; // Size: 0x570 + +class daTagCstaSw_HIO_c : public mDoHIO_entry_c { +public: + /* 805A202C */ daTagCstaSw_HIO_c(); + /* 805A2480 */ virtual ~daTagCstaSw_HIO_c(); +}; #endif /* D_A_TAG_CSTASW_H */ diff --git a/include/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h b/include/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h index 934eb4f6da6..0b3799c0095 100644 --- a/include/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h +++ b/include/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h @@ -1,6 +1,27 @@ #ifndef D_A_TAG_SHOP_ITEM_H #define D_A_TAG_SHOP_ITEM_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +class daTag_ShopItem_c : public fopAc_ac_c { +public: + /* 80D60B78 */ int create(); + /* 80D60D78 */ int Delete(); + /* 80D60E04 */ int Execute(); + /* 80D61024 */ int Draw(); + /* 80D6102C */ u8 getType(); + /* 80D61038 */ u8 getGroupID(); + /* 80D61044 */ u8 getSwitchBit1(); + /* 80D61050 */ u8 getSwitchBit2(); + /* 80D6105C */ void initialize(); + /* 80D61168 */ virtual ~daTag_ShopItem_c(); + + /* 0x56C */ s32 field_0x56c; + /* 0x570 */ s16 field_0x570; + /* 0x572 */ u8 field_0x572; + /* 0x573 */ u8 field_0x573; + +}; // Size: 0x574 #endif /* D_A_TAG_SHOP_ITEM_H */ diff --git a/include/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.h b/include/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.h index 925badf78e8..22edb2cb50d 100644 --- a/include/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.h +++ b/include/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.h @@ -21,7 +21,7 @@ public: }; namespace daTagSpinner_prm { -u32 getSwNo(daTagSpinner_c* pActor) { +inline u8 getSwNo(daTagSpinner_c* pActor) { return fopAcM_GetParam(pActor); } } // namespace daTagSpinner_prm diff --git a/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.cpp b/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.cpp index 91a979ff077..5643fb1708f 100644 --- a/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.cpp +++ b/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.cpp @@ -1,339 +1,136 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_CstaSw -// +/** + * d_a_tag_CstaSw.cpp + * Overworld Statue switch trigger + */ #include "rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct mDoHIO_entry_c { - /* 805A2050 */ ~mDoHIO_entry_c(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daTagCstaSw_c { - /* 805A2098 */ void setBaseMtx(); - /* 805A20F0 */ void create(); - /* 805A2150 */ void searchSekizoAct(void*, void*); - /* 805A21A0 */ void areaCheck(); - /* 805A2340 */ void Execute(); - /* 805A23F0 */ bool Draw(); - /* 805A23F8 */ bool Delete(); -}; - -struct daTagCstaSw_HIO_c { - /* 805A202C */ daTagCstaSw_HIO_c(); - /* 805A2480 */ ~daTagCstaSw_HIO_c(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -// -// Forward References: -// - -extern "C" void __ct__17daTagCstaSw_HIO_cFv(); -extern "C" void __dt__14mDoHIO_entry_cFv(); -extern "C" void setBaseMtx__13daTagCstaSw_cFv(); -extern "C" void create__13daTagCstaSw_cFv(); -extern "C" void searchSekizoAct__13daTagCstaSw_cFPvPv(); -extern "C" void areaCheck__13daTagCstaSw_cFv(); -extern "C" void Execute__13daTagCstaSw_cFv(); -extern "C" bool Draw__13daTagCstaSw_cFv(); -extern "C" bool Delete__13daTagCstaSw_cFv(); -extern "C" static void daTagCstaSw_Draw__FP13daTagCstaSw_c(); -extern "C" static void daTagCstaSw_Execute__FP13daTagCstaSw_c(); -extern "C" static void daTagCstaSw_Delete__FP13daTagCstaSw_c(); -extern "C" static void daTagCstaSw_Create__FP10fopAc_ac_c(); -extern "C" void __dt__17daTagCstaSw_HIO_cFv(); -extern "C" void __sinit_d_a_tag_CstaSw_cpp(); - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECSquareMag(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_nan; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 805A2550-805A2570 -00001 0020+00 1/0 0/0 0/0 .data l_daTagCstaSw_Method */ -SECTION_DATA static void* l_daTagCstaSw_Method[8] = { - (void*)daTagCstaSw_Create__FP10fopAc_ac_c, - (void*)daTagCstaSw_Delete__FP13daTagCstaSw_c, - (void*)daTagCstaSw_Execute__FP13daTagCstaSw_c, - (void*)NULL, - (void*)daTagCstaSw_Draw__FP13daTagCstaSw_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 805A2570-805A25A0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_CstaSw */ -SECTION_DATA extern void* g_profile_Tag_CstaSw[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01900000, (void*)&g_fpcLf_Method, - (void*)0x00000570, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02910000, (void*)&l_daTagCstaSw_Method, - (void*)0x00044000, (void*)0x000E0000, -}; - -/* 805A25A0-805A25AC 000050 000C+00 2/2 0/0 0/0 .data __vt__17daTagCstaSw_HIO_c */ -SECTION_DATA extern void* __vt__17daTagCstaSw_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17daTagCstaSw_HIO_cFv, -}; - -/* 805A25AC-805A25B8 00005C 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */ -SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14mDoHIO_entry_cFv, -}; /* 805A202C-805A2050 0000EC 0024+00 1/1 0/0 0/0 .text __ct__17daTagCstaSw_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagCstaSw_HIO_c::daTagCstaSw_HIO_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__ct__17daTagCstaSw_HIO_cFv.s" +daTagCstaSw_HIO_c::daTagCstaSw_HIO_c() { + unk_0x4 = 0; } -#pragma pop - -/* 805A2050-805A2098 000110 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm mDoHIO_entry_c::~mDoHIO_entry_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__14mDoHIO_entry_cFv.s" -} -#pragma pop /* 805A2098-805A20F0 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__13daTagCstaSw_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagCstaSw_c::setBaseMtx() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/setBaseMtx__13daTagCstaSw_cFv.s" +void daTagCstaSw_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); } -#pragma pop /* 805A20F0-805A2150 0001B0 0060+00 1/1 0/0 0/0 .text create__13daTagCstaSw_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagCstaSw_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/create__13daTagCstaSw_cFv.s" +int daTagCstaSw_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagCstaSw_c(); + fopAcM_OnCondition(this, 8); + } + mSwitch = getSw(); + setBaseMtx(); + return cPhs_COMPLEATE_e; } -#pragma pop /* 805A2150-805A21A0 000210 0050+00 1/1 0/0 0/0 .text searchSekizoAct__13daTagCstaSw_cFPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagCstaSw_c::searchSekizoAct(void* param_0, void* param_1) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/searchSekizoAct__13daTagCstaSw_cFPvPv.s" +fopAc_ac_c* daTagCstaSw_c::searchSekizoAct(void* i_actor, void*) { + if (i_actor && fopAcM_IsActor(i_actor) && fopAcM_GetProfName(i_actor) == PROC_CSTAF) { + return (fopAc_ac_c*)i_actor; + } + return NULL; } -#pragma pop - -/* ############################################################################################## */ -/* 805A252C-805A2534 000000 0004+04 1/1 0/0 0/0 .rodata @3724 */ -SECTION_RODATA static u8 const lit_3724[4 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x805A252C, &lit_3724); - -/* 805A2534-805A253C 000008 0008+00 0/1 0/0 0/0 .rodata @3725 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3725[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A2534, &lit_3725); -#pragma pop - -/* 805A253C-805A2544 000010 0008+00 0/1 0/0 0/0 .rodata @3726 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3726[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A253C, &lit_3726); -#pragma pop - -/* 805A2544-805A254C 000018 0008+00 0/1 0/0 0/0 .rodata @3727 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3727[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A2544, &lit_3727); -#pragma pop - -/* 805A254C-805A2550 000020 0004+00 0/1 0/0 0/0 .rodata @3728 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3728 = 100.0f; -COMPILER_STRIP_GATE(0x805A254C, &lit_3728); -#pragma pop /* 805A21A0-805A2340 000260 01A0+00 1/1 0/0 0/0 .text areaCheck__13daTagCstaSw_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagCstaSw_c::areaCheck() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/areaCheck__13daTagCstaSw_cFv.s" +bool daTagCstaSw_c::areaCheck() { + bool in_area = false; + + fopAc_ac_c* sekizo_p = fopAcM_Search((fopAcIt_JudgeFunc)searchSekizoAct, this); + if (!sekizo_p) { + return false; + } + + cXyz vec_to_actor = current.pos - sekizo_p->current.pos; + if (vec_to_actor.absXZ() <= mScale.x * 100.0f) { + in_area = true; + } + + return in_area; } -#pragma pop /* 805A2340-805A23F0 000400 00B0+00 1/1 0/0 0/0 .text Execute__13daTagCstaSw_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagCstaSw_c::Execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/Execute__13daTagCstaSw_cFv.s" +int daTagCstaSw_c::Execute() { + if (areaCheck() == 1) { + if (!i_fopAcM_isSwitch(this, mSwitch)) { + i_fopAcM_onSwitch(this, mSwitch); + } + } else { + if (i_fopAcM_isSwitch(this, mSwitch)) { + i_fopAcM_offSwitch(this, mSwitch); + } + } + return 1; } -#pragma pop /* 805A23F0-805A23F8 0004B0 0008+00 1/1 0/0 0/0 .text Draw__13daTagCstaSw_cFv */ -bool daTagCstaSw_c::Draw() { - return true; +int daTagCstaSw_c::Draw() { + return 1; } /* 805A23F8-805A2400 0004B8 0008+00 1/1 0/0 0/0 .text Delete__13daTagCstaSw_cFv */ -bool daTagCstaSw_c::Delete() { - return true; +int daTagCstaSw_c::Delete() { + return 1; } /* 805A2400-805A2420 0004C0 0020+00 1/0 0/0 0/0 .text daTagCstaSw_Draw__FP13daTagCstaSw_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagCstaSw_Draw(daTagCstaSw_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Draw__FP13daTagCstaSw_c.s" +static int daTagCstaSw_Draw(daTagCstaSw_c* i_this) { + return i_this->Draw(); } -#pragma pop /* 805A2420-805A2440 0004E0 0020+00 1/0 0/0 0/0 .text daTagCstaSw_Execute__FP13daTagCstaSw_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagCstaSw_Execute(daTagCstaSw_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Execute__FP13daTagCstaSw_c.s" +static int daTagCstaSw_Execute(daTagCstaSw_c* i_this) { + return i_this->Execute(); } -#pragma pop /* 805A2440-805A2460 000500 0020+00 1/0 0/0 0/0 .text daTagCstaSw_Delete__FP13daTagCstaSw_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagCstaSw_Delete(daTagCstaSw_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Delete__FP13daTagCstaSw_c.s" +static int daTagCstaSw_Delete(daTagCstaSw_c* i_this) { + return i_this->Delete(); } -#pragma pop /* 805A2460-805A2480 000520 0020+00 1/0 0/0 0/0 .text daTagCstaSw_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagCstaSw_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/daTagCstaSw_Create__FP10fopAc_ac_c.s" +static int daTagCstaSw_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 805A2480-805A24DC 000540 005C+00 2/1 0/0 0/0 .text __dt__17daTagCstaSw_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagCstaSw_HIO_c::~daTagCstaSw_HIO_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__dt__17daTagCstaSw_HIO_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 805A25C0-805A25CC 000008 000C+00 1/1 0/0 0/0 .bss @3619 */ -static u8 lit_3619[12]; +daTagCstaSw_HIO_c::~daTagCstaSw_HIO_c() {} /* 805A25CC-805A25D4 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[8]; +static daTagCstaSw_HIO_c l_HIO; -/* 805A24DC-805A2518 00059C 003C+00 0/0 1/0 0/0 .text __sinit_d_a_tag_CstaSw_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_a_tag_CstaSw_cpp() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_CstaSw/d_a_tag_CstaSw/__sinit_d_a_tag_CstaSw_cpp.s" -} -#pragma pop +/* ############################################################################################## */ +/* 805A2550-805A2570 -00001 0020+00 1/0 0/0 0/0 .data l_daTagCstaSw_Method */ +static actor_method_class l_daTagCstaSw_Method = { + (process_method_func)daTagCstaSw_Create, (process_method_func)daTagCstaSw_Delete, + (process_method_func)daTagCstaSw_Execute, (process_method_func)NULL, + (process_method_func)daTagCstaSw_Draw, +}; -#pragma push -#pragma force_active on -REGISTER_CTORS(0x805A24DC, __sinit_d_a_tag_CstaSw_cpp); -#pragma pop +/* 805A2570-805A25A0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_CstaSw */ +extern actor_process_profile_definition g_profile_Tag_CstaSw = { + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_Tag_CstaSw, // mProcName + 0, // Padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTagCstaSw_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x0291, // mPriority + 0, // Padding + 0, // Padding + &l_daTagCstaSw_Method, // mSubMtd + 0x00044000, // mStatus + 0, // mActorType + 14, // mCullType + 0, // Padding + 0, // Padding +}; \ No newline at end of file diff --git a/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.cpp b/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.cpp index 36c7fddf978..7367a1e3ceb 100644 --- a/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.cpp +++ b/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.cpp @@ -1,318 +1,196 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_shop_item -// +/** + * d_a_tag_shop_item.cpp + * Tag - Shop Item + */ #include "rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTag_ShopItem_c { - /* 80D60B78 */ void create(); - /* 80D60D78 */ void Delete(); - /* 80D60E04 */ void Execute(); - /* 80D61024 */ bool Draw(); - /* 80D6102C */ void getType(); - /* 80D61038 */ void getGroupID(); - /* 80D61044 */ void getSwitchBit1(); - /* 80D61050 */ void getSwitchBit2(); - /* 80D6105C */ void initialize(); - /* 80D61168 */ ~daTag_ShopItem_c(); -}; - -struct daItemBase_c { - /* 80037A64 */ void hide(); - /* 80037A74 */ void show(); -}; - -struct dSv_memBit_c { - /* 80034810 */ void onSwitch(int); - /* 80034838 */ void offSwitch(int); - /* 80034860 */ void isSwitch(int) const; -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct csXyz {}; - -struct cXyz {}; - -// -// Forward References: -// - -extern "C" void create__16daTag_ShopItem_cFv(); -extern "C" void Delete__16daTag_ShopItem_cFv(); -extern "C" void Execute__16daTag_ShopItem_cFv(); -extern "C" bool Draw__16daTag_ShopItem_cFv(); -extern "C" void getType__16daTag_ShopItem_cFv(); -extern "C" void getGroupID__16daTag_ShopItem_cFv(); -extern "C" void getSwitchBit1__16daTag_ShopItem_cFv(); -extern "C" void getSwitchBit2__16daTag_ShopItem_cFv(); -extern "C" void initialize__16daTag_ShopItem_cFv(); -extern "C" static void daTag_ShopItem_Create__FPv(); -extern "C" static void daTag_ShopItem_Delete__FPv(); -extern "C" static void daTag_ShopItem_Execute__FPv(); -extern "C" static void daTag_ShopItem_Draw__FPv(); -extern "C" static bool daTag_ShopItem_IsDelete__FPv(); -extern "C" void __dt__16daTag_ShopItem_cFv(); -extern "C" extern char const* const d_a_tag_shop_item__stringBase0; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void onSwitch__12dSv_memBit_cFi(); -extern "C" void offSwitch__12dSv_memBit_cFi(); -extern "C" void isSwitch__12dSv_memBit_cCFi(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void hide__12daItemBase_cFv(); -extern "C" void show__12daItemBase_cFv(); -extern "C" void __dl__FPv(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80D611D0-80D611D4 000000 0004+00 2/2 0/0 0/0 .rodata @3684 */ -SECTION_RODATA static f32 const lit_3684 = 90.0f; -COMPILER_STRIP_GATE(0x80D611D0, &lit_3684); - -/* 80D611D4-80D611D8 000004 0004+00 1/1 0/0 0/0 .rodata @3685 */ -SECTION_RODATA static f32 const lit_3685 = 270.0f; -COMPILER_STRIP_GATE(0x80D611D4, &lit_3685); - -/* 80D611E8-80D611E8 000018 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80D611E8 = "F_SP109"; -#pragma pop - -/* 80D611F0-80D61210 -00001 0020+00 1/0 0/0 0/0 .data daTag_ShopItem_MethodTable */ -SECTION_DATA static void* daTag_ShopItem_MethodTable[8] = { - (void*)daTag_ShopItem_Create__FPv, - (void*)daTag_ShopItem_Delete__FPv, - (void*)daTag_ShopItem_Execute__FPv, - (void*)daTag_ShopItem_IsDelete__FPv, - (void*)daTag_ShopItem_Draw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80D61210-80D61240 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_SHOPITM */ -SECTION_DATA extern void* g_profile_TAG_SHOPITM[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01270000, (void*)&g_fpcLf_Method, - (void*)0x00000574, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x004B0000, (void*)&daTag_ShopItem_MethodTable, - (void*)0x00064100, (void*)0x050E0000, -}; - -/* 80D61240-80D6124C 000050 000C+00 2/2 0/0 0/0 .data __vt__16daTag_ShopItem_c */ -SECTION_DATA extern void* __vt__16daTag_ShopItem_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daTag_ShopItem_cFv, -}; /* 80D60B78-80D60D78 000078 0200+00 1/1 0/0 0/0 .text create__16daTag_ShopItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopItem_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/create__16daTag_ShopItem_cFv.s" +int daTag_ShopItem_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTag_ShopItem_c(); + fopAcM_OnCondition(this, 8); + } + initialize(); + field_0x572 = 0; + if (!strcmp("F_SP109", dComIfGp_getStartStageName())) { + if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[64])) { + return cPhs_ERROR_e; + } + if ((dComIfGs_getTime() >= 90.0f) && (dComIfGs_getTime() < 270.0f)) { + return cPhs_ERROR_e; + } + } + if (getGroupID() == 0x0f) { + field_0x570 = 0x96; + if (getSwitchBit1() != 0xff) { + if (!dComIfGs_isSaveSwitch(getSwitchBit1())) { + dComIfGs_onSaveSwitch(getSwitchBit2()); + field_0x572 = 1; + field_0x570 = 0; + } + } + } else { + field_0x570 = 0; + if (getSwitchBit1() != 0xff) { + if (dComIfGs_isSaveSwitch(getSwitchBit1())) { + field_0x570 = 0x96; + } + } + if (getSwitchBit2() != 0xff) { + if (!dComIfGs_isSaveSwitch(getSwitchBit2())) { + field_0x570 = 0x96; + } + } + } + return cPhs_COMPLEATE_e; } -#pragma pop /* 80D60D78-80D60E04 000278 008C+00 1/1 0/0 0/0 .text Delete__16daTag_ShopItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopItem_c::Delete() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Delete__16daTag_ShopItem_cFv.s" +int daTag_ShopItem_c::Delete() { + if ((field_0x572 != NULL) && (getGroupID() == 0x0f)) { + if (dComIfGs_isSaveSwitch(getSwitchBit1())) { + dComIfGs_offSaveSwitch(getSwitchBit2()); + } + } + return 1; } -#pragma pop /* 80D60E04-80D61024 000304 0220+00 1/1 0/0 0/0 .text Execute__16daTag_ShopItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopItem_c::Execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/Execute__16daTag_ShopItem_cFv.s" +int daTag_ShopItem_c::Execute() { + if (field_0x56c == 0xffffffff) { + if (!field_0x570) { + field_0x56c = + fopAcM_create(PROC_ShopItem, getType() & 0xff | getGroupID() << 0x1c, ¤t.pos, + fopAcM_GetRoomNo(this), ¤t.angle, NULL, 0xff); + + } else { + field_0x570 -= 1; + if (getGroupID() == 0x0f) { + if (field_0x572) { + field_0x570 = 0; + } + } else { + if (getSwitchBit1() != 0xff && dComIfGs_isSaveSwitch(getSwitchBit1())) { + } else if (getSwitchBit2() == 0xff || dComIfGs_isSaveSwitch(getSwitchBit2())) { + field_0x570 = 0; + } + } + } + } else { + daItemBase_c* mpItemBase = (daItemBase_c*)fopAcM_SearchByID(field_0x56c); + if (mpItemBase) { + if (getGroupID() == 0x0f) { + if (!field_0x572) { + mpItemBase->hide(); + } else { + mpItemBase->show(); + } + } else { + if (getSwitchBit1() != 0xff && dComIfGs_isSaveSwitch(getSwitchBit1())) { + mpItemBase->hide(); + } else if (getSwitchBit2() != 0xff && !dComIfGs_isSaveSwitch(getSwitchBit2())) { + mpItemBase->hide(); + } else { + mpItemBase->show(); + } + } + } + } + return 1; } -#pragma pop /* 80D61024-80D6102C 000524 0008+00 1/1 0/0 0/0 .text Draw__16daTag_ShopItem_cFv */ -bool daTag_ShopItem_c::Draw() { - return true; +int daTag_ShopItem_c::Draw() { + return 1; } /* 80D6102C-80D61038 00052C 000C+00 1/1 0/0 0/0 .text getType__16daTag_ShopItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopItem_c::getType() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getType__16daTag_ShopItem_cFv.s" +u8 daTag_ShopItem_c::getType() { + return mBase.mParameters & 0xff; } -#pragma pop /* 80D61038-80D61044 000538 000C+00 3/3 0/0 0/0 .text getGroupID__16daTag_ShopItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopItem_c::getGroupID() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getGroupID__16daTag_ShopItem_cFv.s" +u8 daTag_ShopItem_c::getGroupID() { + return mBase.mParameters >> 0x1c; } -#pragma pop -/* 80D61044-80D61050 000544 000C+00 3/3 0/0 1/1 .text getSwitchBit1__16daTag_ShopItem_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopItem_c::getSwitchBit1() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit1__16daTag_ShopItem_cFv.s" +/* 80D61044-80D61050 000544 000C+00 3/3 0/0 1/1 .text getSwitchBit1__16daTag_ShopItem_cFv */ +u8 daTag_ShopItem_c::getSwitchBit1() { + return orig.angle.z & 0xff; } -#pragma pop -/* 80D61050-80D6105C 000550 000C+00 3/3 0/0 0/0 .text getSwitchBit2__16daTag_ShopItem_cFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopItem_c::getSwitchBit2() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/getSwitchBit2__16daTag_ShopItem_cFv.s" +/* 80D61050-80D6105C 000550 000C+00 3/3 0/0 0/0 .text getSwitchBit2__16daTag_ShopItem_cFv */ +u8 daTag_ShopItem_c::getSwitchBit2() { + return orig.angle.z >> 8 & 0xff; } -#pragma pop - -/* ############################################################################################## */ -/* 80D611D8-80D611DC 000008 0004+00 0/1 0/0 0/0 .rodata @3778 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3778 = -30.0f; -COMPILER_STRIP_GATE(0x80D611D8, &lit_3778); -#pragma pop - -/* 80D611DC-80D611E0 00000C 0004+00 0/1 0/0 0/0 .rodata @3779 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3779 = -15.0f; -COMPILER_STRIP_GATE(0x80D611DC, &lit_3779); -#pragma pop - -/* 80D611E0-80D611E4 000010 0004+00 0/1 0/0 0/0 .rodata @3780 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3780 = 30.0f; -COMPILER_STRIP_GATE(0x80D611E0, &lit_3780); -#pragma pop - -/* 80D611E4-80D611E8 000014 0004+00 0/1 0/0 0/0 .rodata @3781 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3781 = 45.0f; -COMPILER_STRIP_GATE(0x80D611E4, &lit_3781); -#pragma pop /* 80D6105C-80D610E0 00055C 0084+00 1/1 0/0 0/0 .text initialize__16daTag_ShopItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTag_ShopItem_c::initialize() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/initialize__16daTag_ShopItem_cFv.s" +void daTag_ShopItem_c::initialize() { + fopAcM_setCullSizeBox(this, -30.0f, -15.0f, -30.0f, 30.0f, 45.0f, 30.0f); + mAttentionInfo.mFlags = NULL; + s16 mAngleY = orig.angle.y; + current.angle.x = 0; + current.angle.y = mAngleY; + current.angle.z = 0; + shape_angle = current.angle; + field_0x56c = -1; } -#pragma pop /* 80D610E0-80D61100 0005E0 0020+00 1/0 0/0 0/0 .text daTag_ShopItem_Create__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_ShopItem_Create(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Create__FPv.s" +static int daTag_ShopItem_Create(void* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80D61100-80D61120 000600 0020+00 1/0 0/0 0/0 .text daTag_ShopItem_Delete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_ShopItem_Delete(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Delete__FPv.s" +static int daTag_ShopItem_Delete(void* i_this) { + return static_cast(i_this)->Delete(); } -#pragma pop /* 80D61120-80D61140 000620 0020+00 1/0 0/0 0/0 .text daTag_ShopItem_Execute__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_ShopItem_Execute(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Execute__FPv.s" +static int daTag_ShopItem_Execute(void* i_this) { + return static_cast(i_this)->Execute(); } -#pragma pop /* 80D61140-80D61160 000640 0020+00 1/0 0/0 0/0 .text daTag_ShopItem_Draw__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTag_ShopItem_Draw(void* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/daTag_ShopItem_Draw__FPv.s" +static int daTag_ShopItem_Draw(void* i_this) { + return static_cast(i_this)->Draw(); } -#pragma pop /* 80D61160-80D61168 000660 0008+00 1/0 0/0 0/0 .text daTag_ShopItem_IsDelete__FPv */ -static bool daTag_ShopItem_IsDelete(void* param_0) { - return true; +static int daTag_ShopItem_IsDelete(void* i_this) { + return 1; } /* 80D61168-80D611C8 000668 0060+00 1/0 0/0 0/0 .text __dt__16daTag_ShopItem_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTag_ShopItem_c::~daTag_ShopItem_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item/__dt__16daTag_ShopItem_cFv.s" -} -#pragma pop +daTag_ShopItem_c::~daTag_ShopItem_c() {} -/* 80D611E8-80D611E8 000018 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80D611F0-80D61210 -00001 0020+00 1/0 0/0 0/0 .data daTag_ShopItem_MethodTable */ +static actor_method_class daTag_ShopItem_MethodTable = { + (process_method_func)daTag_ShopItem_Create, (process_method_func)daTag_ShopItem_Delete, + (process_method_func)daTag_ShopItem_Execute, (process_method_func)daTag_ShopItem_IsDelete, + (process_method_func)daTag_ShopItem_Draw, +}; + +/* 80D61210-80D61240 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_SHOPITM */ +extern actor_process_profile_definition g_profile_TAG_SHOPITM = { + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_TAG_SHOPITM, // mProcName + 0, // Padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTag_ShopItem_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x004B, // mPriority + 0, // Padding + 0, // Padding + &daTag_ShopItem_MethodTable, // mSubMtd + 0x00064100, // mStatus + 5, // mActorType + 14, // mCullType + 0, // Padding + 0, // Padding +}; \ No newline at end of file diff --git a/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.cpp b/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.cpp index 95a59fe3a5e..ca84046e157 100644 --- a/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.cpp +++ b/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.cpp @@ -1,48 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_spinner -// +/** + * d_a_tag_spinner.cpp + * Tag - Spinner + */ #include "rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.h" -// -// Forward References: -// - -extern "C" static void CheckCreateHeap__FP10fopAc_ac_c(); -extern "C" static void search_spinner_sub__FPvPv(); -extern "C" void initBaseMtx__14daTagSpinner_cFv(); -extern "C" void setBaseMtx__14daTagSpinner_cFv(); -extern "C" void Create__14daTagSpinner_cFv(); -extern "C" bool CreateHeap__14daTagSpinner_cFv(); -extern "C" void create__14daTagSpinner_cFv(); -extern "C" void execute__14daTagSpinner_cFv(); -extern "C" bool _delete__14daTagSpinner_cFv(); -extern "C" static void daTagSpinner_Execute__FP14daTagSpinner_c(); -extern "C" static void daTagSpinner_Delete__FP14daTagSpinner_c(); -extern "C" static void daTagSpinner_Create__FP10fopAc_ac_c(); -extern "C" extern void* g_profile_Tag_Spinner[12]; - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); - -extern "C" u8 now__14mDoMtx_stack_c[48]; - -// -// Declarations: -// - /* 80D616F8-80D61718 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */ static int CheckCreateHeap(fopAc_ac_c* param_0) { daTagSpinner_c* tag = (daTagSpinner_c*)param_0; @@ -109,14 +71,18 @@ int daTagSpinner_c::create() { } /* 80D61A00-80D61AB4 000380 00B4+00 1/1 0/0 0/0 .text execute__14daTagSpinner_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daTagSpinner_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/execute__14daTagSpinner_cFv.s" +int daTagSpinner_c::execute() { + daSpinner_c* mpSpinner = + (daSpinner_c*)fopAcM_Search((fopAcIt_JudgeFunc)search_spinner_sub, this); + + if (mpSpinner) { + mpSpinner->setSpinnerTag(current.pos); + i_fopAcM_onSwitch(this, daTagSpinner_prm::getSwNo(this)); + } else { + i_fopAcM_offSwitch(this, daTagSpinner_prm::getSwNo(this)); + } + return 1; } -#pragma pop /* 80D61AB4-80D61ABC 000434 0008+00 1/1 0/0 0/0 .text _delete__14daTagSpinner_cFv */ int daTagSpinner_c::_delete() { @@ -133,31 +99,39 @@ static int daTagSpinner_Delete(daTagSpinner_c* i_this) { return i_this->_delete(); } -/* 80D61AFC-80D61B1C 00047C 0020+00 1/0 0/0 0/0 .text daTagSpinner_Create__FP10fopAc_ac_c - */ +/* 80D61AFC-80D61B1C 00047C 0020+00 1/0 0/0 0/0 .text daTagSpinner_Create__FP10fopAc_ac_c */ static int daTagSpinner_Create(fopAc_ac_c* tag) { return static_cast(tag)->create(); } /* ############################################################################################## */ /* 80D61B48-80D61B68 -00001 0020+00 1/0 0/0 0/0 .data l_daTagSpinner_Method */ -SECTION_DATA static void* l_daTagSpinner_Method[8] = { - (void*)daTagSpinner_Create__FP10fopAc_ac_c, - (void*)daTagSpinner_Delete__FP14daTagSpinner_c, - (void*)daTagSpinner_Execute__FP14daTagSpinner_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagSpinner_Method = { + (process_method_func)daTagSpinner_Create, + (process_method_func)daTagSpinner_Delete, + (process_method_func)daTagSpinner_Execute, + }; /* 80D61B68-80D61B98 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Spinner */ -SECTION_DATA extern void* g_profile_Tag_Spinner[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x00C30000, (void*)&g_fpcLf_Method, - (void*)0x00000570, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x025D0000, (void*)&l_daTagSpinner_Method, - (void*)0x00040100, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_Spinner = { + -3, // mLayerID + 3, // mListID + -3, // mListPrio + PROC_Tag_Spinner, // mProcName + 0, // Padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTagSpinner_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x025D, // mPriority + 0, // Padding + 0, // Padding + &l_daTagSpinner_Method, // mSubMtd + 0x00040100, // mStatus + 0, // mActorType + 14, // mCullType + 0, // Padding + 0, // Padding }; \ No newline at end of file