diff --git a/Progress.md b/Progress.md index 16f3aa6111a..9e61a48de32 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 26.564836% | 955416 | 3596544 +.text | 26.574623% | 955768 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 34.306504% | 1379352 | 4020672 +Total | 34.315259% | 1379704 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 34.306504% | 1379352 | 4020672 -RELs | 33.448623% | 3846700 | 11500324 -Total | 33.670855% | 5226052 | 15520996 +main.dol | 34.315259% | 1379704 | 4020672 +RELs | 33.516030% | 3854452 | 11500324 +Total | 33.723068% | 5234156 | 15520996 ## RELs @@ -173,7 +173,7 @@ d_a_e_yd_leaf | 54.022989% | 1128 | 2088 d_a_e_yg | 28.386013% | 7436 | 26196 d_a_e_yh | 26.277603% | 9996 | 38040 d_a_e_yk | 31.079076% | 5864 | 18868 -d_a_e_ym | 20.062370% | 13896 | 69264 +d_a_e_ym | 24.174174% | 16744 | 69264 d_a_e_ym_tag | 100.000000% | 1088 | 1088 d_a_e_ymb | 23.798093% | 14672 | 61652 d_a_e_yr | 27.591936% | 9964 | 36112 @@ -539,7 +539,7 @@ d_a_obj_maki | 45.531587% | 2364 | 5192 d_a_obj_master_sword | 43.575419% | 2808 | 6444 d_a_obj_mato | 37.093023% | 2552 | 6880 d_a_obj_metalbox | 50.268097% | 1500 | 2984 -d_a_obj_mgate | 47.398844% | 1968 | 4152 +d_a_obj_mgate | 100.000000% | 4152 | 4152 d_a_obj_mhole | 35.548173% | 2140 | 6020 d_a_obj_mie | 34.891676% | 3672 | 10524 d_a_obj_mirror_6pole | 49.656751% | 1736 | 3496 @@ -656,7 +656,7 @@ d_a_obj_twGate | 57.395498% | 2856 | 4976 d_a_obj_udoor | 49.156627% | 1632 | 3320 d_a_obj_usaku | 55.081301% | 1084 | 1968 d_a_obj_vground | 44.817927% | 1280 | 2856 -d_a_obj_volcball | 34.010759% | 4552 | 13384 +d_a_obj_volcball | 50.478183% | 6756 | 13384 d_a_obj_volcbom | 32.897713% | 5236 | 15916 d_a_obj_warp_kbrg | 34.066524% | 5080 | 14912 d_a_obj_warp_obrg | 34.784076% | 4124 | 11856 @@ -678,7 +678,7 @@ d_a_obj_yel_bag | 33.773087% | 3584 | 10612 d_a_obj_yobikusa | 39.095993% | 3356 | 8584 d_a_obj_yousei | 27.926623% | 4628 | 16572 d_a_obj_ystone | 42.824944% | 2280 | 5324 -d_a_obj_zcloth | 52.373418% | 1324 | 2528 +d_a_obj_zcloth | 72.784810% | 1840 | 2528 d_a_obj_zdoor | 45.037688% | 2868 | 6368 d_a_obj_zrTurara | 43.437672% | 3164 | 7284 d_a_obj_zrTuraraRock | 46.299094% | 2452 | 5296 @@ -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.448623% | 3846700 | 11500324 +Total | 33.516030% | 3854452 | 11500324 diff --git a/asm/d/menu/d_menu_fishing/setAButtonString__15dMenu_Fishing_cFUs.s b/asm/d/menu/d_menu_fishing/setAButtonString__15dMenu_Fishing_cFUs.s deleted file mode 100644 index 843d7275586..00000000000 --- a/asm/d/menu/d_menu_fishing/setAButtonString__15dMenu_Fishing_cFUs.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_801C5EB8: -/* 801C5EB8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801C5EBC 7C 08 02 A6 */ mflr r0 -/* 801C5EC0 90 01 00 24 */ stw r0, 0x24(r1) -/* 801C5EC4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801C5EC8 48 19 C3 0D */ bl _savegpr_27 -/* 801C5ECC 7C 7B 1B 78 */ mr r27, r3 -/* 801C5ED0 54 9D 04 3F */ clrlwi. r29, r4, 0x10 -/* 801C5ED4 40 82 00 3C */ bne lbl_801C5F10 -/* 801C5ED8 3B A0 00 00 */ li r29, 0 -/* 801C5EDC 3B E0 00 00 */ li r31, 0 -/* 801C5EE0 3C 60 80 39 */ lis r3, d_menu_d_menu_fishing__stringBase0@ha /* 0x80396068@ha */ -/* 801C5EE4 3B C3 60 68 */ addi r30, r3, d_menu_d_menu_fishing__stringBase0@l /* 0x80396068@l */ -lbl_801C5EE8: -/* 801C5EE8 38 1F 00 20 */ addi r0, r31, 0x20 -/* 801C5EEC 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801C5EF0 48 13 A7 69 */ bl getStringPtr__10J2DTextBoxCFv -/* 801C5EF4 38 9E 00 3E */ addi r4, r30, 0x3e -/* 801C5EF8 48 1A 2C 35 */ bl strcpy -/* 801C5EFC 3B BD 00 01 */ addi r29, r29, 1 -/* 801C5F00 2C 1D 00 05 */ cmpwi r29, 5 -/* 801C5F04 3B FF 00 04 */ addi r31, r31, 4 -/* 801C5F08 41 80 FF E0 */ blt lbl_801C5EE8 -/* 801C5F0C 48 00 00 44 */ b lbl_801C5F50 -lbl_801C5F10: -/* 801C5F10 3B 80 00 00 */ li r28, 0 -/* 801C5F14 3B E0 00 00 */ li r31, 0 -/* 801C5F18 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801C5F1C 3B C3 01 88 */ addi r30, r3, g_meter2_info@l /* 0x80430188@l */ -lbl_801C5F20: -/* 801C5F20 38 1F 00 20 */ addi r0, r31, 0x20 -/* 801C5F24 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801C5F28 48 13 A7 31 */ bl getStringPtr__10J2DTextBoxCFv -/* 801C5F2C 7C 65 1B 78 */ mr r5, r3 -/* 801C5F30 7F C3 F3 78 */ mr r3, r30 -/* 801C5F34 7F A4 EB 78 */ mr r4, r29 -/* 801C5F38 38 C0 00 00 */ li r6, 0 -/* 801C5F3C 48 05 66 09 */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801C5F40 3B 9C 00 01 */ addi r28, r28, 1 -/* 801C5F44 2C 1C 00 05 */ cmpwi r28, 5 -/* 801C5F48 3B FF 00 04 */ addi r31, r31, 4 -/* 801C5F4C 41 80 FF D4 */ blt lbl_801C5F20 -lbl_801C5F50: -/* 801C5F50 39 61 00 20 */ addi r11, r1, 0x20 -/* 801C5F54 48 19 C2 CD */ bl _restgpr_27 -/* 801C5F58 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801C5F5C 7C 08 03 A6 */ mtlr r0 -/* 801C5F60 38 21 00 20 */ addi r1, r1, 0x20 -/* 801C5F64 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_fishing/setBButtonString__15dMenu_Fishing_cFUs.s b/asm/d/menu/d_menu_fishing/setBButtonString__15dMenu_Fishing_cFUs.s deleted file mode 100644 index d0c1808b26d..00000000000 --- a/asm/d/menu/d_menu_fishing/setBButtonString__15dMenu_Fishing_cFUs.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_801C5F68: -/* 801C5F68 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801C5F6C 7C 08 02 A6 */ mflr r0 -/* 801C5F70 90 01 00 24 */ stw r0, 0x24(r1) -/* 801C5F74 39 61 00 20 */ addi r11, r1, 0x20 -/* 801C5F78 48 19 C2 5D */ bl _savegpr_27 -/* 801C5F7C 7C 7B 1B 78 */ mr r27, r3 -/* 801C5F80 54 9D 04 3F */ clrlwi. r29, r4, 0x10 -/* 801C5F84 40 82 00 3C */ bne lbl_801C5FC0 -/* 801C5F88 3B A0 00 00 */ li r29, 0 -/* 801C5F8C 3B E0 00 00 */ li r31, 0 -/* 801C5F90 3C 60 80 39 */ lis r3, d_menu_d_menu_fishing__stringBase0@ha /* 0x80396068@ha */ -/* 801C5F94 3B C3 60 68 */ addi r30, r3, d_menu_d_menu_fishing__stringBase0@l /* 0x80396068@l */ -lbl_801C5F98: -/* 801C5F98 38 1F 00 34 */ addi r0, r31, 0x34 -/* 801C5F9C 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801C5FA0 48 13 A6 B9 */ bl getStringPtr__10J2DTextBoxCFv -/* 801C5FA4 38 9E 00 3E */ addi r4, r30, 0x3e -/* 801C5FA8 48 1A 2B 85 */ bl strcpy -/* 801C5FAC 3B BD 00 01 */ addi r29, r29, 1 -/* 801C5FB0 2C 1D 00 05 */ cmpwi r29, 5 -/* 801C5FB4 3B FF 00 04 */ addi r31, r31, 4 -/* 801C5FB8 41 80 FF E0 */ blt lbl_801C5F98 -/* 801C5FBC 48 00 00 44 */ b lbl_801C6000 -lbl_801C5FC0: -/* 801C5FC0 3B 80 00 00 */ li r28, 0 -/* 801C5FC4 3B E0 00 00 */ li r31, 0 -/* 801C5FC8 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 801C5FCC 3B C3 01 88 */ addi r30, r3, g_meter2_info@l /* 0x80430188@l */ -lbl_801C5FD0: -/* 801C5FD0 38 1F 00 34 */ addi r0, r31, 0x34 -/* 801C5FD4 7C 7B 00 2E */ lwzx r3, r27, r0 -/* 801C5FD8 48 13 A6 81 */ bl getStringPtr__10J2DTextBoxCFv -/* 801C5FDC 7C 65 1B 78 */ mr r5, r3 -/* 801C5FE0 7F C3 F3 78 */ mr r3, r30 -/* 801C5FE4 7F A4 EB 78 */ mr r4, r29 -/* 801C5FE8 38 C0 00 00 */ li r6, 0 -/* 801C5FEC 48 05 65 59 */ bl getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c -/* 801C5FF0 3B 9C 00 01 */ addi r28, r28, 1 -/* 801C5FF4 2C 1C 00 05 */ cmpwi r28, 5 -/* 801C5FF8 3B FF 00 04 */ addi r31, r31, 4 -/* 801C5FFC 41 80 FF D4 */ blt lbl_801C5FD0 -lbl_801C6000: -/* 801C6000 39 61 00 20 */ addi r11, r1, 0x20 -/* 801C6004 48 19 C2 1D */ bl _restgpr_27 -/* 801C6008 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801C600C 7C 08 03 A6 */ mtlr r0 -/* 801C6010 38 21 00 20 */ addi r1, r1, 0x20 -/* 801C6014 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/Create__13daObjZCloth_cFv.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/Create__13daObjZCloth_cFv.s deleted file mode 100644 index 09379e4f53a..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/Create__13daObjZCloth_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80D3EEC0: -/* 80D3EEC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3EEC4 7C 08 02 A6 */ mflr r0 -/* 80D3EEC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3EECC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D3EED0 7C 7F 1B 78 */ mr r31, r3 -/* 80D3EED4 4B FF FF 45 */ bl initBaseMtx__13daObjZCloth_cFv -/* 80D3EED8 80 7F 05 74 */ lwz r3, 0x574(r31) -/* 80D3EEDC 38 03 00 24 */ addi r0, r3, 0x24 -/* 80D3EEE0 90 1F 05 04 */ stw r0, 0x504(r31) -/* 80D3EEE4 80 7F 05 74 */ lwz r3, 0x574(r31) -/* 80D3EEE8 80 83 00 04 */ lwz r4, 4(r3) -/* 80D3EEEC 7F E3 FB 78 */ mr r3, r31 -/* 80D3EEF0 4B 2D B6 89 */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData -/* 80D3EEF4 38 60 00 01 */ li r3, 1 -/* 80D3EEF8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D3EEFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3EF00 7C 08 03 A6 */ mtlr r0 -/* 80D3EF04 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3EF08 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/_delete__13daObjZCloth_cFv.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/_delete__13daObjZCloth_cFv.s deleted file mode 100644 index 1350ad92e6b..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/_delete__13daObjZCloth_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80D3F200: -/* 80D3F200 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3F204 7C 08 02 A6 */ mflr r0 -/* 80D3F208 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3F20C 88 03 09 2A */ lbz r0, 0x92a(r3) -/* 80D3F210 54 00 20 36 */ slwi r0, r0, 4 -/* 80D3F214 3C 80 80 3B */ lis r4, field_item_res__10dItem_data@ha /* 0x803ADD88@ha */ -/* 80D3F218 38 84 DD 88 */ addi r4, r4, field_item_res__10dItem_data@l /* 0x803ADD88@l */ -/* 80D3F21C 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80D3F220 38 63 05 6C */ addi r3, r3, 0x56c -/* 80D3F224 4B 2E DD E5 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80D3F228 38 60 00 01 */ li r3, 1 -/* 80D3F22C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3F230 7C 08 03 A6 */ mtlr r0 -/* 80D3F234 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3F238 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 1a9776dea81..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D3F29C: -/* 80D3F29C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3F2A0 7C 08 02 A6 */ mflr r0 -/* 80D3F2A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3F2A8 4B FF FC 65 */ bl create__13daObjZCloth_cFv -/* 80D3F2AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3F2B0 7C 08 03 A6 */ mtlr r0 -/* 80D3F2B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3F2B8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Delete__FP13daObjZCloth_c.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Delete__FP13daObjZCloth_c.s deleted file mode 100644 index eb2a735d77d..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Delete__FP13daObjZCloth_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D3F27C: -/* 80D3F27C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3F280 7C 08 02 A6 */ mflr r0 -/* 80D3F284 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3F288 4B FF FF 79 */ bl _delete__13daObjZCloth_cFv -/* 80D3F28C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3F290 7C 08 03 A6 */ mtlr r0 -/* 80D3F294 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3F298 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Draw__FP13daObjZCloth_c.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Draw__FP13daObjZCloth_c.s deleted file mode 100644 index 5d368503257..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Draw__FP13daObjZCloth_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D3F23C: -/* 80D3F23C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3F240 7C 08 02 A6 */ mflr r0 -/* 80D3F244 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3F248 4B FF FF 89 */ bl draw__13daObjZCloth_cFv -/* 80D3F24C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3F250 7C 08 03 A6 */ mtlr r0 -/* 80D3F254 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3F258 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Execute__FP13daObjZCloth_c.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Execute__FP13daObjZCloth_c.s deleted file mode 100644 index b3cb21593c6..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Execute__FP13daObjZCloth_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D3F25C: -/* 80D3F25C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3F260 7C 08 02 A6 */ mflr r0 -/* 80D3F264 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3F268 4B FF FF 45 */ bl execute__13daObjZCloth_cFv -/* 80D3F26C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3F270 7C 08 03 A6 */ mtlr r0 -/* 80D3F274 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3F278 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/draw__13daObjZCloth_cFv.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/draw__13daObjZCloth_cFv.s deleted file mode 100644 index 3c01284e9ea..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/draw__13daObjZCloth_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80D3F1D0: -/* 80D3F1D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3F1D4 7C 08 02 A6 */ mflr r0 -/* 80D3F1D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3F1DC 81 83 05 68 */ lwz r12, 0x568(r3) -/* 80D3F1E0 81 8C 00 08 */ lwz r12, 8(r12) -/* 80D3F1E4 7D 89 03 A6 */ mtctr r12 -/* 80D3F1E8 4E 80 04 21 */ bctrl -/* 80D3F1EC 38 60 00 01 */ li r3, 1 -/* 80D3F1F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3F1F4 7C 08 03 A6 */ mtlr r0 -/* 80D3F1F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3F1FC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/execute__13daObjZCloth_cFv.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/execute__13daObjZCloth_cFv.s deleted file mode 100644 index 7ce082a82a6..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/execute__13daObjZCloth_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80D3F1AC: -/* 80D3F1AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3F1B0 7C 08 02 A6 */ mflr r0 -/* 80D3F1B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3F1B8 4B FF FC 9D */ bl setBaseMtx__13daObjZCloth_cFv -/* 80D3F1BC 38 60 00 01 */ li r3, 1 -/* 80D3F1C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3F1C4 7C 08 03 A6 */ mtlr r0 -/* 80D3F1C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3F1CC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/initBaseMtx__13daObjZCloth_cFv.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/initBaseMtx__13daObjZCloth_cFv.s deleted file mode 100644 index 848a58f8122..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/initBaseMtx__13daObjZCloth_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80D3EE18: -/* 80D3EE18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3EE1C 7C 08 02 A6 */ mflr r0 -/* 80D3EE20 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3EE24 80 83 05 74 */ lwz r4, 0x574(r3) -/* 80D3EE28 C0 03 04 EC */ lfs f0, 0x4ec(r3) -/* 80D3EE2C D0 04 00 18 */ stfs f0, 0x18(r4) -/* 80D3EE30 C0 03 04 F0 */ lfs f0, 0x4f0(r3) -/* 80D3EE34 D0 04 00 1C */ stfs f0, 0x1c(r4) -/* 80D3EE38 C0 03 04 F4 */ lfs f0, 0x4f4(r3) -/* 80D3EE3C D0 04 00 20 */ stfs f0, 0x20(r4) -/* 80D3EE40 48 00 00 15 */ bl setBaseMtx__13daObjZCloth_cFv -/* 80D3EE44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3EE48 7C 08 03 A6 */ mtlr r0 -/* 80D3EE4C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3EE50 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/setBaseMtx__13daObjZCloth_cFv.s b/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/setBaseMtx__13daObjZCloth_cFv.s deleted file mode 100644 index 78de69a64f4..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/setBaseMtx__13daObjZCloth_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80D3EE54: -/* 80D3EE54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D3EE58 7C 08 02 A6 */ mflr r0 -/* 80D3EE5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D3EE60 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D3EE64 7C 7F 1B 78 */ mr r31, r3 -/* 80D3EE68 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D3EE6C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D3EE70 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 80D3EE74 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 80D3EE78 C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 80D3EE7C 4B 60 7A 6D */ bl PSMTXTrans -/* 80D3EE80 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D3EE84 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D3EE88 A8 9F 04 E4 */ lha r4, 0x4e4(r31) -/* 80D3EE8C A8 BF 04 E6 */ lha r5, 0x4e6(r31) -/* 80D3EE90 A8 DF 04 E8 */ lha r6, 0x4e8(r31) -/* 80D3EE94 4B 2C D4 0D */ bl mDoMtx_ZXYrotM__FPA4_fsss -/* 80D3EE98 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D3EE9C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D3EEA0 80 9F 05 74 */ lwz r4, 0x574(r31) -/* 80D3EEA4 38 84 00 24 */ addi r4, r4, 0x24 -/* 80D3EEA8 4B 60 76 09 */ bl PSMTXCopy -/* 80D3EEAC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D3EEB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D3EEB4 7C 08 03 A6 */ mtlr r0 -/* 80D3EEB8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D3EEBC 4E 80 00 20 */ blr diff --git a/include/d/menu/d_menu_fishing.h b/include/d/menu/d_menu_fishing.h index 5bc8d58e602..a1f99185f6f 100644 --- a/include/d/menu/d_menu_fishing.h +++ b/include/d/menu/d_menu_fishing.h @@ -43,8 +43,8 @@ private: /* 0x014 */ mDoDvdThd_mountArchive_c* field_0x14; /* 0x018 */ J2DScreen* mpScreen; /* 0x01C */ J2DScreen* mpIconScreen; - /* 0x020 */ J2DTextBox* field_0x20[5]; - /* 0x034 */ J2DTextBox* field_0x34[5]; + /* 0x020 */ J2DTextBox* mpAButtonString[5]; + /* 0x034 */ J2DTextBox* mpBButtonString[5]; /* 0x048 */ CPaneMgr* mpParent; /* 0x04C */ CPaneMgr* mpFishParent[6]; /* 0x064 */ CPaneMgr* mpFishParts[6][6]; diff --git a/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.cpp b/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.cpp index f78e10558aa..c36da6575ca 100644 --- a/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.cpp +++ b/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.cpp @@ -5,88 +5,29 @@ #include "rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h" #include "dol2asm.h" -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_item_data.h" +#include "d/a/d_a_itembase_static.h" // // Types: // -struct request_of_phase_process_class {}; -struct mDoMtx_stack_c { - static u8 now[48]; -}; -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daObjZCloth_c { +class daObjZCloth_c : public daItemBase_c { +public: /* 80D3EE18 */ void initBaseMtx(); /* 80D3EE54 */ void setBaseMtx(); - /* 80D3EEC0 */ void Create(); - /* 80D3EF0C */ void create(); - /* 80D3F1AC */ void execute(); - /* 80D3F1D0 */ void draw(); - /* 80D3F200 */ void _delete(); -}; + /* 80D3EEC0 */ int Create(); + /* 80D3EF0C */ int create(); + /* 80D3F1AC */ int execute(); + /* 80D3F1D0 */ int draw(); + /* 80D3F200 */ int _delete(); +}; // Size: 0x92C -struct daItemBase_c { - /* 8014474C */ bool clothCreate(); - /* 80144754 */ bool __CreateHeap(); - /* 80144B94 */ void DrawBase(); - /* 80144C30 */ void RotateYBase(); - /* 80144C7C */ void setListStart(); - /* 80144CC4 */ void settingBeforeDraw(); - /* 80144D18 */ void setTevStr(); - /* 80144D70 */ void setShadow(); - /* 80144EDC */ void animEntry(); - /* 80145144 */ void chkFlag(int); - /* 80145164 */ void getTevFrm(); - /* 80145180 */ void getBtpFrm(); - /* 8014519C */ void getShadowSize(); - /* 801451B4 */ void getCollisionH(); - /* 801451D0 */ void getCollisionR(); -}; -struct dItem_data { - static void* field_item_res[1020]; -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80D3F13C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); -}; - -struct cM3dGCyl { - /* 80D3F0AC */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80D3F0F4 */ ~cM3dGAab(); -}; - -struct J3DModelData {}; // // Forward References: @@ -142,12 +83,8 @@ extern "C" void getShadowSize__12daItemBase_cFv(); extern "C" void getCollisionH__12daItemBase_cFv(); extern "C" void getCollisionR__12daItemBase_cFv(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); 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" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" void* field_item_res__10dItem_data[1020]; @@ -162,34 +99,25 @@ extern "C" u8 now__14mDoMtx_stack_c[48]; // /* 80D3EE18-80D3EE54 000078 003C+00 1/1 0/0 0/0 .text initBaseMtx__13daObjZCloth_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjZCloth_c::initBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/initBaseMtx__13daObjZCloth_cFv.s" +void daObjZCloth_c::initBaseMtx() { + mpModel->mBaseScale = mScale; + setBaseMtx(); } -#pragma pop /* 80D3EE54-80D3EEC0 0000B4 006C+00 2/2 0/0 0/0 .text setBaseMtx__13daObjZCloth_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjZCloth_c::setBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/setBaseMtx__13daObjZCloth_cFv.s" +void daObjZCloth_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); + PSMTXCopy(mDoMtx_stack_c::now, mpModel->mBaseTransformMtx); } -#pragma pop /* 80D3EEC0-80D3EF0C 000120 004C+00 1/1 0/0 0/0 .text Create__13daObjZCloth_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjZCloth_c::Create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/Create__13daObjZCloth_cFv.s" +int daObjZCloth_c::Create() { + initBaseMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + fopAcM_setCullSizeBox2(this, mpModel->getModelData()); + return 1; } -#pragma pop /* ############################################################################################## */ /* 80D3F2D4-80D3F2F4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjZCloth_Method */ @@ -263,20 +191,42 @@ SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { }; /* 80D3EF0C-80D3F0AC 00016C 01A0+00 1/1 0/0 0/0 .text create__13daObjZCloth_cFv */ +#ifdef NONMATCHING +// Matches but weird vtable +int daObjZCloth_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daObjZCloth_c(); + fopAcM_OnCondition(this, 8); + } + m_itemNo = 0x31; + int phase = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo)); + if (phase == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap, 0x2fb0)) { + return cPhs_ERROR_e; + } + else if (!Create()) { + return cPhs_ERROR_e; + } + } + return phase; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daObjZCloth_c::create() { +asm int daObjZCloth_c::create() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/func_80D3EF0C.s" } #pragma pop +#endif /* 80D3F0AC-80D3F0F4 00030C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// cM3dGCyl::~cM3dGCyl() +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/__dt__8cM3dGCylFv.s" } @@ -286,7 +236,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// cM3dGAab::~cM3dGAab() +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/__dt__8cM3dGAabFv.s" } @@ -296,83 +247,50 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// dBgS_ObjAcch::~dBgS_ObjAcch() +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/__dt__12dBgS_ObjAcchFv.s" } #pragma pop /* 80D3F1AC-80D3F1D0 00040C 0024+00 1/1 0/0 0/0 .text execute__13daObjZCloth_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjZCloth_c::execute() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/execute__13daObjZCloth_cFv.s" +int daObjZCloth_c::execute() { + setBaseMtx(); + return 1; } -#pragma pop /* 80D3F1D0-80D3F200 000430 0030+00 1/1 0/0 0/0 .text draw__13daObjZCloth_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjZCloth_c::draw() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/draw__13daObjZCloth_cFv.s" +int daObjZCloth_c::draw() { + DrawBase(); + return 1; } -#pragma pop /* 80D3F200-80D3F23C 000460 003C+00 1/1 0/0 0/0 .text _delete__13daObjZCloth_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjZCloth_c::_delete() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/_delete__13daObjZCloth_cFv.s" -} -#pragma pop +int daObjZCloth_c::_delete() { + dComIfG_resDelete(&mPhase, dItem_data::getFieldArc(m_itemNo)); + return 1; +} -/* 80D3F23C-80D3F25C 00049C 0020+00 1/0 0/0 0/0 .text daObjZCloth_Draw__FP13daObjZCloth_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjZCloth_Draw(daObjZCloth_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Draw__FP13daObjZCloth_c.s" +/* 80D3F23C-80D3F25C 00049C 0020+00 1/0 0/0 0/0 .text daObjZCloth_Draw__FP13daObjZCloth_c */ +static int daObjZCloth_Draw(daObjZCloth_c* i_this) { + return i_this->draw(); } -#pragma pop /* 80D3F25C-80D3F27C 0004BC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Execute__FP13daObjZCloth_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjZCloth_Execute(daObjZCloth_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Execute__FP13daObjZCloth_c.s" +static int daObjZCloth_Execute(daObjZCloth_c* i_this) { + return i_this->execute(); } -#pragma pop /* 80D3F27C-80D3F29C 0004DC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Delete__FP13daObjZCloth_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjZCloth_Delete(daObjZCloth_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Delete__FP13daObjZCloth_c.s" +static int daObjZCloth_Delete(daObjZCloth_c* i_this) { + return i_this->_delete(); } -#pragma pop -/* 80D3F29C-80D3F2BC 0004FC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Create__FP10fopAc_ac_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjZCloth_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/daObjZCloth_Create__FP10fopAc_ac_c.s" +/* 80D3F29C-80D3F2BC 0004FC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Create__FP10fopAc_ac_c */ +static int daObjZCloth_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80D3F2BC-80D3F2C4 00051C 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ #pragma push diff --git a/src/d/menu/d_menu_fishing.cpp b/src/d/menu/d_menu_fishing.cpp index 48bef773fd2..398f0698a5f 100644 --- a/src/d/menu/d_menu_fishing.cpp +++ b/src/d/menu/d_menu_fishing.cpp @@ -486,24 +486,30 @@ asm void dMenu_Fishing_c::screenSetDoIcon() { #pragma pop /* 801C5EB8-801C5F68 1C07F8 00B0+00 1/1 0/0 0/0 .text setAButtonString__15dMenu_Fishing_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fishing_c::setAButtonString(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_fishing/setAButtonString__15dMenu_Fishing_cFUs.s" +void dMenu_Fishing_c::setAButtonString(u16 i_stringID) { + if (i_stringID == 0) { + for (int i = 0; i < 5; i++) { + strcpy(mpAButtonString[i]->getStringPtr(), ""); + } + } else { + for (int i = 0; i < 5; i++) { + dMeter2Info_getStringKanji(i_stringID, mpAButtonString[i]->getStringPtr(), NULL); + } + } } -#pragma pop /* 801C5F68-801C6018 1C08A8 00B0+00 1/1 0/0 0/0 .text setBButtonString__15dMenu_Fishing_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fishing_c::setBButtonString(u16 param_0) { - nofralloc -#include "asm/d/menu/d_menu_fishing/setBButtonString__15dMenu_Fishing_cFUs.s" +void dMenu_Fishing_c::setBButtonString(u16 i_stringID) { + if (i_stringID == 0) { + for (int i = 0; i < 5; i++) { + strcpy(mpBButtonString[i]->getStringPtr(), ""); + } + } else { + for (int i = 0; i < 5; i++) { + dMeter2Info_getStringKanji(i_stringID, mpBButtonString[i]->getStringPtr(), NULL); + } + } } -#pragma pop /* 801C6018-801C605C 1C0958 0044+00 1/1 0/0 0/0 .text getFigure__15dMenu_Fishing_cFi */ int dMenu_Fishing_c::getFigure(int param_0) {