summaryrefslogtreecommitdiff
path: root/asm/fame_checker.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/fame_checker.s')
-rw-r--r--asm/fame_checker.s4171
1 files changed, 0 insertions, 4171 deletions
diff --git a/asm/fame_checker.s b/asm/fame_checker.s
deleted file mode 100644
index 9e352e8ae..000000000
--- a/asm/fame_checker.s
+++ /dev/null
@@ -1,4171 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_812C380
-sub_812C380: @ 812C380
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_812C380
-
- thumb_func_start sub_812C394
-sub_812C394: @ 812C394
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_812C394
-
- thumb_func_start sub_812C3AC
-sub_812C3AC: @ 812C3AC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, _0812C3F0 @ =gUnknown_203B0FC
- movs r0, 0x24
- bl AllocZeroed
- str r0, [r4]
- str r5, [r0]
- movs r1, 0
- strb r1, [r0, 0x9]
- ldr r0, [r4]
- strb r1, [r0, 0xA]
- ldr r0, [r4]
- strb r1, [r0, 0xB]
- ldr r1, [r4]
- adds r1, 0x23
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0xC7
- bl PlaySE
- ldr r0, _0812C3F4 @ =sub_812C3F8
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0812C3F0: .4byte gUnknown_203B0FC
-_0812C3F4: .4byte sub_812C3F8
- thumb_func_end sub_812C3AC
-
- thumb_func_start sub_812C3F8
-sub_812C3F8: @ 812C3F8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- ldr r0, _0812C41C @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _0812C410
- b _0812C626
-_0812C410:
- lsls r0, 2
- ldr r1, _0812C420 @ =_0812C424
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0812C41C: .4byte gMain
-_0812C420: .4byte _0812C424
- .align 2, 0
-_0812C424:
- .4byte _0812C444
- .4byte _0812C450
- .4byte _0812C456
- .4byte _0812C4C0
- .4byte _0812C540
- .4byte _0812C578
- .4byte _0812C5A0
- .4byte _0812C5D4
-_0812C444:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_812D420
- b _0812C5BE
-_0812C450:
- bl sub_812D558
- b _0812C5BE
-_0812C456:
- ldr r6, _0812C4B0 @ =gUnknown_203B0F0
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r6]
- ldr r1, _0812C4B4 @ =gUnknown_203B0F4
- mov r8, r1
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- mov r1, r8
- str r0, [r1]
- ldr r5, _0812C4B8 @ =gUnknown_203B0F8
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _0812C4BC @ =gUnknown_845FBF4
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r1, [r6]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, [r5]
- movs r0, 0x2
- bl SetBgTilemapBuffer
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- bl sub_812D594
- b _0812C5BE
- .align 2, 0
-_0812C4B0: .4byte gUnknown_203B0F0
-_0812C4B4: .4byte gUnknown_203B0F4
-_0812C4B8: .4byte gUnknown_203B0F8
-_0812C4BC: .4byte gUnknown_845FBF4
-_0812C4C0:
- ldr r1, _0812C52C @ =gUnknown_8E9F260
- movs r2, 0xA5
- lsls r2, 5
- movs r0, 0x3
- movs r3, 0
- bl LoadBgTiles
- ldr r1, _0812C530 @ =gUnknown_8EA0700
- movs r5, 0x20
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect
- ldr r4, _0812C534 @ =gUnknown_8E9F220
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- adds r4, 0x20
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _0812C538 @ =gUnknown_8EA0F00
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect
- ldr r1, _0812C53C @ =gUnknown_845C600
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x1E
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x2
- bl stdpal_get
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- b _0812C5BE
- .align 2, 0
-_0812C52C: .4byte gUnknown_8E9F260
-_0812C530: .4byte gUnknown_8EA0700
-_0812C534: .4byte gUnknown_8E9F220
-_0812C538: .4byte gUnknown_8EA0F00
-_0812C53C: .4byte gUnknown_845C600
-_0812C540:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0812C626
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _0812C5BE
-_0812C578:
- ldr r0, _0812C598 @ =gUnknown_845FC04
- bl InitWindows
- bl DeactivateAllTextPrinters
- bl sub_812CEC0
- ldr r4, _0812C59C @ =gUnknown_203B100
- movs r0, 0x88
- bl AllocZeroed
- str r0, [r4]
- bl sub_812DB28
- b _0812C5BE
- .align 2, 0
-_0812C598: .4byte gUnknown_845FC04
-_0812C59C: .4byte gUnknown_203B100
-_0812C5A0:
- bl sub_812C648
- movs r0, 0
- bl sub_812D1A8
- bl sub_812CE9C
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0812C5BE:
- ldr r1, _0812C5D0 @ =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0812C626
- .align 2, 0
-_0812C5D0: .4byte gMain
-_0812C5D4:
- bl sub_812D584
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x7
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x8
- bl SetGpuReg
- ldr r0, _0812C634 @ =sub_812C380
- bl SetVBlankCallback
- ldr r0, _0812C638 @ =gUnknown_203B0FC
- ldr r1, [r0]
- movs r4, 0
- movs r0, 0
- strh r0, [r1, 0x4]
- bl sub_812E000
- movs r0, 0x1
- movs r1, 0x4
- bl sub_812E178
- ldr r0, _0812C63C @ =sub_812C664
- movs r1, 0x8
- bl CreateTask
- ldr r0, _0812C640 @ =sub_812C394
- bl SetMainCallback2
- ldr r0, _0812C644 @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- strb r4, [r0]
-_0812C626:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0812C634: .4byte sub_812C380
-_0812C638: .4byte gUnknown_203B0FC
-_0812C63C: .4byte sub_812C664
-_0812C640: .4byte sub_812C394
-_0812C644: .4byte gMain
- thumb_func_end sub_812C3F8
-
- thumb_func_start sub_812C648
-sub_812C648: @ 812C648
- push {lr}
- ldr r0, _0812C65C @ =gUnknown_845FB9C
- bl LoadSpriteSheets
- ldr r0, _0812C660 @ =gUnknown_845FBDC
- bl LoadSpritePalettes
- pop {r0}
- bx r0
- .align 2, 0
-_0812C65C: .4byte gUnknown_845FB9C
-_0812C660: .4byte gUnknown_845FBDC
- thumb_func_end sub_812C648
-
- thumb_func_start sub_812C664
-sub_812C664: @ 812C664
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0812C688 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0812C684
- ldr r0, _0812C68C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _0812C690 @ =sub_812C694
- str r0, [r1]
-_0812C684:
- pop {r0}
- bx r0
- .align 2, 0
-_0812C688: .4byte gPaletteFade
-_0812C68C: .4byte gTasks
-_0812C690: .4byte sub_812C694
- thumb_func_end sub_812C664
-
- thumb_func_start sub_812C694
-sub_812C694: @ 812C694
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- ldr r0, _0812C714 @ =gTasks
- adds r7, r1, r0
- adds r0, 0x8
- adds r1, r0
- mov r8, r1
- ldr r0, _0812C718 @ =sub_812E110
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0812C6C0
- b _0812C8EA
-_0812C6C0:
- bl RunTextPrinters
- ldr r0, _0812C71C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0812C6E8
- ldr r0, _0812C720 @ =gUnknown_203B0FC
- ldr r2, [r0]
- ldrb r1, [r2, 0x7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0812C6E8
- ldr r1, [r2]
- ldr r0, _0812C724 @ =sub_8107EB8
- cmp r1, r0
- beq _0812C6E8
- b _0812C8DA
-_0812C6E8:
- ldr r0, _0812C71C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0812C7DC
- bl sub_812E064
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- bl sub_812C8F8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0812C728
- movs r0, 0xCB
- bl PlaySE
- b _0812C8EA
- .align 2, 0
-_0812C714: .4byte gTasks
-_0812C718: .4byte sub_812E110
-_0812C71C: .4byte gMain
-_0812C720: .4byte gUnknown_203B0FC
-_0812C724: .4byte sub_8107EB8
-_0812C728:
- ldr r5, _0812C7D0 @ =gUnknown_203B0FC
- ldr r0, [r5]
- ldrb r0, [r0, 0x7]
- lsrs r0, 2
- subs r0, 0x1
- cmp r4, r0
- bne _0812C738
- b _0812C8EA
-_0812C738:
- movs r0, 0xCB
- bl PlaySE
- movs r0, 0x58
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- movs r0, 0x3
- bl sub_812CEE0
- movs r0, 0x2
- movs r1, 0x4
- bl sub_812E178
- movs r0, 0x1
- movs r1, 0x5
- bl sub_812E178
- movs r0, 0x1
- bl sub_812D0F4
- ldr r0, [r5]
- adds r0, 0xC
- adds r0, r4
- ldrb r0, [r0]
- bl sub_812D888
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0xC]
- ldr r4, _0812C7D4 @ =gSprites
- movs r0, 0xC
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r6, 0xF0
- strh r6, [r0, 0x24]
- movs r3, 0xC
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r5, 0x1
- strh r5, [r0, 0x2E]
- bl sub_812D7E4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0xE]
- movs r0, 0xE
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r6, [r0, 0x24]
- movs r3, 0xE
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r5, [r0, 0x2E]
- ldr r0, _0812C7D8 @ =sub_812C9BC
- str r0, [r7]
- b _0812C8EA
- .align 2, 0
-_0812C7D0: .4byte gUnknown_203B0FC
-_0812C7D4: .4byte gSprites
-_0812C7D8: .4byte sub_812C9BC
-_0812C7DC:
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0812C8C4
- movs r0, 0
- bl ListMenuHandleInput
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _0812C824 @ =gUnknown_203B0FC
- ldr r0, [r0]
- ldrb r1, [r0, 0x7]
- lsrs r0, r1, 2
- subs r0, 0x1
- cmp r4, r0
- beq _0812C8DA
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0812C828
- movs r0, 0x2
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0812C8EA
- bl sub_812D6B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0812C8EA
- bl sub_812CD3C
- b _0812C8EA
- .align 2, 0
-_0812C824: .4byte gUnknown_203B0FC
-_0812C828:
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0812C8EA
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xA
- ldrsh r0, [r7, r1]
- bl sub_812D724
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x8]
- movs r4, 0
-_0812C846:
- movs r3, 0xA
- ldrsh r0, [r7, r3]
- cmp r4, r0
- beq _0812C85E
- ldr r0, _0812C8B4 @ =gUnknown_203B0FC
- ldr r0, [r0]
- adds r0, 0x1D
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_812CEFC
-_0812C85E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0812C846
- ldr r1, _0812C8B8 @ =gUnknown_3005EC8
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0
- bl sub_812E4A4
- movs r0, 0x2
- bl sub_812D0F4
- ldr r2, _0812C8BC @ =gSprites
- ldr r0, _0812C8B4 @ =gUnknown_203B0FC
- ldr r0, [r0]
- movs r3, 0xA
- ldrsh r1, [r7, r3]
- adds r0, 0x1D
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x30
- ldrsh r0, [r0, r1]
- cmp r0, 0xFF
- beq _0812C8A8
- adds r0, r5, 0
- bl sub_812CE04
- mov r3, r8
- ldrb r0, [r3, 0x2]
- bl sub_812DA14
-_0812C8A8:
- bl sub_812E048
- ldr r0, _0812C8C0 @ =sub_812CAD8
- str r0, [r7]
- b _0812C8EA
- .align 2, 0
-_0812C8B4: .4byte gUnknown_203B0FC
-_0812C8B8: .4byte gUnknown_3005EC8
-_0812C8BC: .4byte gSprites
-_0812C8C0: .4byte sub_812CAD8
-_0812C8C4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0812C8E4
- adds r0, r5, 0
- bl sub_812C8F8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0812C8EA
-_0812C8DA:
- ldr r0, _0812C8E0 @ =sub_812CF3C
- str r0, [r7]
- b _0812C8EA
- .align 2, 0
-_0812C8E0: .4byte sub_812CF3C
-_0812C8E4:
- movs r0, 0
- bl ListMenuHandleInput
-_0812C8EA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_812C694
-
- thumb_func_start sub_812C8F8
-sub_812C8F8: @ 812C8F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0812C91C @ =gTasks
- adds r4, r1, r0
- ldr r5, _0812C920 @ =gUnknown_203B0FC
- ldr r0, [r5]
- ldrb r1, [r0, 0x7]
- movs r3, 0x2
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0812C924
- movs r0, 0
- b _0812C982
- .align 2, 0
-_0812C91C: .4byte gTasks
-_0812C920: .4byte gUnknown_203B0FC
-_0812C924:
- ldr r2, _0812C988 @ =gSprites
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x2E]
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- adds r1, 0xA
- strh r1, [r0, 0x24]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x2E]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- adds r1, 0xA
- strh r1, [r0, 0x24]
- bl sub_812CE9C
- ldr r0, _0812C98C @ =sub_812CA1C
- str r0, [r4]
- bl sub_812C990
- ldr r1, [r5]
- adds r1, 0x23
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x1
-_0812C982:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0812C988: .4byte gSprites
-_0812C98C: .4byte sub_812CA1C
- thumb_func_end sub_812C8F8
-
- thumb_func_start sub_812C990
-sub_812C990: @ 812C990
- push {lr}
- sub sp, 0x10
- ldr r2, _0812C9B8 @ =gUnknown_84181E4
- 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, 0x2
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParametrized
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_0812C9B8: .4byte gUnknown_84181E4
- thumb_func_end sub_812C990
-
- thumb_func_start sub_812C9BC
-sub_812C9BC: @ 812C9BC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0812C9F8 @ =gTasks
- adds r4, r1, r0
- ldr r2, _0812C9FC @ =gSprites
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0812CA08
- bl sub_812CD3C
- ldr r0, _0812CA00 @ =gUnknown_203B0FC
- ldr r2, [r0]
- ldrb r0, [r2, 0x7]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x7]
- ldr r0, _0812CA04 @ =sub_812C694
- str r0, [r4]
- b _0812CA14
- .align 2, 0
-_0812C9F8: .4byte gTasks
-_0812C9FC: .4byte gSprites
-_0812CA00: .4byte gUnknown_203B0FC
-_0812CA04: .4byte sub_812C694
-_0812CA08:
- movs r1, 0xA0
- lsls r1, 4
- movs r0, 0x1
- movs r2, 0x1
- bl ChangeBgX
-_0812CA14:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812C9BC
-
- thumb_func_start sub_812CA1C
-sub_812CA1C: @ 812CA1C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _0812CA44 @ =gTasks
- adds r5, r0, r1
- movs r0, 0x1
- bl GetBgX
- cmp r0, 0
- beq _0812CA48
- movs r1, 0xA0
- lsls r1, 4
- movs r0, 0x1
- movs r2, 0x2
- bl ChangeBgX
- b _0812CA52
- .align 2, 0
-_0812CA44: .4byte gTasks
-_0812CA48:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
-_0812CA52:
- ldr r7, _0812CAC8 @ =gSprites
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0812CAC0
- ldr r6, _0812CACC @ =gUnknown_203B0FC
- ldr r0, [r6]
- ldrb r1, [r0, 0x7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812CA7C
- movs r0, 0
- bl sub_812D0F4
-_0812CA7C:
- movs r0, 0x1
- movs r1, 0x4
- bl sub_812E178
- movs r0, 0x2
- movs r1, 0x2
- bl sub_812E178
- ldr r2, [r6]
- ldrb r1, [r2, 0x7]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
- bl sub_812E064
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_812D9A8
- ldr r0, _0812CAD0 @ =sub_812C694
- str r0, [r5]
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r7, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0812CAD4 @ =sub_812D800
- str r1, [r0]
-_0812CAC0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812CAC8: .4byte gSprites
-_0812CACC: .4byte gUnknown_203B0FC
-_0812CAD0: .4byte sub_812C694
-_0812CAD4: .4byte sub_812D800
- thumb_func_end sub_812CA1C
-
- thumb_func_start sub_812CAD8
-sub_812CAD8: @ 812CAD8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- ldr r0, _0812CB9C @ =gTasks
- adds r5, r1, r0
- adds r0, 0x8
- adds r6, r1, r0
- bl RunTextPrinters
- ldr r0, _0812CBA0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812CB2E
- movs r0, 0x2
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0812CB2E
- ldr r0, _0812CBA4 @ =gUnknown_203B0FC
- ldr r0, [r0]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- adds r0, 0x1D
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, _0812CBA8 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x30
- ldrsh r0, [r0, r1]
- cmp r0, 0xFF
- beq _0812CB2E
- adds r0, r4, 0
- bl sub_812CE04
-_0812CB2E:
- ldr r0, _0812CBA0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0812CBB8
- movs r0, 0x5
- bl PlaySE
- movs r4, 0
- ldr r6, _0812CBA4 @ =gUnknown_203B0FC
-_0812CB44:
- ldr r0, [r6]
- adds r0, 0x1D
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- bl sub_812CEFC
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0812CB44
- bl sub_812CE9C
- ldr r2, _0812CBA8 @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0812CBAC @ =sub_812D764
- str r1, [r0]
- ldr r0, _0812CBB0 @ =gUnknown_3005EC8
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0812CB80
- bl sub_812DB10
-_0812CB80:
- movs r0, 0x1
- bl sub_812E4A4
- movs r0, 0
- bl sub_812D0F4
- bl sub_812E000
- bl sub_812C990
- ldr r0, _0812CBB4 @ =sub_812C694
- str r0, [r5]
- b _0812CC62
- .align 2, 0
-_0812CB9C: .4byte gTasks
-_0812CBA0: .4byte gMain
-_0812CBA4: .4byte gUnknown_203B0FC
-_0812CBA8: .4byte gSprites
-_0812CBAC: .4byte sub_812D764
-_0812CBB0: .4byte gUnknown_3005EC8
-_0812CBB4: .4byte sub_812C694
-_0812CBB8:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0812CBC8
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0812CBF4
-_0812CBC8:
- ldrh r1, [r5, 0xA]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r0, 0x2
- ble _0812CBE4
- subs r0, r1, 0x3
- strh r0, [r5, 0xA]
- movs r2, 0x1B
- negs r2, r2
- adds r0, r4, 0
- movs r1, 0
- bl sub_812CC68
- b _0812CC62
-_0812CBE4:
- adds r0, r1, 0x3
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1B
- bl sub_812CC68
- b _0812CC62
-_0812CBF4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0812CC26
- ldrh r6, [r5, 0xA]
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0812CC12
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _0812CC1C
-_0812CC12:
- adds r0, r6, 0x2
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- movs r1, 0x5E
- b _0812CC4A
-_0812CC1C:
- subs r0, r6, 0x1
- strh r0, [r5, 0xA]
- movs r1, 0x2F
- negs r1, r1
- b _0812CC48
-_0812CC26:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0812CC62
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- cmp r0, 0
- bne _0812CC52
- ldrh r0, [r5, 0xA]
- subs r0, 0x2
- strh r0, [r5, 0xA]
- movs r1, 0x5E
- negs r1, r1
-_0812CC48:
- adds r0, r4, 0
-_0812CC4A:
- movs r2, 0
- bl sub_812CC68
- b _0812CC62
-_0812CC52:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- movs r1, 0x2F
- movs r2, 0
- bl sub_812CC68
-_0812CC62:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_812CAD8
-
- thumb_func_start sub_812CC68
-sub_812CC68: @ 812CC68
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _0812CD18 @ =gTasks+0x8
- adds r6, r0, r1
- movs r0, 0xBB
- bl PlaySE
- ldr r2, _0812CD1C @ =gSprites
- movs r0, 0
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- lsls r4, 24
- asrs r4, 24
- ldrh r1, [r0, 0x20]
- adds r4, r1
- strh r4, [r0, 0x20]
- movs r0, 0
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- lsls r5, 24
- asrs r5, 24
- ldrh r1, [r0, 0x22]
- adds r5, r1
- strh r5, [r0, 0x22]
- movs r4, 0
- ldr r5, _0812CD20 @ =gUnknown_203B0FC
-_0812CCBE:
- ldr r0, [r5]
- adds r0, 0x1D
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_812CEFC
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0812CCBE
- movs r0, 0xD0
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- bl sub_812C990
- ldr r0, _0812CD20 @ =gUnknown_203B0FC
- ldr r0, [r0]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- adds r0, 0x1D
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_812CEFC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0812CD24
- adds r0, r7, 0
- bl sub_812CE04
- ldrb r0, [r6, 0x2]
- bl sub_812DA14
- b _0812CD30
- .align 2, 0
-_0812CD18: .4byte gTasks+0x8
-_0812CD1C: .4byte gSprites
-_0812CD20: .4byte gUnknown_203B0FC
-_0812CD24:
- ldr r0, _0812CD38 @ =gUnknown_3005EC8
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0812CD30
- bl sub_812DB10
-_0812CD30:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812CD38: .4byte gUnknown_3005EC8
- thumb_func_end sub_812CC68
-
- thumb_func_start sub_812CD3C
-sub_812CD3C: @ 812CD3C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- movs r0, 0
- mov r8, r0
- bl sub_812E064
- lsls r0, 16
- lsrs r0, 16
- adds r6, r0, 0
- ldr r0, _0812CD7C @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r7, _0812CD80 @ =gUnknown_203B0FC
- ldr r0, [r7]
- adds r0, 0xC
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- ldr r0, _0812CD84 @ =0x00003a54
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 30
- lsrs r5, r0, 30
- cmp r5, 0x2
- beq _0812CD88
- bl sub_812CE9C
- bl sub_812C990
- b _0812CDEE
- .align 2, 0
-_0812CD7C: .4byte gSaveBlock1Ptr
-_0812CD80: .4byte gUnknown_203B0FC
-_0812CD84: .4byte 0x00003a54
-_0812CD88:
- movs r0, 0xD0
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- bl sub_812D6B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0812CDAC
- movs r0, 0x10
- mov r8, r0
-_0812CDAC:
- ldr r4, _0812CDFC @ =gStringVar4
- ldr r1, _0812CE00 @ =gUnknown_845F63C
- ldr r0, [r7]
- adds r0, 0xC
- adds r0, r6
- ldrb r0, [r0]
- add r0, r8
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- bl sub_80F78A8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0x2
- movs r1, 0x2
- adds r2, r4, 0
- bl AddTextPrinterParametrized
- movs r0, 0x2
- bl sub_812CEE0
-_0812CDEE:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812CDFC: .4byte gStringVar4
-_0812CE00: .4byte gUnknown_845F63C
- thumb_func_end sub_812CD3C
-
- thumb_func_start sub_812CE04
-sub_812CE04: @ 812CE04
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _0812CE8C @ =gTasks+0x8
- adds r4, r0
- bl sub_812E064
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0xD0
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- ldr r6, _0812CE90 @ =gStringVar4
- ldr r2, _0812CE94 @ =gUnknown_845F6BC
- ldr r0, _0812CE98 @ =gUnknown_203B0FC
- ldr r0, [r0]
- adds r0, 0xC
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, [r0]
- adds r0, r6, 0
- bl StringExpandPlaceholders
- bl sub_80F78A8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- 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, 0x2
- movs r1, 0x2
- adds r2, r6, 0
- bl AddTextPrinterParametrized
- movs r0, 0x2
- bl sub_812CEE0
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0812CE8C: .4byte gTasks+0x8
-_0812CE90: .4byte gStringVar4
-_0812CE94: .4byte gUnknown_845F6BC
-_0812CE98: .4byte gUnknown_203B0FC
- thumb_func_end sub_812CE04
-
- thumb_func_start sub_812CE9C
-sub_812CE9C: @ 812CE9C
- push {lr}
- sub sp, 0x8
- movs r0, 0xD0
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- movs r0, 0x2
- bl sub_812CEE0
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_812CE9C
-
- thumb_func_start sub_812CEC0
-sub_812CEC0: @ 812CEC0
- push {lr}
- bl sub_80F6E9C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_80F6EE4
- movs r0, 0x2
- bl sub_812CEE0
- movs r0, 0
- bl sub_812CEE0
- pop {r0}
- bx r0
- thumb_func_end sub_812CEC0
-
- thumb_func_start sub_812CEE0
-sub_812CEE0: @ 812CEE0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812CEE0
-
- thumb_func_start sub_812CEFC
-sub_812CEFC: @ 812CEFC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r2, _0812CF1C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r3, r1, r2
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0xFF
- bne _0812CF20
- movs r0, 0
- b _0812CF36
- .align 2, 0
-_0812CF1C: .4byte gSprites
-_0812CF20:
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
- movs r0, 0x1
-_0812CF36:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_812CEFC
-
- thumb_func_start sub_812CF3C
-sub_812CF3C: @ 812CF3C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xC7
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0812CF74 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0812CF78 @ =sub_812CF7C
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812CF74: .4byte gTasks
-_0812CF78: .4byte sub_812CF7C
- thumb_func_end sub_812CF3C
-
- thumb_func_start sub_812CF7C
-sub_812CF7C: @ 812CF7C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _0812D074 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0812D06C
- ldr r0, _0812D078 @ =gUnknown_203B0FC
- ldr r0, [r0]
- ldrb r1, [r0, 0x7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0812CFD8
- bl sub_812E064
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r6, 0
- bl sub_812D9A8
- ldr r0, _0812D07C @ =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r0
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _0812D080 @ =gSprites
- adds r0, r5
- bl FreeSpriteOamMatrix
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
-_0812CFD8:
- movs r4, 0
-_0812CFDA:
- ldr r5, _0812D078 @ =gUnknown_203B0FC
- ldr r0, [r5]
- adds r0, 0x1D
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0812D080 @ =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0812CFDA
- bl sub_812D814
- bl sub_812D7C8
- bl sub_812D70C
- bl sub_812D770
- bl sub_812E048
- ldr r0, [r5]
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- movs r1, 0
- movs r2, 0
- bl sub_810713C
- ldr r0, _0812D084 @ =gUnknown_203B0F0
- ldr r0, [r0]
- bl Free
- ldr r0, _0812D088 @ =gUnknown_203B0F4
- ldr r0, [r0]
- bl Free
- ldr r0, _0812D08C @ =gUnknown_203B0F8
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- bl Free
- ldr r0, _0812D090 @ =gUnknown_203B100
- ldr r0, [r0]
- bl Free
- movs r0, 0
- bl sub_812D094
- movs r0, 0x1
- bl sub_812D094
- movs r0, 0x2
- bl sub_812D094
- movs r0, 0x3
- bl sub_812D094
- bl FreeAllWindowBuffers
- adds r0, r6, 0
- bl DestroyTask
-_0812D06C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0812D074: .4byte gPaletteFade
-_0812D078: .4byte gUnknown_203B0FC
-_0812D07C: .4byte gTasks
-_0812D080: .4byte gSprites
-_0812D084: .4byte gUnknown_203B0F0
-_0812D088: .4byte gUnknown_203B0F4
-_0812D08C: .4byte gUnknown_203B0F8
-_0812D090: .4byte gUnknown_203B100
- thumb_func_end sub_812CF7C
-
- thumb_func_start sub_812D094
-sub_812D094: @ 812D094
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- bl ClearWindowTilemap
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812D094
-
- thumb_func_start sub_812D0C0
-sub_812D0C0: @ 812D0C0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0xAF
- lsls r0, 1
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0812D0EA
- cmp r4, 0x9
- bne _0812D0DE
- movs r0, 0xF
- b _0812D0EC
-_0812D0DE:
- cmp r4, 0x9
- bls _0812D0EA
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r0, 24
- b _0812D0EC
-_0812D0EA:
- adds r0, r4, 0
-_0812D0EC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_812D0C0
-
- thumb_func_start sub_812D0F4
-sub_812D0F4: @ 812D0F4
- push {r4,r5,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _0812D164 @ =gUnknown_841E5A4
- cmp r0, 0
- beq _0812D10A
- ldr r5, _0812D168 @ =gUnknown_841E5D2
- cmp r0, 0x1
- bne _0812D10A
- ldr r5, _0812D16C @ =gUnknown_841E5B9
-_0812D10A:
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- movs r0, 0xC0
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- movs r0, 0x44
- negs r0, r0
- adds r2, r0, 0
- subs r2, r4
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- ldr r0, _0812D170 @ =gUnknown_845F5E0
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- str r5, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0
- bl AddTextPrinterParametrized2
- movs r0, 0x1
- bl sub_812CEE0
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0812D164: .4byte gUnknown_841E5A4
-_0812D168: .4byte gUnknown_841E5D2
-_0812D16C: .4byte gUnknown_841E5B9
-_0812D170: .4byte gUnknown_845F5E0
- thumb_func_end sub_812D0F4
-
- thumb_func_start sub_812D174
-sub_812D174: @ 812D174
- push {r4,lr}
- movs r4, 0
-_0812D178:
- ldr r0, _0812D1A0 @ =gUnknown_203B0FC
- ldr r0, [r0]
- adds r0, 0x1D
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0812D1A4 @ =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0812D178
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812D1A0: .4byte gUnknown_203B0FC
-_0812D1A4: .4byte gSprites
- thumb_func_end sub_812D174
-
- thumb_func_start sub_812D1A8
-sub_812D1A8: @ 812D1A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- movs r6, 0
- ldr r7, _0812D238 @ =gUnknown_203B0FC
-_0812D1BA:
- ldr r0, _0812D23C @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, [r7]
- adds r0, 0xC
- add r0, r8
- ldrb r2, [r0]
- lsls r0, r2, 2
- adds r1, r0
- ldr r0, _0812D240 @ =0x00003a54
- adds r1, r0
- ldrh r0, [r1]
- lsls r0, 18
- lsrs r0, 20
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812D248
- ldr r1, _0812D244 @ =gUnknown_845F83C
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- adds r0, r1
- ldrb r5, [r0]
- adds r0, r6, 0
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 4
- subs r4, r0
- adds r4, 0x72
- lsls r4, 16
- asrs r4, 16
- adds r0, r6, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r0, 3
- subs r3, r0
- lsls r3, 2
- subs r3, r0
- adds r3, 0x2F
- lsls r3, 16
- asrs r3, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_805EB44
- ldr r1, [r7]
- adds r1, 0x1D
- adds r1, r6
- strb r0, [r1]
- movs r5, 0x1
- b _0812D2A0
- .align 2, 0
-_0812D238: .4byte gUnknown_203B0FC
-_0812D23C: .4byte gSaveBlock1Ptr
-_0812D240: .4byte 0x00003a54
-_0812D244: .4byte gUnknown_845F83C
-_0812D248:
- adds r0, r6, 0
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 4
- subs r4, r0
- adds r4, 0x72
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- subs r1, r0
- adds r1, 0x1F
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_812D780
- ldr r1, [r7]
- adds r1, 0x1D
- adds r1, r6
- strb r0, [r1]
- ldr r2, _0812D2D0 @ =gSprites
- ldr r0, [r7]
- adds r0, 0x1D
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0xFF
- strh r1, [r0, 0x30]
-_0812D2A0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _0812D1BA
- cmp r5, 0x1
- bne _0812D2E0
- ldr r3, _0812D2D4 @ =gUnknown_203B0FC
- ldr r2, [r3]
- ldrb r0, [r2, 0x7]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x7]
- ldr r0, [r3]
- ldrb r1, [r0, 0x7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0812D2D8
- movs r0, 0x1
- bl sub_812D0F4
- b _0812D2F4
- .align 2, 0
-_0812D2D0: .4byte gSprites
-_0812D2D4: .4byte gUnknown_203B0FC
-_0812D2D8:
- movs r0, 0
- bl sub_812D0F4
- b _0812D2F4
-_0812D2E0:
- ldr r0, _0812D300 @ =gUnknown_203B0FC
- ldr r2, [r0]
- ldrb r1, [r2, 0x7]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
- movs r0, 0x1
- bl sub_812D0F4
-_0812D2F4:
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0812D300: .4byte gUnknown_203B0FC
- thumb_func_end sub_812D1A8
-
- thumb_func_start sub_812D304
-sub_812D304: @ 812D304
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r4, 0
- ldr r0, _0812D378 @ =gSaveBlock1Ptr
- mov r9, r0
- mov r6, r9
- ldr r5, _0812D37C @ =0x00003a54
- movs r0, 0x4
- negs r0, r0
- mov r8, r0
- ldr r0, _0812D380 @ =0xffffc003
- mov r12, r0
- ldr r7, _0812D384 @ =0x00003a55
-_0812D322:
- ldr r1, [r6]
- lsls r3, r4, 2
- adds r1, r3
- adds r1, r5
- ldrb r2, [r1]
- mov r0, r8
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r6]
- adds r1, r3
- adds r3, r1, r5
- ldrh r2, [r3]
- mov r0, r12
- ands r0, r2
- strh r0, [r3]
- adds r1, r7
- ldrb r2, [r1]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _0812D322
- mov r0, r9
- ldr r2, [r0]
- ldr r0, _0812D37C @ =0x00003a54
- adds r2, r0
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812D378: .4byte gSaveBlock1Ptr
-_0812D37C: .4byte 0x00003a54
-_0812D380: .4byte 0xffffc003
-_0812D384: .4byte 0x00003a55
- thumb_func_end sub_812D304
-
- thumb_func_start sub_812D388
-sub_812D388: @ 812D388
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r5, 0
- ldr r0, _0812D410 @ =gSaveBlock1Ptr
- mov r12, r0
- ldr r7, _0812D414 @ =0x00003a54
- movs r1, 0x4
- negs r1, r1
- mov r10, r1
- ldr r6, _0812D418 @ =0xffffc003
- mov r9, r6
- movs r0, 0x1
- mov r8, r0
-_0812D3AA:
- mov r1, r12
- ldr r2, [r1]
- lsls r3, r5, 2
- adds r2, r3
- adds r2, r7
- ldrb r1, [r2]
- mov r0, r10
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r4, 0
- adds r5, 0x1
- str r5, [sp]
- adds r5, r3, 0
-_0812D3C8:
- mov r6, r12
- ldr r2, [r6]
- adds r2, r5
- adds r2, r7
- ldrh r3, [r2]
- lsls r0, r3, 18
- lsrs r0, 20
- mov r1, r8
- lsls r1, r4
- orrs r1, r0
- ldr r6, _0812D41C @ =0x00000fff
- adds r0, r6, 0
- ands r1, r0
- lsls r1, 2
- mov r0, r9
- ands r0, r3
- orrs r0, r1
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0812D3C8
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _0812D3AA
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812D410: .4byte gSaveBlock1Ptr
-_0812D414: .4byte 0x00003a54
-_0812D418: .4byte 0xffffc003
-_0812D41C: .4byte 0x00000fff
- thumb_func_end sub_812D388
-
- thumb_func_start sub_812D420
-sub_812D420: @ 812D420
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, _0812D550 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0812D554 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0812D446:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0812D446
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, _0812D550 @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812D550: .4byte 0x040000d4
-_0812D554: .4byte 0x81000800
- thumb_func_end sub_812D420
-
- thumb_func_start sub_812D558
-sub_812D558: @ 812D558
- push {lr}
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl dp13_810BB8C
- bl ResetPaletteFade
- movs r0, 0
- bl npc_paltag_set_load
- ldr r1, _0812D580 @ =gReservedSpritePaletteCount
- movs r0, 0x7
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0812D580: .4byte gReservedSpritePaletteCount
- thumb_func_end sub_812D558
-
- thumb_func_start sub_812D584
-sub_812D584: @ 812D584
- push {lr}
- movs r1, 0xFA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_812D584
-
- thumb_func_start sub_812D594
-sub_812D594: @ 812D594
- push {lr}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_812D594
-
- thumb_func_start sub_812D5EC
-sub_812D5EC: @ 812D5EC
- push {r4-r6,lr}
- ldr r1, _0812D638 @ =gUnknown_20370C0
- ldrh r0, [r1]
- cmp r0, 0xF
- bhi _0812D632
- ldr r5, _0812D63C @ =gSpecialVar_0x8005
- ldrh r0, [r5]
- cmp r0, 0x5
- bhi _0812D632
- ldr r0, _0812D640 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r0, [r1]
- lsls r0, 2
- adds r2, r0
- ldr r0, _0812D644 @ =0x00003a54
- adds r2, r0
- ldrh r3, [r2]
- lsls r0, r3, 18
- lsrs r0, 20
- movs r4, 0x1
- adds r1, r4, 0
- ldrh r6, [r5]
- lsls r1, r6
- orrs r1, r0
- ldr r6, _0812D648 @ =0x00000fff
- adds r0, r6, 0
- ands r1, r0
- lsls r1, 2
- ldr r0, _0812D64C @ =0xffffc003
- ands r0, r3
- orrs r0, r1
- strh r0, [r2]
- strh r4, [r5]
- bl sub_812D650
-_0812D632:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0812D638: .4byte gUnknown_20370C0
-_0812D63C: .4byte gSpecialVar_0x8005
-_0812D640: .4byte gSaveBlock1Ptr
-_0812D644: .4byte 0x00003a54
-_0812D648: .4byte 0x00000fff
-_0812D64C: .4byte 0xffffc003
- thumb_func_end sub_812D5EC
-
- thumb_func_start sub_812D650
-sub_812D650: @ 812D650
- push {r4,lr}
- ldr r1, _0812D6A4 @ =gUnknown_20370C0
- ldrh r0, [r1]
- cmp r0, 0xF
- bhi _0812D69E
- ldr r0, _0812D6A8 @ =gSpecialVar_0x8005
- ldrh r4, [r0]
- adds r0, r4, 0
- cmp r0, 0x2
- bhi _0812D69E
- cmp r0, 0
- beq _0812D69E
- ldr r2, _0812D6AC @ =gSaveBlock1Ptr
- ldrh r3, [r1]
- cmp r0, 0x1
- bne _0812D684
- ldr r0, [r2]
- lsls r1, r3, 2
- adds r0, r1
- ldr r1, _0812D6B0 @ =0x00003a54
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x2
- beq _0812D69E
-_0812D684:
- ldr r2, [r2]
- lsls r0, r3, 2
- adds r2, r0
- ldr r0, _0812D6B0 @ =0x00003a54
- adds r2, r0
- movs r1, 0x3
- ands r1, r4
- ldrb r3, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_0812D69E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812D6A4: .4byte gUnknown_20370C0
-_0812D6A8: .4byte gSpecialVar_0x8005
-_0812D6AC: .4byte gSaveBlock1Ptr
-_0812D6B0: .4byte 0x00003a54
- thumb_func_end sub_812D650
-
- thumb_func_start sub_812D6B4
-sub_812D6B4: @ 812D6B4
- push {r4,lr}
- ldr r0, _0812D6EC @ =gUnknown_203B0FC
- ldr r4, [r0]
- bl sub_812E064
- lsls r0, 16
- lsrs r0, 16
- adds r4, 0xC
- adds r4, r0
- ldrb r1, [r4]
- movs r2, 0
- ldr r0, _0812D6F0 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- ldr r1, _0812D6F4 @ =0x00003a54
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 18
- movs r3, 0x1
-_0812D6DC:
- lsrs r0, r1, 20
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- bne _0812D6F8
- movs r0, 0
- b _0812D704
- .align 2, 0
-_0812D6EC: .4byte gUnknown_203B0FC
-_0812D6F0: .4byte gSaveBlock1Ptr
-_0812D6F4: .4byte 0x00003a54
-_0812D6F8:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0812D6DC
- movs r0, 0x1
-_0812D704:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_812D6B4
-
- thumb_func_start sub_812D70C
-sub_812D70C: @ 812D70C
- push {r4,lr}
- movs r4, 0xFA
- lsls r4, 2
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812D70C
-
- thumb_func_start sub_812D724
-sub_812D724: @ 812D724
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- movs r4, 0x22
- cmp r0, 0x2
- ble _0812D732
- movs r4, 0x3D
-_0812D732:
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 4
- subs r1, r0
- adds r1, 0x72
- ldr r0, _0812D760 @ =gUnknown_845FC44
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0812D760: .4byte gUnknown_845FC44
- thumb_func_end sub_812D724
-
- thumb_func_start sub_812D764
-sub_812D764: @ 812D764
- push {lr}
- bl DestroySprite
- pop {r0}
- bx r0
- thumb_func_end sub_812D764
-
- thumb_func_start sub_812D770
-sub_812D770: @ 812D770
- push {lr}
- ldr r0, _0812D77C @ =0x000003e9
- bl FreeSpriteTilesByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0812D77C: .4byte 0x000003e9
- thumb_func_end sub_812D770
-
- thumb_func_start sub_812D780
-sub_812D780: @ 812D780
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _0812D7C0 @ =gUnknown_845FC78
- adds r1, r3, 0
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0812D7C4 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- movs r3, 0x8
- orrs r1, r3
- movs r3, 0xF
- ands r1, r3
- movs r3, 0x20
- orrs r1, r3
- strb r1, [r2, 0x5]
- pop {r1}
- bx r1
- .align 2, 0
-_0812D7C0: .4byte gUnknown_845FC78
-_0812D7C4: .4byte gSprites
- thumb_func_end sub_812D780
-
- thumb_func_start sub_812D7C8
-sub_812D7C8: @ 812D7C8
- push {r4,lr}
- ldr r4, _0812D7E0 @ =0x000003ea
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812D7E0: .4byte 0x000003ea
- thumb_func_end sub_812D7C8
-
- thumb_func_start sub_812D7E4
-sub_812D7E4: @ 812D7E4
- push {lr}
- ldr r0, _0812D7FC @ =gUnknown_845FCB8
- movs r1, 0xE2
- movs r2, 0x42
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0812D7FC: .4byte gUnknown_845FCB8
- thumb_func_end sub_812D7E4
-
- thumb_func_start sub_812D800
-sub_812D800: @ 812D800
- push {r4,lr}
- adds r4, r0, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812D800
-
- thumb_func_start sub_812D814
-sub_812D814: @ 812D814
- push {lr}
- ldr r0, _0812D834 @ =0x000003ee
- bl FreeSpriteTilesByTag
- ldr r0, _0812D838 @ =0x000003ef
- bl FreeSpriteTilesByTag
- movs r0, 0xFC
- lsls r0, 2
- bl FreeSpriteTilesByTag
- ldr r0, _0812D83C @ =0x000003f1
- bl FreeSpriteTilesByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0812D834: .4byte 0x000003ee
-_0812D838: .4byte 0x000003ef
-_0812D83C: .4byte 0x000003f1
- thumb_func_end sub_812D814
-
- thumb_func_start sub_812D840
-sub_812D840: @ 812D840
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _0812D864
- movs r3, 0x24
- ldrsh r0, [r2, r3]
- subs r0, 0xA
- cmp r0, 0
- bge _0812D85E
- movs r0, 0
- strh r0, [r2, 0x24]
- strh r0, [r2, 0x2E]
- b _0812D882
-_0812D85E:
- ldrh r0, [r2, 0x24]
- subs r0, 0xA
- b _0812D880
-_0812D864:
- cmp r0, 0x2
- bne _0812D882
- ldrh r1, [r2, 0x24]
- movs r3, 0x24
- ldrsh r0, [r2, r3]
- cmp r0, 0xF0
- ble _0812D87C
- movs r1, 0
- movs r0, 0xF0
- strh r0, [r2, 0x24]
- strh r1, [r2, 0x2E]
- b _0812D882
-_0812D87C:
- adds r0, r1, 0
- adds r0, 0xA
-_0812D880:
- strh r0, [r2, 0x24]
-_0812D882:
- pop {r0}
- bx r0
- thumb_func_end sub_812D840
-
- thumb_func_start sub_812D888
-sub_812D888: @ 812D888
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _0812D8B0
- ldr r0, _0812D8A8 @ =gUnknown_845FCE4
- movs r1, 0x94
- movs r2, 0x42
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0812D8AC @ =gUnknown_845ED60
- b _0812D906
- .align 2, 0
-_0812D8A8: .4byte gUnknown_845FCE4
-_0812D8AC: .4byte gUnknown_845ED60
-_0812D8B0:
- cmp r5, 0xE
- bne _0812D8D0
- ldr r0, _0812D8C8 @ =gUnknown_845FCFC
- movs r1, 0x94
- movs r2, 0x42
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0812D8CC @ =gUnknown_845DD20
- b _0812D906
- .align 2, 0
-_0812D8C8: .4byte gUnknown_845FCFC
-_0812D8CC: .4byte gUnknown_845DD20
-_0812D8D0:
- cmp r5, 0
- bne _0812D8F0
- ldr r0, _0812D8E8 @ =gUnknown_845FD14
- movs r1, 0x94
- movs r2, 0x42
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0812D8EC @ =gUnknown_845F580
- b _0812D906
- .align 2, 0
-_0812D8E8: .4byte gUnknown_845FD14
-_0812D8EC: .4byte gUnknown_845F580
-_0812D8F0:
- cmp r5, 0xD
- bne _0812D934
- ldr r0, _0812D928 @ =gUnknown_845FD2C
- movs r1, 0x94
- movs r2, 0x42
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0812D92C @ =gUnknown_845E540
-_0812D906:
- movs r1, 0xB0
- lsls r1, 1
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _0812D930 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xF
- ands r1, r2
- movs r2, 0x60
- orrs r1, r2
- strb r1, [r0, 0x5]
- b _0812D950
- .align 2, 0
-_0812D928: .4byte gUnknown_845FD2C
-_0812D92C: .4byte gUnknown_845E540
-_0812D930: .4byte gSprites
-_0812D934:
- ldr r0, _0812D98C @ =gUnknown_845F61C
- adds r0, r5, r0
- ldrb r0, [r0]
- movs r1, 0x6
- str r1, [sp]
- ldr r1, _0812D990 @ =0x0000ffff
- str r1, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0x94
- movs r3, 0x42
- bl sub_810C2A4
- lsls r0, 24
- lsrs r4, r0, 24
-_0812D950:
- ldr r1, _0812D994 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0812D998 @ =sub_812D840
- str r1, [r0]
- ldr r0, _0812D99C @ =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, r1
- ldr r1, _0812D9A0 @ =0x00003a54
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _0812D982
- ldr r0, _0812D9A4 @ =gUnknown_845F5C0
- movs r1, 0xB0
- lsls r1, 1
- movs r2, 0x20
- bl LoadPalette
-_0812D982:
- adds r0, r4, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0812D98C: .4byte gUnknown_845F61C
-_0812D990: .4byte 0x0000ffff
-_0812D994: .4byte gSprites
-_0812D998: .4byte sub_812D840
-_0812D99C: .4byte gSaveBlock1Ptr
-_0812D9A0: .4byte 0x00003a54
-_0812D9A4: .4byte gUnknown_845F5C0
- thumb_func_end sub_812D888
-
- thumb_func_start sub_812D9A8
-sub_812D9A8: @ 812D9A8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- ldr r0, _0812D9FC @ =gTasks+0x8
- adds r4, r2, r0
- lsrs r1, 16
- ldr r0, _0812DA00 @ =gUnknown_203B0FC
- ldr r2, [r0]
- ldrb r0, [r2, 0x7]
- lsrs r3, r0, 2
- subs r0, r3, 0x1
- cmp r1, r0
- bne _0812D9D0
- subs r0, r3, 0x2
- lsls r0, 16
- lsrs r1, r0, 16
-_0812D9D0:
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0812D9E8
- cmp r0, 0xE
- beq _0812D9E8
- cmp r0, 0
- beq _0812D9E8
- cmp r0, 0xD
- bne _0812DA08
-_0812D9E8:
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0812DA04 @ =gSprites
- adds r0, r1
- bl DestroySprite
- b _0812DA0E
- .align 2, 0
-_0812D9FC: .4byte gTasks+0x8
-_0812DA00: .4byte gUnknown_203B0FC
-_0812DA04: .4byte gSprites
-_0812DA08:
- ldrh r0, [r4, 0x4]
- bl sub_810C2E8
-_0812DA0E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812D9A8
-
- thumb_func_start sub_812DA14
-sub_812DA14: @ 812DA14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_812E064
- ldr r1, _0812DAF8 @ =gUnknown_203B0FC
- ldr r1, [r1]
- lsls r0, 16
- lsrs r0, 16
- adds r1, 0xC
- adds r1, r0
- ldrb r0, [r1]
- lsls r5, r0, 1
- adds r5, r0
- lsls r5, 1
- adds r5, r4
- movs r0, 0x1
- bl sub_812E094
- ldr r1, _0812DAFC @ =gUnknown_3005EC8
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x58
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- ldr r0, _0812DB00 @ =gUnknown_845F89C
- lsls r5, 2
- adds r0, r5, r0
- ldr r6, [r0]
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- movs r4, 0x54
- subs r0, r4, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r2, r0, 24
- lsrs r2, 24
- movs r7, 0
- str r7, [sp]
- movs r0, 0x2
- mov r10, r0
- str r0, [sp, 0x4]
- ldr r0, _0812DB04 @ =gUnknown_845F5E3
- mov r9, r0
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- str r0, [sp, 0xC]
- str r6, [sp, 0x10]
- movs r0, 0x3
- movs r1, 0
- movs r3, 0
- bl AddTextPrinterParametrized2
- ldr r6, _0812DB08 @ =gStringVar1
- ldr r0, _0812DB0C @ =gUnknown_845FA1C
- adds r5, r0
- ldr r1, [r5]
- adds r0, r6, 0
- bl StringExpandPlaceholders
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r0, r4, 1
- lsls r2, r0, 24
- lsrs r2, 24
- str r7, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- mov r0, r8
- str r0, [sp, 0xC]
- str r6, [sp, 0x10]
- movs r0, 0x3
- movs r1, 0
- movs r3, 0xA
- bl AddTextPrinterParametrized2
- movs r0, 0x3
- bl sub_812CEE0
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812DAF8: .4byte gUnknown_203B0FC
-_0812DAFC: .4byte gUnknown_3005EC8
-_0812DB00: .4byte gUnknown_845F89C
-_0812DB04: .4byte gUnknown_845F5E3
-_0812DB08: .4byte gStringVar1
-_0812DB0C: .4byte gUnknown_845FA1C
- thumb_func_end sub_812DA14
-
- thumb_func_start sub_812DB10
-sub_812DB10: @ 812DB10
- push {lr}
- movs r0, 0
- bl sub_812E094
- ldr r1, _0812DB24 @ =gUnknown_3005EC8
- movs r0, 0xFF
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0812DB24: .4byte gUnknown_3005EC8
- thumb_func_end sub_812DB10
-
- thumb_func_start sub_812DB28
-sub_812DB28: @ 812DB28
- push {r4,lr}
- bl sub_812DB64
- bl sub_812DEF0
- ldr r4, _0812DB5C @ =gUnknown_203B0FC
- ldr r3, [r4]
- lsls r0, 2
- ldrb r2, [r3, 0x7]
- movs r1, 0x3
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x7]
- ldr r0, _0812DB60 @ =gUnknown_3005EB0
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- ldr r1, [r4]
- strb r0, [r1, 0x8]
- movs r0, 0
- bl sub_812DFE4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812DB5C: .4byte gUnknown_203B0FC
-_0812DB60: .4byte gUnknown_3005EB0
- thumb_func_end sub_812DB28
-
- thumb_func_start sub_812DB64
-sub_812DB64: @ 812DB64
- ldr r2, _0812DBB4 @ =gUnknown_3005EB0
- ldr r0, _0812DBB8 @ =gUnknown_203B100
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, _0812DBBC @ =sub_812DBC0
- str r0, [r2, 0x4]
- movs r0, 0
- str r0, [r2, 0x8]
- movs r1, 0
- movs r0, 0x1
- strh r0, [r2, 0xC]
- strh r0, [r2, 0xE]
- strb r1, [r2, 0x10]
- strb r1, [r2, 0x11]
- movs r0, 0x8
- strb r0, [r2, 0x12]
- strb r1, [r2, 0x13]
- ldrb r1, [r2, 0x14]
- subs r0, 0x18
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0x14]
- movs r0, 0x30
- strb r0, [r2, 0x15]
- movs r3, 0x3F
- movs r0, 0
- strb r0, [r2, 0x16]
- ldrb r1, [r2, 0x17]
- subs r0, 0x40
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- ands r0, r3
- strb r0, [r2, 0x17]
- bx lr
- .align 2, 0
-_0812DBB4: .4byte gUnknown_3005EB0
-_0812DBB8: .4byte gUnknown_203B100
-_0812DBBC: .4byte sub_812DBC0
- thumb_func_end sub_812DB64
-
- thumb_func_start sub_812DBC0
-sub_812DBC0: @ 812DBC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _0812DC68 @ =gUnknown_203B104
- mov r10, r0
- movs r2, 0
- mov r8, r2
- str r2, [r0]
- ldr r6, _0812DC6C @ =gUnknown_203B0FC
- ldr r0, [r6]
- ldrb r2, [r0, 0xA]
- ldrb r0, [r0, 0xB]
- adds r2, r0
- mov r9, r2
- adds r0, r7, 0
- bl sub_812DDF0
- ldr r0, _0812DC70 @ =sub_812C694
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- bne _0812DBFE
- b _0812DD3A
-_0812DBFE:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _0812DC74 @ =gTasks
- adds r5, r0, r1
- movs r0, 0x5
- bl PlaySE
- mov r0, r8
- strh r0, [r5, 0xA]
- ldr r0, [r6]
- ldrb r0, [r0, 0x8]
- add r1, sp, 0x8
- movs r2, 0
- bl get_coro_args_x18_x1A
- ldr r1, [r6]
- add r0, sp, 0x8
- ldrh r0, [r0]
- strh r0, [r1, 0x4]
- ldrb r0, [r1, 0x7]
- lsrs r0, 2
- subs r0, 0x1
- cmp r7, r0
- beq _0812DCD8
- bl sub_812D174
- lsls r0, r7, 24
- lsrs r0, 24
- bl sub_812D1A8
- ldr r2, [r6]
- ldrb r1, [r2, 0x7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0812DCBC
- adds r0, r2, 0
- adds r0, 0x23
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0812DC7C
- adds r0, r4, 0
- mov r1, r9
- bl sub_812D9A8
- mov r1, r10
- str r7, [r1]
- ldr r0, _0812DC78 @ =sub_812DD50
- str r0, [r5]
- b _0812DD3A
- .align 2, 0
-_0812DC68: .4byte gUnknown_203B104
-_0812DC6C: .4byte gUnknown_203B0FC
-_0812DC70: .4byte sub_812C694
-_0812DC74: .4byte gTasks
-_0812DC78: .4byte sub_812DD50
-_0812DC7C:
- ldr r4, _0812DCB8 @ =gSprites
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x23
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r1, r8
- strh r1, [r0, 0x2E]
- bl sub_812CD3C
- b _0812DD3A
- .align 2, 0
-_0812DCB8: .4byte gSprites
-_0812DCBC:
- movs r0, 0xD0
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- movs r0, 0x2
- bl sub_812CEE0
- b _0812DD3A
-_0812DCD8:
- bl sub_812DDAC
- ldr r0, [r6]
- ldrb r1, [r0, 0x7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0812DD10
- ldr r2, _0812DD0C @ =gSprites
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r1, [r6]
- adds r1, 0x23
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- b _0812DD3A
- .align 2, 0
-_0812DD0C: .4byte gSprites
-_0812DD10:
- movs r2, 0
- ldr r5, _0812DD4C @ =gSprites
- adds r4, r6, 0
- movs r3, 0x4
-_0812DD18:
- ldr r0, [r4]
- adds r0, 0x1D
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0812DD18
-_0812DD3A:
- 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
-_0812DD4C: .4byte gSprites
- thumb_func_end sub_812DBC0
-
- thumb_func_start sub_812DD50
-sub_812DD50: @ 812DD50
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _0812DD98 @ =gTasks
- adds r4, r0
- ldr r0, _0812DD9C @ =gUnknown_203B0FC
- ldr r0, [r0]
- ldr r1, _0812DDA0 @ =gUnknown_203B104
- adds r0, 0xC
- ldr r1, [r1]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_812D888
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- strh r0, [r4, 0xC]
- ldr r2, _0812DDA4 @ =gSprites
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x2E]
- bl sub_812CD3C
- ldr r0, _0812DDA8 @ =sub_812C694
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812DD98: .4byte gTasks
-_0812DD9C: .4byte gUnknown_203B0FC
-_0812DDA0: .4byte gUnknown_203B104
-_0812DDA4: .4byte gSprites
-_0812DDA8: .4byte sub_812C694
- thumb_func_end sub_812DD50
-
- thumb_func_start sub_812DDAC
-sub_812DDAC: @ 812DDAC
- push {lr}
- sub sp, 0x10
- movs r0, 0xD0
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- ldr r2, _0812DDEC @ =gUnknown_84181C3
- 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, 0x2
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParametrized
- movs r0, 0x2
- bl sub_812CEE0
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_0812DDEC: .4byte gUnknown_84181C3
- thumb_func_end sub_812DDAC
-
- thumb_func_start sub_812DDF0
-sub_812DDF0: @ 812DDF0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- mov r8, r0
- lsls r5, r1, 24
- lsrs r5, 24
- ldr r7, _0812DE68 @ =gUnknown_203B0FC
- ldr r0, [r7]
- ldrb r0, [r0, 0x8]
- mov r4, sp
- adds r4, 0x16
- add r1, sp, 0x14
- adds r2, r4, 0
- bl get_coro_args_x18_x1A
- add r1, sp, 0x14
- ldrh r0, [r4]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- ldrh r0, [r4]
- lsls r3, r0, 3
- subs r3, r0
- lsls r3, 25
- movs r0, 0x80
- lsls r0, 19
- adds r3, r0
- lsrs r3, 24
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r0, _0812DE6C @ =gUnknown_845F5E6
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, _0812DE70 @ =gUnknown_203B100
- ldr r1, [r0]
- mov r2, r8
- lsls r0, r2, 3
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x8
- bl AddTextPrinterParametrized2
- cmp r5, 0
- bne _0812DEC0
- add r0, sp, 0x14
- ldr r1, [r7]
- ldrh r2, [r0]
- ldrb r0, [r1, 0xA]
- cmp r2, r0
- bcs _0812DE74
- ldrb r0, [r1, 0xB]
- adds r0, 0x1
- b _0812DE86
- .align 2, 0
-_0812DE68: .4byte gUnknown_203B0FC
-_0812DE6C: .4byte gUnknown_845F5E6
-_0812DE70: .4byte gUnknown_203B100
-_0812DE74:
- cmp r2, r0
- bls _0812DE88
- ldrb r0, [r1, 0x7]
- lsrs r0, 2
- subs r0, 0x1
- cmp r6, r0
- beq _0812DE88
- ldrb r0, [r1, 0xB]
- subs r0, 0x1
-_0812DE86:
- strb r0, [r1, 0xB]
-_0812DE88:
- ldr r0, _0812DEE4 @ =gUnknown_203B0FC
- ldr r2, [r0]
- ldrb r0, [r2, 0xB]
- lsls r3, r0, 3
- subs r3, r0
- lsls r3, 25
- movs r0, 0x80
- lsls r0, 19
- adds r3, r0
- lsrs r3, 24
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r0, _0812DEE8 @ =gUnknown_845F5E3
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldrb r0, [r2, 0x9]
- ldr r1, _0812DEEC @ =gUnknown_203B100
- ldr r1, [r1]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x8
- bl AddTextPrinterParametrized2
-_0812DEC0:
- ldr r1, _0812DEE4 @ =gUnknown_203B0FC
- ldr r0, [r1]
- mov r2, r8
- strb r2, [r0, 0x9]
- ldr r2, [r1]
- ldrh r0, [r4]
- strb r0, [r2, 0xB]
- ldr r1, [r1]
- add r0, sp, 0x14
- ldrh r0, [r0]
- strb r0, [r1, 0xA]
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812DEE4: .4byte gUnknown_203B0FC
-_0812DEE8: .4byte gUnknown_845F5E3
-_0812DEEC: .4byte gUnknown_203B100
- thumb_func_end sub_812DDF0
-
- thumb_func_start sub_812DEF0
-sub_812DEF0: @ 812DEF0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- movs r6, 0
- ldr r0, _0812DF44 @ =0x0000fdff
- mov r8, r0
- ldr r7, _0812DF48 @ =gUnknown_845F60C
-_0812DF00:
- adds r0, r6, 0
- bl sub_812D0C0
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0812DF4C @ =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, r1
- ldr r1, _0812DF50 @ =0x00003a54
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- beq _0812DF88
- ldr r0, _0812DF54 @ =gUnknown_845F5EA
- lsls r1, r5, 1
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, r8
- bhi _0812DF60
- ldr r0, _0812DF58 @ =gUnknown_203B100
- ldr r0, [r0]
- lsls r2, r4, 3
- adds r2, r0
- ldrh r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _0812DF5C @ =gTrainers+0x4
- adds r0, r1
- str r0, [r2]
- str r4, [r2, 0x4]
- b _0812DF78
- .align 2, 0
-_0812DF44: .4byte 0x0000fdff
-_0812DF48: .4byte gUnknown_845F60C
-_0812DF4C: .4byte gSaveBlock1Ptr
-_0812DF50: .4byte 0x00003a54
-_0812DF54: .4byte gUnknown_845F5EA
-_0812DF58: .4byte gUnknown_203B100
-_0812DF5C: .4byte gTrainers+0x4
-_0812DF60:
- ldr r0, _0812DFC0 @ =gUnknown_203B100
- ldr r0, [r0]
- lsls r1, r4, 3
- adds r1, r0
- ldrh r0, [r3]
- ldr r2, _0812DFC4 @ =0xffff0200
- adds r0, r2
- lsls r0, 2
- adds r0, r7
- ldr r0, [r0]
- str r0, [r1]
- str r4, [r1, 0x4]
-_0812DF78:
- ldr r0, _0812DFC8 @ =gUnknown_203B0FC
- ldr r0, [r0]
- adds r0, 0xC
- adds r0, r4
- strb r5, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0812DF88:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xF
- bls _0812DF00
- ldr r0, _0812DFC0 @ =gUnknown_203B100
- ldr r1, [r0]
- lsls r0, r4, 3
- adds r0, r1
- ldr r1, _0812DFCC @ =gUnknown_84161C1
- str r1, [r0]
- str r4, [r0, 0x4]
- ldr r0, _0812DFC8 @ =gUnknown_203B0FC
- ldr r0, [r0]
- adds r0, 0xC
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _0812DFD0 @ =gUnknown_3005EB0
- strh r4, [r1, 0xC]
- cmp r4, 0x4
- bhi _0812DFD4
- strh r4, [r1, 0xE]
- b _0812DFD8
- .align 2, 0
-_0812DFC0: .4byte gUnknown_203B100
-_0812DFC4: .4byte 0xffff0200
-_0812DFC8: .4byte gUnknown_203B0FC
-_0812DFCC: .4byte gUnknown_84161C1
-_0812DFD0: .4byte gUnknown_3005EB0
-_0812DFD4:
- movs r0, 0x5
- strh r0, [r1, 0xE]
-_0812DFD8:
- adds r0, r4, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_812DEF0
-
- thumb_func_start sub_812DFE4
-sub_812DFE4: @ 812DFE4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812DFE4
-
- thumb_func_start sub_812E000
-sub_812E000: @ 812E000
- push {r4,lr}
- sub sp, 0x10
- mov r1, sp
- ldr r0, _0812E040 @ =gUnknown_845FD44
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r4, _0812E044 @ =gUnknown_203B0FC
- ldr r2, [r4]
- ldrb r0, [r2, 0x7]
- lsrs r0, 2
- cmp r0, 0x5
- bls _0812E036
- mov r1, sp
- movs r0, 0
- strh r0, [r1, 0x6]
- ldrb r0, [r2, 0x7]
- lsrs r0, 2
- subs r0, 0x5
- strh r0, [r1, 0x8]
- adds r1, r2, 0x4
- mov r0, sp
- bl AddScrollIndicatorArrowPair
- ldr r1, [r4]
- strb r0, [r1, 0x6]
-_0812E036:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812E040: .4byte gUnknown_845FD44
-_0812E044: .4byte gUnknown_203B0FC
- thumb_func_end sub_812E000
-
- thumb_func_start sub_812E048
-sub_812E048: @ 812E048
- push {lr}
- ldr r0, _0812E060 @ =gUnknown_203B0FC
- ldr r1, [r0]
- ldrb r0, [r1, 0x7]
- lsrs r0, 2
- cmp r0, 0x5
- bls _0812E05C
- ldrb r0, [r1, 0x6]
- bl RemoveScrollIndicatorArrowPair
-_0812E05C:
- pop {r0}
- bx r0
- .align 2, 0
-_0812E060: .4byte gUnknown_203B0FC
- thumb_func_end sub_812E048
-
- thumb_func_start sub_812E064
-sub_812E064: @ 812E064
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0812E090 @ =gUnknown_203B0FC
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- mov r4, sp
- adds r4, 0x2
- mov r1, sp
- adds r2, r4, 0
- bl get_coro_args_x18_x1A
- mov r1, sp
- ldrh r0, [r4]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0812E090: .4byte gUnknown_203B0FC
- thumb_func_end sub_812E064
-
- thumb_func_start sub_812E094
-sub_812E094: @ 812E094
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r6, _0812E0EC @ =gUnknown_203B0FC
- ldr r0, [r6]
- adds r0, 0x23
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- cmp r0, r4
- beq _0812E108
- ldr r5, _0812E0F0 @ =sub_812E110
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _0812E0C8
- adds r0, r5, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
-_0812E0C8:
- ldr r0, _0812E0F4 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x4
- strh r0, [r1, 0xA]
- cmp r4, 0x1
- bne _0812E0F8
- strh r4, [r1, 0xC]
- ldr r0, [r6]
- adds r0, 0x23
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- b _0812E106
- .align 2, 0
-_0812E0EC: .4byte gUnknown_203B0FC
-_0812E0F0: .4byte sub_812E110
-_0812E0F4: .4byte gTasks
-_0812E0F8:
- strh r0, [r1, 0xC]
- ldr r0, [r6]
- adds r0, 0x23
- ldrb r2, [r0]
- movs r1, 0x2
- negs r1, r1
- ands r1, r2
-_0812E106:
- strb r1, [r0]
-_0812E108:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_812E094
-
- thumb_func_start sub_812E110
-sub_812E110: @ 812E110
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0812E130 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0812E134
- cmp r0, 0x1
- beq _0812E154
- b _0812E170
- .align 2, 0
-_0812E130: .4byte gTasks
-_0812E134:
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _0812E170
- movs r0, 0x1
- movs r1, 0
- bl sub_812E178
- movs r0, 0x4
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0812E170
-_0812E154:
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _0812E170
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- bl sub_812E178
- adds r0, r5, 0
- bl DestroyTask
-_0812E170:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_812E110
-
- thumb_func_start sub_812E178
-sub_812E178: @ 812E178
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- asrs r5, r1, 16
- cmp r5, 0
- beq _0812E18C
- cmp r5, 0x3
- bne _0812E252
-_0812E18C:
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x8C
- movs r2, 0xE
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- movs r5, 0xA
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0xA1
- movs r2, 0xF
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x8D
- movs r2, 0x19
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x8E
- movs r2, 0x1A
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x8F
- movs r2, 0xE
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- movs r0, 0xB
- str r0, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0xF
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x90
- movs r2, 0x1A
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x91
- movs r2, 0xE
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0xA3
- movs r2, 0xF
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x92
- movs r2, 0x19
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x93
- b _0812E470
-_0812E252:
- cmp r5, 0x1
- bne _0812E2F4
- str r5, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x9B
- movs r2, 0xE
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- movs r4, 0xB
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x9C
- movs r2, 0xF
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x96
- movs r2, 0x1A
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x9D
- movs r2, 0xE
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0xF
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x90
- movs r2, 0x1A
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x9E
- movs r2, 0xE
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x9F
- movs r2, 0xF
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x99
- b _0812E470
-_0812E2F4:
- cmp r5, 0x2
- bne _0812E398
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x94
- movs r2, 0xE
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- movs r5, 0xB
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x95
- movs r2, 0xF
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x96
- movs r2, 0x1A
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x8F
- movs r2, 0xE
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x9A
- movs r2, 0xF
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x90
- movs r2, 0x1A
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x97
- movs r2, 0xE
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x98
- movs r2, 0xF
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x99
- b _0812E470
-_0812E398:
- cmp r5, 0x4
- bne _0812E47A
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x83
- movs r2, 0xE
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- movs r5, 0xA
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0xA0
- movs r2, 0xF
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x84
- movs r2, 0x19
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x85
- movs r2, 0x1A
- movs r3, 0xA
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x86
- movs r2, 0xE
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0xA2
- movs r2, 0xF
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x87
- movs r2, 0x19
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x88
- movs r2, 0x1A
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x83
- movs r2, 0xE
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0xA0
- movs r2, 0xF
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x84
- movs r2, 0x19
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x85
-_0812E470:
- movs r2, 0x1A
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- b _0812E496
-_0812E47A:
- cmp r5, 0x5
- bne _0812E496
- movs r0, 0xD
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0xA
- bl FillBgTilemapBufferRect
-_0812E496:
- adds r0, r6, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_812E178
-
- thumb_func_start sub_812E4A4
-sub_812E4A4: @ 812E4A4
- push {r4,lr}
- sub sp, 0x14
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0812E4E0 @ =gUnknown_203B0FC
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl ListMenuGetYCoordForPrintingArrowCursor
- lsls r0, 16
- lsrs r0, 16
- cmp r4, 0x1
- bne _0812E4EC
- lsls r3, r0, 24
- lsrs r3, 24
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r0, _0812E4E4 @ =gUnknown_845F5E3
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, _0812E4E8 @ =gUnknown_841623B
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl AddTextPrinterParametrized2
- b _0812E50A
- .align 2, 0
-_0812E4E0: .4byte gUnknown_203B0FC
-_0812E4E4: .4byte gUnknown_845F5E3
-_0812E4E8: .4byte gUnknown_841623B
-_0812E4EC:
- lsls r3, r0, 24
- lsrs r3, 24
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r0, _0812E514 @ =gUnknown_845F5E0
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, _0812E518 @ =gUnknown_841623B
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl AddTextPrinterParametrized2
-_0812E50A:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812E514: .4byte gUnknown_845F5E0
-_0812E518: .4byte gUnknown_841623B
- thumb_func_end sub_812E4A4
-
- .align 2, 0 @ Don't pad with nop.