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.s1525
1 files changed, 1141 insertions, 384 deletions
diff --git a/asm/script_menu.s b/asm/script_menu.s
index 0d630ba52..6d6c68244 100644
--- a/asm/script_menu.s
+++ b/asm/script_menu.s
@@ -6,475 +6,1232 @@
.text
- thumb_func_start IsEnoughMoney
-IsEnoughMoney: @ 80B79A8
- push {lr}
- cmp r0, r1
- bcs _080B79B2
+ thumb_func_start sub_80B5054
+sub_80B5054: @ 80B5054
+ push {r4-r7,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r6, r1, 24
+ lsls r2, 24
+ lsrs r4, r2, 24
+ lsls r3, 24
+ lsrs r5, r3, 24
+ ldr r0, _080B5098 @ =sub_80B52B4
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080B50A4
+ ldr r1, _080B509C @ =gScriptResult
+ movs r0, 0xFF
+ strh r0, [r1]
+ ldr r1, _080B50A0 @ =gMultichoiceLists
+ lsls r0, r4, 3
+ adds r0, r1
+ ldrb r2, [r0, 0x4]
+ ldr r3, [r0]
+ str r5, [sp]
movs r0, 0
- b _080B79B4
-_080B79B2:
+ str r0, [sp, 0x4]
+ adds r0, r7, 0
+ adds r1, r6, 0
+ bl sub_80B5138
movs r0, 0x1
-_080B79B4:
- pop {r1}
- bx r1
- thumb_func_end IsEnoughMoney
-
- thumb_func_start sub_80B79B8
-sub_80B79B8: @ 80B79B8
- push {lr}
- adds r2, r0, 0
- ldr r0, [r2]
- adds r1, r0, r1
- cmp r0, r1
- bls _080B79CC
- ldr r0, _080B79C8 @ =0x000f423f
- b _080B79D4
- .align 2, 0
-_080B79C8: .4byte 0x000f423f
-_080B79CC:
- str r1, [r2]
- ldr r0, _080B79DC @ =0x000f423f
- cmp r1, r0
- bls _080B79D6
-_080B79D4:
- str r0, [r2]
-_080B79D6:
- pop {r0}
- bx r0
+ b _080B50A6
.align 2, 0
-_080B79DC: .4byte 0x000f423f
- thumb_func_end sub_80B79B8
-
- thumb_func_start sub_80B79E0
-sub_80B79E0: @ 80B79E0
- push {lr}
- adds r2, r0, 0
- ldr r0, [r2]
- cmp r0, r1
- bcs _080B79EE
+_080B5098: .4byte sub_80B52B4
+_080B509C: .4byte gScriptResult
+_080B50A0: .4byte gMultichoiceLists
+_080B50A4:
movs r0, 0
- b _080B79F0
-_080B79EE:
- subs r0, r1
-_080B79F0:
- str r0, [r2]
- pop {r0}
- bx r0
- thumb_func_end sub_80B79E0
+_080B50A6:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80B5054
- thumb_func_start sub_80B79F8
-sub_80B79F8: @ 80B79F8
- push {r4,lr}
- adds r3, r0, 0
+ thumb_func_start sub_80B50B0
+sub_80B50B0: @ 80B50B0
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ ldr r4, [sp, 0x20]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r1, 24
+ lsrs r7, r1, 24
lsls r2, 24
- lsrs r4, r2, 24
- ldr r0, _080B7A0C @ =0x000f423f
- cmp r1, r0
- bls _080B7A10
- movs r2, 0x7
- b _080B7A46
- .align 2, 0
-_080B7A0C: .4byte 0x000f423f
-_080B7A10:
- ldr r0, _080B7A1C @ =0x0001869f
- cmp r1, r0
- bls _080B7A20
- movs r2, 0x6
- b _080B7A46
- .align 2, 0
-_080B7A1C: .4byte 0x0001869f
-_080B7A20:
- ldr r0, _080B7A2C @ =0x00002710
- cmp r1, r0
- bls _080B7A30
- movs r2, 0x5
- b _080B7A46
+ lsrs r5, r2, 24
+ lsls r3, 24
+ lsrs r6, r3, 24
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, _080B5100 @ =sub_80B52B4
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080B510C
+ ldr r1, _080B5104 @ =gScriptResult
+ movs r0, 0xFF
+ strh r0, [r1]
+ ldr r1, _080B5108 @ =gMultichoiceLists
+ lsls r0, r5, 3
+ adds r0, r1
+ ldrb r2, [r0, 0x4]
+ ldr r3, [r0]
+ str r6, [sp]
+ str r4, [sp, 0x4]
+ mov r0, r8
+ adds r1, r7, 0
+ bl sub_80B5138
+ movs r0, 0x1
+ b _080B510E
.align 2, 0
-_080B7A2C: .4byte 0x00002710
-_080B7A30:
- ldr r0, _080B7A90 @ =0x000003e7
- movs r2, 0x4
- cmp r1, r0
- bhi _080B7A46
- movs r2, 0x3
- cmp r1, 0x63
- bhi _080B7A46
- movs r2, 0x1
- cmp r1, 0x9
- bls _080B7A46
- movs r2, 0x2
-_080B7A46:
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x14
- strb r0, [r3, 0x1]
- movs r0, 0x6
- strb r0, [r3, 0x2]
- adds r3, 0x3
+_080B5100: .4byte sub_80B52B4
+_080B5104: .4byte gScriptResult
+_080B5108: .4byte gMultichoiceLists
+_080B510C:
movs r0, 0
- subs r2, r4, r2
- cmp r0, r2
- bge _080B7A6C
- movs r4, 0
-_080B7A5E:
- strb r4, [r3]
- adds r3, 0x1
- adds r0, 0x1
+_080B510E:
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80B50B0
+
+ thumb_func_start GetStringWidthInTilesForScriptMenu
+GetStringWidthInTilesForScriptMenu: @ 80B511C
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _080B5134 @ =gWindowConfig_81E6CE4
+ bl GetStringWidthGivenWindowConfig
lsls r0, 24
lsrs r0, 24
- cmp r0, r2
- blt _080B7A5E
-_080B7A6C:
- movs r0, 0xB7
- strb r0, [r3]
- adds r3, 0x1
- adds r0, r3, 0
- bl ConvertIntToDecimalString
- adds r3, r0, 0
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x14
- strb r0, [r3, 0x1]
- movs r0, 0
- strb r0, [r3, 0x2]
- movs r0, 0xFF
- strb r0, [r3, 0x3]
- pop {r4}
- pop {r0}
- bx r0
+ adds r1, r0, 0x7
+ lsrs r0, r1, 3
+ pop {r1}
+ bx r1
.align 2, 0
-_080B7A90: .4byte 0x000003e7
- thumb_func_end sub_80B79F8
+_080B5134: .4byte gWindowConfig_81E6CE4
+ thumb_func_end GetStringWidthInTilesForScriptMenu
- thumb_func_start sub_80B7A94
-sub_80B7A94: @ 80B7A94
+ thumb_func_start sub_80B5138
+sub_80B5138: @ 80B5138
push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r0, 0
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ mov r10, r3
+ ldr r3, [sp, 0x34]
+ ldr r4, [sp, 0x38]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
lsls r1, 24
- lsrs r5, r1, 24
+ lsrs r1, 24
+ str r1, [sp, 0x8]
lsls r2, 24
- lsrs r6, r2, 24
+ lsrs r2, 24
+ mov r8, r2
lsls r3, 24
- lsrs r7, r3, 24
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80B79F8
- mov r0, sp
- bl sub_8072CA4
+ lsrs r3, 24
+ str r3, [sp, 0xC]
+ lsls r4, 24
+ lsrs r4, 24
+ str r4, [sp, 0x10]
+ mov r1, r10
+ ldr r0, [r1]
+ bl GetStringWidthInTilesForScriptMenu
+ lsls r0, 16
+ lsrs r5, r0, 16
+ movs r4, 0x1
+ cmp r4, r8
+ bcs _080B5198
+_080B517A:
+ lsls r0, r4, 3
+ add r0, r10
+ ldr r0, [r0]
+ bl GetStringWidthInTilesForScriptMenu
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r5, r0
+ bcs _080B518E
+ adds r5, r0, 0
+_080B518E:
+ adds r0, r4, 0x1
lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r5, 0x1
- lsls r0, 3
- cmp r2, r0
- blt _080B7ACE
- mov r0, sp
+ lsrs r4, r0, 24
+ cmp r4, r8
+ bcc _080B517A
+_080B5198:
+ lsls r0, r5, 24
+ lsrs r7, r0, 24
+ mov r1, r9
+ adds r0, r7, r1
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x1D
+ bls _080B51B8
+ mov r0, r9
+ adds r0, 0x1D
+ subs r0, r7
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ movs r7, 0x1D
+_080B51B8:
+ mov r1, r8
+ lsls r0, r1, 1
+ adds r0, 0x1
+ ldr r1, [sp, 0x8]
+ lsls r4, r1, 24
+ asrs r4, 24
+ adds r4, r0
+ lsls r4, 24
+ lsrs r4, 24
+ mov r0, r9
+ adds r2, r7, 0
+ adds r3, r4, 0
+ bl MenuDrawTextWindow
+ mov r6, r9
+ adds r6, 0x1
+ lsls r6, 24
+ lsrs r6, 24
+ ldr r5, [sp, 0x8]
+ adds r5, 0x1
+ lsls r5, 24
+ lsrs r5, 24
+ adds r0, r6, 0
+ adds r1, r5, 0
+ mov r2, r8
+ mov r3, r10
+ bl PrintMenuItems
+ ldr r0, [sp, 0x10]
+ str r0, [sp]
+ mov r1, r9
+ subs r0, r7, r1
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ movs r0, 0
adds r1, r6, 0
+ adds r2, r5, 0
+ mov r3, r8
+ bl InitMenu
+ ldr r0, [sp, 0xC]
+ str r0, [sp]
+ mov r1, r8
+ str r1, [sp, 0x4]
+ mov r0, r9
+ ldr r1, [sp, 0x8]
adds r2, r7, 0
- bl MenuPrint
- b _080B7AE4
-_080B7ACE:
- adds r1, r6, 0x1
- adds r1, r5
- lsls r1, 3
- subs r1, r2
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r7, 3
- mov r0, sp
- movs r3, 0x1
- bl MenuPrint_PixelCoords
-_080B7AE4:
- add sp, 0x10
+ adds r3, r4, 0
+ bl sub_80B5230
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
- thumb_func_end sub_80B7A94
+ thumb_func_end sub_80B5138
- thumb_func_start sub_80B7AEC
-sub_80B7AEC: @ 80B7AEC
+ thumb_func_start sub_80B5230
+sub_80B5230: @ 80B5230
push {r4-r6,lr}
- sub sp, 0x20
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r6, r2, 0
+ ldr r0, [sp, 0x1C]
+ mov r8, r0
+ ldr r0, [sp, 0x20]
+ mov r9, r0
lsls r4, 24
lsrs r4, 24
lsls r5, 24
lsrs r5, 24
- mov r6, sp
- movs r0, 0xB7
- strb r0, [r6]
- adds r6, 0x1
- adds r0, r6, 0
- adds r1, r3, 0
- bl ConvertIntToDecimalString
- adds r6, r0, 0
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8072B4C
- movs r0, 0xFC
- strb r0, [r6]
- movs r0, 0x14
- strb r0, [r6, 0x1]
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r3, 24
+ lsrs r3, 24
+ mov r0, r8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r0, r9
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldr r0, _080B5298 @ =sub_80B52B4
+ movs r1, 0x50
+ str r3, [sp]
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B529C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0x8]
+ strh r5, [r1, 0xA]
+ strh r6, [r1, 0xC]
+ ldr r3, [sp]
+ strh r3, [r1, 0xE]
+ mov r0, r8
+ strh r0, [r1, 0x10]
+ mov r0, r9
+ cmp r0, 0x3
+ bls _080B52A0
+ movs r0, 0x1
+ b _080B52A2
+ .align 2, 0
+_080B5298: .4byte sub_80B52B4
+_080B529C: .4byte gTasks
+_080B52A0:
movs r0, 0
- strb r0, [r6, 0x2]
- movs r0, 0xFF
- strb r0, [r6, 0x3]
- add sp, 0x20
+_080B52A2:
+ strh r0, [r1, 0x12]
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end sub_80B7AEC
+ thumb_func_end sub_80B5230
- thumb_func_start sub_80B7B34
-sub_80B7B34: @ 80B7B34
+ thumb_func_start sub_80B52B4
+sub_80B52B4: @ 80B52B4
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _080B52E0 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080B534E
+ ldr r2, _080B52E4 @ =gTasks
+ lsls r1, r4, 2
+ adds r0, r1, r4
+ lsls r0, 3
+ adds r0, r2
+ movs r2, 0x12
+ ldrsh r0, [r0, r2]
+ adds r5, r1, 0
+ cmp r0, 0
+ bne _080B52E8
+ bl ProcessMenuInputNoWrap
+ b _080B52EC
+ .align 2, 0
+_080B52E0: .4byte gPaletteFade
+_080B52E4: .4byte gTasks
+_080B52E8:
+ bl ProcessMenuInput
+_080B52EC:
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r0, 24
+ asrs r1, r0, 24
+ movs r0, 0x2
+ negs r0, r0
+ cmp r1, r0
+ beq _080B534E
+ adds r0, 0x1
+ cmp r1, r0
+ bne _080B5328
+ ldr r0, _080B5320 @ =gTasks
+ adds r1, r5, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r2, 0x10
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _080B534E
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, _080B5324 @ =gScriptResult
+ movs r0, 0x7F
+ strh r0, [r1]
+ b _080B532C
+ .align 2, 0
+_080B5320: .4byte gTasks
+_080B5324: .4byte gScriptResult
+_080B5328:
+ ldr r0, _080B5354 @ =gScriptResult
+ strh r1, [r0]
+_080B532C:
+ bl sub_8072DEC
+ ldr r0, _080B5358 @ =gTasks
+ adds r3, r5, r4
+ lsls r3, 3
+ adds r3, r0
+ ldrb r0, [r3, 0x8]
+ ldrb r1, [r3, 0xA]
+ ldrb r2, [r3, 0xC]
+ ldrb r3, [r3, 0xE]
+ bl MenuZeroFillWindowRect
+ adds r0, r4, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+_080B534E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B5354: .4byte gScriptResult
+_080B5358: .4byte gTasks
+ thumb_func_end sub_80B52B4
+
+ thumb_func_start Multichoice
+Multichoice: @ 80B535C
push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
sub sp, 0x4
- mov r8, r0
- adds r5, r1, 0
- mov r9, r2
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r6, r1, 24
+ lsls r2, 24
+ lsrs r4, r2, 24
+ lsls r3, 24
+ lsrs r5, r3, 24
+ ldr r0, _080B539C @ =sub_80B52B4
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080B53A8
+ ldr r1, _080B53A0 @ =gScriptResult
+ movs r0, 0xFF
+ strh r0, [r1]
+ ldr r1, _080B53A4 @ =gMultichoiceLists
+ lsls r0, r4, 3
+ adds r0, r1
+ ldrb r2, [r0, 0x4]
+ ldr r3, [r0]
+ str r5, [sp]
+ adds r0, r7, 0
+ adds r1, r6, 0
+ bl sub_80B53B4
+ movs r0, 0x1
+ b _080B53AA
+ .align 2, 0
+_080B539C: .4byte sub_80B52B4
+_080B53A0: .4byte gScriptResult
+_080B53A4: .4byte gMultichoiceLists
+_080B53A8:
+ movs r0, 0
+_080B53AA:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end Multichoice
+
+ thumb_func_start sub_80B53B4
+sub_80B53B4: @ 80B53B4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r7, r3, 0
+ ldr r3, [sp, 0x28]
lsls r0, 24
lsrs r0, 24
mov r8, r0
- lsls r5, 24
- lsrs r5, 24
- mov r1, r9
- lsls r1, 8
+ lsls r1, 24
+ lsrs r1, 24
mov r9, r1
- ldr r4, _080B7BD8 @ =gDecoration10000_Gfx
- adds r0, r1, r4
- lsls r6, r5, 4
- subs r6, r5
- lsls r1, r6, 6
- mov r3, r8
- adds r3, 0x1
- lsls r3, 5
- ldr r2, _080B7BDC @ =0x06008000
- adds r3, r2
- adds r1, r3
- movs r2, 0x20
- str r3, [sp]
- bl CpuFastSet
- adds r4, 0x80
- add r9, r4
+ lsls r2, 24
+ lsrs r6, r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ mov r10, r3
+ ldr r0, [r7]
+ bl GetStringWidthInTilesForScriptMenu
+ lsls r0, 16
+ lsrs r4, r0, 16
+ movs r5, 0x1
+ cmp r5, r6
+ bcs _080B5408
+_080B53EA:
+ lsls r0, r5, 3
+ adds r0, r7
+ ldr r0, [r0]
+ bl GetStringWidthInTilesForScriptMenu
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r4, r0
+ bcs _080B53FE
+ adds r4, r0, 0
+_080B53FE:
adds r0, r5, 0x1
- lsls r4, r0, 4
- subs r4, r0
- lsls r1, r4, 6
- ldr r3, [sp]
- adds r1, r3
- mov r0, r9
- movs r2, 0x20
- bl CpuFastSet
- movs r3, 0
- lsls r5, 5
- mov r0, r8
- adds r7, r5, r0
- lsls r6, 1
- adds r6, 0x1
- add r6, r8
- ldr r1, _080B7BE0 @ =0xfffff000
- adds r5, r1, 0
- ldr r0, _080B7BE4 @ =0x0600f800
- mov r12, r0
- ldr r1, _080B7BE8 @ =0x0600f840
- mov r9, r1
- lsls r4, 1
- adds r4, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r6
+ bcc _080B53EA
+_080B5408:
+ lsls r4, 24
+ lsrs r4, 24
add r4, r8
-_080B7BAA:
- adds r1, r7, r3
- lsls r1, 1
- mov r0, r12
- adds r2, r1, r0
- adds r0, r3, r6
- adds r0, r5
- strh r0, [r2]
- add r1, r9
- adds r0, r3, r4
- adds r0, r5
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080B7BAA
- add sp, 0x4
- pop {r3,r4}
+ adds r4, 0x2
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, r6, 1
+ adds r0, 0x1
+ mov r1, r9
+ lsls r5, r1, 24
+ asrs r5, 24
+ adds r5, r0
+ lsls r5, 24
+ lsrs r5, 24
+ mov r0, r8
+ adds r2, r6, 0
+ adds r3, r7, 0
+ bl PrintMenuItems
+ movs r0, 0
+ str r0, [sp]
+ mov r1, r8
+ subs r0, r4, r1
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ movs r0, 0
+ mov r2, r9
+ adds r3, r6, 0
+ bl InitMenu
+ mov r0, r10
+ str r0, [sp]
+ str r6, [sp, 0x4]
+ mov r0, r8
+ mov r1, r9
+ adds r2, r4, 0
+ adds r3, r5, 0
+ bl sub_80B5230
+ add sp, 0x8
+ pop {r3-r5}
mov r8, r3
mov r9, r4
+ mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
+ thumb_func_end sub_80B53B4
+
+ thumb_func_start yes_no_box
+yes_no_box: @ 80B546C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 24
+ lsrs r4, r1, 24
+ ldr r6, _080B54B4 @ =task_yes_no_maybe
+ adds r0, r6, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080B54C0
+ ldr r1, _080B54B8 @ =gScriptResult
+ movs r0, 0xFF
+ strh r0, [r1]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl DisplayYesNoMenu
+ adds r0, r6, 0
+ movs r1, 0x50
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B54BC @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r5, [r1, 0x8]
+ strh r4, [r1, 0xA]
+ movs r0, 0x1
+ b _080B54C2
.align 2, 0
-_080B7BD8: .4byte gDecoration10000_Gfx
-_080B7BDC: .4byte 0x06008000
-_080B7BE0: .4byte 0xfffff000
-_080B7BE4: .4byte 0x0600f800
-_080B7BE8: .4byte 0x0600f840
- thumb_func_end sub_80B7B34
+_080B54B4: .4byte task_yes_no_maybe
+_080B54B8: .4byte gScriptResult
+_080B54BC: .4byte gTasks
+_080B54C0:
+ movs r0, 0
+_080B54C2:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end yes_no_box
- thumb_func_start sub_80B7BEC
-sub_80B7BEC: @ 80B7BEC
+ thumb_func_start unref_sub_80B54C8
+unref_sub_80B54C8: @ 80B54C8
+ push {lr}
+ ldr r0, _080B54D8 @ =gScriptResult
+ ldrh r0, [r0]
+ cmp r0, 0xFF
+ beq _080B54DC
+ movs r0, 0x1
+ b _080B54DE
+ .align 2, 0
+_080B54D8: .4byte gScriptResult
+_080B54DC:
+ movs r0, 0
+_080B54DE:
+ pop {r1}
+ bx r1
+ thumb_func_end unref_sub_80B54C8
+
+ thumb_func_start task_yes_no_maybe
+task_yes_no_maybe: @ 80B54E4
push {r4,lr}
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 24
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, _080B5504 @ =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 _080B5508
+ adds r0, r2, 0x1
+ strh r0, [r1, 0xC]
+ b _080B556A
+ .align 2, 0
+_080B5504: .4byte gTasks
+_080B5508:
+ bl ProcessMenuInputNoWrap
+ lsls r0, 24
+ asrs r1, r0, 24
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080B552C
+ cmp r1, r0
+ bgt _080B5524
+ subs r0, 0x1
+ cmp r1, r0
+ beq _080B556A
+ b _080B5542
+_080B5524:
+ cmp r1, 0
+ beq _080B553C
+ cmp r1, 0x1
+ bne _080B5542
+_080B552C:
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, _080B5538 @ =gScriptResult
+ movs r0, 0
+ b _080B5540
+ .align 2, 0
+_080B5538: .4byte gScriptResult
+_080B553C:
+ ldr r1, _080B5570 @ =gScriptResult
+ movs r0, 0x1
+_080B5540:
+ strh r0, [r1]
+_080B5542:
+ ldr r0, _080B5574 @ =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrb r0, [r1, 0x8]
+ ldrb r1, [r1, 0xA]
+ adds r2, r0, 0x6
+ lsls r2, 24
+ lsrs r2, 24
+ adds r3, r1, 0x5
lsls r3, 24
- movs r1, 0xC0
- lsls r1, 19
- adds r4, r1
- lsrs r4, 24
- movs r1, 0x80
- lsls r1, 17
- adds r3, r1
lsrs r3, 24
- movs r1, 0x6
- adds r2, r4, 0
- bl sub_80B7A94
+ bl MenuZeroFillWindowRect
+ adds r0, r4, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+_080B556A:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_80B7BEC
+ .align 2, 0
+_080B5570: .4byte gScriptResult
+_080B5574: .4byte gTasks
+ thumb_func_end task_yes_no_maybe
- thumb_func_start sub_80B7C14
-sub_80B7C14: @ 80B7C14
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 24
+ thumb_func_start sub_80B5578
+sub_80B5578: @ 80B5578
+ 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 r0, 24
+ mov r9, r0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ lsls r2, 24
+ lsrs r6, r2, 24
lsls r3, 24
- lsrs r6, r4, 24
- movs r0, 0xD0
- lsls r0, 20
- adds r4, r0
- lsrs r4, 24
- lsrs r5, r3, 24
- movs r1, 0xC0
- lsls r1, 18
- adds r3, r1
lsrs r3, 24
+ str r3, [sp, 0xC]
+ lsls r4, 24
+ lsrs r5, r4, 24
+ movs r7, 0
+ ldr r0, _080B55B8 @ =sub_80B5684
+ mov r10, r0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080B55BC
+ movs r0, 0
+ b _080B5670
+ .align 2, 0
+_080B55B8: .4byte sub_80B5684
+_080B55BC:
+ ldr r1, _080B5620 @ =gScriptResult
+ movs r0, 0xFF
+ strh r0, [r1]
+ ldr r0, _080B5624 @ =gMultichoiceLists
+ lsls r4, r6, 3
+ adds r0, r4, r0
+ ldrb r6, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp]
+ str r5, [sp, 0x4]
+ str r7, [sp, 0x8]
+ mov r0, r9
+ mov r1, r8
+ adds r2, r6, 0
+ movs r3, 0
+ bl sub_807274C
+ mov r0, r10
+ movs r1, 0x50
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ lsls r0, r6, 24
+ lsrs r1, r0, 24
+ lsrs r0, 25
+ cmp r0, r5
+ bcc _080B55FE
+ movs r0, 0x1
+ ands r0, r6
+ cmp r0, 0
+ beq _080B5606
+_080B55FE:
+ cmp r5, 0x1
+ beq _080B5606
+ cmp r1, r5
+ bne _080B5628
+_080B5606:
+ ldr r0, _080B5624 @ =gMultichoiceLists
+ adds r0, r4, r0
+ ldrb r0, [r0, 0x4]
+ adds r1, r5, 0
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, 0x1
+ mov r2, r8
+ lsls r1, r2, 24
+ b _080B563A
+ .align 2, 0
+_080B5620: .4byte gScriptResult
+_080B5624: .4byte gMultichoiceLists
+_080B5628:
adds r0, r6, 0
adds r1, r5, 0
- adds r2, r4, 0
- bl MenuDrawTextWindow
- mov r0, r8
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80B7BEC
- ldr r0, _080B7C88 @ =gUnknown_083CF584
- bl LoadCompressedObjectPic
- ldr r0, _080B7C8C @ =gUnknown_083CF58C
- bl LoadCompressedObjectPalette
- ldr r0, _080B7C90 @ =gSpriteTemplate_83CF56C
- lsls r6, 19
- movs r1, 0x98
- lsls r1, 13
- adds r6, r1
- asrs r6, 16
- lsls r5, 19
- movs r1, 0xB0
- lsls r1, 12
- adds r5, r1
- asrs r5, 16
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, _080B7C94 @ =gUnknown_02038734
- strb r0, [r1]
- pop {r3}
+ bl __udivsi3
+ lsls r0, 24
+ lsrs r0, 23
+ adds r0, 0x3
+ mov r3, r8
+ lsls r1, r3, 24
+_080B563A:
+ asrs r1, 24
+ adds r1, r0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ adds r0, r5, 0
+ bl sub_807288C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080B5680 @ =gTasks
+ mov r3, r10
+ lsls r1, r3, 2
+ add r1, r10
+ lsls r1, 3
+ adds r1, r2
+ mov r2, r9
+ strh r2, [r1, 0x8]
+ mov r3, r8
+ strh r3, [r1, 0xA]
+ add r0, r9
+ adds r0, 0x2
+ strh r0, [r1, 0xC]
+ strh r7, [r1, 0xE]
+ mov r0, sp
+ ldrh r0, [r0, 0xC]
+ strh r0, [r1, 0x10]
+ movs r0, 0x1
+_080B5670:
+ add sp, 0x10
+ pop {r3-r5}
mov r8, r3
- pop {r4-r6}
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080B5680: .4byte gTasks
+ thumb_func_end sub_80B5578
+
+ thumb_func_start sub_80B5684
+sub_80B5684: @ 80B5684
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ bl sub_80727CC
+ lsls r0, 24
+ asrs r1, r0, 24
+ movs r0, 0x2
+ negs r0, r0
+ cmp r1, r0
+ beq _080B56F4
+ adds r0, 0x1
+ cmp r1, r0
+ bne _080B56CC
+ ldr r2, _080B56C4 @ =gTasks
+ lsls r1, r5, 2
+ adds r0, r1, r5
+ lsls r0, 3
+ adds r0, r2
+ movs r2, 0x10
+ ldrsh r0, [r0, r2]
+ adds r4, r1, 0
+ cmp r0, 0
+ bne _080B56F4
+ movs r0, 0x5
+ bl PlaySE
+ ldr r1, _080B56C8 @ =gScriptResult
+ movs r0, 0x7F
+ strh r0, [r1]
+ b _080B56D2
+ .align 2, 0
+_080B56C4: .4byte gTasks
+_080B56C8: .4byte gScriptResult
+_080B56CC:
+ ldr r0, _080B56FC @ =gScriptResult
+ strh r1, [r0]
+ lsls r4, r5, 2
+_080B56D2:
+ bl sub_8072DEC
+ ldr r0, _080B5700 @ =gTasks
+ adds r3, r4, r5
+ lsls r3, 3
+ adds r3, r0
+ ldrb r0, [r3, 0x8]
+ ldrb r1, [r3, 0xA]
+ ldrb r2, [r3, 0xC]
+ ldrb r3, [r3, 0xE]
+ bl MenuZeroFillWindowRect
+ adds r0, r5, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+_080B56F4:
+ pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_080B7C88: .4byte gUnknown_083CF584
-_080B7C8C: .4byte gUnknown_083CF58C
-_080B7C90: .4byte gSpriteTemplate_83CF56C
-_080B7C94: .4byte gUnknown_02038734
- thumb_func_end sub_80B7C14
+_080B56FC: .4byte gScriptResult
+_080B5700: .4byte gTasks
+ thumb_func_end sub_80B5684
+
+ thumb_func_start sp109_CreatePCMenu
+sp109_CreatePCMenu: @ 80B5704
+ push {lr}
+ ldr r0, _080B5724 @ =sub_80B52B4
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080B572C
+ ldr r1, _080B5728 @ =gScriptResult
+ movs r0, 0xFF
+ strh r0, [r1]
+ bl CreatePCMenu
+ movs r0, 0x1
+ b _080B572E
+ .align 2, 0
+_080B5724: .4byte sub_80B52B4
+_080B5728: .4byte gScriptResult
+_080B572C:
+ movs r0, 0
+_080B572E:
+ pop {r1}
+ bx r1
+ thumb_func_end sp109_CreatePCMenu
- thumb_func_start RemoveMoneyLabelObject
-RemoveMoneyLabelObject: @ 80B7C98
+ thumb_func_start CreatePCMenu
+CreatePCMenu: @ 80B5734
+ push {r4-r7,lr}
+ sub sp, 0x8
+ ldr r0, _080B5758 @ =gPCText_PlayersPC
+ bl GetStringWidthInTilesForScriptMenu
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldr r0, _080B575C @ =gPCText_SomeonesPC
+ bl GetStringWidthInTilesForScriptMenu
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r4, r0
+ bls _080B5760
+ lsls r0, r4, 24
+ lsrs r5, r0, 24
+ b _080B5762
+ .align 2, 0
+_080B5758: .4byte gPCText_PlayersPC
+_080B575C: .4byte gPCText_SomeonesPC
+_080B5760:
+ movs r5, 0x8
+_080B5762:
+ ldr r0, _080B5798 @ =0x00000804
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _080B57A4
+ movs r7, 0x4
+ adds r4, r5, 0x2
+ lsls r2, r4, 24
+ lsrs r2, 24
+ movs r0, 0
+ movs r1, 0
+ movs r3, 0x9
+ bl MenuDrawTextWindow
+ ldr r0, _080B579C @ =gPCText_HallOfFame
+ movs r1, 0x1
+ movs r2, 0x5
+ bl MenuPrint
+ ldr r0, _080B57A0 @ =gPCText_LogOff
+ movs r1, 0x1
+ movs r2, 0x7
+ bl MenuPrint
+ b _080B57C0
+ .align 2, 0
+_080B5798: .4byte 0x00000804
+_080B579C: .4byte gPCText_HallOfFame
+_080B57A0: .4byte gPCText_LogOff
+_080B57A4:
+ movs r7, 0x3
+ adds r4, r5, 0x2
+ lsls r2, r4, 24
+ lsrs r2, 24
+ movs r0, 0
+ movs r1, 0
+ movs r3, 0x7
+ bl MenuDrawTextWindow
+ ldr r0, _080B57DC @ =gPCText_LogOff
+ movs r1, 0x1
+ movs r2, 0x5
+ bl MenuPrint
+_080B57C0:
+ adds r6, r4, 0
+ ldr r0, _080B57E0 @ =0x0000084b
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _080B57E8
+ ldr r0, _080B57E4 @ =gPCText_LanettesPC
+ movs r1, 0x1
+ movs r2, 0x1
+ bl MenuPrint
+ b _080B57F2
+ .align 2, 0
+_080B57DC: .4byte gPCText_LogOff
+_080B57E0: .4byte 0x0000084b
+_080B57E4: .4byte gPCText_LanettesPC
+_080B57E8:
+ ldr r0, _080B5830 @ =gPCText_SomeonesPC
+ movs r1, 0x1
+ movs r2, 0x1
+ bl MenuPrint
+_080B57F2:
+ ldr r0, _080B5834 @ =gPCText_PlayersPC
+ movs r1, 0x1
+ movs r2, 0x3
+ bl MenuPrint
+ movs r4, 0
+ str r4, [sp]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ adds r3, r7, 0
+ bl InitMenu
+ lsls r2, r6, 24
+ lsrs r2, 24
+ lsls r3, r7, 1
+ adds r3, 0x1
+ str r4, [sp]
+ str r7, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0
+ bl sub_80B5230
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B5830: .4byte gPCText_SomeonesPC
+_080B5834: .4byte gPCText_PlayersPC
+ thumb_func_end CreatePCMenu
+
+ thumb_func_start sub_80B5838
+sub_80B5838: @ 80B5838
+ push {lr}
+ bl MenuDisplayMessageBox
+ ldr r0, _080B584C @ =gUnknown_081A0A01
+ movs r1, 0x2
+ movs r2, 0xF
+ bl MenuPrint
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080B584C: .4byte gUnknown_081A0A01
+ thumb_func_end sub_80B5838
+
+ thumb_func_start task_picbox
+task_picbox: @ 80B5850
push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080B7CDC @ =gUnknown_02038734
- ldrb r1, [r0]
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, _080B5874 @ =gTasks
+ adds r4, r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _080B58BE
+ cmp r0, 0x1
+ bgt _080B5878
+ cmp r0, 0
+ beq _080B5894
+ b _080B58BE
+ .align 2, 0
+_080B5874: .4byte gTasks
+_080B5878:
+ cmp r0, 0x2
+ beq _080B5882
+ cmp r0, 0x3
+ beq _080B58A0
+ b _080B58BE
+_080B5882:
+ movs r0, 0xC
+ ldrsh r1, [r4, r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
- ldr r1, _080B7CE0 @ =gSprites
+ ldr r1, _080B589C @ =gSprites
adds r0, r1
- bl DestroySpriteAndFreeResources
- ldr r0, _080B7CE4 @ =0x00002722
- bl FreeSpritePaletteByTag
- adds r2, r4, 0
- adds r2, 0xD
+ bl FreeResourcesAndDestroySprite
+_080B5894:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _080B58BE
+ .align 2, 0
+_080B589C: .4byte gSprites
+_080B58A0:
+ ldrb r2, [r4, 0xE]
+ adds r0, r2, 0
+ ldrb r3, [r4, 0x10]
+ adds r1, r3, 0
+ adds r2, 0x9
lsls r2, 24
lsrs r2, 24
- adds r3, r5, 0x3
+ adds r3, 0xA
lsls r3, 24
lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
bl MenuZeroFillWindowRect
+ adds r0, r5, 0
+ bl DestroyTask
+_080B58BE:
pop {r4,r5}
pop {r0}
bx r0
- .align 2, 0
-_080B7CDC: .4byte gUnknown_02038734
-_080B7CE0: .4byte gSprites
-_080B7CE4: .4byte 0x00002722
- thumb_func_end RemoveMoneyLabelObject
+ thumb_func_end task_picbox
- thumb_func_start sub_80B7CE8
-sub_80B7CE8: @ 80B7CE8
- push {lr}
- ldr r0, _080B7D04 @ =gSaveBlock1
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080B7D08 @ =gUnknown_0202E8CE
- ldrh r1, [r1]
- bl IsEnoughMoney
+ thumb_func_start sub_80B58C4
+sub_80B58C4: @ 80B58C4
+ push {r4-r7,lr}
+ lsls r0, 16
+ lsrs r7, r0, 16
+ lsls r1, 24
+ lsrs r6, r1, 24
+ lsls r2, 24
+ lsrs r5, r2, 24
+ ldr r4, _080B595C @ =task_picbox
+ adds r0, r4, 0
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ bne _080B596C
+ adds r2, r6, 0
+ adds r2, 0x9
+ lsls r2, 24
+ lsrs r2, 24
+ adds r3, r5, 0
+ adds r3, 0xA
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl MenuDrawTextWindow
+ adds r0, r4, 0
+ movs r1, 0x50
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080B5960 @ =gTasks
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ adds r4, r1
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ strh r7, [r4, 0xA]
+ lsls r1, r6, 19
+ movs r0, 0xA0
+ lsls r0, 14
+ adds r1, r0
+ asrs r1, 16
+ lsls r2, r5, 19
+ adds r2, r0
+ asrs r2, 16
+ adds r0, r7, 0
+ movs r3, 0
+ bl CreateMonSprite_PicBox
lsls r0, 24
lsrs r0, 24
+ strh r0, [r4, 0xC]
+ strh r6, [r4, 0xE]
+ strh r5, [r4, 0x10]
+ ldr r3, _080B5964 @ =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r0, r3, 0
+ adds r0, 0x1C
+ adds r0, r1, r0
+ ldr r2, _080B5968 @ =SpriteCallbackDummy
+ str r2, [r0]
+ adds r1, r3
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1, 0x5]
+ movs r0, 0x1
+ b _080B596E
+ .align 2, 0
+_080B595C: .4byte task_picbox
+_080B5960: .4byte gTasks
+_080B5964: .4byte gSprites
+_080B5968: .4byte SpriteCallbackDummy
+_080B596C:
+ movs r0, 0
+_080B596E:
+ pop {r4-r7}
pop {r1}
bx r1
+ thumb_func_end sub_80B58C4
+
+ thumb_func_start picbox_close
+picbox_close: @ 80B5974
+ push {lr}
+ ldr r0, _080B5998 @ =task_picbox
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _080B59A4
+ ldr r0, _080B599C @ =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ ldr r0, _080B59A0 @ =sub_80B59AC
+ b _080B59A6
.align 2, 0
-_080B7D04: .4byte gSaveBlock1
-_080B7D08: .4byte gUnknown_0202E8CE
- thumb_func_end sub_80B7CE8
+_080B5998: .4byte task_picbox
+_080B599C: .4byte gTasks
+_080B59A0: .4byte sub_80B59AC
+_080B59A4:
+ movs r0, 0
+_080B59A6:
+ pop {r1}
+ bx r1
+ thumb_func_end picbox_close
- thumb_func_start sub_80B7D0C
-sub_80B7D0C: @ 80B7D0C
+ thumb_func_start sub_80B59AC
+sub_80B59AC: @ 80B59AC
push {lr}
- ldr r0, _080B7D1C @ =gSaveBlock1 + 0x490
- ldr r1, _080B7D20 @ =gUnknown_0202E8CE
- ldrh r1, [r1]
- bl sub_80B79E0
- pop {r0}
- bx r0
+ ldr r0, _080B59C0 @ =task_picbox
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _080B59C4
+ movs r0, 0
+ b _080B59C6
.align 2, 0
-_080B7D1C: .4byte gSaveBlock1 + 0x490
-_080B7D20: .4byte gUnknown_0202E8CE
- thumb_func_end sub_80B7D0C
+_080B59C0: .4byte task_picbox
+_080B59C4:
+ movs r0, 0x1
+_080B59C6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80B59AC
.align 2, 0 @ Don't pad with nop.