multiple d_save functions ok

This commit is contained in:
unknown
2020-11-22 18:21:23 -05:00
parent 15ecc6ac7d
commit 5111810104
9 changed files with 276 additions and 228 deletions
+35
View File
@@ -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
+61
View File
@@ -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
+18
View File
@@ -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
+38
View File
@@ -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
+39
View File
@@ -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