diff --git a/asm/d/d_item.s b/asm/d/d_item.s index 69d8e46cfd7..4ea53552469 100644 --- a/asm/d/d_item.s +++ b/asm/d/d_item.s @@ -510,7 +510,7 @@ lbl_80097F18: /* 80098654 00095594 3C 60 80 40 */ lis r3, lbl_804061C0@ha /* 80098658 00095598 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l /* 8009865C 0009559C 38 63 00 9C */ addi r3, r3, 0x9c -/* 80098660 000955A0 4B F9 B6 5D */ bl dSv_player_item_c_NS_setRodTypeLevelUp +/* 80098660 000955A0 4B F9 B6 5D */ bl setRodTypeLevelUp__17dSv_player_item_cFv /* 80098664 000955A4 48 00 00 1C */ b lbl_80098680 lbl_80098668: /* 80098668 000955A8 3C 60 80 40 */ lis r3, lbl_804061C0@ha @@ -757,7 +757,7 @@ lbl_80098680: /* 80098A28 00095968 38 63 00 9C */ addi r3, r3, 0x9c /* 80098A2C 0009596C 38 80 00 70 */ li r4, 0x70 /* 80098A30 00095970 38 A0 00 1E */ li r5, 0x1e -/* 80098A34 00095974 4B F9 B0 D5 */ bl dSv_player_item_c_NS_setEmptyBombBag_X1_ +/* 80098A34 00095974 4B F9 B0 D5 */ bl setEmptyBombBag__17dSv_player_item_cFUcUc /* 80098A38 00095978 80 01 00 14 */ lwz r0, 0x14(r1) /* 80098A3C 0009597C 7C 08 03 A6 */ mtlr r0 /* 80098A40 00095980 38 21 00 10 */ addi r1, r1, 0x10 @@ -770,7 +770,7 @@ lbl_80098680: /* 80098A5C 0009599C 38 63 00 9C */ addi r3, r3, 0x9c /* 80098A60 000959A0 38 80 00 70 */ li r4, 0x70 /* 80098A64 000959A4 38 A0 00 1E */ li r5, 0x1e -/* 80098A68 000959A8 4B F9 B0 A1 */ bl dSv_player_item_c_NS_setEmptyBombBag_X1_ +/* 80098A68 000959A8 4B F9 B0 A1 */ bl setEmptyBombBag__17dSv_player_item_cFUcUc /* 80098A6C 000959AC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80098A70 000959B0 7C 08 03 A6 */ mtlr r0 /* 80098A74 000959B4 38 21 00 10 */ addi r1, r1, 0x10 @@ -991,7 +991,7 @@ lbl_80098680: /* 80098DD0 00095D10 38 63 00 9C */ addi r3, r3, 0x9c /* 80098DD4 00095D14 38 80 00 70 */ li r4, 0x70 /* 80098DD8 00095D18 38 A0 00 3C */ li r5, 0x3c -/* 80098DDC 00095D1C 4B F9 AD 2D */ bl dSv_player_item_c_NS_setEmptyBombBag_X1_ +/* 80098DDC 00095D1C 4B F9 AD 2D */ bl setEmptyBombBag__17dSv_player_item_cFUcUc /* 80098DE0 00095D20 80 01 00 14 */ lwz r0, 0x14(r1) /* 80098DE4 00095D24 7C 08 03 A6 */ mtlr r0 /* 80098DE8 00095D28 38 21 00 10 */ addi r1, r1, 0x10 @@ -1004,7 +1004,7 @@ lbl_80098680: /* 80098E04 00095D44 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l /* 80098E08 00095D48 3B E3 00 9C */ addi r31, r3, 0x9c /* 80098E0C 00095D4C 7F E3 FB 78 */ mr r3, r31 -/* 80098E10 00095D50 4B F9 AC 79 */ bl dSv_player_item_c_NS_setEmptyBombBag +/* 80098E10 00095D50 4B F9 AC 79 */ bl setEmptyBombBag__17dSv_player_item_cFv /* 80098E14 00095D54 7F E3 FB 78 */ mr r3, r31 /* 80098E18 00095D58 38 80 00 71 */ li r4, 0x71 /* 80098E1C 00095D5C 38 A0 00 01 */ li r5, 1 @@ -1022,7 +1022,7 @@ lbl_80098680: /* 80098E4C 00095D8C 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l /* 80098E50 00095D90 3B E3 00 9C */ addi r31, r3, 0x9c /* 80098E54 00095D94 7F E3 FB 78 */ mr r3, r31 -/* 80098E58 00095D98 4B F9 AC 31 */ bl dSv_player_item_c_NS_setEmptyBombBag +/* 80098E58 00095D98 4B F9 AC 31 */ bl setEmptyBombBag__17dSv_player_item_cFv /* 80098E5C 00095D9C 7F E3 FB 78 */ mr r3, r31 /* 80098E60 00095DA0 38 80 00 72 */ li r4, 0x72 /* 80098E64 00095DA4 38 A0 00 01 */ li r5, 1 diff --git a/asm/d/d_save.s b/asm/d/d_save.s index 8c4e5e59f3d..23e9ec976bf 100644 --- a/asm/d/d_save.s +++ b/asm/d/d_save.s @@ -2,212 +2,6 @@ .section .text, "ax" # 80032918 -.global dSv_player_item_c_NS_setEmptyBombBag -dSv_player_item_c_NS_setEmptyBombBag: -/* 80033A88 000309C8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80033A8C 000309CC 7C 08 02 A6 */ mflr r0 -/* 80033A90 000309D0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80033A94 000309D4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033A98 000309D8 48 32 E7 45 */ bl _savegpr_29 -/* 80033A9C 000309DC 3B A0 00 00 */ li r29, 0 -/* 80033AA0 000309E0 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033AA4 000309E4 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033AA8 000309E8 3B E3 00 9C */ addi r31, r3, 0x9c -lbl_80033AAC: -/* 80033AAC 000309EC 7F E3 FB 78 */ mr r3, r31 -/* 80033AB0 000309F0 38 1D 00 0F */ addi r0, r29, 0xf -/* 80033AB4 000309F4 54 1E 06 3E */ clrlwi r30, r0, 0x18 -/* 80033AB8 000309F8 7F C4 F3 78 */ mr r4, r30 -/* 80033ABC 000309FC 38 A0 00 01 */ li r5, 1 -/* 80033AC0 00030A00 4B FF F5 71 */ bl getItem__17dSv_player_item_cCFib -/* 80033AC4 00030A04 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80033AC8 00030A08 28 00 00 FF */ cmplwi r0, 0xff -/* 80033ACC 00030A0C 40 82 00 18 */ bne lbl_80033AE4 -/* 80033AD0 00030A10 7F E3 FB 78 */ mr r3, r31 -/* 80033AD4 00030A14 7F C4 F3 78 */ mr r4, r30 -/* 80033AD8 00030A18 38 A0 00 50 */ li r5, 0x50 -/* 80033ADC 00030A1C 4B FF F4 DD */ bl setItem__17dSv_player_item_cFiUc -/* 80033AE0 00030A20 48 00 00 10 */ b lbl_80033AF0 -lbl_80033AE4: -/* 80033AE4 00030A24 3B BD 00 01 */ addi r29, r29, 1 -/* 80033AE8 00030A28 2C 1D 00 03 */ cmpwi r29, 3 -/* 80033AEC 00030A2C 41 80 FF C0 */ blt lbl_80033AAC -lbl_80033AF0: -/* 80033AF0 00030A30 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033AF4 00030A34 48 32 E7 35 */ bl _restgpr_29 -/* 80033AF8 00030A38 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80033AFC 00030A3C 7C 08 03 A6 */ mtlr r0 -/* 80033B00 00030A40 38 21 00 20 */ addi r1, r1, 0x20 -/* 80033B04 00030A44 4E 80 00 20 */ blr - -.global dSv_player_item_c_NS_setEmptyBombBag_X1_ -dSv_player_item_c_NS_setEmptyBombBag_X1_: -/* 80033B08 00030A48 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80033B0C 00030A4C 7C 08 02 A6 */ mflr r0 -/* 80033B10 00030A50 90 01 00 24 */ stw r0, 0x24(r1) -/* 80033B14 00030A54 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033B18 00030A58 48 32 E6 BD */ bl _savegpr_27 -/* 80033B1C 00030A5C 7C 9B 23 78 */ mr r27, r4 -/* 80033B20 00030A60 7C BE 2B 78 */ mr r30, r5 -/* 80033B24 00030A64 3B E0 00 00 */ li r31, 0 -/* 80033B28 00030A68 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033B2C 00030A6C 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033B30 00030A70 3B A3 00 9C */ addi r29, r3, 0x9c -lbl_80033B34: -/* 80033B34 00030A74 7F A3 EB 78 */ mr r3, r29 -/* 80033B38 00030A78 38 1F 00 0F */ addi r0, r31, 0xf -/* 80033B3C 00030A7C 54 1C 06 3E */ clrlwi r28, r0, 0x18 -/* 80033B40 00030A80 7F 84 E3 78 */ mr r4, r28 -/* 80033B44 00030A84 38 A0 00 01 */ li r5, 1 -/* 80033B48 00030A88 4B FF F4 E9 */ bl getItem__17dSv_player_item_cCFib -/* 80033B4C 00030A8C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80033B50 00030A90 28 00 00 FF */ cmplwi r0, 0xff -/* 80033B54 00030A94 40 82 00 74 */ bne lbl_80033BC8 -/* 80033B58 00030A98 7F A3 EB 78 */ mr r3, r29 -/* 80033B5C 00030A9C 7F 84 E3 78 */ mr r4, r28 -/* 80033B60 00030AA0 7F 65 DB 78 */ mr r5, r27 -/* 80033B64 00030AA4 4B FF F4 55 */ bl setItem__17dSv_player_item_cFiUc -/* 80033B68 00030AA8 57 60 06 3E */ clrlwi r0, r27, 0x18 -/* 80033B6C 00030AAC 28 00 00 50 */ cmplwi r0, 0x50 -/* 80033B70 00030AB0 41 82 00 64 */ beq lbl_80033BD4 -/* 80033B74 00030AB4 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033B78 00030AB8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033B7C 00030ABC 3B 83 00 F8 */ addi r28, r3, 0xf8 -/* 80033B80 00030AC0 7F 83 E3 78 */ mr r3, r28 -/* 80033B84 00030AC4 7F 64 DB 78 */ mr r4, r27 -/* 80033B88 00030AC8 48 00 05 71 */ bl dSv_player_item_max_c_NS_getBombNum -/* 80033B8C 00030ACC 57 C4 06 3E */ clrlwi r4, r30, 0x18 -/* 80033B90 00030AD0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80033B94 00030AD4 7C 04 00 40 */ cmplw r4, r0 -/* 80033B98 00030AD8 40 81 00 14 */ ble lbl_80033BAC -/* 80033B9C 00030ADC 7F 83 E3 78 */ mr r3, r28 -/* 80033BA0 00030AE0 7F 64 DB 78 */ mr r4, r27 -/* 80033BA4 00030AE4 48 00 05 55 */ bl dSv_player_item_max_c_NS_getBombNum -/* 80033BA8 00030AE8 7C 7E 1B 78 */ mr r30, r3 -lbl_80033BAC: -/* 80033BAC 00030AEC 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033BB0 00030AF0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033BB4 00030AF4 38 63 00 EC */ addi r3, r3, 0xec -/* 80033BB8 00030AF8 57 E4 06 3E */ clrlwi r4, r31, 0x18 -/* 80033BBC 00030AFC 7F C5 F3 78 */ mr r5, r30 -/* 80033BC0 00030B00 48 00 03 AD */ bl dSv_player_item_record_c_NS_setBombNum -/* 80033BC4 00030B04 48 00 00 10 */ b lbl_80033BD4 -lbl_80033BC8: -/* 80033BC8 00030B08 3B FF 00 01 */ addi r31, r31, 1 -/* 80033BCC 00030B0C 2C 1F 00 03 */ cmpwi r31, 3 -/* 80033BD0 00030B10 41 80 FF 64 */ blt lbl_80033B34 -lbl_80033BD4: -/* 80033BD4 00030B14 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033BD8 00030B18 48 32 E6 49 */ bl _restgpr_27 -/* 80033BDC 00030B1C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80033BE0 00030B20 7C 08 03 A6 */ mtlr r0 -/* 80033BE4 00030B24 38 21 00 20 */ addi r1, r1, 0x20 -/* 80033BE8 00030B28 4E 80 00 20 */ blr - -.global dSv_player_item_c_NS_checkBombBag -dSv_player_item_c_NS_checkBombBag: -/* 80033BEC 00030B2C 38 C0 00 00 */ li r6, 0 -/* 80033BF0 00030B30 38 E0 00 00 */ li r7, 0 -/* 80033BF4 00030B34 54 85 06 3E */ clrlwi r5, r4, 0x18 -/* 80033BF8 00030B38 38 00 00 03 */ li r0, 3 -/* 80033BFC 00030B3C 7C 09 03 A6 */ mtctr r0 -lbl_80033C00: -/* 80033C00 00030B40 38 07 00 0F */ addi r0, r7, 0xf -/* 80033C04 00030B44 7C 03 00 AE */ lbzx r0, r3, r0 -/* 80033C08 00030B48 7C 05 00 40 */ cmplw r5, r0 -/* 80033C0C 00030B4C 40 82 00 10 */ bne lbl_80033C1C -/* 80033C10 00030B50 54 C4 06 3E */ clrlwi r4, r6, 0x18 -/* 80033C14 00030B54 38 04 00 01 */ addi r0, r4, 1 -/* 80033C18 00030B58 54 06 06 3E */ clrlwi r6, r0, 0x18 -lbl_80033C1C: -/* 80033C1C 00030B5C 38 E7 00 01 */ addi r7, r7, 1 -/* 80033C20 00030B60 42 00 FF E0 */ bdnz lbl_80033C00 -/* 80033C24 00030B64 7C C3 33 78 */ mr r3, r6 -/* 80033C28 00030B68 4E 80 00 20 */ blr - -.global dSv_player_item_c_NS_setWarashibeItem -dSv_player_item_c_NS_setWarashibeItem: -/* 80033C2C 00030B6C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80033C30 00030B70 7C 08 02 A6 */ mflr r0 -/* 80033C34 00030B74 90 01 00 24 */ stw r0, 0x24(r1) -/* 80033C38 00030B78 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033C3C 00030B7C 48 32 E5 A1 */ bl _savegpr_29 -/* 80033C40 00030B80 7C 9D 23 78 */ mr r29, r4 -/* 80033C44 00030B84 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033C48 00030B88 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033C4C 00030B8C 38 63 00 9C */ addi r3, r3, 0x9c -/* 80033C50 00030B90 38 80 00 15 */ li r4, 0x15 -/* 80033C54 00030B94 7F A5 EB 78 */ mr r5, r29 -/* 80033C58 00030B98 4B FF F3 61 */ bl setItem__17dSv_player_item_cFiUc -/* 80033C5C 00030B9C 38 00 00 15 */ li r0, 0x15 -/* 80033C60 00030BA0 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033C64 00030BA4 3B E3 61 C0 */ addi r31, r3, lbl_804061C0@l -/* 80033C68 00030BA8 98 1F 5E 7D */ stb r0, 0x5e7d(r31) -/* 80033C6C 00030BAC 9B BF 5E 7E */ stb r29, 0x5e7e(r31) -/* 80033C70 00030BB0 3B A0 00 00 */ li r29, 0 -lbl_80033C74: -/* 80033C74 00030BB4 7F E3 FB 78 */ mr r3, r31 -/* 80033C78 00030BB8 57 BE 06 3E */ clrlwi r30, r29, 0x18 -/* 80033C7C 00030BBC 7F C4 F3 78 */ mr r4, r30 -/* 80033C80 00030BC0 4B FF ED DD */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 80033C84 00030BC4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80033C88 00030BC8 28 00 00 15 */ cmplwi r0, 0x15 -/* 80033C8C 00030BCC 40 82 00 0C */ bne lbl_80033C98 -/* 80033C90 00030BD0 7F C3 F3 78 */ mr r3, r30 -/* 80033C94 00030BD4 4B FF A1 61 */ bl dComIfGp_setSelectItem -lbl_80033C98: -/* 80033C98 00030BD8 3B BD 00 01 */ addi r29, r29, 1 -/* 80033C9C 00030BDC 2C 1D 00 04 */ cmpwi r29, 4 -/* 80033CA0 00030BE0 41 80 FF D4 */ blt lbl_80033C74 -/* 80033CA4 00030BE4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033CA8 00030BE8 48 32 E5 81 */ bl _restgpr_29 -/* 80033CAC 00030BEC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80033CB0 00030BF0 7C 08 03 A6 */ mtlr r0 -/* 80033CB4 00030BF4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80033CB8 00030BF8 4E 80 00 20 */ blr - -.global dSv_player_item_c_NS_setRodTypeLevelUp -dSv_player_item_c_NS_setRodTypeLevelUp: -/* 80033CBC 00030BFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80033CC0 00030C00 7C 08 02 A6 */ mflr r0 -/* 80033CC4 00030C04 90 01 00 14 */ stw r0, 0x14(r1) -/* 80033CC8 00030C08 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80033CCC 00030C0C 88 03 00 14 */ lbz r0, 0x14(r3) -/* 80033CD0 00030C10 2C 00 00 5B */ cmpwi r0, 0x5b -/* 80033CD4 00030C14 41 82 00 20 */ beq lbl_80033CF4 -/* 80033CD8 00030C18 40 80 00 10 */ bge lbl_80033CE8 -/* 80033CDC 00030C1C 2C 00 00 4A */ cmpwi r0, 0x4a -/* 80033CE0 00030C20 41 82 00 2C */ beq lbl_80033D0C -/* 80033CE4 00030C24 48 00 00 30 */ b lbl_80033D14 -lbl_80033CE8: -/* 80033CE8 00030C28 2C 00 00 5D */ cmpwi r0, 0x5d -/* 80033CEC 00030C2C 41 82 00 14 */ beq lbl_80033D00 -/* 80033CF0 00030C30 48 00 00 24 */ b lbl_80033D14 -lbl_80033CF4: -/* 80033CF4 00030C34 38 00 00 5E */ li r0, 0x5e -/* 80033CF8 00030C38 98 03 00 14 */ stb r0, 0x14(r3) -/* 80033CFC 00030C3C 48 00 00 18 */ b lbl_80033D14 -lbl_80033D00: -/* 80033D00 00030C40 38 00 00 5F */ li r0, 0x5f -/* 80033D04 00030C44 98 03 00 14 */ stb r0, 0x14(r3) -/* 80033D08 00030C48 48 00 00 0C */ b lbl_80033D14 -lbl_80033D0C: -/* 80033D0C 00030C4C 38 00 00 5C */ li r0, 0x5c -/* 80033D10 00030C50 98 03 00 14 */ stb r0, 0x14(r3) -lbl_80033D14: -/* 80033D14 00030C54 3B E0 00 00 */ li r31, 0 -lbl_80033D18: -/* 80033D18 00030C58 7F E3 FB 78 */ mr r3, r31 -/* 80033D1C 00030C5C 4B FF A0 D9 */ bl dComIfGp_setSelectItem -/* 80033D20 00030C60 3B FF 00 01 */ addi r31, r31, 1 -/* 80033D24 00030C64 2C 1F 00 04 */ cmpwi r31, 4 -/* 80033D28 00030C68 41 80 FF F0 */ blt lbl_80033D18 -/* 80033D2C 00030C6C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80033D30 00030C70 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80033D34 00030C74 7C 08 03 A6 */ mtlr r0 -/* 80033D38 00030C78 38 21 00 10 */ addi r1, r1, 0x10 -/* 80033D3C 00030C7C 4E 80 00 20 */ blr - .global dSv_player_item_c_NS_setBaitItem dSv_player_item_c_NS_setBaitItem: /* 80033D40 00030C80 94 21 FF F0 */ stwu r1, -0x10(r1) diff --git a/asm/d/msg/d_msg_flow.s b/asm/d/msg/d_msg_flow.s index 942d85dd7ec..7ba45ffcbc0 100644 --- a/asm/d/msg/d_msg_flow.s +++ b/asm/d/msg/d_msg_flow.s @@ -1869,7 +1869,7 @@ lbl_8024B8C8: /* 8024B928 00248868 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l /* 8024B92C 0024886C 38 63 00 9C */ addi r3, r3, 0x9c /* 8024B930 00248870 38 80 00 FF */ li r4, 0xff -/* 8024B934 00248874 4B DE 82 B9 */ bl dSv_player_item_c_NS_checkBombBag +/* 8024B934 00248874 4B DE 82 B9 */ bl checkBombBag__17dSv_player_item_cFUc /* 8024B938 00248878 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 8024B93C 0024887C 20 00 00 03 */ subfic r0, r0, 3 /* 8024B940 00248880 54 03 04 3E */ clrlwi r3, r0, 0x10 @@ -3937,7 +3937,7 @@ lbl_8024D768: /* 8024D7A4 0024A6E4 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l /* 8024D7A8 0024A6E8 38 63 00 9C */ addi r3, r3, 0x9c /* 8024D7AC 0024A6EC 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8024D7B0 0024A6F0 4B DE 64 7D */ bl dSv_player_item_c_NS_setWarashibeItem +/* 8024D7B0 0024A6F0 4B DE 64 7D */ bl setWarashibeItem__17dSv_player_item_cFUc /* 8024D7B4 0024A6F4 38 60 00 01 */ li r3, 1 /* 8024D7B8 0024A6F8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8024D7BC 0024A6FC 7C 08 03 A6 */ mtlr r0 @@ -3984,7 +3984,7 @@ lbl_8024D848: /* 8024D84C 0024A78C 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l /* 8024D850 0024A790 38 63 00 9C */ addi r3, r3, 0x9c /* 8024D854 0024A794 38 80 00 FF */ li r4, 0xff -/* 8024D858 0024A798 4B DE 63 D5 */ bl dSv_player_item_c_NS_setWarashibeItem +/* 8024D858 0024A798 4B DE 63 D5 */ bl setWarashibeItem__17dSv_player_item_cFUc lbl_8024D85C: /* 8024D85C 0024A79C 38 60 00 01 */ li r3, 1 /* 8024D860 0024A7A0 80 01 00 14 */ lwz r0, 0x14(r1) diff --git a/include/func_80033A88.s b/include/func_80033A88.s new file mode 100644 index 00000000000..54764774b29 --- /dev/null +++ b/include/func_80033A88.s @@ -0,0 +1,35 @@ +/* 80033A88 000309C8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80033A8C 000309CC 7C 08 02 A6 */ mflr r0 +/* 80033A90 000309D0 90 01 00 24 */ stw r0, 0x24(r1) +/* 80033A94 000309D4 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033A98 000309D8 48 32 E7 45 */ bl _savegpr_29 +/* 80033A9C 000309DC 3B A0 00 00 */ li r29, 0 +/* 80033AA0 000309E0 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033AA4 000309E4 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033AA8 000309E8 3B E3 00 9C */ addi r31, r3, 0x9c +lbl_80033AAC: +/* 80033AAC 000309EC 7F E3 FB 78 */ mr r3, r31 +/* 80033AB0 000309F0 38 1D 00 0F */ addi r0, r29, 0xf +/* 80033AB4 000309F4 54 1E 06 3E */ clrlwi r30, r0, 0x18 +/* 80033AB8 000309F8 7F C4 F3 78 */ mr r4, r30 +/* 80033ABC 000309FC 38 A0 00 01 */ li r5, 1 +/* 80033AC0 00030A00 4B FF F5 71 */ bl getItem__17dSv_player_item_cCFib +/* 80033AC4 00030A04 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 80033AC8 00030A08 28 00 00 FF */ cmplwi r0, 0xff +/* 80033ACC 00030A0C 40 82 00 18 */ bne lbl_80033AE4 +/* 80033AD0 00030A10 7F E3 FB 78 */ mr r3, r31 +/* 80033AD4 00030A14 7F C4 F3 78 */ mr r4, r30 +/* 80033AD8 00030A18 38 A0 00 50 */ li r5, 0x50 +/* 80033ADC 00030A1C 4B FF F4 DD */ bl setItem__17dSv_player_item_cFiUc +/* 80033AE0 00030A20 48 00 00 10 */ b lbl_80033AF0 +lbl_80033AE4: +/* 80033AE4 00030A24 3B BD 00 01 */ addi r29, r29, 1 +/* 80033AE8 00030A28 2C 1D 00 03 */ cmpwi r29, 3 +/* 80033AEC 00030A2C 41 80 FF C0 */ blt lbl_80033AAC +lbl_80033AF0: +/* 80033AF0 00030A30 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033AF4 00030A34 48 32 E7 35 */ bl _restgpr_29 +/* 80033AF8 00030A38 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80033AFC 00030A3C 7C 08 03 A6 */ mtlr r0 +/* 80033B00 00030A40 38 21 00 20 */ addi r1, r1, 0x20 +/* 80033B04 00030A44 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033B08.s b/include/func_80033B08.s new file mode 100644 index 00000000000..595335da0e9 --- /dev/null +++ b/include/func_80033B08.s @@ -0,0 +1,61 @@ +/* 80033B08 00030A48 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80033B0C 00030A4C 7C 08 02 A6 */ mflr r0 +/* 80033B10 00030A50 90 01 00 24 */ stw r0, 0x24(r1) +/* 80033B14 00030A54 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033B18 00030A58 48 32 E6 BD */ bl _savegpr_27 +/* 80033B1C 00030A5C 7C 9B 23 78 */ mr r27, r4 +/* 80033B20 00030A60 7C BE 2B 78 */ mr r30, r5 +/* 80033B24 00030A64 3B E0 00 00 */ li r31, 0 +/* 80033B28 00030A68 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033B2C 00030A6C 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033B30 00030A70 3B A3 00 9C */ addi r29, r3, 0x9c +lbl_80033B34: +/* 80033B34 00030A74 7F A3 EB 78 */ mr r3, r29 +/* 80033B38 00030A78 38 1F 00 0F */ addi r0, r31, 0xf +/* 80033B3C 00030A7C 54 1C 06 3E */ clrlwi r28, r0, 0x18 +/* 80033B40 00030A80 7F 84 E3 78 */ mr r4, r28 +/* 80033B44 00030A84 38 A0 00 01 */ li r5, 1 +/* 80033B48 00030A88 4B FF F4 E9 */ bl getItem__17dSv_player_item_cCFib +/* 80033B4C 00030A8C 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 80033B50 00030A90 28 00 00 FF */ cmplwi r0, 0xff +/* 80033B54 00030A94 40 82 00 74 */ bne lbl_80033BC8 +/* 80033B58 00030A98 7F A3 EB 78 */ mr r3, r29 +/* 80033B5C 00030A9C 7F 84 E3 78 */ mr r4, r28 +/* 80033B60 00030AA0 7F 65 DB 78 */ mr r5, r27 +/* 80033B64 00030AA4 4B FF F4 55 */ bl setItem__17dSv_player_item_cFiUc +/* 80033B68 00030AA8 57 60 06 3E */ clrlwi r0, r27, 0x18 +/* 80033B6C 00030AAC 28 00 00 50 */ cmplwi r0, 0x50 +/* 80033B70 00030AB0 41 82 00 64 */ beq lbl_80033BD4 +/* 80033B74 00030AB4 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033B78 00030AB8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033B7C 00030ABC 3B 83 00 F8 */ addi r28, r3, 0xf8 +/* 80033B80 00030AC0 7F 83 E3 78 */ mr r3, r28 +/* 80033B84 00030AC4 7F 64 DB 78 */ mr r4, r27 +/* 80033B88 00030AC8 48 00 05 71 */ bl dSv_player_item_max_c_NS_getBombNum +/* 80033B8C 00030ACC 57 C4 06 3E */ clrlwi r4, r30, 0x18 +/* 80033B90 00030AD0 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 80033B94 00030AD4 7C 04 00 40 */ cmplw r4, r0 +/* 80033B98 00030AD8 40 81 00 14 */ ble lbl_80033BAC +/* 80033B9C 00030ADC 7F 83 E3 78 */ mr r3, r28 +/* 80033BA0 00030AE0 7F 64 DB 78 */ mr r4, r27 +/* 80033BA4 00030AE4 48 00 05 55 */ bl dSv_player_item_max_c_NS_getBombNum +/* 80033BA8 00030AE8 7C 7E 1B 78 */ mr r30, r3 +lbl_80033BAC: +/* 80033BAC 00030AEC 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033BB0 00030AF0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033BB4 00030AF4 38 63 00 EC */ addi r3, r3, 0xec +/* 80033BB8 00030AF8 57 E4 06 3E */ clrlwi r4, r31, 0x18 +/* 80033BBC 00030AFC 7F C5 F3 78 */ mr r5, r30 +/* 80033BC0 00030B00 48 00 03 AD */ bl dSv_player_item_record_c_NS_setBombNum +/* 80033BC4 00030B04 48 00 00 10 */ b lbl_80033BD4 +lbl_80033BC8: +/* 80033BC8 00030B08 3B FF 00 01 */ addi r31, r31, 1 +/* 80033BCC 00030B0C 2C 1F 00 03 */ cmpwi r31, 3 +/* 80033BD0 00030B10 41 80 FF 64 */ blt lbl_80033B34 +lbl_80033BD4: +/* 80033BD4 00030B14 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033BD8 00030B18 48 32 E6 49 */ bl _restgpr_27 +/* 80033BDC 00030B1C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80033BE0 00030B20 7C 08 03 A6 */ mtlr r0 +/* 80033BE4 00030B24 38 21 00 20 */ addi r1, r1, 0x20 +/* 80033BE8 00030B28 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033BEC.s b/include/func_80033BEC.s new file mode 100644 index 00000000000..f106e7b0a7b --- /dev/null +++ b/include/func_80033BEC.s @@ -0,0 +1,18 @@ +/* 80033BEC 00030B2C 38 C0 00 00 */ li r6, 0 +/* 80033BF0 00030B30 38 E0 00 00 */ li r7, 0 +/* 80033BF4 00030B34 54 85 06 3E */ clrlwi r5, r4, 0x18 +/* 80033BF8 00030B38 38 00 00 03 */ li r0, 3 +/* 80033BFC 00030B3C 7C 09 03 A6 */ mtctr r0 +lbl_80033C00: +/* 80033C00 00030B40 38 07 00 0F */ addi r0, r7, 0xf +/* 80033C04 00030B44 7C 03 00 AE */ lbzx r0, r3, r0 +/* 80033C08 00030B48 7C 05 00 40 */ cmplw r5, r0 +/* 80033C0C 00030B4C 40 82 00 10 */ bne lbl_80033C1C +/* 80033C10 00030B50 54 C4 06 3E */ clrlwi r4, r6, 0x18 +/* 80033C14 00030B54 38 04 00 01 */ addi r0, r4, 1 +/* 80033C18 00030B58 54 06 06 3E */ clrlwi r6, r0, 0x18 +lbl_80033C1C: +/* 80033C1C 00030B5C 38 E7 00 01 */ addi r7, r7, 1 +/* 80033C20 00030B60 42 00 FF E0 */ bdnz lbl_80033C00 +/* 80033C24 00030B64 7C C3 33 78 */ mr r3, r6 +/* 80033C28 00030B68 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033C2C.s b/include/func_80033C2C.s new file mode 100644 index 00000000000..2cf4862eab0 --- /dev/null +++ b/include/func_80033C2C.s @@ -0,0 +1,38 @@ +/* 80033C2C 00030B6C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80033C30 00030B70 7C 08 02 A6 */ mflr r0 +/* 80033C34 00030B74 90 01 00 24 */ stw r0, 0x24(r1) +/* 80033C38 00030B78 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033C3C 00030B7C 48 32 E5 A1 */ bl _savegpr_29 +/* 80033C40 00030B80 7C 9D 23 78 */ mr r29, r4 +/* 80033C44 00030B84 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033C48 00030B88 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033C4C 00030B8C 38 63 00 9C */ addi r3, r3, 0x9c +/* 80033C50 00030B90 38 80 00 15 */ li r4, 0x15 +/* 80033C54 00030B94 7F A5 EB 78 */ mr r5, r29 +/* 80033C58 00030B98 4B FF F3 61 */ bl setItem__17dSv_player_item_cFiUc +/* 80033C5C 00030B9C 38 00 00 15 */ li r0, 0x15 +/* 80033C60 00030BA0 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033C64 00030BA4 3B E3 61 C0 */ addi r31, r3, lbl_804061C0@l +/* 80033C68 00030BA8 98 1F 5E 7D */ stb r0, 0x5e7d(r31) +/* 80033C6C 00030BAC 9B BF 5E 7E */ stb r29, 0x5e7e(r31) +/* 80033C70 00030BB0 3B A0 00 00 */ li r29, 0 +lbl_80033C74: +/* 80033C74 00030BB4 7F E3 FB 78 */ mr r3, r31 +/* 80033C78 00030BB8 57 BE 06 3E */ clrlwi r30, r29, 0x18 +/* 80033C7C 00030BBC 7F C4 F3 78 */ mr r4, r30 +/* 80033C80 00030BC0 4B FF ED DD */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 80033C84 00030BC4 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 80033C88 00030BC8 28 00 00 15 */ cmplwi r0, 0x15 +/* 80033C8C 00030BCC 40 82 00 0C */ bne lbl_80033C98 +/* 80033C90 00030BD0 7F C3 F3 78 */ mr r3, r30 +/* 80033C94 00030BD4 4B FF A1 61 */ bl dComIfGp_setSelectItem +lbl_80033C98: +/* 80033C98 00030BD8 3B BD 00 01 */ addi r29, r29, 1 +/* 80033C9C 00030BDC 2C 1D 00 04 */ cmpwi r29, 4 +/* 80033CA0 00030BE0 41 80 FF D4 */ blt lbl_80033C74 +/* 80033CA4 00030BE4 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033CA8 00030BE8 48 32 E5 81 */ bl _restgpr_29 +/* 80033CAC 00030BEC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80033CB0 00030BF0 7C 08 03 A6 */ mtlr r0 +/* 80033CB4 00030BF4 38 21 00 20 */ addi r1, r1, 0x20 +/* 80033CB8 00030BF8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033CBC.s b/include/func_80033CBC.s new file mode 100644 index 00000000000..6ccfa7a6b97 --- /dev/null +++ b/include/func_80033CBC.s @@ -0,0 +1,39 @@ +/* 80033CBC 00030BFC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80033CC0 00030C00 7C 08 02 A6 */ mflr r0 +/* 80033CC4 00030C04 90 01 00 14 */ stw r0, 0x14(r1) +/* 80033CC8 00030C08 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80033CCC 00030C0C 88 03 00 14 */ lbz r0, 0x14(r3) +/* 80033CD0 00030C10 2C 00 00 5B */ cmpwi r0, 0x5b +/* 80033CD4 00030C14 41 82 00 20 */ beq lbl_80033CF4 +/* 80033CD8 00030C18 40 80 00 10 */ bge lbl_80033CE8 +/* 80033CDC 00030C1C 2C 00 00 4A */ cmpwi r0, 0x4a +/* 80033CE0 00030C20 41 82 00 2C */ beq lbl_80033D0C +/* 80033CE4 00030C24 48 00 00 30 */ b lbl_80033D14 +lbl_80033CE8: +/* 80033CE8 00030C28 2C 00 00 5D */ cmpwi r0, 0x5d +/* 80033CEC 00030C2C 41 82 00 14 */ beq lbl_80033D00 +/* 80033CF0 00030C30 48 00 00 24 */ b lbl_80033D14 +lbl_80033CF4: +/* 80033CF4 00030C34 38 00 00 5E */ li r0, 0x5e +/* 80033CF8 00030C38 98 03 00 14 */ stb r0, 0x14(r3) +/* 80033CFC 00030C3C 48 00 00 18 */ b lbl_80033D14 +lbl_80033D00: +/* 80033D00 00030C40 38 00 00 5F */ li r0, 0x5f +/* 80033D04 00030C44 98 03 00 14 */ stb r0, 0x14(r3) +/* 80033D08 00030C48 48 00 00 0C */ b lbl_80033D14 +lbl_80033D0C: +/* 80033D0C 00030C4C 38 00 00 5C */ li r0, 0x5c +/* 80033D10 00030C50 98 03 00 14 */ stb r0, 0x14(r3) +lbl_80033D14: +/* 80033D14 00030C54 3B E0 00 00 */ li r31, 0 +lbl_80033D18: +/* 80033D18 00030C58 7F E3 FB 78 */ mr r3, r31 +/* 80033D1C 00030C5C 4B FF A0 D9 */ bl dComIfGp_setSelectItem +/* 80033D20 00030C60 3B FF 00 01 */ addi r31, r31, 1 +/* 80033D24 00030C64 2C 1F 00 04 */ cmpwi r31, 4 +/* 80033D28 00030C68 41 80 FF F0 */ blt lbl_80033D18 +/* 80033D2C 00030C6C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80033D30 00030C70 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80033D34 00030C74 7C 08 03 A6 */ mtlr r0 +/* 80033D38 00030C78 38 21 00 10 */ addi r1, r1, 0x10 +/* 80033D3C 00030C7C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/src/d/d_save/d_save.cpp b/src/d/d_save/d_save.cpp index 18f801caefb..3d0a827e197 100644 --- a/src/d/d_save/d_save.cpp +++ b/src/d/d_save/d_save.cpp @@ -374,10 +374,8 @@ asm void dSv_player_item_c::setBottleItemIn(u8, u8){ // this is 1 instruction off // void dSv_player_item_c::setEmptyBottleItemIn(u8 i_item_id){ -// u8 item_id; - -// item_id = dSv_item_rename(i_item_id); -// setBottleItemIn(EMPTY_BOTTLE,item_id); +// u8 item_id = (dSv_item_rename(i_item_id)); +// setBottleItemIn(96,item_id); // } asm void dSv_player_item_c::setEmptyBottleItemIn(u8){ @@ -400,13 +398,8 @@ asm void dSv_player_item_c::setEquipBottleItemIn(u8, u8) { #include "func_80033598.s" } -// void dSv_player_item_c::setEquipBottleItemEmpty(u8 selected_index) { -// setEquipBottleItemIn__17dSv_player_item_cFUcUc(selected_index,(u8)EMPTY_BOTTLE); -// } - -asm void dSv_player_item_c::setEquipBottleItemEmpty(u8){ - nofralloc - #include "func_800336BC.s" +void dSv_player_item_c::setEquipBottleItemEmpty(u8 selected_index) { + setEquipBottleItemIn(selected_index,EMPTY_BOTTLE); } u8 dSv_player_item_c::checkBottle(u8 i_item_id){ @@ -450,10 +443,80 @@ asm void dSv_player_item_c::setBombBagItemIn(u8, u8, u8, bool) { void dSv_player_item_c::setEmptyBombBagItemIn(u8 param_1,bool param_2) { setBombBagItemIn(EMPTY_BOMBBAG,param_1,param_2); - return; } void dSv_player_item_c::setEmptyBombBagItemIn(u8 param_1,u8 param_2, bool param_3) { setBombBagItemIn(EMPTY_BOMBBAG,param_1,param_2,param_3); - return; +} + +// this is a few instructions off +// void dSv_player_item_c::setEmptyBombBag(void) { + +// int current_item_index; +// u8 uVar1; + +// for (int i = 0; i < 3; i++) { +// current_item_index = (u8)(i + 15); +// uVar1 = getItem(current_item_index,true); + +// if (uVar1 == 0xff) { +// setItem(current_item_index,80); +// return; +// } +// } +// } + +asm void dSv_player_item_c::setEmptyBombBag(void) { + nofralloc + #include "func_80033A88.s" +} + +asm void dSv_player_item_c::setEmptyBombBag(u8, u8) { + nofralloc + #include "func_80033B08.s" +} + +// this is a few instructions off +// u8 dSv_player_item_c::checkBombBag(u8 param_1) { +// u8 ok = 0; + +// for (int i = 0; i < 3; i++) { +// if (param_1 == this->items[i + 15]) { +// ok = ok + 0x1; +// } +// } +// return ok; +// } + +asm u8 dSv_player_item_c::checkBombBag(u8 param_1) { + nofralloc + #include "func_80033BEC.s" +} + +asm void dSv_player_item_c::setWarashibeItem(u8) { + nofralloc + #include "func_80033C2C.s" +} + +void dSv_player_item_c::setRodTypeLevelUp(void) { + int current_fishing_rod_item_id = this->items[0x14]; + + switch (current_fishing_rod_item_id) { + case ROD_BEE_LARVA: { + this->items[0x14] = ROD_CORAL_EARRING_BEE_LARVA; + break; + } + case ROD_WORM: { + this->items[0x14] = ROD_CORAL_EARRING_WORM; + break; + } + case FISHING_ROD: { + this->items[0x14] = ROD_CORAL_EARRING; + break; + } + } + + for (int i = 0; i < 4; i++) { + dComIfGp_setSelectItem(i); + } } \ No newline at end of file