From 02c62c1132785612116c0b8f12901ac569270c1b Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 22 Nov 2020 15:27:16 -0500 Subject: [PATCH] migrate d_save.cpp inline asm to external files, migrate extern vars and funcs to their own headers --- include/func_80032AF8.s | 24 ++ include/func_80032BB0.s | 8 + include/func_80032BEC.s | 8 + include/func_80032CC8.s | 38 +++ include/func_80032E78.s | 15 + include/func_80032FB8 .s | 0 include/func_80032FB8.s | 33 ++ include/func_80033030.s | 206 ++++++++++++ include/func_80033370.s | 62 ++++ include/func_80033450.s | 17 + include/func_80033494.s | 35 ++ include/func_80033514.s | 36 +++ include/func_80033598.s | 75 +++++ include/func_800336BC.s | 9 + include/func_80033754.s | 41 +++ include/functions.h | 31 ++ include/global.h | 9 + include/variables.h | 8 + src/d/d_save/d_save.cpp | 679 ++------------------------------------- 19 files changed, 678 insertions(+), 656 deletions(-) create mode 100644 include/func_80032AF8.s create mode 100644 include/func_80032BB0.s create mode 100644 include/func_80032BEC.s create mode 100644 include/func_80032CC8.s create mode 100644 include/func_80032E78.s create mode 100644 include/func_80032FB8 .s create mode 100644 include/func_80032FB8.s create mode 100644 include/func_80033030.s create mode 100644 include/func_80033370.s create mode 100644 include/func_80033450.s create mode 100644 include/func_80033494.s create mode 100644 include/func_80033514.s create mode 100644 include/func_80033598.s create mode 100644 include/func_800336BC.s create mode 100644 include/func_80033754.s create mode 100644 include/functions.h create mode 100644 include/global.h create mode 100644 include/variables.h diff --git a/include/func_80032AF8.s b/include/func_80032AF8.s new file mode 100644 index 00000000000..092714e4bc5 --- /dev/null +++ b/include/func_80032AF8.s @@ -0,0 +1,24 @@ +/* 80032AF8 0002FA38 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80032AFC 0002FA3C 7C 08 02 A6 */ mflr r0 +/* 80032B00 0002FA40 90 01 00 14 */ stw r0, 0x14(r1) +/* 80032B04 0002FA44 54 84 06 3F */ clrlwi. r4, r4, 0x18 +/* 80032B08 0002FA48 40 82 00 1C */ bne lbl_80032B24 +/* 80032B0C 0002FA4C 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80032B10 0002FA50 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80032B14 0002FA54 38 63 07 F0 */ addi r3, r3, 0x7f0 +/* 80032B18 0002FA58 38 80 23 04 */ li r4, 0x2304 +/* 80032B1C 0002FA5C 48 00 1E A1 */ bl dSv_event_c_NS_isEventBit +/* 80032B20 0002FA60 48 00 00 20 */ b lbl_80032B40 +lbl_80032B24: +/* 80032B24 0002FA64 88 63 00 1C */ lbz r3, 0x1c(r3) +/* 80032B28 0002FA68 38 00 00 01 */ li r0, 1 +/* 80032B2C 0002FA6C 7C 00 20 30 */ slw r0, r0, r4 +/* 80032B30 0002FA70 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 80032B34 0002FA74 7C 63 00 38 */ and r3, r3, r0 +/* 80032B38 0002FA78 30 03 FF FF */ addic r0, r3, -1 +/* 80032B3C 0002FA7C 7C 60 19 10 */ subfe r3, r0, r3 +lbl_80032B40: +/* 80032B40 0002FA80 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80032B44 0002FA84 7C 08 03 A6 */ mtlr r0 +/* 80032B48 0002FA88 38 21 00 10 */ addi r1, r1, 0x10 +/* 80032B4C 0002FA8C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80032BB0.s b/include/func_80032BB0.s new file mode 100644 index 00000000000..b81907fd093 --- /dev/null +++ b/include/func_80032BB0.s @@ -0,0 +1,8 @@ +/* 80032BB0 0002FAF0 88 63 00 09 */ lbz r3, 9(r3) +/* 80032BB4 0002FAF4 38 00 00 01 */ li r0, 1 +/* 80032BB8 0002FAF8 7C 00 20 30 */ slw r0, r0, r4 +/* 80032BBC 0002FAFC 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 80032BC0 0002FB00 7C 63 00 38 */ and r3, r3, r0 +/* 80032BC4 0002FB04 30 03 FF FF */ addic r0, r3, -1 +/* 80032BC8 0002FB08 7C 60 19 10 */ subfe r3, r0, r3 +/* 80032BCC 0002FB0C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80032BEC.s b/include/func_80032BEC.s new file mode 100644 index 00000000000..f2d8144ee91 --- /dev/null +++ b/include/func_80032BEC.s @@ -0,0 +1,8 @@ +/* 80032BEC 0002FB2C 88 63 00 08 */ lbz r3, 8(r3) +/* 80032BF0 0002FB30 38 00 00 01 */ li r0, 1 +/* 80032BF4 0002FB34 7C 00 20 30 */ slw r0, r0, r4 +/* 80032BF8 0002FB38 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 80032BFC 0002FB3C 7C 63 00 38 */ and r3, r3, r0 +/* 80032C00 0002FB40 30 03 FF FF */ addic r0, r3, -1 +/* 80032C04 0002FB44 7C 60 19 10 */ subfe r3, r0, r3 +/* 80032C08 0002FB48 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80032CC8.s b/include/func_80032CC8.s new file mode 100644 index 00000000000..590a2db792b --- /dev/null +++ b/include/func_80032CC8.s @@ -0,0 +1,38 @@ +/* 80032CC8 0002FC08 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80032CCC 0002FC0C 7C 08 02 A6 */ mflr r0 +/* 80032CD0 0002FC10 90 01 00 14 */ stw r0, 0x14(r1) +/* 80032CD4 0002FC14 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80032CD8 0002FC18 7C 7F 1B 78 */ mr r31, r3 +/* 80032CDC 0002FC1C 3C 80 80 38 */ lis r4, lbl_80379234@ha +/* 80032CE0 0002FC20 38 84 92 34 */ addi r4, r4, lbl_80379234@l +/* 80032CE4 0002FC24 38 84 00 01 */ addi r4, r4, 1 +/* 80032CE8 0002FC28 48 33 5E 45 */ bl strcpy +/* 80032CEC 0002FC2C 38 00 00 01 */ li r0, 1 +/* 80032CF0 0002FC30 98 1F 00 09 */ stb r0, 9(r31) +/* 80032CF4 0002FC34 38 60 00 00 */ li r3, 0 +/* 80032CF8 0002FC38 98 7F 00 08 */ stb r3, 8(r31) +/* 80032CFC 0002FC3C 38 00 00 15 */ li r0, 0x15 +/* 80032D00 0002FC40 98 1F 00 0A */ stb r0, 0xa(r31) +/* 80032D04 0002FC44 98 7F 00 0B */ stb r3, 0xb(r31) +/* 80032D08 0002FC48 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80032D0C 0002FC4C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80032D10 0002FC50 7C 08 03 A6 */ mtlr r0 +/* 80032D14 0002FC54 38 21 00 10 */ addi r1, r1, 0x10 +/* 80032D18 0002FC58 4E 80 00 20 */ blr +/* 80032D1C 0002FC5C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80032D20 0002FC60 7C 08 02 A6 */ mflr r0 +/* 80032D24 0002FC64 90 01 00 24 */ stw r0, 0x24(r1) +/* 80032D28 0002FC68 39 61 00 20 */ addi r11, r1, 0x20 +/* 80032D2C 0002FC6C 48 32 F4 B1 */ bl _savegpr_29 +/* 80032D30 0002FC70 7C 7D 1B 78 */ mr r29, r3 +/* 80032D34 0002FC74 7C BE 2B 78 */ mr r30, r5 +/* 80032D38 0002FC78 7C DF 33 78 */ mr r31, r6 +/* 80032D3C 0002FC7C 48 33 5D F1 */ bl strcpy +/* 80032D40 0002FC80 9B DD 00 09 */ stb r30, 9(r29) +/* 80032D44 0002FC84 9B FD 00 08 */ stb r31, 8(r29) +/* 80032D48 0002FC88 39 61 00 20 */ addi r11, r1, 0x20 +/* 80032D4C 0002FC8C 48 32 F4 DD */ bl _restgpr_29 +/* 80032D50 0002FC90 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80032D54 0002FC94 7C 08 03 A6 */ mtlr r0 +/* 80032D58 0002FC98 38 21 00 20 */ addi r1, r1, 0x20 +/* 80032D5C 0002FC9C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80032E78.s b/include/func_80032E78.s new file mode 100644 index 00000000000..5c9d4e0bfbc --- /dev/null +++ b/include/func_80032E78.s @@ -0,0 +1,15 @@ +/* 80032E78 0002FDB8 2C 04 00 00 */ cmpwi r4, 0 +/* 80032E7C 0002FDBC 41 80 00 2C */ blt lbl_80032EA8 +/* 80032E80 0002FDC0 2C 04 00 08 */ cmpwi r4, 8 +/* 80032E84 0002FDC4 40 80 00 24 */ bge lbl_80032EA8 +/* 80032E88 0002FDC8 88 63 00 19 */ lbz r3, 0x19(r3) +/* 80032E8C 0002FDCC 38 00 00 01 */ li r0, 1 +/* 80032E90 0002FDD0 7C 00 20 30 */ slw r0, r0, r4 +/* 80032E94 0002FDD4 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 80032E98 0002FDD8 7C 63 00 38 */ and r3, r3, r0 +/* 80032E9C 0002FDDC 30 03 FF FF */ addic r0, r3, -1 +/* 80032EA0 0002FDE0 7C 60 19 10 */ subfe r3, r0, r3 +/* 80032EA4 0002FDE4 4E 80 00 20 */ blr +lbl_80032EA8: +/* 80032EA8 0002FDE8 38 60 00 00 */ li r3, 0 +/* 80032EAC 0002FDEC 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80032FB8 .s b/include/func_80032FB8 .s new file mode 100644 index 00000000000..e69de29bb2d diff --git a/include/func_80032FB8.s b/include/func_80032FB8.s new file mode 100644 index 00000000000..69e936634b1 --- /dev/null +++ b/include/func_80032FB8.s @@ -0,0 +1,33 @@ +/* 80032FB8 0002FEF8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80032FBC 0002FEFC 7C 08 02 A6 */ mflr r0 +/* 80032FC0 0002FF00 90 01 00 24 */ stw r0, 0x24(r1) +/* 80032FC4 0002FF04 39 61 00 20 */ addi r11, r1, 0x20 +/* 80032FC8 0002FF08 48 32 F2 15 */ bl _savegpr_29 +/* 80032FCC 0002FF0C 7C 9D 23 78 */ mr r29, r4 +/* 80032FD0 0002FF10 2C 1D 00 18 */ cmpwi r29, 0x18 +/* 80032FD4 0002FF14 40 80 00 0C */ bge lbl_80032FE0 +/* 80032FD8 0002FF18 7C A3 E9 AE */ stbx r5, r3, r29 +/* 80032FDC 0002FF1C 48 00 03 1D */ bl setLineUpItem__17dSv_player_item_cFv +lbl_80032FE0: +/* 80032FE0 0002FF20 3B C0 00 00 */ li r30, 0 +/* 80032FE4 0002FF24 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80032FE8 0002FF28 3B E3 61 C0 */ addi r31, r3, lbl_804061C0@l +lbl_80032FEC: +/* 80032FEC 0002FF2C 7F E3 FB 78 */ mr r3, r31 +/* 80032FF0 0002FF30 7F C4 F3 78 */ mr r4, r30 +/* 80032FF4 0002FF34 4B FF FA 69 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 80032FF8 0002FF38 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 80032FFC 0002FF3C 7C 1D 00 00 */ cmpw r29, r0 +/* 80033000 0002FF40 40 82 00 0C */ bne lbl_8003300C +/* 80033004 0002FF44 7F C3 F3 78 */ mr r3, r30 +/* 80033008 0002FF48 4B FF AD ED */ bl dComIfGp_setSelectItem +lbl_8003300C: +/* 8003300C 0002FF4C 3B DE 00 01 */ addi r30, r30, 1 +/* 80033010 0002FF50 2C 1E 00 03 */ cmpwi r30, 3 +/* 80033014 0002FF54 41 80 FF D8 */ blt lbl_80032FEC +/* 80033018 0002FF58 39 61 00 20 */ addi r11, r1, 0x20 +/* 8003301C 0002FF5C 48 32 F2 0D */ bl _restgpr_29 +/* 80033020 0002FF60 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80033024 0002FF64 7C 08 03 A6 */ mtlr r0 +/* 80033028 0002FF68 38 21 00 20 */ addi r1, r1, 0x20 +/* 8003302C 0002FF6C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033030.s b/include/func_80033030.s new file mode 100644 index 00000000000..611346b58d4 --- /dev/null +++ b/include/func_80033030.s @@ -0,0 +1,206 @@ +/* 80033030 0002FF70 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80033034 0002FF74 7C 08 02 A6 */ mflr r0 +/* 80033038 0002FF78 90 01 00 24 */ stw r0, 0x24(r1) +/* 8003303C 0002FF7C 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033040 0002FF80 48 32 F1 91 */ bl func_803621D0 +/* 80033044 0002FF84 7C 7A 1B 78 */ mr r26, r3 +/* 80033048 0002FF88 7C 9B 23 78 */ mr r27, r4 +/* 8003304C 0002FF8C 2C 1B 00 18 */ cmpwi r27, 0x18 +/* 80033050 0002FF90 40 80 02 8C */ bge lbl_800332DC +/* 80033054 0002FF94 54 A0 06 3F */ clrlwi. r0, r5, 0x18 +/* 80033058 0002FF98 41 82 02 7C */ beq lbl_800332D4 +/* 8003305C 0002FF9C 3B C0 00 00 */ li r30, 0 +/* 80033060 0002FFA0 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033064 0002FFA4 3B E3 61 C0 */ addi r31, r3, lbl_804061C0@l +lbl_80033068: +/* 80033068 0002FFA8 7F E3 FB 78 */ mr r3, r31 +/* 8003306C 0002FFAC 7F C4 F3 78 */ mr r4, r30 +/* 80033070 0002FFB0 4B FF F9 ED */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 80033074 0002FFB4 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 80033078 0002FFB8 7C 1B 00 00 */ cmpw r27, r0 +/* 8003307C 0002FFBC 41 82 00 18 */ beq lbl_80033094 +/* 80033080 0002FFC0 7F C3 F3 78 */ mr r3, r30 +/* 80033084 0002FFC4 4B FF AD 45 */ bl dComIfGs_getMixItemIndex +/* 80033088 0002FFC8 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 8003308C 0002FFCC 7C 1B 00 00 */ cmpw r27, r0 +/* 80033090 0002FFD0 40 82 02 38 */ bne lbl_800332C8 +lbl_80033094: +/* 80033094 0002FFD4 7F C3 F3 78 */ mr r3, r30 +/* 80033098 0002FFD8 4B FF AD 31 */ bl dComIfGs_getMixItemIndex +/* 8003309C 0002FFDC 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 800330A0 0002FFE0 28 00 00 FF */ cmplwi r0, 0xff +/* 800330A4 0002FFE4 41 82 02 24 */ beq lbl_800332C8 +/* 800330A8 0002FFE8 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 800330AC 0002FFEC 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 800330B0 0002FFF0 7F C4 F3 78 */ mr r4, r30 +/* 800330B4 0002FFF4 4B FF F9 A9 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 800330B8 0002FFF8 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 800330BC 0002FFFC 7F BA 00 AE */ lbzx r29, r26, r0 +/* 800330C0 00030000 7F C3 F3 78 */ mr r3, r30 +/* 800330C4 00030004 4B FF AD 05 */ bl dComIfGs_getMixItemIndex +/* 800330C8 00030008 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 800330CC 0003000C 7C 7A 00 AE */ lbzx r3, r26, r0 +/* 800330D0 00030010 7C 7C 1B 78 */ mr r28, r3 +/* 800330D4 00030014 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 800330D8 00030018 28 00 00 43 */ cmplwi r0, 0x43 +/* 800330DC 0003001C 40 82 00 10 */ bne lbl_800330EC +/* 800330E0 00030020 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 800330E4 00030024 28 00 00 70 */ cmplwi r0, 0x70 +/* 800330E8 00030028 41 82 00 1C */ beq lbl_80033104 +lbl_800330EC: +/* 800330EC 0003002C 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 800330F0 00030030 28 00 00 43 */ cmplwi r0, 0x43 +/* 800330F4 00030034 40 82 00 18 */ bne lbl_8003310C +/* 800330F8 00030038 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 800330FC 0003003C 28 00 00 70 */ cmplwi r0, 0x70 +/* 80033100 00030040 40 82 00 0C */ bne lbl_8003310C +lbl_80033104: +/* 80033104 00030044 38 60 00 59 */ li r3, 0x59 +/* 80033108 00030048 48 00 01 D8 */ b lbl_800332E0 +lbl_8003310C: +/* 8003310C 0003004C 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 80033110 00030050 28 00 00 43 */ cmplwi r0, 0x43 +/* 80033114 00030054 40 82 00 10 */ bne lbl_80033124 +/* 80033118 00030058 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 8003311C 0003005C 28 00 00 71 */ cmplwi r0, 0x71 +/* 80033120 00030060 41 82 00 1C */ beq lbl_8003313C +lbl_80033124: +/* 80033124 00030064 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 80033128 00030068 28 00 00 43 */ cmplwi r0, 0x43 +/* 8003312C 0003006C 40 82 00 18 */ bne lbl_80033144 +/* 80033130 00030070 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 80033134 00030074 28 00 00 71 */ cmplwi r0, 0x71 +/* 80033138 00030078 40 82 00 0C */ bne lbl_80033144 +lbl_8003313C: +/* 8003313C 0003007C 38 60 00 59 */ li r3, 0x59 +/* 80033140 00030080 48 00 01 A0 */ b lbl_800332E0 +lbl_80033144: +/* 80033144 00030084 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 80033148 00030088 28 00 00 43 */ cmplwi r0, 0x43 +/* 8003314C 0003008C 40 82 00 10 */ bne lbl_8003315C +/* 80033150 00030090 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 80033154 00030094 28 00 00 72 */ cmplwi r0, 0x72 +/* 80033158 00030098 41 82 00 1C */ beq lbl_80033174 +lbl_8003315C: +/* 8003315C 0003009C 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 80033160 000300A0 28 00 00 43 */ cmplwi r0, 0x43 +/* 80033164 000300A4 40 82 00 18 */ bne lbl_8003317C +/* 80033168 000300A8 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 8003316C 000300AC 28 00 00 72 */ cmplwi r0, 0x72 +/* 80033170 000300B0 40 82 00 0C */ bne lbl_8003317C +lbl_80033174: +/* 80033174 000300B4 38 60 00 59 */ li r3, 0x59 +/* 80033178 000300B8 48 00 01 68 */ b lbl_800332E0 +lbl_8003317C: +/* 8003317C 000300BC 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 80033180 000300C0 28 00 00 43 */ cmplwi r0, 0x43 +/* 80033184 000300C4 40 82 00 10 */ bne lbl_80033194 +/* 80033188 000300C8 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 8003318C 000300CC 28 00 00 3E */ cmplwi r0, 0x3e +/* 80033190 000300D0 41 82 00 1C */ beq lbl_800331AC +lbl_80033194: +/* 80033194 000300D4 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 80033198 000300D8 28 00 00 43 */ cmplwi r0, 0x43 +/* 8003319C 000300DC 40 82 00 18 */ bne lbl_800331B4 +/* 800331A0 000300E0 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 800331A4 000300E4 28 00 00 3E */ cmplwi r0, 0x3e +/* 800331A8 000300E8 40 82 00 0C */ bne lbl_800331B4 +lbl_800331AC: +/* 800331AC 000300EC 38 60 00 5A */ li r3, 0x5a +/* 800331B0 000300F0 48 00 01 30 */ b lbl_800332E0 +lbl_800331B4: +/* 800331B4 000300F4 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 800331B8 000300F8 28 00 00 4A */ cmplwi r0, 0x4a +/* 800331BC 000300FC 40 82 00 10 */ bne lbl_800331CC +/* 800331C0 00030100 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 800331C4 00030104 28 00 00 76 */ cmplwi r0, 0x76 +/* 800331C8 00030108 41 82 00 1C */ beq lbl_800331E4 +lbl_800331CC: +/* 800331CC 0003010C 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 800331D0 00030110 28 00 00 4A */ cmplwi r0, 0x4a +/* 800331D4 00030114 40 82 00 18 */ bne lbl_800331EC +/* 800331D8 00030118 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 800331DC 0003011C 28 00 00 76 */ cmplwi r0, 0x76 +/* 800331E0 00030120 40 82 00 0C */ bne lbl_800331EC +lbl_800331E4: +/* 800331E4 00030124 38 60 00 5B */ li r3, 0x5b +/* 800331E8 00030128 48 00 00 F8 */ b lbl_800332E0 +lbl_800331EC: +/* 800331EC 0003012C 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 800331F0 00030130 28 00 00 4A */ cmplwi r0, 0x4a +/* 800331F4 00030134 40 82 00 10 */ bne lbl_80033204 +/* 800331F8 00030138 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 800331FC 0003013C 28 00 00 3D */ cmplwi r0, 0x3d +/* 80033200 00030140 41 82 00 1C */ beq lbl_8003321C +lbl_80033204: +/* 80033204 00030144 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 80033208 00030148 28 00 00 4A */ cmplwi r0, 0x4a +/* 8003320C 0003014C 40 82 00 18 */ bne lbl_80033224 +/* 80033210 00030150 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 80033214 00030154 28 00 00 3D */ cmplwi r0, 0x3d +/* 80033218 00030158 40 82 00 0C */ bne lbl_80033224 +lbl_8003321C: +/* 8003321C 0003015C 38 60 00 5C */ li r3, 0x5c +/* 80033220 00030160 48 00 00 C0 */ b lbl_800332E0 +lbl_80033224: +/* 80033224 00030164 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 80033228 00030168 28 00 00 4A */ cmplwi r0, 0x4a +/* 8003322C 0003016C 40 82 00 10 */ bne lbl_8003323C +/* 80033230 00030170 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 80033234 00030174 28 00 00 74 */ cmplwi r0, 0x74 +/* 80033238 00030178 41 82 00 1C */ beq lbl_80033254 +lbl_8003323C: +/* 8003323C 0003017C 57 80 06 3E */ clrlwi r0, r28, 0x18 +/* 80033240 00030180 28 00 00 4A */ cmplwi r0, 0x4a +/* 80033244 00030184 40 82 00 18 */ bne lbl_8003325C +/* 80033248 00030188 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 8003324C 0003018C 28 00 00 74 */ cmplwi r0, 0x74 +/* 80033250 00030190 40 82 00 0C */ bne lbl_8003325C +lbl_80033254: +/* 80033254 00030194 38 60 00 5D */ li r3, 0x5d +/* 80033258 00030198 48 00 00 88 */ b lbl_800332E0 +lbl_8003325C: +/* 8003325C 0003019C 2C 1E 00 03 */ cmpwi r30, 3 +/* 80033260 000301A0 40 82 00 4C */ bne lbl_800332AC +/* 80033264 000301A4 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033268 000301A8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 8003326C 000301AC 7F C4 F3 78 */ mr r4, r30 +/* 80033270 000301B0 4B FF F7 ED */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 80033274 000301B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 80033278 000301B8 40 82 00 34 */ bne lbl_800332AC +/* 8003327C 000301BC 7F C3 F3 78 */ mr r3, r30 +/* 80033280 000301C0 4B FF AB 49 */ bl dComIfGs_getMixItemIndex +/* 80033284 000301C4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 80033288 000301C8 40 82 00 24 */ bne lbl_800332AC +/* 8003328C 000301CC 7F C3 F3 78 */ mr r3, r30 +/* 80033290 000301D0 38 80 00 FF */ li r4, 0xff +/* 80033294 000301D4 4B FF AA 31 */ bl dComIfGs_setSelectItemIndex +/* 80033298 000301D8 7F C3 F3 78 */ mr r3, r30 +/* 8003329C 000301DC 38 80 00 FF */ li r4, 0xff +/* 800332A0 000301E0 4B FF AA 69 */ bl dComIfGs_setMixItemIndex +/* 800332A4 000301E4 38 60 00 FF */ li r3, 0xff +/* 800332A8 000301E8 48 00 00 38 */ b lbl_800332E0 +lbl_800332AC: +/* 800332AC 000301EC 3C 60 80 38 */ lis r3, lbl_80379234@ha +/* 800332B0 000301F0 38 63 92 34 */ addi r3, r3, lbl_80379234@l +/* 800332B4 000301F4 38 63 00 09 */ addi r3, r3, 9 +/* 800332B8 000301F8 57 A4 06 3E */ clrlwi r4, r29, 0x18 +/* 800332BC 000301FC 57 85 06 3E */ clrlwi r5, r28, 0x18 +/* 800332C0 00030200 4C C6 31 82 */ crclr 6 +/* 800332C4 00030204 4B FD 39 49 */ bl OSReport_Error +lbl_800332C8: +/* 800332C8 00030208 3B DE 00 01 */ addi r30, r30, 1 +/* 800332CC 0003020C 2C 1E 00 02 */ cmpwi r30, 2 +/* 800332D0 00030210 41 80 FD 98 */ blt lbl_80033068 +lbl_800332D4: +/* 800332D4 00030214 7C 7A D8 AE */ lbzx r3, r26, r27 +/* 800332D8 00030218 48 00 00 08 */ b lbl_800332E0 +lbl_800332DC: +/* 800332DC 0003021C 38 60 00 FF */ li r3, 0xff +lbl_800332E0: +/* 800332E0 00030220 39 61 00 20 */ addi r11, r1, 0x20 +/* 800332E4 00030224 48 32 EF 39 */ bl func_8036221C +/* 800332E8 00030228 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800332EC 0003022C 7C 08 03 A6 */ mtlr r0 +/* 800332F0 00030230 38 21 00 20 */ addi r1, r1, 0x20 +/* 800332F4 00030234 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033370.s b/include/func_80033370.s new file mode 100644 index 00000000000..dedd1f2be80 --- /dev/null +++ b/include/func_80033370.s @@ -0,0 +1,62 @@ +/* 80033370 000302B0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80033374 000302B4 7C 08 02 A6 */ mflr r0 +/* 80033378 000302B8 90 01 00 24 */ stw r0, 0x24(r1) +/* 8003337C 000302BC 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033380 000302C0 48 32 EE 59 */ bl _savegpr_28 +/* 80033384 000302C4 7C 7C 1B 78 */ mr r28, r3 +/* 80033388 000302C8 7C BD 2B 78 */ mr r29, r5 +/* 8003338C 000302CC 7C 83 23 78 */ mr r3, r4 +/* 80033390 000302D0 4B FF F5 89 */ bl dSv_item_rename__FUc +/* 80033394 000302D4 7C 7E 1B 78 */ mr r30, r3 +/* 80033398 000302D8 7F A3 EB 78 */ mr r3, r29 +/* 8003339C 000302DC 4B FF F5 7D */ bl dSv_item_rename__FUc +/* 800333A0 000302E0 7C 7D 1B 78 */ mr r29, r3 +/* 800333A4 000302E4 3B E0 00 00 */ li r31, 0 +/* 800333A8 000302E8 57 C3 06 3E */ clrlwi r3, r30, 0x18 +/* 800333AC 000302EC 38 00 00 04 */ li r0, 4 +/* 800333B0 000302F0 7C 09 03 A6 */ mtctr r0 +lbl_800333B4: +/* 800333B4 000302F4 38 9F 00 0B */ addi r4, r31, 0xb +/* 800333B8 000302F8 7C 1C 20 AE */ lbzx r0, r28, r4 +/* 800333BC 000302FC 7C 03 00 40 */ cmplw r3, r0 +/* 800333C0 00030300 40 82 00 70 */ bne lbl_80033430 +/* 800333C4 00030304 7F 83 E3 78 */ mr r3, r28 +/* 800333C8 00030308 7F A5 EB 78 */ mr r5, r29 +/* 800333CC 0003030C 4B FF FB ED */ bl setItem__17dSv_player_item_cFiUc +/* 800333D0 00030310 57 A0 06 3E */ clrlwi r0, r29, 0x18 +/* 800333D4 00030314 28 00 00 6B */ cmplwi r0, 0x6b +/* 800333D8 00030318 40 82 00 18 */ bne lbl_800333F0 +/* 800333DC 0003031C 3C 60 80 43 */ lis r3, lbl_80430188@ha +/* 800333E0 00030320 38 63 01 88 */ addi r3, r3, lbl_80430188@l +/* 800333E4 00030324 38 1F 00 0B */ addi r0, r31, 0xb +/* 800333E8 00030328 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 800333EC 0003032C 48 1E A8 D9 */ bl dMeter2Info_c_NS_setHotSpringTimer +lbl_800333F0: +/* 800333F0 00030330 3B A0 00 00 */ li r29, 0 +/* 800333F4 00030334 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 800333F8 00030338 3B C3 61 C0 */ addi r30, r3, lbl_804061C0@l +/* 800333FC 0003033C 3B FF 00 0B */ addi r31, r31, 0xb +lbl_80033400: +/* 80033400 00030340 7F C3 F3 78 */ mr r3, r30 +/* 80033404 00030344 7F A4 EB 78 */ mr r4, r29 +/* 80033408 00030348 4B FF F6 55 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 8003340C 0003034C 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 80033410 00030350 7C 1F 00 00 */ cmpw r31, r0 +/* 80033414 00030354 40 82 00 0C */ bne lbl_80033420 +/* 80033418 00030358 7F A3 EB 78 */ mr r3, r29 +/* 8003341C 0003035C 4B FF A9 D9 */ bl dComIfGp_setSelectItem +lbl_80033420: +/* 80033420 00030360 3B BD 00 01 */ addi r29, r29, 1 +/* 80033424 00030364 2C 1D 00 03 */ cmpwi r29, 3 +/* 80033428 00030368 41 80 FF D8 */ blt lbl_80033400 +/* 8003342C 0003036C 48 00 00 0C */ b lbl_80033438 +lbl_80033430: +/* 80033430 00030370 3B FF 00 01 */ addi r31, r31, 1 +/* 80033434 00030374 42 00 FF 80 */ bdnz lbl_800333B4 +lbl_80033438: +/* 80033438 00030378 39 61 00 20 */ addi r11, r1, 0x20 +/* 8003343C 0003037C 48 32 ED E9 */ bl _restgpr_28 +/* 80033440 00030380 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80033444 00030384 7C 08 03 A6 */ mtlr r0 +/* 80033448 00030388 38 21 00 20 */ addi r1, r1, 0x20 +/* 8003344C 0003038C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033450.s b/include/func_80033450.s new file mode 100644 index 00000000000..cc88d83ba96 --- /dev/null +++ b/include/func_80033450.s @@ -0,0 +1,17 @@ +/* 80033450 00030390 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80033454 00030394 7C 08 02 A6 */ mflr r0 +/* 80033458 00030398 90 01 00 14 */ stw r0, 0x14(r1) +/* 8003345C 0003039C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80033460 000303A0 7C 7F 1B 78 */ mr r31, r3 +/* 80033464 000303A4 7C 85 23 78 */ mr r5, r4 +/* 80033468 000303A8 7C A3 2B 78 */ mr r3, r5 +/* 8003346C 000303AC 4B FF F4 AD */ bl dSv_item_rename__FUc +/* 80033470 000303B0 7C 65 1B 78 */ mr r5, r3 +/* 80033474 000303B4 7F E3 FB 78 */ mr r3, r31 +/* 80033478 000303B8 38 80 00 60 */ li r4, 0x60 +/* 8003347C 000303BC 4B FF FE F5 */ bl setBottleItemIn__17dSv_player_item_cFUcUc +/* 80033480 000303C0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80033484 000303C4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80033488 000303C8 7C 08 03 A6 */ mtlr r0 +/* 8003348C 000303CC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80033490 000303D0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033494.s b/include/func_80033494.s new file mode 100644 index 00000000000..25e0eb35268 --- /dev/null +++ b/include/func_80033494.s @@ -0,0 +1,35 @@ +/* 80033494 000303D4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80033498 000303D8 7C 08 02 A6 */ mflr r0 +/* 8003349C 000303DC 90 01 00 24 */ stw r0, 0x24(r1) +/* 800334A0 000303E0 39 61 00 20 */ addi r11, r1, 0x20 +/* 800334A4 000303E4 48 32 ED 39 */ bl _savegpr_29 +/* 800334A8 000303E8 3B A0 00 00 */ li r29, 0 +/* 800334AC 000303EC 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 800334B0 000303F0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 800334B4 000303F4 3B E3 00 9C */ addi r31, r3, 0x9c +lbl_800334B8: +/* 800334B8 000303F8 7F E3 FB 78 */ mr r3, r31 +/* 800334BC 000303FC 38 1D 00 0B */ addi r0, r29, 0xb +/* 800334C0 00030400 54 1E 06 3E */ clrlwi r30, r0, 0x18 +/* 800334C4 00030404 7F C4 F3 78 */ mr r4, r30 +/* 800334C8 00030408 38 A0 00 01 */ li r5, 1 +/* 800334CC 0003040C 4B FF FB 65 */ bl getItem__17dSv_player_item_cCFib +/* 800334D0 00030410 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 800334D4 00030414 28 00 00 FF */ cmplwi r0, 0xff +/* 800334D8 00030418 40 82 00 18 */ bne lbl_800334F0 +/* 800334DC 0003041C 7F E3 FB 78 */ mr r3, r31 +/* 800334E0 00030420 7F C4 F3 78 */ mr r4, r30 +/* 800334E4 00030424 38 A0 00 60 */ li r5, 0x60 +/* 800334E8 00030428 4B FF FA D1 */ bl setItem__17dSv_player_item_cFiUc +/* 800334EC 0003042C 48 00 00 10 */ b lbl_800334FC +lbl_800334F0: +/* 800334F0 00030430 3B BD 00 01 */ addi r29, r29, 1 +/* 800334F4 00030434 2C 1D 00 04 */ cmpwi r29, 4 +/* 800334F8 00030438 41 80 FF C0 */ blt lbl_800334B8 +lbl_800334FC: +/* 800334FC 0003043C 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033500 00030440 48 32 ED 29 */ bl _restgpr_29 +/* 80033504 00030444 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80033508 00030448 7C 08 03 A6 */ mtlr r0 +/* 8003350C 0003044C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80033510 00030450 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033514.s b/include/func_80033514.s new file mode 100644 index 00000000000..75e5d706c0c --- /dev/null +++ b/include/func_80033514.s @@ -0,0 +1,36 @@ +/* 80033514 00030454 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80033518 00030458 7C 08 02 A6 */ mflr r0 +/* 8003351C 0003045C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80033520 00030460 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033524 00030464 48 32 EC B5 */ bl _savegpr_28 +/* 80033528 00030468 7C 9C 23 78 */ mr r28, r4 +/* 8003352C 0003046C 3B A0 00 00 */ li r29, 0 +/* 80033530 00030470 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033534 00030474 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033538 00030478 3B E3 00 9C */ addi r31, r3, 0x9c +lbl_8003353C: +/* 8003353C 0003047C 7F E3 FB 78 */ mr r3, r31 +/* 80033540 00030480 38 1D 00 0B */ addi r0, r29, 0xb +/* 80033544 00030484 54 1E 06 3E */ clrlwi r30, r0, 0x18 +/* 80033548 00030488 7F C4 F3 78 */ mr r4, r30 +/* 8003354C 0003048C 38 A0 00 01 */ li r5, 1 +/* 80033550 00030490 4B FF FA E1 */ bl getItem__17dSv_player_item_cCFib +/* 80033554 00030494 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 80033558 00030498 28 00 00 FF */ cmplwi r0, 0xff +/* 8003355C 0003049C 40 82 00 18 */ bne lbl_80033574 +/* 80033560 000304A0 7F E3 FB 78 */ mr r3, r31 +/* 80033564 000304A4 7F C4 F3 78 */ mr r4, r30 +/* 80033568 000304A8 7F 85 E3 78 */ mr r5, r28 +/* 8003356C 000304AC 4B FF FA 4D */ bl setItem__17dSv_player_item_cFiUc +/* 80033570 000304B0 48 00 00 10 */ b lbl_80033580 +lbl_80033574: +/* 80033574 000304B4 3B BD 00 01 */ addi r29, r29, 1 +/* 80033578 000304B8 2C 1D 00 04 */ cmpwi r29, 4 +/* 8003357C 000304BC 41 80 FF C0 */ blt lbl_8003353C +lbl_80033580: +/* 80033580 000304C0 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033584 000304C4 48 32 EC A1 */ bl _restgpr_28 +/* 80033588 000304C8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8003358C 000304CC 7C 08 03 A6 */ mtlr r0 +/* 80033590 000304D0 38 21 00 20 */ addi r1, r1, 0x20 +/* 80033594 000304D4 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033598.s b/include/func_80033598.s new file mode 100644 index 00000000000..dae5d23e8d5 --- /dev/null +++ b/include/func_80033598.s @@ -0,0 +1,75 @@ +/* 80033598 000304D8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8003359C 000304DC 7C 08 02 A6 */ mflr r0 +/* 800335A0 000304E0 90 01 00 24 */ stw r0, 0x24(r1) +/* 800335A4 000304E4 39 61 00 20 */ addi r11, r1, 0x20 +/* 800335A8 000304E8 48 32 EC 35 */ bl _savegpr_29 +/* 800335AC 000304EC 7C 7D 1B 78 */ mr r29, r3 +/* 800335B0 000304F0 7C 9F 23 78 */ mr r31, r4 +/* 800335B4 000304F4 7C BE 2B 78 */ mr r30, r5 +/* 800335B8 000304F8 7F C3 F3 78 */ mr r3, r30 +/* 800335BC 000304FC 4B FF F3 5D */ bl dSv_item_rename__FUc +/* 800335C0 00030500 7C 7E 1B 78 */ mr r30, r3 +/* 800335C4 00030504 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 800335C8 00030508 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 800335CC 0003050C 57 FF 06 3E */ clrlwi r31, r31, 0x18 +/* 800335D0 00030510 7F E4 FB 78 */ mr r4, r31 +/* 800335D4 00030514 4B FF F4 89 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 800335D8 00030518 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 800335DC 0003051C 28 00 00 0B */ cmplwi r0, 0xb +/* 800335E0 00030520 41 80 00 C4 */ blt lbl_800336A4 +/* 800335E4 00030524 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 800335E8 00030528 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 800335EC 0003052C 7F E4 FB 78 */ mr r4, r31 +/* 800335F0 00030530 4B FF F4 6D */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 800335F4 00030534 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 800335F8 00030538 28 00 00 0E */ cmplwi r0, 0xe +/* 800335FC 0003053C 41 81 00 A8 */ bgt lbl_800336A4 +/* 80033600 00030540 57 C0 06 3E */ clrlwi r0, r30, 0x18 +/* 80033604 00030544 28 00 00 6B */ cmplwi r0, 0x6b +/* 80033608 00030548 40 82 00 24 */ bne lbl_8003362C +/* 8003360C 0003054C 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033610 00030550 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033614 00030554 7F E4 FB 78 */ mr r4, r31 +/* 80033618 00030558 4B FF F4 45 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 8003361C 0003055C 7C 64 1B 78 */ mr r4, r3 +/* 80033620 00030560 3C 60 80 43 */ lis r3, lbl_80430188@ha +/* 80033624 00030564 38 63 01 88 */ addi r3, r3, lbl_80430188@l +/* 80033628 00030568 48 1E A6 9D */ bl dMeter2Info_c_NS_setHotSpringTimer +lbl_8003362C: +/* 8003362C 0003056C 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033630 00030570 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033634 00030574 7F E4 FB 78 */ mr r4, r31 +/* 80033638 00030578 4B FF F4 25 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 8003363C 0003057C 7C 60 1B 78 */ mr r0, r3 +/* 80033640 00030580 7F A3 EB 78 */ mr r3, r29 +/* 80033644 00030584 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 80033648 00030588 7F C5 F3 78 */ mr r5, r30 +/* 8003364C 0003058C 4B FF F9 6D */ bl setItem__17dSv_player_item_cFiUc +/* 80033650 00030590 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033654 00030594 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033658 00030598 7F E4 FB 78 */ mr r4, r31 +/* 8003365C 0003059C 4B FF F4 01 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 80033660 000305A0 7C 60 1B 78 */ mr r0, r3 +/* 80033664 000305A4 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033668 000305A8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 8003366C 000305AC 38 63 00 9C */ addi r3, r3, 0x9c +/* 80033670 000305B0 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 80033674 000305B4 7F C5 F3 78 */ mr r5, r30 +/* 80033678 000305B8 4B FF F9 41 */ bl setItem__17dSv_player_item_cFiUc +/* 8003367C 000305BC 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033680 000305C0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033684 000305C4 7F E4 FB 78 */ mr r4, r31 +/* 80033688 000305C8 4B FF F3 D5 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi +/* 8003368C 000305CC 3C 80 80 40 */ lis r4, lbl_804061C0@ha +/* 80033690 000305D0 38 84 61 C0 */ addi r4, r4, lbl_804061C0@l +/* 80033694 000305D4 98 64 5E 7D */ stb r3, 0x5e7d(r4) +/* 80033698 000305D8 9B C4 5E 7E */ stb r30, 0x5e7e(r4) +/* 8003369C 000305DC 7F E3 FB 78 */ mr r3, r31 +/* 800336A0 000305E0 4B FF A7 55 */ bl dComIfGp_setSelectItem +lbl_800336A4: +/* 800336A4 000305E4 39 61 00 20 */ addi r11, r1, 0x20 +/* 800336A8 000305E8 48 32 EB 81 */ bl _restgpr_29 +/* 800336AC 000305EC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800336B0 000305F0 7C 08 03 A6 */ mtlr r0 +/* 800336B4 000305F4 38 21 00 20 */ addi r1, r1, 0x20 +/* 800336B8 000305F8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_800336BC.s b/include/func_800336BC.s new file mode 100644 index 00000000000..1ad198b26bc --- /dev/null +++ b/include/func_800336BC.s @@ -0,0 +1,9 @@ +/* 800336BC 000305FC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800336C0 00030600 7C 08 02 A6 */ mflr r0 +/* 800336C4 00030604 90 01 00 14 */ stw r0, 0x14(r1) +/* 800336C8 00030608 38 A0 00 60 */ li r5, 0x60 +/* 800336CC 0003060C 4B FF FE CD */ bl setEquipBottleItemIn__17dSv_player_item_cFUcUc +/* 800336D0 00030610 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800336D4 00030614 7C 08 03 A6 */ mtlr r0 +/* 800336D8 00030618 38 21 00 10 */ addi r1, r1, 0x10 +/* 800336DC 0003061C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/func_80033754.s b/include/func_80033754.s new file mode 100644 index 00000000000..533f3de4aa1 --- /dev/null +++ b/include/func_80033754.s @@ -0,0 +1,41 @@ +/* 80033754 00030694 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80033758 00030698 7C 08 02 A6 */ mflr r0 +/* 8003375C 0003069C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80033760 000306A0 39 61 00 20 */ addi r11, r1, 0x20 +/* 80033764 000306A4 48 32 EA 71 */ bl _savegpr_27 +/* 80033768 000306A8 3B 60 00 00 */ li r27, 0 +/* 8003376C 000306AC 3B E0 00 00 */ li r31, 0 +/* 80033770 000306B0 3C 60 80 40 */ lis r3, lbl_804061C0@ha +/* 80033774 000306B4 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l +/* 80033778 000306B8 3B A3 00 CC */ addi r29, r3, 0xcc +/* 8003377C 000306BC 3B 83 07 F0 */ addi r28, r3, 0x7f0 +/* 80033780 000306C0 3C 60 80 3A */ lis r3, lbl_803A7288@ha +/* 80033784 000306C4 3B C3 72 88 */ addi r30, r3, lbl_803A7288@l +lbl_80033788: +/* 80033788 000306C8 7F A3 EB 78 */ mr r3, r29 +/* 8003378C 000306CC 38 1B 00 C0 */ addi r0, r27, 0xc0 +/* 80033790 000306D0 54 04 06 3E */ clrlwi r4, r0, 0x18 +/* 80033794 000306D4 48 00 07 35 */ bl dSv_player_get_item_c_NS_isFirstBit +/* 80033798 000306D8 2C 03 00 00 */ cmpwi r3, 0 +/* 8003379C 000306DC 41 82 00 24 */ beq lbl_800337C0 +/* 800337A0 000306E0 7F 83 E3 78 */ mr r3, r28 +/* 800337A4 000306E4 7C 9E FA 14 */ add r4, r30, r31 +/* 800337A8 000306E8 A0 84 03 22 */ lhz r4, 0x322(r4) +/* 800337AC 000306EC 48 00 12 11 */ bl dSv_event_c_NS_isEventBit +/* 800337B0 000306F0 2C 03 00 00 */ cmpwi r3, 0 +/* 800337B4 000306F4 40 82 00 0C */ bne lbl_800337C0 +/* 800337B8 000306F8 38 60 00 01 */ li r3, 1 +/* 800337BC 000306FC 48 00 00 18 */ b lbl_800337D4 +lbl_800337C0: +/* 800337C0 00030700 3B 7B 00 01 */ addi r27, r27, 1 +/* 800337C4 00030704 2C 1B 00 18 */ cmpwi r27, 0x18 +/* 800337C8 00030708 3B FF 00 02 */ addi r31, r31, 2 +/* 800337CC 0003070C 41 80 FF BC */ blt lbl_80033788 +/* 800337D0 00030710 38 60 00 00 */ li r3, 0 +lbl_800337D4: +/* 800337D4 00030714 39 61 00 20 */ addi r11, r1, 0x20 +/* 800337D8 00030718 48 32 EA 49 */ bl _restgpr_27 +/* 800337DC 0003071C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800337E0 00030720 7C 08 03 A6 */ mtlr r0 +/* 800337E4 00030724 38 21 00 20 */ addi r1, r1, 0x20 +/* 800337E8 00030728 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/functions.h b/include/functions.h new file mode 100644 index 00000000000..2dc22e44b14 --- /dev/null +++ b/include/functions.h @@ -0,0 +1,31 @@ +extern "C" { + void dComIfGp_setSelectItem(int); + void OSReport_Error(void); + void dSv_event_c_NS_isEventBit(void); + void dComIfGs_setMixItemIndex(void); + void dComIfGs_setSelectItemIndex(void); + void dComIfGs_getMixItemIndex(void); + char* strcpy(char*,const char*); + void func_80362224(void); + void func_803621D8(void); + void func_8036221C(void); + void func_803621D0(void); + void _restgpr_29(void); + void _savegpr_29(void); + void _restgpr_28(void); + void _savegpr_28(void); + void _restgpr_27(void); + void _savegpr_27(void); + unsigned int getSelectItemIndex__21dSv_player_status_a_cCFi(int); + void setLineUpItem__17dSv_player_item_cFv(void); + void dMeter2Info_c_NS_setHotSpringTimer(void); + void setItem__17dSv_player_item_cFiUc(void); + void dSv_item_rename__FUc(void); + void setBottleItemIn__17dSv_player_item_cFUcUc(void); + void getItem__17dSv_player_item_cCFib(void); + void setEquipBottleItemIn__17dSv_player_item_cFUcUc(u8,u8); + void dSv_player_get_item_c_NS_isFirstBit(void); + void dSv_player_item_record_c_NS_setBombNum(void); + void dSv_player_item_max_c_NS_getBombNum(void); + void setItem__17dSv_player_item_cFiUc(void); +} \ No newline at end of file diff --git a/include/global.h b/include/global.h new file mode 100644 index 00000000000..3e1e96deb17 --- /dev/null +++ b/include/global.h @@ -0,0 +1,9 @@ +#ifndef _global_h_ +#define _global_h_ + +#include "dolphin/types.h" + +#include "functions.h" +#include "variables.h" + +#endif \ No newline at end of file diff --git a/include/variables.h b/include/variables.h new file mode 100644 index 00000000000..9b5b5f94e78 --- /dev/null +++ b/include/variables.h @@ -0,0 +1,8 @@ +extern float lbl_80451D5C; +extern u8 lbl_80379234[0x64]; +extern int lbl_804061C0; +extern float lbl_80451D58; +extern u8 lbl_803A7270[24]; +extern u8 lbl_80430188[16]; +extern u8 lbl_803A7288; +#define _SDA2_BASE_(dummy) 0 \ 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 c57d9181261..af070a086c6 100644 --- a/src/d/d_save/d_save.cpp +++ b/src/d/d_save/d_save.cpp @@ -1,46 +1,5 @@ #include "d_save.h" -#pragma peephole on - -// temporary externs until they've been defined in their proper header -extern "C" { - void dComIfGp_setSelectItem(int); - void OSReport_Error(void); - void dSv_event_c_NS_isEventBit(void); - void dComIfGs_setMixItemIndex(void); - void dComIfGs_setSelectItemIndex(void); - void dComIfGs_getMixItemIndex(void); - char* strcpy(char*,const char*); - void func_80362224(void); - void func_803621D8(void); - void func_8036221C(void); - void func_803621D0(void); - void _restgpr_29(void); - void _savegpr_29(void); - void _restgpr_28(void); - void _savegpr_28(void); - void _restgpr_27(void); - void _savegpr_27(void); - unsigned int getSelectItemIndex__21dSv_player_status_a_cCFi(int); - void setLineUpItem__17dSv_player_item_cFv(void); - void dMeter2Info_c_NS_setHotSpringTimer(void); - void setItem__17dSv_player_item_cFiUc(void); - void dSv_item_rename__FUc(void); - void setBottleItemIn__17dSv_player_item_cFUcUc(void); - void getItem__17dSv_player_item_cCFib(void); - void setEquipBottleItemIn__17dSv_player_item_cFUcUc(u8,u8); - void dSv_player_get_item_c_NS_isFirstBit(void); - void dSv_player_item_record_c_NS_setBombNum(void); - void dSv_player_item_max_c_NS_getBombNum(void); - void setItem__17dSv_player_item_cFiUc(void); -} -extern float lbl_80451D5C; -extern u8 lbl_80379234[0x64]; -extern int lbl_804061C0; -extern float lbl_80451D58; -extern u8 lbl_803A7270[24]; -extern u8 lbl_80430188[16]; -extern u8 lbl_803A7288; -#define _SDA2_BASE_(dummy) 0 +#include "global.h" u8 dSv_item_rename(u8 item_id) { switch (item_id) { @@ -127,30 +86,7 @@ u16 dSv_player_status_a_c::getRupeeMax(void) const { asm bool dSv_player_status_a_c::isMagicFlag(u8) const { nofralloc - stwu r1, -0x10(r1) - mflr r0 - stw r0, 0x14(r1) - clrlwi. r4, r4, 0x18 - bne lbl_80032B24 - lis r3, lbl_804061C0@ha - addi r3, r3, lbl_804061C0@l - addi r3, r3, 0x7f0 - li r4, 0x2304 - bl dSv_event_c_NS_isEventBit - b lbl_80032B40 -lbl_80032B24: - lbz r3, 0x1c(r3) - li r0, 1 - slw r0, r0, r4 - clrlwi r0, r0, 0x18 - and r3, r3, r0 - addic r0, r3, -1 - subfe r3, r0, r3 -lbl_80032B40: - lwz r0, 0x14(r1) - mtlr r0 - addi r1, r1, 0x10 - blr + #include "func_80032AF8.s" } void dSv_player_status_b_c::init() { @@ -175,14 +111,7 @@ void dSv_player_status_b_c::onDarkClearLV(int flagOnOff) { asm bool dSv_player_status_b_c::isDarkClearLV(int unk) const { nofralloc - lbz r3, 9(r3) - li r0, 1 - slw r0, r0, r4 - clrlwi r0, r0, 0x18 - and r3, r3, r0 - addic r0, r3, -1 - subfe r3, r0, r3 - blr + #include "func_80032BB0.s" } void dSv_player_status_b_c::onTransformLV(int flagOnOff) { @@ -190,15 +119,8 @@ void dSv_player_status_b_c::onTransformLV(int flagOnOff) { } asm bool dSv_player_status_b_c::isTransformLV(int unk) const { -nofralloc -lbz r3, 8(r3) -li r0, 1 -slw r0, r0, r4 -clrlwi r0, r0, 0x18 -and r3, r3, r0 -addic r0, r3, -1 -subfe r3, r0, r3 -blr + nofralloc + #include "func_80032BEC.s" } void dSv_horse_place_c::init(void) { @@ -225,45 +147,8 @@ void dSv_horse_place_c::set(const char* i_stage, const cXyz& i_position, short i } asm void dSv_player_return_place_c::init(void) { -nofralloc -stwu r1, -0x10(r1) -mflr r0 -stw r0, 0x14(r1) -stw r31, 0xc(r1) -mr r31, r3 -lis r4, lbl_80379234@ha -addi r4, r4, lbl_80379234@l -addi r4, r4, 1 -bl strcpy -li r0, 1 -stb r0, 9(r31) -li r3, 0 -stb r3, 8(r31) -li r0, 0x15 -stb r0, 0xa(r31) -stb r3, 0xb(r31) -lwz r31, 0xc(r1) -lwz r0, 0x14(r1) -mtlr r0 -addi r1, r1, 0x10 -blr -stwu r1, -0x20(r1) -mflr r0 -stw r0, 0x24(r1) -addi r11, r1, 0x20 -bl _savegpr_29 -mr r29, r3 -mr r30, r5 -mr r31, r6 -bl strcpy -stb r30, 9(r29) -stb r31, 8(r29) -addi r11, r1, 0x20 -bl _restgpr_29 -lwz r0, 0x24(r1) -mtlr r0 -addi r1, r1, 0x20 -blr + nofralloc + #include "func_80032CC8.s" } void dSv_player_field_last_stay_info_c::init() { @@ -315,22 +200,8 @@ void dSv_player_field_last_stay_info_c::onRegionBit(int i_region_bit) { // } asm bool dSv_player_field_last_stay_info_c::isRegionBit(int unk) const { -nofralloc -cmpwi r4, 0 -blt lbl_80032EA8 -cmpwi r4, 8 -bge lbl_80032EA8 -lbz r3, 0x19(r3) -li r0, 1 -slw r0, r0, r4 -clrlwi r0, r0, 0x18 -and r3, r3, r0 -addic r0, r3, -1 -subfe r3, r0, r3 -blr -lbl_80032EA8: -li r3, 0 -blr + nofralloc + #include "func_80032E78.s" } void dSv_player_last_mark_info_c::init(void) { @@ -368,40 +239,8 @@ void dSv_player_item_c::init(void) { } asm void dSv_player_item_c::setItem(int current_items_index, u8 new_items_index) { -nofralloc -stwu r1, -0x20(r1) -mflr r0 -stw r0, 0x24(r1) -addi r11, r1, 0x20 -bl _savegpr_29 -mr r29, r4 -cmpwi r29, 0x18 -bge lbl_80032FE0 -stbx r5, r3, r29 -bl setLineUpItem__17dSv_player_item_cFv -lbl_80032FE0: -li r30, 0 -lis r3, lbl_804061C0@ha -addi r31, r3, lbl_804061C0@l -lbl_80032FEC: -mr r3, r31 -mr r4, r30 -bl getSelectItemIndex__21dSv_player_status_a_cCFi -clrlwi r0, r3, 0x18 -cmpw r29, r0 -bne lbl_8003300C -mr r3, r30 -bl dComIfGp_setSelectItem -lbl_8003300C: -addi r30, r30, 1 -cmpwi r30, 3 -blt lbl_80032FEC -addi r11, r1, 0x20 -bl _restgpr_29 -lwz r0, 0x24(r1) -mtlr r0 -addi r1, r1, 0x20 -blr + nofralloc + #include "func_80032FB8.s" } // u8 dSv_player_item_c::getItem(int param_1, bool param_2) const { @@ -468,213 +307,9 @@ blr // } asm u8 dSv_player_item_c::getItem(int, bool) const { -nofralloc -/* 80033030 0002FF70 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80033034 0002FF74 7C 08 02 A6 */ mflr r0 -/* 80033038 0002FF78 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003303C 0002FF7C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033040 0002FF80 48 32 F1 91 */ bl func_803621D0 -/* 80033044 0002FF84 7C 7A 1B 78 */ mr r26, r3 -/* 80033048 0002FF88 7C 9B 23 78 */ mr r27, r4 -/* 8003304C 0002FF8C 2C 1B 00 18 */ cmpwi r27, 0x18 -/* 80033050 0002FF90 40 80 02 8C */ bge lbl_800332DC -/* 80033054 0002FF94 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 80033058 0002FF98 41 82 02 7C */ beq lbl_800332D4 -/* 8003305C 0002FF9C 3B C0 00 00 */ li r30, 0 -/* 80033060 0002FFA0 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033064 0002FFA4 3B E3 61 C0 */ addi r31, r3, lbl_804061C0@l -lbl_80033068: -/* 80033068 0002FFA8 7F E3 FB 78 */ mr r3, r31 -/* 8003306C 0002FFAC 7F C4 F3 78 */ mr r4, r30 -/* 80033070 0002FFB0 4B FF F9 ED */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 80033074 0002FFB4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80033078 0002FFB8 7C 1B 00 00 */ cmpw r27, r0 -/* 8003307C 0002FFBC 41 82 00 18 */ beq lbl_80033094 -/* 80033080 0002FFC0 7F C3 F3 78 */ mr r3, r30 -/* 80033084 0002FFC4 4B FF AD 45 */ bl dComIfGs_getMixItemIndex -/* 80033088 0002FFC8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8003308C 0002FFCC 7C 1B 00 00 */ cmpw r27, r0 -/* 80033090 0002FFD0 40 82 02 38 */ bne lbl_800332C8 -lbl_80033094: -/* 80033094 0002FFD4 7F C3 F3 78 */ mr r3, r30 -/* 80033098 0002FFD8 4B FF AD 31 */ bl dComIfGs_getMixItemIndex -/* 8003309C 0002FFDC 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800330A0 0002FFE0 28 00 00 FF */ cmplwi r0, 0xff -/* 800330A4 0002FFE4 41 82 02 24 */ beq lbl_800332C8 -/* 800330A8 0002FFE8 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 800330AC 0002FFEC 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 800330B0 0002FFF0 7F C4 F3 78 */ mr r4, r30 -/* 800330B4 0002FFF4 4B FF F9 A9 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 800330B8 0002FFF8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800330BC 0002FFFC 7F BA 00 AE */ lbzx r29, r26, r0 -/* 800330C0 00030000 7F C3 F3 78 */ mr r3, r30 -/* 800330C4 00030004 4B FF AD 05 */ bl dComIfGs_getMixItemIndex -/* 800330C8 00030008 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800330CC 0003000C 7C 7A 00 AE */ lbzx r3, r26, r0 -/* 800330D0 00030010 7C 7C 1B 78 */ mr r28, r3 -/* 800330D4 00030014 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800330D8 00030018 28 00 00 43 */ cmplwi r0, 0x43 -/* 800330DC 0003001C 40 82 00 10 */ bne lbl_800330EC -/* 800330E0 00030020 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800330E4 00030024 28 00 00 70 */ cmplwi r0, 0x70 -/* 800330E8 00030028 41 82 00 1C */ beq lbl_80033104 -lbl_800330EC: -/* 800330EC 0003002C 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 800330F0 00030030 28 00 00 43 */ cmplwi r0, 0x43 -/* 800330F4 00030034 40 82 00 18 */ bne lbl_8003310C -/* 800330F8 00030038 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800330FC 0003003C 28 00 00 70 */ cmplwi r0, 0x70 -/* 80033100 00030040 40 82 00 0C */ bne lbl_8003310C -lbl_80033104: -/* 80033104 00030044 38 60 00 59 */ li r3, 0x59 -/* 80033108 00030048 48 00 01 D8 */ b lbl_800332E0 -lbl_8003310C: -/* 8003310C 0003004C 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 80033110 00030050 28 00 00 43 */ cmplwi r0, 0x43 -/* 80033114 00030054 40 82 00 10 */ bne lbl_80033124 -/* 80033118 00030058 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 8003311C 0003005C 28 00 00 71 */ cmplwi r0, 0x71 -/* 80033120 00030060 41 82 00 1C */ beq lbl_8003313C -lbl_80033124: -/* 80033124 00030064 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 80033128 00030068 28 00 00 43 */ cmplwi r0, 0x43 -/* 8003312C 0003006C 40 82 00 18 */ bne lbl_80033144 -/* 80033130 00030070 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 80033134 00030074 28 00 00 71 */ cmplwi r0, 0x71 -/* 80033138 00030078 40 82 00 0C */ bne lbl_80033144 -lbl_8003313C: -/* 8003313C 0003007C 38 60 00 59 */ li r3, 0x59 -/* 80033140 00030080 48 00 01 A0 */ b lbl_800332E0 -lbl_80033144: -/* 80033144 00030084 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 80033148 00030088 28 00 00 43 */ cmplwi r0, 0x43 -/* 8003314C 0003008C 40 82 00 10 */ bne lbl_8003315C -/* 80033150 00030090 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 80033154 00030094 28 00 00 72 */ cmplwi r0, 0x72 -/* 80033158 00030098 41 82 00 1C */ beq lbl_80033174 -lbl_8003315C: -/* 8003315C 0003009C 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 80033160 000300A0 28 00 00 43 */ cmplwi r0, 0x43 -/* 80033164 000300A4 40 82 00 18 */ bne lbl_8003317C -/* 80033168 000300A8 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 8003316C 000300AC 28 00 00 72 */ cmplwi r0, 0x72 -/* 80033170 000300B0 40 82 00 0C */ bne lbl_8003317C -lbl_80033174: -/* 80033174 000300B4 38 60 00 59 */ li r3, 0x59 -/* 80033178 000300B8 48 00 01 68 */ b lbl_800332E0 -lbl_8003317C: -/* 8003317C 000300BC 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 80033180 000300C0 28 00 00 43 */ cmplwi r0, 0x43 -/* 80033184 000300C4 40 82 00 10 */ bne lbl_80033194 -/* 80033188 000300C8 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 8003318C 000300CC 28 00 00 3E */ cmplwi r0, 0x3e -/* 80033190 000300D0 41 82 00 1C */ beq lbl_800331AC -lbl_80033194: -/* 80033194 000300D4 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 80033198 000300D8 28 00 00 43 */ cmplwi r0, 0x43 -/* 8003319C 000300DC 40 82 00 18 */ bne lbl_800331B4 -/* 800331A0 000300E0 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800331A4 000300E4 28 00 00 3E */ cmplwi r0, 0x3e -/* 800331A8 000300E8 40 82 00 0C */ bne lbl_800331B4 -lbl_800331AC: -/* 800331AC 000300EC 38 60 00 5A */ li r3, 0x5a -/* 800331B0 000300F0 48 00 01 30 */ b lbl_800332E0 -lbl_800331B4: -/* 800331B4 000300F4 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800331B8 000300F8 28 00 00 4A */ cmplwi r0, 0x4a -/* 800331BC 000300FC 40 82 00 10 */ bne lbl_800331CC -/* 800331C0 00030100 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 800331C4 00030104 28 00 00 76 */ cmplwi r0, 0x76 -/* 800331C8 00030108 41 82 00 1C */ beq lbl_800331E4 -lbl_800331CC: -/* 800331CC 0003010C 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 800331D0 00030110 28 00 00 4A */ cmplwi r0, 0x4a -/* 800331D4 00030114 40 82 00 18 */ bne lbl_800331EC -/* 800331D8 00030118 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800331DC 0003011C 28 00 00 76 */ cmplwi r0, 0x76 -/* 800331E0 00030120 40 82 00 0C */ bne lbl_800331EC -lbl_800331E4: -/* 800331E4 00030124 38 60 00 5B */ li r3, 0x5b -/* 800331E8 00030128 48 00 00 F8 */ b lbl_800332E0 -lbl_800331EC: -/* 800331EC 0003012C 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800331F0 00030130 28 00 00 4A */ cmplwi r0, 0x4a -/* 800331F4 00030134 40 82 00 10 */ bne lbl_80033204 -/* 800331F8 00030138 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 800331FC 0003013C 28 00 00 3D */ cmplwi r0, 0x3d -/* 80033200 00030140 41 82 00 1C */ beq lbl_8003321C -lbl_80033204: -/* 80033204 00030144 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 80033208 00030148 28 00 00 4A */ cmplwi r0, 0x4a -/* 8003320C 0003014C 40 82 00 18 */ bne lbl_80033224 -/* 80033210 00030150 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 80033214 00030154 28 00 00 3D */ cmplwi r0, 0x3d -/* 80033218 00030158 40 82 00 0C */ bne lbl_80033224 -lbl_8003321C: -/* 8003321C 0003015C 38 60 00 5C */ li r3, 0x5c -/* 80033220 00030160 48 00 00 C0 */ b lbl_800332E0 -lbl_80033224: -/* 80033224 00030164 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 80033228 00030168 28 00 00 4A */ cmplwi r0, 0x4a -/* 8003322C 0003016C 40 82 00 10 */ bne lbl_8003323C -/* 80033230 00030170 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 80033234 00030174 28 00 00 74 */ cmplwi r0, 0x74 -/* 80033238 00030178 41 82 00 1C */ beq lbl_80033254 -lbl_8003323C: -/* 8003323C 0003017C 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 80033240 00030180 28 00 00 4A */ cmplwi r0, 0x4a -/* 80033244 00030184 40 82 00 18 */ bne lbl_8003325C -/* 80033248 00030188 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 8003324C 0003018C 28 00 00 74 */ cmplwi r0, 0x74 -/* 80033250 00030190 40 82 00 0C */ bne lbl_8003325C -lbl_80033254: -/* 80033254 00030194 38 60 00 5D */ li r3, 0x5d -/* 80033258 00030198 48 00 00 88 */ b lbl_800332E0 -lbl_8003325C: -/* 8003325C 0003019C 2C 1E 00 03 */ cmpwi r30, 3 -/* 80033260 000301A0 40 82 00 4C */ bne lbl_800332AC -/* 80033264 000301A4 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033268 000301A8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 8003326C 000301AC 7F C4 F3 78 */ mr r4, r30 -/* 80033270 000301B0 4B FF F7 ED */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 80033274 000301B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80033278 000301B8 40 82 00 34 */ bne lbl_800332AC -/* 8003327C 000301BC 7F C3 F3 78 */ mr r3, r30 -/* 80033280 000301C0 4B FF AB 49 */ bl dComIfGs_getMixItemIndex -/* 80033284 000301C4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80033288 000301C8 40 82 00 24 */ bne lbl_800332AC -/* 8003328C 000301CC 7F C3 F3 78 */ mr r3, r30 -/* 80033290 000301D0 38 80 00 FF */ li r4, 0xff -/* 80033294 000301D4 4B FF AA 31 */ bl dComIfGs_setSelectItemIndex -/* 80033298 000301D8 7F C3 F3 78 */ mr r3, r30 -/* 8003329C 000301DC 38 80 00 FF */ li r4, 0xff -/* 800332A0 000301E0 4B FF AA 69 */ bl dComIfGs_setMixItemIndex -/* 800332A4 000301E4 38 60 00 FF */ li r3, 0xff -/* 800332A8 000301E8 48 00 00 38 */ b lbl_800332E0 -lbl_800332AC: -/* 800332AC 000301EC 3C 60 80 38 */ lis r3, lbl_80379234@ha -/* 800332B0 000301F0 38 63 92 34 */ addi r3, r3, lbl_80379234@l -/* 800332B4 000301F4 38 63 00 09 */ addi r3, r3, 9 -/* 800332B8 000301F8 57 A4 06 3E */ clrlwi r4, r29, 0x18 -/* 800332BC 000301FC 57 85 06 3E */ clrlwi r5, r28, 0x18 -/* 800332C0 00030200 4C C6 31 82 */ crclr 6 -/* 800332C4 00030204 4B FD 39 49 */ bl OSReport_Error -lbl_800332C8: -/* 800332C8 00030208 3B DE 00 01 */ addi r30, r30, 1 -/* 800332CC 0003020C 2C 1E 00 02 */ cmpwi r30, 2 -/* 800332D0 00030210 41 80 FD 98 */ blt lbl_80033068 -lbl_800332D4: -/* 800332D4 00030214 7C 7A D8 AE */ lbzx r3, r26, r27 -/* 800332D8 00030218 48 00 00 08 */ b lbl_800332E0 -lbl_800332DC: -/* 800332DC 0003021C 38 60 00 FF */ li r3, 0xff -lbl_800332E0: -/* 800332E0 00030220 39 61 00 20 */ addi r11, r1, 0x20 -/* 800332E4 00030224 48 32 EF 39 */ bl func_8036221C -/* 800332E8 00030228 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800332EC 0003022C 7C 08 03 A6 */ mtlr r0 -/* 800332F0 00030230 38 21 00 20 */ addi r1, r1, 0x20 -/* 800332F4 00030234 4E 80 00 20 */ blr + nofralloc + #include "func_80033030.s" + } // this is close @@ -733,69 +368,8 @@ u8 dSv_player_item_c::getLineUpItem(int slot_number) const { // } asm void dSv_player_item_c::setBottleItemIn(u8, u8){ - nofralloc - /* 80033370 000302B0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80033374 000302B4 7C 08 02 A6 */ mflr r0 -/* 80033378 000302B8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003337C 000302BC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033380 000302C0 48 32 EE 59 */ bl _savegpr_28 -/* 80033384 000302C4 7C 7C 1B 78 */ mr r28, r3 -/* 80033388 000302C8 7C BD 2B 78 */ mr r29, r5 -/* 8003338C 000302CC 7C 83 23 78 */ mr r3, r4 -/* 80033390 000302D0 4B FF F5 89 */ bl dSv_item_rename__FUc -/* 80033394 000302D4 7C 7E 1B 78 */ mr r30, r3 -/* 80033398 000302D8 7F A3 EB 78 */ mr r3, r29 -/* 8003339C 000302DC 4B FF F5 7D */ bl dSv_item_rename__FUc -/* 800333A0 000302E0 7C 7D 1B 78 */ mr r29, r3 -/* 800333A4 000302E4 3B E0 00 00 */ li r31, 0 -/* 800333A8 000302E8 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 800333AC 000302EC 38 00 00 04 */ li r0, 4 -/* 800333B0 000302F0 7C 09 03 A6 */ mtctr r0 -lbl_800333B4: -/* 800333B4 000302F4 38 9F 00 0B */ addi r4, r31, 0xb -/* 800333B8 000302F8 7C 1C 20 AE */ lbzx r0, r28, r4 -/* 800333BC 000302FC 7C 03 00 40 */ cmplw r3, r0 -/* 800333C0 00030300 40 82 00 70 */ bne lbl_80033430 -/* 800333C4 00030304 7F 83 E3 78 */ mr r3, r28 -/* 800333C8 00030308 7F A5 EB 78 */ mr r5, r29 -/* 800333CC 0003030C 4B FF FB ED */ bl setItem__17dSv_player_item_cFiUc -/* 800333D0 00030310 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800333D4 00030314 28 00 00 6B */ cmplwi r0, 0x6b -/* 800333D8 00030318 40 82 00 18 */ bne lbl_800333F0 -/* 800333DC 0003031C 3C 60 80 43 */ lis r3, lbl_80430188@ha -/* 800333E0 00030320 38 63 01 88 */ addi r3, r3, lbl_80430188@l -/* 800333E4 00030324 38 1F 00 0B */ addi r0, r31, 0xb -/* 800333E8 00030328 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800333EC 0003032C 48 1E A8 D9 */ bl dMeter2Info_c_NS_setHotSpringTimer -lbl_800333F0: -/* 800333F0 00030330 3B A0 00 00 */ li r29, 0 -/* 800333F4 00030334 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 800333F8 00030338 3B C3 61 C0 */ addi r30, r3, lbl_804061C0@l -/* 800333FC 0003033C 3B FF 00 0B */ addi r31, r31, 0xb -lbl_80033400: -/* 80033400 00030340 7F C3 F3 78 */ mr r3, r30 -/* 80033404 00030344 7F A4 EB 78 */ mr r4, r29 -/* 80033408 00030348 4B FF F6 55 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 8003340C 0003034C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80033410 00030350 7C 1F 00 00 */ cmpw r31, r0 -/* 80033414 00030354 40 82 00 0C */ bne lbl_80033420 -/* 80033418 00030358 7F A3 EB 78 */ mr r3, r29 -/* 8003341C 0003035C 4B FF A9 D9 */ bl dComIfGp_setSelectItem -lbl_80033420: -/* 80033420 00030360 3B BD 00 01 */ addi r29, r29, 1 -/* 80033424 00030364 2C 1D 00 03 */ cmpwi r29, 3 -/* 80033428 00030368 41 80 FF D8 */ blt lbl_80033400 -/* 8003342C 0003036C 48 00 00 0C */ b lbl_80033438 -lbl_80033430: -/* 80033430 00030370 3B FF 00 01 */ addi r31, r31, 1 -/* 80033434 00030374 42 00 FF 80 */ bdnz lbl_800333B4 -lbl_80033438: -/* 80033438 00030378 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003343C 0003037C 48 32 ED E9 */ bl _restgpr_28 -/* 80033440 00030380 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80033444 00030384 7C 08 03 A6 */ mtlr r0 -/* 80033448 00030388 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003344C 0003038C 4E 80 00 20 */ blr + nofralloc + #include "func_80033370.s" } // this is 1 instruction off @@ -808,181 +382,22 @@ lbl_80033438: asm void dSv_player_item_c::setEmptyBottleItemIn(u8){ nofralloc -/* 80033450 00030390 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80033454 00030394 7C 08 02 A6 */ mflr r0 -/* 80033458 00030398 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003345C 0003039C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80033460 000303A0 7C 7F 1B 78 */ mr r31, r3 -/* 80033464 000303A4 7C 85 23 78 */ mr r5, r4 -/* 80033468 000303A8 7C A3 2B 78 */ mr r3, r5 -/* 8003346C 000303AC 4B FF F4 AD */ bl dSv_item_rename__FUc -/* 80033470 000303B0 7C 65 1B 78 */ mr r5, r3 -/* 80033474 000303B4 7F E3 FB 78 */ mr r3, r31 -/* 80033478 000303B8 38 80 00 60 */ li r4, 0x60 -/* 8003347C 000303BC 4B FF FE F5 */ bl setBottleItemIn__17dSv_player_item_cFUcUc -/* 80033480 000303C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80033484 000303C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80033488 000303C8 7C 08 03 A6 */ mtlr r0 -/* 8003348C 000303CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80033490 000303D0 4E 80 00 20 */ blr + #include "func_80033450.s" } asm void dSv_player_item_c::setEmptyBottle(void) { - nofralloc - /* 80033494 000303D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80033498 000303D8 7C 08 02 A6 */ mflr r0 -/* 8003349C 000303DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800334A0 000303E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800334A4 000303E4 48 32 ED 39 */ bl _savegpr_29 -/* 800334A8 000303E8 3B A0 00 00 */ li r29, 0 -/* 800334AC 000303EC 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 800334B0 000303F0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 800334B4 000303F4 3B E3 00 9C */ addi r31, r3, 0x9c -lbl_800334B8: -/* 800334B8 000303F8 7F E3 FB 78 */ mr r3, r31 -/* 800334BC 000303FC 38 1D 00 0B */ addi r0, r29, 0xb -/* 800334C0 00030400 54 1E 06 3E */ clrlwi r30, r0, 0x18 -/* 800334C4 00030404 7F C4 F3 78 */ mr r4, r30 -/* 800334C8 00030408 38 A0 00 01 */ li r5, 1 -/* 800334CC 0003040C 4B FF FB 65 */ bl getItem__17dSv_player_item_cCFib -/* 800334D0 00030410 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800334D4 00030414 28 00 00 FF */ cmplwi r0, 0xff -/* 800334D8 00030418 40 82 00 18 */ bne lbl_800334F0 -/* 800334DC 0003041C 7F E3 FB 78 */ mr r3, r31 -/* 800334E0 00030420 7F C4 F3 78 */ mr r4, r30 -/* 800334E4 00030424 38 A0 00 60 */ li r5, 0x60 -/* 800334E8 00030428 4B FF FA D1 */ bl setItem__17dSv_player_item_cFiUc -/* 800334EC 0003042C 48 00 00 10 */ b lbl_800334FC -lbl_800334F0: -/* 800334F0 00030430 3B BD 00 01 */ addi r29, r29, 1 -/* 800334F4 00030434 2C 1D 00 04 */ cmpwi r29, 4 -/* 800334F8 00030438 41 80 FF C0 */ blt lbl_800334B8 -lbl_800334FC: -/* 800334FC 0003043C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033500 00030440 48 32 ED 29 */ bl _restgpr_29 -/* 80033504 00030444 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80033508 00030448 7C 08 03 A6 */ mtlr r0 -/* 8003350C 0003044C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80033510 00030450 4E 80 00 20 */ blr + nofralloc + #include "func_80033494.s" } asm void dSv_player_item_c::setEmptyBottle(u8){ nofralloc - /* 80033514 00030454 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80033518 00030458 7C 08 02 A6 */ mflr r0 -/* 8003351C 0003045C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80033520 00030460 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033524 00030464 48 32 EC B5 */ bl _savegpr_28 -/* 80033528 00030468 7C 9C 23 78 */ mr r28, r4 -/* 8003352C 0003046C 3B A0 00 00 */ li r29, 0 -/* 80033530 00030470 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033534 00030474 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033538 00030478 3B E3 00 9C */ addi r31, r3, 0x9c -lbl_8003353C: -/* 8003353C 0003047C 7F E3 FB 78 */ mr r3, r31 -/* 80033540 00030480 38 1D 00 0B */ addi r0, r29, 0xb -/* 80033544 00030484 54 1E 06 3E */ clrlwi r30, r0, 0x18 -/* 80033548 00030488 7F C4 F3 78 */ mr r4, r30 -/* 8003354C 0003048C 38 A0 00 01 */ li r5, 1 -/* 80033550 00030490 4B FF FA E1 */ bl getItem__17dSv_player_item_cCFib -/* 80033554 00030494 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80033558 00030498 28 00 00 FF */ cmplwi r0, 0xff -/* 8003355C 0003049C 40 82 00 18 */ bne lbl_80033574 -/* 80033560 000304A0 7F E3 FB 78 */ mr r3, r31 -/* 80033564 000304A4 7F C4 F3 78 */ mr r4, r30 -/* 80033568 000304A8 7F 85 E3 78 */ mr r5, r28 -/* 8003356C 000304AC 4B FF FA 4D */ bl setItem__17dSv_player_item_cFiUc -/* 80033570 000304B0 48 00 00 10 */ b lbl_80033580 -lbl_80033574: -/* 80033574 000304B4 3B BD 00 01 */ addi r29, r29, 1 -/* 80033578 000304B8 2C 1D 00 04 */ cmpwi r29, 4 -/* 8003357C 000304BC 41 80 FF C0 */ blt lbl_8003353C -lbl_80033580: -/* 80033580 000304C0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033584 000304C4 48 32 EC A1 */ bl _restgpr_28 -/* 80033588 000304C8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003358C 000304CC 7C 08 03 A6 */ mtlr r0 -/* 80033590 000304D0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80033594 000304D4 4E 80 00 20 */ blr + #include "func_80033514.s" } asm void dSv_player_item_c::setEquipBottleItemIn(u8, u8) { nofralloc - /* 80033598 000304D8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003359C 000304DC 7C 08 02 A6 */ mflr r0 -/* 800335A0 000304E0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800335A4 000304E4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800335A8 000304E8 48 32 EC 35 */ bl _savegpr_29 -/* 800335AC 000304EC 7C 7D 1B 78 */ mr r29, r3 -/* 800335B0 000304F0 7C 9F 23 78 */ mr r31, r4 -/* 800335B4 000304F4 7C BE 2B 78 */ mr r30, r5 -/* 800335B8 000304F8 7F C3 F3 78 */ mr r3, r30 -/* 800335BC 000304FC 4B FF F3 5D */ bl dSv_item_rename__FUc -/* 800335C0 00030500 7C 7E 1B 78 */ mr r30, r3 -/* 800335C4 00030504 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 800335C8 00030508 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 800335CC 0003050C 57 FF 06 3E */ clrlwi r31, r31, 0x18 -/* 800335D0 00030510 7F E4 FB 78 */ mr r4, r31 -/* 800335D4 00030514 4B FF F4 89 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 800335D8 00030518 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800335DC 0003051C 28 00 00 0B */ cmplwi r0, 0xb -/* 800335E0 00030520 41 80 00 C4 */ blt lbl_800336A4 -/* 800335E4 00030524 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 800335E8 00030528 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 800335EC 0003052C 7F E4 FB 78 */ mr r4, r31 -/* 800335F0 00030530 4B FF F4 6D */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 800335F4 00030534 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800335F8 00030538 28 00 00 0E */ cmplwi r0, 0xe -/* 800335FC 0003053C 41 81 00 A8 */ bgt lbl_800336A4 -/* 80033600 00030540 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80033604 00030544 28 00 00 6B */ cmplwi r0, 0x6b -/* 80033608 00030548 40 82 00 24 */ bne lbl_8003362C -/* 8003360C 0003054C 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033610 00030550 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033614 00030554 7F E4 FB 78 */ mr r4, r31 -/* 80033618 00030558 4B FF F4 45 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 8003361C 0003055C 7C 64 1B 78 */ mr r4, r3 -/* 80033620 00030560 3C 60 80 43 */ lis r3, lbl_80430188@ha -/* 80033624 00030564 38 63 01 88 */ addi r3, r3, lbl_80430188@l -/* 80033628 00030568 48 1E A6 9D */ bl dMeter2Info_c_NS_setHotSpringTimer -lbl_8003362C: -/* 8003362C 0003056C 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033630 00030570 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033634 00030574 7F E4 FB 78 */ mr r4, r31 -/* 80033638 00030578 4B FF F4 25 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 8003363C 0003057C 7C 60 1B 78 */ mr r0, r3 -/* 80033640 00030580 7F A3 EB 78 */ mr r3, r29 -/* 80033644 00030584 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80033648 00030588 7F C5 F3 78 */ mr r5, r30 -/* 8003364C 0003058C 4B FF F9 6D */ bl setItem__17dSv_player_item_cFiUc -/* 80033650 00030590 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033654 00030594 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033658 00030598 7F E4 FB 78 */ mr r4, r31 -/* 8003365C 0003059C 4B FF F4 01 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 80033660 000305A0 7C 60 1B 78 */ mr r0, r3 -/* 80033664 000305A4 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033668 000305A8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 8003366C 000305AC 38 63 00 9C */ addi r3, r3, 0x9c -/* 80033670 000305B0 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80033674 000305B4 7F C5 F3 78 */ mr r5, r30 -/* 80033678 000305B8 4B FF F9 41 */ bl setItem__17dSv_player_item_cFiUc -/* 8003367C 000305BC 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033680 000305C0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033684 000305C4 7F E4 FB 78 */ mr r4, r31 -/* 80033688 000305C8 4B FF F3 D5 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 8003368C 000305CC 3C 80 80 40 */ lis r4, lbl_804061C0@ha -/* 80033690 000305D0 38 84 61 C0 */ addi r4, r4, lbl_804061C0@l -/* 80033694 000305D4 98 64 5E 7D */ stb r3, 0x5e7d(r4) -/* 80033698 000305D8 9B C4 5E 7E */ stb r30, 0x5e7e(r4) -/* 8003369C 000305DC 7F E3 FB 78 */ mr r3, r31 -/* 800336A0 000305E0 4B FF A7 55 */ bl dComIfGp_setSelectItem -lbl_800336A4: -/* 800336A4 000305E4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800336A8 000305E8 48 32 EB 81 */ bl _restgpr_29 -/* 800336AC 000305EC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800336B0 000305F0 7C 08 03 A6 */ mtlr r0 -/* 800336B4 000305F4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800336B8 000305F8 4E 80 00 20 */ blr + #include "func_80033598.s" } // void dSv_player_item_c::setEquipBottleItemEmpty(u8 selected_index) { @@ -991,15 +406,7 @@ lbl_800336A4: asm void dSv_player_item_c::setEquipBottleItemEmpty(u8){ nofralloc - /* 800336BC 000305FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800336C0 00030600 7C 08 02 A6 */ mflr r0 -/* 800336C4 00030604 90 01 00 14 */ stw r0, 0x14(r1) -/* 800336C8 00030608 38 A0 00 60 */ li r5, 0x60 -/* 800336CC 0003060C 4B FF FE CD */ bl setEquipBottleItemIn__17dSv_player_item_cFUcUc -/* 800336D0 00030610 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800336D4 00030614 7C 08 03 A6 */ mtlr r0 -/* 800336D8 00030618 38 21 00 10 */ addi r1, r1, 0x10 -/* 800336DC 0003061C 4E 80 00 20 */ blr + #include "func_800336BC.s" } u8 dSv_player_item_c::checkBottle(u8 i_item_id){ @@ -1017,47 +424,7 @@ u8 dSv_player_item_c::checkBottle(u8 i_item_id){ asm u8 dSv_player_item_c::checkInsectBottle(void){ nofralloc -/* 80033754 00030694 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80033758 00030698 7C 08 02 A6 */ mflr r0 -/* 8003375C 0003069C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80033760 000306A0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033764 000306A4 48 32 EA 71 */ bl _savegpr_27 -/* 80033768 000306A8 3B 60 00 00 */ li r27, 0 -/* 8003376C 000306AC 3B E0 00 00 */ li r31, 0 -/* 80033770 000306B0 3C 60 80 40 */ lis r3, lbl_804061C0@ha -/* 80033774 000306B4 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l -/* 80033778 000306B8 3B A3 00 CC */ addi r29, r3, 0xcc -/* 8003377C 000306BC 3B 83 07 F0 */ addi r28, r3, 0x7f0 -/* 80033780 000306C0 3C 60 80 3A */ lis r3, lbl_803A7288@ha -/* 80033784 000306C4 3B C3 72 88 */ addi r30, r3, lbl_803A7288@l -lbl_80033788: -/* 80033788 000306C8 7F A3 EB 78 */ mr r3, r29 -/* 8003378C 000306CC 38 1B 00 C0 */ addi r0, r27, 0xc0 -/* 80033790 000306D0 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80033794 000306D4 48 00 07 35 */ bl dSv_player_get_item_c_NS_isFirstBit -/* 80033798 000306D8 2C 03 00 00 */ cmpwi r3, 0 -/* 8003379C 000306DC 41 82 00 24 */ beq lbl_800337C0 -/* 800337A0 000306E0 7F 83 E3 78 */ mr r3, r28 -/* 800337A4 000306E4 7C 9E FA 14 */ add r4, r30, r31 -/* 800337A8 000306E8 A0 84 03 22 */ lhz r4, 0x322(r4) -/* 800337AC 000306EC 48 00 12 11 */ bl dSv_event_c_NS_isEventBit -/* 800337B0 000306F0 2C 03 00 00 */ cmpwi r3, 0 -/* 800337B4 000306F4 40 82 00 0C */ bne lbl_800337C0 -/* 800337B8 000306F8 38 60 00 01 */ li r3, 1 -/* 800337BC 000306FC 48 00 00 18 */ b lbl_800337D4 -lbl_800337C0: -/* 800337C0 00030700 3B 7B 00 01 */ addi r27, r27, 1 -/* 800337C4 00030704 2C 1B 00 18 */ cmpwi r27, 0x18 -/* 800337C8 00030708 3B FF 00 02 */ addi r31, r31, 2 -/* 800337CC 0003070C 41 80 FF BC */ blt lbl_80033788 -/* 800337D0 00030710 38 60 00 00 */ li r3, 0 -lbl_800337D4: -/* 800337D4 00030714 39 61 00 20 */ addi r11, r1, 0x20 -/* 800337D8 00030718 48 32 EA 49 */ bl _restgpr_27 -/* 800337DC 0003071C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800337E0 00030720 7C 08 03 A6 */ mtlr r0 -/* 800337E4 00030724 38 21 00 20 */ addi r1, r1, 0x20 -/* 800337E8 00030728 4E 80 00 20 */ blr + #include "func_80033754.s" } u8 dSv_player_item_c::checkEmptyBottle(void) {