summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/easy_chat.s5199
-rw-r--r--asm/pokenav.s1204
2 files changed, 284 insertions, 6119 deletions
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 271d1bce1..10536929e 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -5,5205 +5,6 @@
.text
- thumb_func_start sub_811BFA4
-sub_811BFA4: @ 811BFA4
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x5
- bls _0811BFB4
- b _0811C120
-_0811BFB4:
- lsls r0, 2
- ldr r1, =_0811BFC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811BFC8:
- .4byte _0811BFE0
- .4byte _0811C044
- .4byte _0811C090
- .4byte _0811C0AC
- .4byte _0811C0BE
- .4byte _0811C0D4
-_0811BFE0:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_08597C54
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203A11C
- ldr r1, [r4]
- movs r0, 0xB0
- lsls r0, 4
- adds r1, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_08597C64
- bl InitWindows
- bl DeactivateAllTextPrinters
- bl sub_811CF64
- bl sub_811CF04
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, =0x01000100
- add r0, sp, 0x4
- bl CpuFastSet
- b _0811C124
- .pool
-_0811C044:
- ldr r1, =gEasyChatWindow_Gfx
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r1, =gEasyChatWindow_Tilemap
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- bl sub_811D60C
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r1
- bl sub_811D424
- bl sub_811D230
- bl sub_811E948
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0811C124
- .pool
-_0811C090:
- ldr r1, =gUnknown_08597B54
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _0811C124
- .pool
-_0811C0AC:
- bl sub_811CFCC
- bl sub_811D0BC
- bl sub_811D2C8
- bl sub_811D684
- b _0811C124
-_0811C0BE:
- bl sub_811DE90
- bl sub_811BA5C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _0811C124
- bl sub_811DEC4
- b _0811C124
-_0811C0D4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C12E
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_811DE5C
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x3B
- bl SetGpuReg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0
- bl ShowBg
- bl sub_811E5D4
- bl sub_811E720
- bl sub_811E828
- b _0811C124
-_0811C120:
- movs r0, 0
- b _0811C130
-_0811C124:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C12E:
- movs r0, 0x1
-_0811C130:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811BFA4
-
- thumb_func_start sub_811C13C
-sub_811C13C: @ 811C13C
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- cmp r0, 0
- beq _0811C14E
- bl Free
- movs r0, 0
- str r0, [r4]
-_0811C14E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811C13C
-
- thumb_func_start sub_811C158
-sub_811C158: @ 811C158
- push {lr}
- ldr r1, =gUnknown_0203A11C
- ldr r1, [r1]
- movs r2, 0
- strh r0, [r1, 0x4]
- strh r2, [r1]
- bl sub_811C170
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811C158
-
- thumb_func_start sub_811C170
-sub_811C170: @ 811C170
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- cmp r0, 0x22
- bls _0811C17E
- b _0811C2CE
-_0811C17E:
- lsls r0, 2
- ldr r1, =_0811C190
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811C190:
- .4byte _0811C2CE
- .4byte _0811C21C
- .4byte _0811C222
- .4byte _0811C228
- .4byte _0811C22E
- .4byte _0811C234
- .4byte _0811C23A
- .4byte _0811C240
- .4byte _0811C246
- .4byte _0811C24C
- .4byte _0811C252
- .4byte _0811C258
- .4byte _0811C25E
- .4byte _0811C264
- .4byte _0811C26A
- .4byte _0811C270
- .4byte _0811C276
- .4byte _0811C27C
- .4byte _0811C282
- .4byte _0811C288
- .4byte _0811C28E
- .4byte _0811C294
- .4byte _0811C29A
- .4byte _0811C2A0
- .4byte _0811C2CE
- .4byte _0811C2CE
- .4byte _0811C2CE
- .4byte _0811C2CE
- .4byte _0811C2CE
- .4byte _0811C2A6
- .4byte _0811C2AC
- .4byte _0811C2B2
- .4byte _0811C2B8
- .4byte _0811C2BE
- .4byte _0811C2C4
-_0811C21C:
- bl sub_811C2D4
- b _0811C2C8
-_0811C222:
- bl sub_811C30C
- b _0811C2C8
-_0811C228:
- bl sub_811C3E4
- b _0811C2C8
-_0811C22E:
- bl sub_811C48C
- b _0811C2C8
-_0811C234:
- bl sub_811C404
- b _0811C2C8
-_0811C23A:
- bl sub_811C448
- b _0811C2C8
-_0811C240:
- bl sub_811C4D0
- b _0811C2C8
-_0811C246:
- bl sub_811C518
- b _0811C2C8
-_0811C24C:
- bl sub_811C554
- b _0811C2C8
-_0811C252:
- bl sub_811C620
- b _0811C2C8
-_0811C258:
- bl sub_811C830
- b _0811C2C8
-_0811C25E:
- bl sub_811C8F0
- b _0811C2C8
-_0811C264:
- bl sub_811C99C
- b _0811C2C8
-_0811C26A:
- bl sub_811CA5C
- b _0811C2C8
-_0811C270:
- bl sub_811C780
- b _0811C2C8
-_0811C276:
- bl sub_811C78C
- b _0811C2C8
-_0811C27C:
- bl sub_811C7D4
- b _0811C2C8
-_0811C282:
- bl sub_811CB18
- b _0811C2C8
-_0811C288:
- bl sub_811CB98
- b _0811C2C8
-_0811C28E:
- bl sub_811CB24
- b _0811C2C8
-_0811C294:
- bl sub_811CC90
- b _0811C2C8
-_0811C29A:
- bl sub_811CC08
- b _0811C2C8
-_0811C2A0:
- bl sub_811C6C0
- b _0811C2C8
-_0811C2A6:
- bl sub_811CD14
- b _0811C2C8
-_0811C2AC:
- bl sub_811CD54
- b _0811C2C8
-_0811C2B2:
- bl sub_811CD94
- b _0811C2C8
-_0811C2B8:
- bl sub_811CDD4
- b _0811C2C8
-_0811C2BE:
- bl sub_811CE14
- b _0811C2C8
-_0811C2C4:
- bl sub_811CE54
-_0811C2C8:
- lsls r0, 24
- lsrs r0, 24
- b _0811C2D0
-_0811C2CE:
- movs r0, 0
-_0811C2D0:
- pop {r1}
- bx r1
- thumb_func_end sub_811C170
-
- thumb_func_start sub_811C2D4
-sub_811C2D4: @ 811C2D4
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811C2EC
- cmp r0, 0x1
- beq _0811C2FA
- b _0811C304
- .pool
-_0811C2EC:
- bl sub_811D2C8
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C304
-_0811C2FA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811C306
-_0811C304:
- movs r0, 0x1
-_0811C306:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811C2D4
-
- thumb_func_start sub_811C30C
-sub_811C30C: @ 811C30C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- bl sub_811BA94
- adds r4, r0, 0
- bl sub_811BA68
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- bl sub_811BAB8
- lsls r0, 24
- lsrs r7, r0, 24
- bl sub_811BAC4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- bl sub_811BAAC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- lsls r0, 1
- adds r4, r0
- ldr r1, =gUnknown_08597C30
- mov r2, r10
- lsls r0, r2, 2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 8
- movs r1, 0xD0
- lsls r1, 12
- adds r0, r1
- lsrs r6, r0, 16
- movs r5, 0
- cmp r5, r7
- bcs _0811C3AA
- ldr r2, =0x0000ffff
- mov r8, r2
-_0811C36C:
- ldrh r0, [r4]
- cmp r0, r8
- bne _0811C380
- movs r0, 0x48
- b _0811C392
- .pool
-_0811C380:
- ldrh r1, [r4]
- mov r0, sp
- bl CopyEasyChatWord
- movs r0, 0x1
- mov r1, sp
- movs r2, 0
- bl GetStringWidth
-_0811C392:
- adds r0, 0x11
- lsls r1, r6, 16
- asrs r1, 16
- adds r1, r0
- lsls r1, 16
- lsrs r6, r1, 16
- adds r4, 0x2
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _0811C36C
-_0811C3AA:
- ldr r1, =gUnknown_08597C30
- mov r2, r10
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- lsrs r1, 5
- mov r2, r9
- lsls r0, r2, 1
- adds r1, r0
- lsls r1, 27
- lsls r0, r6, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 20
- adds r1, r2
- lsrs r1, 24
- bl sub_811DF60
- movs r0, 0
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811C30C
-
- thumb_func_start sub_811C3E4
-sub_811C3E4: @ 811C3E4
- push {lr}
- bl sub_811BAB8
- lsls r0, 24
- lsrs r0, 24
- bl sub_811E920
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x60
- bl sub_811DF60
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_811C3E4
-
- thumb_func_start sub_811C404
-sub_811C404: @ 811C404
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811C41C
- cmp r0, 0x1
- beq _0811C436
- b _0811C440
- .pool
-_0811C41C:
- bl sub_811DF90
- movs r0, 0x2
- bl sub_811D104
- movs r0, 0x1
- bl sub_811D214
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C440
-_0811C436:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811C442
-_0811C440:
- movs r0, 0x1
-_0811C442:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811C404
-
- thumb_func_start sub_811C448
-sub_811C448: @ 811C448
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811C460
- cmp r0, 0x1
- beq _0811C47A
- b _0811C484
- .pool
-_0811C460:
- bl sub_811DF90
- movs r0, 0x3
- bl sub_811D104
- movs r0, 0
- bl sub_811D214
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C484
-_0811C47A:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811C486
-_0811C484:
- movs r0, 0x1
-_0811C486:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811C448
-
- thumb_func_start sub_811C48C
-sub_811C48C: @ 811C48C
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811C4A4
- cmp r0, 0x1
- beq _0811C4BE
- b _0811C4C8
- .pool
-_0811C4A4:
- bl sub_811DF90
- movs r0, 0x1
- bl sub_811D104
- movs r0, 0x1
- bl sub_811D214
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C4C8
-_0811C4BE:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811C4CA
-_0811C4C8:
- movs r0, 0x1
-_0811C4CA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811C48C
-
- thumb_func_start sub_811C4D0
-sub_811C4D0: @ 811C4D0
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811C4E8
- cmp r0, 0x1
- beq _0811C506
- b _0811C510
- .pool
-_0811C4E8:
- bl sub_811DFB0
- movs r0, 0
- bl sub_811D104
- bl sub_811D2C8
- movs r0, 0
- bl ShowBg
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C510
-_0811C506:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811C512
-_0811C510:
- movs r0, 0x1
-_0811C512:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811C4D0
-
- thumb_func_start sub_811C518
-sub_811C518: @ 811C518
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811C530
- cmp r0, 0x1
- beq _0811C546
- movs r0, 0x1
- b _0811C54E
- .pool
-_0811C530:
- bl sub_811DFB0
- movs r0, 0
- bl sub_811D104
- bl sub_811D2C8
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C546:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
-_0811C54E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811C518
-
- thumb_func_start sub_811C554
-sub_811C554: @ 811C554
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _0811C60E
- lsls r0, 2
- ldr r1, =_0811C574
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811C574:
- .4byte _0811C588
- .4byte _0811C5A4
- .4byte _0811C5B6
- .4byte _0811C5CC
- .4byte _0811C5EC
-_0811C588:
- bl sub_811DF90
- movs r0, 0
- bl HideBg
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_811DE5C
- bl sub_811D6D4
- b _0811C5DA
-_0811C5A4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C618
- movs r0, 0
- bl sub_811D9CC
- b _0811C5DA
-_0811C5B6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C618
- bl sub_811DAA4
- lsls r0, 24
- cmp r0, 0
- bne _0811C618
- b _0811C5DA
-_0811C5CC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C618
- bl sub_811E3AC
-_0811C5DA:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C618
- .pool
-_0811C5EC:
- bl sub_811E418
- lsls r0, 24
- cmp r0, 0
- bne _0811C618
- bl sub_811DFC8
- movs r0, 0
- bl sub_811E6E0
- bl sub_811E64C
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C60E:
- movs r0, 0
- b _0811C61A
- .pool
-_0811C618:
- movs r0, 0x1
-_0811C61A:
- pop {r1}
- bx r1
- thumb_func_end sub_811C554
-
- thumb_func_start sub_811C620
-sub_811C620: @ 811C620
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _0811C6B8
- lsls r0, 2
- ldr r1, =_0811C640
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811C640:
- .4byte _0811C654
- .4byte _0811C662
- .4byte _0811C67E
- .4byte _0811C690
- .4byte _0811C6B4
-_0811C654:
- bl sub_811E050
- bl sub_811E4AC
- bl sub_811E6B0
- b _0811C6A4
-_0811C662:
- bl sub_811E4D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811C6B8
- movs r0, 0x1
- bl sub_811D9CC
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C67E:
- bl sub_811DAA4
- lsls r0, 24
- cmp r0, 0
- bne _0811C6B8
- b _0811C6A4
- .pool
-_0811C690:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C6B8
- bl sub_811DFB0
- movs r0, 0
- bl ShowBg
-_0811C6A4:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C6B8
- .pool
-_0811C6B4:
- movs r0, 0
- b _0811C6BA
-_0811C6B8:
- movs r0, 0x1
-_0811C6BA:
- pop {r1}
- bx r1
- thumb_func_end sub_811C620
-
- thumb_func_start sub_811C6C0
-sub_811C6C0: @ 811C6C0
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _0811C778
- lsls r0, 2
- ldr r1, =_0811C6E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811C6E0:
- .4byte _0811C6F4
- .4byte _0811C708
- .4byte _0811C722
- .4byte _0811C748
- .4byte _0811C76E
-_0811C6F4:
- bl sub_811E050
- bl sub_811E6B0
- bl sub_811E55C
- movs r0, 0x5
- bl sub_811D9CC
- b _0811C736
-_0811C708:
- bl sub_811DAA4
- lsls r0, 24
- cmp r0, 0
- bne _0811C778
- bl sub_811E5B8
- lsls r0, 24
- cmp r0, 0
- bne _0811C778
- bl sub_811D6D4
- b _0811C736
-_0811C722:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C778
- movs r0, 0x6
- bl sub_811D9CC
- bl sub_811E578
-_0811C736:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C778
- .pool
-_0811C748:
- bl sub_811DAA4
- lsls r0, 24
- cmp r0, 0
- bne _0811C778
- bl sub_811E5B8
- lsls r0, 24
- cmp r0, 0
- bne _0811C778
- bl sub_811E64C
- bl sub_811DFC8
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C76E:
- movs r0, 0
- b _0811C77A
- .pool
-_0811C778:
- movs r0, 0x1
-_0811C77A:
- pop {r1}
- bx r1
- thumb_func_end sub_811C6C0
-
- thumb_func_start sub_811C780
-sub_811C780: @ 811C780
- push {lr}
- bl sub_811E088
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_811C780
-
- thumb_func_start sub_811C78C
-sub_811C78C: @ 811C78C
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811C7A4
- cmp r0, 0x1
- beq _0811C7B4
- b _0811C7CA
- .pool
-_0811C7A4:
- movs r0, 0x1
- movs r1, 0x4
- bl sub_811DDAC
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C7B4:
- bl sub_811DE10
- lsls r0, 24
- cmp r0, 0
- bne _0811C7CA
- bl sub_811E088
- bl sub_811E64C
- movs r0, 0
- b _0811C7CC
-_0811C7CA:
- movs r0, 0x1
-_0811C7CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811C78C
-
- thumb_func_start sub_811C7D4
-sub_811C7D4: @ 811C7D4
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _0811C808
- cmp r0, 0x1
- bgt _0811C7F0
- cmp r0, 0
- beq _0811C7F6
- b _0811C828
- .pool
-_0811C7F0:
- cmp r0, 0x2
- beq _0811C820
- b _0811C828
-_0811C7F6:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x4
- bl sub_811DDAC
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C808:
- bl sub_811DE10
- lsls r0, 24
- cmp r0, 0
- bne _0811C828
- bl sub_811E64C
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C820:
- movs r0, 0
- b _0811C82A
- .pool
-_0811C828:
- movs r0, 0x1
-_0811C82A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811C7D4
-
- thumb_func_start sub_811C830
-sub_811C830: @ 811C830
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x5
- bhi _0811C8E8
- lsls r0, 2
- ldr r1, =_0811C850
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811C850:
- .4byte _0811C868
- .4byte _0811C876
- .4byte _0811C886
- .4byte _0811C898
- .4byte _0811C8B8
- .4byte _0811C8DE
-_0811C868:
- bl sub_811E050
- bl sub_811E4AC
- bl sub_811E6B0
- b _0811C8A8
-_0811C876:
- bl sub_811E4D0
- lsls r0, 24
- cmp r0, 0
- bne _0811C8E8
- bl sub_811D9B4
- b _0811C8A8
-_0811C886:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C8E8
- movs r0, 0x2
- bl sub_811D9CC
- b _0811C8A8
-_0811C898:
- bl sub_811DAA4
- lsls r0, 24
- cmp r0, 0
- bne _0811C8E8
- movs r0, 0x2
- bl sub_811D698
-_0811C8A8:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C8E8
- .pool
-_0811C8B8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C8E8
- bl sub_811E288
- movs r0, 0x1
- bl sub_811E6E0
- bl sub_811E64C
- bl sub_811E794
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C8DE:
- movs r0, 0
- b _0811C8EA
- .pool
-_0811C8E8:
- movs r0, 0x1
-_0811C8EA:
- pop {r1}
- bx r1
- thumb_func_end sub_811C830
-
- thumb_func_start sub_811C8F0
-sub_811C8F0: @ 811C8F0
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x5
- bhi _0811C994
- lsls r0, 2
- ldr r1, =_0811C910
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811C910:
- .4byte _0811C928
- .4byte _0811C92E
- .4byte _0811C940
- .4byte _0811C952
- .4byte _0811C974
- .4byte _0811C98C
-_0811C928:
- bl sub_811D2C8
- b _0811C962
-_0811C92E:
- bl sub_811E380
- bl sub_811E6B0
- bl sub_811E7F8
- bl sub_811D9B4
- b _0811C962
-_0811C940:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C994
- movs r0, 0x3
- bl sub_811D9CC
- b _0811C962
-_0811C952:
- bl sub_811DAA4
- lsls r0, 24
- cmp r0, 0
- bne _0811C994
- movs r0, 0
- bl ShowBg
-_0811C962:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811C994
- .pool
-_0811C974:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811C994
- bl sub_811DFB0
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811C98C:
- movs r0, 0
- b _0811C996
- .pool
-_0811C994:
- movs r0, 0x1
-_0811C996:
- pop {r1}
- bx r1
- thumb_func_end sub_811C8F0
-
- thumb_func_start sub_811C99C
-sub_811C99C: @ 811C99C
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x6
- bhi _0811CA54
- lsls r0, 2
- ldr r1, =_0811C9BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811C9BC:
- .4byte _0811C9D8
- .4byte _0811C9DE
- .4byte _0811C9F0
- .4byte _0811CA02
- .4byte _0811CA14
- .4byte _0811CA34
- .4byte _0811CA4C
-_0811C9D8:
- bl sub_811D2C8
- b _0811CA24
-_0811C9DE:
- bl sub_811E380
- bl sub_811E6B0
- bl sub_811E7F8
- bl sub_811D9B4
- b _0811CA24
-_0811C9F0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811CA54
- movs r0, 0x3
- bl sub_811D9CC
- b _0811CA24
-_0811CA02:
- bl sub_811DAA4
- lsls r0, 24
- cmp r0, 0
- bne _0811CA54
- movs r0, 0x3
- bl sub_811D104
- b _0811CA24
-_0811CA14:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811CA54
- movs r0, 0
- bl ShowBg
-_0811CA24:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CA54
- .pool
-_0811CA34:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811CA54
- bl sub_811DFB0
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811CA4C:
- movs r0, 0
- b _0811CA56
- .pool
-_0811CA54:
- movs r0, 0x1
-_0811CA56:
- pop {r1}
- bx r1
- thumb_func_end sub_811C99C
-
- thumb_func_start sub_811CA5C
-sub_811CA5C: @ 811CA5C
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _0811CB10
- lsls r0, 2
- ldr r1, =_0811CA7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811CA7C:
- .4byte _0811CA90
- .4byte _0811CAA2
- .4byte _0811CAB4
- .4byte _0811CAC4
- .4byte _0811CAE4
-_0811CA90:
- bl sub_811E380
- bl sub_811E6B0
- bl sub_811E7F8
- bl sub_811D9B4
- b _0811CAD2
-_0811CAA2:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811CB10
- movs r0, 0x4
- bl sub_811D9CC
- b _0811CAD2
-_0811CAB4:
- bl sub_811DAA4
- lsls r0, 24
- cmp r0, 0
- bne _0811CB10
- bl sub_811D6D4
- b _0811CAD2
-_0811CAC4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811CB10
- bl sub_811E3AC
-_0811CAD2:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CB10
- .pool
-_0811CAE4:
- bl sub_811E418
- lsls r0, 24
- cmp r0, 0
- bne _0811CB10
- bl sub_811DFC8
- movs r0, 0
- bl sub_811E6E0
- bl sub_811E64C
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _0811CB12
- .pool
-_0811CB10:
- movs r0, 0x1
-_0811CB12:
- pop {r1}
- bx r1
- thumb_func_end sub_811CA5C
-
- thumb_func_start sub_811CB18
-sub_811CB18: @ 811CB18
- push {lr}
- bl sub_811E30C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_811CB18
-
- thumb_func_start sub_811CB24
-sub_811CB24: @ 811CB24
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _0811CB50
- cmp r0, 0x1
- bgt _0811CB40
- cmp r0, 0
- beq _0811CB4A
- b _0811CB8E
- .pool
-_0811CB40:
- cmp r0, 0x2
- beq _0811CB6C
- cmp r0, 0x3
- beq _0811CB8A
- b _0811CB8E
-_0811CB4A:
- bl sub_811D7A4
- b _0811CB62
-_0811CB50:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811CB8E
- movs r0, 0x1
- movs r1, 0x4
- bl sub_811DDAC
-_0811CB62:
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CB8E
-_0811CB6C:
- bl sub_811DE10
- lsls r0, 24
- cmp r0, 0
- bne _0811CB8E
- bl sub_811E30C
- bl sub_811E64C
- bl sub_811E794
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811CB8A:
- movs r0, 0
- b _0811CB90
-_0811CB8E:
- movs r0, 0x1
-_0811CB90:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811CB24
-
- thumb_func_start sub_811CB98
-sub_811CB98: @ 811CB98
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _0811CBC4
- cmp r0, 0x1
- bgt _0811CBB4
- cmp r0, 0
- beq _0811CBBE
- b _0811CC00
- .pool
-_0811CBB4:
- cmp r0, 0x2
- beq _0811CBE2
- cmp r0, 0x3
- beq _0811CBFC
- b _0811CC00
-_0811CBBE:
- bl sub_811D7C8
- b _0811CBD8
-_0811CBC4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811CC00
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x4
- bl sub_811DDAC
-_0811CBD8:
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CC00
-_0811CBE2:
- bl sub_811DE10
- lsls r0, 24
- cmp r0, 0
- bne _0811CC00
- bl sub_811E64C
- bl sub_811E794
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811CBFC:
- movs r0, 0
- b _0811CC02
-_0811CC00:
- movs r0, 0x1
-_0811CC02:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811CB98
-
- thumb_func_start sub_811CC08
-sub_811CC08: @ 811CC08
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203A11C
- ldr r0, [r5]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _0811CC34
- cmp r0, 0x1
- bgt _0811CC24
- cmp r0, 0
- beq _0811CC2E
- b _0811CC86
- .pool
-_0811CC24:
- cmp r0, 0x2
- beq _0811CC64
- cmp r0, 0x3
- beq _0811CC82
- b _0811CC86
-_0811CC2E:
- bl sub_811D7EC
- b _0811CC5A
-_0811CC34:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811CC86
- bl sub_811BBDC
- adds r4, r0, 0
- bl sub_811DE48
- lsls r4, 24
- lsrs r4, 24
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_811DDAC
-_0811CC5A:
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CC86
-_0811CC64:
- bl sub_811DE10
- lsls r0, 24
- cmp r0, 0
- bne _0811CC86
- bl sub_811E30C
- bl sub_811E64C
- bl sub_811E794
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811CC82:
- movs r0, 0
- b _0811CC88
-_0811CC86:
- movs r0, 0x1
-_0811CC88:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811CC08
-
- thumb_func_start sub_811CC90
-sub_811CC90: @ 811CC90
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203A11C
- ldr r0, [r5]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _0811CCBC
- cmp r0, 0x1
- bgt _0811CCAC
- cmp r0, 0
- beq _0811CCB6
- b _0811CD0A
- .pool
-_0811CCAC:
- cmp r0, 0x2
- beq _0811CCEC
- cmp r0, 0x3
- beq _0811CD06
- b _0811CD0A
-_0811CCB6:
- bl sub_811D830
- b _0811CCE2
-_0811CCBC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811CD0A
- bl sub_811BBDC
- adds r4, r0, 0
- bl sub_811DE48
- lsls r4, 24
- lsrs r4, 24
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_811DDAC
-_0811CCE2:
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CD0A
-_0811CCEC:
- bl sub_811DE10
- lsls r0, 24
- cmp r0, 0
- bne _0811CD0A
- bl sub_811E64C
- bl sub_811E794
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0811CD06:
- movs r0, 0
- b _0811CD0C
-_0811CD0A:
- movs r0, 0x1
-_0811CD0C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811CC90
-
- thumb_func_start sub_811CD14
-sub_811CD14: @ 811CD14
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811CD2C
- cmp r0, 0x1
- beq _0811CD40
- b _0811CD4A
- .pool
-_0811CD2C:
- bl sub_811DF90
- movs r0, 0x4
- bl sub_811D104
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CD4A
-_0811CD40:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811CD4C
-_0811CD4A:
- movs r0, 0x1
-_0811CD4C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811CD14
-
- thumb_func_start sub_811CD54
-sub_811CD54: @ 811CD54
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811CD6C
- cmp r0, 0x1
- beq _0811CD80
- b _0811CD8A
- .pool
-_0811CD6C:
- bl sub_811DF90
- movs r0, 0x5
- bl sub_811D104
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CD8A
-_0811CD80:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811CD8C
-_0811CD8A:
- movs r0, 0x1
-_0811CD8C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811CD54
-
- thumb_func_start sub_811CD94
-sub_811CD94: @ 811CD94
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811CDAC
- cmp r0, 0x1
- beq _0811CDC0
- b _0811CDCA
- .pool
-_0811CDAC:
- bl sub_811DF90
- movs r0, 0x6
- bl sub_811D104
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CDCA
-_0811CDC0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811CDCC
-_0811CDCA:
- movs r0, 0x1
-_0811CDCC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811CD94
-
- thumb_func_start sub_811CDD4
-sub_811CDD4: @ 811CDD4
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811CDEC
- cmp r0, 0x1
- beq _0811CE00
- b _0811CE0A
- .pool
-_0811CDEC:
- bl sub_811DF90
- movs r0, 0x7
- bl sub_811D104
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CE0A
-_0811CE00:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811CE0C
-_0811CE0A:
- movs r0, 0x1
-_0811CE0C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811CDD4
-
- thumb_func_start sub_811CE14
-sub_811CE14: @ 811CE14
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811CE2C
- cmp r0, 0x1
- beq _0811CE40
- b _0811CE4A
- .pool
-_0811CE2C:
- bl sub_811DF90
- movs r0, 0x8
- bl sub_811D104
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CE4A
-_0811CE40:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811CE4C
-_0811CE4A:
- movs r0, 0x1
-_0811CE4C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811CE14
-
- thumb_func_start sub_811CE54
-sub_811CE54: @ 811CE54
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0811CE6C
- cmp r0, 0x1
- beq _0811CE80
- b _0811CE8A
- .pool
-_0811CE6C:
- bl sub_811DF90
- movs r0, 0x9
- bl sub_811D104
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811CE8A
-_0811CE80:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0811CE8C
-_0811CE8A:
- movs r0, 0x1
-_0811CE8C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811CE54
-
- thumb_func_start sub_811CE94
-sub_811CE94: @ 811CE94
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- movs r0, 0x98
- lsls r0, 5
- bl Alloc
- adds r2, r0, 0
- str r2, [r4]
- cmp r2, 0
- beq _0811CEFC
- movs r1, 0
- strh r1, [r2]
- movs r3, 0xB6
- lsls r3, 2
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- bl sub_811BC70
- ldr r1, [r4]
- strb r0, [r1, 0xA]
- movs r0, 0x1
- b _0811CEFE
- .pool
-_0811CEFC:
- movs r0, 0
-_0811CEFE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811CE94
-
- thumb_func_start sub_811CF04
-sub_811CF04: @ 811CF04
- push {lr}
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- 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, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_811CF04
-
- thumb_func_start sub_811CF64
-sub_811CF64: @ 811CF64
- push {r4,lr}
- bl ResetPaletteFade
- ldr r0, =gEasyChatMode_Pal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08597B14
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08597B34
- movs r1, 0x40
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08597C1C
- movs r1, 0xA0
- movs r2, 0x8
- bl LoadPalette
- ldr r4, =gUnknown_08597C24
- adds r0, r4, 0
- movs r1, 0xB0
- movs r2, 0xC
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xC
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0xC
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811CF64
-
- thumb_func_start sub_811CFCC
-sub_811CFCC: @ 811CFCC
- push {r4,r5,lr}
- sub sp, 0x14
- bl sub_811BA88
- adds r5, r0, 0
- cmp r5, 0
- beq _0811D020
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x90
- bl GetStringCenterAlignXOffset
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x3
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_811D058
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_0811D020:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811CFCC
-
- thumb_func_start sub_811D028
-sub_811D028: @ 811D028
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- ldr r6, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- bl AddTextPrinterParameterized
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_811D028
-
- thumb_func_start sub_811D058
-sub_811D058: @ 811D058
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r9, r3
- ldr r3, [sp, 0x30]
- ldr r4, [sp, 0x34]
- mov r8, r4
- ldr r7, [sp, 0x38]
- mov r10, r7
- ldr r5, [sp, 0x3C]
- ldr r6, [sp, 0x40]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r4, r9
- lsls r4, 24
- lsrs r4, 24
- mov r9, r4
- lsls r3, 24
- lsrs r3, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- add r4, sp, 0xC
- mov r7, r10
- strb r7, [r4]
- strb r5, [r4, 0x1]
- strb r6, [r4, 0x2]
- str r4, [sp]
- mov r4, r8
- lsls r4, 24
- asrs r4, 24
- str r4, [sp, 0x4]
- str r2, [sp, 0x8]
- mov r2, r9
- bl AddTextPrinterParameterized3
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811D058
-
- thumb_func_start sub_811D0BC
-sub_811D0BC: @ 811D0BC
- push {lr}
- sub sp, 0xC
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl sub_811D104
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_811D0BC
-
- thumb_func_start sub_811D104
-sub_811D104: @ 811D104
- push {lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0
- str r0, [sp, 0x10]
- str r0, [sp, 0xC]
- cmp r1, 0x9
- bhi _0811D1BC
- lsls r0, r1, 2
- ldr r1, =_0811D124
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811D124:
- .4byte _0811D14C
- .4byte _0811D16A
- .4byte _0811D156
- .4byte _0811D160
- .4byte _0811D174
- .4byte _0811D180
- .4byte _0811D18C
- .4byte _0811D19C
- .4byte _0811D1A8
- .4byte _0811D1B4
-_0811D14C:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_811BAD0
- b _0811D1BC
-_0811D156:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_811BB40
- b _0811D1BC
-_0811D160:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_811BB08
- b _0811D1BC
-_0811D16A:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_811BB88
- b _0811D1BC
-_0811D174:
- ldr r0, =gText_CreateAQuiz
- str r0, [sp, 0xC]
- b _0811D1BC
- .pool
-_0811D180:
- ldr r0, =gText_SelectTheAnswer
- str r0, [sp, 0xC]
- b _0811D1BC
- .pool
-_0811D18C:
- ldr r0, =gText_OnlyOnePhrase
- str r0, [sp, 0xC]
- ldr r0, =gText_OriginalSongWillBeUsed
- b _0811D1BA
- .pool
-_0811D19C:
- ldr r0, =gText_LyricsCantBeDeleted
- str r0, [sp, 0xC]
- b _0811D1BC
- .pool
-_0811D1A8:
- ldr r0, =gText_CombineTwoWordsOrPhrases3
- str r0, [sp, 0xC]
- b _0811D1BC
- .pool
-_0811D1B4:
- ldr r0, =gText_YouCannotQuitHere
- str r0, [sp, 0xC]
- ldr r0, =gText_SectionMustBeCompleted
-_0811D1BA:
- str r0, [sp, 0x10]
-_0811D1BC:
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, [sp, 0xC]
- cmp r2, 0
- beq _0811D1E0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl sub_811D028
-_0811D1E0:
- ldr r2, [sp, 0x10]
- cmp r2, 0
- beq _0811D1FC
- movs r0, 0x11
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl sub_811D028
-_0811D1FC:
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x14
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811D104
-
- thumb_func_start sub_811D214
-sub_811D214: @ 811D214
- push {lr}
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gUnknown_08597C84
- movs r1, 0x1
- movs r2, 0xE
- bl CreateYesNoMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811D214
-
- thumb_func_start sub_811D230
-sub_811D230: @ 811D230
- push {r4-r6,lr}
- sub sp, 0x8
- bl sub_811BA68
- lsls r0, 24
- ldr r6, =0xffffff00
- ldr r4, [sp]
- ands r4, r6
- movs r1, 0x3
- orrs r4, r1
- str r4, [sp]
- ldr r1, =gUnknown_08597C30
- lsrs r0, 22
- adds r0, r1
- ldrb r3, [r0]
- lsls r1, r3, 27
- lsrs r1, 19
- ldr r5, =0xffff00ff
- adds r2, r5, 0
- ands r2, r4
- orrs r2, r1
- lsrs r3, 5
- lsls r3, 16
- ldr r1, =0xff00ffff
- ands r2, r1
- orrs r2, r3
- str r2, [sp]
- ldrb r3, [r0, 0x1]
- lsls r3, 24
- ldr r1, =0x00ffffff
- ands r1, r2
- orrs r1, r3
- str r1, [sp]
- ldrb r1, [r0, 0x2]
- ldr r0, [sp, 0x4]
- ands r0, r6
- orrs r0, r1
- ands r0, r5
- movs r1, 0xB0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xD8
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- ldr r1, =gUnknown_0203A11C
- ldr r1, [r1]
- strh r0, [r1, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811D230
-
- thumb_func_start sub_811D2C8
-sub_811D2C8: @ 811D2C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- bl sub_811BA94
- adds r4, r0, 0
- bl sub_811BAAC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- bl sub_811BAA0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- bl sub_811BA68
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- mov r8, r0
- cmp r6, 0x7
- bne _0811D302
- movs r1, 0x1
- mov r8, r1
-_0811D302:
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r7, 0
- ldr r0, [sp, 0x14]
- cmp r7, r0
- bge _0811D402
-_0811D316:
- add r0, sp, 0xC
- ldr r1, =gUnknown_08597C8C
- movs r2, 0x4
- bl memcpy
- mov r1, r8
- cmp r1, 0
- beq _0811D32C
- add r1, sp, 0xC
- movs r0, 0x6
- strb r0, [r1, 0x2]
-_0811D32C:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0xB
- movs r0, 0xFF
- strb r0, [r1, 0xB]
- adds r0, r2, 0
- add r1, sp, 0xC
- bl StringAppend
- adds r2, r0, 0
- movs r5, 0
- lsls r0, r7, 4
- mov r9, r0
- adds r1, r7, 0x1
- mov r10, r1
- b _0811D3CE
- .pool
-_0811D358:
- ldrh r0, [r4]
- ldr r1, =0x0000ffff
- cmp r0, r1
- beq _0811D374
- adds r1, r0, 0
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- adds r4, 0x2
- b _0811D3A2
- .pool
-_0811D374:
- adds r4, 0x2
- mov r0, r8
- cmp r0, 0
- bne _0811D3A8
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0x4
- bl WriteColorChangeControlCode
- adds r2, r0, 0
- movs r1, 0xAE
- movs r0, 0xB
-_0811D38C:
- strb r1, [r2]
- adds r2, 0x1
- subs r0, 0x1
- cmp r0, 0
- bge _0811D38C
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0x2
- bl WriteColorChangeControlCode
- adds r2, r0, 0
-_0811D3A2:
- mov r1, r8
- cmp r1, 0
- beq _0811D3AE
-_0811D3A8:
- add r1, sp, 0xC
- movs r0, 0x3
- strb r0, [r1, 0x2]
-_0811D3AE:
- adds r0, r2, 0
- add r1, sp, 0xC
- bl StringAppend
- adds r2, r0, 0
- cmp r6, 0x2
- beq _0811D3C4
- cmp r6, 0x7
- beq _0811D3C4
- cmp r6, 0x8
- bne _0811D3CC
-_0811D3C4:
- cmp r5, 0
- bne _0811D3CC
- cmp r7, 0x4
- beq _0811D3D4
-_0811D3CC:
- adds r5, 0x1
-_0811D3CE:
- ldr r0, [sp, 0x10]
- cmp r5, r0
- blt _0811D358
-_0811D3D4:
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- ldrb r0, [r2, 0x2]
- adds r2, 0xB
- mov r1, r9
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl sub_811D028
- mov r7, r10
- ldr r1, [sp, 0x14]
- cmp r7, r1
- blt _0811D316
-_0811D402:
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811D2C8
-
- thumb_func_start sub_811D424
-sub_811D424: @ 811D424
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- bl sub_811BA68
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- str r0, [sp]
- ldr r2, =0x01000200
- mov r0, sp
- mov r1, r8
- bl CpuFastSet
- cmp r6, 0x2
- beq _0811D450
- cmp r6, 0x8
- bne _0811D4D4
-_0811D450:
- ldr r0, =gUnknown_08597C30
- lsls r2, r6, 2
- adds r2, r0
- ldrb r1, [r2]
- lsls r3, r1, 27
- lsrs r0, r3, 27
- ldrb r4, [r2, 0x1]
- adds r5, r0, r4
- lsls r1, 24
- lsrs r0, r1, 29
- ldrb r2, [r2, 0x2]
- adds r2, r0
- mov r12, r2
- adds r6, r0, 0
- cmp r6, r12
- blt _0811D472
- b _0811D5D6
-_0811D472:
- mov r9, r3
-_0811D474:
- mov r0, r9
- lsrs r3, r0, 27
- subs r7, r3, 0x1
- lsls r2, r6, 5
- adds r0, r2, r7
- lsls r0, 1
- add r0, r8
- ldr r4, =0x00001005
- adds r1, r4, 0
- strh r1, [r0]
- adds r7, r3, 0
- adds r3, r2, 0
- adds r4, r6, 0x1
- cmp r7, r5
- bge _0811D4AE
- movs r0, 0x80
- lsls r0, 5
- adds r2, r0, 0
- lsls r1, r7, 1
- lsls r0, r6, 6
- add r0, r8
- adds r0, r1, r0
- subs r7, r5, r7
-_0811D4A2:
- strh r2, [r0]
- adds r0, 0x2
- subs r7, 0x1
- cmp r7, 0
- bne _0811D4A2
- adds r7, r5, 0
-_0811D4AE:
- adds r0, r3, r7
- lsls r0, 1
- add r0, r8
- ldr r2, =0x00001007
- adds r1, r2, 0
- strh r1, [r0]
- adds r6, r4, 0
- cmp r6, r12
- blt _0811D474
- b _0811D5D6
- .pool
-_0811D4D4:
- ldr r4, =gUnknown_08597C30
- mov r10, r4
- lsls r6, 2
- mov r9, r6
- mov r3, r9
- add r3, r10
- ldrb r0, [r3]
- lsls r2, r0, 24
- lsrs r1, r2, 29
- subs r6, r1, 0x1
- lsls r0, 27
- lsrs r4, r0, 27
- subs r7, r4, 0x1
- adds r0, r4, 0
- ldrb r1, [r3, 0x1]
- adds r5, r0, r1
- lsrs r2, 29
- ldrb r3, [r3, 0x2]
- adds r3, r2
- mov r12, r3
- lsls r0, r6, 5
- adds r0, r7
- lsls r0, 1
- add r0, r8
- ldr r2, =0x00001001
- adds r1, r2, 0
- strh r1, [r0]
- adds r7, r4, 0
- cmp r7, r5
- bge _0811D52A
- ldr r4, =0x00001002
- adds r2, r4, 0
- lsls r1, r7, 1
- lsls r0, r6, 6
- add r0, r8
- adds r1, r0
- subs r7, r5, r7
-_0811D51E:
- strh r2, [r1]
- adds r1, 0x2
- subs r7, 0x1
- cmp r7, 0
- bne _0811D51E
- adds r7, r5, 0
-_0811D52A:
- lsls r0, r6, 5
- adds r0, r7
- lsls r0, 1
- add r0, r8
- ldr r2, =0x00001003
- adds r1, r2, 0
- strh r1, [r0]
- adds r6, 0x1
- cmp r6, r12
- bge _0811D590
- ldr r0, =gUnknown_08597C30
- add r0, r9
- ldrb r0, [r0]
- lsls r3, r0, 27
-_0811D546:
- lsrs r0, r3, 27
- subs r7, r0, 0x1
- lsls r1, r6, 5
- adds r1, r7
- lsls r1, 1
- add r1, r8
- ldr r4, =0x00001005
- adds r2, r4, 0
- strh r2, [r1]
- adds r7, r0, 0
- adds r4, r6, 0x1
- cmp r7, r5
- bge _0811D57C
- movs r0, 0x80
- lsls r0, 5
- adds r2, r0, 0
- lsls r1, r7, 1
- lsls r0, r6, 6
- add r0, r8
- adds r1, r0
- subs r7, r5, r7
-_0811D570:
- strh r2, [r1]
- adds r1, 0x2
- subs r7, 0x1
- cmp r7, 0
- bne _0811D570
- adds r7, r5, 0
-_0811D57C:
- lsls r0, r6, 5
- adds r0, r7
- lsls r0, 1
- add r0, r8
- ldr r2, =0x00001007
- adds r1, r2, 0
- strh r1, [r0]
- adds r6, r4, 0
- cmp r6, r12
- blt _0811D546
-_0811D590:
- mov r0, r9
- add r0, r10
- ldrb r2, [r0]
- lsls r2, 27
- lsrs r2, 27
- subs r7, r2, 0x1
- lsls r3, r6, 5
- adds r0, r3, r7
- lsls r0, 1
- add r0, r8
- ldr r4, =0x00001009
- adds r1, r4, 0
- strh r1, [r0]
- adds r7, r2, 0
- cmp r7, r5
- bge _0811D5CA
- ldr r0, =0x0000100a
- adds r2, r0, 0
- lsls r1, r7, 1
- lsls r0, r6, 6
- add r0, r8
- adds r0, r1, r0
- subs r7, r5, r7
-_0811D5BE:
- strh r2, [r0]
- adds r0, 0x2
- subs r7, 0x1
- cmp r7, 0
- bne _0811D5BE
- adds r7, r5, 0
-_0811D5CA:
- adds r0, r3, r7
- lsls r0, 1
- add r0, r8
- ldr r2, =0x0000100b
- adds r1, r2, 0
- strh r1, [r0]
-_0811D5D6:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811D424
-
- thumb_func_start sub_811D60C
-sub_811D60C: @ 811D60C
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0x3
- bl GetBgTilemapBuffer
- adds r4, r0, 0
- bl sub_811BA68
- lsls r0, 24
- ldr r1, =gUnknown_08597C30
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0, 0x3]
- cmp r1, 0x2
- beq _0811D63E
- cmp r1, 0x2
- bgt _0811D638
- cmp r1, 0x1
- beq _0811D64C
- b _0811D67C
- .pool
-_0811D638:
- cmp r1, 0x3
- beq _0811D668
- b _0811D67C
-_0811D63E:
- movs r0, 0xA8
- lsls r0, 3
- adds r4, r0
- movs r0, 0x20
- str r0, [sp]
- str r1, [sp, 0x4]
- b _0811D65A
-_0811D64C:
- movs r0, 0xC0
- lsls r0, 3
- adds r4, r0
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
-_0811D65A:
- movs r0, 0x3
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0xB
- bl CopyToBgTilemapBufferRect
- b _0811D67C
-_0811D668:
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0x3
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0xA
- bl CopyToBgTilemapBufferRect
-_0811D67C:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811D60C
-
- thumb_func_start sub_811D684
-sub_811D684: @ 811D684
- push {lr}
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- pop {r0}
- bx r0
- thumb_func_end sub_811D684
-
- thumb_func_start sub_811D698
-sub_811D698: @ 811D698
- push {r4,lr}
- adds r4, r0, 0
- bl sub_811DD84
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- cmp r4, 0x1
- beq _0811D6BC
- cmp r4, 0x1
- bcc _0811D6B6
- cmp r4, 0x2
- beq _0811D6C2
- b _0811D6C6
-_0811D6B6:
- bl sub_811D6F4
- b _0811D6C6
-_0811D6BC:
- bl sub_811D758
- b _0811D6C6
-_0811D6C2:
- bl sub_811D794
-_0811D6C6:
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811D698
-
- thumb_func_start sub_811D6D4
-sub_811D6D4: @ 811D6D4
- push {lr}
- bl sub_811BBB0
- lsls r0, 24
- cmp r0, 0
- bne _0811D6E8
- movs r0, 0
- bl sub_811D698
- b _0811D6EE
-_0811D6E8:
- movs r0, 0x1
- bl sub_811D698
-_0811D6EE:
- pop {r0}
- bx r0
- thumb_func_end sub_811D6D4
-
- thumb_func_start sub_811D6F4
-sub_811D6F4: @ 811D6F4
- push {r4-r7,lr}
- sub sp, 0xC
- movs r5, 0
- movs r7, 0x61
-_0811D6FC:
- movs r4, 0
- lsls r0, r7, 24
- lsrs r6, r0, 24
-_0811D702:
- lsls r0, r5, 24
- lsrs r0, 24
- adds r5, 0x1
- bl sub_811F3B8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- beq _0811D742
- bl sub_811F424
- adds r2, r0, 0
- movs r0, 0x54
- adds r3, r4, 0
- muls r3, r0
- adds r3, 0xA
- lsls r3, 24
- lsrs r3, 24
- str r6, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_811D028
- adds r4, 0x1
- cmp r4, 0x1
- ble _0811D702
- adds r7, 0x10
- b _0811D6FC
-_0811D742:
- bl sub_811BBBC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_811DDAC
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811D6F4
-
- thumb_func_start sub_811D758
-sub_811D758: @ 811D758
- push {r4-r6,lr}
- sub sp, 0xC
- movs r5, 0
- movs r4, 0xC2
- lsls r4, 23
- ldr r6, =gUnknown_08597C90
-_0811D764:
- ldm r6!, {r2}
- lsrs r0, r4, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0xA
- bl sub_811D028
- movs r0, 0x80
- lsls r0, 21
- adds r4, r0
- adds r5, 0x1
- cmp r5, 0x3
- bls _0811D764
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811D758
-
- thumb_func_start sub_811D794
-sub_811D794: @ 811D794
- push {lr}
- movs r0, 0
- movs r1, 0x4
- bl sub_811D864
- pop {r0}
- bx r0
- thumb_func_end sub_811D794
-
- thumb_func_start sub_811D7A4
-sub_811D7A4: @ 811D7A4
- push {r4,lr}
- bl sub_811BBDC
- adds r4, r0, 0
- adds r4, 0x3
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_811D950
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_811D864
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811D7A4
-
- thumb_func_start sub_811D7C8
-sub_811D7C8: @ 811D7C8
- push {r4,lr}
- bl sub_811BBDC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_811D950
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_811D864
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811D7C8
-
- thumb_func_start sub_811D7EC
-sub_811D7EC: @ 811D7EC
- push {r4,r5,lr}
- bl sub_811BBDC
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- adds r0, r5, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_811BBE8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bls _0811D80E
- adds r4, r0, 0
-_0811D80E:
- cmp r5, r4
- bcs _0811D828
- subs r4, r5
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811D950
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811D864
-_0811D828:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811D7EC
-
- thumb_func_start sub_811D830
-sub_811D830: @ 811D830
- push {r4,r5,lr}
- bl sub_811BBDC
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_811DE48
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcs _0811D85C
- subs r4, r0, r5
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811D950
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811D864
-_0811D85C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811D830
-
- thumb_func_start sub_811D864
-sub_811D864: @ 811D864
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x14]
- lsls r1, r0, 1
- mov r8, r1
- lsls r0, 4
- adds r1, r0, 0
- adds r1, 0x60
- movs r0, 0xFF
- ands r1, r0
- adds r1, 0x1
- movs r0, 0
- b _0811D930
-_0811D88E:
- movs r6, 0
- movs r2, 0x10
- adds r2, r1
- mov r9, r2
- adds r0, 0x1
- mov r10, r0
- lsls r0, r1, 24
- lsrs r7, r0, 24
-_0811D89E:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r0, 16
- movs r2, 0x1
- add r8, r2
- bl sub_811F578
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _0811D926
- ldr r5, =gUnknown_0203A11C
- ldr r0, [r5]
- adds r0, 0xCC
- adds r1, r4, 0
- movs r2, 0
- bl CopyEasyChatWordPadded
- adds r0, r4, 0
- bl sub_811BF88
- adds r1, r0, 0
- cmp r1, 0
- bne _0811D8FC
- ldr r2, [r5]
- adds r2, 0xCC
- movs r0, 0xD
- adds r3, r6, 0
- muls r3, r0
- adds r3, 0x3
- lsls r3, 27
- lsrs r3, 24
- str r7, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_811D028
- b _0811D926
- .pool
-_0811D8FC:
- ldr r2, [r5]
- adds r2, 0xCC
- movs r0, 0xD
- adds r3, r6, 0
- muls r3, r0
- adds r3, 0x3
- lsls r3, 27
- lsrs r3, 24
- str r7, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x5
- str r0, [sp, 0xC]
- movs r0, 0x3
- str r0, [sp, 0x10]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_811D058
-_0811D926:
- adds r6, 0x1
- cmp r6, 0x1
- ble _0811D89E
- mov r1, r9
- mov r0, r10
-_0811D930:
- ldr r2, [sp, 0x14]
- cmp r0, r2
- blt _0811D88E
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811D864
-
- thumb_func_start sub_811D950
-sub_811D950: @ 811D950
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsls r1, 24
- lsrs r0, 20
- adds r3, r0, 0
- adds r3, 0x60
- movs r0, 0xFF
- ands r3, r0
- lsrs r0, r1, 20
- adds r1, r3, r0
- cmp r1, 0xFF
- ble _0811D97C
- ldr r0, =0xffffff00
- adds r4, r1, r0
- movs r0, 0x80
- lsls r0, 1
- subs r0, r3
- b _0811D97E
- .pool
-_0811D97C:
- movs r4, 0
-_0811D97E:
- movs r5, 0xE0
- str r5, [sp]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- bl FillWindowPixelRect
- cmp r4, 0
- beq _0811D9AA
- str r5, [sp]
- lsls r0, r4, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
-_0811D9AA:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811D950
-
- thumb_func_start sub_811D9B4
-sub_811D9B4: @ 811D9B4
- push {lr}
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_811D9B4
-
- thumb_func_start sub_811D9CC
-sub_811D9CC: @ 811D9CC
- push {lr}
- ldr r1, =gUnknown_0203A11C
- cmp r0, 0x6
- bhi _0811DA86
- lsls r0, 2
- ldr r1, =_0811D9E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811D9E8:
- .4byte _0811DA04
- .4byte _0811DA18
- .4byte _0811DA28
- .4byte _0811DA3C
- .4byte _0811DA50
- .4byte _0811DA64
- .4byte _0811DA78
-_0811DA04:
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r0, 0
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0xA
- b _0811DA84
- .pool
-_0811DA18:
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x9
- b _0811DA44
- .pool
-_0811DA28:
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r0, 0xB
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0x11
- b _0811DA84
- .pool
-_0811DA3C:
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x11
-_0811DA44:
- strb r0, [r2, 0x6]
- ldr r0, [r1]
- strb r3, [r0, 0x7]
- b _0811DA86
- .pool
-_0811DA50:
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r0, 0x11
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0xA
- b _0811DA84
- .pool
-_0811DA64:
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r0, 0x12
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0x16
- b _0811DA84
- .pool
-_0811DA78:
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r0, 0x16
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0x12
-_0811DA84:
- strb r0, [r2, 0x7]
-_0811DA86:
- ldr r1, [r1]
- ldrb r0, [r1, 0x6]
- movs r3, 0x1
- negs r3, r3
- adds r2, r3, 0
- ldrb r3, [r1, 0x7]
- cmp r0, r3
- bcs _0811DA98
- movs r2, 0x1
-_0811DA98:
- strb r2, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811D9CC
-
- thumb_func_start sub_811DAA4
-sub_811DAA4: @ 811DAA4
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r1, [r4]
- ldrb r2, [r1, 0x6]
- ldrb r0, [r1, 0x7]
- cmp r2, r0
- beq _0811DAD4
- ldrb r0, [r1, 0x8]
- adds r0, r2, r0
- strb r0, [r1, 0x6]
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- bl sub_811DADC
- ldr r0, [r4]
- ldrb r1, [r0, 0x6]
- ldrb r0, [r0, 0x7]
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _0811DAD6
- .pool
-_0811DAD4:
- movs r0, 0
-_0811DAD6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811DAA4
-
- thumb_func_start sub_811DADC
-sub_811DADC: @ 811DADC
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl FillBgTilemapBufferRect_Palette0
- cmp r4, 0x16
- bls _0811DAFE
- b _0811DC1A
-_0811DAFE:
- lsls r0, r4, 2
- ldr r1, =_0811DB0C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811DB0C:
- .4byte _0811DC1A
- .4byte _0811DB68
- .4byte _0811DB70
- .4byte _0811DB78
- .4byte _0811DB80
- .4byte _0811DB88
- .4byte _0811DB90
- .4byte _0811DC00
- .4byte _0811DBF2
- .4byte _0811DBE4
- .4byte _0811DBD6
- .4byte _0811DB9E
- .4byte _0811DBA6
- .4byte _0811DBAE
- .4byte _0811DBB6
- .4byte _0811DBBE
- .4byte _0811DBC6
- .4byte _0811DBCE
- .4byte _0811DBD6
- .4byte _0811DBE4
- .4byte _0811DBF2
- .4byte _0811DC00
- .4byte _0811DC0E
-_0811DB68:
- movs r0, 0xB
- movs r1, 0xE
- movs r2, 0x3
- b _0811DB96
-_0811DB70:
- movs r0, 0x9
- movs r1, 0xE
- movs r2, 0x7
- b _0811DB96
-_0811DB78:
- movs r0, 0x7
- movs r1, 0xE
- movs r2, 0xB
- b _0811DB96
-_0811DB80:
- movs r0, 0x5
- movs r1, 0xE
- movs r2, 0xF
- b _0811DB96
-_0811DB88:
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x13
- b _0811DB96
-_0811DB90:
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0x17
-_0811DB96:
- movs r3, 0x2
- bl sub_811DC28
- b _0811DC1A
-_0811DB9E:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x18
- b _0811DBDC
-_0811DBA6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x19
- b _0811DBDC
-_0811DBAE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1A
- b _0811DBDC
-_0811DBB6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1B
- b _0811DBDC
-_0811DBBE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- b _0811DBDC
-_0811DBC6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1D
- b _0811DBDC
-_0811DBCE:
- movs r0, 0
- movs r1, 0xA
- movs r2, 0x1E
- b _0811DBDC
-_0811DBD6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x17
-_0811DBDC:
- movs r3, 0xA
- bl sub_811DC28
- b _0811DC1A
-_0811DBE4:
- movs r0, 0x1
- movs r1, 0xB
- movs r2, 0x17
- movs r3, 0x8
- bl sub_811DC28
- b _0811DC1A
-_0811DBF2:
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x17
- movs r3, 0x6
- bl sub_811DC28
- b _0811DC1A
-_0811DC00:
- movs r0, 0x1
- movs r1, 0xD
- movs r2, 0x17
- movs r3, 0x4
- bl sub_811DC28
- b _0811DC1A
-_0811DC0E:
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0x17
- movs r3, 0x2
- bl sub_811DC28
-_0811DC1A:
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811DADC
-
- thumb_func_start sub_811DC28
-sub_811DC28: @ 811DC28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r12, r0
- adds r7, r1, 0
- mov r9, r2
- mov r10, r3
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 2
- adds r6, r0, r1
- mov r0, r12
- add r0, r9
- subs r5, r0, 0x1
- adds r0, r7, r3
- subs r0, 0x1
- mov r8, r0
- mov r2, r12
- adds r3, r7, 0
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r4, =0x00004001
- adds r1, r4, 0
- strh r1, [r0]
- adds r2, 0x1
- cmp r2, r5
- bge _0811DC84
- ldr r0, =0x00004002
- adds r4, r0, 0
- lsls r1, r2, 1
- lsls r0, r3, 6
- adds r0, r6
- adds r1, r0
- subs r2, r5, r2
-_0811DC78:
- strh r4, [r1]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _0811DC78
- adds r2, r5, 0
-_0811DC84:
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, =0x00004003
- adds r1, r2, 0
- strh r1, [r0]
- adds r3, 0x1
- mov r4, r12
- adds r4, 0x1
- adds r0, r7, 0x1
- str r0, [sp, 0x4]
- mov r1, r9
- subs r1, 0x2
- str r1, [sp]
- movs r2, 0x2
- negs r2, r2
- add r10, r2
- cmp r3, r8
- bge _0811DCF4
- lsls r7, r4, 1
- mov r9, r7
-_0811DCB0:
- lsls r0, r3, 5
- add r0, r12
- lsls r0, 1
- adds r0, r6
- ldr r2, =0x00004005
- adds r1, r2, 0
- strh r1, [r0]
- adds r2, r4, 0
- adds r7, r3, 0x1
- cmp r4, r5
- bge _0811DCE0
- movs r0, 0x80
- lsls r0, 7
- adds r1, r0, 0
- lsls r0, r3, 6
- adds r0, r6
- add r0, r9
- subs r2, r5, r4
-_0811DCD4:
- strh r1, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _0811DCD4
- adds r2, r5, 0
-_0811DCE0:
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, =0x00004007
- adds r1, r2, 0
- strh r1, [r0]
- adds r3, r7, 0
- cmp r3, r8
- blt _0811DCB0
-_0811DCF4:
- lsls r0, r3, 5
- mov r7, r12
- adds r1, r0, r7
- lsls r1, 1
- adds r1, r6
- ldr r7, =0x00004009
- adds r2, r7, 0
- strh r2, [r1]
- adds r2, r4, 0
- mov r12, r0
- cmp r4, r5
- bge _0811DD26
- ldr r0, =0x0000400a
- adds r7, r0, 0
- lsls r1, r4, 1
- lsls r0, r3, 6
- adds r0, r6
- adds r0, r1, r0
- subs r2, r5, r4
-_0811DD1A:
- strh r7, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _0811DD1A
- adds r2, r5, 0
-_0811DD26:
- mov r1, r12
- adds r0, r1, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, =0x0000400b
- adds r1, r2, 0
- strh r1, [r0]
- lsls r0, r4, 27
- lsrs r0, 24
- ldr r3, [sp, 0x4]
- lsls r1, r3, 27
- lsrs r1, 24
- ldr r4, [sp]
- lsls r2, r4, 27
- lsrs r2, 24
- mov r7, r10
- lsls r3, r7, 27
- lsrs r3, 24
- bl sub_811DE5C
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DC28
-
- thumb_func_start sub_811DD84
-sub_811DD84: @ 811DD84
- push {lr}
- movs r1, 0x80
- lsls r1, 4
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgY
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldr r1, =0x000002ce
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DD84
-
- thumb_func_start sub_811DDAC
-sub_811DDAC: @ 811DDAC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x2
- bl GetBgY
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A11C
- ldr r3, [r0]
- ldr r0, =0x000002ce
- adds r1, r3, r0
- ldrh r0, [r1]
- adds r0, r4
- strh r0, [r1]
- lsls r4, 20
- asrs r4, 16
- lsls r0, r4, 8
- adds r2, r0
- cmp r5, 0
- beq _0811DE00
- movs r1, 0xB4
- lsls r1, 2
- adds r0, r3, r1
- str r2, [r0]
- movs r0, 0xB5
- lsls r0, 2
- adds r1, r3, r0
- lsls r0, r5, 8
- str r0, [r1]
- cmp r4, 0
- bge _0811DE0A
- negs r0, r0
- str r0, [r1]
- b _0811DE0A
- .pool
-_0811DE00:
- movs r0, 0x2
- adds r1, r2, 0
- movs r2, 0
- bl ChangeBgY
-_0811DE0A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811DDAC
-
- thumb_func_start sub_811DE10
-sub_811DE10: @ 811DE10
- push {lr}
- movs r0, 0x2
- bl GetBgY
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r3, 0xB4
- lsls r3, 2
- adds r1, r2, r3
- ldr r1, [r1]
- cmp r0, r1
- beq _0811DE40
- movs r1, 0xB5
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- movs r0, 0x2
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x1
- b _0811DE42
- .pool
-_0811DE40:
- movs r0, 0
-_0811DE42:
- pop {r1}
- bx r1
- thumb_func_end sub_811DE10
-
- thumb_func_start sub_811DE48
-sub_811DE48: @ 811DE48
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldr r1, =0x000002ce
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_811DE48
-
- thumb_func_start sub_811DE5C
-sub_811DE5C: @ 811DE5C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, r0, 8
- adds r0, r2
- orrs r4, r0
- lsls r5, r1, 8
- adds r1, r3
- orrs r5, r1
- movs r0, 0x40
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x44
- adds r1, r5, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811DE5C
-
- thumb_func_start sub_811DE90
-sub_811DE90: @ 811DE90
- push {r4,r5,lr}
- ldr r0, =gUnknown_08597CA0
- bl LoadSpriteSheets
- ldr r0, =gUnknown_08597CC0
- bl LoadSpritePalettes
- movs r5, 0
- ldr r4, =gUnknown_08597CE8
-_0811DEA2:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- bls _0811DEA2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DE90
-
- thumb_func_start sub_811DEC4
-sub_811DEC4: @ 811DEC4
- push {lr}
- bl sub_811BA68
- lsls r0, 24
- ldr r1, =gUnknown_08597C30
- lsrs r0, 22
- adds r0, r1
- ldrb r2, [r0]
- lsls r1, r2, 27
- lsrs r1, 8
- lsrs r2, 5
- lsls r2, 19
- ldr r0, =gUnknown_08597D18
- movs r3, 0xD0
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- movs r3, 0x80
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r1, 0xB6
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DEC4
-
- thumb_func_start sub_811DF28
-sub_811DF28: @ 811DF28
- push {lr}
- adds r1, r0, 0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0811DF56
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0811DF56
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _0811DF56
- ldr r0, =0x0000fffa
- strh r0, [r1, 0x24]
-_0811DF56:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DF28
-
- thumb_func_start sub_811DF60
-sub_811DF60: @ 811DF60
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_0203A11C
- ldr r2, [r2]
- movs r3, 0xB6
- lsls r3, 2
- adds r2, r3
- ldr r3, [r2]
- movs r4, 0
- strh r0, [r3, 0x20]
- ldr r0, [r2]
- strh r1, [r0, 0x22]
- ldr r0, [r2]
- strh r4, [r0, 0x24]
- ldr r0, [r2]
- strh r4, [r0, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DF60
-
- thumb_func_start sub_811DF90
-sub_811DF90: @ 811DF90
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- movs r0, 0xB6
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- movs r2, 0
- strh r2, [r0, 0x2E]
- ldr r0, [r1]
- strh r2, [r0, 0x30]
- ldr r0, [r1]
- strh r2, [r0, 0x24]
- bx lr
- .pool
- thumb_func_end sub_811DF90
-
- thumb_func_start sub_811DFB0
-sub_811DFB0: @ 811DFB0
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xB6
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- bx lr
- .pool
- thumb_func_end sub_811DFB0
-
- thumb_func_start sub_811DFC8
-sub_811DFC8: @ 811DFC8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r6, =gUnknown_08597D68
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0203A11C
- ldr r2, [r5]
- movs r1, 0xB7
- lsls r1, 2
- mov r8, r1
- add r2, r8
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, =gSprites
- adds r1, r4
- str r1, [r2]
- movs r0, 0x20
- strh r0, [r1, 0x24]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- movs r1, 0xB8
- lsls r1, 2
- adds r3, r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r3]
- ldr r0, =0x0000ffe0
- strh r0, [r1, 0x24]
- add r2, r8
- ldr r1, [r2]
- adds r1, 0x3F
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- bl sub_811E088
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DFC8
-
- thumb_func_start sub_811E050
-sub_811E050: @ 811E050
- push {r4-r6,lr}
- ldr r5, =gUnknown_0203A11C
- ldr r0, [r5]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- adds r4, r0, r4
- movs r6, 0
- str r6, [r4]
- movs r4, 0xB8
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- adds r0, r4
- str r6, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E050
-
- thumb_func_start sub_811E088
-sub_811E088: @ 811E088
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- movs r2, 0xB7
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _0811E0E4
- adds r2, 0x4
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _0811E0E4
- mov r4, sp
- adds r4, 0x1
- mov r0, sp
- adds r1, r4, 0
- bl sub_811BB9C
- bl sub_811BBB0
- lsls r0, 24
- cmp r0, 0
- bne _0811E0D4
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- bl sub_811E0EC
- b _0811E0E4
- .pool
-_0811E0D4:
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- bl sub_811E1A4
-_0811E0E4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811E088
-
- thumb_func_start sub_811E0EC
-sub_811E0EC: @ 811E0EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _0811E150
- ldr r0, =gUnknown_0203A11C
- mov r8, r0
- ldr r0, [r0]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- mov r2, r8
- ldr r1, [r2]
- adds r4, r1, r4
- ldr r2, [r4]
- movs r0, 0x54
- muls r5, r0
- adds r5, 0x3A
- strh r5, [r2, 0x20]
- ldr r0, [r4]
- lsls r4, r7, 24
- asrs r4, 20
- adds r4, 0x60
- strh r4, [r0, 0x22]
- movs r6, 0xB8
- lsls r6, 2
- adds r1, r6
- ldr r0, [r1]
- movs r1, 0
- bl StartSpriteAnim
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldr r1, [r0]
- strh r5, [r1, 0x20]
- b _0811E192
- .pool
-_0811E150:
- ldr r6, =gUnknown_0203A11C
- ldr r0, [r6]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r0, [r4]
- movs r2, 0xD8
- mov r8, r2
- mov r2, r8
- strh r2, [r0, 0x20]
- ldr r0, [r4]
- lsls r4, r7, 24
- asrs r4, 20
- adds r4, 0x70
- strh r4, [r0, 0x22]
- movs r5, 0xB8
- lsls r5, 2
- adds r1, r5
- ldr r0, [r1]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- mov r2, r8
- strh r2, [r1, 0x20]
-_0811E192:
- ldr r0, [r0]
- strh r4, [r0, 0x22]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E0EC
-
- thumb_func_start sub_811E1A4
-sub_811E1A4: @ 811E1A4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsrs r4, r0, 24
- asrs r2, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _0811E234
- lsls r0, r5, 24
- asrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, 0x60
- mov r8, r0
- movs r7, 0x20
- cmp r2, 0x6
- bne _0811E1D6
- cmp r1, 0
- bne _0811E1D6
- movs r7, 0x9E
- movs r6, 0x2
- b _0811E1EC
-_0811E1D6:
- ldr r3, =gUnknown_08597D08
- lsls r1, r4, 24
- lsrs r0, r1, 24
- movs r2, 0
- cmp r0, 0x6
- bhi _0811E1E4
- asrs r2, r1, 24
-_0811E1E4:
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r7, r0
- movs r6, 0x3
-_0811E1EC:
- ldr r5, =gUnknown_0203A11C
- ldr r0, [r5]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- adds r1, r6, 0
- bl StartSpriteAnim
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r0, [r4]
- strh r7, [r0, 0x20]
- ldr r0, [r4]
- mov r2, r8
- strh r2, [r0, 0x22]
- movs r4, 0xB8
- lsls r4, 2
- adds r1, r4
- ldr r0, [r1]
- adds r1, r6, 0
- bl StartSpriteAnim
- ldr r0, [r5]
- adds r0, r4
- ldr r1, [r0]
- strh r7, [r1, 0x20]
- ldr r0, [r0]
- mov r1, r8
- strh r1, [r0, 0x22]
- b _0811E27A
- .pool
-_0811E234:
- ldr r6, =gUnknown_0203A11C
- ldr r0, [r6]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r0, [r4]
- movs r2, 0xD8
- mov r8, r2
- mov r2, r8
- strh r2, [r0, 0x20]
- ldr r0, [r4]
- lsls r4, r5, 24
- asrs r4, 20
- adds r4, 0x70
- strh r4, [r0, 0x22]
- movs r5, 0xB8
- lsls r5, 2
- adds r1, r5
- ldr r0, [r1]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- mov r2, r8
- strh r2, [r1, 0x20]
- ldr r0, [r0]
- strh r4, [r0, 0x22]
-_0811E27A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E1A4
-
- thumb_func_start sub_811E288
-sub_811E288: @ 811E288
- push {lr}
- ldr r0, =gUnknown_08597D18
- movs r1, 0
- movs r2, 0
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r1, 0xB9
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- ldr r0, =sub_811E2DC
- str r0, [r1, 0x1C]
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- bl sub_811E30C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E288
-
- thumb_func_start sub_811E2DC
-sub_811E2DC: @ 811E2DC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0811E302
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _0811E302
- ldr r0, =0x0000fffa
- strh r0, [r1, 0x24]
-_0811E302:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E2DC
-
- thumb_func_start sub_811E30C
-sub_811E30C: @ 811E30C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x1
- mov r0, sp
- adds r1, r4, 0
- bl sub_811BBC8
- mov r0, sp
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xD
- muls r0, r1
- lsls r0, 27
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 28
- movs r2, 0xE0
- lsls r2, 21
- adds r0, r2
- lsrs r0, 24
- movs r2, 0xC0
- lsls r2, 23
- adds r1, r2
- lsrs r1, 24
- bl sub_811E34C
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811E30C
-
- thumb_func_start sub_811E34C
-sub_811E34C: @ 811E34C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xB9
- lsls r1, 2
- adds r2, r0, r1
- ldr r0, [r2]
- cmp r0, 0
- beq _0811E376
- movs r1, 0
- strh r3, [r0, 0x20]
- ldr r0, [r2]
- strh r4, [r0, 0x22]
- ldr r0, [r2]
- strh r1, [r0, 0x24]
- ldr r0, [r2]
- strh r1, [r0, 0x2E]
-_0811E376:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E34C
-
- thumb_func_start sub_811E380
-sub_811E380: @ 811E380
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- movs r1, 0xB9
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0811E3A2
- bl DestroySprite
- ldr r0, [r4]
- movs r1, 0xB9
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_0811E3A2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E380
-
- thumb_func_start sub_811E3AC
-sub_811E3AC: @ 811E3AC
- push {r4-r6,lr}
- ldr r0, =gUnknown_08597DF0
- movs r1, 0xD0
- movs r2, 0x80
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0203A11C
- ldr r2, [r5]
- movs r1, 0xBA
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, =gSprites
- adds r1, r4
- str r1, [r2]
- movs r6, 0
- ldr r0, =0x0000ffc0
- strh r0, [r1, 0x24]
- ldr r0, =gUnknown_08597DD0
- movs r1, 0xD0
- movs r2, 0x50
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- movs r1, 0xBB
- lsls r1, 2
- adds r3, r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r3]
- strb r6, [r2, 0x9]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E3AC
-
- thumb_func_start sub_811E418
-sub_811E418: @ 811E418
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r2, [r4]
- ldrb r3, [r2, 0x9]
- cmp r3, 0
- beq _0811E430
- cmp r3, 0x1
- beq _0811E488
- movs r0, 0
- b _0811E4A6
- .pool
-_0811E430:
- movs r0, 0xBA
- lsls r0, 2
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r1, 0x24]
- adds r0, 0x8
- strh r0, [r1, 0x24]
- ldr r2, [r2]
- movs r1, 0x24
- ldrsh r0, [r2, r1]
- cmp r0, 0
- blt _0811E4A4
- strh r3, [r2, 0x24]
- bl sub_811BBB0
- lsls r0, 24
- cmp r0, 0
- bne _0811E466
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _0811E476
-_0811E466:
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
-_0811E476:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrb r0, [r1, 0x9]
- adds r0, 0x1
- strb r0, [r1, 0x9]
- b _0811E4A4
- .pool
-_0811E488:
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0811E4A4
- movs r0, 0x2
- strb r0, [r2, 0x9]
- movs r0, 0
- b _0811E4A6
-_0811E4A4:
- movs r0, 0x1
-_0811E4A6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811E418
-
- thumb_func_start sub_811E4AC
-sub_811E4AC: @ 811E4AC
- push {lr}
- ldr r2, =gUnknown_0203A11C
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x9]
- ldr r0, [r2]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E4AC
-
- thumb_func_start sub_811E4D0
-sub_811E4D0: @ 811E4D0
- push {r4-r6,lr}
- ldr r5, =gUnknown_0203A11C
- ldr r3, [r5]
- ldrb r0, [r3, 0x9]
- cmp r0, 0
- beq _0811E4E8
- cmp r0, 0x1
- beq _0811E502
- movs r0, 0
- b _0811E554
- .pool
-_0811E4E8:
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r3, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0811E552
- movs r0, 0x1
- strb r0, [r3, 0x9]
- b _0811E552
-_0811E502:
- movs r0, 0xBA
- lsls r0, 2
- adds r2, r3, r0
- ldr r1, [r2]
- ldrh r0, [r1, 0x24]
- subs r0, 0x8
- movs r6, 0
- strh r0, [r1, 0x24]
- ldr r0, [r2]
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- bgt _0811E552
- movs r4, 0xBB
- lsls r4, 2
- adds r0, r3, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- movs r1, 0xBA
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- ldr r1, [r5]
- adds r4, r1, r4
- str r6, [r4]
- movs r2, 0xBA
- lsls r2, 2
- adds r0, r1, r2
- str r6, [r0]
- ldrb r0, [r1, 0x9]
- adds r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0
- b _0811E554
-_0811E552:
- movs r0, 0x1
-_0811E554:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_811E4D0
-
- thumb_func_start sub_811E55C
-sub_811E55C: @ 811E55C
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x4
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E55C
-
- thumb_func_start sub_811E578
-sub_811E578: @ 811E578
- push {lr}
- bl sub_811BBB0
- lsls r0, 24
- cmp r0, 0
- bne _0811E59C
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _0811E5AE
- .pool
-_0811E59C:
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
-_0811E5AE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E578
-
- thumb_func_start sub_811E5B8
-sub_811E5B8: @ 811E5B8
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- lsrs r1, 4
- movs r0, 0x1
- bics r0, r1
- bx lr
- .pool
- thumb_func_end sub_811E5B8
-
- thumb_func_start sub_811E5D4
-sub_811E5D4: @ 811E5D4
- push {r4,lr}
- ldr r4, =gUnknown_08597E48
- adds r0, r4, 0
- movs r1, 0x60
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E602
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r0, 0xBC
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
-_0811E602:
- adds r0, r4, 0
- movs r1, 0x60
- movs r2, 0x9C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E636
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r0, 0xBD
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_0811E636:
- bl sub_811E6B0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E5D4
-
- thumb_func_start sub_811E64C
-sub_811E64C: @ 811E64C
- push {r4-r6,lr}
- bl sub_811BBF8
- ldr r6, =gUnknown_0203A11C
- ldr r1, [r6]
- movs r2, 0xBC
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _0811E666
- movs r2, 0x1
-_0811E666:
- adds r3, r1, 0
- adds r3, 0x3E
- movs r4, 0x1
- lsls r2, 2
- ldrb r1, [r3]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- bl sub_811BC2C
- ldr r1, [r6]
- movs r2, 0xBD
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _0811E692
- movs r2, 0x1
-_0811E692:
- adds r3, r1, 0
- adds r3, 0x3E
- adds r1, r4, 0
- ands r1, r2
- lsls r1, 2
- ldrb r2, [r3]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E64C
-
- thumb_func_start sub_811E6B0
-sub_811E6B0: @ 811E6B0
- ldr r3, =gUnknown_0203A11C
- ldr r0, [r3]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xBD
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_811E6B0
-
- thumb_func_start sub_811E6E0
-sub_811E6E0: @ 811E6E0
- push {lr}
- cmp r0, 0
- bne _0811E6FC
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- movs r1, 0x60
- b _0811E70A
- .pool
-_0811E6FC:
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- movs r1, 0x78
-_0811E70A:
- strh r1, [r0, 0x20]
- movs r3, 0xBD
- lsls r3, 2
- adds r0, r2, r3
- ldr r0, [r0]
- strh r1, [r0, 0x20]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E6E0
-
- thumb_func_start sub_811E720
-sub_811E720: @ 811E720
- push {r4,lr}
- ldr r4, =gUnknown_08597E30
- adds r0, r4, 0
- movs r1, 0xDC
- movs r2, 0x54
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E74E
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r0, 0xBE
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
-_0811E74E:
- adds r0, r4, 0
- movs r1, 0xDC
- movs r2, 0x9C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E77E
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r0, 0xBF
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- movs r1, 0x1
- bl StartSpriteAnim
-_0811E77E:
- bl sub_811E7F8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E720
-
- thumb_func_start sub_811E794
-sub_811E794: @ 811E794
- push {r4-r6,lr}
- bl sub_811BBF8
- ldr r6, =gUnknown_0203A11C
- ldr r1, [r6]
- movs r2, 0xBE
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _0811E7AE
- movs r2, 0x1
-_0811E7AE:
- adds r3, r1, 0
- adds r3, 0x3E
- movs r4, 0x1
- lsls r2, 2
- ldrb r1, [r3]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- bl sub_811BC2C
- ldr r1, [r6]
- movs r2, 0xBF
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _0811E7DA
- movs r2, 0x1
-_0811E7DA:
- adds r3, r1, 0
- adds r3, 0x3E
- adds r1, r4, 0
- ands r1, r2
- lsls r1, 2
- ldrb r2, [r3]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E794
-
- thumb_func_start sub_811E7F8
-sub_811E7F8: @ 811E7F8
- ldr r3, =gUnknown_0203A11C
- ldr r0, [r3]
- movs r1, 0xBE
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xBF
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_811E7F8
-
- thumb_func_start sub_811E828
-sub_811E828: @ 811E828
- push {r4,r5,lr}
- sub sp, 0x4
- bl sub_811BCBC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811E84C
- cmp r0, 0x1
- bgt _0811E842
- cmp r0, 0
- beq _0811E848
- b _0811E8D0
-_0811E842:
- cmp r0, 0x2
- beq _0811E850
- b _0811E8D0
-_0811E848:
- movs r4, 0x43
- b _0811E852
-_0811E84C:
- movs r4, 0x44
- b _0811E852
-_0811E850:
- movs r4, 0x7
-_0811E852:
- bl sub_811BA68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0811E8D0
- adds r0, r4, 0
- ldr r5, =SpriteCallbackDummy
- movs r4, 0
- str r4, [sp]
- adds r1, r5, 0
- movs r2, 0x4C
- movs r3, 0x28
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0811E892
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x2
- bl StartSpriteAnim
-_0811E892:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0x69
- cmp r0, 0
- bne _0811E8A0
- movs r1, 0x64
-_0811E8A0:
- str r4, [sp]
- adds r0, r1, 0
- adds r1, r5, 0
- movs r2, 0x34
- movs r3, 0x28
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0811E8D0
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x3
- bl StartSpriteAnim
-_0811E8D0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E828
-
- thumb_func_start sub_811E8E4
-sub_811E8E4: @ 811E8E4
- push {lr}
- bl sub_811BA68
- lsls r0, 24
- ldr r1, =gUnknown_08597C30
- lsrs r0, 22
- adds r0, r1
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- beq _0811E90E
- cmp r0, 0x1
- bgt _0811E908
- cmp r0, 0
- beq _0811E916
- b _0811E91A
- .pool
-_0811E908:
- cmp r0, 0x2
- beq _0811E912
- b _0811E91A
-_0811E90E:
- movs r0, 0x1
- b _0811E91C
-_0811E912:
- movs r0, 0x2
- b _0811E91C
-_0811E916:
- movs r0, 0
- b _0811E91C
-_0811E91A:
- movs r0, 0x3
-_0811E91C:
- pop {r1}
- bx r1
- thumb_func_end sub_811E8E4
-
- thumb_func_start sub_811E920
-sub_811E920: @ 811E920
- push {r4,lr}
- adds r4, r0, 0
- bl sub_811E8E4
- adds r1, r0, 0
- cmp r1, 0x2
- ble _0811E932
- movs r0, 0
- b _0811E93E
-_0811E932:
- ldr r0, =gUnknown_08597E60
- lsls r1, 2
- adds r1, r4, r1
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x4
-_0811E93E:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811E920
-
thumb_func_start sub_811E948
sub_811E948: @ 811E948
push {r4-r7,lr}
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 01ba420aa..d568f4281 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -5,645 +5,9 @@
.text
- thumb_func_start sub_81C7CE4
-sub_81C7CE4: @ 81C7CE4
- push {r4,lr}
- movs r0, 0
- bl sub_81C763C
- ldr r2, [r0, 0x18]
- movs r4, 0
- movs r1, 0xDC
- strh r1, [r2, 0x20]
- ldr r2, [r0, 0x18]
- movs r1, 0xC
- strh r1, [r2, 0x22]
- ldr r2, [r0, 0x18]
- ldr r1, =sub_81C7CB4
- str r1, [r2, 0x1C]
- adds r2, 0x3E
- ldrb r3, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- strb r1, [r2]
- ldr r3, [r0, 0x18]
- ldrb r2, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r3, 0x5]
- ldr r0, [r0, 0x18]
- adds r0, 0x43
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C7CE4
-
- thumb_func_start sub_81C7D28
-sub_81C7D28: @ 81C7D28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0
- bl sub_81C763C
- adds r6, r0, 0
- ldr r0, =gUnknown_0861FA64
- bl LoadCompressedSpriteSheet
- movs r0, 0x1
- bl AllocSpritePalette
- movs r0, 0x2
- bl AllocSpritePalette
- movs r5, 0
- ldr r0, =gSprites
- mov r8, r0
- movs r7, 0x4
-_081C7D50:
- ldr r0, =gUnknown_0861FB2C
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r4, r5, 2
- adds r2, r6, 0
- adds r2, 0x1C
- adds r2, r4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- str r0, [r2]
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r7
- strb r1, [r0]
- ldr r1, [r2]
- lsls r0, r5, 6
- strh r0, [r1, 0x24]
- ldr r0, =gUnknown_0861FB44
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r6, 0
- adds r2, 0x24
- adds r2, r4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- str r0, [r2]
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r7
- strb r1, [r0]
- ldr r1, [r2]
- lsls r0, r5, 5
- strh r0, [r1, 0x24]
- ldr r1, [r2]
- movs r0, 0x12
- strh r0, [r1, 0x26]
- ldr r3, [r2]
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- lsls r0, r5, 3
- adds r0, 0x40
- adds r1, r0
- ldr r4, =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r4, =0xfffffc00
- adds r0, r4, 0
- ands r2, r0
- orrs r2, r1
- strh r2, [r3, 0x4]
- adds r5, 0x1
- cmp r5, 0x1
- ble _081C7D50
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C7D28
-
- thumb_func_start sub_81C7DFC
-sub_81C7DFC: @ 81C7DFC
- push {lr}
- cmp r0, 0x5
- bhi _081C7E08
- bl sub_81C7E58
- b _081C7E0E
-_081C7E08:
- subs r0, 0x6
- bl sub_81C7F24
-_081C7E0E:
- pop {r0}
- bx r0
- thumb_func_end sub_81C7DFC
-
- thumb_func_start sub_81C7E14
-sub_81C7E14: @ 81C7E14
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- bl sub_81C763C
- adds r5, r0, 0
- cmp r4, 0x4
- bne _081C7E30
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- ldr r3, [r5, 0x20]
- adds r0, 0x20
- b _081C7E3A
-_081C7E30:
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- ldr r3, [r5, 0x20]
- adds r0, 0x40
-_081C7E3A:
- ldr r2, =0x000003ff
- adds r1, r2, 0
- ands r0, r1
- ldrh r2, [r3, 0x4]
- ldr r1, =0xfffffc00
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C7E14
-
- thumb_func_start sub_81C7E58
-sub_81C7E58: @ 81C7E58
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- cmp r0, 0x5
- bhi _081C7F16
- movs r0, 0
- bl sub_81C763C
- adds r7, r0, 0
- ldr r0, =gUnknown_0861FA6C
- mov r1, r9
- lsls r6, r1, 3
- adds r6, r0
- ldrh r4, [r6, 0x6]
- ldr r2, [r6]
- mov r8, r2
- mov r0, r8
- bl GetDecompressedDataSize
- adds r5, r0, 0
- lsls r4, 5
- ldr r0, =gPokenavLeftHeader_Pal
- adds r4, r0
- movs r0, 0x1
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, =gDecompressionBuffer
- mov r0, r8
- adds r1, r4, 0
- bl LZ77UnCompWram
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 11
- ldr r2, =0x06010000
- adds r1, r2
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl RequestDma3Copy
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- ldr r3, [r7, 0x20]
- ldrh r1, [r6, 0x4]
- adds r0, r1
- ldr r2, =0x000003ff
- adds r1, r2, 0
- ands r0, r1
- ldrh r2, [r3, 0x4]
- ldr r1, =0xfffffc00
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x4]
- mov r0, r9
- subs r0, 0x4
- cmp r0, 0x1
- bhi _081C7F10
- ldr r1, [r7, 0x20]
- movs r0, 0x38
- b _081C7F14
- .pool
-_081C7F10:
- ldr r1, [r7, 0x20]
- movs r0, 0x40
-_081C7F14:
- strh r0, [r1, 0x24]
-_081C7F16:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C7E58
-
- thumb_func_start sub_81C7F24
-sub_81C7F24: @ 81C7F24
- push {r4-r6,lr}
- cmp r0, 0x6
- bhi _081C7F8A
- ldr r2, =gUnknown_0861FA9C
- lsls r1, r0, 3
- adds r0, r2, 0x4
- adds r0, r1, r0
- ldr r4, [r0]
- adds r1, r2
- ldr r6, [r1]
- adds r0, r6, 0
- bl GetDecompressedDataSize
- adds r5, r0, 0
- lsls r4, 5
- ldr r0, =gPokenavLeftHeader_Pal
- adds r4, r0
- movs r0, 0x2
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, =gDecompressionBuffer+0x1000
- adds r0, r6, 0
- adds r1, r4, 0
- bl LZ77UnCompWram
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 11
- ldr r0, =0x06010800
- adds r1, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl RequestDma3Copy
-_081C7F8A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C7F24
-
- thumb_func_start sub_81C7FA0
-sub_81C7FA0: @ 81C7FA0
- push {lr}
- adds r3, r0, 0
- movs r0, 0x10
- cmp r1, 0
- bne _081C7FAC
- movs r0, 0x30
-_081C7FAC:
- cmp r3, 0x5
- bhi _081C7FB8
- adds r1, r2, 0
- bl sub_81C803C
- b _081C7FBE
-_081C7FB8:
- adds r1, r2, 0
- bl sub_81C8088
-_081C7FBE:
- pop {r0}
- bx r0
- thumb_func_end sub_81C7FA0
-
- thumb_func_start sub_81C7FC4
-sub_81C7FC4: @ 81C7FC4
- push {lr}
- cmp r0, 0x5
- bhi _081C7FD2
- adds r0, r1, 0
- bl sub_81C80D4
- b _081C7FD8
-_081C7FD2:
- adds r0, r1, 0
- bl sub_81C8110
-_081C7FD8:
- pop {r0}
- bx r0
- thumb_func_end sub_81C7FC4
-
- thumb_func_start sub_81C7FDC
-sub_81C7FDC: @ 81C7FDC
- push {r4,lr}
- movs r0, 0
- bl sub_81C763C
- movs r4, 0x4
- adds r2, r0, 0
- adds r2, 0x1C
- movs r3, 0x1
-_081C7FEC:
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- ldr r1, [r2, 0x8]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _081C7FEC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81C7FDC
-
- thumb_func_start sub_81C8010
-sub_81C8010: @ 81C8010
- push {lr}
- movs r0, 0
- bl sub_81C763C
- adds r1, r0, 0
- ldr r0, [r1, 0x1C]
- ldr r2, [r0, 0x1C]
- ldr r0, =SpriteCallbackDummy
- cmp r2, r0
- bne _081C8034
- ldr r0, [r1, 0x24]
- ldr r0, [r0, 0x1C]
- cmp r0, r2
- bne _081C8034
- movs r0, 0
- b _081C8036
- .pool
-_081C8034:
- movs r0, 0x1
-_081C8036:
- pop {r1}
- bx r1
- thumb_func_end sub_81C8010
-
- thumb_func_start sub_81C803C
-sub_81C803C: @ 81C803C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r4, r1, 0
- movs r0, 0
- bl sub_81C763C
- cmp r4, 0
- bne _081C8058
- movs r7, 0x60
- negs r7, r7
- movs r6, 0x20
- b _081C805E
-_081C8058:
- movs r7, 0x80
- lsls r7, 1
- movs r6, 0xA0
-_081C805E:
- adds r4, r0, 0
- adds r4, 0x1C
- movs r5, 0x1
-_081C8064:
- ldr r0, [r4]
- mov r1, r8
- strh r1, [r0, 0x22]
- ldm r4!, {r0}
- adds r1, r7, 0
- adds r2, r6, 0
- movs r3, 0xC
- bl sub_81C814C
- subs r5, 0x1
- cmp r5, 0
- bge _081C8064
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C803C
-
- thumb_func_start sub_81C8088
-sub_81C8088: @ 81C8088
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r4, r1, 0
- movs r0, 0
- bl sub_81C763C
- cmp r4, 0
- bne _081C80A4
- movs r7, 0x60
- negs r7, r7
- movs r6, 0x10
- b _081C80AA
-_081C80A4:
- movs r7, 0x80
- lsls r7, 1
- movs r6, 0xC0
-_081C80AA:
- adds r4, r0, 0
- adds r4, 0x24
- movs r5, 0x1
-_081C80B0:
- ldr r0, [r4]
- mov r1, r8
- strh r1, [r0, 0x22]
- ldm r4!, {r0}
- adds r1, r7, 0
- adds r2, r6, 0
- movs r3, 0xC
- bl sub_81C814C
- subs r5, 0x1
- cmp r5, 0
- bge _081C80B0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C8088
- thumb_func_start sub_81C80D4
-sub_81C80D4: @ 81C80D4
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r0, 0
- bl sub_81C763C
- cmp r4, 0
- bne _081C80EA
- movs r6, 0x20
- movs r5, 0x60
- negs r5, r5
- b _081C80F0
-_081C80EA:
- movs r6, 0xC0
- movs r5, 0x80
- lsls r5, 1
-_081C80F0:
- adds r7, r0, 0
- adds r7, 0x1C
- movs r4, 0x1
-_081C80F6:
- ldm r7!, {r0}
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0xC
- bl sub_81C814C
- subs r4, 0x1
- cmp r4, 0
- bge _081C80F6
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C80D4
- thumb_func_start sub_81C8110
-sub_81C8110: @ 81C8110
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r0, 0
- bl sub_81C763C
- cmp r4, 0
- bne _081C8126
- movs r6, 0x10
- movs r5, 0x60
- negs r5, r5
- b _081C812C
-_081C8126:
- movs r6, 0xC0
- movs r5, 0x80
- lsls r5, 1
-_081C812C:
- adds r7, r0, 0
- adds r7, 0x24
- movs r4, 0x1
-_081C8132:
- ldm r7!, {r0}
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0xC
- bl sub_81C814C
- subs r4, 0x1
- cmp r4, 0
- bge _081C8132
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C8110
-
- thumb_func_start sub_81C814C
-sub_81C814C: @ 81C814C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r6, r2, 0
- adds r5, r3, 0
- strh r0, [r4, 0x20]
- lsls r1, r0, 4
- strh r1, [r4, 0x2E]
- subs r0, r6, r0
- lsls r0, 4
- adds r1, r5, 0
- bl __divsi3
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x32]
- strh r6, [r4, 0x3C]
- ldr r0, =sub_81C817C
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C814C
- thumb_func_start sub_81C817C
-sub_81C817C: @ 81C817C
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x32]
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _081C81C4
- subs r0, r1, 0x1
- strh r0, [r2, 0x32]
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x2E]
- adds r0, r1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- adds r0, 0x10
- lsls r0, 16
- movs r1, 0x88
- lsls r1, 17
- cmp r0, r1
- bls _081C81B6
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _081C81CC
-_081C81B6:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _081C81CC
-_081C81C4:
- ldrh r0, [r2, 0x3C]
- strh r0, [r2, 0x20]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_081C81CC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C817C
thumb_func_start sub_81C81D4
sub_81C81D4: @ 81C81D4
@@ -653,7 +17,7 @@ sub_81C81D4: @ 81C81D4
adds r7, r2, 0
ldr r1, =0x000008a4
movs r0, 0x11
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C821C
@@ -696,13 +60,13 @@ sub_81C8224: @ 81C8224
sub_81C8234: @ 81C8234
push {r4,lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C8FE0
ldrb r0, [r4, 0x8]
bl RemoveWindow
movs r0, 0x11
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -717,7 +81,7 @@ sub_81C8254: @ 81C8254
cmp r0, 0
bne _081C82C0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
cmp r4, 0x4
bhi _081C82D6
@@ -921,7 +285,7 @@ sub_81C83F0: @ 81C83F0
sub sp, 0xC
adds r6, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r6, 0
beq _081C8408
@@ -1014,7 +378,7 @@ _081C849C:
sub_81C84A4: @ 81C84A4
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00000888
adds r0, r1
ldrh r1, [r0]
@@ -1030,7 +394,7 @@ sub_81C84A4: @ 81C84A4
sub_81C84C0: @ 81C84C0
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00000888
adds r0, r1
movs r3, 0
@@ -1055,7 +419,7 @@ sub_81C84E8: @ 81C84E8
adds r6, r0, 0
adds r4, r1, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
ldr r0, =0x00000888
adds r5, r7, r0
@@ -1149,7 +513,7 @@ sub_81C85A0: @ 81C85A0
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0
beq _081C85B8
@@ -1228,7 +592,7 @@ _081C862A:
sub_81C8630: @ 81C8630
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x28]
bl sub_81C70D8
pop {r1}
@@ -1239,7 +603,7 @@ sub_81C8630: @ 81C8630
sub_81C8644: @ 81C8644
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00000888
adds r0, r1
pop {r1}
@@ -1423,7 +787,7 @@ sub_81C8770: @ 81C8770
sub_81C877C: @ 81C877C
push {r4,lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =0x0000089c
adds r1, r4, r0
@@ -1449,7 +813,7 @@ sub_81C87AC: @ 81C87AC
lsls r4, 16
lsrs r4, 16
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =0x00000888
adds r1, r5, r0
@@ -1477,7 +841,7 @@ sub_81C87AC: @ 81C87AC
sub_81C87F0: @ 81C87F0
push {r4,lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =0x0000089c
adds r1, r4, r0
@@ -1500,7 +864,7 @@ sub_81C87F0: @ 81C87F0
sub_81C8820: @ 81C8820
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0x8A
lsls r1, 4
adds r0, r1
@@ -1514,7 +878,7 @@ sub_81C8820: @ 81C8820
sub_81C8838: @ 81C8838
push {r4,lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =0x00000888
adds r2, r4, r0
@@ -1542,7 +906,7 @@ sub_81C8870: @ 81C8870
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x4
bhi _081C894C
@@ -1651,7 +1015,7 @@ sub_81C8958: @ 81C8958
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
@@ -1753,7 +1117,7 @@ sub_81C8A28: @ 81C8A28
cmp r0, 0
bne _081C8AA6
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =0x00000888
adds r6, r4, r0
@@ -2525,7 +1889,7 @@ sub_81C9080: @ 81C9080
push {r4,lr}
adds r4, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x0000088e
adds r0, r1
ldrh r0, [r0]
@@ -2637,7 +2001,7 @@ sub_81C9148: @ 81C9148
push {r4,lr}
adds r4, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x40]
strh r4, [r1, 0x3C]
ldr r0, [r0, 0x44]
@@ -2812,7 +2176,7 @@ sub_81C9298: @ 81C9298
push {r4,lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C92C4
@@ -2841,7 +2205,7 @@ sub_81C92CC: @ 81C92CC
push {r4,lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C92FA
@@ -2871,7 +2235,7 @@ sub_81C9304: @ 81C9304
push {r4,lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C932E
@@ -2899,7 +2263,7 @@ sub_81C9338: @ 81C9338
push {lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r2, r0, 0
cmp r2, 0
beq _081C9360
@@ -2926,7 +2290,7 @@ sub_81C9368: @ 81C9368
push {r4,r5,lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r5, r0, 0
cmp r5, 0
beq _081C9394
@@ -2972,7 +2336,7 @@ _081C93B4:
.4byte _081C93DC
_081C93C8:
movs r0, 0
- bl sub_81C7688
+ bl SetPokenavMode
_081C93CE:
bl sub_81C93EC
b _081C93DE
@@ -2994,7 +2358,7 @@ _081C93E0:
thumb_func_start sub_81C93EC
sub_81C93EC: @ 81C93EC
push {lr}
- bl sub_81C767C
+ bl GetPokenavMode
cmp r0, 0x1
beq _081C9408
cmp r0, 0x1
@@ -3021,7 +2385,7 @@ _081C9412:
sub_81C941C: @ 81C941C
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0xC]
bl _call_via_r1
pop {r1}
@@ -3032,7 +2396,7 @@ sub_81C941C: @ 81C941C
sub_81C9430: @ 81C9430
push {lr}
movs r0, 0x1
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81C9430
@@ -3113,7 +2477,7 @@ _081C94D4:
b _081C94EE
.pool
_081C94E0:
- bl sub_81C76B8
+ bl CanViewRibbonsMenu
cmp r0, 0
beq _081C94FC
movs r0, 0x9
@@ -3601,7 +2965,7 @@ _081C988E:
sub_81C9894: @ 81C9894
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0]
pop {r1}
bx r1
@@ -3611,7 +2975,7 @@ sub_81C9894: @ 81C9894
sub_81C98A4: @ 81C98A4
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0x2
ldrsh r0, [r0, r1]
pop {r1}
@@ -3622,7 +2986,7 @@ sub_81C98A4: @ 81C98A4
sub_81C98B4: @ 81C98B4
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0x4]
pop {r1}
bx r1
@@ -3632,7 +2996,7 @@ sub_81C98B4: @ 81C98B4
sub_81C98C4: @ 81C98C4
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0x6]
pop {r1}
bx r1
@@ -3717,7 +3081,7 @@ sub_81C9958: @ 81C9958
push {r4,lr}
ldr r1, =0x0000088c
movs r0, 0x2
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C997A
@@ -3742,7 +3106,7 @@ sub_81C9990: @ 81C9990
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_086201A0
lsls r4, 2
@@ -3763,7 +3127,7 @@ sub_81C9990: @ 81C9990
sub_81C99C0: @ 81C99C0
push {lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -3774,7 +3138,7 @@ sub_81C99C0: @ 81C99C0
sub_81C99D4: @ 81C99D4
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81CA7F4
ldrb r0, [r4, 0x8]
@@ -3782,7 +3146,7 @@ sub_81C99D4: @ 81C99D4
bl sub_81C9FEC
bl sub_81CA994
movs r0, 0x2
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -3792,7 +3156,7 @@ sub_81C99D4: @ 81C99D4
sub_81C99FC: @ 81C99FC
push {lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -3805,7 +3169,7 @@ sub_81C9A10: @ 81C9A10
sub sp, 0x4
adds r4, r0, 0
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x9
bls _081C9A24
@@ -3832,7 +3196,7 @@ _081C9A34:
_081C9A5C:
ldr r0, =gUnknown_08620194
movs r1, 0x3
- bl sub_81C7B54
+ bl InitBgTemplates
ldr r1, =gPokenavMessageBox_Gfx
movs r0, 0
str r0, [sp]
@@ -4428,7 +3792,7 @@ _081C9F42:
movs r0, 0
b _081C9FBE
_081C9F52:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
bne _081C9FB8
bl sub_81C7880
@@ -4532,7 +3896,7 @@ sub_81CA02C: @ 81CA02C
mov r7, r8
push {r7}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
movs r2, 0
adds r0, 0x2C
mov r8, r0
@@ -4582,7 +3946,7 @@ _081CA054:
sub_81CA094: @ 81CA094
push {r4-r7,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0
adds r7, r0, 0
adds r7, 0x2C
@@ -4638,7 +4002,7 @@ sub_81CA0EC: @ 81CA0EC
str r1, [sp, 0x14]
str r2, [sp]
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
mov r10, r0
movs r0, 0x3
bl GetSpriteTileStartByTag
@@ -4778,7 +4142,7 @@ sub_81CA20C: @ 81CA20C
mov r7, r8
push {r7}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
bl sub_81C98A4
mov r8, r0
@@ -4833,7 +4197,7 @@ _081CA264:
sub_81CA278: @ 81CA278
push {r4,r5,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C98A4
adds r3, r0, 0
@@ -4886,7 +4250,7 @@ _081CA2B2:
sub_81CA2DC: @ 81CA2DC
push {r4-r6,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
movs r5, 0
adds r4, r6, 0
@@ -4926,7 +4290,7 @@ _081CA316:
sub_81CA324: @ 81CA324
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r3, r0, 0
movs r2, 0
ldr r4, =SpriteCallbackDummy
@@ -5008,7 +4372,7 @@ sub_81CA3B4: @ 81CA3B4
push {r7}
adds r4, r0, 0
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
movs r5, 0
mov r8, r5
@@ -5321,7 +4685,7 @@ _081CA5F6:
cmp r0, 0xC
bne _081CA638
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldrb r1, [r0, 0xC]
subs r1, 0x1
strb r1, [r0, 0xC]
@@ -5345,7 +4709,7 @@ _081CA638:
sub_81CA640: @ 81CA640
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =gUnknown_0862036C
movs r1, 0x10
@@ -5385,7 +4749,7 @@ _081CA690:
sub_81CA698: @ 81CA698
push {lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x28]
bl DestroySprite
pop {r0}
@@ -5426,7 +4790,7 @@ _081CA6DA:
sub_81CA6E0: @ 81CA6E0
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =gUnknown_086202CC
bl AddWindow
@@ -5451,7 +4815,7 @@ sub_81CA714: @ 81CA714
push {r4-r6,lr}
sub sp, 0xC
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
bl sub_81C98B4
ldr r1, =gUnknown_086202D4
@@ -5493,7 +4857,7 @@ sub_81CA770: @ 81CA770
push {r4-r6,lr}
sub sp, 0xC
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r6, =gText_NoRibbonWinners
movs r2, 0x1
@@ -5540,7 +4904,7 @@ sub_81CA7C4: @ 81CA7C4
sub_81CA7D4: @ 81CA7D4
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =sub_81CA808
movs r1, 0x2
@@ -5556,7 +4920,7 @@ sub_81CA7D4: @ 81CA7D4
sub_81CA7F4: @ 81CA7F4
push {lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldrb r0, [r0, 0xA]
bl DestroyTask
pop {r0}
@@ -5738,7 +5102,7 @@ titlescreen_0: @ 81CA92C
ldr r2, [r2, 0x8]
bl ScanlineEffect_SetParams
ldr r0, =sub_81CA914
- bl IndirectSetVBlankCallback
+ bl SetVBlankCallback_
ldr r0, =sub_81CA9EC
movs r1, 0x3
bl CreateTask
@@ -5763,7 +5127,7 @@ sub_81CA994: @ 81CA994
lsls r0, 24
lsrs r0, 24
bl DestroyTask
- bl sub_81C760C
+ bl SetPokenavVBlankCallback
pop {r0}
bx r0
.pool
@@ -5913,7 +5277,7 @@ sub_81CAAE8: @ 81CAAE8
movs r1, 0xD4
lsls r1, 1
movs r0, 0x5
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CAB1C
@@ -5941,7 +5305,7 @@ _081CAB1E:
sub_81CAB24: @ 81CAB24
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x18]
bl _call_via_r1
pop {r1}
@@ -5952,7 +5316,7 @@ sub_81CAB24: @ 81CAB24
sub_81CAB38: @ 81CAB38
push {lr}
movs r0, 0x5
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CAB38
@@ -6033,7 +5397,7 @@ _081CABD0:
ands r0, r1
cmp r0, 0
beq _081CABF2
- bl sub_81C767C
+ bl GetPokenavMode
cmp r0, 0x1
beq _081CABEC
ldr r0, =sub_81CABFC
@@ -6112,11 +5476,11 @@ _081CAC5E:
bne _081CAC98
b _081CACA6
_081CAC64:
- bl sub_81C767C
+ bl GetPokenavMode
cmp r0, 0x1
bne _081CAC72
movs r0, 0x2
- bl sub_81C7688
+ bl SetPokenavMode
_081CAC72:
ldr r0, =sub_81CACF8
str r0, [r4, 0x18]
@@ -6220,7 +5584,7 @@ sub_81CAD20: @ 81CAD20
push {r4-r7,lr}
adds r5, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x1
beq _081CAD4C
@@ -6367,7 +5731,7 @@ _081CAE24:
sub_81CAE28: @ 81CAE28
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x10]
pop {r1}
bx r1
@@ -6377,7 +5741,7 @@ sub_81CAE28: @ 81CAE28
sub_81CAE38: @ 81CAE38
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0xA]
pop {r1}
bx r1
@@ -6387,7 +5751,7 @@ sub_81CAE38: @ 81CAE38
sub_81CAE48: @ 81CAE48
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0xC]
pop {r1}
bx r1
@@ -6397,7 +5761,7 @@ sub_81CAE48: @ 81CAE48
sub_81CAE58: @ 81CAE58
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0xA]
ldrh r1, [r1, 0xC]
@@ -6411,7 +5775,7 @@ sub_81CAE6C: @ 81CAE6C
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0xC]
adds r4, r0
@@ -6434,7 +5798,7 @@ _081CAE8C:
sub_81CAE94: @ 81CAE94
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r0, 0x1C
pop {r1}
bx r1
@@ -6445,7 +5809,7 @@ sub_81CAEA4: @ 81CAEA4
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 2
adds r0, r4
ldrb r0, [r0, 0x1D]
@@ -6459,7 +5823,7 @@ sub_81CAEBC: @ 81CAEBC
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r1, r4, 2
adds r1, r0, r1
ldrb r0, [r1, 0x1C]
@@ -6498,7 +5862,7 @@ sub_81CAF04: @ 81CAF04
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r1, r4, 2
adds r1, r0, r1
ldrb r0, [r1, 0x1C]
@@ -6553,7 +5917,7 @@ sub_81CAF78: @ 81CAF78
adds r5, r0, 0
adds r6, r1, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0
strb r0, [r6]
@@ -6598,7 +5962,7 @@ sub_81CAFD8: @ 81CAFD8
adds r4, r0, 0
adds r5, r1, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 2
adds r4, r0, r4
ldrb r0, [r4, 0x1C]
@@ -6633,7 +5997,7 @@ _081CB012:
sub_81CB01C: @ 81CB01C
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0]
pop {r1}
bx r1
@@ -6644,7 +6008,7 @@ sub_81CB02C: @ 81CB02C
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0x2]
cmp r0, r4
@@ -6742,7 +6106,7 @@ sub_81CB0E4: @ 81CB0E4
push {r4-r7,lr}
adds r5, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
movs r6, 0x1
adds r5, 0x1
@@ -6783,7 +6147,7 @@ sub_81CB128: @ 81CB128
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
movs r6, 0x1
negs r6, r6
@@ -6874,7 +6238,7 @@ _081CB1C8:
sub_81CB1D0: @ 81CB1D0
push {r4,lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C875C
adds r1, r0, 0
@@ -6940,7 +6304,7 @@ sub_81CB260: @ 81CB260
push {r4,lr}
ldr r1, =0x00002048
movs r0, 0x6
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CB294
@@ -6968,7 +6332,7 @@ sub_81CB29C: @ 81CB29C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_08622798
lsls r4, 2
@@ -6989,7 +6353,7 @@ sub_81CB29C: @ 81CB29C
sub_81CB2CC: @ 81CB2CC
push {lr}
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -7000,7 +6364,7 @@ sub_81CB2CC: @ 81CB2CC
sub_81CB2E0: @ 81CB2E0
push {r4,lr}
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81CC2B4
bl sub_81CBC1C
@@ -7011,7 +6375,7 @@ sub_81CB2E0: @ 81CB2E0
ldrb r0, [r4, 0x14]
bl RemoveWindow
movs r0, 0x6
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -7021,7 +6385,7 @@ sub_81CB2E0: @ 81CB2E0
sub_81CB310: @ 81CB310
push {lr}
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -7034,7 +6398,7 @@ sub_81CB324: @ 81CB324
sub sp, 0x8
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x7
bls _081CB338
@@ -7059,7 +6423,7 @@ _081CB348:
_081CB368:
ldr r0, =gUnknown_0862278C
movs r1, 0x3
- bl sub_81C7B54
+ bl InitBgTemplates
movs r0, 0x2
movs r1, 0
movs r2, 0
@@ -7234,7 +6598,7 @@ sub_81CB510: @ 81CB510
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB55E
@@ -7303,7 +6667,7 @@ sub_81CB588: @ 81CB588
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB5D6
@@ -7372,7 +6736,7 @@ sub_81CB600: @ 81CB600
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB64E
@@ -7441,7 +6805,7 @@ sub_81CB678: @ 81CB678
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB6C6
@@ -7510,7 +6874,7 @@ sub_81CB6F0: @ 81CB6F0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0
beq _081CB706
@@ -7547,7 +6911,7 @@ sub_81CB734: @ 81CB734
movs r0, 0x5
bl PlaySE
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81CB01C
adds r1, r0, 0
@@ -7566,7 +6930,7 @@ sub_81CB75C: @ 81CB75C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0
beq _081CB772
@@ -7602,7 +6966,7 @@ sub_81CB7A0: @ 81CB7A0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB7D4
@@ -7668,7 +7032,7 @@ sub_81CB824: @ 81CB824
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB85E
@@ -7722,7 +7086,7 @@ sub_81CB888: @ 81CB888
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r6, 0
cmp r5, 0x6
@@ -7780,7 +7144,7 @@ _081CB904:
bl sub_81C7BA4
b _081CB934
_081CB90C:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
bne _081CB8EC
ldrb r0, [r4, 0xF]
@@ -7810,7 +7174,7 @@ sub_81CB93C: @ 81CB93C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB974
@@ -7860,7 +7224,7 @@ _081CB9A0:
bl sub_81CC42C
cmp r0, 0
bne _081CB9BA
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
beq _081CB9BE
_081CB9BA:
@@ -7879,7 +7243,7 @@ sub_81CB9C8: @ 81CB9C8
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x4
bhi _081CBA60
@@ -7955,7 +7319,7 @@ sub_81CBA68: @ 81CBA68
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CBA9C
@@ -8011,7 +7375,7 @@ sub_81CBAD4: @ 81CBAD4
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x4
bhi _081CBB6C
@@ -8933,7 +8297,7 @@ sub_81CC214: @ 81CC214
push {r4-r6,lr}
sub sp, 0x8
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
movs r5, 0
ldr r4, =gUnknown_08622810
@@ -8998,7 +8362,7 @@ _081CC224:
sub_81CC2B4: @ 81CC2B4
push {r4,lr}
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, [r4, 0x1C]
cmp r0, 0
@@ -9279,13 +8643,13 @@ sub_81CC4D4: @ 81CC4D4
push {r4,lr}
movs r0, 0x3
movs r1, 0x14
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CC4F0
ldr r1, =0x00000884
movs r0, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
cmp r0, 0
bne _081CC4F8
_081CC4F0:
@@ -9330,9 +8694,9 @@ sub_81CC524: @ 81CC524
orrs r0, r1
strb r0, [r3, 0x15]
movs r0, 0x10
- bl sub_81C7650
+ bl FreeSubstruct
movs r0, 0x3
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
.pool
@@ -9342,7 +8706,7 @@ sub_81CC524: @ 81CC524
sub_81CC554: @ 81CC554
push {lr}
movs r0, 0x3
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x10]
bl _call_via_r1
pop {r1}
@@ -9428,7 +8792,7 @@ sub_81CC5DC: @ 81CC5DC
sub_81CC5E4: @ 81CC5E4
push {lr}
movs r0, 0x3
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0xC]
pop {r1}
bx r1
@@ -9439,7 +8803,7 @@ sub_81CC5F4: @ 81CC5F4
push {r4,lr}
ldr r1, =0x00001948
movs r0, 0x4
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CC624
@@ -9465,7 +8829,7 @@ sub_81CC62C: @ 81CC62C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_086230E4
lsls r4, 2
@@ -9486,7 +8850,7 @@ sub_81CC62C: @ 81CC62C
sub_81CC65C: @ 81CC65C
push {lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -9497,17 +8861,17 @@ sub_81CC65C: @ 81CC65C
sub_81CC670: @ 81CC670
push {r4,lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl FreeRegionMapIconResources
bl sub_81CC9EC
ldrb r0, [r4, 0x8]
bl RemoveWindow
movs r0, 0x10
- bl sub_81C7650
+ bl FreeSubstruct
movs r0, 0x4
- bl sub_81C7650
- bl sub_81C760C
+ bl FreeSubstruct
+ bl SetPokenavVBlankCallback
movs r0, 0
bl SetBgMode
pop {r4}
@@ -9530,7 +8894,7 @@ sub_81CC6A4: @ 81CC6A4
sub_81CC6BC: @ 81CC6BC
push {lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -9563,7 +8927,7 @@ sub_81CC6F4: @ 81CC6F4
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x7
bls _081CC706
@@ -9587,7 +8951,7 @@ _081CC714:
.4byte _081CC82A
_081CC734:
movs r0, 0
- bl IndirectSetVBlankCallback
+ bl SetVBlankCallback_
movs r0, 0x1
bl HideBg
movs r0, 0x2
@@ -9599,9 +8963,9 @@ _081CC734:
ldr r4, =gUnknown_086230D8
adds r0, r4, 0
movs r1, 0x2
- bl sub_81C7B54
+ bl InitBgTemplates
movs r0, 0x10
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
adds r4, 0x4
bl sub_81CC6D0
@@ -9667,7 +9031,7 @@ _081CC7E2:
movs r0, 0x2
bl ShowBg
ldr r0, =sub_81CC6A4
- bl IndirectSetVBlankCallback
+ bl SetVBlankCallback_
b _081CC77C
.pool
_081CC804:
@@ -9710,7 +9074,7 @@ sub_81CC848: @ 81CC848
push {r4,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
cmp r4, 0
beq _081CC85C
cmp r4, 0x1
@@ -9769,7 +9133,7 @@ _081CC8A2:
movs r0, 0
b _081CC8D2
_081CC8BE:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
beq _081CC8CA
_081CC8C6:
@@ -9790,7 +9154,7 @@ sub_81CC8D8: @ 81CC8D8
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CC90C
@@ -9835,7 +9199,7 @@ _081CC924:
movs r0, 0
b _081CC954
_081CC940:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
beq _081CC94C
_081CC948:
@@ -9929,7 +9293,7 @@ _081CC9C6:
sub_81CC9EC: @ 81CC9EC
push {r4,r5,lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0x6
bl FreeSpriteTilesByTag
@@ -10055,7 +9419,7 @@ sub_81CCB0C: @ 81CCB0C
sub sp, 0xC
adds r4, r0, 0
movs r0, 0x10
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldrb r0, [r5, 0x2]
cmp r0, 0x4
@@ -10318,7 +9682,7 @@ sub_81CCD34: @ 81CCD34
push {r4,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
cmp r4, 0x15
ble _081CCD48
@@ -10467,7 +9831,7 @@ sub_81CCE58: @ 81CCE58
mov r7, r8
push {r7}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_8124658
lsls r0, 24
@@ -10612,7 +9976,7 @@ _081CCF70:
sub_81CCF78: @ 81CCF78
push {r4,lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0x1
bl GetBgY
@@ -10637,7 +10001,7 @@ sub_81CCFA4: @ 81CCFA4
push {r4-r6,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0x1
ands r4, r1
lsls r5, r4, 2
@@ -10667,7 +10031,7 @@ sub_81CCFD8: @ 81CCFD8
push {r4,lr}
ldr r1, =0x0000678c
movs r0, 0xB
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CD01C
@@ -10698,7 +10062,7 @@ sub_81CD024: @ 81CD024
push {r4,lr}
ldr r1, =0x0000678c
movs r0, 0xB
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CD068
@@ -10728,7 +10092,7 @@ _081CD06A:
sub_81CD070: @ 81CD070
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r2, =0x00006304
adds r1, r0, r2
ldr r1, [r1]
@@ -10743,7 +10107,7 @@ sub_81CD08C: @ 81CD08C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
adds r0, r4, 0
bl sub_81CD1E4
@@ -10818,7 +10182,7 @@ sub_81CD110: @ 81CD110
adds r1, r4, r1
strb r0, [r1]
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r1, [r0, 0x2]
lsls r1, 2
adds r0, r1
@@ -10886,7 +10250,7 @@ _081CD1B6:
sub_81CD1C0: @ 81CD1C0
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0xC6
lsls r1, 7
adds r0, r1
@@ -10894,10 +10258,10 @@ sub_81CD1C0: @ 81CD1C0
cmp r0, 0
bne _081CD1DA
movs r0, 0x12
- bl sub_81C7650
+ bl FreeSubstruct
_081CD1DA:
movs r0, 0xB
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CD1C0
@@ -10907,7 +10271,7 @@ sub_81CD1E4: @ 81CD1E4
push {r4,lr}
adds r4, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
movs r3, 0
ldr r0, =gMain
@@ -10971,10 +10335,10 @@ sub_81CD258: @ 81CD258
lsrs r0, 24
mov r8, r0
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
mov r0, r8
cmp r0, 0
@@ -11141,10 +10505,10 @@ _081CD3BA:
sub_81CD3C4: @ 81CD3C4
push {r4,lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
ldr r1, =0x0000678a
adds r0, r4, r1
@@ -11329,7 +10693,7 @@ sub_81CD548: @ 81CD548
lsrs r4, r0, 24
adds r5, r4, 0
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
cmp r4, 0x1
beq _081CD588
@@ -11449,7 +10813,7 @@ sub_81CD624: @ 81CD624
lsrs r2, 24
mov r10, r2
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 2
adds r0, r4
ldrb r4, [r0, 0x4]
@@ -11697,10 +11061,10 @@ sub_81CD824: @ 81CD824
lsls r1, 24
lsrs r6, r1, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
mov r1, r8
lsls r0, r1, 16
@@ -11841,11 +11205,11 @@ _081CD95C:
sub_81CD970: @ 81CD970
push {r4-r7,lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
ldr r1, =0x000006ac
movs r0, 0x12
- bl sub_81C761C
+ bl AllocSubstruct
adds r6, r0, 0
movs r0, 0xC6
lsls r0, 7
@@ -11908,7 +11272,7 @@ _081CD9C4:
sub_81CD9F8: @ 81CD9F8
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0xC6
lsls r1, 7
adds r2, r0, r1
@@ -11935,10 +11299,10 @@ sub_81CDA1C: @ 81CDA1C
lsrs r1, 24
mov r9, r1
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
mov r8, r0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
lsls r0, r6, 16
asrs r5, r0, 16
@@ -12107,10 +11471,10 @@ sub_81CDB98: @ 81CDB98
lsrs r1, 24
mov r9, r1
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
lsls r0, r6, 16
asrs r5, r0, 16
@@ -12187,7 +11551,7 @@ _081CDC3E:
sub_81CDC50: @ 81CDC50
push {lr}
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0]
pop {r1}
bx r1
@@ -12197,7 +11561,7 @@ sub_81CDC50: @ 81CDC50
sub_81CDC60: @ 81CDC60
push {lr}
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0x2]
pop {r1}
bx r1
@@ -12207,7 +11571,7 @@ sub_81CDC60: @ 81CDC60
sub_81CDC70: @ 81CDC70
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00006428
adds r0, r1
pop {r1}
@@ -12219,7 +11583,7 @@ sub_81CDC70: @ 81CDC70
sub_81CDC84: @ 81CDC84
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00006786
adds r0, r1
ldrb r0, [r0]
@@ -12232,7 +11596,7 @@ sub_81CDC84: @ 81CDC84
sub_81CDC9C: @ 81CDC9C
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00006302
adds r0, r1
ldrb r0, [r0]
@@ -12248,7 +11612,7 @@ sub_81CDCB4: @ 81CDCB4
lsls r4, 24
lsrs r4, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 13
movs r1, 0xC0
lsls r1, 2
@@ -12266,7 +11630,7 @@ sub_81CDCD4: @ 81CDCD4
lsls r4, 24
lsrs r4, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 7
adds r0, r4
pop {r4}
@@ -12278,7 +11642,7 @@ sub_81CDCD4: @ 81CDCD4
sub_81CDCEC: @ 81CDCEC
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00006789
adds r0, r1
ldrb r0, [r0]
@@ -12294,7 +11658,7 @@ sub_81CDD04: @ 81CDD04
lsls r4, 24
lsrs r4, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 6
ldr r1, =0x00006368
adds r4, r1
@@ -12312,7 +11676,7 @@ sub_81CDD24: @ 81CDD24
lsls r4, 24
lsrs r4, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r1, r4, 1
adds r1, r4
lsls r1, 3
@@ -12329,7 +11693,7 @@ sub_81CDD24: @ 81CDD24
sub_81CDD48: @ 81CDD48
push {lr}
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r1, [r0, 0x2]
lsls r1, 2
adds r0, r1
@@ -12342,7 +11706,7 @@ sub_81CDD48: @ 81CDD48
sub_81CDD5C: @ 81CDD5C
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0xC6
lsls r1, 7
adds r0, r1
@@ -12362,7 +11726,7 @@ _081CDD76:
sub_81CDD7C: @ 81CDD7C
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
movs r1, 0xC6
lsls r1, 7
@@ -12391,7 +11755,7 @@ _081CDDA6:
sub_81CDDB0: @ 81CDDB0
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r2, =0x00006786
adds r1, r0, r2
ldrb r1, [r1]
@@ -12411,7 +11775,7 @@ sub_81CDDD4: @ 81CDDD4
push {r4,lr}
ldr r1, =0x000038ac
movs r0, 0xC
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CDE24
@@ -12447,7 +11811,7 @@ sub_81CDE2C: @ 81CDE2C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_08623384
lsls r4, 2
@@ -12470,7 +11834,7 @@ sub_81CDE2C: @ 81CDE2C
sub_81CDE64: @ 81CDE64
push {lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00001810
adds r0, r1
ldr r0, [r0]
@@ -12484,7 +11848,7 @@ sub_81CDE64: @ 81CDE64
sub_81CDE80: @ 81CDE80
push {lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl sub_81C70D8
pop {r1}
@@ -12497,7 +11861,7 @@ sub_81CDE94: @ 81CDE94
sub sp, 0xC
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x14
bls _081CDEA8
@@ -12542,7 +11906,7 @@ _081CDF16:
_081CDF18:
ldr r0, =gUnknown_08623358
movs r1, 0x3
- bl sub_81C7B54
+ bl InitBgTemplates
movs r0, 0x1
movs r1, 0
movs r2, 0
@@ -12853,7 +12217,7 @@ _081CE218:
bne _081CE2C0
_081CE230:
ldr r0, =sub_81CEE44
- bl IndirectSetVBlankCallback
+ bl SetVBlankCallback_
b _081CDFB0
.pool
_081CE23C:
@@ -12924,7 +12288,7 @@ sub_81CE2D0: @ 81CE2D0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CE308
@@ -13006,7 +12370,7 @@ sub_81CE37C: @ 81CE37C
push {r4-r6,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
bl sub_81CDC70
adds r2, r0, 0
@@ -13160,7 +12524,7 @@ sub_81CE4D8: @ 81CE4D8
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x8
bhi _081CE5DC
@@ -13282,7 +12646,7 @@ sub_81CE5E4: @ 81CE5E4
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x7
bhi _081CE6B2
@@ -13408,7 +12772,7 @@ _081CE6E6:
bl sub_81C7BA4
b _081CE6E2
_081CE6EE:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0x1
bne _081CE6E2
movs r0, 0x2
@@ -13444,7 +12808,7 @@ _081CE71E:
bl sub_81C7BA4
b _081CE71A
_081CE726:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0x1
bne _081CE71A
movs r0, 0x2
@@ -13486,7 +12850,7 @@ sub_81CE754: @ 81CE754
lsls r2, 24
lsrs r5, r2, 24
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
cmp r4, 0x1
beq _081CE7B8
@@ -13700,7 +13064,7 @@ _081CE926:
sub_81CE934: @ 81CE934
push {r4,lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r1, =0x00001822
adds r0, r4, r1
@@ -13798,7 +13162,7 @@ sub_81CE9E4: @ 81CE9E4
push {r5-r7}
sub sp, 0x58
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
add r4, sp, 0x20
add r5, sp, 0x38
@@ -14101,7 +13465,7 @@ _081CEC8E:
sub_81CECA0: @ 81CECA0
push {r4,lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r1, 0xC1
lsls r1, 5
@@ -14136,7 +13500,7 @@ _081CECF0:
bl sub_81CEBF4
bl sub_81CEE68
movs r0, 0xC
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -14147,7 +13511,7 @@ sub_81CED10: @ 81CED10
push {r4,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00001814
adds r0, r1
ldrh r0, [r0]
@@ -14168,7 +13532,7 @@ sub_81CED30: @ 81CED30
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
mov r8, r0
ldr r7, =0x00001816
add r7, r8
@@ -14291,7 +13655,7 @@ sub_81CEE44: @ 81CEE44
thumb_func_start sub_81CEE68
sub_81CEE68: @ 81CEE68
push {lr}
- bl sub_81C760C
+ bl SetPokenavVBlankCallback
pop {r0}
bx r0
thumb_func_end sub_81CEE68
@@ -14381,7 +13745,7 @@ _081CEF0C:
sub_81CEF14: @ 81CEF14
push {r4,lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81CDD5C
cmp r0, 0x1
@@ -14404,13 +13768,13 @@ sub_81CEF3C: @ 81CEF3C
push {r4,lr}
movs r0, 0x7
movs r1, 0x24
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CEF90
ldr r1, =0x000006ac
movs r0, 0x12
- bl sub_81C761C
+ bl AllocSubstruct
str r0, [r4, 0x20]
cmp r0, 0
beq _081CEF90
@@ -14444,12 +13808,12 @@ sub_81CEF98: @ 81CEF98
push {r4,lr}
movs r0, 0x7
movs r1, 0x24
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CEFD4
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
str r0, [r4, 0x20]
ldr r0, =sub_81CF030
str r0, [r4]
@@ -14476,7 +13840,7 @@ _081CEFD6:
sub_81CEFDC: @ 81CEFDC
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0]
bl _call_via_r1
pop {r1}
@@ -14487,15 +13851,15 @@ sub_81CEFDC: @ 81CEFDC
sub_81CEFF0: @ 81CEFF0
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x1C]
cmp r0, 0
bne _081CF004
movs r0, 0x12
- bl sub_81C7650
+ bl FreeSubstruct
_081CF004:
movs r0, 0x7
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CEFF0
@@ -14607,7 +13971,7 @@ sub_81CF0B8: @ 81CF0B8
sub_81CF0C0: @ 81CF0C0
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x18]
pop {r1}
bx r1
@@ -14617,7 +13981,7 @@ sub_81CF0C0: @ 81CF0C0
sub_81CF0D0: @ 81CF0D0
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x20]
adds r0, 0x4
pop {r1}
@@ -14628,7 +13992,7 @@ sub_81CF0D0: @ 81CF0D0
sub_81CF0E0: @ 81CF0E0
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x20]
ldrh r0, [r0]
pop {r1}
@@ -14639,7 +14003,7 @@ sub_81CF0E0: @ 81CF0E0
sub_81CF0F0: @ 81CF0F0
push {r4,lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C875C
ldr r1, [r4, 0x20]
@@ -14655,7 +14019,7 @@ sub_81CF0F0: @ 81CF0F0
sub_81CF10C: @ 81CF10C
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x20]
ldrh r0, [r0, 0x2]
pop {r1}
@@ -14680,7 +14044,7 @@ sub_81CF134: @ 81CF134
push {r4-r6,lr}
sub sp, 0x4
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
ldr r0, [r6, 0x20]
movs r1, 0
@@ -14746,7 +14110,7 @@ _081CF1AA:
sub_81CF1C4: @ 81CF1C4
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0
str r1, [r0, 0x10]
str r1, [r0, 0xC]
@@ -14762,7 +14126,7 @@ sub_81CF1D8: @ 81CF1D8
push {r7}
sub sp, 0x4
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
ldr r5, [r6, 0xC]
ldr r4, [r6, 0x10]
@@ -14839,7 +14203,7 @@ _081CF26A:
sub_81CF278: @ 81CF278
push {r4-r6,lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, [r5, 0x20]
ldrh r6, [r0]
@@ -14950,7 +14314,7 @@ sub_81CF330: @ 81CF330
movs r1, 0x81
lsls r1, 4
movs r0, 0x8
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CF360
@@ -14979,7 +14343,7 @@ sub_81CF368: @ 81CF368
movs r1, 0x81
lsls r1, 4
movs r0, 0x8
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CF398
@@ -15006,7 +14370,7 @@ sub_81CF3A0: @ 81CF3A0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_08623598
lsls r4, 2
@@ -15027,7 +14391,7 @@ sub_81CF3A0: @ 81CF3A0
sub_81CF3D0: @ 81CF3D0
push {lr}
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -15038,7 +14402,7 @@ sub_81CF3D0: @ 81CF3D0
sub_81CF3E4: @ 81CF3E4
push {lr}
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -15049,13 +14413,13 @@ sub_81CF3E4: @ 81CF3E4
sub_81CF3F8: @ 81CF3F8
push {r4,lr}
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C8234
ldrb r0, [r4, 0x8]
bl RemoveWindow
movs r0, 0x8
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -15067,7 +14431,7 @@ sub_81CF418: @ 81CF418
sub sp, 0x4
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x5
bls _081CF42C
@@ -15090,7 +14454,7 @@ _081CF43C:
_081CF454:
ldr r0, =gUnknown_08623590
movs r1, 0x2
- bl sub_81C7B54
+ bl InitBgTemplates
ldr r1, =gUnknown_086233E4
movs r0, 0
str r0, [sp]
@@ -15214,7 +14578,7 @@ sub_81CF578: @ 81CF578
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF5C6
@@ -15282,7 +14646,7 @@ sub_81CF5F0: @ 81CF5F0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF63E
@@ -15350,7 +14714,7 @@ sub_81CF668: @ 81CF668
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF6B6
@@ -15418,7 +14782,7 @@ sub_81CF6E0: @ 81CF6E0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF72E
@@ -15773,13 +15137,13 @@ sub_81CF9BC: @ 81CF9BC
push {r4,lr}
movs r0, 0x9
movs r1, 0x20
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CF9FC
ldr r1, =0x000006ac
movs r0, 0x12
- bl sub_81C761C
+ bl AllocSubstruct
str r0, [r4, 0x1C]
cmp r0, 0
beq _081CF9FC
@@ -15807,12 +15171,12 @@ sub_81CFA04: @ 81CFA04
push {r4,lr}
movs r0, 0x9
movs r1, 0x20
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CFA2C
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
str r0, [r4, 0x1C]
ldr r0, =sub_81CFA88
str r0, [r4]
@@ -15832,7 +15196,7 @@ _081CFA2E:
sub_81CFA34: @ 81CFA34
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0]
bl _call_via_r1
pop {r1}
@@ -15843,15 +15207,15 @@ sub_81CFA34: @ 81CFA34
sub_81CFA48: @ 81CFA48
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x18]
cmp r0, 0
bne _081CFA5C
movs r0, 0x12
- bl sub_81C7650
+ bl FreeSubstruct
_081CFA5C:
movs r0, 0x9
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CFA48
@@ -15963,7 +15327,7 @@ sub_81CFB10: @ 81CFB10
sub_81CFB18: @ 81CFB18
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x14]
pop {r1}
bx r1
@@ -15973,7 +15337,7 @@ sub_81CFB18: @ 81CFB18
sub_81CFB28: @ 81CFB28
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x1C]
adds r0, 0x4
pop {r1}
@@ -15984,7 +15348,7 @@ sub_81CFB28: @ 81CFB28
sub_81CFB38: @ 81CFB38
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x1C]
ldrh r0, [r0]
pop {r1}
@@ -15995,7 +15359,7 @@ sub_81CFB38: @ 81CFB38
sub_81CFB48: @ 81CFB48
push {r4,lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C875C
ldr r1, [r4, 0x1C]
@@ -16011,7 +15375,7 @@ sub_81CFB48: @ 81CFB48
sub_81CFB64: @ 81CFB64
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x1C]
ldrh r0, [r0, 0x2]
pop {r1}
@@ -16036,7 +15400,7 @@ sub_81CFB8C: @ 81CFB8C
push {r4-r6,lr}
sub sp, 0x4
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
ldr r0, [r6, 0x1C]
movs r1, 0
@@ -16108,7 +15472,7 @@ _081CFC10:
sub_81CFC2C: @ 81CFC2C
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0
str r1, [r0, 0x10]
str r1, [r0, 0xC]
@@ -16125,7 +15489,7 @@ sub_81CFC40: @ 81CFC40
push {r6,r7}
sub sp, 0x4
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
mov r8, r0
ldr r7, [r0, 0xC]
ldr r6, [r0, 0x10]
@@ -16336,7 +15700,7 @@ sub_81CFDD0: @ 81CFDD0
movs r1, 0x81
lsls r1, 4
movs r0, 0xA
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CFE00
@@ -16365,7 +15729,7 @@ sub_81CFE08: @ 81CFE08
movs r1, 0x81
lsls r1, 4
movs r0, 0xA
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CFE38
@@ -16392,7 +15756,7 @@ sub_81CFE40: @ 81CFE40
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_086237B8
lsls r4, 2
@@ -16413,7 +15777,7 @@ sub_81CFE40: @ 81CFE40
sub_81CFE70: @ 81CFE70
push {lr}
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -16424,7 +15788,7 @@ sub_81CFE70: @ 81CFE70
sub_81CFE84: @ 81CFE84
push {lr}
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -16435,13 +15799,13 @@ sub_81CFE84: @ 81CFE84
sub_81CFE98: @ 81CFE98
push {r4,lr}
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C8234
ldrb r0, [r4, 0x8]
bl RemoveWindow
movs r0, 0xA
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -16453,7 +15817,7 @@ sub_81CFEB8: @ 81CFEB8
sub sp, 0x4
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x5
bls _081CFECC
@@ -16476,7 +15840,7 @@ _081CFEDC:
_081CFEF4:
ldr r0, =gUnknown_086237B0
movs r1, 0x2
- bl sub_81C7B54
+ bl InitBgTemplates
ldr r1, =gUnknown_08623604
movs r0, 0
str r0, [sp]
@@ -16588,7 +15952,7 @@ sub_81CFFFC: @ 81CFFFC
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D004A
@@ -16656,7 +16020,7 @@ sub_81D0074: @ 81D0074
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D00C2
@@ -16724,7 +16088,7 @@ sub_81D00EC: @ 81D00EC
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D013A
@@ -16792,7 +16156,7 @@ sub_81D0164: @ 81D0164
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D01B2
@@ -17158,12 +16522,12 @@ sub_81D0450: @ 81D0450
push {r4,lr}
movs r0, 0xD
movs r1, 0x9C
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081D0498
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
str r0, [r4, 0x8]
cmp r0, 0
beq _081D0498
@@ -17194,7 +16558,7 @@ _081D049A:
sub_81D04A0: @ 81D04A0
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
adds r1, 0x98
ldr r1, [r1]
@@ -17207,7 +16571,7 @@ sub_81D04A0: @ 81D04A0
sub_81D04B8: @ 81D04B8
push {lr}
movs r0, 0xD
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81D04B8
@@ -17513,7 +16877,7 @@ _081D06BE:
sub_81D06C4: @ 81D06C4
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x8]
ldrh r0, [r0, 0x2]
pop {r1}
@@ -17524,7 +16888,7 @@ sub_81D06C4: @ 81D06C4
sub_81D06D4: @ 81D06D4
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x8]
ldrh r0, [r0]
pop {r1}
@@ -17538,7 +16902,7 @@ sub_81D06E4: @ 81D06E4
adds r7, r1, 0
adds r6, r2, 0
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x8]
ldrh r0, [r1, 0x2]
lsls r0, 2
@@ -17594,7 +16958,7 @@ sub_81D0760: @ 81D0760
adds r6, r1, 0
adds r7, r2, 0
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x8]
ldrh r0, [r1, 0x2]
lsls r0, 2
@@ -17648,7 +17012,7 @@ _081D07D0:
sub_81D07D8: @ 81D07D8
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x8]
ldrh r0, [r1, 0x2]
lsls r0, 2
@@ -17815,7 +17179,7 @@ sub_81D0914: @ 81D0914
push {r4,lr}
adds r4, r0, 0
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r1, [r0, 0x10]
str r1, [r4]
adds r0, 0x14
@@ -17829,7 +17193,7 @@ sub_81D092C: @ 81D092C
push {r4,lr}
adds r4, r0, 0
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r1, [r0, 0x12]
str r1, [r4]
adds r0, 0x78
@@ -17842,7 +17206,7 @@ sub_81D092C: @ 81D092C
sub_81D0944: @ 81D0944
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0xC]
pop {r1}
bx r1
@@ -17852,7 +17216,7 @@ sub_81D0944: @ 81D0944
sub_81D0954: @ 81D0954
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0xC]
cmp r0, 0x18
@@ -17876,7 +17240,7 @@ sub_81D0978: @ 81D0978
push {r4,lr}
ldr r1, =0x0000101c
movs r0, 0xE
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081D09A8
@@ -17902,7 +17266,7 @@ sub_81D09B0: @ 81D09B0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_08624BA0
lsls r4, 2
@@ -17923,7 +17287,7 @@ sub_81D09B0: @ 81D09B0
sub_81D09E0: @ 81D09E0
push {lr}
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -17934,7 +17298,7 @@ sub_81D09E0: @ 81D09E0
sub_81D09F4: @ 81D09F4
push {r4,lr}
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldrb r0, [r4, 0xA]
bl RemoveWindow
@@ -17963,7 +17327,7 @@ sub_81D09F4: @ 81D09F4
ldr r0, [r4, 0x14]
bl DestroySprite
movs r0, 0xE
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -17973,7 +17337,7 @@ sub_81D09F4: @ 81D09F4
sub_81D0A58: @ 81D0A58
push {lr}
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -17986,7 +17350,7 @@ sub_81D0A6C: @ 81D0A6C
sub sp, 0x8
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x9
bls _081D0A80
@@ -18013,7 +17377,7 @@ _081D0A90:
_081D0AB8:
ldr r0, =gUnknown_08624B98
movs r1, 0x2
- bl sub_81C7B54
+ bl InitBgTemplates
ldr r1, =gUnknown_08DDE030
movs r0, 0
str r0, [sp]
@@ -18215,7 +17579,7 @@ sub_81D0C84: @ 81D0C84
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x6
bhi _081D0D24
@@ -18295,7 +17659,7 @@ sub_81D0D2C: @ 81D0D2C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D0D5C
@@ -18347,7 +17711,7 @@ sub_81D0D8C: @ 81D0D8C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D0DC0
@@ -18408,7 +17772,7 @@ sub_81D0E00: @ 81D0E00
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D0E30