summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-03-05 10:31:31 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2020-03-05 10:31:31 -0500
commitcb99443c51d6263425fb4d853177efc07aee5fb9 (patch)
tree4ed3f1569ccf478036a21cfdbc335e8ed4cfea8c
parente9c3b78d9f7142fda849ea2fe420459480fdf989 (diff)
through sub_81556E0
-rw-r--r--asm/dodrio_berry_picking.s1777
-rw-r--r--data/strings.s2
-rw-r--r--include/dodrio_berry_picking.h16
-rw-r--r--include/strings.h2
-rw-r--r--src/berry_pouch.c2
-rw-r--r--src/dodrio_berry_picking.c7
-rw-r--r--src/dodrio_berry_picking_2.c397
-rw-r--r--src/fame_checker.c4
-rw-r--r--src/help_system.c2
-rw-r--r--src/item_menu.c2
-rw-r--r--src/item_pc.c2
-rw-r--r--src/list_menu.c2
-rw-r--r--src/menu.c4
-rw-r--r--src/shop.c2
-rw-r--r--src/tm_case.c2
15 files changed, 423 insertions, 1800 deletions
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s
index 6758ca71b..0305193cf 100644
--- a/asm/dodrio_berry_picking.s
+++ b/asm/dodrio_berry_picking.s
@@ -5,1783 +5,6 @@
.text
- thumb_func_start sub_8154B34
-sub_8154B34: @ 8154B34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, _08154B74 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r2, _08154B78 @ =0x00003014
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08154B7C
- cmp r0, 0x1
- bne _08154B54
- b _08154CE0
-_08154B54:
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB4
- bhi _08154B62
- b _08154D82
-_08154B62:
- bl sub_81533B4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- cmp r6, r7
- bcc _08154B72
- b _08154D5A
-_08154B72:
- b _08154D34
- .align 2, 0
-_08154B74: .4byte gUnknown_203F440
-_08154B78: .4byte 0x00003014
-_08154B7C:
- bl sub_81533B4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08154CB8 @ =sUnknown_8478E80
- subs r0, r7, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- ldr r2, _08154CBC @ =0xffffff00
- ldr r0, [sp, 0xC]
- ands r0, r2
- ldr r1, _08154CC0 @ =0x00ffffff
- ands r0, r1
- movs r1, 0xE0
- lsls r1, 19
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r2
- movs r1, 0x2
- orrs r0, r1
- ldr r1, _08154CC4 @ =0xffff00ff
- ands r0, r1
- movs r1, 0xD0
- lsls r1, 4
- orrs r0, r1
- ldr r1, _08154CC8 @ =0x0000ffff
- ands r0, r1
- movs r1, 0x98
- lsls r1, 13
- orrs r0, r1
- str r0, [sp, 0x10]
- movs r6, 0
- cmp r6, r7
- bcs _08154CAC
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x18]
- mov r10, r4
- ldr r0, _08154CCC @ =0x00003008
- mov r9, r0
-_08154BD0:
- movs r1, 0
- mov r8, r1
- adds r0, r6, 0
- bl sub_81537AC
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_81533C4
- adds r1, r0, 0
- movs r0, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0x38
- subs r1, r0
- lsrs r1, 1
- str r1, [sp, 0x14]
- ldrb r0, [r5]
- lsls r0, 8
- ldr r2, _08154CC4 @ =0xffff00ff
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
- ldrb r2, [r5, 0x1]
- lsls r2, 16
- ldr r0, _08154CD0 @ =0xff00ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- bl AddWindow
- mov r2, r10
- ldr r1, [r2]
- add r1, r9
- adds r1, r6
- strb r0, [r1]
- ldr r0, [r2]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r3, r10
- ldr r0, [r3]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _08154C4E
- movs r0, 0x2
- mov r8, r0
-_08154C4E:
- adds r0, r4, 0
- bl sub_81533C4
- adds r4, r0, 0
- mov r1, r10
- ldr r0, [r1]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- ldr r3, [sp, 0x14]
- lsls r2, r3, 24
- lsrs r2, 24
- mov r3, r8
- lsls r1, r3, 1
- add r1, r8
- ldr r3, _08154CD4 @ =sUnknown_8478E38
- adds r1, r3
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- mov r2, r10
- ldr r0, [r2]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r3, [sp, 0x18]
- ldrh r0, [r3, 0x6]
- adds r0, 0xE
- strh r0, [r3, 0x6]
- add r0, sp, 0xC
- bl sub_8154868
- adds r5, 0x4
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08154BD0
-_08154CAC:
- ldr r0, _08154CD8 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _08154CDC @ =0x00003014
- adds r1, r0
- b _08154D1E
- .align 2, 0
-_08154CB8: .4byte sUnknown_8478E80
-_08154CBC: .4byte 0xffffff00
-_08154CC0: .4byte 0x00ffffff
-_08154CC4: .4byte 0xffff00ff
-_08154CC8: .4byte 0x0000ffff
-_08154CCC: .4byte 0x00003008
-_08154CD0: .4byte 0xff00ffff
-_08154CD4: .4byte sUnknown_8478E38
-_08154CD8: .4byte gUnknown_203F440
-_08154CDC: .4byte 0x00003014
-_08154CE0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08154D82
- bl sub_81533B4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- cmp r6, r7
- bcs _08154D10
-_08154CF8:
- ldr r0, [r4]
- ldr r1, _08154D28 @ =0x00003008
- adds r0, r1
- adds r0, r6
- ldrb r0, [r0]
- bl PutWindowTilemap
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08154CF8
-_08154D10:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08154D2C @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r2, _08154D30 @ =0x00003014
- adds r1, r2
-_08154D1E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08154D82
- .align 2, 0
-_08154D28: .4byte 0x00003008
-_08154D2C: .4byte gUnknown_203F440
-_08154D30: .4byte 0x00003014
-_08154D34:
- ldr r5, _08154D94 @ =gUnknown_203F440
- ldr r0, [r5]
- ldr r4, _08154D98 @ =0x00003008
- adds r0, r4
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- adds r0, r6
- ldrb r0, [r0]
- bl RemoveWindow
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08154D34
-_08154D5A:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08154D94 @ =gUnknown_203F440
- ldr r0, [r0]
- movs r3, 0xC0
- lsls r3, 6
- adds r0, r3
- movs r1, 0x1
- str r1, [r0]
-_08154D82:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154D94: .4byte gUnknown_203F440
-_08154D98: .4byte 0x00003008
- thumb_func_end sub_8154B34
-
- thumb_func_start sub_8154D9C
-sub_8154D9C: @ 8154D9C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x70
- lsls r0, 24
- movs r1, 0
- mov r8, r1
- movs r6, 0
- lsrs r7, r0, 24
- add r4, sp, 0x2C
- ldr r1, _08154F64 @ =gUnknown_8478F14
- adds r0, r4, 0
- movs r2, 0x5
- bl memcpy
- movs r5, 0
- cmp r5, r7
- bcs _08154DEC
- add r4, sp, 0x34
-_08154DC6:
- mov r0, sp
- adds r0, r5
- adds r0, 0x2C
- strb r5, [r0]
- add r0, sp, 0x5C
- adds r1, r5, 0
- bl sub_81536A0
- lsls r2, r5, 3
- adds r2, r4, r2
- ldr r0, [sp, 0x5C]
- ldr r1, [sp, 0x60]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08154DC6
-_08154DEC:
- bl sub_81534AC
- cmp r0, 0
- beq _08154E22
-_08154DF4:
- movs r5, 0
- cmp r5, r7
- bcs _08154E1C
- add r2, sp, 0x34
- add r1, sp, 0x2C
-_08154DFE:
- lsls r0, r5, 3
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, r8
- bne _08154E12
- adds r0, r1, r6
- strb r5, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_08154E12:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08154DFE
-_08154E1C:
- mov r8, r6
- cmp r6, r7
- bcc _08154DF4
-_08154E22:
- movs r5, 0
- ldr r4, _08154F68 @ =gText_SpacePoints
- cmp r5, r7
- bcs _08154E48
- add r1, sp, 0x34
- add r6, sp, 0x38
- subs r3, r7, 0x1
-_08154E30:
- lsls r2, r5, 3
- adds r0, r6, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _08154E3E
- adds r0, r1, r2
- strb r3, [r0]
-_08154E3E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08154E30
-_08154E48:
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0xD8
- subs r1, r0
- str r1, [sp, 0x64]
- movs r5, 0
- cmp r5, r7
- bcs _08154F52
- mov r2, sp
- adds r2, 0x34
- str r2, [sp, 0x68]
- ldr r3, _08154F6C @ =0x00003009
- mov r10, r3
- adds r0, r1, 0
- subs r0, 0x23
- lsls r0, 24
- str r0, [sp, 0x6C]
-_08154E70:
- movs r4, 0
- mov r8, r4
- mov r0, sp
- adds r0, r5
- adds r0, 0x2C
- ldrb r0, [r0]
- adds r4, r0, 0
- lsls r1, r4, 3
- add r0, sp, 0x38
- adds r0, r1
- ldr r0, [r0]
- mov r9, r0
- ldr r2, _08154F70 @ =gUnknown_203F440
- ldr r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, _08154F74 @ =sUnknown_8478E94
- ldr r3, [sp, 0x68]
- adds r1, r3, r1
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r3, _08154F78 @ =sUnknown_8478EBA
- lsls r1, r5, 1
- adds r1, r3
- ldrb r6, [r1]
- str r6, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- mov r3, r8
- str r3, [sp, 0x8]
- movs r1, 0
- movs r3, 0x8
- bl AddTextPrinterParameterized
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _08154EC8
- movs r0, 0x2
- mov r8, r0
-_08154EC8:
- adds r0, r4, 0
- bl sub_81533C4
- adds r3, r0, 0
- ldr r1, _08154F70 @ =gUnknown_203F440
- ldr r0, [r1]
- add r0, r10
- ldrb r0, [r0]
- mov r2, r8
- lsls r1, r2, 1
- add r1, r8
- ldr r2, _08154F7C @ =sUnknown_8478E38
- adds r1, r2
- str r1, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0
- movs r2, 0x1C
- adds r3, r6, 0
- bl AddTextPrinterParameterized3
- add r0, sp, 0xC
- mov r1, r9
- movs r2, 0x1
- movs r3, 0x7
- bl ConvertIntToDecimalStringN
- movs r0, 0
- add r1, sp, 0xC
- adds r2, r4, 0
- bl GetStringWidth
- ldr r1, _08154F70 @ =gUnknown_203F440
- ldr r0, [r1]
- add r0, r10
- ldrb r0, [r0]
- str r6, [sp]
- movs r2, 0xFF
- str r2, [sp, 0x4]
- movs r3, 0
- str r3, [sp, 0x8]
- movs r1, 0
- add r2, sp, 0xC
- ldr r4, [sp, 0x6C]
- lsrs r3, r4, 24
- bl AddTextPrinterParameterized
- ldr r1, _08154F70 @ =gUnknown_203F440
- ldr r0, [r1]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, [sp, 0x64]
- lsls r3, r2, 24
- str r6, [sp]
- movs r4, 0xFF
- str r4, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- ldr r2, _08154F68 @ =gText_SpacePoints
- lsrs r3, 24
- bl AddTextPrinterParameterized
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08154E70
-_08154F52:
- add sp, 0x70
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154F64: .4byte gUnknown_8478F14
-_08154F68: .4byte gText_SpacePoints
-_08154F6C: .4byte 0x00003009
-_08154F70: .4byte gUnknown_203F440
-_08154F74: .4byte sUnknown_8478E94
-_08154F78: .4byte sUnknown_8478EBA
-_08154F7C: .4byte sUnknown_8478E38
- thumb_func_end sub_8154D9C
-
- thumb_func_start sub_8154F80
-sub_8154F80: @ 8154F80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8C
- bl sub_81533B4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x84]
- ldr r6, _08154FB0 @ =gUnknown_203F440
- ldr r1, [r6]
- ldr r2, _08154FB4 @ =0x00003014
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xB
- bls _08154FA6
- b _08155678
-_08154FA6:
- lsls r0, 2
- ldr r1, _08154FB8 @ =_08154FBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08154FB0: .4byte gUnknown_203F440
-_08154FB4: .4byte 0x00003014
-_08154FB8: .4byte _08154FBC
- .align 2, 0
-_08154FBC:
- .4byte _08154FEC
- .4byte _08155008
- .4byte _08155060
- .4byte _0815524C
- .4byte _08155298
- .4byte _081552DC
- .4byte _08155340
- .4byte _0815537C
- .4byte _081553C0
- .4byte _08155480
- .4byte _081555D8
- .4byte _0815562C
-_08154FEC:
- bl sub_81535B0
- ldr r0, _08155000 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _08155004 @ =0x0000301c
- adds r2, r1, r0
- movs r0, 0
- strh r0, [r2]
- b _0815565A
- .align 2, 0
-_08155000: .4byte gUnknown_203F440
-_08155004: .4byte 0x0000301c
-_08155008:
- ldr r6, _08155050 @ =sUnknown_8475674
- adds r0, r6, 0
- bl AddWindow
- ldr r4, _08155054 @ =gUnknown_203F440
- ldr r1, [r4]
- ldr r2, _08155058 @ =0x00003008
- mov r8, r2
- add r1, r8
- strb r0, [r1]
- movs r0, 0x8
- adds r0, r6
- mov r9, r0
- bl AddWindow
- ldr r1, [r4]
- ldr r5, _0815505C @ =0x00003009
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- add r0, r8
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r6, 0
- bl sub_8154868
- mov r0, r9
- bl sub_8154868
- b _08155658
- .align 2, 0
-_08155050: .4byte sUnknown_8475674
-_08155054: .4byte gUnknown_203F440
-_08155058: .4byte 0x00003008
-_0815505C: .4byte 0x00003009
-_08155060:
- ldr r4, _081551A8 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r5, _081551AC @ =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, _081551B0 @ =0x00003009
- mov r9, r1
- add r0, r9
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, _081551B4 @ =gText_BerryPickingResults
- mov r8, r2
- movs r2, 0x1
- negs r2, r2
- movs r0, 0
- mov r1, r8
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x2
- str r1, [sp]
- movs r6, 0xFF
- str r6, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- movs r1, 0
- mov r2, r8
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- add r0, r9
- ldrb r0, [r0]
- ldr r2, _081551B8 @ =gText_10P30P50P50P
- movs r1, 0x10
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0
- movs r3, 0x44
- bl AddTextPrinterParameterized
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x84]
- cmp r9, r1
- bcc _081550DA
- b _08155214
-_081550DA:
- movs r5, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r9, r0
- bne _081550EA
- movs r5, 0x2
-_081550EA:
- mov r0, r9
- bl sub_81533C4
- adds r6, r0, 0
- ldr r0, _081551A8 @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r2, _081551B0 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- ldr r1, _081551BC @ =sUnknown_8478EB0
- mov r2, r9
- lsls r4, r2, 1
- adds r4, r1
- ldrb r3, [r4]
- lsls r1, r5, 1
- adds r1, r5
- ldr r2, _081551C0 @ =sUnknown_8478E38
- adds r1, r2
- str r1, [sp]
- movs r5, 0x1
- negs r5, r5
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0
- movs r2, 0x2
- bl AddTextPrinterParameterized3
- movs r7, 0
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x88]
- mov r8, r4
- ldr r1, _081551C4 @ =sUnknown_8478EA8
- mov r10, r1
-_0815512E:
- mov r0, r9
- adds r1, r7, 0
- bl sub_8153404
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _081551C8 @ =0x0000270f
- bl Min
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- bl sub_81534F0
- ldr r1, _081551C8 @ =0x0000270f
- bl Min
- lsls r0, 16
- lsrs r6, r0, 16
- add r0, sp, 0xC
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- movs r0, 0
- add r1, sp, 0xC
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r5, r0, 0
- cmp r6, r4
- bne _081551D0
- cmp r6, 0
- beq _081551D0
- ldr r0, _081551A8 @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r2, _081551B0 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r7, 1
- add r1, r10
- ldrb r2, [r1]
- subs r2, r5
- lsls r2, 24
- lsrs r2, 24
- mov r1, r8
- ldrb r3, [r1]
- ldr r1, _081551CC @ =sUnknown_8478E38+0x3
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- add r1, sp, 0xC
- str r1, [sp, 0x8]
- movs r1, 0
- bl AddTextPrinterParameterized3
- b _081551FA
- .align 2, 0
-_081551A8: .4byte gUnknown_203F440
-_081551AC: .4byte 0x00003008
-_081551B0: .4byte 0x00003009
-_081551B4: .4byte gText_BerryPickingResults
-_081551B8: .4byte gText_10P30P50P50P
-_081551BC: .4byte sUnknown_8478EB0
-_081551C0: .4byte sUnknown_8478E38
-_081551C4: .4byte sUnknown_8478EA8
-_081551C8: .4byte 0x0000270f
-_081551CC: .4byte sUnknown_8478E38+0x3
-_081551D0:
- ldr r0, _0815523C @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r2, _08155240 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r7, 1
- add r1, r10
- ldrb r3, [r1]
- subs r3, r5
- lsls r3, 24
- lsrs r3, 24
- mov r2, r8
- ldrb r1, [r2]
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
-_081551FA:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _0815512E
- ldr r1, [sp, 0x88]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- ldr r2, [sp, 0x84]
- cmp r9, r2
- bcs _08155214
- b _081550DA
-_08155214:
- ldr r4, _0815523C @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _08155244 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08155240 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, _08155248 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_0815523C: .4byte gUnknown_203F440
-_08155240: .4byte 0x00003009
-_08155244: .4byte 0x00003008
-_08155248: .4byte 0x00003014
-_0815524C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08155270
- ldr r4, _08155288 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _0815528C @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, _08155290 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08155270:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl sub_8154324
- ldr r0, _08155288 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _08155294 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_08155288: .4byte gUnknown_203F440
-_0815528C: .4byte 0x00003008
-_08155290: .4byte 0x00003009
-_08155294: .4byte 0x00003014
-_08155298:
- ldr r4, _081552D0 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _081552D4 @ =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _081552B0
- b _081556C8
-_081552B0:
- ldr r0, _081552D8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081552BE
- b _081556C8
-_081552BE:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_8154324
- b _08155658
- .align 2, 0
-_081552D0: .4byte gUnknown_203F440
-_081552D4: .4byte 0x0000301c
-_081552D8: .4byte gMain
-_081552DC:
- ldr r4, _08155330 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r5, _08155334 @ =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, _08155338 @ =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r6, _0815533C @ =gText_AnnouncingRankings
- movs r2, 0x1
- negs r2, r2
- movs r0, 0
- adds r1, r6, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r2, r6, 0
- bl AddTextPrinterParameterized
- b _08155658
- .align 2, 0
-_08155330: .4byte gUnknown_203F440
-_08155334: .4byte 0x00003008
-_08155338: .4byte 0x00003009
-_0815533C: .4byte gText_AnnouncingRankings
-_08155340:
- ldr r0, [sp, 0x84]
- bl sub_8154D9C
- ldr r4, _0815536C @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _08155370 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08155374 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, _08155378 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_0815536C: .4byte gUnknown_203F440
-_08155370: .4byte 0x00003008
-_08155374: .4byte 0x00003009
-_08155378: .4byte 0x00003014
-_0815537C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081553A0
- ldr r4, _081553B0 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _081553B4 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, _081553B8 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_081553A0:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _081553B0 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _081553BC @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_081553B0: .4byte gUnknown_203F440
-_081553B4: .4byte 0x00003008
-_081553B8: .4byte 0x00003009
-_081553BC: .4byte 0x00003014
-_081553C0:
- ldr r4, _08155408 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _0815540C @ =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _081553D8
- b _081556C8
-_081553D8:
- ldr r0, _08155410 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081553E6
- b _081556C8
-_081553E6:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
- bl sub_81534AC
- ldr r1, _08155414 @ =0x00000bb7
- cmp r0, r1
- bhi _0815541C
- ldr r0, [r4]
- ldr r2, _08155418 @ =0x00003014
- adds r0, r2
- movs r1, 0x7F
- strb r1, [r0]
- b _0815542C
- .align 2, 0
-_08155408: .4byte gUnknown_203F440
-_0815540C: .4byte 0x0000301c
-_08155410: .4byte gMain
-_08155414: .4byte 0x00000bb7
-_08155418: .4byte 0x00003014
-_0815541C:
- bl StopMapMusic
- ldr r1, [r4]
- ldr r0, _08155470 @ =0x00003014
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0815542C:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x5
- bl FillBgTilemapBufferRect_Palette0
- ldr r5, _08155474 @ =gUnknown_203F440
- ldr r0, [r5]
- ldr r4, _08155478 @ =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r6, _0815547C @ =sUnknown_8475684
- adds r0, r6, 0
- bl AddWindow
- ldr r1, [r5]
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r6, 0
- bl sub_8154868
- b _081556C8
- .align 2, 0
-_08155470: .4byte 0x00003014
-_08155474: .4byte gUnknown_203F440
-_08155478: .4byte 0x00003009
-_0815547C: .4byte sUnknown_8475684
-_08155480:
- ldr r0, _08155558 @ =0x00000101
- bl PlayNewMapMusic
- ldr r4, _0815555C @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r6, _08155560 @ =0x00003008
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, _08155564 @ =0x00003009
- mov r10, r1
- add r0, r10
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, _08155568 @ =gText_AnnouncingPrizes
- movs r2, 0x1
- negs r2, r2
- movs r0, 0
- adds r1, r5, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r6
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r2, 0x2
- mov r9, r2
- str r2, [sp]
- movs r1, 0xFF
- mov r8, r1
- str r1, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r1, 0
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_8153390
- lsls r0, 16
- lsrs r0, 16
- add r5, sp, 0x70
- adds r1, r5, 0
- bl CopyItemName
- movs r0, 0
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r1, _0815556C @ =gText_FirstPlacePrize
- add r0, sp, 0xC
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r0, [r4]
- add r0, r10
- ldrb r0, [r0]
- mov r2, r9
- str r2, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0
- add r2, sp, 0xC
- movs r3, 0x8
- bl AddTextPrinterParameterized
- bl sub_815372C
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- cmp r4, 0
- beq _0815559E
- cmp r4, 0x3
- beq _0815559E
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_8153390
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl CopyItemName
- movs r0, 0
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- cmp r4, 0x2
- bne _08155574
- ldr r1, _08155570 @ =gText_CantHoldAnyMore
- add r0, sp, 0xC
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- b _08155580
- .align 2, 0
-_08155558: .4byte 0x00000101
-_0815555C: .4byte gUnknown_203F440
-_08155560: .4byte 0x00003008
-_08155564: .4byte 0x00003009
-_08155568: .4byte gText_AnnouncingPrizes
-_0815556C: .4byte gText_FirstPlacePrize
-_08155570: .4byte gText_CantHoldAnyMore
-_08155574:
- cmp r6, 0x1
- bne _08155580
- ldr r1, _081555C4 @ =gText_FilledStorageSpace
- add r0, sp, 0xC
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
-_08155580:
- ldr r0, _081555C8 @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r2, _081555CC @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x28
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- add r2, sp, 0xC
- movs r3, 0x8
- bl AddTextPrinterParameterized
-_0815559E:
- ldr r4, _081555C8 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _081555D0 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _081555CC @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, _081555D4 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_081555C4: .4byte gText_FilledStorageSpace
-_081555C8: .4byte gUnknown_203F440
-_081555CC: .4byte 0x00003009
-_081555D0: .4byte 0x00003008
-_081555D4: .4byte 0x00003014
-_081555D8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081555FC
- ldr r4, _08155618 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _0815561C @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, _08155620 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_081555FC:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08155624 @ =0x00000137
- movs r1, 0x14
- movs r2, 0xA
- bl FadeOutAndFadeInNewMapMusic
- ldr r0, _08155618 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _08155628 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_08155618: .4byte gUnknown_203F440
-_0815561C: .4byte 0x00003008
-_08155620: .4byte 0x00003009
-_08155624: .4byte 0x00000137
-_08155628: .4byte 0x00003014
-_0815562C:
- ldr r4, _08155668 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _0815566C @ =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bls _081556C8
- ldr r0, _08155670 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081556C8
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
-_08155658:
- ldr r1, [r4]
-_0815565A:
- ldr r2, _08155674 @ =0x00003014
- adds r1, r2
-_0815565E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081556C8
- .align 2, 0
-_08155668: .4byte gUnknown_203F440
-_0815566C: .4byte 0x0000301c
-_08155670: .4byte gMain
-_08155674: .4byte 0x00003014
-_08155678:
- ldr r5, _081556D8 @ =0x00003008
- adds r0, r1, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- ldr r4, _081556DC @ =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r6]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_081556C8:
- add sp, 0x8C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081556D8: .4byte 0x00003008
-_081556DC: .4byte 0x00003009
- thumb_func_end sub_8154F80
-
- thumb_func_start sub_81556E0
-sub_81556E0: @ 81556E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r1, _08155708 @ =gUnknown_203F440
- ldr r2, [r1]
- ldr r0, _0815570C @ =0x00003014
- mov r9, r0
- adds r0, r2, r0
- ldrb r7, [r0]
- mov r10, r1
- cmp r7, 0x1
- beq _0815579C
- cmp r7, 0x1
- bgt _08155710
- cmp r7, 0
- beq _0815571E
- b _081559EC
- .align 2, 0
-_08155708: .4byte gUnknown_203F440
-_0815570C: .4byte 0x00003014
-_08155710:
- cmp r7, 0x2
- bne _08155716
- b _08155868
-_08155716:
- cmp r7, 0x3
- bne _0815571C
- b _081558A4
-_0815571C:
- b _081559EC
-_0815571E:
- ldr r5, _08155788 @ =sUnknown_847568C
- adds r0, r5, 0
- bl AddWindow
- mov r2, r10
- ldr r1, [r2]
- ldr r3, _0815578C @ =0x00003008
- adds r1, r3
- strb r0, [r1]
- movs r0, 0x8
- adds r0, r5
- mov r8, r0
- bl AddWindow
- mov r2, r10
- ldr r1, [r2]
- ldr r4, _08155790 @ =0x00003009
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r2]
- ldr r3, _0815578C @ =0x00003008
- adds r0, r3
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r1, r10
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r5, 0
- bl sub_8154868
- mov r0, r8
- bl sub_8154768
- mov r2, r10
- ldr r1, [r2]
- add r1, r9
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- ldr r3, _08155794 @ =0x00003020
- adds r0, r3
- strb r7, [r0]
- ldr r0, [r2]
- ldr r1, _08155798 @ =0x00003024
- adds r0, r1
- strb r7, [r0]
- b _08155A58
- .align 2, 0
-_08155788: .4byte sUnknown_847568C
-_0815578C: .4byte 0x00003008
-_08155790: .4byte 0x00003009
-_08155794: .4byte 0x00003020
-_08155798: .4byte 0x00003024
-_0815579C:
- ldr r3, _0815584C @ =0x00003008
- mov r8, r3
- adds r0, r2, r3
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- mov r1, r10
- ldr r0, [r1]
- ldr r7, _08155850 @ =0x00003009
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- mov r2, r10
- ldr r0, [r2]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, _08155854 @ =gText_WantToPlayAgain
- movs r1, 0x6
- str r1, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- mov r3, r10
- ldr r0, [r3]
- adds r0, r7
- ldrb r0, [r0]
- ldr r2, _08155858 @ =gText_Yes
- movs r1, 0x2
- mov r9, r1
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r3, 0x8
- bl AddTextPrinterParameterized
- mov r2, r10
- ldr r0, [r2]
- adds r0, r7
- ldrb r0, [r0]
- ldr r2, _0815585C @ =gText_No
- movs r1, 0x10
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0x8
- bl AddTextPrinterParameterized
- mov r3, r10
- ldr r0, [r3]
- adds r0, r7
- ldrb r0, [r0]
- ldr r2, _08155860 @ =gFameCheckerText_ListMenuCursor
- mov r1, r9
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- mov r2, r10
- ldr r0, [r2]
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- mov r3, r10
- ldr r0, [r3]
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- mov r0, r10
- ldr r1, [r0]
- ldr r2, _08155864 @ =0x00003014
- adds r1, r2
- b _081559DA
- .align 2, 0
-_0815584C: .4byte 0x00003008
-_08155850: .4byte 0x00003009
-_08155854: .4byte gText_WantToPlayAgain
-_08155858: .4byte gText_Yes
-_0815585C: .4byte gText_No
-_08155860: .4byte gFameCheckerText_ListMenuCursor
-_08155864: .4byte 0x00003014
-_08155868:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0815588E
- mov r3, r10
- ldr r0, [r3]
- ldr r1, _0815589C @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- mov r2, r10
- ldr r0, [r2]
- ldr r3, _081558A0 @ =0x00003009
- adds r0, r3
- ldrb r0, [r0]
- bl PutWindowTilemap
-_0815588E:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- mov r0, r10
- ldr r1, [r0]
- add r1, r9
- b _081559DA
- .align 2, 0
-_0815589C: .4byte 0x00003008
-_081558A0: .4byte 0x00003009
-_081558A4:
- ldr r1, _0815590C @ =0x00003020
- adds r0, r2, r1
- ldrb r7, [r0]
- cmp r7, 0
- bne _081558B0
- movs r7, 0x1
-_081558B0:
- ldr r4, _08155910 @ =0x00003009
- adds r0, r2, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- mov r2, r10
- ldr r0, [r2]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, _08155914 @ =gText_Yes
- movs r3, 0x2
- mov r8, r3
- str r3, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0x8
- bl AddTextPrinterParameterized
- mov r2, r10
- ldr r0, [r2]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, _08155918 @ =gText_No
- movs r6, 0x10
- str r6, [sp]
- movs r3, 0xFF
- str r3, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0x8
- bl AddTextPrinterParameterized
- mov r1, r10
- ldr r0, [r1]
- adds r0, r4
- ldrb r1, [r0]
- ldr r2, _0815591C @ =gFameCheckerText_ListMenuCursor
- cmp r7, 0x1
- bne _08155920
- mov r3, r8
- str r3, [sp]
- b _08155922
- .align 2, 0
-_0815590C: .4byte 0x00003020
-_08155910: .4byte 0x00003009
-_08155914: .4byte gText_Yes
-_08155918: .4byte gText_No
-_0815591C: .4byte gFameCheckerText_ListMenuCursor
-_08155920:
- str r6, [sp]
-_08155922:
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r1, 0
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r4, _08155970 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _08155974 @ =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, _08155978 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r5, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08155984
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- ldr r2, _0815597C @ =0x00003020
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _08155966
- strb r5, [r1]
-_08155966:
- ldr r1, [r4]
- ldr r3, _08155980 @ =0x00003014
- adds r1, r3
- b _081559DA
- .align 2, 0
-_08155970: .4byte gUnknown_203F440
-_08155974: .4byte 0x00003009
-_08155978: .4byte gMain
-_0815597C: .4byte 0x00003020
-_08155980: .4byte 0x00003014
-_08155984:
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _081559BC
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- ldr r2, _081559A8 @ =0x00003020
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _081559B2
- cmp r0, 0x1
- bgt _081559AC
- cmp r0, 0
- beq _081559B2
- b _08155A58
- .align 2, 0
-_081559A8: .4byte 0x00003020
-_081559AC:
- cmp r0, 0x2
- beq _081559B8
- b _08155A58
-_081559B2:
- movs r0, 0x2
- strb r0, [r1]
- b _08155A58
-_081559B8:
- strb r5, [r1]
- b _08155A58
-_081559BC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08155A58
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- ldr r3, _081559E4 @ =0x00003020
- adds r0, r3
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, [r4]
- ldr r0, _081559E8 @ =0x00003014
- adds r1, r0
-_081559DA:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08155A58
- .align 2, 0
-_081559E4: .4byte 0x00003020
-_081559E8: .4byte 0x00003014
-_081559EC:
- mov r1, r10
- ldr r0, [r1]
- ldr r2, _08155A68 @ =0x00003020
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _08155A6C @ =0x00003024
- adds r0, r3
- strb r1, [r0]
- mov r1, r10
- ldr r0, [r1]
- ldr r5, _08155A70 @ =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r2, r10
- ldr r0, [r2]
- ldr r4, _08155A74 @ =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r3, r10
- ldr r0, [r3]
- adds r0, r5
- ldrb r0, [r0]
- bl RemoveWindow
- mov r1, r10
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- mov r2, r10
- ldr r0, [r2]
- movs r3, 0xC0
- lsls r3, 6
- adds r0, r3
- movs r1, 0x1
- str r1, [r0]
-_08155A58:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08155A68: .4byte 0x00003020
-_08155A6C: .4byte 0x00003024
-_08155A70: .4byte 0x00003008
-_08155A74: .4byte 0x00003009
- thumb_func_end sub_81556E0
-
thumb_func_start sub_8155A78
sub_8155A78: @ 8155A78
push {r4-r6,lr}
diff --git a/data/strings.s b/data/strings.s
index 93a98960e..82926fad7 100644
--- a/data/strings.s
+++ b/data/strings.s
@@ -504,7 +504,7 @@ gUnknown_8416233::
gUnknown_8416238:: @ 8416238
.string "{PP}$"
-gFameCheckerText_ListMenuCursor:: @ 841623B
+gText_SelectorArrow2:: @ 841623B
.string "▶$"
gUnknown_841623D:: @ 841623D
diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h
index a65172b33..caef41073 100644
--- a/include/dodrio_berry_picking.h
+++ b/include/dodrio_berry_picking.h
@@ -42,6 +42,12 @@ struct DodrioSubstruct_31A0
u8 filler_35[4];
}; // size = 0x3C
+struct DodrioSubstruct_3308
+{
+ u8 unk0;
+ u32 unk4;
+};
+
void StartDodrioBerryPicking(u16 species, MainCallback callback);
u32 sub_815A950(u32 unused, struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 *arg6, u32 *arg7, u32 *arg8);
@@ -83,5 +89,15 @@ void sub_81546C0(void);
void sub_8154730(void);
void sub_8154968(struct DodrioSubstruct_0160 * unk0160);
void sub_81549D4(u8 a0);
+u8 *sub_81533C4(u8 id);
+u8 sub_81537AC(u8 id);
+void sub_81536A0(struct DodrioSubstruct_3308 *dst, u8 id);
+u32 sub_81534AC(void);
+u32 Min(u32 x, u32 y);
+u16 sub_8153404(u8 arg0, u8 arg1);
+u32 sub_81534F0(u8 arg0);
+u32 sub_81535B0(void);
+u16 sub_8153390(void);
+u8 sub_815372C(void);
#endif //GUARD_DODRIO_BERRY_PICKING_H
diff --git a/include/strings.h b/include/strings.h
index c812e991a..55041a658 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -114,7 +114,7 @@ extern const u8 gText_TurnedOverItemsWorthYen[];
extern const u8 gPokedudeText_TMTypes[];
extern const u8 gPokedudeText_ReadTMDescription[];
extern const u8 gFameCheckerText_Cancel[];
-extern const u8 gFameCheckerText_ListMenuCursor[];
+extern const u8 gText_SelectorArrow2[];
extern const u8 gFameCheckerText_FameCheckerWillBeClosed[];
extern const u8 gFameCheckerText_ClearTextbox[];
extern const u8 gFameCheckerText_MainScreenUI[]; // "{DPAD_ANY}PICK {DPAD_UPDOWN}SELECT {A_BUTTON}OK$"
diff --git a/src/berry_pouch.c b/src/berry_pouch.c
index 63677574b..ef8ded539 100644
--- a/src/berry_pouch.c
+++ b/src/berry_pouch.c
@@ -748,7 +748,7 @@ static void BerryPouchSetArrowCursorAt(u8 y, u8 colorIdx)
}
else
{
- BerryPouchPrint(0, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, colorIdx);
+ BerryPouchPrint(0, 2, gText_SelectorArrow2, 1, y, 0, 0, 0, colorIdx);
}
}
diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c
index 294b73053..9ef052f32 100644
--- a/src/dodrio_berry_picking.c
+++ b/src/dodrio_berry_picking.c
@@ -17,12 +17,6 @@
#include "constants/items.h"
#include "constants/species.h"
-struct DodrioSubstruct_3308
-{
- u8 unk0;
- u32 unk4;
-};
-
struct DodrioStruct
{
/*0x0000*/ void (*savedCallback)(void);
@@ -139,7 +133,6 @@ u8 sub_815327C(u8);
void sub_81532B8(void);
void sub_815336C(void);
u32 sub_8153424(u8 mpId);
-u32 sub_81534AC(void);
u32 Min(u32 x, u32 y);
void Task_ShowDodrioBerryPickingRecords(u8 taskId);
void sub_81538D0(u8 windowId);
diff --git a/src/dodrio_berry_picking_2.c b/src/dodrio_berry_picking_2.c
index 1589b13b8..aac4b485f 100644
--- a/src/dodrio_berry_picking_2.c
+++ b/src/dodrio_berry_picking_2.c
@@ -1,7 +1,10 @@
#include "global.h"
#include "gflib.h"
#include "dodrio_berry_picking.h"
+#include "dynamic_placeholder_text_util.h"
+#include "item.h"
#include "link.h"
+#include "menu.h"
#include "strings.h"
#include "task.h"
#include "text_window.h"
@@ -914,7 +917,7 @@ struct WinCoords
u8 top;
};
-const u8 sUnknown_8478E38[][3] =
+const u8 sTextColorTable[][3] =
{
{
TEXT_COLOR_WHITE,
@@ -1036,5 +1039,393 @@ void sub_8154A2C(void)
}
}
-// This is declared inside pokeemerald's sub_80296A8
-const u8 gUnknown_8478F14[5] = {0, 1, 2, 3, 4};
+void sub_8154B34(void)
+{
+ u8 i, playersCount, id, colorsId, *name;
+ u32 left;
+ struct WindowTemplate window;
+ const struct WinCoords *ptr;
+
+ switch (gUnknown_203F440->state)
+ {
+ case 0:
+ playersCount = sub_81533B4();
+ ptr = sUnknown_8478E80[playersCount - 1];
+ window.bg = 0;
+ window.width = 7;
+ window.height = 2;
+ window.paletteNum = 0xD;
+ window.baseBlock = 0x13;
+ for (i = 0; i < playersCount; ptr++, i++)
+ {
+ colorsId = 0;
+ id = sub_81537AC(i);
+ left = (56 - GetStringWidth(0, sub_81533C4(id), -1)) / 2u;
+ window.tilemapLeft = ptr->left;
+ window.tilemapTop = ptr->top;
+ gUnknown_203F440->unk3008[i] = AddWindow(&window);
+ ClearWindowTilemap(gUnknown_203F440->unk3008[i]);
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[i], PIXEL_FILL(1));
+ if (id == GetMultiplayerId())
+ colorsId = 2;
+ name = sub_81533C4(id);
+ AddTextPrinterParameterized3(gUnknown_203F440->unk3008[i], 0, left, 1, sTextColorTable[colorsId], -1, name);
+ CopyWindowToVram(gUnknown_203F440->unk3008[i], 2);
+ window.baseBlock += 0xE;
+ sub_8154868(&window);
+ }
+ gUnknown_203F440->state++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ playersCount = sub_81533B4();
+ for (i = 0; i < playersCount; i++)
+ PutWindowTilemap(gUnknown_203F440->unk3008[i]);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203F440->state++;
+ }
+ break;
+ default:
+ if (++gUnknown_203F440->state > 180)
+ {
+ playersCount = sub_81533B4();
+ for (i = 0; i < playersCount; i++)
+ {
+ ClearWindowTilemap(gUnknown_203F440->unk3008[i]);
+ RemoveWindow(gUnknown_203F440->unk3008[i]);
+ }
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203F440->finished = TRUE;
+ }
+ break;
+ }
+}
+
+void sub_8154D9C(u8 playersCount_)
+{
+ u8 i, r8 = 0, r6 = 0;
+ u8 playersCount = playersCount_; // Pointless variable, I know, but it's needed to match.
+ u8 *name;
+ u32 x, numWidth;
+ u8 numString[32];
+ u8 array[5] = {0, 1, 2, 3, 4};
+ struct DodrioSubstruct_3308 temp, structArray[5];
+
+ for (i = 0; i < playersCount; i++)
+ {
+ array[i] = i;
+ sub_81536A0(&temp, i);
+ structArray[i] = temp;
+ }
+
+ if (sub_81534AC() != 0)
+ {
+ do
+ {
+ for (i = 0; i < playersCount; i++)
+ {
+ if (structArray[i].unk0 == r8)
+ {
+ array[r6] = i;
+ r6++;
+ }
+ }
+ r8 = r6;
+ } while (r6 < playersCount);
+ }
+
+ for (i = 0; i < playersCount; i++)
+ {
+ if (structArray[i].unk4 == 0)
+ structArray[i].unk0 = playersCount - 1;
+ }
+
+ x = 216 - GetStringWidth(0, gText_SpacePoints, 0);
+ for (i = 0; i < playersCount; i++)
+ {
+ u8 colorsId = 0;
+ u8 id = array[i];
+ u32 points = structArray[id].unk4;
+
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sUnknown_8478E94[structArray[id].unk0], 8, sUnknown_8478EBA[i], -1, NULL);
+ if (id == GetMultiplayerId())
+ colorsId = 2;
+ name = sub_81533C4(id);
+ AddTextPrinterParameterized3(gUnknown_203F440->unk3008[1], 0, 28, sUnknown_8478EBA[i], sTextColorTable[colorsId], -1, name);
+ ConvertIntToDecimalStringN(numString, points, STR_CONV_MODE_RIGHT_ALIGN, 7);
+ numWidth = GetStringWidth(0, numString, -1);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, numString, x - 35, sUnknown_8478EBA[i], -1, NULL);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, gText_SpacePoints, x, sUnknown_8478EBA[i], -1, NULL);
+ }
+}
+
+void sub_8154F80(void)
+{
+ u8 i, j, itemGiveRet, playersCount = sub_81533B4();
+ u8 *name;
+ u32 strWidth, x;
+ u8 sp0C[100];
+ u8 sp70[20];
+
+ switch (gUnknown_203F440->state)
+ {
+ case 0:
+ sub_81535B0();
+ gUnknown_203F440->unk301C = 0;
+ gUnknown_203F440->state++;
+ break;
+ case 1:
+ gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_8475674[0]);
+ gUnknown_203F440->unk3008[1] = AddWindow(&sUnknown_8475674[1]);
+ ClearWindowTilemap(gUnknown_203F440->unk3008[0]);
+ ClearWindowTilemap(gUnknown_203F440->unk3008[1]);
+ sub_8154868(&sUnknown_8475674[0]);
+ sub_8154868(&sUnknown_8475674[1]);
+ gUnknown_203F440->state++;
+ break;
+ case 2:
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1));
+ strWidth = GetStringWidth(0, gText_BerryPickingResults, -1);
+ x = (224 - strWidth) / 2;
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 0, gText_BerryPickingResults, x, 2, -1, NULL);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, gText_10P30P50P50P, 68, 16, -1, NULL);
+ for (i = 0; i < playersCount; i++)
+ {
+ u8 colorsId = 0;
+ if (i == GetMultiplayerId())
+ colorsId = 2;
+
+ name = sub_81533C4(i);
+ AddTextPrinterParameterized3(gUnknown_203F440->unk3008[1], 0, 2, sUnknown_8478EB0[i], sTextColorTable[colorsId], -1, name);
+ for (j = 0; j < 4; j++)
+ {
+ u32 width;
+ u16 result1 = Min(sub_8153404(i, j), 9999);
+ u16 result2 = Min(sub_81534F0(j), 9999);
+
+ ConvertIntToDecimalStringN(sp0C, result1, STR_CONV_MODE_LEFT_ALIGN, 4);
+ width = GetStringWidth(0, sp0C, -1);
+ if (result2 == result1 && result2 != 0)
+ AddTextPrinterParameterized3(gUnknown_203F440->unk3008[1], 0, sUnknown_8478EA8[j] - width, sUnknown_8478EB0[i], sTextColorTable[1], -1, sp0C);
+ else
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, sUnknown_8478EA8[j] - width, sUnknown_8478EB0[i], -1, NULL);
+ }
+ }
+ CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
+ CopyWindowToVram(gUnknown_203F440->unk3008[1], 2);
+ gUnknown_203F440->state++;
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ PutWindowTilemap(gUnknown_203F440->unk3008[0]);
+ PutWindowTilemap(gUnknown_203F440->unk3008[1]);
+ }
+ CopyBgTilemapBufferToVram(0);
+ sub_8154324(FALSE);
+ gUnknown_203F440->state++;
+ break;
+ case 4:
+ if (++gUnknown_203F440->unk301C >= 30 && gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_203F440->unk301C = 0;
+ PlaySE(SE_SELECT);
+ sub_8154324(TRUE);
+ gUnknown_203F440->state++;
+ }
+ break;
+ case 5:
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1));
+ strWidth = GetStringWidth(0, gText_AnnouncingRankings, -1);
+ x = (224 - strWidth) / 2;
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 0, gText_AnnouncingRankings, x, 2, -1, NULL);
+ gUnknown_203F440->state++;
+ break;
+ case 6:
+ sub_8154D9C(playersCount);
+ CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
+ CopyWindowToVram(gUnknown_203F440->unk3008[1], 2);
+ gUnknown_203F440->state++;
+ break;
+ case 7:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ PutWindowTilemap(gUnknown_203F440->unk3008[0]);
+ PutWindowTilemap(gUnknown_203F440->unk3008[1]);
+ }
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203F440->state++;
+ break;
+ case 8:
+ if (++gUnknown_203F440->unk301C >= 30 && gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_203F440->unk301C = 0;
+ PlaySE(SE_SELECT);
+ if (sub_81534AC() < 3000)
+ {
+ gUnknown_203F440->state = 127;
+ }
+ else
+ {
+ StopMapMusic();
+ gUnknown_203F440->state++;
+ }
+
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 5, 30, 15);
+ RemoveWindow(gUnknown_203F440->unk3008[1]);
+ gUnknown_203F440->unk3008[1] = AddWindow(&sUnknown_8475684);
+ ClearWindowTilemap(gUnknown_203F440->unk3008[1]);
+ sub_8154868(&sUnknown_8475684);
+ }
+ break;
+ case 9:
+ PlayNewMapMusic(MUS_FANFA1);
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1));
+ strWidth = GetStringWidth(0, gText_AnnouncingPrizes, -1);
+ x = (224 - strWidth) / 2;
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 0, gText_AnnouncingPrizes, x, 2, -1, NULL);
+ DynamicPlaceholderTextUtil_Reset();
+ CopyItemName(sub_8153390(), sp70);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sp70);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_FirstPlacePrize);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, 8, 2, -1, NULL);
+ itemGiveRet = sub_815372C();
+ if (itemGiveRet != 0 && itemGiveRet != 3)
+ {
+ DynamicPlaceholderTextUtil_Reset();
+ CopyItemName(sub_8153390(), sp70);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sp70);
+ if (itemGiveRet == 2)
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_CantHoldAnyMore);
+ else if (itemGiveRet == 1)
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_FilledStorageSpace);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, 8, 40, -1, NULL);
+ }
+ CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
+ CopyWindowToVram(gUnknown_203F440->unk3008[1], 2);
+ gUnknown_203F440->state++;
+ break;
+ case 10:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ PutWindowTilemap(gUnknown_203F440->unk3008[0]);
+ PutWindowTilemap(gUnknown_203F440->unk3008[1]);
+ }
+ CopyBgTilemapBufferToVram(0);
+ FadeOutAndFadeInNewMapMusic(MUS_WIN_YASEI, 20, 10);
+ gUnknown_203F440->state++;
+ break;
+ case 11:
+ if (++gUnknown_203F440->unk301C >= 30 && gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_203F440->unk301C = 0;
+ PlaySE(SE_SELECT);
+ gUnknown_203F440->state++;
+ }
+ break;
+ default:
+ ClearWindowTilemap(gUnknown_203F440->unk3008[0]);
+ ClearWindowTilemap(gUnknown_203F440->unk3008[1]);
+ RemoveWindow(gUnknown_203F440->unk3008[0]);
+ RemoveWindow(gUnknown_203F440->unk3008[1]);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203F440->finished = TRUE;
+ break;
+ }
+}
+
+void sub_81556E0(void)
+{
+ u8 y;
+
+ switch (gUnknown_203F440->state)
+ {
+ case 0:
+ gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_847568C[0]);
+ gUnknown_203F440->unk3008[1] = AddWindow(&sUnknown_847568C[1]);
+ ClearWindowTilemap(gUnknown_203F440->unk3008[0]);
+ ClearWindowTilemap(gUnknown_203F440->unk3008[1]);
+ sub_8154868(&sUnknown_847568C[0]);
+ sub_8154768(&sUnknown_847568C[1]);
+ gUnknown_203F440->state++;
+ gUnknown_203F440->unk3020 = 0;
+ gUnknown_203F440->unk3024 = 0;
+ break;
+ case 1:
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1));
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_WantToPlayAgain, 0, 6, -1, NULL);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, 2, -1, NULL);
+ CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
+ CopyWindowToVram(gUnknown_203F440->unk3008[1], 2);
+ gUnknown_203F440->state++;
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ PutWindowTilemap(gUnknown_203F440->unk3008[0]);
+ PutWindowTilemap(gUnknown_203F440->unk3008[1]);
+ }
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203F440->state++;
+ break;
+ case 3:
+ y = gUnknown_203F440->unk3020;
+ if (y == 0)
+ y = 1;
+ FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1));
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL);
+ AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, y == 1 ? 2 : 16, -1, NULL);
+ CopyWindowToVram(gUnknown_203F440->unk3008[1], 3);
+ // Increment state only if A or B button have been pressed.
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ if (gUnknown_203F440->unk3020 == 0)
+ gUnknown_203F440->unk3020 = 1;
+ gUnknown_203F440->state++;
+ }
+ else if (gMain.newKeys & (DPAD_UP | DPAD_DOWN))
+ {
+ PlaySE(SE_SELECT);
+ switch (gUnknown_203F440->unk3020)
+ {
+ case 0:
+ gUnknown_203F440->unk3020 = 2;
+ break;
+ case 1:
+ gUnknown_203F440->unk3020 = 2;
+ break;
+ case 2:
+ gUnknown_203F440->unk3020 = 1;
+ break;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_203F440->unk3020 = 2;
+ gUnknown_203F440->state++;
+ }
+ break;
+ default:
+ gUnknown_203F440->unk3024 = gUnknown_203F440->unk3020;
+ ClearWindowTilemap(gUnknown_203F440->unk3008[0]);
+ ClearWindowTilemap(gUnknown_203F440->unk3008[1]);
+ RemoveWindow(gUnknown_203F440->unk3008[0]);
+ RemoveWindow(gUnknown_203F440->unk3008[1]);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203F440->finished = TRUE;
+ break;
+ }
+}
diff --git a/src/fame_checker.c b/src/fame_checker.c
index 6f60b4a44..a77c89c0d 100644
--- a/src/fame_checker.c
+++ b/src/fame_checker.c
@@ -1536,7 +1536,7 @@ static void PlaceListMenuCursor(bool8 isActive)
{
u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(sFameCheckerData->listMenuTaskId);
if (isActive == TRUE)
- AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_DkGrey, 0, gFameCheckerText_ListMenuCursor);
+ AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_DkGrey, 0, gText_SelectorArrow2);
else
- AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_White, 0, gFameCheckerText_ListMenuCursor);
+ AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_White, 0, gText_SelectorArrow2);
}
diff --git a/src/help_system.c b/src/help_system.c
index d68acbaa1..4d037de5d 100644
--- a/src/help_system.c
+++ b/src/help_system.c
@@ -1085,7 +1085,7 @@ void PlaceListMenuCursor(void)
u8 glyphHeight = GetFontAttribute(2, 1) + 1;
u8 x = gHelpSystemListMenu.sub.left;
u8 y = gHelpSystemListMenu.sub.top + glyphHeight * gHelpSystemListMenu.cursorPos;
- HelpSystem_PrintTextAt(gFameCheckerText_ListMenuCursor, x, y);
+ HelpSystem_PrintTextAt(gText_SelectorArrow2, x, y);
}
void sub_813C860(u8 i)
diff --git a/src/item_menu.c b/src/item_menu.c
index a407c582f..2253c287e 100644
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -740,7 +740,7 @@ static void bag_menu_print_cursor(u8 y, u8 colorIdx)
}
else
{
- BagPrintTextOnWindow(0, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, colorIdx);
+ BagPrintTextOnWindow(0, 2, gText_SelectorArrow2, 1, y, 0, 0, 0, colorIdx);
}
}
diff --git a/src/item_pc.c b/src/item_pc.c
index 7c7abdce3..f5bc6659b 100644
--- a/src/item_pc.c
+++ b/src/item_pc.c
@@ -577,7 +577,7 @@ static void ItemPc_PrintOrRemoveCursorAt(u8 y, u8 colorIdx)
}
else
{
- ItemPc_AddTextPrinterParameterized(0, 2, gFameCheckerText_ListMenuCursor, 0, y, 0, 0, 0, colorIdx);
+ ItemPc_AddTextPrinterParameterized(0, 2, gText_SelectorArrow2, 0, y, 0, 0, 0, colorIdx);
}
}
diff --git a/src/list_menu.c b/src/list_menu.c
index 21ef40fbe..9439d712c 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -413,7 +413,7 @@ static void ListMenuDrawCursor(struct ListMenu *list)
switch (list->template.cursorKind)
{
case 0:
- ListMenuPrint(list, gFameCheckerText_ListMenuCursor, x, y);
+ ListMenuPrint(list, gText_SelectorArrow2, x, y);
break;
case 1:
break;
diff --git a/src/menu.c b/src/menu.c
index 2f5b1a5db..b7c3f54eb 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -303,7 +303,7 @@ static void Menu_RedrawCursor(u8 oldPos, u8 newPos)
width = GetMenuCursorDimensionByFont(sMenu.fontId, 0);
height = GetMenuCursorDimensionByFont(sMenu.fontId, 1);
FillWindowPixelRect(sMenu.windowId, 1, sMenu.left, sMenu.optionHeight * oldPos + sMenu.top, width, height);
- AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gFameCheckerText_ListMenuCursor, sMenu.left, sMenu.optionHeight * newPos + sMenu.top, 0, 0);
+ AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow2, sMenu.left, sMenu.optionHeight * newPos + sMenu.top, 0, 0);
}
u8 Menu_MoveCursor(s8 cursorDelta)
@@ -645,7 +645,7 @@ static void MultichoiceGrid_RedrawCursor(u8 oldCursorPos, u8 newCursorPos)
FillWindowPixelRect(sMenu.windowId, PIXEL_FILL(1), xPos, yPos, cursorWidth, cursorHeight);
xPos = (newCursorPos % sMenu.columns) * sMenu.optionWidth + sMenu.left;
yPos = (newCursorPos / sMenu.columns) * sMenu.optionHeight + sMenu.top;
- AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gFameCheckerText_ListMenuCursor, xPos, yPos, 0, 0);
+ AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow2, xPos, yPos, 0, 0);
}
static u8 MultichoiceGrid_MoveCursor(s8 deltaX, s8 deltaY)
diff --git a/src/shop.c b/src/shop.c
index 5a9ee6b95..5cc9ab3f0 100644
--- a/src/shop.c
+++ b/src/shop.c
@@ -668,7 +668,7 @@ static void BuyMenuPrintCursorAtYPosition(u8 y, u8 a1)
}
else
{
- BuyMenuPrint(4, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, a1);
+ BuyMenuPrint(4, 2, gText_SelectorArrow2, 1, y, 0, 0, 0, a1);
}
}
diff --git a/src/tm_case.c b/src/tm_case.c
index f631e1604..04729345f 100644
--- a/src/tm_case.c
+++ b/src/tm_case.c
@@ -612,7 +612,7 @@ static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1)
}
else
{
- AddTextPrinterParameterized_ColorByIndex(0, 2, gFameCheckerText_ListMenuCursor, 0, a0, 0, 0, 0, a1);
+ AddTextPrinterParameterized_ColorByIndex(0, 2, gText_SelectorArrow2, 0, a0, 0, 0, 0, a1);
}
}