summaryrefslogtreecommitdiff
path: root/asm/item_menu.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/item_menu.s')
-rw-r--r--asm/item_menu.s1168
1 files changed, 0 insertions, 1168 deletions
diff --git a/asm/item_menu.s b/asm/item_menu.s
index f13ae7f38..d42c65d45 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -5,1174 +5,6 @@
.text
- thumb_func_start sub_8109BB8
-sub_8109BB8: @ 8109BB8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8109890
- ldr r1, _08109BDC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08109BE0 @ =sub_8109BE4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08109BDC: .4byte gTasks
-_08109BE0: .4byte sub_8109BE4
- thumb_func_end sub_8109BB8
-
- thumb_func_start sub_8109BE4
-sub_8109BE4: @ 8109BE4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl sub_80BF72C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08109C42
- bl Menu_ProcessInputNoWrapAround
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _08109C42
- adds r0, 0x1
- cmp r4, r0
- bne _08109C24
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08109C20 @ =gUnknown_8452EB8
- ldr r1, [r0, 0x24]
- adds r0, r5, 0
- bl _call_via_r1
- b _08109C42
- .align 2, 0
-_08109C20: .4byte gUnknown_8452EB8
-_08109C24:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _08109C48 @ =gUnknown_8452EB8
- ldr r0, _08109C4C @ =gUnknown_203AD24
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
-_08109C42:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109C48: .4byte gUnknown_8452EB8
-_08109C4C: .4byte gUnknown_203AD24
- thumb_func_end sub_8109BE4
-
- thumb_func_start Task_ItemMenuAction_Use
-Task_ItemMenuAction_Use: @ 8109C50
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _08109CA0 @ =gSpecialVar_ItemId
- ldrh r0, [r5]
- bl ItemId_GetFieldFunc
- cmp r0, 0
- beq _08109CB4
- movs r0, 0xA
- bl sub_810BA3C
- movs r0, 0x6
- bl sub_810BA3C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _08109CA4
- ldrh r0, [r5]
- bl ItemId_GetType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08109CA4
- adds r0, r4, 0
- bl sub_810A170
- b _08109CB4
- .align 2, 0
-_08109CA0: .4byte gSpecialVar_ItemId
-_08109CA4:
- ldr r0, _08109CBC @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemId_GetFieldFunc
- adds r1, r0, 0
- adds r0, r4, 0
- bl _call_via_r1
-_08109CB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08109CBC: .4byte gSpecialVar_ItemId
- thumb_func_end Task_ItemMenuAction_Use
-
- thumb_func_start Task_ItemMenuAction_Toss
-Task_ItemMenuAction_Toss: @ 8109CC0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r7, _08109D14 @ =gTasks+0x8
- adds r4, r6, r7
- movs r0, 0xA
- bl sub_810BAD8
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- movs r0, 0x6
- bl sub_810BAD8
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- movs r0, 0xA
- bl sub_810BA3C
- movs r0, 0x6
- bl sub_810BA3C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- strh r0, [r4, 0x10]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08109D18
- adds r0, r5, 0
- bl sub_8109D38
- b _08109D2A
- .align 2, 0
-_08109D14: .4byte gTasks+0x8
-_08109D18:
- ldrh r0, [r4, 0x2]
- ldr r1, _08109D30 @ =gText_TossOutHowManyStrVar1s
- bl sub_810971C
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _08109D34 @ =sub_8109DEC
- str r1, [r0]
-_08109D2A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08109D30: .4byte gText_TossOutHowManyStrVar1s
-_08109D34: .4byte sub_8109DEC
- thumb_func_end Task_ItemMenuAction_Toss
-
- thumb_func_start sub_8109D38
-sub_8109D38: @ 8109D38
- push {r4,r5,lr}
- sub sp, 0x14
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- ldr r0, _08109D9C @ =gTasks+0x8
- adds r1, r0
- ldr r0, _08109DA0 @ =gStringVar2
- movs r2, 0x10
- ldrsh r1, [r1, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r5, _08109DA4 @ =gStringVar4
- ldr r1, _08109DA8 @ =gText_ThrowAwayStrVar2OfThisItemQM
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x6
- movs r1, 0x1
- bl sub_810B9DC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- str r1, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl sub_810B8F0
- ldr r1, _08109DAC @ =gUnknown_8452F50
- adds r0, r4, 0
- bl sub_810BAE8
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08109D9C: .4byte gTasks+0x8
-_08109DA0: .4byte gStringVar2
-_08109DA4: .4byte gStringVar4
-_08109DA8: .4byte gText_ThrowAwayStrVar2OfThisItemQM
-_08109DAC: .4byte gUnknown_8452F50
- thumb_func_end sub_8109D38
-
- thumb_func_start sub_8109DB0
-sub_8109DB0: @ 8109DB0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _08109DE8 @ =gTasks+0x8
- adds r4, r0
- movs r0, 0x6
- bl sub_810BA3C
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- ldrb r0, [r4]
- movs r1, 0x1
- bl bag_menu_print_cursor_
- adds r0, r5, 0
- bl sub_810910C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08109DE8: .4byte gTasks+0x8
- thumb_func_end sub_8109DB0
-
- thumb_func_start sub_8109DEC
-sub_8109DEC: @ 8109DEC
- 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, _08109E1C @ =gTasks+0x8
- adds r4, r0, r1
- adds r0, r4, 0
- adds r0, 0x10
- ldrh r1, [r4, 0x4]
- bl AdjustQuantityAccordingToDPadInput
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08109E20
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl sub_81097E4
- b _08109EA2
- .align 2, 0
-_08109E1C: .4byte gTasks+0x8
-_08109E20:
- ldr r0, _08109E60 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109E64
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x6
- bl sub_810BAD8
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- movs r0, 0x6
- bl sub_810BA3C
- movs r0, 0
- bl sub_810BA3C
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- bl sub_8108978
- adds r0, r5, 0
- bl sub_8109D38
- b _08109EA2
- .align 2, 0
-_08109E60: .4byte gMain
-_08109E64:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08109EA2
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x6
- bl sub_810BA3C
- movs r0, 0
- bl sub_810BA3C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- ldrb r0, [r4]
- movs r1, 0x1
- bl bag_menu_print_cursor_
- bl sub_8108978
- adds r0, r6, 0
- bl sub_810910C
-_08109EA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8109DEC
-
- thumb_func_start sub_8109EA8
-sub_8109EA8: @ 8109EA8
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, _08109F28 @ =gTasks+0x8
- adds r6, r4, r5
- movs r0, 0x6
- bl sub_810BA3C
- ldr r0, _08109F2C @ =gUnknown_203ACFC
- ldrb r0, [r0, 0x6]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x2]
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08109F30 @ =gStringVar1
- bl CopyItemName
- ldr r0, _08109F34 @ =gStringVar2
- movs r2, 0x10
- ldrsh r1, [r6, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r6, _08109F38 @ =gStringVar4
- ldr r1, _08109F3C @ =gText_ThrewAwayStrVar2StrVar1s
- adds r0, r6, 0
- bl StringExpandPlaceholders
- movs r0, 0x6
- movs r1, 0x3
- bl sub_810B9DC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- str r1, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0x2
- adds r2, r6, 0
- movs r3, 0
- bl sub_810B8F0
- subs r5, 0x8
- adds r4, r5
- ldr r0, _08109F40 @ =sub_8109F44
- str r0, [r4]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109F28: .4byte gTasks+0x8
-_08109F2C: .4byte gUnknown_203ACFC
-_08109F30: .4byte gStringVar1
-_08109F34: .4byte gStringVar2
-_08109F38: .4byte gStringVar4
-_08109F3C: .4byte gText_ThrewAwayStrVar2StrVar1s
-_08109F40: .4byte sub_8109F44
- thumb_func_end sub_8109EA8
-
- thumb_func_start sub_8109F44
-sub_8109F44: @ 8109F44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, _08109FEC @ =gTasks+0x8
- adds r7, r0, r1
- ldr r0, _08109FF0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08109F6E
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08109FE0
-_08109F6E:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08109FF4 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldrh r1, [r7, 0x10]
- bl RemoveBagItem
- movs r0, 0x6
- bl sub_810BA3C
- ldrb r0, [r7]
- ldr r4, _08109FF8 @ =gUnknown_203ACFC
- ldrh r2, [r4, 0x6]
- lsls r2, 1
- adds r5, r4, 0
- adds r5, 0xE
- adds r1, r2, r5
- adds r6, r4, 0
- adds r6, 0x8
- adds r2, r6
- bl DestroyListMenuTask
- ldrb r0, [r4, 0x6]
- bl sub_8108DC8
- ldrb r0, [r4, 0x6]
- bl sub_81089F4
- ldrb r0, [r4, 0x6]
- bl sub_810842C
- ldr r0, _08109FFC @ =gMultiuseListMenuTemplate
- ldrh r2, [r4, 0x6]
- lsls r2, 1
- adds r5, r2, r5
- ldrh r1, [r5]
- adds r2, r6
- ldrh r2, [r2]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7]
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- ldrb r0, [r7]
- movs r1, 0x1
- bl bag_menu_print_cursor_
- mov r0, r8
- bl sub_810910C
-_08109FE0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08109FEC: .4byte gTasks+0x8
-_08109FF0: .4byte gMain
-_08109FF4: .4byte gSpecialVar_ItemId
-_08109FF8: .4byte gUnknown_203ACFC
-_08109FFC: .4byte gMultiuseListMenuTemplate
- thumb_func_end sub_8109F44
-
- thumb_func_start Task_ItemMenuAction_ToggleSelect
-Task_ItemMenuAction_ToggleSelect: @ 810A000
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, _0810A040 @ =gTasks+0x8
- adds r7, r0, r1
- ldr r0, _0810A044 @ =gUnknown_203ACFC
- ldrb r0, [r0, 0x6]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r7, 0x2]
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _0810A048 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, _0810A04C @ =0x00000296
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, r2
- bne _0810A050
- movs r0, 0
- strh r0, [r1]
- b _0810A052
- .align 2, 0
-_0810A040: .4byte gTasks+0x8
-_0810A044: .4byte gUnknown_203ACFC
-_0810A048: .4byte gSaveBlock1Ptr
-_0810A04C: .4byte 0x00000296
-_0810A050:
- strh r2, [r1]
-_0810A052:
- ldrb r0, [r7]
- ldr r4, _0810A0A0 @ =gUnknown_203ACFC
- ldrh r2, [r4, 0x6]
- lsls r2, 1
- adds r5, r4, 0
- adds r5, 0xE
- adds r1, r2, r5
- adds r6, r4, 0
- adds r6, 0x8
- adds r2, r6
- bl DestroyListMenuTask
- ldrb r0, [r4, 0x6]
- bl sub_810842C
- ldr r0, _0810A0A4 @ =gMultiuseListMenuTemplate
- ldrh r2, [r4, 0x6]
- lsls r2, 1
- adds r5, r2, r5
- ldrh r1, [r5]
- adds r2, r6
- ldrh r2, [r2]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7]
- movs r0, 0
- movs r1, 0x1
- bl CopyWindowToVram
- mov r0, r8
- bl Task_ItemMenuAction_Cancel
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810A0A0: .4byte gUnknown_203ACFC
-_0810A0A4: .4byte gMultiuseListMenuTemplate
- thumb_func_end Task_ItemMenuAction_ToggleSelect
-
- thumb_func_start Task_ItemMenuAction_Give
-Task_ItemMenuAction_Give: @ 810A0A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r6, r0, 3
- ldr r0, _0810A110 @ =gTasks+0x8
- mov r8, r0
- adds r1, r6, r0
- ldr r0, _0810A114 @ =gUnknown_203ACFC
- ldrb r0, [r0, 0x6]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r1, 0x2]
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0xA
- bl sub_810BA3C
- movs r0, 0x6
- bl sub_810BA3C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x1
- bl CopyWindowToVram
- adds r0, r5, 0
- bl itemid_80BF6D8_mail_related
- lsls r0, 24
- cmp r0, 0
- bne _0810A120
- ldr r2, _0810A118 @ =gUnknown_841630F
- ldr r3, _0810A11C @ =sub_810A1D0
- adds r0, r4, 0
- movs r1, 0x2
- bl DisplayItemMessageInBag
- b _0810A166
- .align 2, 0
-_0810A110: .4byte gTasks+0x8
-_0810A114: .4byte gUnknown_203ACFC
-_0810A118: .4byte gUnknown_841630F
-_0810A11C: .4byte sub_810A1D0
-_0810A120:
- adds r0, r5, 0
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _0810A160
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _0810A13E
- adds r0, r4, 0
- bl sub_810A170
- b _0810A166
-_0810A13E:
- ldr r0, _0810A154 @ =gUnknown_203AD10
- ldr r1, [r0]
- ldr r0, _0810A158 @ =CB2_ChooseMonToGiveItem
- str r0, [r1]
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0810A15C @ =ItemMenu_StartFadeToExitCallback
- str r1, [r0]
- b _0810A166
- .align 2, 0
-_0810A154: .4byte gUnknown_203AD10
-_0810A158: .4byte CB2_ChooseMonToGiveItem
-_0810A15C: .4byte ItemMenu_StartFadeToExitCallback
-_0810A160:
- adds r0, r7, 0
- bl sub_810A18C
-_0810A166:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end Task_ItemMenuAction_Give
-
- thumb_func_start sub_810A170
-sub_810A170: @ 810A170
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810A184 @ =gText_ThereIsNoPokemon
- ldr r3, _0810A188 @ =sub_810A1D0
- movs r1, 0x2
- bl DisplayItemMessageInBag
- pop {r0}
- bx r0
- .align 2, 0
-_0810A184: .4byte gText_ThereIsNoPokemon
-_0810A188: .4byte sub_810A1D0
- thumb_func_end sub_810A170
-
- thumb_func_start sub_810A18C
-sub_810A18C: @ 810A18C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0810A1BC @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldr r1, _0810A1C0 @ =gStringVar1
- bl CopyItemName
- ldr r5, _0810A1C4 @ =gStringVar4
- ldr r1, _0810A1C8 @ =gText_ItemCantBeHeld
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldr r3, _0810A1CC @ =sub_810A1D0
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r5, 0
- bl DisplayItemMessageInBag
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810A1BC: .4byte gSpecialVar_ItemId
-_0810A1C0: .4byte gStringVar1
-_0810A1C4: .4byte gStringVar4
-_0810A1C8: .4byte gText_ItemCantBeHeld
-_0810A1CC: .4byte sub_810A1D0
- thumb_func_end sub_810A18C
-
- thumb_func_start sub_810A1D0
-sub_810A1D0: @ 810A1D0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0810A1F4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810A1EE
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_810A1F8
-_0810A1EE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810A1F4: .4byte gMain
- thumb_func_end sub_810A1D0
-
- thumb_func_start sub_810A1F8
-sub_810A1F8: @ 810A1F8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r5, r0, 2
- add r5, r8
- lsls r5, 3
- ldr r0, _0810A27C @ =gTasks+0x8
- adds r5, r0
- movs r0, 0x5
- bl sub_810BA9C
- ldrb r0, [r5]
- ldr r4, _0810A280 @ =gUnknown_203ACFC
- ldrh r2, [r4, 0x6]
- lsls r2, 1
- adds r6, r4, 0
- adds r6, 0xE
- adds r1, r2, r6
- movs r3, 0x8
- adds r3, r4
- mov r9, r3
- add r2, r9
- bl DestroyListMenuTask
- ldrb r0, [r4, 0x6]
- bl sub_8108DC8
- ldrb r0, [r4, 0x6]
- bl sub_81089F4
- ldrb r0, [r4, 0x6]
- bl sub_810842C
- ldr r0, _0810A284 @ =gMultiuseListMenuTemplate
- ldrh r2, [r4, 0x6]
- lsls r2, 1
- adds r6, r2, r6
- ldrh r1, [r6]
- add r2, r9
- ldrh r2, [r2]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- ldrb r0, [r5]
- movs r1, 0x1
- bl bag_menu_print_cursor_
- mov r0, r8
- bl sub_810910C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810A27C: .4byte gTasks+0x8
-_0810A280: .4byte gUnknown_203ACFC
-_0810A284: .4byte gMultiuseListMenuTemplate
- thumb_func_end sub_810A1F8
-
- thumb_func_start sub_810A288
-sub_810A288: @ 810A288
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _0810A2D8 @ =gTasks+0x8
- adds r4, r0
- ldrb r0, [r4]
- mov r6, sp
- adds r6, 0x2
- mov r1, sp
- adds r2, r6, 0
- bl ListMenuGetScrollAndRow
- mov r0, sp
- ldrh r0, [r0]
- ldrh r1, [r6]
- adds r0, r1
- bl sub_8108818
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- ldrb r0, [r4]
- movs r1, 0x1
- bl bag_menu_print_cursor_
- adds r0, r5, 0
- bl sub_810910C
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810A2D8: .4byte gTasks+0x8
- thumb_func_end sub_810A288
-
- thumb_func_start Task_ItemMenuAction_Cancel
-Task_ItemMenuAction_Cancel: @ 810A2DC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xA
- bl sub_810BA3C
- movs r0, 0x6
- bl sub_810BA3C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- ldr r1, _0810A320 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r1, 0x1
- bl bag_menu_print_cursor_
- adds r0, r4, 0
- bl sub_810910C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810A320: .4byte gTasks
- thumb_func_end Task_ItemMenuAction_Cancel
-
- thumb_func_start sub_810A324
-sub_810A324: @ 810A324
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _0810A36C @ =gSpecialVar_ItemId
- ldrh r0, [r5]
- bl ItemId_GetBattleFunc
- cmp r0, 0
- beq _0810A364
- movs r0, 0xA
- bl sub_810BA3C
- movs r0, 0x6
- bl sub_810BA3C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x1
- bl CopyWindowToVram
- ldrh r0, [r5]
- bl ItemId_GetBattleFunc
- adds r1, r0, 0
- adds r0, r4, 0
- bl _call_via_r1
-_0810A364:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810A36C: .4byte gSpecialVar_ItemId
- thumb_func_end sub_810A324
-
- thumb_func_start sub_810A370
-sub_810A370: @ 810A370
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r7, r0, 3
- ldr r0, _0810A3BC @ =gTasks+0x8
- mov r9, r0
- adds r1, r7, r0
- ldr r2, _0810A3C0 @ =gUnknown_203ACFC
- mov r8, r2
- ldrb r0, [r2, 0x6]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r1, 0x2]
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- adds r0, r4, 0
- bl itemid_80BF6D8_mail_related
- lsls r0, 24
- cmp r0, 0
- bne _0810A3CC
- ldr r2, _0810A3C4 @ =gUnknown_841630F
- ldr r3, _0810A3C8 @ =sub_810A1D0
- adds r0, r5, 0
- movs r1, 0x2
- bl DisplayItemMessageInBag
- b _0810A426
- .align 2, 0
-_0810A3BC: .4byte gTasks+0x8
-_0810A3C0: .4byte gUnknown_203ACFC
-_0810A3C4: .4byte gUnknown_841630F
-_0810A3C8: .4byte sub_810A1D0
-_0810A3CC:
- movs r0, 0xB6
- lsls r0, 1 @ ITEM_TM_CASE
- cmp r4, r0
- bne _0810A3DC
- ldr r0, _0810A3D8 @ =sub_810A434
- b _0810A3E4
- .align 2, 0
-_0810A3D8: .4byte sub_810A434
-_0810A3DC:
- ldr r0, _0810A3F0 @ =ITEM_BERRY_POUCH
- cmp r4, r0
- bne _0810A3F8
- ldr r0, _0810A3F4 @ =sub_810A448
-_0810A3E4:
- bl ItemMenu_SetExitCallback
- adds r0, r5, 0
- bl ItemMenu_StartFadeToExitCallback
- b _0810A426
- .align 2, 0
-_0810A3F0: .4byte 0x0000016d @ ITEM_BERRY_POUCH
-_0810A3F4: .4byte sub_810A448
-_0810A3F8:
- mov r1, r8
- ldrh r0, [r1, 0x6]
- cmp r0, 0x1
- beq _0810A420
- adds r0, r6, 0
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _0810A420
- bl sub_8108CB4
- mov r0, r9
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, _0810A41C @ =ItemMenu_StartFadeToExitCallback
- str r1, [r0]
- b _0810A426
- .align 2, 0
-_0810A41C: .4byte ItemMenu_StartFadeToExitCallback
-_0810A420:
- adds r0, r5, 0
- bl sub_810A18C
-_0810A426:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810A370
-
- thumb_func_start sub_810A434
-sub_810A434: @ 810A434
- push {lr}
- ldr r1, _0810A444 @ =sub_810A45C
- movs r0, 0x1
- movs r2, 0
- bl InitTMCase
- pop {r0}
- bx r0
- .align 2, 0
-_0810A444: .4byte sub_810A45C
- thumb_func_end sub_810A434
-
- thumb_func_start sub_810A448
-sub_810A448: @ 810A448
- push {lr}
- ldr r1, _0810A458 @ =sub_810A45C
- movs r0, 0x1
- movs r2, 0
- bl InitBerryPouch
- pop {r0}
- bx r0
- .align 2, 0
-_0810A458: .4byte sub_810A45C
- thumb_func_end sub_810A448
-
- thumb_func_start sub_810A45C
-sub_810A45C: @ 810A45C
- push {lr}
- bl CB2_SelectBagItemToGive
- pop {r0}
- bx r0
- thumb_func_end sub_810A45C
-
- thumb_func_start sub_810A468
-sub_810A468: @ 810A468
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r7, r0, 3
- ldr r0, _0810A4B4 @ =gTasks+0x8
- mov r9, r0
- adds r1, r7, r0
- ldr r2, _0810A4B8 @ =gUnknown_203ACFC
- mov r8, r2
- ldrb r0, [r2, 0x6]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r1, 0x2]
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810A4C4
- ldr r2, _0810A4BC @ =gUnknown_841630F
- ldr r3, _0810A4C0 @ =sub_810A1D0
- adds r0, r5, 0
- movs r1, 0x2
- bl DisplayItemMessageInBag
- b _0810A51E
- .align 2, 0
-_0810A4B4: .4byte gTasks+0x8
-_0810A4B8: .4byte gUnknown_203ACFC
-_0810A4BC: .4byte gUnknown_841630F
-_0810A4C0: .4byte sub_810A1D0
-_0810A4C4:
- movs r0, 0xB6
- lsls r0, 1 @ ITEM_TM_CASE
- cmp r4, r0
- bne _0810A4D4
- ldr r0, _0810A4D0 @ =sub_810A52C
- b _0810A4DC
- .align 2, 0
-_0810A4D0: .4byte sub_810A52C
-_0810A4D4:
- ldr r0, _0810A4E8 @ =0x0000016d @ ITEM_BERRY_POUCH
- cmp r4, r0
- bne _0810A4F0
- ldr r0, _0810A4EC @ =sub_810A540
-_0810A4DC:
- bl ItemMenu_SetExitCallback
- adds r0, r5, 0
- bl ItemMenu_StartFadeToExitCallback
- b _0810A51E
- .align 2, 0
-_0810A4E8: .4byte 0x0000016d
-_0810A4EC: .4byte sub_810A540
-_0810A4F0:
- mov r1, r8
- ldrh r0, [r1, 0x6]
- cmp r0, 0x1
- beq _0810A518
- adds r0, r6, 0
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _0810A518
- bl sub_8108CB4
- mov r0, r9
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, _0810A514 @ =ItemMenu_StartFadeToExitCallback
- str r1, [r0]
- b _0810A51E
- .align 2, 0
-_0810A514: .4byte ItemMenu_StartFadeToExitCallback
-_0810A518:
- adds r0, r5, 0
- bl sub_810A18C
-_0810A51E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810A468
-
- thumb_func_start sub_810A52C
-sub_810A52C: @ 810A52C
- push {lr}
- ldr r1, _0810A53C @ =sub_810A554
- movs r0, 0x3
- movs r2, 0
- bl InitTMCase
- pop {r0}
- bx r0
- .align 2, 0
-_0810A53C: .4byte sub_810A554
- thumb_func_end sub_810A52C
-
- thumb_func_start sub_810A540
-sub_810A540: @ 810A540
- push {lr}
- ldr r1, _0810A550 @ =sub_810A554
- movs r0, 0x3
- movs r2, 0
- bl InitBerryPouch
- pop {r0}
- bx r0
- .align 2, 0
-_0810A550: .4byte sub_810A554
- thumb_func_end sub_810A540
-
- thumb_func_start sub_810A554
-sub_810A554: @ 810A554
- push {lr}
- ldr r2, _0810A564 @ =sub_808CE60
- movs r0, 0x4
- movs r1, 0x3
- bl GoToBagMenu
- pop {r0}
- bx r0
- .align 2, 0
-_0810A564: .4byte sub_808CE60
- thumb_func_end sub_810A554
-
thumb_func_start sub_810A568
sub_810A568: @ 810A568
push {r4-r7,lr}