summaryrefslogtreecommitdiff
path: root/asm/pokedex_screen.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/pokedex_screen.s')
-rw-r--r--asm/pokedex_screen.s3120
1 files changed, 0 insertions, 3120 deletions
diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s
deleted file mode 100644
index dcfc5f110..000000000
--- a/asm/pokedex_screen.s
+++ /dev/null
@@ -1,3120 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8105594
-sub_8105594: @ 8105594
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, _081055C0 @ =gUnknown_203ACF0
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- cmp r0, 0
- bne _081055C8
- ldr r0, _081055C4 @ =gUnknown_8452334
- ldr r0, [r0]
- ldrb r3, [r0, 0x2]
- ldrb r1, [r0, 0x3]
- b _081055E2
- .align 2, 0
-_081055C0: .4byte gUnknown_203ACF0
-_081055C4: .4byte gUnknown_8452334
-_081055C8:
- ldr r1, _08105634 @ =gUnknown_8452334
- ldrb r0, [r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- adds r1, r3, 0
- adds r1, 0x2D
- ldrb r1, [r1]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrb r3, [r1, 0x2]
- ldrb r1, [r1, 0x3]
-_081055E2:
- lsls r0, r4, 26
- movs r2, 0xC0
- lsls r2, 19
- adds r0, r2
- lsrs r0, 24
- str r0, [sp, 0x8]
- lsls r2, r4, 1
- adds r0, r2, 0x3
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x8]
- cmp r0, 0x1B
- bls _08105602
- movs r0, 0x1C
- str r0, [sp, 0x8]
-_08105602:
- ldr r0, [sp, 0xC]
- cmp r0, 0xD
- bls _0810560C
- movs r0, 0xE
- str r0, [sp, 0xC]
-_0810560C:
- subs r0, r3, r2
- lsls r0, 16
- subs r1, r4
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x10]
- lsrs r6, r0, 16
- asrs r1, r0, 16
- ldr r2, [sp, 0x8]
- adds r0, r1, r2
- adds r0, 0x2
- cmp r0, 0x1D
- ble _08105638
- adds r0, r1, 0
- adds r0, 0x1C
- adds r1, r6, r2
- subs r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- b _0810563E
- .align 2, 0
-_08105634: .4byte gUnknown_8452334
-_08105638:
- cmp r1, 0
- bge _0810563E
- movs r6, 0
-_0810563E:
- ldr r3, [sp, 0x10]
- lsls r0, r3, 16
- asrs r1, r0, 16
- ldr r2, [sp, 0xC]
- adds r0, r1, r2
- adds r0, 0x2
- cmp r0, 0x11
- ble _0810565E
- adds r0, r1, 0
- adds r0, 0x10
- adds r1, r3, r2
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- b _08105666
-_0810565E:
- cmp r1, 0x1
- bgt _08105666
- movs r3, 0x2
- str r3, [sp, 0x10]
-_08105666:
- ldr r1, [sp, 0xC]
- lsrs r0, r1, 1
- adds r0, 0x2
- ldr r2, [sp, 0x10]
- lsls r2, 16
- asrs r2, 16
- mov r10, r2
- add r10, r0
- mov r3, r10
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- lsls r2, r6, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- ldr r0, [sp, 0x10]
- lsls r4, r0, 24
- lsrs r4, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x4
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- adds r6, 0x1
- lsls r2, r6, 24
- lsrs r2, 24
- str r2, [sp, 0x18]
- ldr r1, [sp, 0x8]
- str r1, [sp]
- str r5, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x5
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _081057EC @ =0x00000404
- ldr r2, [sp, 0x8]
- lsls r2, 24
- asrs r2, 24
- mov r8, r2
- add r8, r6
- mov r3, r8
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- str r5, [sp]
- str r5, [sp, 0x4]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- ldr r6, [sp, 0x10]
- adds r6, 0x1
- ldr r0, [sp, 0xC]
- lsls r4, r0, 24
- asrs r4, 24
- adds r4, r6
- lsls r4, 24
- lsrs r4, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0xA
- ldr r2, [sp, 0x14]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, [sp, 0x8]
- str r1, [sp]
- str r5, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0xB
- ldr r2, [sp, 0x18]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _081057F0 @ =0x0000040a
- str r5, [sp]
- str r5, [sp, 0x4]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r4, 0
- bl FillBgTilemapBufferRect_Palette0
- lsls r3, r6, 24
- lsrs r3, 24
- str r3, [sp, 0x1C]
- str r5, [sp]
- mov r2, r10
- ldr r3, [sp, 0x10]
- subs r6, r2, r3
- subs r6, 0x1
- lsls r6, 24
- lsrs r6, 24
- str r6, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x6
- ldr r2, [sp, 0x14]
- ldr r3, [sp, 0x1C]
- bl FillBgTilemapBufferRect_Palette0
- mov r0, r10
- lsls r3, r0, 24
- lsrs r3, 24
- str r3, [sp, 0x20]
- str r5, [sp]
- str r5, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x7
- ldr r2, [sp, 0x14]
- bl FillBgTilemapBufferRect_Palette0
- movs r1, 0x1
- add r1, r10
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- str r5, [sp]
- ldr r2, [sp, 0xC]
- ldr r3, [sp, 0x10]
- adds r4, r2, r3
- mov r0, r10
- subs r4, r0
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x9
- ldr r2, [sp, 0x14]
- mov r3, r9
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _081057F4 @ =0x00000406
- str r5, [sp]
- str r6, [sp, 0x4]
- adds r0, r7, 0
- mov r2, r8
- ldr r3, [sp, 0x1C]
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _081057F8 @ =0x00000407
- str r5, [sp]
- str r5, [sp, 0x4]
- adds r0, r7, 0
- mov r2, r8
- ldr r3, [sp, 0x20]
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _081057FC @ =0x00000409
- str r5, [sp]
- str r4, [sp, 0x4]
- adds r0, r7, 0
- mov r2, r8
- mov r3, r9
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, [sp, 0x8]
- str r1, [sp]
- str r6, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x1
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl FillBgTilemapBufferRect_Palette0
- ldr r2, [sp, 0x8]
- str r2, [sp]
- str r5, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x8
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x20]
- bl FillBgTilemapBufferRect_Palette0
- ldr r3, [sp, 0x8]
- str r3, [sp]
- str r4, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x2
- ldr r2, [sp, 0x18]
- mov r3, r9
- bl FillBgTilemapBufferRect_Palette0
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081057EC: .4byte 0x00000404
-_081057F0: .4byte 0x0000040a
-_081057F4: .4byte 0x00000406
-_081057F8: .4byte 0x00000407
-_081057FC: .4byte 0x00000409
- thumb_func_end sub_8105594
-
- thumb_func_start sub_8105800
-sub_8105800: @ 8105800
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r7, r3, 24
- adds r0, r1, 0
- bl SpeciesToNationalPokedexNum
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r2, _08105860 @ =gPokedexEntries
- adds r5, r1, r2
- movs r4, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _08105864
- ldrb r0, [r5]
- .if REVISION == 0
- cmp r0, 0
- .else
- cmp r0, 0xFF
- .endif
- beq _08105878
-_08105840:
- mov r1, sp
- adds r1, r4
- adds r1, 0x8
- adds r0, r5, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r5, r4
- ldrb r0, [r0]
- .if REVISION == 0
- cmp r0, 0
- .else
- cmp r0, 0xFF
- .endif
- beq _08105878
- cmp r4, 0xA
- bls _08105840
- b _08105878
- .align 2, 0
-_08105860: .4byte gPokedexEntries
-_08105864:
- movs r1, 0xAC
-_08105866:
- mov r0, sp
- adds r0, r4
- adds r0, 0x8
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _08105866
-_08105878:
- mov r1, sp
- adds r1, r4
- adds r1, 0x8
- movs r0, 0xFF
- strb r0, [r1]
- str r7, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- mov r0, r8
- movs r1, 0
- add r2, sp, 0x8
- adds r3, r6, 0
- bl sub_81047C8
- movs r0, 0
- add r1, sp, 0x8
- movs r2, 0
- bl GetStringWidth
- adds r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _081058C0 @ =gText_PokedexPokemon
- str r7, [sp]
- str r4, [sp, 0x4]
- mov r0, r8
- movs r1, 0
- adds r3, r6, 0
- bl sub_81047C8
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081058C0: .4byte gText_PokedexPokemon
- thumb_func_end sub_8105800
-
- thumb_func_start sub_81058C4
-sub_81058C4: @ 81058C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- adds r0, r1, 0
- bl SpeciesToNationalPokedexNum
- ldr r2, _08105974 @ =gPokedexEntries
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r4, [r1, 0xC]
- ldr r1, _08105978 @ =gText_HT
- mov r10, r1
- movs r3, 0
- add r2, sp, 0x8
- movs r1, 0xFC
- strb r1, [r2]
- adds r2, 0x1
- movs r1, 0x14
- strb r1, [r2]
- adds r2, 0x1
- movs r1, 0x5
- strb r1, [r2]
- mov r1, sp
- adds r1, 0xB
- strb r3, [r1]
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _081059CE
- ldr r0, _0810597C @ =0x00002710
- muls r0, r4
- movs r1, 0xFE
- bl __divsi3
- adds r5, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _0810593A
- adds r5, 0xA
-_0810593A:
- adds r0, r5, 0
- movs r1, 0x78
- bl __udivsi3
- adds r6, r0, 0
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 3
- subs r0, r5, r0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r2, r0, 0
- cmp r2, 0
- bne _08105980
- add r0, sp, 0xC
- strb r2, [r0]
- mov r1, sp
- adds r1, 0xD
- adds r0, r6, 0
- adds r0, 0xA1
- strb r0, [r1]
- b _08105998
- .align 2, 0
-_08105974: .4byte gPokedexEntries
-_08105978: .4byte gText_HT
-_0810597C: .4byte 0x00002710
-_08105980:
- add r1, sp, 0xC
- adds r0, r2, 0
- adds r0, 0xA1
- strb r0, [r1]
- mov r4, sp
- adds r4, 0xD
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
-_08105998:
- mov r1, sp
- adds r1, 0xE
- movs r0, 0xB4
- strb r0, [r1]
- mov r4, sp
- adds r4, 0xF
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- add r4, sp, 0x10
- adds r0, r5, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- mov r1, sp
- adds r1, 0x11
- movs r0, 0xB2
- strb r0, [r1]
- movs r2, 0xB
- adds r1, 0x1
- movs r0, 0xFF
- b _081059F2
-_081059CE:
- add r0, sp, 0xC
- movs r1, 0xAC
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- mov r2, sp
- adds r2, 0xE
- movs r0, 0xB4
- strb r0, [r2]
- mov r0, sp
- adds r0, 0xF
- strb r1, [r0]
- add r0, sp, 0x10
- strb r1, [r0]
- movs r2, 0xA
- mov r1, sp
- adds r1, 0x11
- movs r0, 0xB2
-_081059F2:
- strb r0, [r1]
- mov r1, sp
- adds r1, r2
- adds r1, 0x8
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, r8
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- mov r0, r9
- movs r1, 0
- mov r2, r10
- adds r3, r7, 0
- bl sub_81047C8
- adds r0, r7, 0
- adds r0, 0x1E
- lsls r0, 24
- lsrs r7, r0, 24
- mov r1, r8
- str r1, [sp]
- str r4, [sp, 0x4]
- mov r0, r9
- movs r1, 0
- add r2, sp, 0x8
- adds r3, r7, 0
- bl sub_81047C8
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81058C4
-
- thumb_func_start sub_8105A3C
-sub_8105A3C: @ 8105A3C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- adds r0, r1, 0
- bl SpeciesToNationalPokedexNum
- ldr r2, _08105ACC @ =gPokedexEntries
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r4, [r1, 0xE]
- add r2, sp, 0x8
- movs r1, 0xFC
- strb r1, [r2]
- adds r2, 0x1
- movs r1, 0x14
- strb r1, [r2]
- adds r2, 0x1
- movs r1, 0x5
- strb r1, [r2]
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- bne _08105A92
- b _08105BC4
-_08105A92:
- ldr r7, _08105AD0 @ =0x000186a0
- adds r0, r4, 0
- muls r0, r7
- ldr r1, _08105AD4 @ =0x000011b8
- bl __divsi3
- adds r6, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _08105AAC
- adds r6, 0xA
-_08105AAC:
- movs r5, 0
- mov r4, sp
- adds r4, 0xB
- adds r0, r6, 0
- adds r1, r7, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _08105AD8
- movs r7, 0x4
- strb r5, [r4]
- b _08105ADC
- .align 2, 0
-_08105ACC: .4byte gPokedexEntries
-_08105AD0: .4byte 0x000186a0
-_08105AD4: .4byte 0x000011b8
-_08105AD8:
- movs r5, 0x1
- movs r7, 0x4
-_08105ADC:
- ldr r1, _08105B14 @ =0x000186a0
- adds r0, r6, 0
- bl __umodsi3
- adds r6, r0, 0
- mov r4, sp
- adds r4, r7
- adds r4, 0x8
- ldr r1, _08105B18 @ =0x00002710
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _08105B1C
- cmp r5, 0
- bne _08105B1C
- adds r0, r7, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r7, r1, 24
- add r0, sp
- adds r0, 0x8
- strb r5, [r0]
- b _08105B24
- .align 2, 0
-_08105B14: .4byte 0x000186a0
-_08105B18: .4byte 0x00002710
-_08105B1C:
- movs r5, 0x1
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_08105B24:
- ldr r1, _08105B5C @ =0x00002710
- adds r0, r6, 0
- bl __umodsi3
- adds r6, r0, 0
- mov r4, sp
- adds r4, r7
- adds r4, 0x8
- movs r1, 0xFA
- lsls r1, 2
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _08105B60
- cmp r5, 0
- bne _08105B60
- adds r0, r7, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r7, r1, 24
- add r0, sp
- adds r0, 0x8
- strb r5, [r0]
- b _08105B66
- .align 2, 0
-_08105B5C: .4byte 0x00002710
-_08105B60:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_08105B66:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r6, 0
- bl __umodsi3
- adds r6, r0, 0
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r5, r7, 0
- mov r4, sp
- adds r4, r1
- adds r4, 0x8
- adds r0, r6, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- adds r6, r0, 0
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- mov r1, sp
- adds r1, r5
- adds r1, 0x8
- movs r0, 0xAD
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- mov r4, sp
- adds r4, r2
- adds r4, 0x8
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- b _08105BE6
-_08105BC4:
- mov r0, sp
- adds r0, 0xB
- movs r2, 0xAC
- strb r2, [r0]
- add r0, sp, 0xC
- strb r2, [r0]
- adds r0, 0x1
- strb r2, [r0]
- adds r0, 0x1
- strb r2, [r0]
- mov r1, sp
- adds r1, 0xF
- movs r0, 0xAD
- strb r0, [r1]
- movs r7, 0x9
- add r0, sp, 0x10
- strb r2, [r0]
-_08105BE6:
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- mov r0, sp
- adds r0, r1
- adds r0, 0x8
- movs r4, 0
- strb r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r3, r7, 0
- mov r1, sp
- adds r1, r2
- adds r1, 0x8
- movs r0, 0xFC
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- mov r1, sp
- adds r1, r3
- adds r1, 0x8
- movs r0, 0x14
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, sp
- adds r0, r2
- adds r0, 0x8
- strb r4, [r0]
- movs r2, 0
- movs r0, 0x21
- subs r1, r0, r7
- mov r5, r8
- adds r5, 0x1E
- cmp r2, r1
- bcs _08105C60
- ldr r3, _08105CA8 @ =gText_Lbs
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _08105C60
- adds r3, r1, 0
- ldr r4, _08105CA8 @ =gText_Lbs
- adds r1, r7, 0
- add r1, sp
- adds r1, 0x8
-_08105C4C:
- ldrb r0, [r4]
- strb r0, [r1]
- adds r4, 0x1
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, r3
- bcs _08105C60
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _08105C4C
-_08105C60:
- adds r0, r7, r2
- mov r1, sp
- adds r1, r0
- adds r1, 0x8
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, r9
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- mov r0, r10
- movs r1, 0
- ldr r2, _08105CAC @ =gText_WT
- mov r3, r8
- bl sub_81047C8
- lsls r0, r5, 24
- lsrs r0, 24
- mov r8, r0
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- mov r0, r10
- movs r1, 0
- add r2, sp, 0x8
- mov r3, r8
- bl sub_81047C8
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08105CA8: .4byte gText_Lbs
-_08105CAC: .4byte gText_WT
- thumb_func_end sub_8105A3C
-
- thumb_func_start sub_8105CB0
-sub_8105CB0: @ 8105CB0
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r7, r3, 24
- adds r0, r1, 0
- bl SpeciesToNationalPokedexNum
- adds r4, r0, 0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _08105D5C
- ldr r1, _08105D44 @ =gPokedexEntries
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, 0x10
- adds r0, r1
- ldr r1, [r0]
- str r1, [sp]
- mov r0, sp
- movs r3, 0
- strb r6, [r0, 0x4]
- mov r2, sp
- movs r0, 0x2
- strb r0, [r2, 0x5]
- movs r0, 0x1
- strb r0, [r2, 0xA]
- mov r0, sp
- strb r3, [r0, 0xB]
- mov r4, sp
- ldrb r3, [r4, 0xC]
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r4, 0xC]
- mov r3, sp
- movs r0, 0x10
- strb r0, [r3, 0xC]
- ldrb r0, [r3, 0xD]
- ands r2, r0
- strb r2, [r3, 0xD]
- mov r2, sp
- movs r0, 0x20
- strb r0, [r2, 0xD]
- movs r0, 0x2
- movs r2, 0
- bl GetStringWidth
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- adds r0, r5, r1
- cmp r0, 0
- ble _08105D48
- lsls r0, 24
- lsrs r5, r0, 24
- b _08105D4A
- .align 2, 0
-_08105D44: .4byte gPokedexEntries
-_08105D48:
- movs r5, 0
-_08105D4A:
- mov r0, sp
- strb r5, [r0, 0x6]
- strb r7, [r0, 0x7]
- strb r5, [r0, 0x8]
- strb r7, [r0, 0x9]
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
-_08105D5C:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8105CB0
-
- thumb_func_start sub_8105D64
-sub_8105D64: @ 8105D64
- 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
- mov r10, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _08105E02
- ldr r1, _08105E14 @ =gMonFootprintTable
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- mov r12, r0
- ldr r7, _08105E18 @ =gDecompressionBuffer
- movs r5, 0
- movs r1, 0
-_08105DA6:
- mov r2, r12
- adds r0, r2, r1
- ldrb r3, [r0]
- movs r4, 0
- adds r6, r1, 0x1
-_08105DB0:
- lsls r1, r4, 1
- adds r2, r3, 0
- asrs r2, r1
- movs r0, 0x1
- ands r2, r0
- movs r0, 0x2
- lsls r0, r1
- ands r0, r3
- cmp r0, 0
- beq _08105DC8
- movs r0, 0x10
- orrs r2, r0
-_08105DC8:
- adds r0, r7, r5
- strb r2, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08105DB0
- lsls r0, r6, 16
- lsrs r1, r0, 16
- cmp r1, 0x1F
- bls _08105DA6
- movs r0, 0x10
- str r0, [sp]
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- mov r2, r8
- str r2, [sp, 0xC]
- str r0, [sp, 0x10]
- str r0, [sp, 0x14]
- mov r0, r10
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0
- bl BlitBitmapRectToWindow
-_08105E02:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08105E14: .4byte gMonFootprintTable
-_08105E18: .4byte gDecompressionBuffer
- thumb_func_end sub_8105D64
-
- thumb_func_start sub_8105E1C
-sub_8105E1C: @ 8105E1C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x3
- movs r1, 0x6
- bl sub_8105594
- movs r4, 0x1E
- str r4, [sp]
- movs r5, 0x14
- str r5, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- ldr r0, _08105FD0 @ =gUnknown_84521D4
- bl AddWindow
- ldr r4, _08105FD4 @ =gUnknown_203ACF0
- ldr r1, [r4]
- adds r1, 0x4A
- movs r2, 0
- mov r8, r2
- strb r0, [r1]
- ldr r0, _08105FD8 @ =gUnknown_84521DC
- bl AddWindow
- ldr r1, [r4]
- adds r1, 0x4B
- strb r0, [r1]
- ldr r0, _08105FDC @ =gUnknown_84521E4
- bl AddWindow
- ldr r1, [r4]
- adds r1, 0x4C
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x4A
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4A
- ldrb r0, [r0]
- adds r1, 0x5A
- ldrh r1, [r1]
- movs r2, 0x90
- bl sub_81049FC
- ldr r0, [r4]
- adds r0, 0x4A
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- adds r0, 0x4A
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- adds r0, 0x4B
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4B
- ldrb r0, [r0]
- adds r1, 0x5A
- ldrh r2, [r1]
- movs r5, 0x8
- str r5, [sp]
- movs r1, 0
- movs r3, 0
- bl sub_8104A34
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4B
- ldrb r0, [r0]
- adds r1, 0x5A
- ldrh r2, [r1]
- movs r1, 0xB
- muls r2, r1
- ldr r1, _08105FE0 @ =gSpeciesNames
- adds r2, r1
- str r5, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- movs r1, 0x2
- movs r3, 0x1C
- bl sub_81047C8
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4B
- ldrb r0, [r0]
- adds r1, 0x5A
- ldrh r1, [r1]
- movs r2, 0
- movs r3, 0x18
- bl sub_8105800
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4B
- ldrb r0, [r0]
- adds r1, 0x5A
- ldrh r1, [r1]
- movs r2, 0
- movs r3, 0x24
- bl sub_81058C4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4B
- ldrb r0, [r0]
- adds r1, 0x5A
- ldrh r1, [r1]
- movs r2, 0
- movs r3, 0x30
- bl sub_8105A3C
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4B
- ldrb r0, [r0]
- adds r1, 0x5A
- ldrh r1, [r1]
- movs r2, 0x58
- movs r3, 0x28
- bl sub_8105D64
- ldr r0, [r4]
- adds r0, 0x4B
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- adds r0, 0x4B
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- adds r0, 0x4C
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4C
- ldrb r0, [r0]
- adds r1, 0x5A
- ldrh r1, [r1]
- movs r2, 0
- movs r3, 0x8
- bl sub_8105CB0
- ldr r0, [r4]
- adds r0, 0x4C
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- adds r0, 0x4C
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- cmp r6, 0
- bne _08105FEC
- ldr r2, _08105FE4 @ =gText_Cry
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0x8
- bl sub_81047C8
- ldr r0, _08105FE8 @ =gText_NextDataCancel
- bl sub_8104C2C
- b _08105FF2
- .align 2, 0
-_08105FD0: .4byte gUnknown_84521D4
-_08105FD4: .4byte gUnknown_203ACF0
-_08105FD8: .4byte gUnknown_84521DC
-_08105FDC: .4byte gUnknown_84521E4
-_08105FE0: .4byte gSpeciesNames
-_08105FE4: .4byte gText_Cry
-_08105FE8: .4byte gText_NextDataCancel
-_08105FEC:
- ldr r0, _08106010 @ =gText_Next
- bl sub_8104C2C
-_08105FF2:
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08106010: .4byte gText_Next
- thumb_func_end sub_8105E1C
-
- thumb_func_start sub_8106014
-sub_8106014: @ 8106014
- push {r4,lr}
- ldr r4, _08106038 @ =gUnknown_203ACF0
- ldr r0, [r4]
- adds r0, 0x4A
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x4B
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x4C
- bl sub_81047B0
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08106038: .4byte gUnknown_203ACF0
- thumb_func_end sub_8106014
-
- thumb_func_start sub_810603C
-sub_810603C: @ 810603C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r6, _08106424 @ =gUnknown_203ACF0
- ldr r0, [r6]
- adds r0, 0x5A
- ldrh r0, [r0]
- str r0, [sp, 0x1C]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
- ldr r0, [sp, 0x1C]
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8104AB0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r7, 0x1C
- movs r0, 0xE
- mov r8, r0
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0x4
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _08106428 @ =0x00000404
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r2, 0x1D
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _0810642C @ =0x00000804
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0x11
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _08106430 @ =0x00000c04
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r2, 0x1D
- movs r3, 0x11
- bl FillBgTilemapBufferRect_Palette0
- str r7, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0x5
- movs r2, 0x1
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _08106434 @ =0x00000805
- str r7, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r2, 0x1
- movs r3, 0x11
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0x6
- movs r2, 0
- movs r3, 0x3
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _08106438 @ =0x00000406
- str r4, [sp]
- mov r2, r8
- str r2, [sp, 0x4]
- movs r0, 0x3
- movs r2, 0x1D
- movs r3, 0x3
- bl FillBgTilemapBufferRect_Palette0
- str r7, [sp]
- mov r3, r8
- str r3, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x3
- bl FillBgTilemapBufferRect_Palette0
- movs r5, 0x1E
- str r5, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- movs r7, 0xA
- movs r0, 0x6
- mov r8, r0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1D
- movs r2, 0x1
- movs r3, 0x9
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _0810643C @ =0x0000041d
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0x9
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _08106440 @ =0x0000081d
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r2, 0x1
- movs r3, 0x10
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _08106444 @ =0x00000c1d
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0x10
- bl FillBgTilemapBufferRect_Palette0
- str r7, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1E
- movs r2, 0x2
- movs r3, 0x9
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _08106448 @ =0x0000081e
- str r7, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r2, 0x2
- movs r3, 0x10
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1F
- movs r2, 0x1
- movs r3, 0xA
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _0810644C @ =0x0000041f
- str r4, [sp]
- mov r2, r8
- str r2, [sp, 0x4]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0xA
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- bl GetUnlockedSeviiAreas
- ldr r1, [r6]
- adds r1, 0x64
- strb r0, [r1]
- movs r3, 0x4
- mov r9, r3
- movs r4, 0x3
- ldr r0, [r6]
- adds r0, 0x64
- ldrb r1, [r0]
- movs r2, 0x1
-_081061E2:
- adds r0, r1, 0
- asrs r0, r4
- ands r0, r2
- cmp r0, 0
- beq _081061F0
- movs r0, 0
- mov r9, r0
-_081061F0:
- adds r4, 0x1
- cmp r4, 0x6
- ble _081061E2
- ldr r0, _08106450 @ =gUnknown_8452214
- bl AddWindow
- ldr r5, _08106424 @ =gUnknown_203ACF0
- ldr r1, [r5]
- adds r1, 0x4A
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x4A
- ldrb r0, [r0]
- ldr r1, _08106454 @ =gUnknown_8443620
- movs r2, 0
- movs r3, 0
- bl CopyToWindowPixelBuffer
- ldr r0, [r5]
- adds r0, 0x4A
- ldrb r4, [r0]
- adds r0, r4, 0
- movs r1, 0x2
- bl GetWindowAttribute
- adds r2, r0, 0
- add r2, r9
- adds r0, r4, 0
- movs r1, 0x2
- bl SetWindowAttribute
- ldr r0, [r5]
- adds r0, 0x4A
- ldrb r0, [r0]
- bl PutWindowTilemap
- movs r4, 0
- mov r1, r9
- lsls r1, 27
- str r1, [sp, 0x20]
- ldr r7, _08106458 @ =gUnknown_8452254
- adds r2, r7, 0x4
- mov r8, r2
-_08106246:
- ldr r0, [r5]
- adds r0, 0x64
- ldrb r1, [r0]
- asrs r1, r4
- movs r0, 0x1
- ands r1, r0
- adds r6, r4, 0x1
- cmp r1, 0
- beq _081062B4
- lsls r4, 3
- adds r0, r4, r7
- ldr r0, [r0]
- bl AddWindow
- ldr r1, [r5]
- adds r1, 0x4A
- adds r1, r6
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x4A
- adds r0, r6
- ldrb r0, [r0]
- add r4, r8
- ldr r1, [r4]
- movs r2, 0
- movs r3, 0
- bl CopyToWindowPixelBuffer
- ldr r0, [r5]
- adds r0, 0x4A
- adds r0, r6
- ldrb r4, [r0]
- adds r0, r4, 0
- movs r1, 0x2
- bl GetWindowAttribute
- adds r2, r0, 0
- add r2, r9
- adds r0, r4, 0
- movs r1, 0x2
- bl SetWindowAttribute
- ldr r0, [r5]
- adds r0, 0x4A
- adds r0, r6
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r5]
- adds r0, 0x4A
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
-_081062B4:
- adds r4, r6, 0
- cmp r4, 0x6
- ble _08106246
- ldr r0, _0810645C @ =gUnknown_84521F4
- bl AddWindow
- ldr r7, _08106424 @ =gUnknown_203ACF0
- ldr r1, [r7]
- adds r1, 0x52
- movs r6, 0
- strb r0, [r1]
- ldr r5, _08106460 @ =gUnknown_84521FC
- adds r0, r5, 0
- bl AddWindow
- ldr r1, [r7]
- adds r1, 0x53
- strb r0, [r1]
- ldr r3, _08106464 @ =gUnknown_8452204
- mov r8, r3
- mov r0, r8
- bl AddWindow
- ldr r1, [r7]
- adds r1, 0x54
- strb r0, [r1]
- ldr r0, _08106468 @ =gUnknown_84521EC
- bl AddWindow
- ldr r1, [r7]
- adds r1, 0x55
- strb r0, [r1]
- ldr r0, _0810646C @ =gUnknown_845220C
- bl AddWindow
- ldr r1, [r7]
- adds r1, 0x56
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x55
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0xA0
- ldr r1, [sp, 0x1C]
- bl sub_8107CD8
- ldr r0, [sp, 0x1C]
- bl sub_81049CC
- adds r2, r0, 0
- ldr r0, [r7]
- adds r0, 0x55
- ldrb r0, [r0]
- str r6, [sp]
- ldr r1, [sp, 0x1C]
- movs r3, 0
- bl sub_8107CF8
- ldr r0, [r7]
- adds r0, 0x55
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r7]
- adds r0, 0x55
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r7]
- adds r0, 0x53
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r4, _08106470 @ =gText_Size
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- ldr r1, [r7]
- adds r1, 0x53
- ldrb r1, [r1]
- ldrb r3, [r5, 0x3]
- lsls r3, 3
- subs r3, r0
- lsrs r0, r3, 31
- adds r3, r0
- asrs r3, 1
- lsls r3, 24
- lsrs r3, 24
- movs r5, 0x4
- str r5, [sp]
- str r6, [sp, 0x4]
- adds r0, r1, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_81047C8
- ldr r0, [r7]
- adds r0, 0x53
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r7]
- adds r0, 0x53
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r7]
- adds r0, 0x54
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r4, _08106474 @ =gText_Area
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- ldr r1, [r7]
- adds r1, 0x54
- ldrb r1, [r1]
- mov r2, r8
- ldrb r3, [r2, 0x3]
- lsls r3, 3
- subs r3, r0
- lsrs r0, r3, 31
- adds r3, r0
- asrs r3, 1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r6, [sp, 0x4]
- adds r0, r1, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_81047C8
- ldr r0, [r7]
- adds r0, 0x54
- ldrb r4, [r0]
- adds r0, r4, 0
- movs r1, 0x2
- bl GetWindowAttribute
- adds r2, r0, 0
- add r2, r9
- adds r0, r4, 0
- movs r1, 0x2
- bl SetWindowAttribute
- ldr r0, [r7]
- adds r0, 0x54
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r7]
- adds r0, 0x54
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r7]
- adds r0, 0x52
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- adds r0, 0x52
- ldrb r0, [r0]
- str r6, [sp]
- movs r1, 0
- ldr r2, [sp, 0x1C]
- movs r3, 0
- bl sub_8104A34
- b _08106478
- .align 2, 0
-_08106424: .4byte gUnknown_203ACF0
-_08106428: .4byte 0x00000404
-_0810642C: .4byte 0x00000804
-_08106430: .4byte 0x00000c04
-_08106434: .4byte 0x00000805
-_08106438: .4byte 0x00000406
-_0810643C: .4byte 0x0000041d
-_08106440: .4byte 0x0000081d
-_08106444: .4byte 0x00000c1d
-_08106448: .4byte 0x0000081e
-_0810644C: .4byte 0x0000041f
-_08106450: .4byte gUnknown_8452214
-_08106454: .4byte gUnknown_8443620
-_08106458: .4byte gUnknown_8452254
-_0810645C: .4byte gUnknown_84521F4
-_08106460: .4byte gUnknown_84521FC
-_08106464: .4byte gUnknown_8452204
-_08106468: .4byte gUnknown_84521EC
-_0810646C: .4byte gUnknown_845220C
-_08106470: .4byte gText_Size
-_08106474: .4byte gText_Area
-_08106478:
- ldr r0, [r7]
- adds r0, 0x52
- ldrb r0, [r0]
- movs r1, 0xB
- ldr r3, [sp, 0x1C]
- adds r2, r3, 0
- muls r2, r1
- ldr r1, _081066B0 @ =gSpeciesNames
- adds r2, r1
- movs r1, 0xC
- str r1, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x2
- movs r3, 0x3
- bl sub_81047C8
- ldr r0, [r7]
- adds r0, 0x52
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r7]
- adds r0, 0x52
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r7]
- adds r0, 0x56
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0xB0
- movs r1, 0x1
- bl ListMenuLoadStdPalAt
- mov r0, r10
- cmp r0, 0
- beq _08106504
- ldr r0, [r7]
- adds r0, 0x56
- ldrb r0, [r0]
- ldr r1, _081066B4 @ =gBaseStats
- ldr r2, [sp, 0x1C]
- lsls r4, r2, 3
- subs r4, r2
- lsls r4, 2
- adds r4, r1
- ldrb r5, [r4, 0x6]
- adds r1, r5, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- movs r3, 0x1
- bl BlitMoveInfoIcon
- ldrb r1, [r4, 0x7]
- cmp r5, r1
- beq _08106504
- ldr r0, [r7]
- adds r0, 0x56
- ldrb r0, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x20
- movs r3, 0x1
- bl BlitMoveInfoIcon
-_08106504:
- ldr r7, _081066B8 @ =gUnknown_203ACF0
- ldr r0, [r7]
- adds r0, 0x56
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r7]
- adds r0, 0x56
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- bl ResetAllPicSprites
- ldr r0, _081066BC @ =gUnknown_8452368
- movs r1, 0x90
- lsls r1, 1
- movs r2, 0x20
- bl LoadPalette
- mov r3, r10
- cmp r3, 0
- bne _08106534
- b _081066D0
-_08106534:
- ldr r0, [sp, 0x1C]
- bl sub_81049CC
- adds r2, r0, 0
- movs r0, 0x28
- str r0, [sp]
- movs r0, 0x68
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- ldr r1, _081066C0 @ =0x0000ffff
- str r1, [sp, 0xC]
- ldr r0, [sp, 0x1C]
- movs r1, 0x8
- movs r3, 0x1
- bl CreateMonPicSprite_HandleDeoxys
- ldr r1, [r7]
- adds r1, 0x58
- strb r0, [r1]
- ldr r2, _081066C4 @ =gSprites
- mov r10, r2
- ldr r0, [r7]
- adds r0, 0x58
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r10
- ldrb r2, [r1, 0x5]
- movs r3, 0xF
- mov r9, r3
- mov r0, r9
- ands r0, r2
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r7]
- adds r0, 0x58
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r10
- ldrb r2, [r1, 0x1]
- subs r3, 0x13
- mov r8, r3
- mov r0, r8
- ands r0, r2
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldr r0, [r7]
- adds r0, 0x58
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r10
- ldrb r2, [r1, 0x3]
- movs r6, 0x3F
- negs r6, r6
- adds r0, r6, 0
- ands r0, r2
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1, 0x3]
- ldr r0, [r7]
- adds r0, 0x58
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r10
- ldrb r2, [r1, 0x5]
- movs r5, 0xD
- negs r5, r5
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r0, [r7]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldr r1, _081066C8 @ =gPokedexEntries
- ldr r2, [sp, 0x18]
- lsls r4, r2, 3
- adds r4, r2
- lsls r4, 2
- adds r4, r1
- ldrh r1, [r4, 0x1C]
- strh r1, [r0, 0x26]
- ldrh r1, [r4, 0x1A]
- str r1, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldr r0, _081066CC @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0x1
- bl PlayerGenderToFrontTrainerPicId_Debug
- lsls r0, 16
- lsrs r0, 16
- movs r3, 0
- str r3, [sp]
- ldr r1, _081066C0 @ =0x0000ffff
- str r1, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0x50
- movs r3, 0x68
- bl CreateTrainerPicSprite
- ldr r1, [r7]
- adds r1, 0x59
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x59
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrb r1, [r0, 0x5]
- mov r2, r9
- ands r2, r1
- movs r3, 0x20
- orrs r2, r3
- strb r2, [r0, 0x5]
- ldr r0, [r7]
- adds r0, 0x59
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrb r1, [r0, 0x1]
- mov r2, r8
- ands r2, r1
- movs r3, 0x1
- orrs r2, r3
- strb r2, [r0, 0x1]
- ldr r0, [r7]
- adds r0, 0x59
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrb r1, [r0, 0x3]
- ands r6, r1
- movs r1, 0x2
- orrs r6, r1
- strb r6, [r0, 0x3]
- ldr r0, [r7]
- adds r0, 0x59
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrb r1, [r0, 0x5]
- ands r5, r1
- movs r1, 0x4
- orrs r5, r1
- strb r5, [r0, 0x5]
- ldr r0, [r7]
- adds r0, 0x59
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x26]
- ldrh r1, [r4, 0x1E]
- str r1, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- b _081066E2
- .align 2, 0
-_081066B0: .4byte gSpeciesNames
-_081066B4: .4byte gBaseStats
-_081066B8: .4byte gUnknown_203ACF0
-_081066BC: .4byte gUnknown_8452368
-_081066C0: .4byte 0x0000ffff
-_081066C4: .4byte gSprites
-_081066C8: .4byte gPokedexEntries
-_081066CC: .4byte gSaveBlock2Ptr
-_081066D0:
- ldr r0, [r7]
- adds r0, 0x58
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r7]
- adds r0, 0x59
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
-_081066E2:
- ldr r1, _081067A8 @ =0x000007d1
- ldr r2, [sp, 0x20]
- lsrs r3, r2, 24
- ldr r0, [sp, 0x1C]
- movs r2, 0x3
- bl sub_8134230
- ldr r5, _081067AC @ =gUnknown_203ACF0
- ldr r1, [r5]
- strb r0, [r1, 0x4]
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- bl sub_81344E0
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _0810675A
- ldr r0, [r5]
- adds r0, 0x4A
- ldrb r0, [r0]
- ldr r1, _081067B0 @ =gUnknown_8443D00
- movs r4, 0x58
- str r4, [sp]
- movs r3, 0x10
- str r3, [sp, 0x4]
- movs r2, 0x4
- str r2, [sp, 0x8]
- movs r2, 0x1C
- str r2, [sp, 0xC]
- str r4, [sp, 0x10]
- str r3, [sp, 0x14]
- movs r2, 0
- movs r3, 0
- bl BlitBitmapRectToWindow
- ldr r4, _081067B4 @ =gText_AreaUnknown
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- ldr r1, [r5]
- adds r1, 0x4A
- ldrb r1, [r1]
- movs r3, 0x60
- subs r3, r0
- lsrs r0, r3, 31
- adds r3, r0
- asrs r3, 1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1D
- str r0, [sp]
- str r6, [sp, 0x4]
- adds r0, r1, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_81047C8
-_0810675A:
- ldr r0, [r5]
- adds r0, 0x4A
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r2, _081067B8 @ =gText_Cry
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0x8
- bl sub_81047C8
- ldr r0, _081067BC @ =gText_CancelPreviousData
- bl sub_8104C2C
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081067A8: .4byte 0x000007d1
-_081067AC: .4byte gUnknown_203ACF0
-_081067B0: .4byte gUnknown_8443D00
-_081067B4: .4byte gText_AreaUnknown
-_081067B8: .4byte gText_Cry
-_081067BC: .4byte gText_CancelPreviousData
- thumb_func_end sub_810603C
-
- thumb_func_start sub_81067C0
-sub_81067C0: @ 81067C0
- push {r4,r5,lr}
- ldr r4, _0810680C @ =gUnknown_203ACF0
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl sub_81343F4
- movs r5, 0
-_081067CE:
- adds r1, r5, 0
- adds r1, 0x4A
- ldr r0, [r4]
- adds r0, r1
- bl sub_81047B0
- adds r5, 0x1
- cmp r5, 0xC
- ble _081067CE
- ldr r4, _0810680C @ =gUnknown_203ACF0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x59
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _081067F2
- bl FreeAndDestroyTrainerPicSprite
-_081067F2:
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x58
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _08106802
- bl FreeAndDestroyMonPicSprite
-_08106802:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0810680C: .4byte gUnknown_203ACF0
- thumb_func_end sub_81067C0
-
- thumb_func_start sub_8106810
-sub_8106810: @ 8106810
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl IsNationalPokedexEnabled
- cmp r0, 0x1
- beq _08106830
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x97
- bls _08106830
- movs r0, 0
- b _08106832
-_08106830:
- movs r0, 0x1
-_08106832:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8106810
-
- thumb_func_start sub_8106838
-sub_8106838: @ 8106838
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, _08106888 @ =gDexCategories
- lsrs r0, 21
- adds r0, r1
- ldr r2, [r0]
- lsls r1, r6, 3
- adds r1, r2
- ldrb r1, [r1, 0x4]
- mov r8, r1
- movs r5, 0
- adds r7, r0, 0
-_08106858:
- cmp r5, r8
- bge _0810688C
- ldr r1, [r7]
- lsls r0, r6, 3
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r5, 1
- adds r0, r1
- ldrh r4, [r0]
- adds r0, r4, 0
- bl sub_8106810
- cmp r0, 0x1
- bne _0810688C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _0810688C
- movs r0, 0x1
- b _08106894
- .align 2, 0
-_08106888: .4byte gDexCategories
-_0810688C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08106858
- movs r0, 0
-_08106894:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8106838
-
- thumb_func_start sub_81068A0
-sub_81068A0: @ 81068A0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _081068C8 @ =gDexCategories
- lsls r0, r6, 3
- adds r0, r1
- ldrb r5, [r0, 0x4]
- movs r4, 0
- cmp r4, r5
- bge _081068D2
-_081068B4:
- lsls r1, r4, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8106838
- lsls r0, 24
- cmp r0, 0
- beq _081068CC
- movs r0, 0x1
- b _081068D4
- .align 2, 0
-_081068C8: .4byte gDexCategories
-_081068CC:
- adds r4, 0x1
- cmp r4, r5
- blt _081068B4
-_081068D2:
- movs r0, 0
-_081068D4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81068A0
-
- thumb_func_start sub_81068DC
-sub_81068DC: @ 81068DC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, _08106990 @ =gDexCategories
- lsls r0, r4, 3
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r6, 3
- adds r0, r1
- ldrb r0, [r0, 0x4]
- mov r9, r0
- ldr r2, _08106994 @ =gUnknown_203ACF0
- ldr r0, [r2]
- adds r0, 0x2C
- movs r1, 0
- strb r1, [r0]
- movs r5, 0
- ldr r0, _08106998 @ =0x0000ffff
- adds r3, r0, 0
-_0810690C:
- ldr r0, [r2]
- lsls r1, r5, 1
- adds r0, 0x18
- adds r0, r1
- ldrh r1, [r0]
- orrs r1, r3
- strh r1, [r0]
- adds r5, 0x1
- cmp r5, 0x3
- ble _0810690C
- movs r5, 0
- cmp r5, r9
- bge _08106982
- ldr r1, _08106990 @ =gDexCategories
- lsls r0, r4, 3
- adds r0, r1
- mov r8, r0
- lsls r7, r6, 3
-_08106930:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r7, r0
- ldr r0, [r0]
- lsls r6, r5, 1
- adds r0, r6, r0
- ldrh r4, [r0]
- adds r0, r4, 0
- bl sub_8106810
- cmp r0, 0x1
- bne _0810697C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _0810697C
- ldr r0, _08106994 @ =gUnknown_203ACF0
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- lsls r0, 1
- adds r1, 0x18
- adds r1, r0
- mov r3, r8
- ldr r0, [r3]
- adds r0, r7, r0
- ldr r0, [r0]
- adds r0, r6, r0
- ldrh r0, [r0]
- strh r0, [r1]
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
-_0810697C:
- adds r5, 0x1
- cmp r5, r9
- blt _08106930
-_08106982:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08106990: .4byte gDexCategories
-_08106994: .4byte gUnknown_203ACF0
-_08106998: .4byte 0x0000ffff
- thumb_func_end sub_81068DC
-
- thumb_func_start sub_810699C
-sub_810699C: @ 810699C
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _081069F8 @ =gDexCategories
- lsls r0, r7, 3
- adds r0, r1
- ldrb r6, [r0, 0x4]
- movs r2, 0xFF
- movs r3, 0xFF
- movs r5, 0
- cmp r5, r6
- bge _081069DE
-_081069B6:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r7, 0
- adds r1, r4, 0
- str r2, [sp]
- str r3, [sp, 0x4]
- bl sub_8106838
- lsls r0, 24
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- cmp r0, 0
- beq _081069D8
- cmp r2, 0xFF
- bne _081069D6
- adds r2, r4, 0
-_081069D6:
- adds r3, r4, 0
-_081069D8:
- adds r5, 0x1
- cmp r5, r6
- blt _081069B6
-_081069DE:
- cmp r3, 0xFF
- bne _08106A00
- ldr r2, _081069FC @ =gUnknown_203ACF0
- ldr r0, [r2]
- adds r0, 0x29
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x2A
- strb r1, [r0]
- movs r0, 0x1
- b _08106A12
- .align 2, 0
-_081069F8: .4byte gDexCategories
-_081069FC: .4byte gUnknown_203ACF0
-_08106A00:
- ldr r1, _08106A1C @ =gUnknown_203ACF0
- ldr r0, [r1]
- adds r0, 0x29
- strb r2, [r0]
- ldr r0, [r1]
- adds r1, r3, 0x1
- adds r0, 0x2A
- strb r1, [r0]
- movs r0, 0
-_08106A12:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08106A1C: .4byte gUnknown_203ACF0
- thumb_func_end sub_810699C
-
- thumb_func_start sub_8106A20
-sub_8106A20: @ 8106A20
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r1, _08106A98 @ =gDexCategories
- str r1, [sp, 0x10]
-_08106A3A:
- ldr r2, [sp, 0x10]
- ldrb r2, [r2, 0x4]
- str r2, [sp, 0x8]
- movs r7, 0
- cmp r7, r2
- bge _08106AD6
- ldr r0, [sp, 0x10]
- str r0, [sp, 0xC]
- movs r1, 0
- mov r9, r1
-_08106A4E:
- ldr r2, [sp, 0xC]
- ldr r0, [r2]
- add r0, r9
- ldrb r6, [r0, 0x4]
- movs r5, 0
- mov r8, r5
- cmp r5, r6
- bge _08106ACA
- ldr r0, [sp, 0x10]
- mov r10, r0
- ldr r3, _08106A9C @ =gUnknown_203ACF0
-_08106A64:
- mov r1, r10
- ldr r0, [r1]
- add r0, r9
- ldr r1, [r0]
- lsls r0, r5, 1
- adds r0, r1
- ldrh r0, [r0]
- adds r4, r0, 0
- ldr r2, [sp]
- cmp r2, r4
- bne _08106AA0
- ldr r0, [r3]
- adds r0, 0x28
- mov r1, sp
- ldrb r1, [r1, 0x4]
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0x2B
- strb r7, [r0]
- ldr r0, [r3]
- adds r0, 0x2D
- mov r2, r8
- strb r2, [r0]
- movs r0, 0
- b _08106AE8
- .align 2, 0
-_08106A98: .4byte gDexCategories
-_08106A9C: .4byte gUnknown_203ACF0
-_08106AA0:
- adds r0, r4, 0
- str r3, [sp, 0x14]
- bl sub_8106810
- ldr r3, [sp, 0x14]
- cmp r0, 0x1
- bne _08106AC4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_8104AB0
- lsls r0, 24
- ldr r3, [sp, 0x14]
- cmp r0, 0
- beq _08106AC4
- movs r0, 0x1
- add r8, r0
-_08106AC4:
- adds r5, 0x1
- cmp r5, r6
- blt _08106A64
-_08106ACA:
- movs r1, 0x8
- add r9, r1
- adds r7, 0x1
- ldr r2, [sp, 0x8]
- cmp r7, r2
- blt _08106A4E
-_08106AD6:
- ldr r0, [sp, 0x10]
- adds r0, 0x8
- str r0, [sp, 0x10]
- ldr r1, [sp, 0x4]
- adds r1, 0x1
- str r1, [sp, 0x4]
- cmp r1, 0x8
- bls _08106A3A
- movs r0, 0x1
-_08106AE8:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8106A20
-
- thumb_func_start sub_8106AF8
-sub_8106AF8: @ 8106AF8
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0
- movs r6, 0
- cmp r6, r5
- bge _08106B24
-_08106B06:
- ldr r0, _08106B30 @ =gUnknown_203ACF0
- ldr r0, [r0]
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r4, 24
- lsrs r1, 24
- bl sub_8106838
- lsls r0, 24
- cmp r0, 0
- beq _08106B1E
- adds r6, 0x1
-_08106B1E:
- adds r4, 0x1
- cmp r4, r5
- blt _08106B06
-_08106B24:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08106B30: .4byte gUnknown_203ACF0
- thumb_func_end sub_8106AF8
-
- thumb_func_start sub_8106B34
-sub_8106B34: @ 8106B34
- push {lr}
- ldr r0, _08106B58 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08106B54
- ldr r0, _08106B5C @ =gUnknown_203ACF0
- ldr r0, [r0]
- adds r0, 0x5A
- ldrh r0, [r0]
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
-_08106B54:
- pop {r0}
- bx r0
- .align 2, 0
-_08106B58: .4byte gMain
-_08106B5C: .4byte gUnknown_203ACF0
- thumb_func_end sub_8106B34
-
- thumb_func_start sub_8106B60
-sub_8106B60: @ 8106B60
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r5, 0
- movs r1, 0x2
- movs r2, 0x1
- bl sub_8104AB0
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8104AB0
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _08106BA4
- adds r0, r5, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x97
- bls _08106BA4
- ldr r0, _08106BA0 @ =sub_8106BD8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- b _08106BC6
- .align 2, 0
-_08106BA0: .4byte sub_8106BD8
-_08106BA4:
- bl sub_810250C
- ldr r2, _08106BCC @ =gTasks
- ldr r4, _08106BD0 @ =gUnknown_203ACF0
- ldr r0, [r4]
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _08106BD4 @ =sub_8106BE8
- str r1, [r0]
- adds r0, r5, 0
- bl sub_8106A20
- ldr r0, [r4]
- ldrb r0, [r0]
-_08106BC6:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08106BCC: .4byte gTasks
-_08106BD0: .4byte gUnknown_203ACF0
-_08106BD4: .4byte sub_8106BE8
- thumb_func_end sub_8106B60
-
- thumb_func_start sub_8106BD8
-sub_8106BD8: @ 8106BD8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- pop {r0}
- bx r0
- thumb_func_end sub_8106BD8
-
- thumb_func_start sub_8106BE8
-sub_8106BE8: @ 8106BE8
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08106C08 @ =gUnknown_203ACF0
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0xB
- bls _08106BFE
- b _08106E6A
-_08106BFE:
- lsls r0, 2
- ldr r1, _08106C0C @ =_08106C10
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08106C08: .4byte gUnknown_203ACF0
-_08106C0C: .4byte _08106C10
- .align 2, 0
-_08106C10:
- .4byte _08106C40
- .4byte _08106C62
- .4byte _08106C84
- .4byte _08106C98
- .4byte _08106CD4
- .4byte _08106D1C
- .4byte _08106D4C
- .4byte _08106D9E
- .4byte _08106DBA
- .4byte _08106DCC
- .4byte _08106DDE
- .4byte _08106E58
-_08106C40:
- ldr r0, [r4]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_810699C
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x2B
- adds r0, 0x29
- ldrb r1, [r0]
- ldrb r0, [r2]
- cmp r0, r1
- bcs _08106C5C
- strb r1, [r2]
-_08106C5C:
- ldr r1, [r4]
- movs r0, 0x3
- b _08106E68
-_08106C62:
- bl sub_8106014
- bl sub_8104E90
- ldr r0, _08106C7C @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _08106C80 @ =gUnknown_203ACF0
- ldr r1, [r0]
- b _08106E66
- .align 2, 0
-_08106C7C: .4byte gMain
-_08106C80: .4byte gUnknown_203ACF0
-_08106C84:
- bl sub_8102798
- lsls r0, 24
- cmp r0, 0
- bne _08106C90
- b _08106E6A
-_08106C90:
- adds r0, r5, 0
- bl DestroyTask
- b _08106E6A
-_08106C98:
- movs r0, 0x1
- bl sub_8104F0C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0xFF
- bl sub_8105058
- ldr r0, _08106CD0 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x4
- b _08106E68
- .align 2, 0
-_08106CD0: .4byte gUnknown_203ACF0
-_08106CD4:
- ldr r2, _08106D10 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- ldr r1, _08106D14 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0
- bl ShowBg
- ldr r0, _08106D18 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x5
- b _08106E68
- .align 2, 0
-_08106D10: .4byte gPaletteFade
-_08106D14: .4byte 0x0000ffff
-_08106D18: .4byte gUnknown_203ACF0
-_08106D1C:
- ldr r1, _08106D40 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1E
- strh r1, [r0, 0x8]
- ldr r0, _08106D44 @ =gUnknown_84524C4
- movs r1, 0
- bl ListMenuAddCursorObjectInternal
- ldr r2, _08106D48 @ =gUnknown_203ACF0
- ldr r1, [r2]
- adds r1, 0x61
- strb r0, [r1]
- ldr r1, [r2]
- movs r0, 0x6
- b _08106E68
- .align 2, 0
-_08106D40: .4byte gTasks
-_08106D44: .4byte gUnknown_84524C4
-_08106D48: .4byte gUnknown_203ACF0
-_08106D4C:
- ldr r0, [r4]
- adds r0, 0x2D
- ldrb r0, [r0]
- bl sub_8105058
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x61
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x2D
- ldrb r1, [r1]
- adds r2, 0x2C
- ldrb r2, [r2]
- bl sub_8105178
- ldr r1, _08106D88 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08106D8C
- subs r0, r2, 0x1
- strh r0, [r1, 0x8]
- b _08106E6A
- .align 2, 0
-_08106D88: .4byte gTasks
-_08106D8C:
- ldr r0, [r4]
- adds r0, 0x61
- ldrb r0, [r0]
- movs r1, 0
- bl ListMenuRemoveCursorObject
- ldr r1, [r4]
- movs r0, 0x7
- b _08106E68
-_08106D9E:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x2D
- ldrb r1, [r0]
- lsls r1, 1
- subs r0, 0x15
- adds r0, r1
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x5A
- strh r0, [r1]
- movs r0, 0x8
- strb r0, [r2, 0x1]
- b _08106E6A
-_08106DBA:
- movs r0, 0x1
- bl sub_8105E1C
- ldr r0, _08106DC8 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x9
- b _08106E68
- .align 2, 0
-_08106DC8: .4byte gUnknown_203ACF0
-_08106DCC:
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x2]
- ldr r0, [r4]
- strb r1, [r0, 0x3]
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
-_08106DDE:
- ldr r1, [r4]
- ldrb r0, [r1, 0x3]
- cmp r0, 0x5
- bhi _08106E10
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _08106E0A
- ldrb r1, [r1, 0x3]
- movs r0, 0
- bl sub_8105594
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- movs r0, 0x4
- strb r0, [r1, 0x2]
- ldr r1, [r4]
- ldrb r0, [r1, 0x3]
- adds r0, 0x1
- strb r0, [r1, 0x3]
- b _08106E6A
-_08106E0A:
- subs r0, 0x1
- strb r0, [r1, 0x2]
- b _08106E6A
-_08106E10:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, [r4]
- adds r0, 0x5A
- ldrh r0, [r0]
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x2]
- ldr r1, [r4]
- movs r0, 0xB
- b _08106E68
-_08106E58:
- ldr r0, _08106E74 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08106E6A
- ldr r1, [r4]
-_08106E66:
- movs r0, 0x2
-_08106E68:
- strb r0, [r1, 0x1]
-_08106E6A:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08106E74: .4byte gMain
- thumb_func_end sub_8106BE8
-
- thumb_func_start sub_8106E78
-sub_8106E78: @ 8106E78
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- cmp r1, 0x1
- beq _08106E8E
- cmp r1, 0x1
- bgt _08106EA0
- cmp r1, 0
- bne _08106EA0
- movs r1, 0x8
- b _08106EAE
-_08106E8E:
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0xF0
- subs r1, r0
- lsrs r1, 1
- b _08106EAE
-_08106EA0:
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0xE8
- subs r1, r0
-_08106EAE:
- lsls r3, r1, 24
- lsrs r3, 24
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl sub_81047C8
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8106E78
-
- .align 2, 0 @ Don't pad with nop.