summaryrefslogtreecommitdiff
path: root/asm/script_menu.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/script_menu.s')
-rw-r--r--asm/script_menu.s1040
1 files changed, 0 insertions, 1040 deletions
diff --git a/asm/script_menu.s b/asm/script_menu.s
index ed6f5c328..6d8513245 100644
--- a/asm/script_menu.s
+++ b/asm/script_menu.s
@@ -5,1046 +5,6 @@
.text
- thumb_func_start sub_80E1FBC
-sub_80E1FBC: @ 80E1FBC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r4, r3, 24
- ldr r1, =gUnknown_02039F90
- movs r0, 0x2
- strb r0, [r1]
- movs r2, 0
- ldr r6, =Task_HandleMultichoiceInput
- ldr r5, =gUnknown_0858BB68
- movs r3, 0xC
-_080E1FE6:
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r4
- bne _080E1FF0
- strb r3, [r1]
-_080E1FF0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _080E1FE6
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- mov r0, r8
- strh r0, [r1, 0x10]
- cmp r7, 0x3
- bls _080E202C
- movs r0, 0x1
- b _080E202E
- .pool
-_080E202C:
- movs r0, 0
-_080E202E:
- strh r0, [r1, 0x12]
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- mov r1, r9
- strh r1, [r0, 0x14]
- strh r4, [r0, 0x16]
- adds r0, r4, 0
- bl sub_80E2A94
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E1FBC
-
- thumb_func_start Task_HandleMultichoiceInput
-Task_HandleMultichoiceInput: @ 80E2058
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E20FC
- ldr r1, =gUnknown_02039F90
- ldrb r0, [r1]
- cmp r0, 0
- beq _080E2090
- subs r0, 0x1
- strb r0, [r1]
- b _080E20FC
- .pool
-_080E2090:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080E209E
- bl Menu_ProcessInputNoWrapAround
- b _080E20A2
-_080E209E:
- bl ProcessMenuInput
-_080E20A2:
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _080E20B8
- ldrb r0, [r5, 0xE]
- bl sub_80E2A94
-_080E20B8:
- lsls r0, r4, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080E20FC
- adds r0, 0x1
- cmp r1, r0
- bne _080E20E8
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080E20FC
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gSpecialVar_Result
- movs r0, 0x7F
- strh r0, [r1]
- b _080E20EC
- .pool
-_080E20E8:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_080E20EC:
- ldrb r0, [r5, 0xC]
- bl sub_80E2A78
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080E20FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_HandleMultichoiceInput
-
- thumb_func_start ScriptMenu_YesNo
-ScriptMenu_YesNo: @ 80E2108
- push {r4,lr}
- ldr r4, =task_yes_no_maybe
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E2138
- ldr r1, =gSpecialVar_Result
- movs r0, 0xFF
- strh r0, [r1]
- bl sub_8197930
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- movs r0, 0x1
- b _080E213A
- .pool
-_080E2138:
- movs r0, 0
-_080E213A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScriptMenu_YesNo
-
- thumb_func_start sub_80E2140
-sub_80E2140: @ 80E2140
- push {lr}
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _080E2154
- movs r0, 0x1
- b _080E2156
- .pool
-_080E2154:
- movs r0, 0
-_080E2156:
- pop {r1}
- bx r1
- thumb_func_end sub_80E2140
-
- thumb_func_start task_yes_no_maybe
-task_yes_no_maybe: @ 80E215C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x4
- bgt _080E2180
- adds r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080E21C4
- .pool
-_080E2180:
- bl Menu_ProcessInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E21A4
- cmp r1, r0
- bgt _080E219C
- subs r0, 0x1
- cmp r1, r0
- beq _080E21C4
- b _080E21BA
-_080E219C:
- cmp r1, 0
- beq _080E21B4
- cmp r1, 0x1
- bne _080E21BA
-_080E21A4:
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- b _080E21B8
- .pool
-_080E21B4:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
-_080E21B8:
- strh r0, [r1]
-_080E21BA:
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080E21C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_yes_no_maybe
-
- thumb_func_start ScriptMenu_MultichoiceGrid
-ScriptMenu_MultichoiceGrid: @ 80E21D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, [sp, 0x30]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x4]
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x8]
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- ldr r0, =sub_80E2308
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2210
- movs r0, 0
- b _080E22E8
- .pool
-_080E2210:
- ldr r0, =gSpecialVar_Result
- movs r1, 0xFF
- strh r1, [r0]
- movs r2, 0
- movs r6, 0
- ldr r1, =gUnknown_0858B760
- lsls r5, 3
- adds r0, r5, r1
- str r5, [sp, 0xC]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- bge _080E2246
- mov r8, r1
-_080E222A:
- mov r0, r8
- adds r4, r5, r0
- ldr r1, [r4]
- lsls r0, r6, 3
- adds r0, r1
- ldr r0, [r0]
- adds r1, r2, 0
- bl display_text_and_get_width
- adds r2, r0, 0
- adds r6, 0x1
- ldrb r4, [r4, 0x4]
- cmp r6, r4
- blt _080E222A
-_080E2246:
- adds r0, r2, 0
- bl convert_pixel_width_to_tile_width
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- mov r1, r10
- muls r1, r5
- mov r8, r1
- adds r0, r7, 0
- bl sub_80E2D5C
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gUnknown_0858B760
- mov r9, r2
- ldr r0, [sp, 0xC]
- add r9, r0
- mov r1, r9
- ldrb r0, [r1, 0x4]
- mov r1, r10
- bl __udivsi3
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =sub_80E2308
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- mov r2, sp
- ldrh r2, [r2, 0x8]
- strh r2, [r4, 0x10]
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r3, r6, 25
- lsrs r3, 24
- adds r0, r7, 0
- ldr r1, [sp, 0x4]
- mov r2, r8
- bl CreateWindowFromRect
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldrb r0, [r4, 0x14]
- lsls r5, 27
- lsrs r5, 24
- mov r2, r9
- ldr r1, [r2]
- str r1, [sp]
- adds r1, r5, 0
- mov r2, r10
- adds r3, r6, 0
- bl sub_81997AC
- ldrb r0, [r4, 0x14]
- movs r1, 0
- str r1, [sp]
- adds r1, r5, 0
- mov r2, r10
- adds r3, r6, 0
- bl sub_8199944
- ldrb r0, [r4, 0x14]
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
-_080E22E8:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ScriptMenu_MultichoiceGrid
-
- thumb_func_start sub_80E2308
-sub_80E2308: @ 80E2308
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- bl sub_8199334
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080E2360
- adds r0, 0x1
- cmp r1, r0
- bne _080E234C
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080E2360
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gSpecialVar_Result
- movs r0, 0x7F
- strh r0, [r1]
- b _080E2350
- .pool
-_080E234C:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_080E2350:
- ldrb r0, [r5, 0xC]
- bl sub_80E2A78
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080E2360:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2308
-
- thumb_func_start ScrSpecial_CreatePCMenu
-@ bool ScrSpecial_CreatePCMenu()
-ScrSpecial_CreatePCMenu: @ 80E236C
- push {lr}
- ldr r0, =Task_HandleMultichoiceInput
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E2394
- ldr r1, =gSpecialVar_Result
- movs r0, 0xFF
- strh r0, [r1]
- bl CreatePCMenu
- movs r0, 0x1
- b _080E2396
- .pool
-_080E2394:
- movs r0, 0
-_080E2396:
- pop {r1}
- bx r1
- thumb_func_end ScrSpecial_CreatePCMenu
-
- thumb_func_start CreatePCMenu
-CreatePCMenu: @ 80E239C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- movs r7, 0x8
- movs r5, 0
- movs r4, 0
- ldr r6, =gUnknown_0858BB70
-_080E23AC:
- ldm r6!, {r0}
- adds r1, r5, 0
- bl display_text_and_get_width
- adds r5, r0, 0
- adds r4, 0x1
- cmp r4, 0x3
- bls _080E23AC
- ldr r6, =0x00000864 @ = FLAG_SYS_GAME_CLEAR
- adds r0, r6, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080E23D4
- ldr r0, =gText_HallOfFame
- adds r1, r5, 0
- bl display_text_and_get_width
- adds r5, r0, 0
-_080E23D4:
- adds r0, r5, 0
- bl convert_pixel_width_to_tile_width
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- bl FlagGet
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080E2448
- movs r0, 0x4
- mov r8, r0
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x8
- bl CreateWindowFromRect
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r2, =gText_HallOfFame
- movs r0, 0x21
- str r0, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
- ldr r2, =gText_LogOff
- movs r0, 0x31
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
- b _080E247A
- .pool
-_080E2448:
- movs r0, 0x3
- mov r8, r0
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x6
- bl CreateWindowFromRect
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r2, =gText_LogOff
- movs r0, 0x21
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
-_080E247A:
- ldr r0, =0x000008ab
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080E24B0
- ldr r2, =gText_LanettesPC
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
- b _080E24C6
- .pool
-_080E24B0:
- ldr r2, =gText_SomeonesPC
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
-_080E24C6:
- ldr r4, =gStringVar4
- ldr r1, =gText_PlayersPC
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r7, 0
- movs r3, 0x11
- bl PrintPlayerNameOnWindow
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- adds r0, r6, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- mov r1, r8
- adds r2, r6, 0
- movs r3, 0x1
- bl sub_80E1FBC
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreatePCMenu
-
- thumb_func_start ScriptMenu_DisplayPCStartupPrompt
-ScriptMenu_DisplayPCStartupPrompt: @ 80E2514
- push {lr}
- sub sp, 0x10
- movs r0, 0
- movs r1, 0x1
- bl sub_819786C
- ldr r2, =gUnknown_0827266F
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end ScriptMenu_DisplayPCStartupPrompt
-
- thumb_func_start sub_80E2548
-sub_80E2548: @ 80E2548
- push {lr}
- ldr r0, =Task_HandleMultichoiceInput
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E2570
- ldr r1, =gSpecialVar_Result
- movs r0, 0xFF
- strh r0, [r1]
- bl sub_80E2578
- movs r0, 0x1
- b _080E2572
- .pool
-_080E2570:
- movs r0, 0
-_080E2572:
- pop {r1}
- bx r1
- thumb_func_end sub_80E2548
-
- thumb_func_start sub_80E2578
-sub_80E2578: @ 80E2578
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- movs r5, 0
- movs r4, 0
- ldr r3, =gUnknown_03001124
- movs r2, 0xFF
-_080E258A:
- adds r0, r4, r3
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080E258A
- movs r0, 0x1
- movs r1, 0
- bl GetFontAttribute
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- cmp r1, 0
- bne _080E25D2
- ldr r4, =gUnknown_03001124
- adds r0, r5, r4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0xE8
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080E25D2
- adds r0, r5, r4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E25D2:
- ldr r0, =0x00000113
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2630
- ldr r0, =0x000008b3
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2630
- ldr r2, =gSpecialVar_0x8004
- ldrh r0, [r2]
- cmp r0, 0
- bne _080E2606
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E2606:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080E2630
- movs r4, 0xD7
- lsls r4, 1
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080E2630
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl FlagSet
-_080E2630:
- movs r0, 0xB9
- lsls r0, 1
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2690
- movs r0, 0x8E
- lsls r0, 4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2690
- ldr r2, =gSpecialVar_0x8004
- ldrh r0, [r2]
- cmp r0, 0
- bne _080E2668
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x3
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E2668:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080E2690
- ldr r4, =0x000001db
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080E2690
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x3
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl FlagSet
-_080E2690:
- ldr r0, =0x00000173
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E26EC
- ldr r0, =0x000008d5
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E26EC
- ldr r2, =gSpecialVar_0x8004
- ldrh r0, [r2]
- cmp r0, 0
- bne _080E26C4
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E26C4:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080E26EC
- ldr r4, =0x000001af
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080E26EC
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl FlagSet
-_080E26EC:
- movs r0, 0xBC
- lsls r0, 1
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E274C
- ldr r0, =0x000008d6
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E274C
- ldr r2, =gSpecialVar_0x8004
- ldrh r0, [r2]
- cmp r0, 0
- bne _080E2722
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x5
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E2722:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080E274C
- movs r4, 0xD8
- lsls r4, 1
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080E274C
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x5
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl FlagSet
-_080E274C:
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x6
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _080E276E
- movs r0, 0xE8
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
-_080E276E:
- adds r7, r5, 0
- cmp r7, 0x7
- bne _080E27A4
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0xB
- strh r0, [r1]
- bl sub_813A128
- b _080E2860
- .pool
-_080E27A4:
- movs r1, 0
- movs r4, 0
- lsls r6, r7, 25
- subs r0, r7, 0x1
- mov r9, r0
- ldr r5, =gUnknown_0858BB80
-_080E27B0:
- ldr r0, =gUnknown_03001124
- adds r0, r4, r0
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080E27C6
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- bl display_text_and_get_width
- adds r1, r0, 0
-_080E27C6:
- adds r4, 0x1
- cmp r4, 0x6
- bls _080E27B0
- adds r0, r1, 0
- bl convert_pixel_width_to_tile_width
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1C
- subs r0, r2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x6
- subs r1, r7
- lsls r1, 25
- lsrs r1, 24
- lsrs r3, r6, 24
- bl CreateWindowFromRect
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- movs r5, 0
- movs r4, 0
- ldr r0, =gUnknown_0858BB80
- mov r8, r0
-_080E2802:
- ldr r0, =gUnknown_03001124
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080E2834
- lsls r0, 2
- add r0, r8
- ldr r2, [r0]
- lsls r0, r5, 4
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E2834:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080E2802
- mov r0, r9
- lsls r2, r0, 24
- lsrs r2, 24
- adds r0, r6, 0
- adds r1, r7, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- adds r0, r6, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- adds r1, r7, 0
- adds r2, r6, 0
- movs r3, 0x8
- bl sub_80E1FBC
-_080E2860:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2578
-
thumb_func_start sub_80E2878
sub_80E2878: @ 80E2878
push {lr}