summaryrefslogtreecommitdiff
path: root/asm/player_pc.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/player_pc.s')
-rw-r--r--asm/player_pc.s3467
1 files changed, 0 insertions, 3467 deletions
diff --git a/asm/player_pc.s b/asm/player_pc.s
deleted file mode 100644
index da2792564..000000000
--- a/asm/player_pc.s
+++ /dev/null
@@ -1,3467 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start NewGameInitPCItems
-NewGameInitPCItems: @ 8139C18
- push {r4-r6,lr}
- movs r4, 0
- ldr r0, _08139C6C @ =gSaveBlock1 + 0x498
- movs r1, 0x32
- bl ClearItemSlots
- ldr r1, _08139C70 @ =gNewGamePCItems
- ldrh r0, [r1]
- cmp r0, 0
- beq _08139C64
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _08139C64
- adds r5, r1, 0
- adds r6, r5, 0x2
-_08139C36:
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- adds r1, r6
- ldrh r1, [r1]
- bl AddPCItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08139C64
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _08139C64
- adds r0, r1, r6
- ldrh r0, [r0]
- cmp r0, 0
- bne _08139C36
-_08139C64:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08139C6C: .4byte gSaveBlock1 + 0x498
-_08139C70: .4byte gNewGamePCItems
- thumb_func_end NewGameInitPCItems
-
- thumb_func_start BedroomPC
-BedroomPC: @ 8139C74
- push {lr}
- ldr r1, _08139C9C @ =gUnknown_02039314
- ldr r0, _08139CA0 @ =gUnknown_084062B8
- str r0, [r1]
- ldr r1, _08139CA4 @ =gUnknown_030007B4
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, _08139CA8 @ =TaskDummy
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08139CAC @ =gOtherText_WhatWillYouDo
- ldr r2, _08139CB0 @ =InitPlayerPCMenu
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .align 2, 0
-_08139C9C: .4byte gUnknown_02039314
-_08139CA0: .4byte gUnknown_084062B8
-_08139CA4: .4byte gUnknown_030007B4
-_08139CA8: .4byte TaskDummy
-_08139CAC: .4byte gOtherText_WhatWillYouDo
-_08139CB0: .4byte InitPlayerPCMenu
- thumb_func_end BedroomPC
-
- thumb_func_start PlayerPC
-PlayerPC: @ 8139CB4
- push {lr}
- ldr r1, _08139CDC @ =gUnknown_02039314
- ldr r0, _08139CE0 @ =gUnknown_084062BC
- str r0, [r1]
- ldr r1, _08139CE4 @ =gUnknown_030007B4
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, _08139CE8 @ =TaskDummy
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08139CEC @ =gOtherText_WhatWillYouDo
- ldr r2, _08139CF0 @ =InitPlayerPCMenu
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .align 2, 0
-_08139CDC: .4byte gUnknown_02039314
-_08139CE0: .4byte gUnknown_084062BC
-_08139CE4: .4byte gUnknown_030007B4
-_08139CE8: .4byte TaskDummy
-_08139CEC: .4byte gOtherText_WhatWillYouDo
-_08139CF0: .4byte InitPlayerPCMenu
- thumb_func_end PlayerPC
-
- thumb_func_start InitPlayerPCMenu
-InitPlayerPCMenu: @ 8139CF4
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08139D50 @ =gUnknown_030007B4
- ldrb r3, [r5]
- lsls r3, 1
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- bl MenuDrawTextWindow
- ldrb r2, [r5]
- ldr r3, _08139D54 @ =gUnknown_08406298
- ldr r0, _08139D58 @ =gUnknown_02039314
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- bl PrintMenuItemsReordered
- ldrb r3, [r5]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl InitMenu
- ldr r1, _08139D5C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08139D60 @ =PlayerPCProcessMenuInput
- str r1, [r0]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08139D50: .4byte gUnknown_030007B4
-_08139D54: .4byte gUnknown_08406298
-_08139D58: .4byte gUnknown_02039314
-_08139D5C: .4byte gTasks
-_08139D60: .4byte PlayerPCProcessMenuInput
- thumb_func_end InitPlayerPCMenu
-
- thumb_func_start PlayerPCProcessMenuInput
-PlayerPCProcessMenuInput: @ 8139D64
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r2, _08139D88 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08139D8C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _08139E10
- .align 2, 0
-_08139D88: .4byte gMain
-_08139D8C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08139DA2
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _08139E10
-_08139DA2:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08139DE0
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08139DD8 @ =gUnknown_08406298
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08139DDC @ =gUnknown_02039314
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- b _08139E10
- .align 2, 0
-_08139DD8: .4byte gUnknown_08406298
-_08139DDC: .4byte gUnknown_02039314
-_08139DE0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08139E10
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r2, _08139E18 @ =gUnknown_08406298
- ldr r0, _08139E1C @ =gUnknown_030007B4
- ldrb r0, [r0]
- ldr r1, _08139E20 @ =gUnknown_02039314
- ldr r1, [r1]
- adds r0, r1
- subs r0, 0x1
- ldrb r0, [r0]
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_08139E10:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08139E18: .4byte gUnknown_08406298
-_08139E1C: .4byte gUnknown_030007B4
-_08139E20: .4byte gUnknown_02039314
- thumb_func_end PlayerPCProcessMenuInput
-
- thumb_func_start ReshowPlayerPC
-ReshowPlayerPC: @ 8139E24
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08139E38 @ =gOtherText_WhatWillYouDo
- ldr r2, _08139E3C @ =InitPlayerPCMenu
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .align 2, 0
-_08139E38: .4byte gOtherText_WhatWillYouDo
-_08139E3C: .4byte InitPlayerPCMenu
- thumb_func_end ReshowPlayerPC
-
- thumb_func_start PlayerPC_ItemStorage
-PlayerPC_ItemStorage: @ 8139E40
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl InitItemStorageMenu
- ldr r1, _08139E64 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08139E68 @ =ItemStorageMenuProcessInput
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08139E64: .4byte gTasks
-_08139E68: .4byte ItemStorageMenuProcessInput
- thumb_func_end PlayerPC_ItemStorage
-
- thumb_func_start PlayerPC_Mailbox
-PlayerPC_Mailbox: @ 8139E6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- bl sub_813AF3C
- ldr r1, _08139E9C @ =0x0201fe00
- movs r2, 0
- strb r0, [r1, 0x3]
- lsls r0, 24
- cmp r0, 0
- bne _08139EA8
- ldr r1, _08139EA0 @ =gOtherText_NoMailHere
- ldr r2, _08139EA4 @ =ReshowPlayerPC
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08139ECA
- .align 2, 0
-_08139E9C: .4byte 0x0201fe00
-_08139EA0: .4byte gOtherText_NoMailHere
-_08139EA4: .4byte ReshowPlayerPC
-_08139EA8:
- strb r2, [r1]
- strb r2, [r1, 0x2]
- bl sub_813AF78
- adds r0, r4, 0
- bl sub_813A240
- adds r0, r4, 0
- bl sub_813B108
- ldr r0, _08139ED0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08139ED4 @ =sub_813B174
- str r0, [r1]
-_08139ECA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08139ED0: .4byte gTasks
-_08139ED4: .4byte sub_813B174
- thumb_func_end PlayerPC_Mailbox
-
- thumb_func_start PlayerPC_Decoration
-PlayerPC_Decoration: @ 8139ED8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DoPlayerPCDecoration
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerPC_Decoration
-
- thumb_func_start PlayerPC_TurnOff
-PlayerPC_TurnOff: @ 8139EF8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08139F24 @ =gUnknown_030007B4
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08139F3C
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r0, _08139F28 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08139F30
- ldr r0, _08139F2C @ =gUnknown_08152850
- bl ScriptContext1_SetupScript
- b _08139F4C
- .align 2, 0
-_08139F24: .4byte gUnknown_030007B4
-_08139F28: .4byte gSaveBlock2
-_08139F2C: .4byte gUnknown_08152850
-_08139F30:
- ldr r0, _08139F38 @ =gUnknown_08152C75
- bl ScriptContext1_SetupScript
- b _08139F4C
- .align 2, 0
-_08139F38: .4byte gUnknown_08152C75
-_08139F3C:
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- bl EnableBothScriptContexts
-_08139F4C:
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerPC_TurnOff
-
- thumb_func_start InitItemStorageMenu
-InitItemStorageMenu: @ 8139F58
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x9
- bl MenuDrawTextWindow
- ldr r3, _08139FAC @ =gUnknown_084062C0
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl PrintMenuItems
- str r4, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- ldr r0, _08139FB0 @ =gUnknown_08406288
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- bl ItemStorageMenuPrint
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08139FAC: .4byte gUnknown_084062C0
-_08139FB0: .4byte gUnknown_08406288
- thumb_func_end InitItemStorageMenu
-
- thumb_func_start ItemStorageMenuPrint
-ItemStorageMenuPrint: @ 8139FB4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ItemStorageMenuPrint
-
- thumb_func_start ItemStorageMenuProcessInput
-ItemStorageMenuProcessInput: @ 8139FD4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r2, _08139FF4 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08139FF8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _0813A008
- .align 2, 0
-_08139FF4: .4byte gMain
-_08139FF8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0813A024
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_0813A008:
- bl MoveMenuCursor
- ldr r4, _0813A020 @ =gUnknown_08406288
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r0, [r0]
- bl ItemStorageMenuPrint
- b _0813A06C
- .align 2, 0
-_0813A020: .4byte gUnknown_08406288
-_0813A024:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813A050
- movs r0, 0x5
- bl PlaySE
- ldr r4, _0813A04C @ =gUnknown_084062C0
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 21
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- b _0813A06C
- .align 2, 0
-_0813A04C: .4byte gUnknown_084062C0
-_0813A050:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813A06C
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0813A074 @ =gUnknown_084062C0
- ldr r1, [r0, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
-_0813A06C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A074: .4byte gUnknown_084062C0
- thumb_func_end ItemStorageMenuProcessInput
-
- thumb_func_start Task_ItemStorage_Deposit
-Task_ItemStorage_Deposit: @ 813A078
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0813A09C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813A094
- bl sub_80A6A30
- adds r0, r4, 0
- bl DestroyTask
-_0813A094:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A09C: .4byte gPaletteFade
- thumb_func_end Task_ItemStorage_Deposit
-
- thumb_func_start ItemStorage_Deposit
-ItemStorage_Deposit: @ 813A0A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0813A0C0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0813A0C4 @ =Task_ItemStorage_Deposit
- str r0, [r1]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_0813A0C0: .4byte gTasks
-_0813A0C4: .4byte Task_ItemStorage_Deposit
- thumb_func_end ItemStorage_Deposit
-
- thumb_func_start sub_813A0C8
-sub_813A0C8: @ 813A0C8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813A0E8
- ldr r0, _0813A0F0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813A0F4 @ =ItemStorageMenuProcessInput
- str r0, [r1]
-_0813A0E8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A0F0: .4byte gTasks
-_0813A0F4: .4byte ItemStorageMenuProcessInput
- thumb_func_end sub_813A0C8
-
- thumb_func_start sub_813A0F8
-sub_813A0F8: @ 813A0F8
- push {lr}
- bl MenuDisplayMessageBox
- movs r0, 0x1
- bl InitItemStorageMenu
- ldr r0, _0813A114 @ =sub_813A0C8
- movs r1, 0
- bl CreateTask
- bl pal_fill_black
- pop {r0}
- bx r0
- .align 2, 0
-_0813A114: .4byte sub_813A0C8
- thumb_func_end sub_813A0F8
-
- thumb_func_start ItemStorage_Withdraw
-ItemStorage_Withdraw: @ 813A118
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r7, _0813A174 @ =gTasks + 0x8
- adds r4, r6, r7
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- bl CountUsedPCItemSlots
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x4]
- cmp r0, 0
- beq _0813A17C
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- strh r0, [r4, 0xC]
- strh r0, [r4]
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813A240
- adds r0, r5, 0
- movs r1, 0
- bl sub_813AE6C
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0813A178 @ =sub_813A280
- str r1, [r0]
- b _0813A188
- .align 2, 0
-_0813A174: .4byte gTasks + 0x8
-_0813A178: .4byte sub_813A280
-_0813A17C:
- ldr r1, _0813A190 @ =gOtherText_NoItems
- ldr r2, _0813A194 @ =PlayerPC_ItemStorage
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_0813A188:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A190: .4byte gOtherText_NoItems
-_0813A194: .4byte PlayerPC_ItemStorage
- thumb_func_end ItemStorage_Withdraw
-
- thumb_func_start ItemStorage_Toss
-ItemStorage_Toss: @ 813A198
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r7, _0813A1F8 @ =gTasks + 0x8
- adds r4, r6, r7
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- bl CountUsedPCItemSlots
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x4]
- cmp r0, 0
- beq _0813A200
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0x2
- strh r0, [r4, 0xC]
- movs r0, 0
- strh r0, [r4]
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813A240
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_813AE6C
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0813A1FC @ =sub_813A280
- str r1, [r0]
- b _0813A20C
- .align 2, 0
-_0813A1F8: .4byte gTasks + 0x8
-_0813A1FC: .4byte sub_813A280
-_0813A200:
- ldr r1, _0813A214 @ =gOtherText_NoItems
- ldr r2, _0813A218 @ =PlayerPC_ItemStorage
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_0813A20C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A214: .4byte gOtherText_NoItems
-_0813A218: .4byte PlayerPC_ItemStorage
- thumb_func_end ItemStorage_Toss
-
- thumb_func_start ItemStorage_Exit
-ItemStorage_Exit: @ 813A21C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl ReshowPlayerPC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ItemStorage_Exit
-
- thumb_func_start sub_813A240
-sub_813A240: @ 813A240
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813A260 @ =gTasks + 0x8
- adds r1, r0
- ldrh r2, [r1, 0x4]
- movs r3, 0x4
- ldrsh r0, [r1, r3]
- cmp r0, 0x7
- ble _0813A264
- movs r0, 0x8
- b _0813A266
- .align 2, 0
-_0813A260: .4byte gTasks + 0x8
-_0813A264:
- adds r0, r2, 0x1
-_0813A266:
- strh r0, [r1, 0x8]
- ldr r1, _0813A274 @ =0x0201fe00
- ldrb r0, [r1, 0x3]
- cmp r0, 0x7
- bls _0813A278
- movs r0, 0x8
- b _0813A27A
- .align 2, 0
-_0813A274: .4byte 0x0201fe00
-_0813A278:
- adds r0, 0x1
-_0813A27A:
- strb r0, [r1, 0x1]
- pop {r0}
- bx r0
- thumb_func_end sub_813A240
-
- thumb_func_start sub_813A280
-sub_813A280: @ 813A280
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0813A2DC @ =gTasks + 0x8
- adds r4, r0, r1
- ldr r2, _0813A2E0 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0813A306
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0813A2E4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0813A2CC
- b _0813A460
-_0813A2CC:
- lsls r0, r1, 16
- asrs r1, r0, 16
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _0813A34C
- b _0813A358
- .align 2, 0
-_0813A2DC: .4byte gTasks + 0x8
-_0813A2E0: .4byte gMain
-_0813A2E4:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0813A2EE
- b _0813A460
-_0813A2EE:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4, 0x2]
- subs r0, 0x1
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813AE0C
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- b _0813A394
-_0813A306:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0813A3A0
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- subs r0, 0x1
- cmp r1, r0
- beq _0813A370
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0813A340
- b _0813A460
-_0813A340:
- lsls r0, r1, 16
- asrs r1, r0, 16
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0813A358
-_0813A34C:
- ldr r0, _0813A354 @ =0x0000ffff
- bl sub_813AD58
- b _0813A460
- .align 2, 0
-_0813A354: .4byte 0x0000ffff
-_0813A358:
- ldr r0, _0813A36C @ =gSaveBlock1
- lsls r1, 2
- adds r1, r0
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- bl sub_813AD58
- b _0813A460
- .align 2, 0
-_0813A36C: .4byte gSaveBlock1
-_0813A370:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- adds r0, r1
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _0813A460
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813AE0C
- movs r1, 0x12
- ldrsh r0, [r4, r1]
-_0813A394:
- cmp r0, 0
- beq _0813A460
- movs r0, 0
- bl MoveMenuCursor
- b _0813A460
-_0813A3A0:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0813A3F0
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0813A3E8
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _0813A3DC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- strh r0, [r4, 0x12]
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x10]
- ldr r0, _0813A3E4 @ =0x0000fff7
- bl sub_813AD58
-_0813A3DC:
- adds r0, r5, 0
- bl sub_813ABE8
- b _0813A460
- .align 2, 0
-_0813A3E4: .4byte 0x0000fff7
-_0813A3E8:
- movs r0, 0x5
- bl PlaySE
- b _0813A420
-_0813A3F0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813A430
- movs r0, 0x5
- bl PlaySE
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0813A420
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _0813A44A
- adds r0, r5, 0
- bl sub_813A4B4
- b _0813A460
-_0813A420:
- adds r0, r5, 0
- movs r1, 0
- bl sub_813AA30
- adds r0, r5, 0
- bl sub_813AE0C
- b _0813A460
-_0813A430:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813A460
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0813A452
- bl sub_8072DEC
-_0813A44A:
- adds r0, r5, 0
- bl sub_813A468
- b _0813A460
-_0813A452:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_813AA30
- adds r0, r6, 0
- bl sub_813AE0C
-_0813A460:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_813A280
-
- thumb_func_start sub_813A468
-sub_813A468: @ 813A468
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl BuyMenuFreeMemory
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- bl MenuDisplayMessageBox
- ldr r0, _0813A4AC @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x14]
- bl InitItemStorageMenu
- ldr r0, _0813A4B0 @ =ItemStorageMenuProcessInput
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A4AC: .4byte gTasks
-_0813A4B0: .4byte ItemStorageMenuProcessInput
- thumb_func_end sub_813A468
-
- thumb_func_start sub_813A4B4
-sub_813A4B4: @ 813A4B4
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _0813A500 @ =gTasks + 0x8
- adds r4, r0, r1
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4]
- adds r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- bl sub_80F996C
- movs r0, 0x1
- bl sub_80F996C
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0813A518
- ldr r1, _0813A504 @ =gSaveBlock1
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, _0813A508 @ =0x0000049a
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0813A50C
- strh r0, [r4, 0x6]
- adds r0, r6, 0
- bl sub_813A6FC
- b _0813A570
- .align 2, 0
-_0813A500: .4byte gTasks + 0x8
-_0813A504: .4byte gSaveBlock1
-_0813A508: .4byte 0x0000049a
-_0813A50C:
- ldr r0, _0813A514 @ =0x0000fffe
- bl sub_813AD58
- b _0813A542
- .align 2, 0
-_0813A514: .4byte 0x0000fffe
-_0813A518:
- ldr r1, _0813A534 @ =gSaveBlock1
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, _0813A538 @ =0x0000049a
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0813A53C
- strh r0, [r4, 0x6]
- adds r0, r6, 0
- bl sub_813A794
- b _0813A570
- .align 2, 0
-_0813A534: .4byte gSaveBlock1
-_0813A538: .4byte 0x0000049a
-_0813A53C:
- ldr r0, _0813A578 @ =0x0000fffc
- bl sub_813AD58
-_0813A542:
- movs r0, 0x1
- strh r0, [r4, 0x6]
- movs r0, 0x6
- movs r1, 0x8
- movs r2, 0xD
- movs r3, 0xB
- bl MenuDrawTextWindow
- ldrh r0, [r4, 0x6]
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0x9
- bl sub_80A418C
- ldr r1, _0813A57C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813A580 @ =sub_813A584
- str r1, [r0]
-_0813A570:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A578: .4byte 0x0000fffc
-_0813A57C: .4byte gTasks
-_0813A580: .4byte sub_813A584
- thumb_func_end sub_813A4B4
-
- thumb_func_start sub_813A584
-sub_813A584: @ 813A584
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r7, r0, 3
- ldr r0, _0813A5D0 @ =gTasks + 0x8
- mov r8, r0
- adds r4, r7, r0
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4]
- adds r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r6, r3, 0
- ldr r2, _0813A5D4 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0813A5E4
- movs r0, 0x6
- ldrsh r2, [r4, r0]
- ldr r1, _0813A5D8 @ =gSaveBlock1
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, _0813A5DC @ =0x0000049a
- adds r0, r1
- ldrh r0, [r0]
- cmp r2, r0
- beq _0813A5E0
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- b _0813A64A
- .align 2, 0
-_0813A5D0: .4byte gTasks + 0x8
-_0813A5D4: .4byte gMain
-_0813A5D8: .4byte gSaveBlock1
-_0813A5DC: .4byte 0x0000049a
-_0813A5E0:
- movs r0, 0x1
- b _0813A64A
-_0813A5E4:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0813A610
- ldrh r1, [r4, 0x6]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- beq _0813A5FA
- subs r0, r1, 0x1
- b _0813A64A
-_0813A5FA:
- ldr r0, _0813A608 @ =gSaveBlock1
- lsls r1, r3, 2
- adds r1, r0
- ldr r3, _0813A60C @ =0x0000049a
- adds r1, r3
- ldrh r0, [r1]
- b _0813A64A
- .align 2, 0
-_0813A608: .4byte gSaveBlock1
-_0813A60C: .4byte 0x0000049a
-_0813A610:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0813A628
- ldrh r0, [r4, 0x6]
- subs r0, 0xA
- strh r0, [r4, 0x6]
- lsls r0, 16
- cmp r0, 0
- bgt _0813A64C
- movs r0, 0x1
- b _0813A64A
-_0813A628:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0813A668
- ldrh r0, [r4, 0x6]
- adds r0, 0xA
- strh r0, [r4, 0x6]
- movs r0, 0x6
- ldrsh r2, [r4, r0]
- ldr r1, _0813A660 @ =gSaveBlock1
- lsls r0, r6, 2
- adds r0, r1
- ldr r1, _0813A664 @ =0x0000049a
- adds r0, r1
- ldrh r0, [r0]
- cmp r2, r0
- ble _0813A64C
-_0813A64A:
- strh r0, [r4, 0x6]
-_0813A64C:
- ldrh r0, [r4, 0x6]
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0x9
- bl sub_80A418C
- b _0813A6E8
- .align 2, 0
-_0813A660: .4byte gSaveBlock1
-_0813A664: .4byte 0x0000049a
-_0813A668:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813A69C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x6
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0813A694
- adds r0, r5, 0
- bl sub_813A6FC
- b _0813A6E8
-_0813A694:
- adds r0, r5, 0
- bl sub_813A794
- b _0813A6E8
-_0813A69C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813A6E8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x6
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- ldr r2, _0813A6F4 @ =gSaveBlock1
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- movs r3, 0
- ldrsh r1, [r4, r3]
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl sub_813AD58
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, _0813A6F8 @ =sub_813A280
- str r1, [r0]
-_0813A6E8:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A6F4: .4byte gSaveBlock1
-_0813A6F8: .4byte sub_813A280
- thumb_func_end sub_813A584
-
- thumb_func_start sub_813A6FC
-sub_813A6FC: @ 813A6FC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r6, r1, 3
- ldr r7, _0813A758 @ =gTasks + 0x8
- adds r4, r6, r7
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4]
- adds r0, r1
- lsls r0, 24
- ldr r1, _0813A75C @ =gSaveBlock1
- lsrs r0, 22
- adds r0, r1
- movs r2, 0x93
- lsls r2, 3
- adds r5, r0, r2
- ldrh r0, [r5]
- ldrh r1, [r4, 0x6]
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813A770
- ldrh r0, [r5]
- ldr r1, _0813A760 @ =gStringVar1
- bl CopyItemName
- ldr r0, _0813A764 @ =gStringVar2
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _0813A768 @ =0x0000fffd
- bl sub_813AD58
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0813A76C @ =sub_813A8F0
- b _0813A782
- .align 2, 0
-_0813A758: .4byte gTasks + 0x8
-_0813A75C: .4byte gSaveBlock1
-_0813A760: .4byte gStringVar1
-_0813A764: .4byte gStringVar2
-_0813A768: .4byte 0x0000fffd
-_0813A76C: .4byte sub_813A8F0
-_0813A770:
- movs r0, 0
- strh r0, [r4, 0x6]
- ldr r0, _0813A78C @ =0x0000fffa
- bl sub_813AD58
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0813A790 @ =sub_813A984
-_0813A782:
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A78C: .4byte 0x0000fffa
-_0813A790: .4byte sub_813A984
- thumb_func_end sub_813A6FC
-
- thumb_func_start sub_813A794
-sub_813A794: @ 813A794
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r7, r0, 3
- ldr r0, _0813A7FC @ =gTasks + 0x8
- mov r8, r0
- adds r4, r7, r0
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4]
- adds r0, r1
- lsls r0, 24
- ldr r1, _0813A800 @ =gSaveBlock1
- lsrs r0, 22
- adds r0, r1
- movs r2, 0x93
- lsls r2, 3
- adds r5, r0, r2
- ldrh r0, [r5]
- bl ItemId_GetImportance
- lsls r0, 24
- cmp r0, 0
- bne _0813A814
- ldrh r0, [r5]
- ldr r1, _0813A804 @ =gStringVar1
- bl CopyItemName
- ldr r0, _0813A808 @ =gStringVar2
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _0813A80C @ =0x0000fff8
- bl sub_813AD58
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _0813A810 @ =gUnknown_084062E0
- adds r0, r6, 0
- bl sub_80F914C
- b _0813A828
- .align 2, 0
-_0813A7FC: .4byte gTasks + 0x8
-_0813A800: .4byte gSaveBlock1
-_0813A804: .4byte gStringVar1
-_0813A808: .4byte gStringVar2
-_0813A80C: .4byte 0x0000fff8
-_0813A810: .4byte gUnknown_084062E0
-_0813A814:
- movs r0, 0
- strh r0, [r4, 0x6]
- ldr r0, _0813A834 @ =0x0000fff9
- bl sub_813AD58
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, _0813A838 @ =sub_813A8F0
- str r1, [r0]
-_0813A828:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A834: .4byte 0x0000fff9
-_0813A838: .4byte sub_813A8F0
- thumb_func_end sub_813A794
-
- thumb_func_start sub_813A83C
-sub_813A83C: @ 813A83C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x6
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- ldr r0, _0813A86C @ =0x0000fffb
- bl sub_813AD58
- ldr r1, _0813A870 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813A874 @ =sub_813A8F0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A86C: .4byte 0x0000fffb
-_0813A870: .4byte gTasks
-_0813A874: .4byte sub_813A8F0
- thumb_func_end sub_813A83C
-
- thumb_func_start sub_813A878
-sub_813A878: @ 813A878
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r6, _0813A8E4 @ =gTasks + 0x8
- adds r5, r4, r6
- movs r0, 0x6
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- ldrb r3, [r5, 0x8]
- ldrb r0, [r5]
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x2
- bl InitMenu
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- ldr r2, _0813A8E8 @ =gSaveBlock1
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- movs r3, 0
- ldrsh r1, [r5, r3]
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl sub_813AD58
- subs r6, 0x8
- adds r4, r6
- ldr r0, _0813A8EC @ =sub_813A280
- str r0, [r4]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A8E4: .4byte gTasks + 0x8
-_0813A8E8: .4byte gSaveBlock1
-_0813A8EC: .4byte sub_813A280
- thumb_func_end sub_813A878
-
- thumb_func_start sub_813A8F0
-sub_813A8F0: @ 813A8F0
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _0813A97C @ =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, _0813A980 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0813A912
- cmp r1, 0x2
- bne _0813A972
-_0813A912:
- ldrb r0, [r5, 0x2]
- ldrb r1, [r5]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x6]
- bl RemovePCItem
- ldrh r4, [r5, 0x4]
- bl CountUsedPCItemSlots
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x4]
- lsls r4, 16
- asrs r4, 16
- cmp r4, r0
- beq _0813A952
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- adds r0, r1
- cmp r4, r0
- bge _0813A952
- ldrh r1, [r5, 0x2]
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _0813A952
- subs r0, r1, 0x1
- strh r0, [r5, 0x2]
-_0813A952:
- adds r0, r6, 0
- bl sub_813A240
- adds r0, r6, 0
- bl sub_813A9EC
- ldrb r3, [r5, 0x8]
- ldrb r0, [r5]
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x2
- bl InitMenu
-_0813A972:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A97C: .4byte gTasks + 0x8
-_0813A980: .4byte gMain
- thumb_func_end sub_813A8F0
-
- thumb_func_start sub_813A984
-sub_813A984: @ 813A984
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r4, r1, 3
- ldr r5, _0813A9DC @ =gTasks + 0x8
- adds r3, r4, r5
- ldr r0, _0813A9E0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0813A9A4
- cmp r1, 0x2
- bne _0813A9D6
-_0813A9A4:
- ldr r2, _0813A9E4 @ =gSaveBlock1
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- movs r6, 0
- ldrsh r1, [r3, r6]
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl sub_813AD58
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- adds r0, r5, 0
- subs r0, 0x8
- adds r0, r4, r0
- ldr r1, _0813A9E8 @ =sub_813A280
- str r1, [r0]
-_0813A9D6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813A9DC: .4byte gTasks + 0x8
-_0813A9E0: .4byte gMain
-_0813A9E4: .4byte gSaveBlock1
-_0813A9E8: .4byte sub_813A280
- thumb_func_end sub_813A984
-
- thumb_func_start sub_813A9EC
-sub_813A9EC: @ 813A9EC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x6
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- adds r0, r4, 0
- bl sub_813AE0C
- ldr r1, _0813AA28 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813AA2C @ =sub_813A280
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813AA28: .4byte gTasks
-_0813AA2C: .4byte sub_813A280
- thumb_func_end sub_813A9EC
-
- thumb_func_start sub_813AA30
-sub_813AA30: @ 813AA30
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813AA80 @ =gTasks + 0x8
- adds r4, r1, r0
- ldrb r0, [r4]
- ldrb r1, [r4, 0x2]
- adds r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- strh r0, [r4, 0x12]
- ldrb r0, [r4, 0x4]
- cmp r0, r5
- bls _0813AA88
- ldrb r0, [r4, 0x10]
- cmp r0, r5
- beq _0813AA88
- cmp r2, 0
- bne _0813AA88
- ldr r1, _0813AA84 @ =gSaveBlock1
- movs r0, 0x10
- ldrsh r2, [r4, r0]
- lsls r2, 2
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- adds r2, r1
- ldr r3, [r2]
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
- b _0813AAB8
- .align 2, 0
-_0813AA80: .4byte gTasks + 0x8
-_0813AA84: .4byte gSaveBlock1
-_0813AA88:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r5, r0
- bne _0813AA9C
- ldr r0, _0813AA98 @ =0x0000ffff
- bl sub_813AD58
- b _0813AAAE
- .align 2, 0
-_0813AA98: .4byte 0x0000ffff
-_0813AA9C:
- ldr r0, _0813AAC0 @ =gSaveBlock1
- lsls r1, r5, 2
- adds r1, r0
- movs r2, 0x93
- lsls r2, 3
- adds r1, r2
- ldrh r0, [r1]
- bl sub_813AD58
-_0813AAAE:
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- subs r0, r1, r0
-_0813AAB8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813AAC0: .4byte gSaveBlock1
- thumb_func_end sub_813AA30
-
- thumb_func_start sub_813AAC4
-sub_813AAC4: @ 813AAC4
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r6, [sp, 0x14]
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _0813AAF4 @ =gStringVar1
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4164
- cmp r6, 0
- beq _0813AAFC
- ldr r0, _0813AAF8 @ =gUnknown_0840632A
- movs r1, 0x1A
- adds r2, r7, 0
- bl MenuPrint
- b _0813AB06
- .align 2, 0
-_0813AAF4: .4byte gStringVar1
-_0813AAF8: .4byte gUnknown_0840632A
-_0813AAFC:
- ldr r0, _0813AB0C @ =gUnknown_08406327
- movs r1, 0x1A
- adds r2, r7, 0
- bl MenuPrint
-_0813AB06:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813AB0C: .4byte gUnknown_08406327
- thumb_func_end sub_813AAC4
-
- thumb_func_start sub_813AB10
-sub_813AB10: @ 813AB10
- push {lr}
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _0813AB24 @ =gUnknown_08406330
- movs r1, 0x19
- bl MenuPrint
- pop {r0}
- bx r0
- .align 2, 0
-_0813AB24: .4byte gUnknown_08406330
- thumb_func_end sub_813AB10
-
- thumb_func_start sub_813AB28
-sub_813AB28: @ 813AB28
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldrh r0, [r0]
- ldr r1, _0813AB48 @ =gStringVar1
- bl CopyItemName
- cmp r4, 0
- beq _0813AB50
- ldr r0, _0813AB4C @ =gUnknown_0840631E
- movs r1, 0x10
- adds r2, r5, 0
- bl MenuPrint
- b _0813AB5A
- .align 2, 0
-_0813AB48: .4byte gStringVar1
-_0813AB4C: .4byte gUnknown_0840631E
-_0813AB50:
- ldr r0, _0813AB60 @ =gUnknown_08406318
- movs r1, 0x10
- adds r2, r5, 0
- bl MenuPrint
-_0813AB5A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813AB60: .4byte gUnknown_08406318
- thumb_func_end sub_813AB28
-
- thumb_func_start sub_813AB64
-sub_813AB64: @ 813AB64
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 24
- lsrs r4, 24
- adds r1, r4, 0
- bl sub_813AB28
- ldrh r0, [r6, 0x2]
- str r5, [sp]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x3
- bl sub_813AAC4
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_813AB64
-
- thumb_func_start sub_813AB90
-sub_813AB90: @ 813AB90
- push {r4,lr}
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- adds r1, r4, 0
- bl sub_813AB28
- adds r0, r4, 0
- bl sub_813AB10
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813AB90
-
- thumb_func_start sub_813ABAC
-sub_813ABAC: @ 813ABAC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r2, 0
- lsls r1, 24
- lsrs r5, r1, 24
- adds r1, r5, 0
- bl sub_813AB28
- ldrh r1, [r4]
- movs r0, 0xA9
- lsls r0, 1
- cmp r1, r0
- bhi _0813ABD8
- ldrh r0, [r4, 0x2]
- str r6, [sp]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x3
- bl sub_813AAC4
- b _0813ABDE
-_0813ABD8:
- adds r0, r5, 0
- bl sub_813AB10
-_0813ABDE:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_813ABAC
-
- thumb_func_start sub_813ABE8
-sub_813ABE8: @ 813ABE8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813AC0C @ =gTasks + 0x8
- adds r6, r1, r0
- movs r0, 0
- mov r8, r0
- ldrh r5, [r6, 0x2]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- b _0813ACC4
- .align 2, 0
-_0813AC0C: .4byte gTasks + 0x8
-_0813AC10:
- subs r0, r5, r1
- lsls r0, 17
- lsrs r0, 16
- mov r8, r0
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r5, r0
- beq _0813AD04
- movs r7, 0
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r0, 0
- beq _0813AC34
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- cmp r5, r0
- bne _0813AC34
- movs r7, 0x1
-_0813AC34:
- ldr r0, _0813AC5C @ =gSaveBlock1
- lsls r4, r5, 2
- adds r0, r4, r0
- movs r2, 0x93
- lsls r2, 3
- adds r0, r2
- ldrh r0, [r0]
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x4
- bhi _0813ACBA
- lsls r0, 2
- ldr r1, _0813AC60 @ =_0813AC64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813AC5C: .4byte gSaveBlock1
-_0813AC60: .4byte _0813AC64
- .align 2, 0
-_0813AC64:
- .4byte _0813AC78
- .4byte _0813AC78
- .4byte _0813ACA8
- .4byte _0813AC78
- .4byte _0813AC90
-_0813AC78:
- ldr r0, _0813AC8C @ =gSaveBlock1 + 0x498
- adds r0, r4, r0
- mov r1, r8
- adds r1, 0x2
- lsls r1, 24
- lsrs r1, 24
- adds r2, r7, 0
- bl sub_813AB64
- b _0813ACBA
- .align 2, 0
-_0813AC8C: .4byte gSaveBlock1 + 0x498
-_0813AC90:
- ldr r0, _0813ACA4 @ =gSaveBlock1 + 0x498
- adds r0, r4, r0
- mov r1, r8
- adds r1, 0x2
- lsls r1, 24
- lsrs r1, 24
- adds r2, r7, 0
- bl sub_813AB90
- b _0813ACBA
- .align 2, 0
-_0813ACA4: .4byte gSaveBlock1 + 0x498
-_0813ACA8:
- ldr r0, _0813AD00 @ =gSaveBlock1 + 0x498
- adds r0, r4, r0
- mov r1, r8
- adds r1, 0x2
- lsls r1, 24
- lsrs r1, 24
- adds r2, r7, 0
- bl sub_813ABAC
-_0813ACBA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x2
- ldrsh r1, [r6, r0]
-_0813ACC4:
- movs r2, 0x8
- ldrsh r0, [r6, r2]
- adds r0, r1, r0
- cmp r5, r0
- blt _0813AC10
-_0813ACCE:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- subs r0, r5, r0
- cmp r0, 0x7
- bgt _0813ACEA
- mov r1, r8
- adds r1, 0x4
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x10
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
-_0813ACEA:
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- cmp r0, 0
- beq _0813AD20
- movs r0, 0
- movs r1, 0xB8
- movs r2, 0x8
- bl CreateVerticalScrollIndicators
- b _0813AD26
- .align 2, 0
-_0813AD00: .4byte gSaveBlock1 + 0x498
-_0813AD04:
- ldr r0, _0813AD1C @ =gOtherText_CancelNoTerminator
- mov r2, r8
- adds r2, 0x2
- lsls r2, 19
- lsrs r2, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x80
- movs r3, 0x68
- bl sub_8072A18
- b _0813ACCE
- .align 2, 0
-_0813AD1C: .4byte gOtherText_CancelNoTerminator
-_0813AD20:
- movs r0, 0
- bl DestroyVerticalScrollIndicator
-_0813AD26:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- movs r2, 0x8
- ldrsh r1, [r6, r2]
- adds r0, r1
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- cmp r0, r1
- bgt _0813AD44
- movs r0, 0x1
- movs r1, 0xB8
- movs r2, 0x98
- bl CreateVerticalScrollIndicators
- b _0813AD4A
-_0813AD44:
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
-_0813AD4A:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813ABE8
-
- thumb_func_start sub_813AD58
-sub_813AD58: @ 813AD58
- push {lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _0813AD74 @ =0xffff0009
- adds r0, r1, r2
- cmp r0, 0x8
- bhi _0813ADE8
- lsls r0, 2
- ldr r1, _0813AD78 @ =_0813AD7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813AD74: .4byte 0xffff0009
-_0813AD78: .4byte _0813AD7C
- .align 2, 0
-_0813AD7C:
- .4byte _0813ADE0
- .4byte _0813ADD8
- .4byte _0813ADD0
- .4byte _0813ADC8
- .4byte _0813ADC0
- .4byte _0813ADB8
- .4byte _0813ADB0
- .4byte _0813ADA8
- .4byte _0813ADA0
-_0813ADA0:
- ldr r1, _0813ADA4 @ =gMenuText_GoBackToPrev
- b _0813ADF0
- .align 2, 0
-_0813ADA4: .4byte gMenuText_GoBackToPrev
-_0813ADA8:
- ldr r1, _0813ADAC @ =gOtherText_HowManyToWithdraw
- b _0813ADF0
- .align 2, 0
-_0813ADAC: .4byte gOtherText_HowManyToWithdraw
-_0813ADB0:
- ldr r1, _0813ADB4 @ =gOtherText_WithdrewThing
- b _0813ADF0
- .align 2, 0
-_0813ADB4: .4byte gOtherText_WithdrewThing
-_0813ADB8:
- ldr r1, _0813ADBC @ =gOtherText_HowManyToToss
- b _0813ADF0
- .align 2, 0
-_0813ADBC: .4byte gOtherText_HowManyToToss
-_0813ADC0:
- ldr r1, _0813ADC4 @ =gOtherText_ThrewAwayItem
- b _0813ADF0
- .align 2, 0
-_0813ADC4: .4byte gOtherText_ThrewAwayItem
-_0813ADC8:
- ldr r1, _0813ADCC @ =gOtherText_NoMoreRoom
- b _0813ADF0
- .align 2, 0
-_0813ADCC: .4byte gOtherText_NoMoreRoom
-_0813ADD0:
- ldr r1, _0813ADD4 @ =gOtherText_TooImportant
- b _0813ADF0
- .align 2, 0
-_0813ADD4: .4byte gOtherText_TooImportant
-_0813ADD8:
- ldr r1, _0813ADDC @ =gOtherText_OkayToThrowAwayPrompt
- b _0813ADF0
- .align 2, 0
-_0813ADDC: .4byte gOtherText_OkayToThrowAwayPrompt
-_0813ADE0:
- ldr r1, _0813ADE4 @ =gOtherText_SwitchWhichItem
- b _0813ADF0
- .align 2, 0
-_0813ADE4: .4byte gOtherText_SwitchWhichItem
-_0813ADE8:
- adds r0, r1, 0
- bl ItemId_GetDescription
- adds r1, r0, 0
-_0813ADF0:
- movs r0, 0x30
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r1, 0
- movs r1, 0x8
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072AB0
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_813AD58
-
- thumb_func_start sub_813AE0C
-sub_813AE0C: @ 813AE0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _0813AE48 @ =gTasks + 0x8
- adds r4, r1, r2
- ldrh r1, [r4]
- ldrh r2, [r4, 0x2]
- adds r1, r2
- lsls r1, 16
- lsrs r5, r1, 16
- bl sub_813ABE8
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0813AE62
- lsls r0, r5, 16
- asrs r1, r0, 16
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0813AE50
- ldr r0, _0813AE4C @ =0x0000ffff
- bl sub_813AD58
- b _0813AE62
- .align 2, 0
-_0813AE48: .4byte gTasks + 0x8
-_0813AE4C: .4byte 0x0000ffff
-_0813AE50:
- ldr r0, _0813AE68 @ =gSaveBlock1
- lsls r1, 2
- adds r1, r0
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- bl sub_813AD58
-_0813AE62:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813AE68: .4byte gSaveBlock1
- thumb_func_end sub_813AE0C
-
- thumb_func_start sub_813AE6C
-sub_813AE6C: @ 813AE6C
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r6, 2
- adds r5, r6
- lsls r5, 3
- ldr r0, _0813AEF8 @ =gTasks + 0x8
- adds r5, r0
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- bl sub_813AF04
- movs r0, 0xF
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- movs r0, 0
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0x13
- bl MenuDrawTextWindow
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x3
- bl MenuDrawTextWindow
- ldr r0, _0813AEFC @ =gSaveBlock1
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl sub_813AD58
- ldr r0, _0813AF00 @ =gUnknown_084062C0
- lsls r4, 3
- adds r4, r0
- ldr r0, [r4]
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
- adds r0, r6, 0
- bl sub_813ABE8
- ldrb r3, [r5, 0x8]
- ldrb r0, [r5]
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x2
- bl InitMenu
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813AEF8: .4byte gTasks + 0x8
-_0813AEFC: .4byte gSaveBlock1
-_0813AF00: .4byte gUnknown_084062C0
- thumb_func_end sub_813AE6C
-
- thumb_func_start sub_813AF04
-sub_813AF04: @ 813AF04
- push {lr}
- sub sp, 0x8
- ldr r1, _0813AF38 @ =gUnknown_08406334
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- add r0, sp, 0x4
- movs r1, 0xDF
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- adds r0, 0x2
- movs r1, 0xD1
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- movs r1, 0xD8
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0813AF38: .4byte gUnknown_08406334
- thumb_func_end sub_813AF04
-
- thumb_func_start sub_813AF3C
-sub_813AF3C: @ 813AF3C
- push {r4,lr}
- movs r2, 0
- movs r1, 0x6
- ldr r4, _0813AF70 @ =gSaveBlock1
- ldr r3, _0813AF74 @ =0x00002b6c
-_0813AF46:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813AF5C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_0813AF5C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _0813AF46
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0813AF70: .4byte gSaveBlock1
-_0813AF74: .4byte 0x00002b6c
- thumb_func_end sub_813AF3C
-
- thumb_func_start sub_813AF78
-sub_813AF78: @ 813AF78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- movs r2, 0x6
-_0813AF86:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r3, r0, 24
- mov r10, r1
- cmp r3, 0xF
- bhi _0813AFF4
- ldr r0, _0813B010 @ =gSaveBlock1
- mov r12, r0
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- add r0, r12
- ldr r1, _0813B014 @ =0x00002b6c
- adds r1, r0
- mov r8, r1
- ldr r2, _0813B018 @ =0x00002b4c
- mov r9, r2
- adds r4, r0, r2
-_0813AFAA:
- mov r5, r8
- ldrh r0, [r5]
- cmp r0, 0
- bne _0813AFEA
- mov r1, sp
- adds r0, r4, 0
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- lsls r2, r3, 3
- adds r2, r3
- lsls r2, 2
- add r2, r12
- add r2, r9
- adds r1, r4, 0
- adds r0, r2, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- mov r0, sp
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- ldm r0!, {r1,r6,r7}
- stm r2!, {r1,r6,r7}
- ldm r0!, {r5-r7}
- stm r2!, {r5-r7}
-_0813AFEA:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _0813AFAA
-_0813AFF4:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r2, r0, 24
- cmp r2, 0xE
- bls _0813AF86
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B010: .4byte gSaveBlock1
-_0813B014: .4byte 0x00002b6c
-_0813B018: .4byte 0x00002b4c
- thumb_func_end sub_813AF78
-
- thumb_func_start sub_813B01C
-sub_813B01C: @ 813B01C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- ldr r1, _0813B0B8 @ =0x0201fe00
- ldrb r4, [r1, 0x2]
- ldrb r0, [r1, 0x1]
- adds r0, r4, r0
- cmp r4, r0
- bge _0813B08A
- adds r6, r1, 0
- ldr r0, _0813B0BC @ =gStringVar1
- mov r8, r0
-_0813B036:
- ldrb r0, [r6, 0x2]
- subs r0, r4, r0
- lsls r0, 17
- lsrs r7, r0, 16
- adds r0, r7, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r3, r7, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x15
- adds r1, r5, 0
- movs r2, 0x1C
- bl MenuFillWindowRectWithBlankTile
- ldrb r0, [r6, 0x3]
- cmp r4, r0
- beq _0813B0C4
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- ldr r0, _0813B0C0 @ =gSaveBlock1 + 0x2C36
- adds r1, r0
- mov r0, r8
- bl StringCopy
- mov r0, r8
- bl sub_814A568
- mov r0, r8
- movs r1, 0x15
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r6, 0x2]
- ldrb r1, [r6, 0x1]
- adds r0, r1
- cmp r4, r0
- blt _0813B036
-_0813B08A:
- ldr r5, _0813B0B8 @ =0x0201fe00
- ldrb r0, [r5, 0x2]
- subs r0, r4, r0
- cmp r0, 0x8
- beq _0813B0A4
- adds r1, r7, 0x4
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x15
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
-_0813B0A4:
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _0813B0D4
- movs r0, 0
- movs r1, 0xC8
- movs r2, 0x8
- bl CreateVerticalScrollIndicators
- b _0813B0DA
- .align 2, 0
-_0813B0B8: .4byte 0x0201fe00
-_0813B0BC: .4byte gStringVar1
-_0813B0C0: .4byte gSaveBlock1 + 0x2C36
-_0813B0C4:
- ldr r0, _0813B0D0 @ =gOtherText_CancelNoTerminator
- movs r1, 0x15
- adds r2, r5, 0
- bl MenuPrint
- b _0813B08A
- .align 2, 0
-_0813B0D0: .4byte gOtherText_CancelNoTerminator
-_0813B0D4:
- movs r0, 0
- bl DestroyVerticalScrollIndicator
-_0813B0DA:
- ldr r0, _0813B0F4 @ =0x0201fe00
- ldrb r1, [r0, 0x2]
- ldrb r2, [r0, 0x1]
- adds r1, r2
- ldrb r0, [r0, 0x3]
- cmp r1, r0
- bgt _0813B0F8
- movs r0, 0x1
- movs r1, 0xC8
- movs r2, 0x98
- bl CreateVerticalScrollIndicators
- b _0813B0FE
- .align 2, 0
-_0813B0F4: .4byte 0x0201fe00
-_0813B0F8:
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
-_0813B0FE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813B01C
-
- thumb_func_start sub_813B108
-sub_813B108: @ 813B108
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0
- movs r2, 0x8
- movs r3, 0x3
- bl MenuDrawTextWindow
- ldr r0, _0813B16C @ =gPCText_Mailbox
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- adds r0, r4, 0
- bl sub_813B01C
- ldr r0, _0813B170 @ =0x0201fe00
- ldrb r3, [r0, 0x1]
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x15
- movs r2, 0x2
- bl InitMenu
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B16C: .4byte gPCText_Mailbox
-_0813B170: .4byte 0x0201fe00
- thumb_func_end sub_813B108
-
- thumb_func_start sub_813B174
-sub_813B174: @ 813B174
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r0, _0813B1AC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r3, 0x80
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0813B274
- ldr r2, _0813B1B0 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0813B1CA
- ldr r4, _0813B1B4 @ =0x0201fe00
- ldrb r0, [r4]
- cmp r0, 0
- beq _0813B1B8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _0813B1E6
- .align 2, 0
-_0813B1AC: .4byte gPaletteFade
-_0813B1B0: .4byte gMain
-_0813B1B4: .4byte 0x0201fe00
-_0813B1B8:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _0813B274
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x2]
- subs r0, 0x1
- b _0813B208
-_0813B1CA:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0813B212
- ldr r4, _0813B1F0 @ =0x0201fe00
- ldrb r1, [r4]
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- cmp r1, r0
- beq _0813B1F4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_0813B1E6:
- bl MoveMenuCursor
- strb r0, [r4]
- b _0813B274
- .align 2, 0
-_0813B1F0: .4byte 0x0201fe00
-_0813B1F4:
- ldrb r0, [r4, 0x2]
- adds r0, r1
- ldrb r1, [r4, 0x3]
- cmp r0, r1
- beq _0813B274
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x2]
- adds r0, 0x1
-_0813B208:
- strb r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813B01C
- b _0813B274
-_0813B212:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813B25C
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0813B23C @ =0x0201fe00
- ldrb r1, [r0, 0x2]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x3]
- cmp r1, r0
- bne _0813B240
- adds r0, r5, 0
- bl sub_813B320
- b _0813B274
- .align 2, 0
-_0813B23C: .4byte 0x0201fe00
-_0813B240:
- bl sub_813B27C
- ldr r0, _0813B254 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813B258 @ =sub_813B294
- str r0, [r1]
- b _0813B274
- .align 2, 0
-_0813B254: .4byte gTasks
-_0813B258: .4byte sub_813B294
-_0813B25C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813B274
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_813B320
-_0813B274:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_813B174
-
- thumb_func_start sub_813B27C
-sub_813B27C: @ 813B27C
- push {lr}
- bl BuyMenuFreeMemory
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- pop {r0}
- bx r0
- thumb_func_end sub_813B27C
-
- thumb_func_start sub_813B294
-sub_813B294: @ 813B294
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r4, _0813B2E8 @ =gStringVar1
- ldr r1, _0813B2EC @ =0x0201fe00
- ldrb r0, [r1]
- adds r0, 0x6
- ldrb r1, [r1, 0x2]
- adds r0, r1
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0813B2F0 @ =gSaveBlock1 + 0x2B5E
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- bl sub_814A568
- ldr r4, _0813B2F4 @ =gStringVar4
- ldr r1, _0813B2F8 @ =gOtherText_WhatWillYouDoMail
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _0813B2FC @ =sub_813B348
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B2E8: .4byte gStringVar1
-_0813B2EC: .4byte 0x0201fe00
-_0813B2F0: .4byte gSaveBlock1 + 0x2B5E
-_0813B2F4: .4byte gStringVar4
-_0813B2F8: .4byte gOtherText_WhatWillYouDoMail
-_0813B2FC: .4byte sub_813B348
- thumb_func_end sub_813B294
-
- thumb_func_start sub_813B300
-sub_813B300: @ 813B300
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl ReshowPlayerPC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813B300
-
- thumb_func_start sub_813B320
-sub_813B320: @ 813B320
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_813B27C
- ldr r1, _0813B340 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813B344 @ =sub_813B300
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B340: .4byte gTasks
-_0813B344: .4byte sub_813B300
- thumb_func_end sub_813B320
-
- thumb_func_start sub_813B348
-sub_813B348: @ 813B348
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xC
- movs r3, 0x9
- bl MenuDrawTextWindow
- ldr r3, _0813B394 @ =gUnknown_084062F8
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- ldr r1, _0813B398 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813B39C @ =sub_813B3A0
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B394: .4byte gUnknown_084062F8
-_0813B398: .4byte gTasks
-_0813B39C: .4byte sub_813B3A0
- thumb_func_end sub_813B348
-
- thumb_func_start sub_813B3A0
-sub_813B3A0: @ 813B3A0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r2, _0813B3C4 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0813B3C8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _0813B420
- .align 2, 0
-_0813B3C4: .4byte gMain
-_0813B3C8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0813B3DE
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _0813B420
-_0813B3DE:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813B40C
- movs r0, 0x5
- bl PlaySE
- ldr r4, _0813B408 @ =gUnknown_084062F8
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 21
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- b _0813B420
- .align 2, 0
-_0813B408: .4byte gUnknown_084062F8
-_0813B40C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813B420
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl Mailbox_Cancel
-_0813B420:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_813B3A0
-
- thumb_func_start Mailbox_Read
-Mailbox_Read: @ 813B428
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _0813B44C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813B450 @ =sub_813B454
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B44C: .4byte gTasks
-_0813B450: .4byte sub_813B454
- thumb_func_end Mailbox_Read
-
- thumb_func_start sub_813B454
-sub_813B454: @ 813B454
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0813B490 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813B488
- ldr r0, _0813B494 @ =0x0201fe00
- ldrb r1, [r0]
- adds r1, 0x6
- ldrb r0, [r0, 0x2]
- adds r1, r0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0813B498 @ =gSaveBlock1 + 0x2B4C
- adds r0, r1
- ldr r1, _0813B49C @ =sub_813B4F0
- movs r2, 0x1
- bl sub_80F890C
- adds r0, r4, 0
- bl DestroyTask
-_0813B488:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B490: .4byte gPaletteFade
-_0813B494: .4byte 0x0201fe00
-_0813B498: .4byte gSaveBlock1 + 0x2B4C
-_0813B49C: .4byte sub_813B4F0
- thumb_func_end sub_813B454
-
- thumb_func_start sub_813B4A0
-sub_813B4A0: @ 813B4A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B4C0
- ldr r0, _0813B4C8 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813B4CC @ =sub_813B174
- str r0, [r1]
-_0813B4C0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B4C8: .4byte gTasks
-_0813B4CC: .4byte sub_813B174
- thumb_func_end sub_813B4A0
-
- thumb_func_start sub_813B4D0
-sub_813B4D0: @ 813B4D0
- push {lr}
- ldr r0, _0813B4EC @ =sub_813B4A0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl sub_813B108
- bl pal_fill_black
- pop {r0}
- bx r0
- .align 2, 0
-_0813B4EC: .4byte sub_813B4A0
- thumb_func_end sub_813B4D0
-
- thumb_func_start sub_813B4F0
-sub_813B4F0: @ 813B4F0
- push {lr}
- ldr r0, _0813B504 @ =gUnknown_0300485C
- ldr r1, _0813B508 @ =sub_813B4D0
- str r1, [r0]
- ldr r0, _0813B50C @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0813B504: .4byte gUnknown_0300485C
-_0813B508: .4byte sub_813B4D0
-_0813B50C: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_813B4F0
-
- thumb_func_start Mailbox_MoveToBag
-Mailbox_MoveToBag: @ 813B510
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- ldr r0, _0813B540 @ =gStringVar1
- ldr r1, _0813B544 @ =gOtherText_MoveToBag
- bl StringCopy
- ldr r0, _0813B548 @ =gUnknown_0840633A
- movs r1, 0x1
- movs r2, 0x3
- bl MenuPrint
- ldr r1, _0813B54C @ =gOtherText_MessageWillBeLost
- ldr r2, _0813B550 @ =sub_813B554
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B540: .4byte gStringVar1
-_0813B544: .4byte gOtherText_MoveToBag
-_0813B548: .4byte gUnknown_0840633A
-_0813B54C: .4byte gOtherText_MessageWillBeLost
-_0813B550: .4byte sub_813B554
- thumb_func_end Mailbox_MoveToBag
-
- thumb_func_start sub_813B554
-sub_813B554: @ 813B554
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _0813B574 @ =gUnknown_084062E8
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B574: .4byte gUnknown_084062E8
- thumb_func_end sub_813B554
-
- thumb_func_start sub_813B578
-sub_813B578: @ 813B578
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _0813B5BC @ =0x0201fe00
- ldrb r0, [r4]
- adds r0, 0x6
- ldrb r1, [r4, 0x2]
- adds r0, r1
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0813B5C0 @ =gSaveBlock1 + 0x2B4C
- adds r6, r1, r0
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1A
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldrh r0, [r6, 0x20]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _0813B5CC
- ldr r1, _0813B5C4 @ =gOtherText_BagIsFull
- ldr r2, _0813B5C8 @ =sub_813B758
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _0813B602
- .align 2, 0
-_0813B5BC: .4byte 0x0201fe00
-_0813B5C0: .4byte gSaveBlock1 + 0x2B4C
-_0813B5C4: .4byte gOtherText_BagIsFull
-_0813B5C8: .4byte sub_813B758
-_0813B5CC:
- ldr r1, _0813B608 @ =gOtherText_MailWasReturned
- ldr r2, _0813B60C @ =sub_813B758
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- adds r0, r6, 0
- bl sub_80A2B40
- bl sub_813AF78
- ldrb r0, [r4, 0x3]
- subs r0, 0x1
- strb r0, [r4, 0x3]
- ldrb r1, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- ldrb r2, [r4, 0x2]
- adds r0, r2
- cmp r1, r0
- bge _0813B5FC
- cmp r2, 0
- beq _0813B5FC
- subs r0, r2, 0x1
- strb r0, [r4, 0x2]
-_0813B5FC:
- adds r0, r5, 0
- bl sub_813A240
-_0813B602:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B608: .4byte gOtherText_MailWasReturned
-_0813B60C: .4byte sub_813B758
- thumb_func_end sub_813B578
-
- thumb_func_start sub_813B610
-sub_813B610: @ 813B610
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1A
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_813B758
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813B610
-
- thumb_func_start Mailbox_Give
-Mailbox_Give: @ 813B630
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _0813B648
- adds r0, r4, 0
- bl sub_813B718
- b _0813B65E
-_0813B648:
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, _0813B664 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813B668 @ =sub_813B66C
- str r0, [r1]
-_0813B65E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B664: .4byte gTasks
-_0813B668: .4byte sub_813B66C
- thumb_func_end Mailbox_Give
-
- thumb_func_start sub_813B66C
-sub_813B66C: @ 813B66C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0813B698 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813B690
- ldr r0, _0813B69C @ =sub_808B020
- bl SetMainCallback2
- ldr r1, _0813B6A0 @ =gUnknown_02038561
- movs r0, 0x3
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0813B690:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B698: .4byte gPaletteFade
-_0813B69C: .4byte sub_808B020
-_0813B6A0: .4byte gUnknown_02038561
- thumb_func_end sub_813B66C
-
- thumb_func_start sub_813B6A4
-sub_813B6A4: @ 813B6A4
- push {r4-r6,lr}
- ldr r0, _0813B6F0 @ =sub_813B4A0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _0813B6F4 @ =0x0201fe00
- ldrb r4, [r5, 0x3]
- bl sub_813AF3C
- strb r0, [r5, 0x3]
- bl sub_813AF78
- ldrb r0, [r5, 0x3]
- cmp r4, r0
- beq _0813B6DA
- ldrb r1, [r5, 0x3]
- ldrb r0, [r5, 0x1]
- ldrb r2, [r5, 0x2]
- adds r0, r2
- cmp r1, r0
- bge _0813B6DA
- cmp r2, 0
- beq _0813B6DA
- subs r0, r2, 0x1
- strb r0, [r5, 0x2]
-_0813B6DA:
- adds r0, r6, 0
- bl sub_813A240
- adds r0, r6, 0
- bl sub_813B108
- bl pal_fill_black
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B6F0: .4byte sub_813B4A0
-_0813B6F4: .4byte 0x0201fe00
- thumb_func_end sub_813B6A4
-
- thumb_func_start sub_813B6F8
-sub_813B6F8: @ 813B6F8
- push {lr}
- ldr r0, _0813B70C @ =gUnknown_0300485C
- ldr r1, _0813B710 @ =sub_813B6A4
- str r1, [r0]
- ldr r0, _0813B714 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0813B70C: .4byte gUnknown_0300485C
-_0813B710: .4byte sub_813B6A4
-_0813B714: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_813B6F8
-
- thumb_func_start sub_813B718
-sub_813B718: @ 813B718
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0813B72C @ =gOtherText_NoPokemon
- ldr r2, _0813B730 @ =sub_813B758
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .align 2, 0
-_0813B72C: .4byte gOtherText_NoPokemon
-_0813B730: .4byte sub_813B758
- thumb_func_end sub_813B718
-
- thumb_func_start Mailbox_Cancel
-Mailbox_Cancel: @ 813B734
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xC
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_813B758
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Mailbox_Cancel
-
- thumb_func_start sub_813B758
-sub_813B758: @ 813B758
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_813B108
- ldr r1, _0813B77C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813B780 @ =sub_813B174
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B77C: .4byte gTasks
-_0813B780: .4byte sub_813B174
- thumb_func_end sub_813B758
-
- .align 2, 0 @ Don't pad with nop.