summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2019-12-14 22:14:50 -0500
committerGitHub <noreply@github.com>2019-12-14 22:14:50 -0500
commitd064611e623bc21f148356f06c916eaebce1e971 (patch)
tree03cd64704bb3eb57ff9223bff1fbc0a29af16585
parentf12824e3b1643f86599e2c03c96b752a87a73746 (diff)
parent3301c8ff1d852ab95a6607783500beaa96c807bd (diff)
Merge pull request #181 from PikalaxALT/pokedex_screen
Pokedex screen
-rw-r--r--asm/pokedex_screen.s5903
-rw-r--r--baserom.ipsbin78640 -> 40940 bytes
-rw-r--r--data/pokedex_screen.s3600
-rw-r--r--graphics/pokedex/unk_8440124.bin1
-rw-r--r--graphics/pokedex/unk_8440274.pngbin0 -> 306 bytes
-rw-r--r--graphics/pokedex/unk_84403AC.pngbin0 -> 274 bytes
-rw-r--r--graphics/pokedex/unk_84404C8.pal259
-rw-r--r--graphics/pokedex/unk_84406E0.pal259
-rw-r--r--graphics/pokedex/unk_84408E0.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8440BD8.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8440EF0.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_844112C.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_84414BC.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8441808.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8441A40.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8441D54.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8442004.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_844223C.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_84424E4.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8442838.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8442BC0.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8442EF8.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_844318C.binbin0 -> 1536 bytes
-rw-r--r--graphics/pokedex/unk_8443420.pal19
-rw-r--r--graphics/pokedex/unk_8443440.pal19
-rw-r--r--graphics/pokedex/unk_8443460.pal19
-rw-r--r--graphics/pokedex/unk_8443480.pal19
-rw-r--r--graphics/pokedex/unk_84434A0.pal19
-rw-r--r--graphics/pokedex/unk_84434C0.pal19
-rw-r--r--graphics/pokedex/unk_84434E0.pal19
-rw-r--r--graphics/pokedex/unk_8443500.pal19
-rw-r--r--graphics/pokedex/unk_8443520.pal19
-rw-r--r--graphics/pokedex/unk_8443540.pal19
-rw-r--r--graphics/pokedex/unk_8443560.pal19
-rw-r--r--graphics/pokedex/unk_8443580.pal19
-rw-r--r--graphics/pokedex/unk_84435A0.pal19
-rw-r--r--graphics/pokedex/unk_84435C0.pal19
-rw-r--r--graphics/pokedex/unk_84435E0.pal19
-rw-r--r--graphics/pokedex/unk_8443600.pngbin0 -> 105 bytes
-rw-r--r--graphics/pokedex/unk_8443620.bin1
-rw-r--r--graphics/pokedex/unk_8443910.bin1
-rw-r--r--graphics/pokedex/unk_8443988.bin1
-rw-r--r--graphics/pokedex/unk_84439FC.bin1
-rw-r--r--graphics/pokedex/unk_8443A78.bin1
-rw-r--r--graphics/pokedex/unk_8443AF8.bin1
-rw-r--r--graphics/pokedex/unk_8443BB0.bin1
-rw-r--r--graphics/pokedex/unk_8443C54.bin1
-rw-r--r--graphics/pokedex/unk_8443D00.pngbin0 -> 201 bytes
-rw-r--r--graphics/pokedex/unk_845228C.binbin0 -> 128 bytes
-rw-r--r--graphics/pokedex/unk_8452368.pal19
-rw-r--r--include/global.h5
-rw-r--r--include/list_menu.h4
-rw-r--r--include/menu_indicators.h4
-rw-r--r--include/pokedex_screen.h1
-rw-r--r--include/sound.h2
-rw-r--r--include/strings.h14
-rw-r--r--ld_script.txt1
-rw-r--r--src/list_menu.c8
-rw-r--r--src/menu_indicators.c8
-rw-r--r--src/pokedex.c3
-rw-r--r--src/pokedex_screen.c2075
61 files changed, 6438 insertions, 6021 deletions
diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s
index 9c57cff88..4bd153c77 100644
--- a/asm/pokedex_screen.s
+++ b/asm/pokedex_screen.s
@@ -5,5909 +5,6 @@
.text
- thumb_func_start sub_81024C0
-sub_81024C0: @ 81024C0
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81024C0
-
- thumb_func_start sub_81024D4
-sub_81024D4: @ 81024D4
- push {lr}
- ldr r0, _08102500 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081024EC
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _08102504
-_081024EC:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- b _08102508
- .align 2, 0
-_08102500: .4byte gPaletteFade
-_08102504:
- bl UpdatePaletteFade
-_08102508:
- pop {r0}
- bx r0
- thumb_func_end sub_81024D4
-
- thumb_func_start sub_810250C
-sub_810250C: @ 810250C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- bl IsNationalPokedexEnabled
- lsls r0, 24
- lsrs r6, r0, 24
- bl m4aSoundVSyncOff
- movs r0, 0
- bl SetVBlankCallback
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl ScanlineEffect_Stop
- movs r0, 0x1
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _08102598 @ =gUnknown_8451EBC
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl Alloc
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- cmp r6, 0
- beq _081025A0
- ldr r1, _0810259C @ =gUnknown_84403AC
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- adds r2, r4, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- b _081025AE
- .align 2, 0
-_08102598: .4byte gUnknown_8451EBC
-_0810259C: .4byte gUnknown_84403AC
-_081025A0:
- ldr r1, _081026A4 @ =gUnknown_8440274
- str r6, [sp]
- movs r0, 0x3
- adds r2, r4, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
-_081025AE:
- ldr r0, _081026A8 @ =gUnknown_8451ECC
- bl InitWindows
- bl DeactivateAllTextPrinters
- bl m4aSoundVSyncOn
- ldr r0, _081026AC @ =sub_81024C0
- bl SetVBlankCallback
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, _081026B0 @ =sub_810287C
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _081026B4 @ =gUnknown_203ACF0
- movs r0, 0x70
- bl Alloc
- str r0, [r5]
- ldr r1, _081026B8 @ =gUnknown_8451EE4
- movs r2, 0x70
- bl memcpy
- ldr r0, [r5]
- strb r4, [r0]
- movs r0, 0xC1
- lsls r0, 4
- bl Alloc
- ldr r1, [r5]
- str r0, [r1, 0x44]
- movs r0, 0
- movs r1, 0x1
- bl sub_8104BBC
- ldr r1, [r5]
- adds r1, 0x6A
- strh r0, [r1]
- movs r0, 0x1
- movs r1, 0x1
- bl sub_8104BBC
- ldr r1, [r5]
- adds r1, 0x6C
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- bl sub_8104BBC
- ldr r1, [r5]
- adds r1, 0x66
- strh r0, [r1]
- movs r0, 0x1
- movs r1, 0
- bl sub_8104BBC
- ldr r1, [r5]
- adds r1, 0x68
- strh r0, [r1]
- movs r0, 0x80
- bl sub_8072474
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r2, _081026BC @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- cmp r6, 0
- beq _081026C4
- ldr r0, _081026C0 @ =gUnknown_84406E0
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadPalette
- b _081026D0
- .align 2, 0
-_081026A4: .4byte gUnknown_8440274
-_081026A8: .4byte gUnknown_8451ECC
-_081026AC: .4byte sub_81024C0
-_081026B0: .4byte sub_810287C
-_081026B4: .4byte gUnknown_203ACF0
-_081026B8: .4byte gUnknown_8451EE4
-_081026BC: .4byte gPaletteFade
-_081026C0: .4byte gUnknown_84406E0
-_081026C4:
- ldr r0, _08102758 @ =gUnknown_84404C8
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadPalette
-_081026D0:
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r5, 0x11
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- movs r0, 0x2
- mov r8, r0
- str r0, [sp, 0x4]
- movs r6, 0xF
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect
- str r4, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x12
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08102758: .4byte gUnknown_84404C8
- thumb_func_end sub_810250C
-
- thumb_func_start CB2_OpenPokedexFromStartMenu
-CB2_OpenPokedexFromStartMenu: @ 810275C
- push {lr}
- bl sub_810250C
- movs r1, 0xC0
- lsls r1, 7
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r0, _08102794 @ =sub_81024D4
- bl SetMainCallback2
- movs r0, 0x4
- bl HelpSystem_SetSomeVariable2
- pop {r0}
- bx r0
- .align 2, 0
-_08102794: .4byte sub_81024D4
- thumb_func_end CB2_OpenPokedexFromStartMenu
-
- thumb_func_start sub_8102798
-sub_8102798: @ 8102798
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _081027B4 @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _081027D8
- cmp r1, 0x1
- bgt _081027B8
- cmp r1, 0
- beq _081027BE
- b _0810284A
- .align 2, 0
-_081027B4: .4byte gMain
-_081027B8:
- cmp r1, 0x2
- beq _081027F2
- b _0810284A
-_081027BE:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r4]
- adds r0, 0x1
-_081027D2:
- strb r0, [r4]
-_081027D4:
- movs r0, 0
- b _0810284C
-_081027D8:
- ldr r0, _081027E8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081027EC
- movs r0, 0x2
- b _081027D2
- .align 2, 0
-_081027E8: .4byte gPaletteFade
-_081027EC:
- bl UpdatePaletteFade
- b _081027D4
-_081027F2:
- ldr r4, _08102854 @ =gUnknown_203ACF0
- ldr r0, [r4]
- ldr r0, [r0, 0x44]
- cmp r0, 0
- beq _08102800
- bl Free
-_08102800:
- ldr r0, [r4]
- cmp r0, 0
- beq _0810280A
- bl Free
-_0810280A:
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _0810281C
- bl Free
-_0810281C:
- movs r0, 0x1
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _0810282A
- bl Free
-_0810282A:
- movs r0, 0x2
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _08102838
- bl Free
-_08102838:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _08102846
- bl Free
-_08102846:
- bl sub_807249C
-_0810284A:
- movs r0, 0x1
-_0810284C:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08102854: .4byte gUnknown_203ACF0
- thumb_func_end sub_8102798
-
- thumb_func_start sub_8102858
-sub_8102858: @ 8102858
- push {lr}
- bl sub_8102798
- lsls r0, 24
- cmp r0, 0
- beq _08102874
- movs r1, 0xC0
- lsls r1, 7
- movs r0, 0
- bl SetGpuRegBits
- ldr r0, _08102878 @ =CB2_ReturnToFieldWithOpenMenu
- bl SetMainCallback2
-_08102874:
- pop {r0}
- bx r0
- .align 2, 0
-_08102878: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_8102858
-
- thumb_func_start sub_810287C
-sub_810287C: @ 810287C
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0810289C @ =gUnknown_203ACF0
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0x9
- bls _08102892
- b _08102C18
-_08102892:
- lsls r0, 2
- ldr r1, _081028A0 @ =_081028A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810289C: .4byte gUnknown_203ACF0
-_081028A0: .4byte _081028A4
- .align 2, 0
-_081028A4:
- .4byte _081028CC
- .4byte _081028FC
- .4byte _08102930
- .4byte _08102940
- .4byte _08102964
- .4byte _081029D0
- .4byte _08102A14
- .4byte _08102B24
- .4byte _08102B94
- .4byte _08102BD8
-_081028CC:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r4, 0
-_081028D4:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_81068A0
- ldr r1, _081028F8 @ =gUnknown_203ACF0
- ldr r2, [r1]
- lsls r0, 24
- lsrs r0, 24
- lsls r0, r4
- ldr r1, [r2, 0x8]
- orrs r1, r0
- str r1, [r2, 0x8]
- adds r4, 0x1
- cmp r4, 0x8
- ble _081028D4
- movs r0, 0x2
- strb r0, [r2, 0x1]
- b _08102C18
- .align 2, 0
-_081028F8: .4byte gUnknown_203ACF0
-_081028FC:
- ldr r0, [r4]
- adds r0, 0x60
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x15
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x16
- bl sub_81047B0
- ldr r0, _0810292C @ =sub_8102858
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
- b _08102C18
- .align 2, 0
-_0810292C: .4byte sub_8102858
-_08102930:
- bl sub_8102C28
- ldr r0, _0810293C @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x3
- b _08102C16
- .align 2, 0
-_0810293C: .4byte gUnknown_203ACF0
-_08102940:
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08102960 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x4
- b _08102C16
- .align 2, 0
-_08102960: .4byte gUnknown_203ACF0
-_08102964:
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0
- bl ShowBg
- ldr r2, _081029A4 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081029AC
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- ldr r1, _081029A8 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- b _081029BC
- .align 2, 0
-_081029A4: .4byte gPaletteFade
-_081029A8: .4byte 0x0000ffff
-_081029AC:
- ldr r0, _081029C4 @ =0xffff7fff
- ldr r1, _081029C8 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_081029BC:
- ldr r0, _081029CC @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x5
- b _08102C16
- .align 2, 0
-_081029C4: .4byte 0xffff7fff
-_081029C8: .4byte 0x0000ffff
-_081029CC: .4byte gUnknown_203ACF0
-_081029D0:
- ldr r4, _081029EC @ =gUnknown_203ACF0
- ldr r1, [r4]
- ldrb r0, [r1, 0x17]
- adds r1, 0x62
- movs r2, 0
- bl ListMenuGetScrollAndRow
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _081029F4
- ldr r0, _081029F0 @ =gUnknown_84520E4
- b _081029F6
- .align 2, 0
-_081029EC: .4byte gUnknown_203ACF0
-_081029F0: .4byte gUnknown_84520E4
-_081029F4:
- ldr r0, _08102A0C @ =gUnknown_84520D4
-_081029F6:
- ldr r1, [r4]
- adds r1, 0x62
- bl AddScrollIndicatorArrowPair
- ldr r1, [r4]
- adds r1, 0x60
- strb r0, [r1]
- ldr r0, _08102A10 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x6
- b _08102C16
- .align 2, 0
-_08102A0C: .4byte gUnknown_84520D4
-_08102A10: .4byte gUnknown_203ACF0
-_08102A14:
- ldr r0, [r4]
- ldrb r0, [r0, 0x17]
- bl ListMenu_ProcessInput
- ldr r1, [r4]
- str r0, [r1, 0xC]
- ldrb r0, [r1, 0x17]
- adds r1, 0x62
- movs r2, 0
- bl ListMenuGetScrollAndRow
- ldr r0, _08102A4C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r3, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08102B14
- ldr r2, [r4]
- ldr r1, [r2, 0xC]
- cmp r1, 0xD
- bhi _08102A50
- cmp r1, 0xA
- bcs _08102ADC
- cmp r1, 0x8
- bls _08102A62
- b _08102AA4
- .align 2, 0
-_08102A4C: .4byte gMain
-_08102A50:
- cmp r1, 0xE
- beq _08102AA4
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _08102A5E
- b _08102C18
-_08102A5E:
- strb r3, [r2, 0x1]
- b _08102C18
-_08102A62:
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_81068A0
- lsls r0, 24
- cmp r0, 0
- bne _08102A72
- b _08102C18
-_08102A72:
- ldr r0, [r4]
- adds r0, 0x60
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- ldr r1, [r0, 0xC]
- adds r0, 0x28
- strb r1, [r0]
- ldr r0, _08102A9C @ =0xffff7fff
- ldr r1, _08102AA0 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- movs r0, 0x7
- b _08102C16
- .align 2, 0
-_08102A9C: .4byte 0xffff7fff
-_08102AA0: .4byte 0x0000ffff
-_08102AA4:
- ldr r4, _08102AD0 @ =gUnknown_203ACF0
- ldr r0, [r4]
- adds r0, 0x60
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- subs r0, 0x9
- adds r1, 0x42
- strb r0, [r1]
- ldr r0, _08102AD4 @ =0xffff7fff
- ldr r1, _08102AD8 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- movs r0, 0x9
- b _08102C16
- .align 2, 0
-_08102AD0: .4byte gUnknown_203ACF0
-_08102AD4: .4byte 0xffff7fff
-_08102AD8: .4byte 0x0000ffff
-_08102ADC:
- adds r0, r2, 0
- adds r0, 0x60
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- ldr r1, [r0, 0xC]
- subs r1, 0x9
- adds r0, 0x42
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- strh r2, [r0, 0x3A]
- strh r2, [r0, 0x38]
- ldr r0, _08102B0C @ =0xffff7fff
- ldr r1, _08102B10 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- movs r0, 0x8
- b _08102C16
- .align 2, 0
-_08102B0C: .4byte 0xffff7fff
-_08102B10: .4byte 0x0000ffff
-_08102B14:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08102B1E
- b _08102C18
-_08102B1E:
- ldr r0, [r4]
- strb r3, [r0, 0x1]
- b _08102C18
-_08102B24:
- ldr r2, [r4]
- ldrb r0, [r2, 0x17]
- adds r1, r2, 0
- adds r1, 0x12
- adds r2, 0x10
- bl DestroyListMenuTask
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x15
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x16
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x2B
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x2D
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x2F
- strb r2, [r0]
- ldr r1, _08102B8C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08102B90 @ =sub_8103AC8
- str r1, [r0]
- ldr r0, [r4]
- strb r2, [r0, 0x1]
- b _08102C18
- .align 2, 0
-_08102B8C: .4byte gTasks
-_08102B90: .4byte sub_8103AC8
-_08102B94:
- ldr r2, [r4]
- ldrb r0, [r2, 0x17]
- adds r1, r2, 0
- adds r1, 0x12
- adds r2, 0x10
- bl DestroyListMenuTask
- movs r0, 0x1
- bl HideBg
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x15
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x16
- bl sub_81047B0
- ldr r1, _08102BD0 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08102BD4 @ =sub_8103238
- b _08102C10
- .align 2, 0
-_08102BD0: .4byte gTasks
-_08102BD4: .4byte sub_8103238
-_08102BD8:
- ldr r2, [r4]
- ldrb r0, [r2, 0x17]
- adds r1, r2, 0
- adds r1, 0x12
- adds r2, 0x10
- bl DestroyListMenuTask
- movs r0, 0x1
- bl HideBg
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x15
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x16
- bl sub_81047B0
- ldr r1, _08102C20 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08102C24 @ =sub_8102F80
-_08102C10:
- str r1, [r0]
- ldr r1, [r4]
- movs r0, 0
-_08102C16:
- strb r0, [r1, 0x1]
-_08102C18:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08102C20: .4byte gTasks
-_08102C24: .4byte sub_8102F80
- thumb_func_end sub_810287C
-
- thumb_func_start sub_8102C28
-sub_8102C28: @ 8102C28
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x24
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0
- mov r9, r0
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r6, 0x11
- str r6, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r5, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, _08102DA4 @ =gUnknown_8451F54
- bl AddWindow
- ldr r7, _08102DA8 @ =gUnknown_203ACF0
- ldr r1, [r7]
- strb r0, [r1, 0x14]
- ldr r0, _08102DAC @ =gUnknown_8451F5C
- bl AddWindow
- ldr r1, [r7]
- strb r0, [r1, 0x15]
- ldr r0, _08102DB0 @ =gUnknown_8451F64
- bl AddWindow
- ldr r1, [r7]
- strb r0, [r1, 0x16]
- bl IsNationalPokedexEnabled
- adds r5, r0, 0
- cmp r5, 0
- bne _08102C9E
- b _08102DC8
-_08102C9E:
- add r1, sp, 0xC
- ldr r0, _08102DB4 @ =gUnknown_84520BC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- add r2, sp, 0xC
- ldr r0, [r7]
- ldrb r1, [r0, 0x14]
- strb r1, [r2, 0x10]
- ldrh r1, [r0, 0x12]
- ldrh r2, [r0, 0x10]
- add r0, sp, 0xC
- bl ListMenuInit
- ldr r1, [r7]
- strb r0, [r1, 0x17]
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- ldr r2, _08102DB8 @ =gUnknown_8415DC4
- movs r5, 0x2
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0
- bl sub_81047C8
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- ldr r2, _08102DBC @ =gUnknown_8415DD1
- mov r8, r2
- movs r4, 0xD
- str r4, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r1, 0
- movs r3, 0x8
- bl sub_81047C8
- ldr r1, [r7]
- ldrb r0, [r1, 0x16]
- adds r1, 0x66
- ldrh r2, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r3, 0x34
- bl sub_810491C
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- ldr r6, _08102DC0 @ =gUnknown_8415DD7
- movs r4, 0x18
- str r4, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- movs r1, 0
- adds r2, r6, 0
- movs r3, 0x8
- bl sub_81047C8
- ldr r1, [r7]
- ldrb r0, [r1, 0x16]
- adds r1, 0x6A
- ldrh r2, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r3, 0x34
- bl sub_810491C
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- ldr r2, _08102DC4 @ =gUnknown_8415DCA
- movs r1, 0x25
- str r1, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r1, 0
- movs r3, 0
- bl sub_81047C8
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- movs r4, 0x30
- str r4, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- movs r1, 0
- mov r2, r8
- movs r3, 0x8
- bl sub_81047C8
- ldr r1, [r7]
- ldrb r0, [r1, 0x16]
- adds r1, 0x68
- ldrh r2, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r3, 0x34
- bl sub_810491C
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- movs r4, 0x3B
- str r4, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- movs r1, 0
- adds r2, r6, 0
- movs r3, 0x8
- bl sub_81047C8
- ldr r1, [r7]
- ldrb r0, [r1, 0x16]
- adds r1, 0x6C
- ldrh r2, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r3, 0x34
- bl sub_810491C
- b _08102E4A
- .align 2, 0
-_08102DA4: .4byte gUnknown_8451F54
-_08102DA8: .4byte gUnknown_203ACF0
-_08102DAC: .4byte gUnknown_8451F5C
-_08102DB0: .4byte gUnknown_8451F64
-_08102DB4: .4byte gUnknown_84520BC
-_08102DB8: .4byte gUnknown_8415DC4
-_08102DBC: .4byte gUnknown_8415DD1
-_08102DC0: .4byte gUnknown_8415DD7
-_08102DC4: .4byte gUnknown_8415DCA
-_08102DC8:
- add r1, sp, 0xC
- ldr r0, _08102EA8 @ =gUnknown_8452004
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- add r2, sp, 0xC
- ldr r0, [r7]
- ldrb r1, [r0, 0x14]
- strb r1, [r2, 0x10]
- ldrh r1, [r0, 0x12]
- ldrh r2, [r0, 0x10]
- add r0, sp, 0xC
- bl ListMenuInit
- ldr r1, [r7]
- strb r0, [r1, 0x17]
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- ldr r2, _08102EAC @ =gUnknown_8415DC4
- movs r1, 0x9
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1
- movs r3, 0
- bl sub_81047C8
- ldr r1, [r7]
- ldrb r0, [r1, 0x16]
- adds r1, 0x66
- ldrh r2, [r1]
- movs r1, 0x15
- str r1, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r1, 0x1
- movs r3, 0x20
- bl sub_810491C
- ldr r0, [r7]
- ldrb r0, [r0, 0x16]
- ldr r2, _08102EB0 @ =gUnknown_8415DCA
- movs r1, 0x25
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1
- movs r3, 0
- bl sub_81047C8
- ldr r1, [r7]
- ldrb r0, [r1, 0x16]
- adds r1, 0x68
- ldrh r2, [r1]
- movs r1, 0x31
- str r1, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x1
- movs r3, 0x20
- bl sub_810491C
-_08102E4A:
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r0, _08102EB4 @ =gUnknown_8415D9C
- movs r1, 0x1
- bl sub_8106E78
- movs r0, 0x1
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r0, _08102EB8 @ =gUnknown_8415DB8
- bl sub_8104C2C
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r4, _08102EBC @ =gUnknown_203ACF0
- ldr r0, [r4]
- ldrb r0, [r0, 0x16]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldrb r0, [r0, 0x16]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08102EA8: .4byte gUnknown_8452004
-_08102EAC: .4byte gUnknown_8415DC4
-_08102EB0: .4byte gUnknown_8415DCA
-_08102EB4: .4byte gUnknown_8415D9C
-_08102EB8: .4byte gUnknown_8415DB8
-_08102EBC: .4byte gUnknown_203ACF0
- thumb_func_end sub_8102C28
-
- thumb_func_start sub_8102EC0
-sub_8102EC0: @ 8102EC0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- cmp r1, 0
- bne _08102ED0
- movs r0, 0x5
- bl PlaySE
-_08102ED0:
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- bne _08102F00
- ldr r0, _08102EF4 @ =gUnknown_203ACF0
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- ldr r1, _08102EF8 @ =gUnknown_8440EF0
- movs r2, 0
- movs r3, 0
- bl CopyToWindowPixelBuffer
- ldr r0, _08102EFC @ =gUnknown_8443460
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- b _08102F24
- .align 2, 0
-_08102EF4: .4byte gUnknown_203ACF0
-_08102EF8: .4byte gUnknown_8440EF0
-_08102EFC: .4byte gUnknown_8443460
-_08102F00:
- ldr r0, _08102F40 @ =gUnknown_203ACF0
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- ldr r4, _08102F44 @ =gUnknown_84520F4
- lsls r5, 3
- adds r1, r5, r4
- ldr r1, [r1]
- movs r2, 0
- movs r3, 0
- bl CopyToWindowPixelBuffer
- adds r4, 0x4
- adds r5, r4
- ldr r0, [r5]
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
-_08102F24:
- ldr r4, _08102F40 @ =gUnknown_203ACF0
- ldr r0, [r4]
- ldrb r0, [r0, 0x15]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldrb r0, [r0, 0x15]
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08102F40: .4byte gUnknown_203ACF0
-_08102F44: .4byte gUnknown_84520F4
- thumb_func_end sub_8102EC0
-
- thumb_func_start sub_8102F48
-sub_8102F48: @ 8102F48
- push {lr}
- adds r2, r1, 0
- cmp r2, 0x8
- bhi _08102F60
- ldr r0, _08102F6C @ =gUnknown_203ACF0
- ldr r0, [r0]
- movs r1, 0x1
- lsls r1, r2
- ldr r0, [r0, 0x8]
- ands r0, r1
- cmp r0, 0
- beq _08102F70
-_08102F60:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x3
- bl ListMenuOverrideSetColors
- b _08102F7A
- .align 2, 0
-_08102F6C: .4byte gUnknown_203ACF0
-_08102F70:
- movs r0, 0xA
- movs r1, 0
- movs r2, 0xB
- bl ListMenuOverrideSetColors
-_08102F7A:
- pop {r0}
- bx r0
- thumb_func_end sub_8102F48
-
- thumb_func_start sub_8102F80
-sub_8102F80: @ 8102F80
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08102FA0 @ =gUnknown_203ACF0
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0x7
- bls _08102F96
- b _0810316C
-_08102F96:
- lsls r0, 2
- ldr r1, _08102FA4 @ =_08102FA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08102FA0: .4byte gUnknown_203ACF0
-_08102FA4: .4byte _08102FA8
- .align 2, 0
-_08102FA8:
- .4byte _08102FC8
- .4byte _08102FF8
- .4byte _08103028
- .4byte _08103038
- .4byte _08103050
- .4byte _0810307C
- .4byte _08103098
- .4byte _0810312C
-_08102FC8:
- movs r0, 0x10
- movs r1, 0
- bl sub_8107D38
- movs r0, 0x20
- movs r1, 0x1
- bl sub_8107D38
- ldr r4, _08102FF4 @ =gUnknown_203ACF0
- ldr r0, [r4]
- adds r0, 0x42
- ldrb r0, [r0]
- bl sub_8103518
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x48
- strh r0, [r1]
- movs r0, 0x2
- strb r0, [r2, 0x1]
- b _0810316C
- .align 2, 0
-_08102FF4: .4byte gUnknown_203ACF0
-_08102FF8:
- ldr r0, [r4]
- adds r0, 0x42
- ldrb r0, [r0]
- bl sub_8103988
- movs r0, 0x1
- bl HideBg
- ldr r0, [r4]
- adds r0, 0x40
- bl sub_81047B0
- ldr r1, _08103020 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08103024 @ =sub_810287C
- b _08103164
- .align 2, 0
-_08103020: .4byte gTasks
-_08103024: .4byte sub_810287C
-_08103028:
- bl sub_810317C
- ldr r0, _08103034 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x3
- b _0810316A
- .align 2, 0
-_08103034: .4byte gUnknown_203ACF0
-_08103038:
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, _0810304C @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x4
- b _0810316A
- .align 2, 0
-_0810304C: .4byte gUnknown_203ACF0
-_08103050:
- movs r0, 0x1
- bl ShowBg
- ldr r0, _08103070 @ =0xffff7fff
- ldr r1, _08103074 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08103078 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x5
- b _0810316A
- .align 2, 0
-_08103070: .4byte 0xffff7fff
-_08103074: .4byte 0x0000ffff
-_08103078: .4byte gUnknown_203ACF0
-_0810307C:
- ldr r1, [r4]
- ldrb r0, [r1, 0x17]
- adds r1, 0x62
- movs r2, 0
- bl ListMenuGetScrollAndRow
- bl sub_81039F0
- ldr r1, [r4]
- adds r1, 0x60
- strb r0, [r1]
- ldr r1, [r4]
- movs r0, 0x6
- b _0810316A
-_08103098:
- ldr r0, [r4]
- adds r0, 0x41
- ldrb r0, [r0]
- bl ListMenu_ProcessInput
- ldr r1, [r4]
- str r0, [r1, 0x30]
- ldrb r0, [r1, 0x17]
- adds r1, 0x62
- movs r2, 0
- bl ListMenuGetScrollAndRow
- ldr r0, _081030F0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _081030FC
- ldr r1, [r4]
- ldr r2, [r1, 0x30]
- lsrs r0, r2, 16
- ands r0, r3
- cmp r0, 0
- beq _0810316C
- adds r0, r1, 0
- adds r0, 0x5A
- strh r2, [r0]
- adds r0, 0x6
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r0, _081030F4 @ =0xffff7fff
- ldr r1, _081030F8 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- movs r0, 0x7
- b _0810316A
- .align 2, 0
-_081030F0: .4byte gMain
-_081030F4: .4byte 0xffff7fff
-_081030F8: .4byte 0x0000ffff
-_081030FC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0810316C
- ldr r0, [r4]
- adds r0, 0x60
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r0, _08103124 @ =0xffff7fff
- ldr r1, _08103128 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- movs r0, 0x1
- b _0810316A
- .align 2, 0
-_08103124: .4byte 0xffff7fff
-_08103128: .4byte 0x0000ffff
-_0810312C:
- ldr r0, [r4]
- adds r0, 0x42
- ldrb r0, [r0]
- bl sub_8103988
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, [r4]
- adds r0, 0x40
- bl sub_81047B0
- ldr r1, _08103174 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08103178 @ =sub_81042EC
-_08103164:
- str r1, [r0]
- ldr r1, [r4]
- movs r0, 0
-_0810316A:
- strb r0, [r1, 0x1]
-_0810316C:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08103174: .4byte gTasks
-_08103178: .4byte sub_81042EC
- thumb_func_end sub_8102F80
-
- thumb_func_start sub_810317C
-sub_810317C: @ 810317C
- push {r4,r5,lr}
- sub sp, 0x24
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, _08103224 @ =gUnknown_845216C
- bl AddWindow
- ldr r2, _08103228 @ =gUnknown_203ACF0
- ldr r1, [r2]
- adds r1, 0x40
- strb r0, [r1]
- add r1, sp, 0xC
- ldr r0, _0810322C @ =gUnknown_8452174
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r2, [r2]
- ldr r0, [r2, 0x44]
- str r0, [sp, 0xC]
- add r1, sp, 0xC
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- strb r0, [r1, 0x10]
- adds r0, r2, 0
- adds r0, 0x48
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- adds r0, r2, 0
- adds r0, 0x42
- ldrb r1, [r0]
- add r0, sp, 0xC
- bl sub_8103924
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r0, _08103230 @ =gUnknown_8415F3D
- movs r1, 0x1
- bl sub_8106E78
- movs r0, 0x1
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r0, _08103234 @ =gText_PickOKExit
- bl sub_8104C2C
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x24
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08103224: .4byte gUnknown_845216C
-_08103228: .4byte gUnknown_203ACF0
-_0810322C: .4byte gUnknown_8452174
-_08103230: .4byte gUnknown_8415F3D
-_08103234: .4byte gText_PickOKExit
- thumb_func_end sub_810317C
-
- thumb_func_start sub_8103238
-sub_8103238: @ 8103238
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08103258 @ =gUnknown_203ACF0
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0x7
- bls _0810324E
- b _0810344C
-_0810324E:
- lsls r0, 2
- ldr r1, _0810325C @ =_08103260
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08103258: .4byte gUnknown_203ACF0
-_0810325C: .4byte _08103260
- .align 2, 0
-_08103260:
- .4byte _08103280
- .4byte _081032B0
- .4byte _081032E8
- .4byte _081032FC
- .4byte _08103318
- .4byte _08103344
- .4byte _08103362
- .4byte _08103404
-_08103280:
- movs r0, 0x10
- movs r1, 0
- bl sub_8107D38
- movs r0, 0x20
- movs r1, 0x1
- bl sub_8107D38
- ldr r4, _081032AC @ =gUnknown_203ACF0
- ldr r0, [r4]
- adds r0, 0x42
- ldrb r0, [r0]
- bl sub_8103518
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x48
- strh r0, [r1]
- movs r0, 0x2
- strb r0, [r2, 0x1]
- b _0810344C
- .align 2, 0
-_081032AC: .4byte gUnknown_203ACF0
-_081032B0:
- ldr r0, [r4]
- adds r0, 0x42
- ldrb r0, [r0]
- bl sub_8103988
- movs r0, 0x1
- bl HideBg
- ldr r0, [r4]
- adds r0, 0x40
- bl sub_81047B0
- ldr r1, _081032E0 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _081032E4 @ =sub_810287C
- str r1, [r0]
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x1]
- b _0810344C
- .align 2, 0
-_081032E0: .4byte gTasks
-_081032E4: .4byte sub_810287C
-_081032E8:
- bl sub_810345C
- ldr r0, _081032F8 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x3
- strb r0, [r1, 0x1]
- b _0810344C
- .align 2, 0
-_081032F8: .4byte gUnknown_203ACF0
-_081032FC:
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, _08103314 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1, 0x1]
- b _0810344C
- .align 2, 0
-_08103314: .4byte gUnknown_203ACF0
-_08103318:
- movs r0, 0x1
- bl ShowBg
- ldr r0, _08103338 @ =0xffff7fff
- ldr r1, _0810333C @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08103340 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- b _0810344C
- .align 2, 0
-_08103338: .4byte 0xffff7fff
-_0810333C: .4byte 0x0000ffff
-_08103340: .4byte gUnknown_203ACF0
-_08103344:
- ldr r1, [r4]
- ldrb r0, [r1, 0x17]
- adds r1, 0x62
- movs r2, 0
- bl ListMenuGetScrollAndRow
- bl sub_81039F0
- ldr r1, [r4]
- adds r1, 0x60
- strb r0, [r1]
- ldr r1, [r4]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- b _0810344C
-_08103362:
- ldr r0, [r4]
- adds r0, 0x41
- ldrb r0, [r0]
- bl ListMenu_ProcessInput
- ldr r1, [r4]
- str r0, [r1, 0x30]
- ldrb r0, [r1, 0x17]
- adds r1, 0x62
- movs r2, 0
- bl ListMenuGetScrollAndRow
- ldr r0, _081033C4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _081033D0
- ldr r0, [r4]
- ldr r1, [r0, 0x30]
- lsrs r0, r1, 16
- ands r0, r2
- cmp r0, 0
- beq _0810344C
- lsls r0, r1, 16
- lsrs r0, 16
- bl sub_8106A20
- lsls r0, 24
- cmp r0, 0
- bne _0810344C
- ldr r0, [r4]
- adds r0, 0x60
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r0, _081033C8 @ =0xffff7fff
- ldr r1, _081033CC @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- movs r0, 0x7
- strb r0, [r1, 0x1]
- b _0810344C
- .align 2, 0
-_081033C4: .4byte gMain
-_081033C8: .4byte 0xffff7fff
-_081033CC: .4byte 0x0000ffff
-_081033D0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0810344C
- ldr r0, [r4]
- adds r0, 0x60
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r0, _081033FC @ =0xffff7fff
- ldr r1, _08103400 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- b _0810344C
- .align 2, 0
-_081033FC: .4byte 0xffff7fff
-_08103400: .4byte 0x0000ffff
-_08103404:
- ldr r0, [r4]
- adds r0, 0x42
- ldrb r0, [r0]
- bl sub_8103988
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, [r4]
- adds r0, 0x40
- bl sub_81047B0
- ldr r0, [r4]
- adds r0, 0x2F
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, _08103454 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08103458 @ =sub_8103AC8
- str r1, [r0]
- ldr r0, [r4]
- strb r2, [r0, 0x1]
-_0810344C:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08103454: .4byte gTasks
-_08103458: .4byte sub_8103AC8
- thumb_func_end sub_8103238
-
- thumb_func_start sub_810345C
-sub_810345C: @ 810345C
- push {r4,r5,lr}
- sub sp, 0x24
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r0, _08103504 @ =gUnknown_845216C
- bl AddWindow
- ldr r2, _08103508 @ =gUnknown_203ACF0
- ldr r1, [r2]
- adds r1, 0x40
- strb r0, [r1]
- add r1, sp, 0xC
- ldr r0, _0810350C @ =gUnknown_8452174
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r2, [r2]
- ldr r0, [r2, 0x44]
- str r0, [sp, 0xC]
- add r1, sp, 0xC
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- strb r0, [r1, 0x10]
- adds r0, r2, 0
- adds r0, 0x48
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- adds r0, r2, 0
- adds r0, 0x42
- ldrb r1, [r0]
- add r0, sp, 0xC
- bl sub_8103924
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r0, _08103510 @ =gUnknown_8415F4A
- movs r1, 0x1
- bl sub_8106E78
- movs r0, 0x1
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r0, _08103514 @ =gText_PickOKExit
- bl sub_8104C2C
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x24
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08103504: .4byte gUnknown_845216C
-_08103508: .4byte gUnknown_203ACF0
-_0810350C: .4byte gUnknown_8452174
-_08103510: .4byte gUnknown_8415F4A
-_08103514: .4byte gText_PickOKExit
- thumb_func_end sub_810345C
-
- thumb_func_start sub_8103518
-sub_8103518: @ 8103518
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsNationalPokedexEnabled
- movs r1, 0x97
- str r1, [sp]
- cmp r0, 0
- beq _0810353A
- movs r2, 0xC1
- lsls r2, 1
- str r2, [sp]
-_0810353A:
- movs r0, 0
- mov r10, r0
- cmp r4, 0x5
- bhi _08103568
- lsls r0, r4, 2
- ldr r1, _0810354C @ =_08103550
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810354C: .4byte _08103550
- .align 2, 0
-_08103550:
- .4byte _08103568
- .4byte _08103604
- .4byte _0810369C
- .4byte _0810373C
- .4byte _081037D8
- .4byte _08103874
-_08103568:
- movs r1, 0
- mov r8, r1
-_0810356C:
- mov r4, r8
- adds r4, 0x1
- lsls r0, r4, 16
- lsrs r5, r0, 16
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r9, r4
- cmp r7, 0
- beq _081035C4
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- ldr r2, _081035BC @ =gUnknown_203ACF0
- ldr r1, [r2]
- ldr r2, [r1, 0x44]
- mov r1, r8
- lsls r3, r1, 3
- adds r2, r3, r2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- muls r0, r1
- ldr r1, _081035C0 @ =gSpeciesNames
- adds r0, r1
- str r0, [r2]
- mov r10, r5
- adds r4, r3, 0
- b _081035D6
- .align 2, 0
-_081035BC: .4byte gUnknown_203ACF0
-_081035C0: .4byte gSpeciesNames
-_081035C4:
- ldr r2, _081035FC @ =gUnknown_203ACF0
- ldr r0, [r2]
- ldr r1, [r0, 0x44]
- mov r0, r8
- lsls r2, r0, 3
- adds r1, r2, r1
- ldr r0, _08103600 @ =gUnknown_8415F66
- str r0, [r1]
- adds r4, r2, 0
-_081035D6:
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- ldr r2, _081035FC @ =gUnknown_203ACF0
- ldr r1, [r2]
- ldr r3, [r1, 0x44]
- adds r3, r4, r3
- lsls r2, r6, 17
- lsls r1, r7, 16
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- adds r2, r0
- str r2, [r3, 0x4]
- mov r8, r9
- mov r0, r8
- cmp r0, 0x96
- ble _0810356C
- b _08103906
- .align 2, 0
-_081035FC: .4byte gUnknown_203ACF0
-_08103600: .4byte gUnknown_8415F66
-_08103604:
- movs r1, 0
- mov r8, r1
- ldr r2, _08103690 @ =gUnknown_203ACF0
- mov r9, r2
-_0810360C:
- ldr r1, _08103694 @ =gUnknown_8443FC0
- mov r2, r8
- lsls r0, r2, 1
- adds r0, r1
- ldrh r5, [r0]
- ldr r0, [sp]
- cmp r5, r0
- bgt _08103682
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r7, 0
- beq _08103682
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- mov r2, r9
- ldr r1, [r2]
- ldr r2, [r1, 0x44]
- mov r1, r10
- lsls r4, r1, 3
- adds r2, r4, r2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- muls r0, r1
- ldr r1, _08103698 @ =gSpeciesNames
- adds r0, r1
- str r0, [r2]
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- mov r2, r9
- ldr r1, [r2]
- ldr r1, [r1, 0x44]
- adds r4, r1
- lsls r2, r6, 17
- lsls r1, r7, 16
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- adds r2, r0
- str r2, [r4, 0x4]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
-_08103682:
- movs r0, 0x1
- add r8, r0
- movs r0, 0xCD
- lsls r0, 1
- cmp r8, r0
- ble _0810360C
- b _08103906
- .align 2, 0
-_08103690: .4byte gUnknown_203ACF0
-_08103694: .4byte gUnknown_8443FC0
-_08103698: .4byte gSpeciesNames
-_0810369C:
- movs r1, 0
- mov r8, r1
- ldr r2, _08103730 @ =gUnknown_203ACF0
- mov r9, r2
-_081036A4:
- ldr r1, _08103734 @ =gUnknown_84448FE
- mov r2, r8
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [sp]
- cmp r5, r0
- bgt _08103722
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _08103722
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- mov r2, r9
- ldr r1, [r2]
- ldr r2, [r1, 0x44]
- mov r1, r10
- lsls r4, r1, 3
- adds r2, r4, r2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- muls r0, r1
- ldr r1, _08103738 @ =gSpeciesNames
- adds r0, r1
- str r0, [r2]
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- mov r2, r9
- ldr r1, [r2]
- ldr r1, [r1, 0x44]
- adds r4, r1
- lsls r2, r6, 17
- lsls r1, r7, 16
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- adds r2, r0
- str r2, [r4, 0x4]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
-_08103722:
- movs r0, 0x1
- add r8, r0
- movs r0, 0xCD
- lsls r0, 1
- cmp r8, r0
- ble _081036A4
- b _08103906
- .align 2, 0
-_08103730: .4byte gUnknown_203ACF0
-_08103734: .4byte gUnknown_84448FE
-_08103738: .4byte gSpeciesNames
-_0810373C:
- movs r1, 0
- mov r8, r1
- ldr r2, _081037C8 @ =gUnknown_203ACF0
- mov r9, r2
-_08103744:
- ldr r1, _081037CC @ =gUnknown_84442F6
- mov r2, r8
- lsls r0, r2, 1
- adds r0, r1
- ldrh r5, [r0]
- ldr r0, [sp]
- cmp r5, r0
- bgt _081037BA
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _081037BA
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- mov r2, r9
- ldr r1, [r2]
- ldr r2, [r1, 0x44]
- mov r1, r10
- lsls r4, r1, 3
- adds r2, r4, r2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- muls r0, r1
- ldr r1, _081037D0 @ =gSpeciesNames
- adds r0, r1
- str r0, [r2]
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- mov r2, r9
- ldr r1, [r2]
- ldr r1, [r1, 0x44]
- adds r4, r1
- lsls r2, r6, 17
- lsls r1, r7, 16
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- adds r2, r0
- str r2, [r4, 0x4]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
-_081037BA:
- movs r0, 0x1
- add r8, r0
- ldr r0, _081037D4 @ =0x00000181
- cmp r8, r0
- ble _08103744
- b _08103906
- .align 2, 0
-_081037C8: .4byte gUnknown_203ACF0
-_081037CC: .4byte gUnknown_84442F6
-_081037D0: .4byte gSpeciesNames
-_081037D4: .4byte 0x00000181
-_081037D8:
- movs r1, 0
- mov r8, r1
- ldr r2, _08103864 @ =gUnknown_203ACF0
- mov r9, r2
-_081037E0:
- ldr r1, _08103868 @ =gUnknown_84445FA
- mov r2, r8
- lsls r0, r2, 1
- adds r0, r1
- ldrh r5, [r0]
- ldr r0, [sp]
- cmp r5, r0
- bgt _08103856
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _08103856
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- mov r2, r9
- ldr r1, [r2]
- ldr r2, [r1, 0x44]
- mov r1, r10
- lsls r4, r1, 3
- adds r2, r4, r2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- muls r0, r1
- ldr r1, _0810386C @ =gSpeciesNames
- adds r0, r1
- str r0, [r2]
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- mov r2, r9
- ldr r1, [r2]
- ldr r1, [r1, 0x44]
- adds r4, r1
- lsls r2, r6, 17
- lsls r1, r7, 16
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- adds r2, r0
- str r2, [r4, 0x4]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
-_08103856:
- movs r0, 0x1
- add r8, r0
- ldr r0, _08103870 @ =0x00000181
- cmp r8, r0
- ble _081037E0
- b _08103906
- .align 2, 0
-_08103864: .4byte gUnknown_203ACF0
-_08103868: .4byte gUnknown_84445FA
-_0810386C: .4byte gSpeciesNames
-_08103870: .4byte 0x00000181
-_08103874:
- movs r1, 0
- mov r8, r1
-_08103878:
- mov r4, r8
- adds r4, 0x1
- lsls r0, r4, 16
- lsrs r5, r0, 16
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r9, r4
- cmp r7, 0
- beq _081038D0
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- ldr r2, _081038C8 @ =gUnknown_203ACF0
- ldr r1, [r2]
- ldr r2, [r1, 0x44]
- mov r1, r8
- lsls r3, r1, 3
- adds r2, r3, r2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- muls r0, r1
- ldr r1, _081038CC @ =gSpeciesNames
- adds r0, r1
- str r0, [r2]
- mov r10, r5
- adds r4, r3, 0
- b _081038E2
- .align 2, 0
-_081038C8: .4byte gUnknown_203ACF0
-_081038CC: .4byte gSpeciesNames
-_081038D0:
- ldr r2, _08103918 @ =gUnknown_203ACF0
- ldr r0, [r2]
- ldr r1, [r0, 0x44]
- mov r0, r8
- lsls r2, r0, 3
- adds r1, r2, r1
- ldr r0, _0810391C @ =gUnknown_8415F66
- str r0, [r1]
- adds r4, r2, 0
-_081038E2:
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- ldr r2, _08103918 @ =gUnknown_203ACF0
- ldr r1, [r2]
- ldr r3, [r1, 0x44]
- adds r3, r4, r3
- lsls r2, r6, 17
- lsls r1, r7, 16
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- adds r2, r0
- str r2, [r3, 0x4]
- mov r8, r9
- ldr r0, _08103920 @ =0x00000181
- cmp r8, r0
- ble _08103878
-_08103906:
- mov r0, r10
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08103918: .4byte gUnknown_203ACF0
-_0810391C: .4byte gUnknown_8415F66
-_08103920: .4byte 0x00000181
- thumb_func_end sub_8103518
-
- thumb_func_start sub_8103924
-sub_8103924: @ 8103924
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x4
- bgt _08103936
- cmp r1, 0x1
- bge _08103950
- b _0810393A
-_08103936:
- cmp r1, 0x5
- beq _08103964
-_0810393A:
- ldr r1, _08103948 @ =gUnknown_845218C
- ldr r4, _0810394C @ =gUnknown_203ACF0
- ldr r0, [r4]
- ldrh r2, [r0, 0x36]
- ldrh r3, [r0, 0x34]
- b _0810396E
- .align 2, 0
-_08103948: .4byte gUnknown_845218C
-_0810394C: .4byte gUnknown_203ACF0
-_08103950:
- ldr r1, _0810395C @ =gUnknown_845218C
- ldr r4, _08103960 @ =gUnknown_203ACF0
- ldr r0, [r4]
- ldrh r2, [r0, 0x3A]
- ldrh r3, [r0, 0x38]
- b _0810396E
- .align 2, 0
-_0810395C: .4byte gUnknown_845218C
-_08103960: .4byte gUnknown_203ACF0
-_08103964:
- ldr r1, _08103980 @ =gUnknown_845218C
- ldr r4, _08103984 @ =gUnknown_203ACF0
- ldr r0, [r4]
- ldrh r2, [r0, 0x3E]
- ldrh r3, [r0, 0x3C]
-_0810396E:
- adds r0, r5, 0
- bl ListMenuInitInRect
- ldr r1, [r4]
- adds r1, 0x41
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08103980: .4byte gUnknown_845218C
-_08103984: .4byte gUnknown_203ACF0
- thumb_func_end sub_8103924
-
- thumb_func_start sub_8103988
-sub_8103988: @ 8103988
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bgt _08103998
- cmp r0, 0x1
- bge _081039B8
- b _0810399C
-_08103998:
- cmp r0, 0x5
- beq _081039D4
-_0810399C:
- ldr r0, _081039B4 @ =gUnknown_203ACF0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x41
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x36
- adds r2, 0x34
- bl DestroyListMenuTask
- b _081039E8
- .align 2, 0
-_081039B4: .4byte gUnknown_203ACF0
-_081039B8:
- ldr r0, _081039D0 @ =gUnknown_203ACF0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x41
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x3A
- adds r2, 0x38
- bl DestroyListMenuTask
- b _081039E8
- .align 2, 0
-_081039D0: .4byte gUnknown_203ACF0
-_081039D4:
- ldr r0, _081039EC @ =gUnknown_203ACF0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x41
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x3E
- adds r2, 0x3C
- bl DestroyListMenuTask
-_081039E8:
- pop {r0}
- bx r0
- .align 2, 0
-_081039EC: .4byte gUnknown_203ACF0
- thumb_func_end sub_8103988
-
- thumb_func_start sub_81039F0
-sub_81039F0: @ 81039F0
- push {r4,lr}
- sub sp, 0x10
- mov r1, sp
- ldr r0, _08103A18 @ =gUnknown_84521B4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r2, _08103A1C @ =gUnknown_203ACF0
- ldr r0, [r2]
- adds r0, 0x48
- ldr r1, _08103A20 @ =gUnknown_8452174
- ldrh r3, [r0]
- ldrh r0, [r1, 0xE]
- cmp r3, r0
- bls _08103A24
- mov r1, sp
- subs r0, r3, r0
- b _08103A28
- .align 2, 0
-_08103A18: .4byte gUnknown_84521B4
-_08103A1C: .4byte gUnknown_203ACF0
-_08103A20: .4byte gUnknown_8452174
-_08103A24:
- mov r1, sp
- movs r0, 0
-_08103A28:
- strh r0, [r1, 0x8]
- ldr r1, [r2]
- adds r1, 0x62
- mov r0, sp
- bl AddScrollIndicatorArrowPair
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81039F0
-
- thumb_func_start sub_8103A40
-sub_8103A40: @ 8103A40
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r0, r4, 16
- lsrs r5, r0, 16
- movs r0, 0x1
- lsrs r4, 17
- ands r4, r0
- ldr r7, _08103AC0 @ =gUnknown_203ACF0
- ldr r0, [r7]
- adds r0, 0x40
- ldrb r0, [r0]
- str r6, [sp]
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0xC
- bl sub_8104A34
- cmp r4, 0
- beq _08103AB6
- ldr r0, [r7]
- adds r0, 0x40
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0x28
- adds r3, r6, 0
- bl BlitMoveInfoIcon
- ldr r0, _08103AC4 @ =gBaseStats
- lsls r4, r5, 3
- subs r4, r5
- lsls r4, 2
- adds r4, r0
- ldrb r5, [r4, 0x6]
- ldr r0, [r7]
- adds r0, 0x40
- ldrb r0, [r0]
- adds r1, r5, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x78
- adds r3, r6, 0
- bl BlitMoveInfoIcon
- ldrb r1, [r4, 0x7]
- cmp r5, r1
- beq _08103AB6
- ldr r0, [r7]
- adds r0, 0x40
- ldrb r0, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x98
- adds r3, r6, 0
- bl BlitMoveInfoIcon
-_08103AB6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08103AC0: .4byte gUnknown_203ACF0
-_08103AC4: .4byte gBaseStats
- thumb_func_end sub_8103A40
-
- thumb_func_start sub_8103AC8
-sub_8103AC8: @ 8103AC8
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08103AE8 @ =gUnknown_203ACF0
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r5, r1, 0
- cmp r0, 0x1A
- bls _08103ADE
- b _08104228
-_08103ADE:
- lsls r0, 2
- ldr r1, _08103AEC @ =_08103AF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08103AE8: .4byte gUnknown_203ACF0
-_08103AEC: .4byte _08103AF0
- .align 2, 0
-_08103AF0:
- .4byte _08103B5C
- .4byte _08103B98
- .4byte _08103BF8
- .4byte _08103C24
- .4byte _08103C5C
- .4byte _08103C84
- .4byte _08103E6C
- .4byte _08103E6C
- .4byte _08103EA0
- .4byte _08103ED4
- .4byte _08103EA0
- .4byte _08103EFC
- .4byte _08103F20
- .4byte _08103F42
- .4byte _08103F54
- .4byte _08103F68
- .4byte _08103F7A
- .4byte _08103FF0
- .4byte _0810403A
- .4byte _0810406C
- .4byte _08104080
- .4byte _081040E4
- .4byte _081040F4
- .4byte _08104118
- .4byte _081041DE
- .4byte _081041F0
- .4byte _0810421C
-_08103B5C:
- movs r0, 0x3
- bl HideBg
- movs r0, 0x2
- bl HideBg
- movs r0, 0x1
- bl HideBg
- ldr r4, _08103B94 @ =gUnknown_203ACF0
- 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 _08103B8C
- strb r1, [r2]
-_08103B8C:
- ldr r1, [r4]
- movs r0, 0x2
- b _08104226
- .align 2, 0
-_08103B94: .4byte gUnknown_203ACF0
-_08103B98:
- bl sub_8104E90
- movs r0, 0x2
- bl HideBg
- movs r0, 0x1
- bl HideBg
- ldr r0, _08103BC8 @ =gUnknown_203ACF0
- ldr r0, [r0]
- adds r0, 0x2F
- ldrb r0, [r0]
- cmp r0, 0
- beq _08103BB8
- cmp r0, 0x1
- beq _08103BD4
-_08103BB8:
- ldr r0, _08103BCC @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08103BD0 @ =sub_810287C
- b _08103BE0
- .align 2, 0
-_08103BC8: .4byte gUnknown_203ACF0
-_08103BCC: .4byte gTasks
-_08103BD0: .4byte sub_810287C
-_08103BD4:
- ldr r0, _08103BEC @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08103BF0 @ =sub_8103238
-_08103BE0:
- str r0, [r1]
- ldr r0, _08103BF4 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0
- b _08104226
- .align 2, 0
-_08103BEC: .4byte gTasks
-_08103BF0: .4byte sub_8103238
-_08103BF4: .4byte gUnknown_203ACF0
-_08103BF8:
- movs r0, 0
- bl sub_8104F0C
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0xFF
- bl sub_8105058
- ldr r0, _08103C20 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x3
- b _08104226
- .align 2, 0
-_08103C20: .4byte gUnknown_203ACF0
-_08103C24:
- ldr r0, _08103C50 @ =0xffff7fff
- ldr r1, _08103C54 @ =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
- ldr r0, _08103C58 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x4
- b _08104226
- .align 2, 0
-_08103C50: .4byte 0xffff7fff
-_08103C54: .4byte 0x0000ffff
-_08103C58: .4byte gUnknown_203ACF0
-_08103C5C:
- bl sub_8104234
- ldr r4, _08103C7C @ =gUnknown_203ACF0
- ldr r1, [r4]
- adds r1, 0x60
- strb r0, [r1]
- ldr r0, _08103C80 @ =gUnknown_84524C4
- movs r1, 0
- bl ListMenuAddCursorObjectInternal
- ldr r1, [r4]
- adds r1, 0x61
- strb r0, [r1]
- ldr r1, [r4]
- movs r0, 0x5
- b _08104226
- .align 2, 0
-_08103C7C: .4byte gUnknown_203ACF0
-_08103C80: .4byte gUnknown_84524C4
-_08103C84:
- ldr r0, [r5]
- adds r0, 0x2D
- ldrb r0, [r0]
- bl sub_8105058
- ldr r2, [r5]
- 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 r2, [r5]
- adds r0, r2, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x62
- strh r0, [r1]
- movs r4, 0
- ldr r0, _08103CF8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08103CFC
- adds r0, r2, 0
- adds r0, 0x2D
- ldrb r1, [r0]
- lsls r1, 1
- subs r0, 0x15
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0
- movs r2, 0x1
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _08103CFC
- ldr r0, [r5]
- adds r0, 0x60
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r5]
- adds r0, 0x61
- ldrb r0, [r0]
- movs r1, 0
- bl ListMenuRemoveCursorObject
- ldr r1, [r5]
- movs r0, 0xC
- b _08104226
- .align 2, 0
-_08103CF8: .4byte gMain
-_08103CFC:
- ldr r2, _08103D28 @ =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- bne _08103D6E
- ldrh r1, [r2, 0x30]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08103D32
- ldr r0, _08103D2C @ =gUnknown_203ACF0
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x2D
- ldrb r0, [r1]
- cmp r0, 0
- beq _08103D30
- subs r0, 0x1
- strb r0, [r1]
- b _08103D60
- .align 2, 0
-_08103D28: .4byte gMain
-_08103D2C: .4byte gUnknown_203ACF0
-_08103D30:
- movs r4, 0x1
-_08103D32:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- bne _08103D6E
- ldrh r1, [r2, 0x30]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08103D6E
- ldr r0, _08103D68 @ =gUnknown_203ACF0
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0x2D
- ldrb r1, [r2]
- adds r0, 0x2C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bge _08103D6C
- adds r0, r1, 0x1
- strb r0, [r2]
-_08103D60:
- movs r0, 0x5
- bl PlaySE
- b _08104228
- .align 2, 0
-_08103D68: .4byte gUnknown_203ACF0
-_08103D6C:
- movs r4, 0x2
-_08103D6E:
- cmp r4, 0
- bne _08103D78
- bl sub_8104284
- adds r4, r0, 0
-_08103D78:
- cmp r4, 0x1
- beq _08103D94
- cmp r4, 0x1
- ble _08103E4E
- cmp r4, 0x2
- beq _08103DF8
- b _08103E4E
-_08103D86:
- ldr r1, [r4]
- movs r0, 0x8
- strb r0, [r1, 0x1]
- ldr r5, _08103D90 @ =gUnknown_203ACF0
- b _08103DDA
- .align 2, 0
-_08103D90: .4byte gUnknown_203ACF0
-_08103D94:
- ldr r0, _08103DE4 @ =gUnknown_203ACF0
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x2B
- adds r1, 0x29
- ldrb r2, [r2]
- adds r5, r0, 0
- ldrb r1, [r1]
- cmp r2, r1
- bls _08103DDA
- adds r4, r5, 0
-_08103DAA:
- ldr r1, [r4]
- adds r1, 0x2B
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r0, [r0]
- adds r1, 0x2B
- ldrb r1, [r1]
- bl sub_8106838
- lsls r0, 24
- cmp r0, 0
- bne _08103D86
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x2B
- adds r1, 0x29
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bhi _08103DAA
-_08103DDA:
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x8
- beq _08103E4E
- b _08103E4A
- .align 2, 0
-_08103DE4: .4byte gUnknown_203ACF0
-_08103DE8:
- ldr r1, [r4]
- movs r0, 0xA
- strb r0, [r1, 0x1]
- ldr r5, _08103DF4 @ =gUnknown_203ACF0
- b _08103E42
- .align 2, 0
-_08103DF4: .4byte gUnknown_203ACF0
-_08103DF8:
- ldr r1, _08103E64 @ =gUnknown_203ACF0
- ldr r0, [r1]
- adds r2, r0, 0
- adds r2, 0x2B
- ldrb r2, [r2]
- adds r0, 0x2A
- ldrb r0, [r0]
- subs r0, 0x1
- adds r5, r1, 0
- cmp r2, r0
- bge _08103E42
- adds r4, r5, 0
-_08103E10:
- ldr r1, [r4]
- adds r1, 0x2B
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r0, [r0]
- adds r1, 0x2B
- ldrb r1, [r1]
- bl sub_8106838
- lsls r0, 24
- cmp r0, 0
- bne _08103DE8
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x2B
- ldrb r1, [r1]
- adds r0, 0x2A
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- blt _08103E10
-_08103E42:
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- cmp r0, 0xA
- beq _08103E4E
-_08103E4A:
- movs r0, 0x6
- strb r0, [r1, 0x1]
-_08103E4E:
- ldr r0, _08103E68 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08103E5C
- b _08104228
-_08103E5C:
- ldr r0, _08103E64 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x6
- b _08104226
- .align 2, 0
-_08103E64: .4byte gUnknown_203ACF0
-_08103E68: .4byte gMain
-_08103E6C:
- ldr r0, [r5]
- adds r0, 0x60
- ldrb r0, [r0]
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r5]
- adds r0, 0x61
- ldrb r0, [r0]
- movs r1, 0
- bl ListMenuRemoveCursorObject
- ldr r0, _08103E98 @ =0xffff7fff
- ldr r1, _08103E9C @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- movs r0, 0x1
- b _08104226
- .align 2, 0
-_08103E98: .4byte 0xffff7fff
-_08103E9C: .4byte 0x0000ffff
-_08103EA0:
- bl sub_8104E90
- movs r0, 0xFF
- bl sub_8105058
- ldr r4, _08103ED0 @ =gUnknown_203ACF0
- ldr r0, [r4]
- adds r0, 0x61
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0xA0
- movs r3, 0
- bl ListMenuUpdateCursorObject
- ldr r0, [r4]
- adds r0, 0x2E
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- strb r1, [r0, 0x2]
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- b _08104226
- .align 2, 0
-_08103ED0: .4byte gUnknown_203ACF0
-_08103ED4:
- movs r0, 0
- bl sub_81052D0
- lsls r0, 24
- cmp r0, 0
- bne _08103EE2
- b _08104228
-_08103EE2:
- ldr r2, _08103EF8 @ =gUnknown_203ACF0
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r1, 0x2D
- strb r0, [r1]
- ldr r1, [r2]
- movs r0, 0x5
- b _08104226
- .align 2, 0
-_08103EF8: .4byte gUnknown_203ACF0
-_08103EFC:
- movs r0, 0x1
- bl sub_81052D0
- lsls r0, 24
- cmp r0, 0
- bne _08103F0A
- b _08104228
-_08103F0A:
- ldr r2, _08103F1C @ =gUnknown_203ACF0
- ldr r0, [r2]
- adds r0, 0x2D
- movs r1, 0
- strb r1, [r0]
- ldr r1, [r2]
- movs r0, 0x5
- b _08104226
- .align 2, 0
-_08103F1C: .4byte gUnknown_203ACF0
-_08103F20:
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x2D
- ldrb r1, [r0]
- lsls r1, 1
- subs r0, 0x15
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r2, 0
- adds r0, 0x5A
- strh r1, [r0]
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r5]
- movs r0, 0xE
- b _08104226
-_08103F42:
- bl sub_8106014
- ldr r0, _08103F50 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x4
- b _08104226
- .align 2, 0
-_08103F50: .4byte gUnknown_203ACF0
-_08103F54:
- movs r0, 0
- bl sub_8105E1C
- ldr r0, _08103F64 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0xF
- b _08104226
- .align 2, 0
-_08103F64: .4byte gUnknown_203ACF0
-_08103F68:
- ldr r0, [r5]
- movs r1, 0
- strb r1, [r0, 0x2]
- ldr r0, [r5]
- strb r1, [r0, 0x3]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
-_08103F7A:
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- cmp r0, 0x5
- bhi _08103FA8
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08103F8A
- b _081040BE
-_08103F8A:
- ldrb r1, [r1, 0x3]
- movs r0, 0
- bl sub_8105594
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r5]
- movs r0, 0x4
- strb r0, [r1, 0x2]
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- adds r0, 0x1
- strb r0, [r1, 0x3]
- b _08104228
-_08103FA8:
- 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, [r5]
- adds r0, 0x5A
- ldrh r0, [r0]
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- ldr r1, [r5]
- movs r0, 0
- strb r0, [r1, 0x2]
- ldr r1, [r5]
- movs r0, 0x11
- b _08104226
-_08103FF0:
- ldr r0, _08104024 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810402C
- bl sub_8106014
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, _08104028 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x15
- b _08104226
- .align 2, 0
-_08104024: .4byte gMain
-_08104028: .4byte gUnknown_203ACF0
-_0810402C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08104036
- b _081041D8
-_08104036:
- ldr r1, [r5]
- b _08104224
-_0810403A:
- movs r0, 0
- bl sub_8104F0C
- movs r0, 0
- movs r1, 0x6
- bl sub_8105594
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08104068 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x13
- b _08104226
- .align 2, 0
-_08104068: .4byte gUnknown_203ACF0
-_0810406C:
- ldr r1, [r5]
- movs r0, 0
- strb r0, [r1, 0x2]
- ldr r1, [r5]
- movs r0, 0x6
- strb r0, [r1, 0x3]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
-_08104080:
- ldr r1, [r5]
- ldrb r2, [r1, 0x3]
- cmp r2, 0
- beq _081040C4
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _081040BE
- subs r0, r2, 0x1
- strb r0, [r1, 0x3]
- 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
- ldr r0, [r5]
- ldrb r1, [r0, 0x3]
- movs r0, 0
- bl sub_8105594
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- b _08104228
-_081040BE:
- subs r0, 0x1
- strb r0, [r1, 0x2]
- b _08104228
-_081040C4:
- 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, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r5]
- movs r0, 0xD
- b _08104226
-_081040E4:
- bl sub_810603C
- ldr r0, _081040F0 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x16
- b _08104226
- .align 2, 0
-_081040F0: .4byte gUnknown_203ACF0
-_081040F4:
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08104114 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x17
- b _08104226
- .align 2, 0
-_08104114: .4byte gUnknown_203ACF0
-_08104118:
- ldr r0, _08104174 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810417C
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x10
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08104178 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x1A
- b _08104226
- .align 2, 0
-_08104174: .4byte gMain
-_08104178: .4byte gUnknown_203ACF0
-_0810417C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081041D8
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x10
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _081041D4 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x18
- b _08104226
- .align 2, 0
-_081041D4: .4byte gUnknown_203ACF0
-_081041D8:
- bl sub_8106B34
- b _08104228
-_081041DE:
- bl sub_81067C0
- ldr r0, _081041EC @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x19
- b _08104226
- .align 2, 0
-_081041EC: .4byte gUnknown_203ACF0
-_081041F0:
- movs r0, 0
- bl sub_8105E1C
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08104218 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x11
- b _08104226
- .align 2, 0
-_08104218: .4byte gUnknown_203ACF0
-_0810421C:
- bl sub_81067C0
- ldr r0, _08104230 @ =gUnknown_203ACF0
- ldr r1, [r0]
-_08104224:
- movs r0, 0x12
-_08104226:
- strb r0, [r1, 0x1]
-_08104228:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08104230: .4byte gUnknown_203ACF0
- thumb_func_end sub_8103AC8
-
- thumb_func_start sub_8104234
-sub_8104234: @ 8104234
- push {r4,lr}
- sub sp, 0x10
- mov r1, sp
- ldr r0, _0810427C @ =gUnknown_84524B4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- mov r1, sp
- ldr r0, _08104280 @ =gUnknown_203ACF0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- strh r0, [r1, 0x6]
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- subs r0, 0x1
- strh r0, [r1, 0x8]
- adds r0, r2, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x62
- strh r0, [r1]
- mov r0, sp
- bl AddScrollIndicatorArrowPair
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0810427C: .4byte gUnknown_84524B4
-_08104280: .4byte gUnknown_203ACF0
- thumb_func_end sub_8104234
-
- thumb_func_start sub_8104284
-sub_8104284: @ 8104284
- push {lr}
- ldr r0, _081042B0 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- beq _081042C0
- cmp r0, 0x1
- ble _081042E6
- cmp r0, 0x2
- bne _081042E6
- ldr r0, _081042B4 @ =gMain
- ldr r2, [r0, 0x2C]
- ldr r1, _081042B8 @ =0x00200100
- adds r0, r2, 0
- ands r0, r1
- cmp r0, r1
- beq _081042CE
- ldr r0, _081042BC @ =0x00100100
- ands r2, r0
- cmp r2, r0
- beq _081042E2
- b _081042E6
- .align 2, 0
-_081042B0: .4byte gSaveBlock2Ptr
-_081042B4: .4byte gMain
-_081042B8: .4byte 0x00200100
-_081042BC: .4byte 0x00100100
-_081042C0:
- ldr r0, _081042D4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _081042D8
-_081042CE:
- movs r0, 0x1
- b _081042E8
- .align 2, 0
-_081042D4: .4byte gMain
-_081042D8:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _081042E6
-_081042E2:
- movs r0, 0x2
- b _081042E8
-_081042E6:
- movs r0, 0
-_081042E8:
- pop {r1}
- bx r1
- thumb_func_end sub_8104284
-
- thumb_func_start sub_81042EC
-sub_81042EC: @ 81042EC
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _0810430C @ =gUnknown_203ACF0
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r5, r1, 0
- cmp r0, 0xC
- bls _08104302
- b _08104656
-_08104302:
- lsls r0, 2
- ldr r1, _08104310 @ =_08104314
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810430C: .4byte gUnknown_203ACF0
-_08104310: .4byte _08104314
- .align 2, 0
-_08104314:
- .4byte _08104348
- .4byte _08104368
- .4byte _08104398
- .4byte _081043AC
- .4byte _081043E0
- .4byte _08104418
- .4byte _08104508
- .4byte _08104528
- .4byte _08104538
- .4byte _0810455C
- .4byte _081045F2
- .4byte _08104604
- .4byte _08104630
-_08104348:
- movs r0, 0x3
- bl HideBg
- movs r0, 0x2
- bl HideBg
- movs r0, 0x1
- bl HideBg
- ldr r0, _08104364 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x2
- b _08104654
- .align 2, 0
-_08104364: .4byte gUnknown_203ACF0
-_08104368:
- movs r0, 0x2
- bl HideBg
- movs r0, 0x1
- bl HideBg
- ldr r1, _0810438C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08104390 @ =sub_8102F80
- str r1, [r0]
- ldr r0, _08104394 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0
- b _08104654
- .align 2, 0
-_0810438C: .4byte gTasks
-_08104390: .4byte sub_8102F80
-_08104394: .4byte gUnknown_203ACF0
-_08104398:
- ldr r0, [r5]
- adds r0, 0x2C
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0
- bl sub_8105E1C
- ldr r1, [r5]
- movs r0, 0x3
- b _08104654
-_081043AC:
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r4, _081043DC @ =gUnknown_203ACF0
- 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, 0x4
- b _08104654
- .align 2, 0
-_081043DC: .4byte gUnknown_203ACF0
-_081043E0:
- ldr r0, _0810440C @ =0xffff7fff
- ldr r1, _08104410 @ =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
- ldr r0, _08104414 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x5
- b _08104654
- .align 2, 0
-_0810440C: .4byte 0xffff7fff
-_08104410: .4byte 0x0000ffff
-_08104414: .4byte gUnknown_203ACF0
-_08104418:
- ldr r0, _0810444C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08104454
- bl sub_8106014
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, _08104450 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x7
- b _08104654
- .align 2, 0
-_0810444C: .4byte gMain
-_08104450: .4byte gUnknown_203ACF0
-_08104454:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08104484
- bl sub_8106014
- ldr r0, _08104478 @ =0xffff7fff
- ldr r1, _0810447C @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08104480 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x1
- b _08104654
- .align 2, 0
-_08104478: .4byte 0xffff7fff
-_0810447C: .4byte 0x0000ffff
-_08104480: .4byte gUnknown_203ACF0
-_08104484:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081044C0
- movs r0, 0x1
- bl sub_8104664
- cmp r0, 0
- beq _081044C0
- bl sub_8106014
- ldr r0, _081044B4 @ =0xffff7fff
- ldr r1, _081044B8 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _081044BC @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x6
- b _08104654
- .align 2, 0
-_081044B4: .4byte 0xffff7fff
-_081044B8: .4byte 0x0000ffff
-_081044BC: .4byte gUnknown_203ACF0
-_081044C0:
- ldr r0, _081044F8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081044CE
- b _081045EC
-_081044CE:
- movs r0, 0
- bl sub_8104664
- cmp r0, 0
- bne _081044DA
- b _081045EC
-_081044DA:
- bl sub_8106014
- ldr r0, _081044FC @ =0xffff7fff
- ldr r1, _08104500 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08104504 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x6
- b _08104654
- .align 2, 0
-_081044F8: .4byte gMain
-_081044FC: .4byte 0xffff7fff
-_08104500: .4byte 0x0000ffff
-_08104504: .4byte gUnknown_203ACF0
-_08104508:
- movs r0, 0x2
- bl HideBg
- movs r0, 0x1
- bl HideBg
- ldr r0, _08104524 @ =gUnknown_203ACF0
- ldr r1, [r0]
- ldr r0, [r1, 0x30]
- adds r2, r1, 0
- adds r2, 0x5A
- strh r0, [r2]
- movs r0, 0x2
- b _08104654
- .align 2, 0
-_08104524: .4byte gUnknown_203ACF0
-_08104528:
- bl sub_810603C
- ldr r0, _08104534 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x8
- b _08104654
- .align 2, 0
-_08104534: .4byte gUnknown_203ACF0
-_08104538:
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08104558 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x9
- b _08104654
- .align 2, 0
-_08104558: .4byte gUnknown_203ACF0
-_0810455C:
- ldr r0, _08104580 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08104590
- ldr r0, _08104584 @ =0xffff7fff
- ldr r1, _08104588 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0810458C @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0xC
- b _08104654
- .align 2, 0
-_08104580: .4byte gMain
-_08104584: .4byte 0xffff7fff
-_08104588: .4byte 0x0000ffff
-_0810458C: .4byte gUnknown_203ACF0
-_08104590:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081045EC
- movs r5, 0x1E
- str r5, [sp]
- movs r4, 0x10
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _081045E8 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0xA
- b _08104654
- .align 2, 0
-_081045E8: .4byte gUnknown_203ACF0
-_081045EC:
- bl sub_8106B34
- b _08104656
-_081045F2:
- bl sub_81067C0
- ldr r0, _08104600 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0xB
- b _08104654
- .align 2, 0
-_08104600: .4byte gUnknown_203ACF0
-_08104604:
- movs r0, 0
- bl sub_8105E1C
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _0810462C @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x5
- b _08104654
- .align 2, 0
-_0810462C: .4byte gUnknown_203ACF0
-_08104630:
- bl sub_81067C0
- 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, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08104660 @ =gUnknown_203ACF0
- ldr r1, [r0]
- movs r0, 0x1
-_08104654:
- strb r0, [r1, 0x1]
-_08104656:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08104660: .4byte gUnknown_203ACF0
- thumb_func_end sub_81042EC
-
- thumb_func_start sub_8104664
-sub_8104664: @ 8104664
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08104684 @ =gUnknown_203ACF0
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x42
- ldrb r2, [r2]
- mov r8, r0
- cmp r2, 0x4
- bgt _08104688
- cmp r2, 0x1
- bge _0810469C
- b _0810468C
- .align 2, 0
-_08104684: .4byte gUnknown_203ACF0
-_08104688:
- cmp r2, 0x5
- beq _081046A8
-_0810468C:
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0x36
- adds r2, r0
- mov r12, r2
- adds r6, r0, 0
- adds r6, 0x34
- b _081046B2
-_0810469C:
- movs r0, 0x3A
- adds r0, r3
- mov r12, r0
- adds r6, r3, 0
- adds r6, 0x38
- b _081046B2
-_081046A8:
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- adds r6, r3, 0
- adds r6, 0x3C
-_081046B2:
- mov r2, r12
- ldrh r1, [r2]
- ldrh r0, [r6]
- adds r3, r1, r0
- cmp r4, 0
- beq _08104700
- cmp r3, 0
- beq _0810474C
- subs r3, 0x1
- cmp r3, 0
- blt _0810474C
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x44]
- lsls r2, r3, 3
- adds r0, r2, r0
- ldrh r0, [r0, 0x6]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081046FA
- mov r5, r8
- movs r4, 0x1
- adds r1, r2, 0
-_081046E2:
- subs r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- blt _0810474C
- ldr r0, [r5]
- ldr r0, [r0, 0x44]
- adds r0, r1, r0
- ldrh r0, [r0, 0x6]
- ands r0, r4
- adds r2, r1, 0
- cmp r0, 0
- beq _081046E2
-_081046FA:
- cmp r3, 0
- bge _08104750
- b _0810474C
-_08104700:
- mov r2, r8
- ldr r5, [r2]
- adds r0, r5, 0
- adds r0, 0x48
- ldrh r4, [r0]
- subs r0, r4, 0x1
- cmp r3, r0
- beq _0810474C
- adds r3, 0x1
- cmp r3, r4
- bge _0810474C
- ldr r0, [r5, 0x44]
- lsls r2, r3, 3
- adds r0, r2, r0
- ldrh r0, [r0, 0x6]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08104740
- adds r1, r2, 0
- movs r7, 0x1
-_0810472A:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, r4
- bge _0810474C
- ldr r0, [r5, 0x44]
- adds r0, r1, r0
- ldrh r0, [r0, 0x6]
- ands r0, r7
- adds r2, r1, 0
- cmp r0, 0
- beq _0810472A
-_08104740:
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x48
- ldrh r0, [r0]
- cmp r3, r0
- blt _08104750
-_0810474C:
- movs r0, 0
- b _081047A6
-_08104750:
- mov r0, r8
- ldr r1, [r0]
- ldr r0, [r1, 0x44]
- adds r0, r2, r0
- ldr r0, [r0, 0x4]
- str r0, [r1, 0x30]
- adds r1, 0x48
- ldrh r0, [r1]
- cmp r0, 0x9
- bls _0810479C
- cmp r3, 0x3
- bgt _08104770
- movs r0, 0
- mov r1, r12
- strh r0, [r1]
- b _081047A2
-_08104770:
- ldrh r1, [r1]
- subs r0, r1, 0x4
- cmp r3, r0
- blt _08104790
- subs r0, 0x5
- mov r2, r12
- strh r0, [r2]
- adds r1, r3, 0
- adds r1, 0x9
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0x48
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r6]
- b _081047A4
-_08104790:
- subs r0, r3, 0x4
- mov r1, r12
- strh r0, [r1]
- movs r0, 0x4
- strh r0, [r6]
- b _081047A4
-_0810479C:
- movs r0, 0
- mov r2, r12
- strh r0, [r2]
-_081047A2:
- strh r3, [r6]
-_081047A4:
- movs r0, 0x1
-_081047A6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8104664
-
- thumb_func_start sub_81047B0
-sub_81047B0: @ 81047B0
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _081047C2
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
-_081047C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81047B0
-
- thumb_func_start sub_81047C8
-sub_81047C8: @ 81047C8
- push {r4-r7,lr}
- sub sp, 0x18
- mov r12, r2
- ldr r2, [sp, 0x2C]
- ldr r4, [sp, 0x30]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r3, 24
- lsrs r6, r3, 24
- lsls r2, 24
- lsrs r3, r2, 24
- lsls r4, 24
- lsrs r0, r4, 24
- cmp r0, 0x4
- bhi _08104852
- lsls r0, 2
- ldr r1, _081047F4 @ =_081047F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081047F4: .4byte _081047F8
- .align 2, 0
-_081047F8:
- .4byte _0810480C
- .4byte _0810481A
- .4byte _08104828
- .4byte _08104836
- .4byte _08104844
-_0810480C:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x3
- b _08104850
-_0810481A:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- movs r0, 0x1
- b _08104850
-_08104828:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xF
- strb r0, [r1, 0x1]
- movs r0, 0xE
- b _08104850
-_08104836:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xB
- strb r0, [r1, 0x1]
- movs r0, 0x1
- b _08104850
-_08104844:
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x2
-_08104850:
- strb r0, [r1, 0x2]
-_08104852:
- negs r0, r5
- orrs r0, r5
- lsrs r0, 31
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- add r0, sp, 0x14
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- mov r0, r12
- str r0, [sp, 0x10]
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl AddTextPrinterParameterized4
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81047C8
-
- thumb_func_start sub_8104880
-sub_8104880: @ 8104880
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r9, r0
- mov r10, r1
- adds r4, r2, 0
- ldr r6, [sp, 0x2C]
- ldr r0, [sp, 0x30]
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r4, 16
- lsrs r4, 16
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- add r5, sp, 0x8
- adds r0, r4, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5]
- add r5, sp, 0x8
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x1]
- add r5, sp, 0x8
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- add r1, sp, 0x8
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- str r6, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r0, r9
- mov r1, r10
- add r2, sp, 0x8
- adds r3, r7, 0
- bl sub_81047C8
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8104880
-
- thumb_func_start sub_810491C
-sub_810491C: @ 810491C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r5, r2, 0
- ldr r2, [sp, 0x30]
- ldr r4, [sp, 0x34]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r4, 24
- lsrs r7, r4, 24
- add r4, sp, 0x8
- adds r0, r5, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- add r6, sp, 0x8
- adds r0, r5, 0
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r6, 0x1]
- add r5, sp, 0x8
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- add r1, sp, 0x8
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0xA1
- bne _081049A8
- movs r3, 0
- mov r2, sp
- adds r2, 0xA
-_0810499A:
- strb r3, [r1]
- adds r1, 0x1
- cmp r1, r2
- bgt _081049A8
- ldrb r0, [r1]
- cmp r0, 0xA1
- beq _0810499A
-_081049A8:
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- ldr r0, [sp, 0xC]
- mov r1, r10
- add r2, sp, 0x8
- mov r3, r9
- bl sub_81047C8
- 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_810491C
-
- thumb_func_start sub_81049CC
-sub_81049CC: @ 81049CC
- push {lr}
- adds r1, r0, 0
- cmp r1, 0xC9
- beq _081049E8
- movs r0, 0x9A
- lsls r0, 1
- cmp r1, r0
- bne _081049F4
- ldr r0, _081049E4 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- b _081049F6
- .align 2, 0
-_081049E4: .4byte gSaveBlock2Ptr
-_081049E8:
- ldr r0, _081049F0 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r0, [r0, 0x1C]
- b _081049F6
- .align 2, 0
-_081049F0: .4byte gSaveBlock2Ptr
-_081049F4:
- movs r0, 0
-_081049F6:
- pop {r1}
- bx r1
- thumb_func_end sub_81049CC
-
- thumb_func_start sub_81049FC
-sub_81049FC: @ 81049FC
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- adds r0, r5, 0
- bl sub_81049CC
- adds r2, r0, 0
- lsrs r4, 20
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- str r6, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0x8
- movs r3, 0x1
- bl LoadMonPicInWindow
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81049FC
-
- thumb_func_start sub_8104A34
-sub_8104A34: @ 8104A34
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- mov r8, r0
- mov r9, r1
- adds r0, r2, 0
- adds r4, r3, 0
- ldr r6, [sp, 0x24]
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- bl SpeciesToNationalPokedexNum
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r2, _08104AAC @ =gUnknown_8415FFF
- str r6, [sp]
- movs r0, 0
- mov r10, r0
- str r0, [sp, 0x4]
- mov r0, r8
- mov r1, r9
- adds r3, r4, 0
- bl sub_81047C8
- adds r4, 0x9
- lsls r4, 24
- lsrs r4, 24
- str r6, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- mov r0, r8
- mov r1, r9
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_8104880
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08104AAC: .4byte gUnknown_8415FFF
- thumb_func_end sub_8104A34
-
- thumb_func_start sub_8104AB0
-sub_8104AB0: @ 8104AB0
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- lsls r2, 24
- cmp r2, 0
- beq _08104ACA
- adds r0, r3, 0
- bl SpeciesToNationalPokedexNum
- adds r3, r0, 0
-_08104ACA:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- lsrs r0, 19
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x7
- ands r3, r0
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r3
- lsrs r6, r0, 24
- movs r0, 0
- mov r12, r0
- cmp r5, 0x1
- beq _08104B14
- cmp r5, 0x1
- bgt _08104AF4
- cmp r5, 0
- beq _08104AFE
- b _08104BB0
-_08104AF4:
- cmp r7, 0x2
- beq _08104B68
- cmp r7, 0x3
- beq _08104BA0
- b _08104BB0
-_08104AFE:
- ldr r0, _08104B10 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0x5C
- adds r0, r4
- ldrb r1, [r0]
- ands r1, r6
- cmp r1, 0
- beq _08104BB0
- b _08104B34
- .align 2, 0
-_08104B10: .4byte gSaveBlock2Ptr
-_08104B14:
- ldr r0, _08104B5C @ =gSaveBlock2Ptr
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x28
- adds r0, r4
- ldrb r1, [r0]
- ands r1, r6
- cmp r1, 0
- beq _08104BB0
- adds r0, r2, 0
- adds r0, 0x5C
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r6
- cmp r1, r0
- bne _08104BB0
-_08104B34:
- ldr r0, _08104B60 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r3, 0xBF
- lsls r3, 3
- adds r0, r2, r3
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r6
- cmp r1, r0
- bne _08104BB0
- ldr r3, _08104B64 @ =0x00003a18
- adds r0, r2, r3
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r6
- cmp r1, r0
- bne _08104BB0
- movs r0, 0x1
- mov r12, r0
- b _08104BB0
- .align 2, 0
-_08104B5C: .4byte gSaveBlock2Ptr
-_08104B60: .4byte gSaveBlock1Ptr
-_08104B64: .4byte 0x00003a18
-_08104B68:
- ldr r0, _08104B94 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0x5C
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r6, 0
- orrs r0, r2
- strb r0, [r1]
- ldr r3, _08104B98 @ =gSaveBlock1Ptr
- ldr r1, [r3]
- movs r0, 0xBF
- lsls r0, 3
- adds r1, r0
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r6, 0
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- ldr r3, _08104B9C @ =0x00003a18
- adds r1, r3
- b _08104BA6
- .align 2, 0
-_08104B94: .4byte gSaveBlock2Ptr
-_08104B98: .4byte gSaveBlock1Ptr
-_08104B9C: .4byte 0x00003a18
-_08104BA0:
- ldr r0, _08104BB8 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0x28
-_08104BA6:
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r6, 0
- orrs r0, r2
- strb r0, [r1]
-_08104BB0:
- mov r0, r12
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08104BB8: .4byte gSaveBlock2Ptr
- thumb_func_end sub_8104AB0
-
- thumb_func_start sub_8104BBC
-sub_8104BBC: @ 8104BBC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r5, 0
- cmp r1, 0
- beq _08104BD2
- cmp r1, 0x1
- beq _08104BF8
- b _08104C1E
-_08104BD2:
- movs r0, 0
-_08104BD4:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _08104BF0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08104BF0:
- adds r0, r4, 0
- cmp r0, 0x96
- bls _08104BD4
- b _08104C1E
-_08104BF8:
- movs r0, 0
- ldr r7, _08104C28 @ =0x00000181
-_08104BFC:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _08104C18
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08104C18:
- adds r0, r4, 0
- cmp r0, r7
- bls _08104BFC
-_08104C1E:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08104C28: .4byte 0x00000181
- thumb_func_end sub_8104BBC
-
- thumb_func_start sub_8104C2C
-sub_8104C2C: @ 8104C2C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0x14
- negs r1, r1
- adds r3, r1, 0
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- adds r2, r4, 0
- bl sub_81047C8
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8104C2C
-
- thumb_func_start sub_8104C64
-sub_8104C64: @ 8104C64
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x20
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- movs r0, 0xFF
- lsls r0, 24
- adds r2, r0
- lsrs r2, 24
- mov r9, r2
- ldr r1, _08104D50 @ =gUnknown_845228C
- ldr r2, _08104D54 @ =gUnknown_8452334
- mov r3, r9
- lsls r0, r3, 2
- adds r6, r0, r2
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, r4, r0
- ldrb r2, [r0]
- ldrb r3, [r0, 0x1]
- movs r0, 0x8
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0x5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- movs r0, 0x3
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r7, _08104D58 @ =gUnknown_203ACF0
- ldr r0, [r7]
- adds r0, 0x20
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08104D6C
- ldr r0, _08104D5C @ =gUnknown_84521C4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- ldr r0, [r6]
- adds r0, r4, r0
- ldrb r0, [r0]
- lsls r0, 8
- ldr r3, _08104D60 @ =0xffff00ff
- ldr r2, [sp, 0x18]
- ands r2, r3
- orrs r2, r0
- str r2, [sp, 0x18]
- ldr r0, [r6]
- adds r0, r4, r0
- ldrb r1, [r0, 0x1]
- lsls r1, 16
- ldr r0, _08104D64 @ =0xff00ffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x18]
- adds r1, r5, 0x1
- lsls r1, 24
- lsrs r1, 16
- ldr r0, [sp, 0x1C]
- ands r0, r3
- orrs r0, r1
- lsls r1, r5, 6
- adds r1, 0x8
- lsls r1, 16
- ldr r2, _08104D68 @ =0x0000ffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x1C]
- add r0, sp, 0x18
- bl AddWindow
- ldr r1, [r7]
- adds r1, 0x20
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x20
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, [r7]
- adds r0, 0x20
- adds r0, r5
- ldrb r0, [r0]
- lsls r2, r5, 20
- movs r1, 0x80
- lsls r1, 13
- adds r2, r1
- lsrs r2, 16
- mov r1, r8
- bl sub_81049FC
- ldr r0, [r7]
- adds r0, 0x20
- adds r0, r5
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r7]
- adds r0, 0x20
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- b _08104D72
- .align 2, 0
-_08104D50: .4byte gUnknown_845228C
-_08104D54: .4byte gUnknown_8452334
-_08104D58: .4byte gUnknown_203ACF0
-_08104D5C: .4byte gUnknown_84521C4
-_08104D60: .4byte 0xffff00ff
-_08104D64: .4byte 0xff00ffff
-_08104D68: .4byte 0x0000ffff
-_08104D6C:
- ldrb r0, [r1]
- bl PutWindowTilemap
-_08104D72:
- ldr r6, _08104E60 @ =gUnknown_203ACF0
- ldr r0, [r6]
- adds r0, 0x24
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08104E78
- mov r3, r8
- cmp r3, 0
- beq _08104E7E
- ldr r0, _08104E64 @ =gUnknown_84521CC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- ldr r0, _08104E68 @ =gUnknown_8452334
- mov r1, r9
- lsls r2, r1, 2
- adds r2, r0
- ldr r0, [r2]
- lsls r1, r5, 2
- adds r0, r1, r0
- ldrb r0, [r0, 0x2]
- add r3, sp, 0x18
- movs r4, 0
- strb r0, [r3, 0x1]
- ldr r0, [r2]
- adds r0, r1, r0
- ldrb r0, [r0, 0x3]
- strb r0, [r3, 0x2]
- adds r1, r5
- lsls r1, 3
- movs r0, 0x84
- lsls r0, 1
- adds r1, r0
- strh r1, [r3, 0x6]
- adds r0, r3, 0
- bl AddWindow
- ldr r1, [r6]
- adds r1, 0x24
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x24
- adds r0, r5
- ldrb r0, [r0]
- ldr r1, _08104E6C @ =gUnknown_8440124
- movs r2, 0
- movs r3, 0
- bl CopyToWindowPixelBuffer
- ldr r0, [r6]
- adds r0, 0x24
- adds r0, r5
- ldrb r0, [r0]
- str r4, [sp]
- movs r1, 0
- mov r2, r8
- movs r3, 0xC
- bl sub_8104A34
- ldr r0, [r6]
- adds r0, 0x24
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0xB
- mov r2, r8
- muls r2, r1
- ldr r1, _08104E70 @ =gSpeciesNames
- adds r2, r1
- movs r1, 0xD
- str r1, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x2
- movs r3, 0x2
- bl sub_81047C8
- mov r0, r8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8104AB0
- lsls r0, 24
- cmp r0, 0
- beq _08104E42
- ldr r0, [r6]
- adds r0, 0x24
- adds r0, r5
- ldrb r0, [r0]
- ldr r1, _08104E74 @ =gUnknown_8443600
- movs r3, 0x8
- str r3, [sp]
- str r3, [sp, 0x4]
- movs r2, 0x2
- str r2, [sp, 0x8]
- movs r2, 0x3
- str r2, [sp, 0xC]
- str r3, [sp, 0x10]
- str r3, [sp, 0x14]
- movs r2, 0
- movs r3, 0
- bl BlitBitmapRectToWindow
-_08104E42:
- ldr r0, [r6]
- adds r0, 0x24
- adds r0, r5
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r6]
- adds r0, 0x24
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- b _08104E7E
- .align 2, 0
-_08104E60: .4byte gUnknown_203ACF0
-_08104E64: .4byte gUnknown_84521CC
-_08104E68: .4byte gUnknown_8452334
-_08104E6C: .4byte gUnknown_8440124
-_08104E70: .4byte gSpeciesNames
-_08104E74: .4byte gUnknown_8443600
-_08104E78:
- ldrb r0, [r1]
- bl PutWindowTilemap
-_08104E7E:
- movs r0, 0x1
- add sp, 0x20
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8104C64
-
- thumb_func_start sub_8104E90
-sub_8104E90: @ 8104E90
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _08104EBC @ =gUnknown_203ACF0
-_08104E96:
- adds r1, r4, 0
- adds r1, 0x20
- ldr r0, [r5]
- adds r0, r1
- bl sub_81047B0
- adds r1, r4, 0
- adds r1, 0x24
- ldr r0, [r5]
- adds r0, r1
- bl sub_81047B0
- adds r4, 0x1
- cmp r4, 0x3
- ble _08104E96
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08104EBC: .4byte gUnknown_203ACF0
- thumb_func_end sub_8104E90
-
- thumb_func_start sub_8104EC0
-sub_8104EC0: @ 8104EC0
- push {r4,r5,lr}
- sub sp, 0x20
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r1, _08104F08 @ =gUnknown_8416002
- mov r0, sp
- bl StringCopy
- adds r1, r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r1, r0, 0
- movs r0, 0xBA
- strb r0, [r1]
- adds r1, 0x1
- adds r0, r1, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r0, sp
- movs r1, 0x2
- bl sub_8106E78
- add sp, 0x20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08104F08: .4byte gUnknown_8416002
- thumb_func_end sub_8104EC0
-
- thumb_func_start sub_8104F0C
-sub_8104F0C: @ 8104F0C
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x1E
- str r0, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0x2
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r5, 0x20
- str r5, [sp]
- 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
- ldr r5, _08104F80 @ =gUnknown_203ACF0
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r0, [r0]
- adds r1, 0x2B
- ldrb r1, [r1]
- bl sub_81068DC
- movs r0, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- cmp r6, 0
- beq _08104F88
- ldr r1, _08104F84 @ =gUnknown_8452344
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_8106E78
- b _08104FD0
- .align 2, 0
-_08104F80: .4byte gUnknown_203ACF0
-_08104F84: .4byte gUnknown_8452344
-_08104F88:
- ldr r1, _08105048 @ =gUnknown_8452344
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_8106E78
- ldr r0, [r5]
- adds r0, 0x2B
- ldrb r0, [r0]
- bl sub_8106AF8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, [r5]
- adds r0, 0x2A
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_8106AF8
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- adds r1, r4, 0
- movs r3, 0xA0
- bl sub_8104EC0
-_08104FD0:
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- cmp r6, 0
- bne _08104FEA
- ldr r0, _0810504C @ =gUnknown_8415F6C
- bl sub_8104C2C
-_08104FEA:
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r5, _08105050 @ =gUnknown_203ACF0
- ldr r1, [r5]
- ldrh r0, [r1, 0x18]
- ldr r4, _08105054 @ =0x0000ffff
- cmp r0, r4
- beq _08105008
- adds r1, 0x2C
- ldrb r2, [r1]
- movs r1, 0
- bl sub_8104C64
-_08105008:
- ldr r1, [r5]
- ldrh r0, [r1, 0x1A]
- cmp r0, r4
- beq _0810501A
- adds r1, 0x2C
- ldrb r2, [r1]
- movs r1, 0x1
- bl sub_8104C64
-_0810501A:
- ldr r1, [r5]
- ldrh r0, [r1, 0x1C]
- cmp r0, r4
- beq _0810502C
- adds r1, 0x2C
- ldrb r2, [r1]
- movs r1, 0x2
- bl sub_8104C64
-_0810502C:
- ldr r1, [r5]
- ldrh r0, [r1, 0x1E]
- cmp r0, r4
- beq _0810503E
- adds r1, 0x2C
- ldrb r2, [r1]
- movs r1, 0x3
- bl sub_8104C64
-_0810503E:
- movs r0, 0
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08105048: .4byte gUnknown_8452344
-_0810504C: .4byte gUnknown_8415F6C
-_08105050: .4byte gUnknown_203ACF0
-_08105054: .4byte 0x0000ffff
- thumb_func_end sub_8104F0C
-
- thumb_func_start sub_8105058
-sub_8105058: @ 8105058
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- cmp r0, 0xFF
- bne _081050C0
- ldr r7, _081050B4 @ =gUnknown_84406C8
- movs r6, 0xB0
- lsls r6, 15
- movs r5, 0xA4
- lsls r5, 15
- movs r4, 0x3
-_0810507A:
- lsrs r1, r5, 16
- adds r0, r7, 0
- movs r2, 0x2
- bl LoadPalette
- lsrs r1, r6, 16
- adds r0, r7, 0x2
- movs r2, 0x2
- bl LoadPalette
- movs r0, 0x80
- lsls r0, 13
- adds r6, r0
- adds r5, r0
- subs r4, 0x1
- cmp r4, 0
- bge _0810507A
- ldr r0, _081050B4 @ =gUnknown_84406C8
- ldr r1, _081050B8 @ =0x00000141
- movs r2, 0x2
- bl LoadPalette
- ldr r0, _081050BC @ =gUnknown_203ACF0
- ldr r0, [r0]
- adds r0, 0x2E
- movs r1, 0
- strb r1, [r0]
- b _0810515E
- .align 2, 0
-_081050B4: .4byte gUnknown_84406C8
-_081050B8: .4byte 0x00000141
-_081050BC: .4byte gUnknown_203ACF0
-_081050C0:
- ldr r2, _08105120 @ =gUnknown_203ACF0
- ldr r1, [r2]
- adds r1, 0x2E
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0x2E
- ldrb r0, [r1]
- cmp r0, 0x10
- bne _081050DC
- movs r0, 0
- strb r0, [r1]
-_081050DC:
- ldr r0, [r2]
- adds r0, 0x2E
- ldrb r0, [r0]
- lsrs r7, r0, 2
- movs r4, 0
- lsls r0, r7, 2
- mov r8, r0
- ldr r0, _08105124 @ =gUnknown_84406CC
- mov r10, r0
- movs r6, 0xB0
- lsls r6, 15
- movs r5, 0xA4
- lsls r5, 15
- movs r0, 0x4
- negs r0, r0
- add r0, r10
- mov r9, r0
-_081050FE:
- ldr r0, [sp]
- cmp r4, r0
- bne _0810512C
- lsrs r1, r5, 16
- mov r0, r8
- add r0, r10
- movs r2, 0x2
- bl LoadPalette
- lsrs r1, r6, 16
- ldr r0, _08105128 @ =gUnknown_84406CE
- add r0, r8
- movs r2, 0x2
- bl LoadPalette
- b _08105142
- .align 2, 0
-_08105120: .4byte gUnknown_203ACF0
-_08105124: .4byte gUnknown_84406CC
-_08105128: .4byte gUnknown_84406CE
-_0810512C:
- lsrs r1, r5, 16
- mov r0, r9
- movs r2, 0x2
- bl LoadPalette
- lsrs r1, r6, 16
- mov r0, r9
- adds r0, 0x2
- movs r2, 0x2
- bl LoadPalette
-_08105142:
- lsls r1, r7, 2
- movs r0, 0x80
- lsls r0, 13
- adds r6, r0
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x3
- ble _081050FE
- ldr r0, _08105170 @ =gUnknown_84406CC
- adds r0, r1, r0
- ldr r1, _08105174 @ =0x00000141
- movs r2, 0x2
- bl LoadPalette
-_0810515E:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08105170: .4byte gUnknown_84406CC
-_08105174: .4byte 0x00000141
- thumb_func_end sub_8105058
-
- thumb_func_start sub_8105178
-sub_8105178: @ 8105178
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsls r2, 24
- movs r3, 0xFF
- lsls r3, 24
- adds r2, r3
- ldr r3, _081051A8 @ =gUnknown_8452334
- lsrs r2, 22
- adds r2, r3
- ldr r2, [r2]
- lsrs r1, 22
- adds r1, r2
- ldrb r3, [r1, 0x2]
- lsls r3, 3
- ldrb r2, [r1, 0x3]
- lsls r2, 3
- adds r1, r3, 0
- movs r3, 0
- bl ListMenuUpdateCursorObject
- pop {r0}
- bx r0
- .align 2, 0
-_081051A8: .4byte gUnknown_8452334
- thumb_func_end sub_8105178
-
- thumb_func_start sub_81051AC
-sub_81051AC: @ 81051AC
- push {lr}
- lsls r1, 24
- lsls r3, 24
- lsrs r1, 23
- adds r1, r0, r1
- lsrs r3, 23
- adds r2, r3
- movs r3, 0x13
-_081051BC:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r2, 0x40
- adds r1, 0x40
- subs r3, 0x1
- cmp r3, 0
- bge _081051BC
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_81051AC
-
- thumb_func_start sub_81051D0
-sub_81051D0: @ 81051D0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 24
- lsrs r2, 23
- adds r1, r2
- movs r2, 0x13
-_081051DE:
- strh r0, [r1]
- adds r1, 0x40
- subs r2, 0x1
- cmp r2, 0
- bge _081051DE
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_81051D0
-
- thumb_func_start sub_81051F0
-sub_81051F0: @ 81051F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl GetBgTilemapBuffer
- mov r10, r0
- movs r0, 0x2
- bl GetBgTilemapBuffer
- mov r9, r0
- movs r0, 0x3
- bl GetBgTilemapBuffer
- mov r8, r0
- ldr r0, _0810526C @ =gUnknown_203ACF0
- ldr r0, [r0]
- ldr r0, [r0, 0x5C]
- movs r1, 0x80
- lsls r1, 5
- adds r1, r0, r1
- str r1, [sp, 0x4]
- movs r1, 0x80
- lsls r1, 4
- adds r1, r0, r1
- str r1, [sp, 0x8]
- str r0, [sp, 0xC]
- movs r0, 0
- str r0, [sp]
- ldr r1, _08105270 @ =gUnknown_8452388
- movs r7, 0
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 1
- adds r6, r0, r1
-_08105242:
- ldrb r4, [r6]
- cmp r4, 0x1E
- bne _08105274
- lsrs r4, r7, 24
- movs r0, 0
- mov r1, r10
- adds r2, r4, 0
- bl sub_81051D0
- movs r0, 0
- mov r1, r9
- adds r2, r4, 0
- bl sub_81051D0
- movs r0, 0xC
- mov r1, r8
- adds r2, r4, 0
- bl sub_81051D0
- b _0810529A
- .align 2, 0
-_0810526C: .4byte gUnknown_203ACF0
-_08105270: .4byte gUnknown_8452388
-_08105274:
- lsrs r5, r7, 24
- ldr r0, [sp, 0x4]
- adds r1, r4, 0
- mov r2, r10
- adds r3, r5, 0
- bl sub_81051AC
- ldr r0, [sp, 0x8]
- adds r1, r4, 0
- mov r2, r9
- adds r3, r5, 0
- bl sub_81051AC
- ldr r0, [sp, 0xC]
- adds r1, r4, 0
- mov r2, r8
- adds r3, r5, 0
- bl sub_81051AC
-_0810529A:
- movs r1, 0x80
- lsls r1, 17
- adds r7, r1
- adds r6, 0x1
- ldr r0, [sp]
- adds r0, 0x1
- str r0, [sp]
- cmp r0, 0x1D
- ble _08105242
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81051F0
-
- thumb_func_start sub_81052D0
-sub_81052D0: @ 81052D0
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _081052E8
- ldr r0, _081052E4 @ =gUnknown_84406E0
- b _081052EA
- .align 2, 0
-_081052E4: .4byte gUnknown_84406E0
-_081052E8:
- ldr r0, _08105304 @ =gUnknown_84404C8
-_081052EA:
- ldrh r4, [r0, 0xE]
- ldr r1, _08105308 @ =gUnknown_203ACF0
- ldr r0, [r1]
- ldrb r0, [r0, 0x2]
- adds r5, r1, 0
- cmp r0, 0x9
- bls _081052FA
- b _0810557C
-_081052FA:
- lsls r0, 2
- ldr r1, _0810530C @ =_08105310
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08105304: .4byte gUnknown_84404C8
-_08105308: .4byte gUnknown_203ACF0
-_0810530C: .4byte _08105310
- .align 2, 0
-_08105310:
- .4byte _08105338
- .4byte _08105358
- .4byte _08105364
- .4byte _08105384
- .4byte _081053DC
- .4byte _0810547C
- .4byte _08105492
- .4byte _081054F0
- .4byte _08105528
- .4byte _0810555C
-_08105338:
- movs r0, 0xC0
- lsls r0, 5
- bl Alloc
- ldr r1, _08105350 @ =gUnknown_203ACF0
- ldr r1, [r1]
- str r0, [r1, 0x5C]
- cmp r6, 0
- beq _08105354
- movs r0, 0x6
- b _0810557A
- .align 2, 0
-_08105350: .4byte gUnknown_203ACF0
-_08105354:
- movs r0, 0x2
- b _0810557A
-_08105358:
- ldr r0, [r5]
- ldr r0, [r0, 0x5C]
- bl Free
- movs r0, 0x1
- b _0810557E
-_08105364:
- ldr r0, _0810537C @ =0x00007fff
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08105380 @ =gUnknown_203ACF0
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- b _0810557A
- .align 2, 0
-_0810537C: .4byte 0x00007fff
-_08105380: .4byte gUnknown_203ACF0
-_08105384:
- movs r0, 0x1E
- str r0, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0xC
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r5, 0x20
- str r5, [sp]
- 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
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r0, _081053D8 @ =gUnknown_203ACF0
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- b _0810557A
- .align 2, 0
-_081053D8: .4byte gUnknown_203ACF0
-_081053DC:
- ldr r0, _08105474 @ =0x00007fff
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl sub_8104F0C
- movs r0, 0x3
- bl GetBgTilemapBuffer
- ldr r6, _08105478 @ =gUnknown_203ACF0
- ldr r1, [r6]
- ldr r1, [r1, 0x5C]
- movs r4, 0x80
- lsls r4, 2
- adds r2, r4, 0
- bl CpuFastSet
- movs r0, 0x2
- bl GetBgTilemapBuffer
- ldr r1, [r6]
- ldr r1, [r1, 0x5C]
- movs r2, 0x80
- lsls r2, 4
- adds r1, r2
- adds r2, r4, 0
- bl CpuFastSet
- movs r0, 0x1
- bl GetBgTilemapBuffer
- ldr r1, [r6]
- ldr r1, [r1, 0x5C]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- adds r2, r4, 0
- bl CpuFastSet
- movs r0, 0x1E
- str r0, [sp]
- movs r4, 0x14
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0xC
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r5, 0x20
- str r5, [sp]
- 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
- ldr r1, [r6]
- movs r0, 0
- strb r0, [r1, 0x3]
- ldr r1, [r6]
- b _081054DC
- .align 2, 0
-_08105474: .4byte 0x00007fff
-_08105478: .4byte gUnknown_203ACF0
-_0810547C:
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- cmp r0, 0x9
- bhi _08105578
- bl sub_81051F0
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- adds r0, 0x1
- strb r0, [r1, 0x3]
- b _0810557C
-_08105492:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- ldr r4, _081054EC @ =gUnknown_203ACF0
- ldr r1, [r4]
- ldr r1, [r1, 0x5C]
- movs r5, 0x80
- lsls r5, 2
- adds r2, r5, 0
- bl CpuFastSet
- movs r0, 0x2
- bl GetBgTilemapBuffer
- ldr r1, [r4]
- ldr r1, [r1, 0x5C]
- movs r2, 0x80
- lsls r2, 4
- adds r1, r2
- adds r2, r5, 0
- bl CpuFastSet
- movs r0, 0x1
- bl GetBgTilemapBuffer
- ldr r1, [r4]
- ldr r1, [r1, 0x5C]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- adds r2, r5, 0
- bl CpuFastSet
- ldr r1, [r4]
- movs r0, 0x9
- strb r0, [r1, 0x3]
- ldr r1, [r4]
-_081054DC:
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- movs r0, 0x6B
- bl PlaySE
- b _0810557C
- .align 2, 0
-_081054EC: .4byte gUnknown_203ACF0
-_081054F0:
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- beq _08105506
- bl sub_81051F0
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- subs r0, 0x1
- strb r0, [r1, 0x3]
- b _0810557C
-_08105506:
- ldrb r0, [r1, 0x2]
- bl sub_81051F0
- ldr r0, _08105524 @ =0x00007fff
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- b _0810557A
- .align 2, 0
-_08105524: .4byte 0x00007fff
-_08105528:
- ldr r2, _08105554 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0
- bl sub_8104F0C
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r0, _08105558 @ =gUnknown_203ACF0
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- b _0810557A
- .align 2, 0
-_08105554: .4byte gPaletteFade
-_08105558: .4byte gUnknown_203ACF0
-_0810555C:
- ldr r2, _08105588 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _0810558C @ =0x00007fff
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08105590 @ =gUnknown_203ACF0
- ldr r1, [r0]
-_08105578:
- movs r0, 0x1
-_0810557A:
- strb r0, [r1, 0x2]
-_0810557C:
- movs r0, 0
-_0810557E:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08105588: .4byte gPaletteFade
-_0810558C: .4byte 0x00007fff
-_08105590: .4byte gUnknown_203ACF0
- thumb_func_end sub_81052D0
-
thumb_func_start sub_8105594
sub_8105594: @ 8105594
push {r4-r7,lr}
diff --git a/baserom.ips b/baserom.ips
index 74aa1927b..55a409caf 100644
--- a/baserom.ips
+++ b/baserom.ips
Binary files differ
diff --git a/data/pokedex_screen.s b/data/pokedex_screen.s
index 473c88e40..2586524fb 100644
--- a/data/pokedex_screen.s
+++ b/data/pokedex_screen.s
@@ -1,168 +1,3566 @@
#include "constants/region_map.h"
#include "constants/flags.h"
#include "constants/moves.h"
+#include "constants/species.h"
+#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10))
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_843FAB0:: @ 843FAB0
- .incbin "baserom.gba", 0x43FAB0, 0x674
+ .4byte gMonFootprint_Bulbasaur
+ .4byte gMonFootprint_Bulbasaur
+ .4byte gMonFootprint_Ivysaur
+ .4byte gMonFootprint_Venusaur
+ .4byte gMonFootprint_Charmander
+ .4byte gMonFootprint_Charmeleon
+ .4byte gMonFootprint_Charizard
+ .4byte gMonFootprint_Squirtle
+ .4byte gMonFootprint_Wartortle
+ .4byte gMonFootprint_Blastoise
+ .4byte gMonFootprint_Caterpie
+ .4byte gMonFootprint_Metapod
+ .4byte gMonFootprint_Butterfree
+ .4byte gMonFootprint_Weedle
+ .4byte gMonFootprint_Kakuna
+ .4byte gMonFootprint_Beedrill
+ .4byte gMonFootprint_Pidgey
+ .4byte gMonFootprint_Pidgeotto
+ .4byte gMonFootprint_Pidgeot
+ .4byte gMonFootprint_Rattata
+ .4byte gMonFootprint_Raticate
+ .4byte gMonFootprint_Spearow
+ .4byte gMonFootprint_Fearow
+ .4byte gMonFootprint_Ekans
+ .4byte gMonFootprint_Arbok
+ .4byte gMonFootprint_Pikachu
+ .4byte gMonFootprint_Raichu
+ .4byte gMonFootprint_Sandshrew
+ .4byte gMonFootprint_Sandslash
+ .4byte gMonFootprint_NidoranF
+ .4byte gMonFootprint_Nidorina
+ .4byte gMonFootprint_Nidoqueen
+ .4byte gMonFootprint_NidoranM
+ .4byte gMonFootprint_Nidorino
+ .4byte gMonFootprint_Nidoking
+ .4byte gMonFootprint_Clefairy
+ .4byte gMonFootprint_Clefable
+ .4byte gMonFootprint_Vulpix
+ .4byte gMonFootprint_Ninetales
+ .4byte gMonFootprint_Jigglypuff
+ .4byte gMonFootprint_Wigglytuff
+ .4byte gMonFootprint_Zubat
+ .4byte gMonFootprint_Golbat
+ .4byte gMonFootprint_Oddish
+ .4byte gMonFootprint_Gloom
+ .4byte gMonFootprint_Vileplume
+ .4byte gMonFootprint_Paras
+ .4byte gMonFootprint_Parasect
+ .4byte gMonFootprint_Venonat
+ .4byte gMonFootprint_Venomoth
+ .4byte gMonFootprint_Diglett
+ .4byte gMonFootprint_Dugtrio
+ .4byte gMonFootprint_Meowth
+ .4byte gMonFootprint_Persian
+ .4byte gMonFootprint_Psyduck
+ .4byte gMonFootprint_Golduck
+ .4byte gMonFootprint_Mankey
+ .4byte gMonFootprint_Primeape
+ .4byte gMonFootprint_Growlithe
+ .4byte gMonFootprint_Arcanine
+ .4byte gMonFootprint_Poliwag
+ .4byte gMonFootprint_Poliwhirl
+ .4byte gMonFootprint_Poliwrath
+ .4byte gMonFootprint_Abra
+ .4byte gMonFootprint_Kadabra
+ .4byte gMonFootprint_Alakazam
+ .4byte gMonFootprint_Machop
+ .4byte gMonFootprint_Machoke
+ .4byte gMonFootprint_Machamp
+ .4byte gMonFootprint_Bellsprout
+ .4byte gMonFootprint_Weepinbell
+ .4byte gMonFootprint_Victreebel
+ .4byte gMonFootprint_Tentacool
+ .4byte gMonFootprint_Tentacruel
+ .4byte gMonFootprint_Geodude
+ .4byte gMonFootprint_Graveler
+ .4byte gMonFootprint_Golem
+ .4byte gMonFootprint_Ponyta
+ .4byte gMonFootprint_Rapidash
+ .4byte gMonFootprint_Slowpoke
+ .4byte gMonFootprint_Slowbro
+ .4byte gMonFootprint_Magnemite
+ .4byte gMonFootprint_Magneton
+ .4byte gMonFootprint_Farfetchd
+ .4byte gMonFootprint_Doduo
+ .4byte gMonFootprint_Dodrio
+ .4byte gMonFootprint_Seel
+ .4byte gMonFootprint_Dewgong
+ .4byte gMonFootprint_Grimer
+ .4byte gMonFootprint_Muk
+ .4byte gMonFootprint_Shellder
+ .4byte gMonFootprint_Cloyster
+ .4byte gMonFootprint_Gastly
+ .4byte gMonFootprint_Haunter
+ .4byte gMonFootprint_Gengar
+ .4byte gMonFootprint_Onix
+ .4byte gMonFootprint_Drowzee
+ .4byte gMonFootprint_Hypno
+ .4byte gMonFootprint_Krabby
+ .4byte gMonFootprint_Kingler
+ .4byte gMonFootprint_Voltorb
+ .4byte gMonFootprint_Electrode
+ .4byte gMonFootprint_Exeggcute
+ .4byte gMonFootprint_Exeggutor
+ .4byte gMonFootprint_Cubone
+ .4byte gMonFootprint_Marowak
+ .4byte gMonFootprint_Hitmonlee
+ .4byte gMonFootprint_Hitmonchan
+ .4byte gMonFootprint_Lickitung
+ .4byte gMonFootprint_Koffing
+ .4byte gMonFootprint_Weezing
+ .4byte gMonFootprint_Rhyhorn
+ .4byte gMonFootprint_Rhydon
+ .4byte gMonFootprint_Chansey
+ .4byte gMonFootprint_Tangela
+ .4byte gMonFootprint_Kangaskhan
+ .4byte gMonFootprint_Horsea
+ .4byte gMonFootprint_Seadra
+ .4byte gMonFootprint_Goldeen
+ .4byte gMonFootprint_Seaking
+ .4byte gMonFootprint_Staryu
+ .4byte gMonFootprint_Starmie
+ .4byte gMonFootprint_Mrmime
+ .4byte gMonFootprint_Scyther
+ .4byte gMonFootprint_Jynx
+ .4byte gMonFootprint_Electabuzz
+ .4byte gMonFootprint_Magmar
+ .4byte gMonFootprint_Pinsir
+ .4byte gMonFootprint_Tauros
+ .4byte gMonFootprint_Magikarp
+ .4byte gMonFootprint_Gyarados
+ .4byte gMonFootprint_Lapras
+ .4byte gMonFootprint_Ditto
+ .4byte gMonFootprint_Eevee
+ .4byte gMonFootprint_Vaporeon
+ .4byte gMonFootprint_Jolteon
+ .4byte gMonFootprint_Flareon
+ .4byte gMonFootprint_Porygon
+ .4byte gMonFootprint_Omanyte
+ .4byte gMonFootprint_Omastar
+ .4byte gMonFootprint_Kabuto
+ .4byte gMonFootprint_Kabutops
+ .4byte gMonFootprint_Aerodactyl
+ .4byte gMonFootprint_Snorlax
+ .4byte gMonFootprint_Articuno
+ .4byte gMonFootprint_Zapdos
+ .4byte gMonFootprint_Moltres
+ .4byte gMonFootprint_Dratini
+ .4byte gMonFootprint_Dragonair
+ .4byte gMonFootprint_Dragonite
+ .4byte gMonFootprint_Mewtwo
+ .4byte gMonFootprint_Mew
+ .4byte gMonFootprint_Chikorita
+ .4byte gMonFootprint_Bayleef
+ .4byte gMonFootprint_Meganium
+ .4byte gMonFootprint_Cyndaquil
+ .4byte gMonFootprint_Quilava
+ .4byte gMonFootprint_Typhlosion
+ .4byte gMonFootprint_Totodile
+ .4byte gMonFootprint_Croconaw
+ .4byte gMonFootprint_Feraligatr
+ .4byte gMonFootprint_Sentret
+ .4byte gMonFootprint_Furret
+ .4byte gMonFootprint_Hoothoot
+ .4byte gMonFootprint_Noctowl
+ .4byte gMonFootprint_Ledyba
+ .4byte gMonFootprint_Ledian
+ .4byte gMonFootprint_Spinarak
+ .4byte gMonFootprint_Ariados
+ .4byte gMonFootprint_Crobat
+ .4byte gMonFootprint_Chinchou
+ .4byte gMonFootprint_Lanturn
+ .4byte gMonFootprint_Pichu
+ .4byte gMonFootprint_Cleffa
+ .4byte gMonFootprint_Igglybuff
+ .4byte gMonFootprint_Togepi
+ .4byte gMonFootprint_Togetic
+ .4byte gMonFootprint_Natu
+ .4byte gMonFootprint_Xatu
+ .4byte gMonFootprint_Mareep
+ .4byte gMonFootprint_Flaaffy
+ .4byte gMonFootprint_Ampharos
+ .4byte gMonFootprint_Bellossom
+ .4byte gMonFootprint_Marill
+ .4byte gMonFootprint_Azumarill
+ .4byte gMonFootprint_Sudowoodo
+ .4byte gMonFootprint_Politoed
+ .4byte gMonFootprint_Hoppip
+ .4byte gMonFootprint_Skiploom
+ .4byte gMonFootprint_Jumpluff
+ .4byte gMonFootprint_Aipom
+ .4byte gMonFootprint_Sunkern
+ .4byte gMonFootprint_Sunflora
+ .4byte gMonFootprint_Yanma
+ .4byte gMonFootprint_Wooper
+ .4byte gMonFootprint_Quagsire
+ .4byte gMonFootprint_Espeon
+ .4byte gMonFootprint_Umbreon
+ .4byte gMonFootprint_Murkrow
+ .4byte gMonFootprint_Slowking
+ .4byte gMonFootprint_Misdreavus
+ .4byte gMonFootprint_Unown
+ .4byte gMonFootprint_Wobbuffet
+ .4byte gMonFootprint_Girafarig
+ .4byte gMonFootprint_Pineco
+ .4byte gMonFootprint_Forretress
+ .4byte gMonFootprint_Dunsparce
+ .4byte gMonFootprint_Gligar
+ .4byte gMonFootprint_Steelix
+ .4byte gMonFootprint_Snubbull
+ .4byte gMonFootprint_Granbull
+ .4byte gMonFootprint_Qwilfish
+ .4byte gMonFootprint_Scizor
+ .4byte gMonFootprint_Shuckle
+ .4byte gMonFootprint_Heracross
+ .4byte gMonFootprint_Sneasel
+ .4byte gMonFootprint_Teddiursa
+ .4byte gMonFootprint_Ursaring
+ .4byte gMonFootprint_Slugma
+ .4byte gMonFootprint_Magcargo
+ .4byte gMonFootprint_Swinub
+ .4byte gMonFootprint_Piloswine
+ .4byte gMonFootprint_Corsola
+ .4byte gMonFootprint_Remoraid
+ .4byte gMonFootprint_Octillery
+ .4byte gMonFootprint_Delibird
+ .4byte gMonFootprint_Mantine
+ .4byte gMonFootprint_Skarmory
+ .4byte gMonFootprint_Houndour
+ .4byte gMonFootprint_Houndoom
+ .4byte gMonFootprint_Kingdra
+ .4byte gMonFootprint_Phanpy
+ .4byte gMonFootprint_Donphan
+ .4byte gMonFootprint_Porygon2
+ .4byte gMonFootprint_Stantler
+ .4byte gMonFootprint_Smeargle
+ .4byte gMonFootprint_Tyrogue
+ .4byte gMonFootprint_Hitmontop
+ .4byte gMonFootprint_Smoochum
+ .4byte gMonFootprint_Elekid
+ .4byte gMonFootprint_Magby
+ .4byte gMonFootprint_Miltank
+ .4byte gMonFootprint_Blissey
+ .4byte gMonFootprint_Raikou
+ .4byte gMonFootprint_Entei
+ .4byte gMonFootprint_Suicune
+ .4byte gMonFootprint_Larvitar
+ .4byte gMonFootprint_Pupitar
+ .4byte gMonFootprint_Tyranitar
+ .4byte gMonFootprint_Lugia
+ .4byte gMonFootprint_HoOh
+ .4byte gMonFootprint_Celebi
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_QuestionMark
+ .4byte gMonFootprint_Treecko
+ .4byte gMonFootprint_Grovyle
+ .4byte gMonFootprint_Sceptile
+ .4byte gMonFootprint_Torchic
+ .4byte gMonFootprint_Combusken
+ .4byte gMonFootprint_Blaziken
+ .4byte gMonFootprint_Mudkip
+ .4byte gMonFootprint_Marshtomp
+ .4byte gMonFootprint_Swampert
+ .4byte gMonFootprint_Poochyena
+ .4byte gMonFootprint_Mightyena
+ .4byte gMonFootprint_Zigzagoon
+ .4byte gMonFootprint_Linoone
+ .4byte gMonFootprint_Wurmple
+ .4byte gMonFootprint_Silcoon
+ .4byte gMonFootprint_Beautifly
+ .4byte gMonFootprint_Cascoon
+ .4byte gMonFootprint_Dustox
+ .4byte gMonFootprint_Lotad
+ .4byte gMonFootprint_Lombre
+ .4byte gMonFootprint_Ludicolo
+ .4byte gMonFootprint_Seedot
+ .4byte gMonFootprint_Nuzleaf
+ .4byte gMonFootprint_Shiftry
+ .4byte gMonFootprint_Nincada
+ .4byte gMonFootprint_Ninjask
+ .4byte gMonFootprint_Shedinja
+ .4byte gMonFootprint_Taillow
+ .4byte gMonFootprint_Swellow
+ .4byte gMonFootprint_Shroomish
+ .4byte gMonFootprint_Breloom
+ .4byte gMonFootprint_Spinda
+ .4byte gMonFootprint_Wingull
+ .4byte gMonFootprint_Pelipper
+ .4byte gMonFootprint_Surskit
+ .4byte gMonFootprint_Masquerain
+ .4byte gMonFootprint_Wailmer
+ .4byte gMonFootprint_Wailord
+ .4byte gMonFootprint_Skitty
+ .4byte gMonFootprint_Delcatty
+ .4byte gMonFootprint_Kecleon
+ .4byte gMonFootprint_Baltoy
+ .4byte gMonFootprint_Claydol
+ .4byte gMonFootprint_Nosepass
+ .4byte gMonFootprint_Torkoal
+ .4byte gMonFootprint_Sableye
+ .4byte gMonFootprint_Barboach
+ .4byte gMonFootprint_Whiscash
+ .4byte gMonFootprint_Luvdisc
+ .4byte gMonFootprint_Corphish
+ .4byte gMonFootprint_Crawdaunt
+ .4byte gMonFootprint_Feebas
+ .4byte gMonFootprint_Milotic
+ .4byte gMonFootprint_Carvanha
+ .4byte gMonFootprint_Sharpedo
+ .4byte gMonFootprint_Trapinch
+ .4byte gMonFootprint_Vibrava
+ .4byte gMonFootprint_Flygon
+ .4byte gMonFootprint_Makuhita
+ .4byte gMonFootprint_Hariyama
+ .4byte gMonFootprint_Electrike
+ .4byte gMonFootprint_Manectric
+ .4byte gMonFootprint_Numel
+ .4byte gMonFootprint_Camerupt
+ .4byte gMonFootprint_Spheal
+ .4byte gMonFootprint_Sealeo
+ .4byte gMonFootprint_Walrein
+ .4byte gMonFootprint_Cacnea
+ .4byte gMonFootprint_Cacturne
+ .4byte gMonFootprint_Snorunt
+ .4byte gMonFootprint_Glalie
+ .4byte gMonFootprint_Lunatone
+ .4byte gMonFootprint_Solrock
+ .4byte gMonFootprint_Azurill
+ .4byte gMonFootprint_Spoink
+ .4byte gMonFootprint_Grumpig
+ .4byte gMonFootprint_Plusle
+ .4byte gMonFootprint_Minun
+ .4byte gMonFootprint_Mawile
+ .4byte gMonFootprint_Meditite
+ .4byte gMonFootprint_Medicham
+ .4byte gMonFootprint_Swablu
+ .4byte gMonFootprint_Altaria
+ .4byte gMonFootprint_Wynaut
+ .4byte gMonFootprint_Duskull
+ .4byte gMonFootprint_Dusclops
+ .4byte gMonFootprint_Roselia
+ .4byte gMonFootprint_Slakoth
+ .4byte gMonFootprint_Vigoroth
+ .4byte gMonFootprint_Slaking
+ .4byte gMonFootprint_Gulpin
+ .4byte gMonFootprint_Swalot
+ .4byte gMonFootprint_Tropius
+ .4byte gMonFootprint_Whismur
+ .4byte gMonFootprint_Loudred
+ .4byte gMonFootprint_Exploud
+ .4byte gMonFootprint_Clamperl
+ .4byte gMonFootprint_Huntail
+ .4byte gMonFootprint_Gorebyss
+ .4byte gMonFootprint_Absol
+ .4byte gMonFootprint_Shuppet
+ .4byte gMonFootprint_Banette
+ .4byte gMonFootprint_Seviper
+ .4byte gMonFootprint_Zangoose
+ .4byte gMonFootprint_Relicanth
+ .4byte gMonFootprint_Aron
+ .4byte gMonFootprint_Lairon
+ .4byte gMonFootprint_Aggron
+ .4byte gMonFootprint_Castform
+ .4byte gMonFootprint_Volbeat
+ .4byte gMonFootprint_Illumise
+ .4byte gMonFootprint_Lileep
+ .4byte gMonFootprint_Cradily
+ .4byte gMonFootprint_Anorith
+ .4byte gMonFootprint_Armaldo
+ .4byte gMonFootprint_Ralts
+ .4byte gMonFootprint_Kirlia
+ .4byte gMonFootprint_Gardevoir
+ .4byte gMonFootprint_Bagon
+ .4byte gMonFootprint_Shelgon
+ .4byte gMonFootprint_Salamence
+ .4byte gMonFootprint_Beldum
+ .4byte gMonFootprint_Metang
+ .4byte gMonFootprint_Metagross
+ .4byte gMonFootprint_Regirock
+ .4byte gMonFootprint_Regice
+ .4byte gMonFootprint_Registeel
+ .4byte gMonFootprint_Kyogre
+ .4byte gMonFootprint_Groudon
+ .4byte gMonFootprint_Rayquaza
+ .4byte gMonFootprint_Latias
+ .4byte gMonFootprint_Latios
+ .4byte gMonFootprint_Jirachi
+ .4byte gMonFootprint_Deoxys
+ .4byte gMonFootprint_Chimecho
+ .4byte gMonFootprint_Bulbasaur
-gUnknown_8440124:: @ 8440124
- .incbin "baserom.gba", 0x440124, 0x150
+gUnknown_8440124:: @ 8440124 bin.lz
+ .incbin "graphics/pokedex/unk_8440124.bin.lz"
-gUnknown_8440274:: @ 8440274
- .incbin "baserom.gba", 0x440274, 0x138
+gUnknown_8440274:: @ 8440274 4bpp.lz
+ .incbin "graphics/pokedex/unk_8440274.4bpp.lz"
-gUnknown_84403AC:: @ 84403AC
- .incbin "baserom.gba", 0x4403AC, 0x11C
+gUnknown_84403AC:: @ 84403AC 4bpp.lz
+ .incbin "graphics/pokedex/unk_84403AC.4bpp.lz"
-gUnknown_84404C8:: @ 84404C8
- .incbin "baserom.gba", 0x4404C8, 0x200
+gUnknown_84404C8:: @ 84404C8 gbapal
+ .incbin "graphics/pokedex/unk_84404C8.gbapal"
-gUnknown_84406C8:: @ 84406C8
- .incbin "baserom.gba", 0x4406C8, 0x4
+gUnknown_84406C8:: @ 84406C8 data16
+ .2byte RGB(24, 22, 17), RGB(26, 24, 20)
+ .2byte RGB(26, 20, 15), RGB(27, 23, 19)
+ .2byte RGB(28, 18, 15), RGB(28, 22, 19)
+ .2byte RGB(30, 16, 13), RGB(29, 21, 18)
+ .2byte RGB(28, 18, 15), RGB(28, 22, 19)
+ .2byte RGB(26, 20, 15), RGB(27, 23, 19)
-gUnknown_84406CC:: @ 84406CC
- .incbin "baserom.gba", 0x4406CC, 0x2
+gUnknown_84406E0:: @ 84406E0 gbapal
+ .incbin "graphics/pokedex/unk_84406E0.gbapal"
-gUnknown_84406CE:: @ 84406CE
- .incbin "baserom.gba", 0x4406CE, 0x12
+gUnknown_84408E0:: @ bin.lz
+ .incbin "graphics/pokedex/unk_84408E0.bin.lz"
-gUnknown_84406E0:: @ 84406E0
- .incbin "baserom.gba", 0x4406E0, 0x810
+gUnknown_8440BD8:: @ bin.lz
+ .incbin "graphics/pokedex/unk_8440BD8.bin.lz"
-gUnknown_8440EF0:: @ 8440EF0
- .incbin "baserom.gba", 0x440EF0, 0x2570
+gUnknown_8440EF0:: @ 8440EF0 bin.lz
+ .incbin "graphics/pokedex/unk_8440EF0.bin.lz"
-gUnknown_8443460:: @ 8443460
- .incbin "baserom.gba", 0x443460, 0x1A0
+gUnknown_844112C:: @ bin.lz
+ .incbin "graphics/pokedex/unk_844112C.bin.lz"
-gUnknown_8443600:: @ 8443600
- .incbin "baserom.gba", 0x443600, 0x20
+gUnknown_84414BC:: @ bin.lz
+ .incbin "graphics/pokedex/unk_84414BC.bin.lz"
-gUnknown_8443620:: @ 8443620
- .incbin "baserom.gba", 0x443620, 0x6E0
+gUnknown_8441808:: @ bin.lz
+ .incbin "graphics/pokedex/unk_8441808.bin.lz"
-gUnknown_8443D00:: @ 8443D00
- .incbin "baserom.gba", 0x443D00, 0x2C0
+gUnknown_8441A40:: @ bin.lz
+ .incbin "graphics/pokedex/unk_8441A40.bin.lz"
+
+gUnknown_8441D54:: @ bin.lz
+ .incbin "graphics/pokedex/unk_8441D54.bin.lz"
+
+gUnknown_8442004:: @ bin.lz
+ .incbin "graphics/pokedex/unk_8442004.bin.lz"
+
+gUnknown_844223C:: @ bin.lz
+ .incbin "graphics/pokedex/unk_844223C.bin.lz"
+
+gUnknown_84424E4:: @ bin.lz
+ .incbin "graphics/pokedex/unk_84424E4.bin.lz"
+
+gUnknown_8442838:: @ bin.lz
+ .incbin "graphics/pokedex/unk_8442838.bin.lz"
+
+gUnknown_8442BC0:: @ bin.lz
+ .incbin "graphics/pokedex/unk_8442BC0.bin.lz"
+
+gUnknown_8442EF8:: @ bin.lz
+ .incbin "graphics/pokedex/unk_8442EF8.bin.lz"
+
+gUnknown_844318C:: @ bin.lz
+ .incbin "graphics/pokedex/unk_844318C.bin.lz"
+
+gUnknown_8443420:: @ gbapal
+ .incbin "graphics/pokedex/unk_8443420.gbapal"
+
+gUnknown_8443440:: @ gbapal
+ .incbin "graphics/pokedex/unk_8443440.gbapal"
+
+gUnknown_8443460:: @ 8443460 gbapal
+ .incbin "graphics/pokedex/unk_8443460.gbapal"
+
+gUnknown_8443480:: @ gbapal
+ .incbin "graphics/pokedex/unk_8443480.gbapal"
+
+gUnknown_84434A0:: @ gbapal
+ .incbin "graphics/pokedex/unk_84434A0.gbapal"
+
+gUnknown_84434C0:: @ gbapal
+ .incbin "graphics/pokedex/unk_84434C0.gbapal"
+
+gUnknown_84434E0:: @ gbapal
+ .incbin "graphics/pokedex/unk_84434E0.gbapal"
+
+gUnknown_8443500:: @ gbapal
+ .incbin "graphics/pokedex/unk_8443500.gbapal"
+
+gUnknown_8443520:: @ gbapal
+ .incbin "graphics/pokedex/unk_8443520.gbapal"
+
+gUnknown_8443540:: @ gbapal
+ .incbin "graphics/pokedex/unk_8443540.gbapal"
+
+gUnknown_8443560:: @ gbapal
+ .incbin "graphics/pokedex/unk_8443560.gbapal"
+
+gUnknown_8443580:: @ gbapal
+ .incbin "graphics/pokedex/unk_8443580.gbapal"
+
+gUnknown_84435A0:: @ gbapal
+ .incbin "graphics/pokedex/unk_84435A0.gbapal"
+
+gUnknown_84435C0:: @ gbapal
+ .incbin "graphics/pokedex/unk_84435C0.gbapal"
+
+gUnknown_84435E0:: @ gbapal
+ .incbin "graphics/pokedex/unk_84435E0.gbapal"
+
+gUnknown_8443600:: @ 8443600 4bpp
+ .incbin "graphics/pokedex/unk_8443600.4bpp"
+
+gUnknown_8443620:: @ 8443620 bin.lz
+ .incbin "graphics/pokedex/unk_8443620.bin.lz"
+
+gUnknown_8443910:: @ 8443910 bin.lz
+ .incbin "graphics/pokedex/unk_8443910.bin.lz"
+
+gUnknown_8443988:: @ 8443988 bin.lz
+ .incbin "graphics/pokedex/unk_8443988.bin.lz"
+
+gUnknown_84439FC:: @ 84439FC bin.lz
+ .incbin "graphics/pokedex/unk_84439FC.bin.lz"
+
+gUnknown_8443A78:: @ 8443A78 bin.lz
+ .incbin "graphics/pokedex/unk_8443A78.bin.lz"
+
+gUnknown_8443AF8:: @ 8443AF8 bin.lz
+ .incbin "graphics/pokedex/unk_8443AF8.bin.lz"
+
+gUnknown_8443BB0:: @ 8443BB0 bin.lz
+ .incbin "graphics/pokedex/unk_8443BB0.bin.lz"
+
+gUnknown_8443C54:: @ 8443C54 bin.lz
+ .incbin "graphics/pokedex/unk_8443C54.bin.lz"
+
+gUnknown_8443D00:: @ 8443D00 4bpp
+ .incbin "graphics/pokedex/unk_8443D00.4bpp"
gUnknown_8443FC0:: @ 8443FC0
- .incbin "baserom.gba", 0x443FC0, 0x336
+ .2byte NATIONAL_DEX_OLD_UNOWN_B
+ .2byte NATIONAL_DEX_OLD_UNOWN_C
+ .2byte NATIONAL_DEX_OLD_UNOWN_D
+ .2byte NATIONAL_DEX_OLD_UNOWN_E
+ .2byte NATIONAL_DEX_OLD_UNOWN_F
+ .2byte NATIONAL_DEX_OLD_UNOWN_G
+ .2byte NATIONAL_DEX_OLD_UNOWN_H
+ .2byte NATIONAL_DEX_OLD_UNOWN_I
+ .2byte NATIONAL_DEX_OLD_UNOWN_J
+ .2byte NATIONAL_DEX_OLD_UNOWN_K
+ .2byte NATIONAL_DEX_OLD_UNOWN_L
+ .2byte NATIONAL_DEX_OLD_UNOWN_M
+ .2byte NATIONAL_DEX_OLD_UNOWN_N
+ .2byte NATIONAL_DEX_OLD_UNOWN_O
+ .2byte NATIONAL_DEX_OLD_UNOWN_P
+ .2byte NATIONAL_DEX_OLD_UNOWN_Q
+ .2byte NATIONAL_DEX_OLD_UNOWN_R
+ .2byte NATIONAL_DEX_OLD_UNOWN_S
+ .2byte NATIONAL_DEX_OLD_UNOWN_T
+ .2byte NATIONAL_DEX_OLD_UNOWN_U
+ .2byte NATIONAL_DEX_OLD_UNOWN_V
+ .2byte NATIONAL_DEX_OLD_UNOWN_W
+ .2byte NATIONAL_DEX_OLD_UNOWN_X
+ .2byte NATIONAL_DEX_OLD_UNOWN_Y
+ .2byte NATIONAL_DEX_OLD_UNOWN_Z
+ .2byte NATIONAL_DEX_ABRA
+ .2byte NATIONAL_DEX_ABSOL
+ .2byte NATIONAL_DEX_AERODACTYL
+ .2byte NATIONAL_DEX_AGGRON
+ .2byte NATIONAL_DEX_AIPOM
+ .2byte NATIONAL_DEX_ALAKAZAM
+ .2byte NATIONAL_DEX_ALTARIA
+ .2byte NATIONAL_DEX_AMPHAROS
+ .2byte NATIONAL_DEX_ANORITH
+ .2byte NATIONAL_DEX_ARBOK
+ .2byte NATIONAL_DEX_ARCANINE
+ .2byte NATIONAL_DEX_ARIADOS
+ .2byte NATIONAL_DEX_ARMALDO
+ .2byte NATIONAL_DEX_ARON
+ .2byte NATIONAL_DEX_ARTICUNO
+ .2byte NATIONAL_DEX_AZUMARILL
+ .2byte NATIONAL_DEX_AZURILL
+ .2byte NATIONAL_DEX_BAGON
+ .2byte NATIONAL_DEX_BALTOY
+ .2byte NATIONAL_DEX_BANETTE
+ .2byte NATIONAL_DEX_BARBOACH
+ .2byte NATIONAL_DEX_BAYLEEF
+ .2byte NATIONAL_DEX_BEAUTIFLY
+ .2byte NATIONAL_DEX_BEEDRILL
+ .2byte NATIONAL_DEX_BELDUM
+ .2byte NATIONAL_DEX_BELLOSSOM
+ .2byte NATIONAL_DEX_BELLSPROUT
+ .2byte NATIONAL_DEX_BLASTOISE
+ .2byte NATIONAL_DEX_BLAZIKEN
+ .2byte NATIONAL_DEX_BLISSEY
+ .2byte NATIONAL_DEX_BRELOOM
+ .2byte NATIONAL_DEX_BULBASAUR
+ .2byte NATIONAL_DEX_BUTTERFREE
+ .2byte NATIONAL_DEX_CACNEA
+ .2byte NATIONAL_DEX_CACTURNE
+ .2byte NATIONAL_DEX_CAMERUPT
+ .2byte NATIONAL_DEX_CARVANHA
+ .2byte NATIONAL_DEX_CASCOON
+ .2byte NATIONAL_DEX_CASTFORM
+ .2byte NATIONAL_DEX_CATERPIE
+ .2byte NATIONAL_DEX_CELEBI
+ .2byte NATIONAL_DEX_CHANSEY
+ .2byte NATIONAL_DEX_CHARIZARD
+ .2byte NATIONAL_DEX_CHARMANDER
+ .2byte NATIONAL_DEX_CHARMELEON
+ .2byte NATIONAL_DEX_CHIKORITA
+ .2byte NATIONAL_DEX_CHIMECHO
+ .2byte NATIONAL_DEX_CHINCHOU
+ .2byte NATIONAL_DEX_CLAMPERL
+ .2byte NATIONAL_DEX_CLAYDOL
+ .2byte NATIONAL_DEX_CLEFABLE
+ .2byte NATIONAL_DEX_CLEFAIRY
+ .2byte NATIONAL_DEX_CLEFFA
+ .2byte NATIONAL_DEX_CLOYSTER
+ .2byte NATIONAL_DEX_COMBUSKEN
+ .2byte NATIONAL_DEX_CORPHISH
+ .2byte NATIONAL_DEX_CORSOLA
+ .2byte NATIONAL_DEX_CRADILY
+ .2byte NATIONAL_DEX_CRAWDAUNT
+ .2byte NATIONAL_DEX_CROBAT
+ .2byte NATIONAL_DEX_CROCONAW
+ .2byte NATIONAL_DEX_CUBONE
+ .2byte NATIONAL_DEX_CYNDAQUIL
+ .2byte NATIONAL_DEX_DELCATTY
+ .2byte NATIONAL_DEX_DELIBIRD
+ .2byte NATIONAL_DEX_DEOXYS
+ .2byte NATIONAL_DEX_DEWGONG
+ .2byte NATIONAL_DEX_DIGLETT
+ .2byte NATIONAL_DEX_DITTO
+ .2byte NATIONAL_DEX_DODRIO
+ .2byte NATIONAL_DEX_DODUO
+ .2byte NATIONAL_DEX_DONPHAN
+ .2byte NATIONAL_DEX_DRAGONAIR
+ .2byte NATIONAL_DEX_DRAGONITE
+ .2byte NATIONAL_DEX_DRATINI
+ .2byte NATIONAL_DEX_DROWZEE
+ .2byte NATIONAL_DEX_DUGTRIO
+ .2byte NATIONAL_DEX_DUNSPARCE
+ .2byte NATIONAL_DEX_DUSCLOPS
+ .2byte NATIONAL_DEX_DUSKULL
+ .2byte NATIONAL_DEX_DUSTOX
+ .2byte NATIONAL_DEX_EEVEE
+ .2byte NATIONAL_DEX_EKANS
+ .2byte NATIONAL_DEX_ELECTABUZZ
+ .2byte NATIONAL_DEX_ELECTRIKE
+ .2byte NATIONAL_DEX_ELECTRODE
+ .2byte NATIONAL_DEX_ELEKID
+ .2byte NATIONAL_DEX_ENTEI
+ .2byte NATIONAL_DEX_ESPEON
+ .2byte NATIONAL_DEX_EXEGGCUTE
+ .2byte NATIONAL_DEX_EXEGGUTOR
+ .2byte NATIONAL_DEX_EXPLOUD
+ .2byte NATIONAL_DEX_FARFETCHD
+ .2byte NATIONAL_DEX_FEAROW
+ .2byte NATIONAL_DEX_FEEBAS
+ .2byte NATIONAL_DEX_FERALIGATR
+ .2byte NATIONAL_DEX_FLAAFFY
+ .2byte NATIONAL_DEX_FLAREON
+ .2byte NATIONAL_DEX_FLYGON
+ .2byte NATIONAL_DEX_FORRETRESS
+ .2byte NATIONAL_DEX_FURRET
+ .2byte NATIONAL_DEX_GARDEVOIR
+ .2byte NATIONAL_DEX_GASTLY
+ .2byte NATIONAL_DEX_GENGAR
+ .2byte NATIONAL_DEX_GEODUDE
+ .2byte NATIONAL_DEX_GIRAFARIG
+ .2byte NATIONAL_DEX_GLALIE
+ .2byte NATIONAL_DEX_GLIGAR
+ .2byte NATIONAL_DEX_GLOOM
+ .2byte NATIONAL_DEX_GOLBAT
+ .2byte NATIONAL_DEX_GOLDEEN
+ .2byte NATIONAL_DEX_GOLDUCK
+ .2byte NATIONAL_DEX_GOLEM
+ .2byte NATIONAL_DEX_GOREBYSS
+ .2byte NATIONAL_DEX_GRANBULL
+ .2byte NATIONAL_DEX_GRAVELER
+ .2byte NATIONAL_DEX_GRIMER
+ .2byte NATIONAL_DEX_GROUDON
+ .2byte NATIONAL_DEX_GROVYLE
+ .2byte NATIONAL_DEX_GROWLITHE
+ .2byte NATIONAL_DEX_GRUMPIG
+ .2byte NATIONAL_DEX_GULPIN
+ .2byte NATIONAL_DEX_GYARADOS
+ .2byte NATIONAL_DEX_HARIYAMA
+ .2byte NATIONAL_DEX_HAUNTER
+ .2byte NATIONAL_DEX_HERACROSS
+ .2byte NATIONAL_DEX_HITMONCHAN
+ .2byte NATIONAL_DEX_HITMONLEE
+ .2byte NATIONAL_DEX_HITMONTOP
+ .2byte NATIONAL_DEX_HO_OH
+ .2byte NATIONAL_DEX_HOOTHOOT
+ .2byte NATIONAL_DEX_HOPPIP
+ .2byte NATIONAL_DEX_HORSEA
+ .2byte NATIONAL_DEX_HOUNDOOM
+ .2byte NATIONAL_DEX_HOUNDOUR
+ .2byte NATIONAL_DEX_HUNTAIL
+ .2byte NATIONAL_DEX_HYPNO
+ .2byte NATIONAL_DEX_IGGLYBUFF
+ .2byte NATIONAL_DEX_ILLUMISE
+ .2byte NATIONAL_DEX_IVYSAUR
+ .2byte NATIONAL_DEX_JIGGLYPUFF
+ .2byte NATIONAL_DEX_JIRACHI
+ .2byte NATIONAL_DEX_JOLTEON
+ .2byte NATIONAL_DEX_JUMPLUFF
+ .2byte NATIONAL_DEX_JYNX
+ .2byte NATIONAL_DEX_KABUTO
+ .2byte NATIONAL_DEX_KABUTOPS
+ .2byte NATIONAL_DEX_KADABRA
+ .2byte NATIONAL_DEX_KAKUNA
+ .2byte NATIONAL_DEX_KANGASKHAN
+ .2byte NATIONAL_DEX_KECLEON
+ .2byte NATIONAL_DEX_KINGDRA
+ .2byte NATIONAL_DEX_KINGLER
+ .2byte NATIONAL_DEX_KIRLIA
+ .2byte NATIONAL_DEX_KOFFING
+ .2byte NATIONAL_DEX_KRABBY
+ .2byte NATIONAL_DEX_KYOGRE
+ .2byte NATIONAL_DEX_LAIRON
+ .2byte NATIONAL_DEX_LANTURN
+ .2byte NATIONAL_DEX_LAPRAS
+ .2byte NATIONAL_DEX_LARVITAR
+ .2byte NATIONAL_DEX_LATIAS
+ .2byte NATIONAL_DEX_LATIOS
+ .2byte NATIONAL_DEX_LEDIAN
+ .2byte NATIONAL_DEX_LEDYBA
+ .2byte NATIONAL_DEX_LICKITUNG
+ .2byte NATIONAL_DEX_LILEEP
+ .2byte NATIONAL_DEX_LINOONE
+ .2byte NATIONAL_DEX_LOMBRE
+ .2byte NATIONAL_DEX_LOTAD
+ .2byte NATIONAL_DEX_LOUDRED
+ .2byte NATIONAL_DEX_LUDICOLO
+ .2byte NATIONAL_DEX_LUGIA
+ .2byte NATIONAL_DEX_LUNATONE
+ .2byte NATIONAL_DEX_LUVDISC
+ .2byte NATIONAL_DEX_MACHAMP
+ .2byte NATIONAL_DEX_MACHOKE
+ .2byte NATIONAL_DEX_MACHOP
+ .2byte NATIONAL_DEX_MAGBY
+ .2byte NATIONAL_DEX_MAGCARGO
+ .2byte NATIONAL_DEX_MAGIKARP
+ .2byte NATIONAL_DEX_MAGMAR
+ .2byte NATIONAL_DEX_MAGNEMITE
+ .2byte NATIONAL_DEX_MAGNETON
+ .2byte NATIONAL_DEX_MAKUHITA
+ .2byte NATIONAL_DEX_MANECTRIC
+ .2byte NATIONAL_DEX_MANKEY
+ .2byte NATIONAL_DEX_MANTINE
+ .2byte NATIONAL_DEX_MAREEP
+ .2byte NATIONAL_DEX_MARILL
+ .2byte NATIONAL_DEX_MAROWAK
+ .2byte NATIONAL_DEX_MARSHTOMP
+ .2byte NATIONAL_DEX_MASQUERAIN
+ .2byte NATIONAL_DEX_MAWILE
+ .2byte NATIONAL_DEX_MEDICHAM
+ .2byte NATIONAL_DEX_MEDITITE
+ .2byte NATIONAL_DEX_MEGANIUM
+ .2byte NATIONAL_DEX_MEOWTH
+ .2byte NATIONAL_DEX_METAGROSS
+ .2byte NATIONAL_DEX_METANG
+ .2byte NATIONAL_DEX_METAPOD
+ .2byte NATIONAL_DEX_MEW
+ .2byte NATIONAL_DEX_MEWTWO
+ .2byte NATIONAL_DEX_MIGHTYENA
+ .2byte NATIONAL_DEX_MILOTIC
+ .2byte NATIONAL_DEX_MILTANK
+ .2byte NATIONAL_DEX_MINUN
+ .2byte NATIONAL_DEX_MISDREAVUS
+ .2byte NATIONAL_DEX_MOLTRES
+ .2byte NATIONAL_DEX_MR_MIME
+ .2byte NATIONAL_DEX_MUDKIP
+ .2byte NATIONAL_DEX_MUK
+ .2byte NATIONAL_DEX_MURKROW
+ .2byte NATIONAL_DEX_NATU
+ .2byte NATIONAL_DEX_NIDOKING
+ .2byte NATIONAL_DEX_NIDOQUEEN
+ .2byte NATIONAL_DEX_NIDORAN_F
+ .2byte NATIONAL_DEX_NIDORAN_M
+ .2byte NATIONAL_DEX_NIDORINA
+ .2byte NATIONAL_DEX_NIDORINO
+ .2byte NATIONAL_DEX_NINCADA
+ .2byte NATIONAL_DEX_NINETALES
+ .2byte NATIONAL_DEX_NINJASK
+ .2byte NATIONAL_DEX_NOCTOWL
+ .2byte NATIONAL_DEX_NOSEPASS
+ .2byte NATIONAL_DEX_NUMEL
+ .2byte NATIONAL_DEX_NUZLEAF
+ .2byte NATIONAL_DEX_OCTILLERY
+ .2byte NATIONAL_DEX_ODDISH
+ .2byte NATIONAL_DEX_OMANYTE
+ .2byte NATIONAL_DEX_OMASTAR
+ .2byte NATIONAL_DEX_ONIX
+ .2byte NATIONAL_DEX_PARAS
+ .2byte NATIONAL_DEX_PARASECT
+ .2byte NATIONAL_DEX_PELIPPER
+ .2byte NATIONAL_DEX_PERSIAN
+ .2byte NATIONAL_DEX_PHANPY
+ .2byte NATIONAL_DEX_PICHU
+ .2byte NATIONAL_DEX_PIDGEOT
+ .2byte NATIONAL_DEX_PIDGEOTTO
+ .2byte NATIONAL_DEX_PIDGEY
+ .2byte NATIONAL_DEX_PIKACHU
+ .2byte NATIONAL_DEX_PILOSWINE
+ .2byte NATIONAL_DEX_PINECO
+ .2byte NATIONAL_DEX_PINSIR
+ .2byte NATIONAL_DEX_PLUSLE
+ .2byte NATIONAL_DEX_POLITOED
+ .2byte NATIONAL_DEX_POLIWAG
+ .2byte NATIONAL_DEX_POLIWHIRL
+ .2byte NATIONAL_DEX_POLIWRATH
+ .2byte NATIONAL_DEX_PONYTA
+ .2byte NATIONAL_DEX_POOCHYENA
+ .2byte NATIONAL_DEX_PORYGON
+ .2byte NATIONAL_DEX_PORYGON2
+ .2byte NATIONAL_DEX_PRIMEAPE
+ .2byte NATIONAL_DEX_PSYDUCK
+ .2byte NATIONAL_DEX_PUPITAR
+ .2byte NATIONAL_DEX_QUAGSIRE
+ .2byte NATIONAL_DEX_QUILAVA
+ .2byte NATIONAL_DEX_QWILFISH
+ .2byte NATIONAL_DEX_RAICHU
+ .2byte NATIONAL_DEX_RAIKOU
+ .2byte NATIONAL_DEX_RALTS
+ .2byte NATIONAL_DEX_RAPIDASH
+ .2byte NATIONAL_DEX_RATICATE
+ .2byte NATIONAL_DEX_RATTATA
+ .2byte NATIONAL_DEX_RAYQUAZA
+ .2byte NATIONAL_DEX_REGICE
+ .2byte NATIONAL_DEX_REGIROCK
+ .2byte NATIONAL_DEX_REGISTEEL
+ .2byte NATIONAL_DEX_RELICANTH
+ .2byte NATIONAL_DEX_REMORAID
+ .2byte NATIONAL_DEX_RHYDON
+ .2byte NATIONAL_DEX_RHYHORN
+ .2byte NATIONAL_DEX_ROSELIA
+ .2byte NATIONAL_DEX_SABLEYE
+ .2byte NATIONAL_DEX_SALAMENCE
+ .2byte NATIONAL_DEX_SANDSHREW
+ .2byte NATIONAL_DEX_SANDSLASH
+ .2byte NATIONAL_DEX_SCEPTILE
+ .2byte NATIONAL_DEX_SCIZOR
+ .2byte NATIONAL_DEX_SCYTHER
+ .2byte NATIONAL_DEX_SEADRA
+ .2byte NATIONAL_DEX_SEAKING
+ .2byte NATIONAL_DEX_SEALEO
+ .2byte NATIONAL_DEX_SEEDOT
+ .2byte NATIONAL_DEX_SEEL
+ .2byte NATIONAL_DEX_SENTRET
+ .2byte NATIONAL_DEX_SEVIPER
+ .2byte NATIONAL_DEX_SHARPEDO
+ .2byte NATIONAL_DEX_SHEDINJA
+ .2byte NATIONAL_DEX_SHELGON
+ .2byte NATIONAL_DEX_SHELLDER
+ .2byte NATIONAL_DEX_SHIFTRY
+ .2byte NATIONAL_DEX_SHROOMISH
+ .2byte NATIONAL_DEX_SHUCKLE
+ .2byte NATIONAL_DEX_SHUPPET
+ .2byte NATIONAL_DEX_SILCOON
+ .2byte NATIONAL_DEX_SKARMORY
+ .2byte NATIONAL_DEX_SKIPLOOM
+ .2byte NATIONAL_DEX_SKITTY
+ .2byte NATIONAL_DEX_SLAKING
+ .2byte NATIONAL_DEX_SLAKOTH
+ .2byte NATIONAL_DEX_SLOWBRO
+ .2byte NATIONAL_DEX_SLOWKING
+ .2byte NATIONAL_DEX_SLOWPOKE
+ .2byte NATIONAL_DEX_SLUGMA
+ .2byte NATIONAL_DEX_SMEARGLE
+ .2byte NATIONAL_DEX_SMOOCHUM
+ .2byte NATIONAL_DEX_SNEASEL
+ .2byte NATIONAL_DEX_SNORLAX
+ .2byte NATIONAL_DEX_SNORUNT
+ .2byte NATIONAL_DEX_SNUBBULL
+ .2byte NATIONAL_DEX_SOLROCK
+ .2byte NATIONAL_DEX_SPEAROW
+ .2byte NATIONAL_DEX_SPHEAL
+ .2byte NATIONAL_DEX_SPINARAK
+ .2byte NATIONAL_DEX_SPINDA
+ .2byte NATIONAL_DEX_SPOINK
+ .2byte NATIONAL_DEX_SQUIRTLE
+ .2byte NATIONAL_DEX_STANTLER
+ .2byte NATIONAL_DEX_STARMIE
+ .2byte NATIONAL_DEX_STARYU
+ .2byte NATIONAL_DEX_STEELIX
+ .2byte NATIONAL_DEX_SUDOWOODO
+ .2byte NATIONAL_DEX_SUICUNE
+ .2byte NATIONAL_DEX_SUNFLORA
+ .2byte NATIONAL_DEX_SUNKERN
+ .2byte NATIONAL_DEX_SURSKIT
+ .2byte NATIONAL_DEX_SWABLU
+ .2byte NATIONAL_DEX_SWALOT
+ .2byte NATIONAL_DEX_SWAMPERT
+ .2byte NATIONAL_DEX_SWELLOW
+ .2byte NATIONAL_DEX_SWINUB
+ .2byte NATIONAL_DEX_TAILLOW
+ .2byte NATIONAL_DEX_TANGELA
+ .2byte NATIONAL_DEX_TAUROS
+ .2byte NATIONAL_DEX_TEDDIURSA
+ .2byte NATIONAL_DEX_TENTACOOL
+ .2byte NATIONAL_DEX_TENTACRUEL
+ .2byte NATIONAL_DEX_TOGEPI
+ .2byte NATIONAL_DEX_TOGETIC
+ .2byte NATIONAL_DEX_TORCHIC
+ .2byte NATIONAL_DEX_TORKOAL
+ .2byte NATIONAL_DEX_TOTODILE
+ .2byte NATIONAL_DEX_TRAPINCH
+ .2byte NATIONAL_DEX_TREECKO
+ .2byte NATIONAL_DEX_TROPIUS
+ .2byte NATIONAL_DEX_TYPHLOSION
+ .2byte NATIONAL_DEX_TYRANITAR
+ .2byte NATIONAL_DEX_TYROGUE
+ .2byte NATIONAL_DEX_UMBREON
+ .2byte NATIONAL_DEX_UNOWN
+ .2byte NATIONAL_DEX_URSARING
+ .2byte NATIONAL_DEX_VAPOREON
+ .2byte NATIONAL_DEX_VENOMOTH
+ .2byte NATIONAL_DEX_VENONAT
+ .2byte NATIONAL_DEX_VENUSAUR
+ .2byte NATIONAL_DEX_VIBRAVA
+ .2byte NATIONAL_DEX_VICTREEBEL
+ .2byte NATIONAL_DEX_VIGOROTH
+ .2byte NATIONAL_DEX_VILEPLUME
+ .2byte NATIONAL_DEX_VOLBEAT
+ .2byte NATIONAL_DEX_VOLTORB
+ .2byte NATIONAL_DEX_VULPIX
+ .2byte NATIONAL_DEX_WAILMER
+ .2byte NATIONAL_DEX_WAILORD
+ .2byte NATIONAL_DEX_WALREIN
+ .2byte NATIONAL_DEX_WARTORTLE
+ .2byte NATIONAL_DEX_WEEDLE
+ .2byte NATIONAL_DEX_WEEPINBELL
+ .2byte NATIONAL_DEX_WEEZING
+ .2byte NATIONAL_DEX_WHISCASH
+ .2byte NATIONAL_DEX_WHISMUR
+ .2byte NATIONAL_DEX_WIGGLYTUFF
+ .2byte NATIONAL_DEX_WINGULL
+ .2byte NATIONAL_DEX_WOBBUFFET
+ .2byte NATIONAL_DEX_WOOPER
+ .2byte NATIONAL_DEX_WURMPLE
+ .2byte NATIONAL_DEX_WYNAUT
+ .2byte NATIONAL_DEX_XATU
+ .2byte NATIONAL_DEX_YANMA
+ .2byte NATIONAL_DEX_ZANGOOSE
+ .2byte NATIONAL_DEX_ZAPDOS
+ .2byte NATIONAL_DEX_ZIGZAGOON
+ .2byte NATIONAL_DEX_ZUBAT
gUnknown_84442F6:: @ 84442F6
- .incbin "baserom.gba", 0x4442F6, 0x304
+ .2byte NATIONAL_DEX_GASTLY
+ .2byte NATIONAL_DEX_HAUNTER
+ .2byte NATIONAL_DEX_HOPPIP
+ .2byte NATIONAL_DEX_DIGLETT
+ .2byte NATIONAL_DEX_CASTFORM
+ .2byte NATIONAL_DEX_KOFFING
+ .2byte NATIONAL_DEX_IGGLYBUFF
+ .2byte NATIONAL_DEX_MISDREAVUS
+ .2byte NATIONAL_DEX_CHIMECHO
+ .2byte NATIONAL_DEX_SKIPLOOM
+ .2byte NATIONAL_DEX_JIRACHI
+ .2byte NATIONAL_DEX_SWABLU
+ .2byte NATIONAL_DEX_SHEDINJA
+ .2byte NATIONAL_DEX_TOGEPI
+ .2byte NATIONAL_DEX_SURSKIT
+ .2byte NATIONAL_DEX_PIDGEY
+ .2byte NATIONAL_DEX_SUNKERN
+ .2byte NATIONAL_DEX_BARBOACH
+ .2byte NATIONAL_DEX_PICHU
+ .2byte NATIONAL_DEX_AZURILL
+ .2byte NATIONAL_DEX_ROSELIA
+ .2byte NATIONAL_DEX_NATU
+ .2byte NATIONAL_DEX_SPEAROW
+ .2byte NATIONAL_DEX_MURKROW
+ .2byte NATIONAL_DEX_SHUPPET
+ .2byte NATIONAL_DEX_TAILLOW
+ .2byte NATIONAL_DEX_EXEGGCUTE
+ .2byte NATIONAL_DEX_TORCHIC
+ .2byte NATIONAL_DEX_LOTAD
+ .2byte NATIONAL_DEX_CATERPIE
+ .2byte NATIONAL_DEX_JUMPLUFF
+ .2byte NATIONAL_DEX_CLEFFA
+ .2byte NATIONAL_DEX_WEEDLE
+ .2byte NATIONAL_DEX_TOGETIC
+ .2byte NATIONAL_DEX_DRATINI
+ .2byte NATIONAL_DEX_RATTATA
+ .2byte NATIONAL_DEX_MASQUERAIN
+ .2byte NATIONAL_DEX_WURMPLE
+ .2byte NATIONAL_DEX_QWILFISH
+ .2byte NATIONAL_DEX_MEW
+ .2byte NATIONAL_DEX_SHELLDER
+ .2byte NATIONAL_DEX_SEEDOT
+ .2byte NATIONAL_DEX_DITTO
+ .2byte NATIONAL_DEX_BELLSPROUT
+ .2byte NATIONAL_DEX_PLUSLE
+ .2byte NATIONAL_DEX_MEOWTH
+ .2byte NATIONAL_DEX_MINUN
+ .2byte NATIONAL_DEX_SHROOMISH
+ .2byte NATIONAL_DEX_CELEBI
+ .2byte NATIONAL_DEX_CORSOLA
+ .2byte NATIONAL_DEX_TREECKO
+ .2byte NATIONAL_DEX_SPINDA
+ .2byte NATIONAL_DEX_UNOWN
+ .2byte NATIONAL_DEX_PARAS
+ .2byte NATIONAL_DEX_ODDISH
+ .2byte NATIONAL_DEX_JIGGLYPUFF
+ .2byte NATIONAL_DEX_NINCADA
+ .2byte NATIONAL_DEX_BELLOSSOM
+ .2byte NATIONAL_DEX_MAGNEMITE
+ .2byte NATIONAL_DEX_PIKACHU
+ .2byte NATIONAL_DEX_SMOOCHUM
+ .2byte NATIONAL_DEX_SENTRET
+ .2byte NATIONAL_DEX_WEEPINBELL
+ .2byte NATIONAL_DEX_CHIKORITA
+ .2byte NATIONAL_DEX_SWINUB
+ .2byte NATIONAL_DEX_EEVEE
+ .2byte NATIONAL_DEX_KRABBY
+ .2byte NATIONAL_DEX_CUBONE
+ .2byte NATIONAL_DEX_RALTS
+ .2byte NATIONAL_DEX_BULBASAUR
+ .2byte NATIONAL_DEX_EKANS
+ .2byte NATIONAL_DEX_NIDORAN_F
+ .2byte NATIONAL_DEX_PINECO
+ .2byte NATIONAL_DEX_FEEBAS
+ .2byte NATIONAL_DEX_OMANYTE
+ .2byte NATIONAL_DEX_ZUBAT
+ .2byte NATIONAL_DEX_CLEFAIRY
+ .2byte NATIONAL_DEX_MUDKIP
+ .2byte NATIONAL_DEX_SNUBBULL
+ .2byte NATIONAL_DEX_MAREEP
+ .2byte NATIONAL_DEX_CYNDAQUIL
+ .2byte NATIONAL_DEX_HORSEA
+ .2byte NATIONAL_DEX_CHARMANDER
+ .2byte NATIONAL_DEX_SUNFLORA
+ .2byte NATIONAL_DEX_MARILL
+ .2byte NATIONAL_DEX_WOOPER
+ .2byte NATIONAL_DEX_SPINARAK
+ .2byte NATIONAL_DEX_GLOOM
+ .2byte NATIONAL_DEX_LUVDISC
+ .2byte NATIONAL_DEX_TEDDIURSA
+ .2byte NATIONAL_DEX_NIDORAN_M
+ .2byte NATIONAL_DEX_SQUIRTLE
+ .2byte NATIONAL_DEX_WINGULL
+ .2byte NATIONAL_DEX_TOTODILE
+ .2byte NATIONAL_DEX_WEEZING
+ .2byte NATIONAL_DEX_VULPIX
+ .2byte NATIONAL_DEX_METAPOD
+ .2byte NATIONAL_DEX_SILCOON
+ .2byte NATIONAL_DEX_MAGIKARP
+ .2byte NATIONAL_DEX_KAKUNA
+ .2byte NATIONAL_DEX_GULPIN
+ .2byte NATIONAL_DEX_VOLTORB
+ .2byte NATIONAL_DEX_LEDYBA
+ .2byte NATIONAL_DEX_HOUNDOUR
+ .2byte NATIONAL_DEX_SKITTY
+ .2byte NATIONAL_DEX_SABLEYE
+ .2byte NATIONAL_DEX_MEDITITE
+ .2byte NATIONAL_DEX_CORPHISH
+ .2byte NATIONAL_DEX_AIPOM
+ .2byte NATIONAL_DEX_CASCOON
+ .2byte NATIONAL_DEX_MAWILE
+ .2byte NATIONAL_DEX_KABUTO
+ .2byte NATIONAL_DEX_WIGGLYTUFF
+ .2byte NATIONAL_DEX_SANDSHREW
+ .2byte NATIONAL_DEX_REMORAID
+ .2byte NATIONAL_DEX_NINJASK
+ .2byte NATIONAL_DEX_CHINCHOU
+ .2byte NATIONAL_DEX_POLIWAG
+ .2byte NATIONAL_DEX_ANORITH
+ .2byte NATIONAL_DEX_VENOMOTH
+ .2byte NATIONAL_DEX_BANETTE
+ .2byte NATIONAL_DEX_IVYSAUR
+ .2byte NATIONAL_DEX_FLAAFFY
+ .2byte NATIONAL_DEX_POOCHYENA
+ .2byte NATIONAL_DEX_WYNAUT
+ .2byte NATIONAL_DEX_DUNSPARCE
+ .2byte NATIONAL_DEX_XATU
+ .2byte NATIONAL_DEX_DUSKULL
+ .2byte NATIONAL_DEX_FARFETCHD
+ .2byte NATIONAL_DEX_TRAPINCH
+ .2byte NATIONAL_DEX_GOLDEEN
+ .2byte NATIONAL_DEX_ELECTRIKE
+ .2byte NATIONAL_DEX_VIBRAVA
+ .2byte NATIONAL_DEX_VICTREEBEL
+ .2byte NATIONAL_DEX_BAYLEEF
+ .2byte NATIONAL_DEX_DELIBIRD
+ .2byte NATIONAL_DEX_WHISMUR
+ .2byte NATIONAL_DEX_DRAGONAIR
+ .2byte NATIONAL_DEX_SNORUNT
+ .2byte NATIONAL_DEX_ZIGZAGOON
+ .2byte NATIONAL_DEX_ILLUMISE
+ .2byte NATIONAL_DEX_VOLBEAT
+ .2byte NATIONAL_DEX_RATICATE
+ .2byte NATIONAL_DEX_VILEPLUME
+ .2byte NATIONAL_DEX_QUILAVA
+ .2byte NATIONAL_DEX_CHARMELEON
+ .2byte NATIONAL_DEX_GROWLITHE
+ .2byte NATIONAL_DEX_COMBUSKEN
+ .2byte NATIONAL_DEX_MACHOP
+ .2byte NATIONAL_DEX_ABRA
+ .2byte NATIONAL_DEX_NIDORINO
+ .2byte NATIONAL_DEX_PSYDUCK
+ .2byte NATIONAL_DEX_SWELLOW
+ .2byte NATIONAL_DEX_NINETALES
+ .2byte NATIONAL_DEX_NIDORINA
+ .2byte NATIONAL_DEX_POLIWHIRL
+ .2byte NATIONAL_DEX_GEODUDE
+ .2byte NATIONAL_DEX_KIRLIA
+ .2byte NATIONAL_DEX_SHUCKLE
+ .2byte NATIONAL_DEX_ALTARIA
+ .2byte NATIONAL_DEX_CARVANHA
+ .2byte NATIONAL_DEX_TYROGUE
+ .2byte NATIONAL_DEX_HOOTHOOT
+ .2byte NATIONAL_DEX_MAGBY
+ .2byte NATIONAL_DEX_BALTOY
+ .2byte NATIONAL_DEX_GROVYLE
+ .2byte NATIONAL_DEX_KECLEON
+ .2byte NATIONAL_DEX_LANTURN
+ .2byte NATIONAL_DEX_WARTORTLE
+ .2byte NATIONAL_DEX_GOREBYSS
+ .2byte NATIONAL_DEX_RELICANTH
+ .2byte NATIONAL_DEX_ELEKID
+ .2byte NATIONAL_DEX_WHISCASH
+ .2byte NATIONAL_DEX_LILEEP
+ .2byte NATIONAL_DEX_NUMEL
+ .2byte NATIONAL_DEX_SLAKOTH
+ .2byte NATIONAL_DEX_JOLTEON
+ .2byte NATIONAL_DEX_CROCONAW
+ .2byte NATIONAL_DEX_FLAREON
+ .2byte NATIONAL_DEX_SEADRA
+ .2byte NATIONAL_DEX_ESPEON
+ .2byte NATIONAL_DEX_HUNTAIL
+ .2byte NATIONAL_DEX_UMBREON
+ .2byte NATIONAL_DEX_MARSHTOMP
+ .2byte NATIONAL_DEX_NUZLEAF
+ .2byte NATIONAL_DEX_SNEASEL
+ .2byte NATIONAL_DEX_MANKEY
+ .2byte NATIONAL_DEX_PELIPPER
+ .2byte NATIONAL_DEX_BEAUTIFLY
+ .2byte NATIONAL_DEX_OCTILLERY
+ .2byte NATIONAL_DEX_AZUMARILL
+ .2byte NATIONAL_DEX_WOBBUFFET
+ .2byte NATIONAL_DEX_VAPOREON
+ .2byte NATIONAL_DEX_SANDSLASH
+ .2byte NATIONAL_DEX_PARASECT
+ .2byte NATIONAL_DEX_BEEDRILL
+ .2byte NATIONAL_DEX_MUK
+ .2byte NATIONAL_DEX_PIDGEOTTO
+ .2byte NATIONAL_DEX_GRIMER
+ .2byte NATIONAL_DEX_RAICHU
+ .2byte NATIONAL_DEX_PONYTA
+ .2byte NATIONAL_DEX_ELECTABUZZ
+ .2byte NATIONAL_DEX_VENONAT
+ .2byte NATIONAL_DEX_SPOINK
+ .2byte NATIONAL_DEX_DUSCLOPS
+ .2byte NATIONAL_DEX_MEDICHAM
+ .2byte NATIONAL_DEX_DUSTOX
+ .2byte NATIONAL_DEX_PERSIAN
+ .2byte NATIONAL_DEX_BUTTERFREE
+ .2byte NATIONAL_DEX_PRIMEAPE
+ .2byte NATIONAL_DEX_DROWZEE
+ .2byte NATIONAL_DEX_FURRET
+ .2byte NATIONAL_DEX_PORYGON2
+ .2byte NATIONAL_DEX_LOMBRE
+ .2byte NATIONAL_DEX_LINOONE
+ .2byte NATIONAL_DEX_DELCATTY
+ .2byte NATIONAL_DEX_CRAWDAUNT
+ .2byte NATIONAL_DEX_DUGTRIO
+ .2byte NATIONAL_DEX_ARIADOS
+ .2byte NATIONAL_DEX_PHANPY
+ .2byte NATIONAL_DEX_POLITOED
+ .2byte NATIONAL_DEX_STARYU
+ .2byte NATIONAL_DEX_CHANSEY
+ .2byte NATIONAL_DEX_OMASTAR
+ .2byte NATIONAL_DEX_TANGELA
+ .2byte NATIONAL_DEX_SLUGMA
+ .2byte NATIONAL_DEX_HOUNDOOM
+ .2byte NATIONAL_DEX_LEDIAN
+ .2byte NATIONAL_DEX_SLOWPOKE
+ .2byte NATIONAL_DEX_PORYGON
+ .2byte NATIONAL_DEX_MIGHTYENA
+ .2byte NATIONAL_DEX_YANMA
+ .2byte NATIONAL_DEX_FEAROW
+ .2byte NATIONAL_DEX_SUDOWOODO
+ .2byte NATIONAL_DEX_SEAKING
+ .2byte NATIONAL_DEX_BRELOOM
+ .2byte NATIONAL_DEX_DODUO
+ .2byte NATIONAL_DEX_PIDGEOT
+ .2byte NATIONAL_DEX_SPHEAL
+ .2byte NATIONAL_DEX_CLEFABLE
+ .2byte NATIONAL_DEX_LATIAS
+ .2byte NATIONAL_DEX_MANECTRIC
+ .2byte NATIONAL_DEX_ZANGOOSE
+ .2byte NATIONAL_DEX_KABUTOPS
+ .2byte NATIONAL_DEX_GENGAR
+ .2byte NATIONAL_DEX_LOUDRED
+ .2byte NATIONAL_DEX_JYNX
+ .2byte NATIONAL_DEX_NOCTOWL
+ .2byte NATIONAL_DEX_GIRAFARIG
+ .2byte NATIONAL_DEX_BAGON
+ .2byte NATIONAL_DEX_MAGMAR
+ .2byte NATIONAL_DEX_MAROWAK
+ .2byte NATIONAL_DEX_TENTACOOL
+ .2byte NATIONAL_DEX_VIGOROTH
+ .2byte NATIONAL_DEX_BLISSEY
+ .2byte NATIONAL_DEX_ABSOL
+ .2byte NATIONAL_DEX_ALAKAZAM
+ .2byte NATIONAL_DEX_HITMONTOP
+ .2byte NATIONAL_DEX_GARDEVOIR
+ .2byte NATIONAL_DEX_GRANBULL
+ .2byte NATIONAL_DEX_HITMONLEE
+ .2byte NATIONAL_DEX_HITMONCHAN
+ .2byte NATIONAL_DEX_SKARMORY
+ .2byte NATIONAL_DEX_CACNEA
+ .2byte NATIONAL_DEX_BLAZIKEN
+ .2byte NATIONAL_DEX_SCEPTILE
+ .2byte NATIONAL_DEX_SEVIPER
+ .2byte NATIONAL_DEX_CLAMPERL
+ .2byte NATIONAL_DEX_ZAPDOS
+ .2byte NATIONAL_DEX_HERACROSS
+ .2byte NATIONAL_DEX_POLIWRATH
+ .2byte NATIONAL_DEX_MR_MIME
+ .2byte NATIONAL_DEX_PINSIR
+ .2byte NATIONAL_DEX_LUDICOLO
+ .2byte NATIONAL_DEX_TENTACRUEL
+ .2byte NATIONAL_DEX_GOLBAT
+ .2byte NATIONAL_DEX_MAGCARGO
+ .2byte NATIONAL_DEX_ARTICUNO
+ .2byte NATIONAL_DEX_PILOSWINE
+ .2byte NATIONAL_DEX_SCYTHER
+ .2byte NATIONAL_DEX_KADABRA
+ .2byte NATIONAL_DEX_SMEARGLE
+ .2byte NATIONAL_DEX_AERODACTYL
+ .2byte NATIONAL_DEX_SHIFTRY
+ .2byte NATIONAL_DEX_KINGLER
+ .2byte NATIONAL_DEX_NIDOQUEEN
+ .2byte NATIONAL_DEX_MAGNETON
+ .2byte NATIONAL_DEX_ARON
+ .2byte NATIONAL_DEX_LATIOS
+ .2byte NATIONAL_DEX_MOLTRES
+ .2byte NATIONAL_DEX_CRADILY
+ .2byte NATIONAL_DEX_DEOXYS
+ .2byte NATIONAL_DEX_AMPHAROS
+ .2byte NATIONAL_DEX_NIDOKING
+ .2byte NATIONAL_DEX_GLIGAR
+ .2byte NATIONAL_DEX_ARBOK
+ .2byte NATIONAL_DEX_LICKITUNG
+ .2byte NATIONAL_DEX_ELECTRODE
+ .2byte NATIONAL_DEX_ARMALDO
+ .2byte NATIONAL_DEX_MACHOKE
+ .2byte NATIONAL_DEX_STANTLER
+ .2byte NATIONAL_DEX_GRUMPIG
+ .2byte NATIONAL_DEX_LARVITAR
+ .2byte NATIONAL_DEX_CROBAT
+ .2byte NATIONAL_DEX_QUAGSIRE
+ .2byte NATIONAL_DEX_MILTANK
+ .2byte NATIONAL_DEX_HYPNO
+ .2byte NATIONAL_DEX_GOLDUCK
+ .2byte NATIONAL_DEX_CACTURNE
+ .2byte NATIONAL_DEX_SLOWBRO
+ .2byte NATIONAL_DEX_TYPHLOSION
+ .2byte NATIONAL_DEX_SLOWKING
+ .2byte NATIONAL_DEX_KANGASKHAN
+ .2byte NATIONAL_DEX_STARMIE
+ .2byte NATIONAL_DEX_SWALOT
+ .2byte NATIONAL_DEX_TORKOAL
+ .2byte NATIONAL_DEX_SWAMPERT
+ .2byte NATIONAL_DEX_FLYGON
+ .2byte NATIONAL_DEX_EXPLOUD
+ .2byte NATIONAL_DEX_DODRIO
+ .2byte NATIONAL_DEX_BLASTOISE
+ .2byte NATIONAL_DEX_MAKUHITA
+ .2byte NATIONAL_DEX_SEALEO
+ .2byte NATIONAL_DEX_TAUROS
+ .2byte NATIONAL_DEX_SHARPEDO
+ .2byte NATIONAL_DEX_FERALIGATR
+ .2byte NATIONAL_DEX_SEEL
+ .2byte NATIONAL_DEX_CHARIZARD
+ .2byte NATIONAL_DEX_RAPIDASH
+ .2byte NATIONAL_DEX_BELDUM
+ .2byte NATIONAL_DEX_NOSEPASS
+ .2byte NATIONAL_DEX_VENUSAUR
+ .2byte NATIONAL_DEX_TROPIUS
+ .2byte NATIONAL_DEX_MEGANIUM
+ .2byte NATIONAL_DEX_SALAMENCE
+ .2byte NATIONAL_DEX_GRAVELER
+ .2byte NATIONAL_DEX_CLAYDOL
+ .2byte NATIONAL_DEX_SHELGON
+ .2byte NATIONAL_DEX_RHYHORN
+ .2byte NATIONAL_DEX_SCIZOR
+ .2byte NATIONAL_DEX_DEWGONG
+ .2byte NATIONAL_DEX_RHYDON
+ .2byte NATIONAL_DEX_DONPHAN
+ .2byte NATIONAL_DEX_EXEGGUTOR
+ .2byte NATIONAL_DEX_LAIRON
+ .2byte NATIONAL_DEX_MEWTWO
+ .2byte NATIONAL_DEX_URSARING
+ .2byte NATIONAL_DEX_FORRETRESS
+ .2byte NATIONAL_DEX_MACHAMP
+ .2byte NATIONAL_DEX_WAILMER
+ .2byte NATIONAL_DEX_SLAKING
+ .2byte NATIONAL_DEX_CLOYSTER
+ .2byte NATIONAL_DEX_WALREIN
+ .2byte NATIONAL_DEX_PUPITAR
+ .2byte NATIONAL_DEX_KINGDRA
+ .2byte NATIONAL_DEX_SOLROCK
+ .2byte NATIONAL_DEX_ARCANINE
+ .2byte NATIONAL_DEX_MILOTIC
+ .2byte NATIONAL_DEX_LUNATONE
+ .2byte NATIONAL_DEX_REGICE
+ .2byte NATIONAL_DEX_RAIKOU
+ .2byte NATIONAL_DEX_SUICUNE
+ .2byte NATIONAL_DEX_ENTEI
+ .2byte NATIONAL_DEX_HO_OH
+ .2byte NATIONAL_DEX_TYRANITAR
+ .2byte NATIONAL_DEX_METANG
+ .2byte NATIONAL_DEX_REGISTEEL
+ .2byte NATIONAL_DEX_RAYQUAZA
+ .2byte NATIONAL_DEX_ONIX
+ .2byte NATIONAL_DEX_DRAGONITE
+ .2byte NATIONAL_DEX_LUGIA
+ .2byte NATIONAL_DEX_LAPRAS
+ .2byte NATIONAL_DEX_CAMERUPT
+ .2byte NATIONAL_DEX_MANTINE
+ .2byte NATIONAL_DEX_REGIROCK
+ .2byte NATIONAL_DEX_GYARADOS
+ .2byte NATIONAL_DEX_HARIYAMA
+ .2byte NATIONAL_DEX_GLALIE
+ .2byte NATIONAL_DEX_GOLEM
+ .2byte NATIONAL_DEX_KYOGRE
+ .2byte NATIONAL_DEX_AGGRON
+ .2byte NATIONAL_DEX_WAILORD
+ .2byte NATIONAL_DEX_STEELIX
+ .2byte NATIONAL_DEX_SNORLAX
+ .2byte NATIONAL_DEX_METAGROSS
+ .2byte NATIONAL_DEX_GROUDON
gUnknown_84445FA:: @ 84445FA
- .incbin "baserom.gba", 0x4445FA, 0x304
+ .2byte NATIONAL_DEX_DIGLETT
+ .2byte NATIONAL_DEX_AZURILL
+ .2byte NATIONAL_DEX_NATU
+ .2byte NATIONAL_DEX_WEEDLE
+ .2byte NATIONAL_DEX_PICHU
+ .2byte NATIONAL_DEX_CLEFFA
+ .2byte NATIONAL_DEX_TOGEPI
+ .2byte NATIONAL_DEX_CASTFORM
+ .2byte NATIONAL_DEX_IGGLYBUFF
+ .2byte NATIONAL_DEX_CATERPIE
+ .2byte NATIONAL_DEX_TAILLOW
+ .2byte NATIONAL_DEX_DITTO
+ .2byte NATIONAL_DEX_EEVEE
+ .2byte NATIONAL_DEX_ROSELIA
+ .2byte NATIONAL_DEX_SPEAROW
+ .2byte NATIONAL_DEX_PIDGEY
+ .2byte NATIONAL_DEX_SUNKERN
+ .2byte NATIONAL_DEX_SHELLDER
+ .2byte NATIONAL_DEX_RATTATA
+ .2byte NATIONAL_DEX_MAGNEMITE
+ .2byte NATIONAL_DEX_PARAS
+ .2byte NATIONAL_DEX_WURMPLE
+ .2byte NATIONAL_DEX_JIRACHI
+ .2byte NATIONAL_DEX_CUBONE
+ .2byte NATIONAL_DEX_MUDKIP
+ .2byte NATIONAL_DEX_WOOPER
+ .2byte NATIONAL_DEX_HORSEA
+ .2byte NATIONAL_DEX_MEOWTH
+ .2byte NATIONAL_DEX_NIDORAN_F
+ .2byte NATIONAL_DEX_SWINUB
+ .2byte NATIONAL_DEX_MEW
+ .2byte NATIONAL_DEX_SWABLU
+ .2byte NATIONAL_DEX_ARON
+ .2byte NATIONAL_DEX_PLUSLE
+ .2byte NATIONAL_DEX_MINUN
+ .2byte NATIONAL_DEX_EXEGGCUTE
+ .2byte NATIONAL_DEX_PIKACHU
+ .2byte NATIONAL_DEX_BELLOSSOM
+ .2byte NATIONAL_DEX_GULPIN
+ .2byte NATIONAL_DEX_ZIGZAGOON
+ .2byte NATIONAL_DEX_SHROOMISH
+ .2byte NATIONAL_DEX_OMANYTE
+ .2byte NATIONAL_DEX_CACNEA
+ .2byte NATIONAL_DEX_KRABBY
+ .2byte NATIONAL_DEX_RALTS
+ .2byte NATIONAL_DEX_HOPPIP
+ .2byte NATIONAL_DEX_TORCHIC
+ .2byte NATIONAL_DEX_CLAMPERL
+ .2byte NATIONAL_DEX_GEODUDE
+ .2byte NATIONAL_DEX_MARILL
+ .2byte NATIONAL_DEX_BARBOACH
+ .2byte NATIONAL_DEX_SMOOCHUM
+ .2byte NATIONAL_DEX_VOLTORB
+ .2byte NATIONAL_DEX_NINCADA
+ .2byte NATIONAL_DEX_SABLEYE
+ .2byte NATIONAL_DEX_MURKROW
+ .2byte NATIONAL_DEX_QWILFISH
+ .2byte NATIONAL_DEX_SQUIRTLE
+ .2byte NATIONAL_DEX_TREECKO
+ .2byte NATIONAL_DEX_BALTOY
+ .2byte NATIONAL_DEX_ODDISH
+ .2byte NATIONAL_DEX_LOTAD
+ .2byte NATIONAL_DEX_JIGGLYPUFF
+ .2byte NATIONAL_DEX_SURSKIT
+ .2byte NATIONAL_DEX_CYNDAQUIL
+ .2byte NATIONAL_DEX_KABUTO
+ .2byte NATIONAL_DEX_LINOONE
+ .2byte NATIONAL_DEX_TORKOAL
+ .2byte NATIONAL_DEX_NIDORAN_M
+ .2byte NATIONAL_DEX_SPINARAK
+ .2byte NATIONAL_DEX_MANKEY
+ .2byte NATIONAL_DEX_SEEDOT
+ .2byte NATIONAL_DEX_POOCHYENA
+ .2byte NATIONAL_DEX_PHANPY
+ .2byte NATIONAL_DEX_UNOWN
+ .2byte NATIONAL_DEX_CHINCHOU
+ .2byte NATIONAL_DEX_PORYGON2
+ .2byte NATIONAL_DEX_POLIWAG
+ .2byte NATIONAL_DEX_BAGON
+ .2byte NATIONAL_DEX_FEEBAS
+ .2byte NATIONAL_DEX_SHUPPET
+ .2byte NATIONAL_DEX_TOTODILE
+ .2byte NATIONAL_DEX_CELEBI
+ .2byte NATIONAL_DEX_WYNAUT
+ .2byte NATIONAL_DEX_SANDSHREW
+ .2byte NATIONAL_DEX_CHIMECHO
+ .2byte NATIONAL_DEX_LUVDISC
+ .2byte NATIONAL_DEX_HOUNDOUR
+ .2byte NATIONAL_DEX_SILCOON
+ .2byte NATIONAL_DEX_ELECTRIKE
+ .2byte NATIONAL_DEX_CHARMANDER
+ .2byte NATIONAL_DEX_MEDITITE
+ .2byte NATIONAL_DEX_WINGULL
+ .2byte NATIONAL_DEX_REMORAID
+ .2byte NATIONAL_DEX_CORPHISH
+ .2byte NATIONAL_DEX_CORSOLA
+ .2byte NATIONAL_DEX_ILLUMISE
+ .2byte NATIONAL_DEX_SNUBBULL
+ .2byte NATIONAL_DEX_VULPIX
+ .2byte NATIONAL_DEX_LARVITAR
+ .2byte NATIONAL_DEX_BELDUM
+ .2byte NATIONAL_DEX_WHISMUR
+ .2byte NATIONAL_DEX_PINECO
+ .2byte NATIONAL_DEX_ELEKID
+ .2byte NATIONAL_DEX_CLEFAIRY
+ .2byte NATIONAL_DEX_SHUCKLE
+ .2byte NATIONAL_DEX_TEDDIURSA
+ .2byte NATIONAL_DEX_KAKUNA
+ .2byte NATIONAL_DEX_SKITTY
+ .2byte NATIONAL_DEX_TOGETIC
+ .2byte NATIONAL_DEX_GOLDEEN
+ .2byte NATIONAL_DEX_MAWILE
+ .2byte NATIONAL_DEX_MAREEP
+ .2byte NATIONAL_DEX_SKIPLOOM
+ .2byte NATIONAL_DEX_KOFFING
+ .2byte NATIONAL_DEX_DUGTRIO
+ .2byte NATIONAL_DEX_CASCOON
+ .2byte NATIONAL_DEX_NUMEL
+ .2byte NATIONAL_DEX_ANORITH
+ .2byte NATIONAL_DEX_VOLBEAT
+ .2byte NATIONAL_DEX_HOOTHOOT
+ .2byte NATIONAL_DEX_TRAPINCH
+ .2byte NATIONAL_DEX_SPOINK
+ .2byte NATIONAL_DEX_METAPOD
+ .2byte NATIONAL_DEX_BELLSPROUT
+ .2byte NATIONAL_DEX_SNORUNT
+ .2byte NATIONAL_DEX_RATICATE
+ .2byte NATIONAL_DEX_MARSHTOMP
+ .2byte NATIONAL_DEX_SWELLOW
+ .2byte NATIONAL_DEX_MAGBY
+ .2byte NATIONAL_DEX_GROWLITHE
+ .2byte NATIONAL_DEX_MISDREAVUS
+ .2byte NATIONAL_DEX_BULBASAUR
+ .2byte NATIONAL_DEX_TYROGUE
+ .2byte NATIONAL_DEX_SLUGMA
+ .2byte NATIONAL_DEX_SLAKOTH
+ .2byte NATIONAL_DEX_KIRLIA
+ .2byte NATIONAL_DEX_AIPOM
+ .2byte NATIONAL_DEX_JOLTEON
+ .2byte NATIONAL_DEX_NIDORINA
+ .2byte NATIONAL_DEX_AZUMARILL
+ .2byte NATIONAL_DEX_SHEDINJA
+ .2byte NATIONAL_DEX_MACHOP
+ .2byte NATIONAL_DEX_NINJASK
+ .2byte NATIONAL_DEX_MASQUERAIN
+ .2byte NATIONAL_DEX_DUSKULL
+ .2byte NATIONAL_DEX_SUNFLORA
+ .2byte NATIONAL_DEX_JUMPLUFF
+ .2byte NATIONAL_DEX_STARYU
+ .2byte NATIONAL_DEX_FLAAFFY
+ .2byte NATIONAL_DEX_SPHEAL
+ .2byte NATIONAL_DEX_PSYDUCK
+ .2byte NATIONAL_DEX_MAGCARGO
+ .2byte NATIONAL_DEX_FARFETCHD
+ .2byte NATIONAL_DEX_ZUBAT
+ .2byte NATIONAL_DEX_PORYGON
+ .2byte NATIONAL_DEX_SENTRET
+ .2byte NATIONAL_DEX_CARVANHA
+ .2byte NATIONAL_DEX_GLOOM
+ .2byte NATIONAL_DEX_RAICHU
+ .2byte NATIONAL_DEX_MAGIKARP
+ .2byte NATIONAL_DEX_SNEASEL
+ .2byte NATIONAL_DEX_LAIRON
+ .2byte NATIONAL_DEX_COMBUSKEN
+ .2byte NATIONAL_DEX_OCTILLERY
+ .2byte NATIONAL_DEX_NIDORINO
+ .2byte NATIONAL_DEX_FLAREON
+ .2byte NATIONAL_DEX_DELIBIRD
+ .2byte NATIONAL_DEX_TENTACOOL
+ .2byte NATIONAL_DEX_ABRA
+ .2byte NATIONAL_DEX_GROVYLE
+ .2byte NATIONAL_DEX_WHISCASH
+ .2byte NATIONAL_DEX_QUILAVA
+ .2byte NATIONAL_DEX_ESPEON
+ .2byte NATIONAL_DEX_GRIMER
+ .2byte NATIONAL_DEX_CHIKORITA
+ .2byte NATIONAL_DEX_GRUMPIG
+ .2byte NATIONAL_DEX_NOSEPASS
+ .2byte NATIONAL_DEX_PERSIAN
+ .2byte NATIONAL_DEX_MIGHTYENA
+ .2byte NATIONAL_DEX_VENONAT
+ .2byte NATIONAL_DEX_MAGNETON
+ .2byte NATIONAL_DEX_PONYTA
+ .2byte NATIONAL_DEX_MAKUHITA
+ .2byte NATIONAL_DEX_LUNATONE
+ .2byte NATIONAL_DEX_SANDSLASH
+ .2byte NATIONAL_DEX_DROWZEE
+ .2byte NATIONAL_DEX_TANGELA
+ .2byte NATIONAL_DEX_PRIMEAPE
+ .2byte NATIONAL_DEX_LEDYBA
+ .2byte NATIONAL_DEX_WIGGLYTUFF
+ .2byte NATIONAL_DEX_PARASECT
+ .2byte NATIONAL_DEX_OMASTAR
+ .2byte NATIONAL_DEX_LOUDRED
+ .2byte NATIONAL_DEX_WARTORTLE
+ .2byte NATIONAL_DEX_GRAVELER
+ .2byte NATIONAL_DEX_UMBREON
+ .2byte NATIONAL_DEX_LILEEP
+ .2byte NATIONAL_DEX_POLIWHIRL
+ .2byte NATIONAL_DEX_VAPOREON
+ .2byte NATIONAL_DEX_BEEDRILL
+ .2byte NATIONAL_DEX_MAROWAK
+ .2byte NATIONAL_DEX_WEEPINBELL
+ .2byte NATIONAL_DEX_RELICANTH
+ .2byte NATIONAL_DEX_RHYHORN
+ .2byte NATIONAL_DEX_IVYSAUR
+ .2byte NATIONAL_DEX_KECLEON
+ .2byte NATIONAL_DEX_NUZLEAF
+ .2byte NATIONAL_DEX_BEAUTIFLY
+ .2byte NATIONAL_DEX_PIDGEOTTO
+ .2byte NATIONAL_DEX_ARIADOS
+ .2byte NATIONAL_DEX_SEEL
+ .2byte NATIONAL_DEX_POLITOED
+ .2byte NATIONAL_DEX_CROCONAW
+ .2byte NATIONAL_DEX_CHANSEY
+ .2byte NATIONAL_DEX_BANETTE
+ .2byte NATIONAL_DEX_DONPHAN
+ .2byte NATIONAL_DEX_STARMIE
+ .2byte NATIONAL_DEX_CHARMELEON
+ .2byte NATIONAL_DEX_PILOSWINE
+ .2byte NATIONAL_DEX_BUTTERFREE
+ .2byte NATIONAL_DEX_VIBRAVA
+ .2byte NATIONAL_DEX_ELECTABUZZ
+ .2byte NATIONAL_DEX_CRAWDAUNT
+ .2byte NATIONAL_DEX_DELCATTY
+ .2byte NATIONAL_DEX_ALTARIA
+ .2byte NATIONAL_DEX_SHELGON
+ .2byte NATIONAL_DEX_NINETALES
+ .2byte NATIONAL_DEX_GLIGAR
+ .2byte NATIONAL_DEX_SEALEO
+ .2byte NATIONAL_DEX_SPINDA
+ .2byte NATIONAL_DEX_PUPITAR
+ .2byte NATIONAL_DEX_SLOWPOKE
+ .2byte NATIONAL_DEX_SOLROCK
+ .2byte NATIONAL_DEX_MILTANK
+ .2byte NATIONAL_DEX_FEAROW
+ .2byte NATIONAL_DEX_VILEPLUME
+ .2byte NATIONAL_DEX_MUK
+ .2byte NATIONAL_DEX_FORRETRESS
+ .2byte NATIONAL_DEX_SUDOWOODO
+ .2byte NATIONAL_DEX_ABSOL
+ .2byte NATIONAL_DEX_YANMA
+ .2byte NATIONAL_DEX_DUSTOX
+ .2byte NATIONAL_DEX_LICKITUNG
+ .2byte NATIONAL_DEX_SMEARGLE
+ .2byte NATIONAL_DEX_LANTURN
+ .2byte NATIONAL_DEX_ELECTRODE
+ .2byte NATIONAL_DEX_LOMBRE
+ .2byte NATIONAL_DEX_BRELOOM
+ .2byte NATIONAL_DEX_BAYLEEF
+ .2byte NATIONAL_DEX_SEADRA
+ .2byte NATIONAL_DEX_WEEZING
+ .2byte NATIONAL_DEX_PELIPPER
+ .2byte NATIONAL_DEX_METANG
+ .2byte NATIONAL_DEX_NIDOQUEEN
+ .2byte NATIONAL_DEX_CACTURNE
+ .2byte NATIONAL_DEX_SHIFTRY
+ .2byte NATIONAL_DEX_MEDICHAM
+ .2byte NATIONAL_DEX_ZANGOOSE
+ .2byte NATIONAL_DEX_KABUTOPS
+ .2byte NATIONAL_DEX_KINGLER
+ .2byte NATIONAL_DEX_KADABRA
+ .2byte NATIONAL_DEX_SEAKING
+ .2byte NATIONAL_DEX_CLEFABLE
+ .2byte NATIONAL_DEX_MAGMAR
+ .2byte NATIONAL_DEX_WOBBUFFET
+ .2byte NATIONAL_DEX_GASTLY
+ .2byte NATIONAL_DEX_MR_MIME
+ .2byte NATIONAL_DEX_POLIWRATH
+ .2byte NATIONAL_DEX_TAUROS
+ .2byte NATIONAL_DEX_LATIAS
+ .2byte NATIONAL_DEX_AMPHAROS
+ .2byte NATIONAL_DEX_VIGOROTH
+ .2byte NATIONAL_DEX_LEDIAN
+ .2byte NATIONAL_DEX_GOLEM
+ .2byte NATIONAL_DEX_WALREIN
+ .2byte NATIONAL_DEX_DODUO
+ .2byte NATIONAL_DEX_HOUNDOOM
+ .2byte NATIONAL_DEX_NIDOKING
+ .2byte NATIONAL_DEX_JYNX
+ .2byte NATIONAL_DEX_HITMONCHAN
+ .2byte NATIONAL_DEX_STANTLER
+ .2byte NATIONAL_DEX_GRANBULL
+ .2byte NATIONAL_DEX_HITMONTOP
+ .2byte NATIONAL_DEX_QUAGSIRE
+ .2byte NATIONAL_DEX_CLAYDOL
+ .2byte NATIONAL_DEX_SWAMPERT
+ .2byte NATIONAL_DEX_BLISSEY
+ .2byte NATIONAL_DEX_LUDICOLO
+ .2byte NATIONAL_DEX_EXPLOUD
+ .2byte NATIONAL_DEX_DUNSPARCE
+ .2byte NATIONAL_DEX_PINSIR
+ .2byte NATIONAL_DEX_CLOYSTER
+ .2byte NATIONAL_DEX_MACHOKE
+ .2byte NATIONAL_DEX_GIRAFARIG
+ .2byte NATIONAL_DEX_PIDGEOT
+ .2byte NATIONAL_DEX_XATU
+ .2byte NATIONAL_DEX_CRADILY
+ .2byte NATIONAL_DEX_HITMONLEE
+ .2byte NATIONAL_DEX_VENOMOTH
+ .2byte NATIONAL_DEX_GENGAR
+ .2byte NATIONAL_DEX_HERACROSS
+ .2byte NATIONAL_DEX_GLALIE
+ .2byte NATIONAL_DEX_SCYTHER
+ .2byte NATIONAL_DEX_SALAMENCE
+ .2byte NATIONAL_DEX_MANECTRIC
+ .2byte NATIONAL_DEX_ARMALDO
+ .2byte NATIONAL_DEX_ALAKAZAM
+ .2byte NATIONAL_DEX_HYPNO
+ .2byte NATIONAL_DEX_NOCTOWL
+ .2byte NATIONAL_DEX_TENTACRUEL
+ .2byte NATIONAL_DEX_DUSCLOPS
+ .2byte NATIONAL_DEX_ZAPDOS
+ .2byte NATIONAL_DEX_GOLBAT
+ .2byte NATIONAL_DEX_METAGROSS
+ .2byte NATIONAL_DEX_GARDEVOIR
+ .2byte NATIONAL_DEX_BLASTOISE
+ .2byte NATIONAL_DEX_SLOWBRO
+ .2byte NATIONAL_DEX_HAUNTER
+ .2byte NATIONAL_DEX_MACHAMP
+ .2byte NATIONAL_DEX_REGIROCK
+ .2byte NATIONAL_DEX_SWALOT
+ .2byte NATIONAL_DEX_SCEPTILE
+ .2byte NATIONAL_DEX_SKARMORY
+ .2byte NATIONAL_DEX_GOLDUCK
+ .2byte NATIONAL_DEX_DEOXYS
+ .2byte NATIONAL_DEX_VICTREEBEL
+ .2byte NATIONAL_DEX_RAPIDASH
+ .2byte NATIONAL_DEX_CHARIZARD
+ .2byte NATIONAL_DEX_HUNTAIL
+ .2byte NATIONAL_DEX_DEWGONG
+ .2byte NATIONAL_DEX_ARTICUNO
+ .2byte NATIONAL_DEX_TYPHLOSION
+ .2byte NATIONAL_DEX_AERODACTYL
+ .2byte NATIONAL_DEX_GOREBYSS
+ .2byte NATIONAL_DEX_URSARING
+ .2byte NATIONAL_DEX_MEGANIUM
+ .2byte NATIONAL_DEX_REGICE
+ .2byte NATIONAL_DEX_SCIZOR
+ .2byte NATIONAL_DEX_KINGDRA
+ .2byte NATIONAL_DEX_DRATINI
+ .2byte NATIONAL_DEX_DODRIO
+ .2byte NATIONAL_DEX_SHARPEDO
+ .2byte NATIONAL_DEX_CROBAT
+ .2byte NATIONAL_DEX_FURRET
+ .2byte NATIONAL_DEX_ARCANINE
+ .2byte NATIONAL_DEX_RAIKOU
+ .2byte NATIONAL_DEX_BLAZIKEN
+ .2byte NATIONAL_DEX_CAMERUPT
+ .2byte NATIONAL_DEX_RHYDON
+ .2byte NATIONAL_DEX_REGISTEEL
+ .2byte NATIONAL_DEX_EKANS
+ .2byte NATIONAL_DEX_FLYGON
+ .2byte NATIONAL_DEX_TROPIUS
+ .2byte NATIONAL_DEX_LATIOS
+ .2byte NATIONAL_DEX_SUICUNE
+ .2byte NATIONAL_DEX_MOLTRES
+ .2byte NATIONAL_DEX_VENUSAUR
+ .2byte NATIONAL_DEX_EXEGGUTOR
+ .2byte NATIONAL_DEX_SLOWKING
+ .2byte NATIONAL_DEX_TYRANITAR
+ .2byte NATIONAL_DEX_SLAKING
+ .2byte NATIONAL_DEX_WAILMER
+ .2byte NATIONAL_DEX_MEWTWO
+ .2byte NATIONAL_DEX_AGGRON
+ .2byte NATIONAL_DEX_SNORLAX
+ .2byte NATIONAL_DEX_MANTINE
+ .2byte NATIONAL_DEX_ENTEI
+ .2byte NATIONAL_DEX_DRAGONITE
+ .2byte NATIONAL_DEX_KANGASKHAN
+ .2byte NATIONAL_DEX_HARIYAMA
+ .2byte NATIONAL_DEX_FERALIGATR
+ .2byte NATIONAL_DEX_LAPRAS
+ .2byte NATIONAL_DEX_SEVIPER
+ .2byte NATIONAL_DEX_ARBOK
+ .2byte NATIONAL_DEX_GROUDON
+ .2byte NATIONAL_DEX_HO_OH
+ .2byte NATIONAL_DEX_DRAGONAIR
+ .2byte NATIONAL_DEX_KYOGRE
+ .2byte NATIONAL_DEX_LUGIA
+ .2byte NATIONAL_DEX_MILOTIC
+ .2byte NATIONAL_DEX_GYARADOS
+ .2byte NATIONAL_DEX_RAYQUAZA
+ .2byte NATIONAL_DEX_ONIX
+ .2byte NATIONAL_DEX_STEELIX
+ .2byte NATIONAL_DEX_WAILORD
gUnknown_84448FE:: @ 84448FE
- .incbin "baserom.gba", 0x4448FE, 0x336
+ .2byte NATIONAL_DEX_RATTATA
+ .2byte NATIONAL_DEX_RATICATE
+ .2byte NATIONAL_DEX_CLEFAIRY
+ .2byte NATIONAL_DEX_CLEFABLE
+ .2byte NATIONAL_DEX_JIGGLYPUFF
+ .2byte NATIONAL_DEX_WIGGLYTUFF
+ .2byte NATIONAL_DEX_MEOWTH
+ .2byte NATIONAL_DEX_PERSIAN
+ .2byte NATIONAL_DEX_LICKITUNG
+ .2byte NATIONAL_DEX_CHANSEY
+ .2byte NATIONAL_DEX_KANGASKHAN
+ .2byte NATIONAL_DEX_TAUROS
+ .2byte NATIONAL_DEX_DITTO
+ .2byte NATIONAL_DEX_EEVEE
+ .2byte NATIONAL_DEX_PORYGON
+ .2byte NATIONAL_DEX_SNORLAX
+ .2byte NATIONAL_DEX_SENTRET
+ .2byte NATIONAL_DEX_FURRET
+ .2byte NATIONAL_DEX_CLEFFA
+ .2byte NATIONAL_DEX_IGGLYBUFF
+ .2byte NATIONAL_DEX_TOGEPI
+ .2byte NATIONAL_DEX_AIPOM
+ .2byte NATIONAL_DEX_DUNSPARCE
+ .2byte NATIONAL_DEX_SNUBBULL
+ .2byte NATIONAL_DEX_GRANBULL
+ .2byte NATIONAL_DEX_TEDDIURSA
+ .2byte NATIONAL_DEX_URSARING
+ .2byte NATIONAL_DEX_PORYGON2
+ .2byte NATIONAL_DEX_STANTLER
+ .2byte NATIONAL_DEX_SMEARGLE
+ .2byte NATIONAL_DEX_MILTANK
+ .2byte NATIONAL_DEX_BLISSEY
+ .2byte NATIONAL_DEX_VIGOROTH
+ .2byte NATIONAL_DEX_SLAKING
+ .2byte NATIONAL_DEX_SEALEO
+ .2byte NATIONAL_DEX_WALREIN
+ .2byte NATIONAL_DEX_CLAMPERL
+ .2byte NATIONAL_DEX_LUVDISC
+ .2byte NATIONAL_DEX_BAGON
+ .2byte NATIONAL_DEX_SHELGON
+ .2byte NATIONAL_DEX_MILOTIC
+ .2byte NATIONAL_DEX_ROSELIA
+ .2byte NATIONAL_DEX_GULPIN
+ .2byte NATIONAL_DEX_MEDICHAM
+ .2byte NATIONAL_DEX_LATIAS
+ .2byte NATIONAL_DEX_JIRACHI
+ .2byte NATIONAL_DEX_SWALOT
+ .2byte NATIONAL_DEX_TREECKO
+ .2byte NATIONAL_DEX_GROVYLE
+ .2byte NATIONAL_DEX_SCEPTILE
+ .2byte NATIONAL_DEX_TORCHIC
+ .2byte NATIONAL_DEX_COMBUSKEN
+ .2byte NATIONAL_DEX_BLAZIKEN
+ .2byte NATIONAL_DEX_MUDKIP
+ .2byte NATIONAL_DEX_MARSHTOMP
+ .2byte NATIONAL_DEX_SWAMPERT
+ .2byte NATIONAL_DEX_POOCHYENA
+ .2byte NATIONAL_DEX_MIGHTYENA
+ .2byte NATIONAL_DEX_ZIGZAGOON
+ .2byte NATIONAL_DEX_LINOONE
+ .2byte NATIONAL_DEX_WURMPLE
+ .2byte NATIONAL_DEX_SILCOON
+ .2byte NATIONAL_DEX_BEAUTIFLY
+ .2byte NATIONAL_DEX_CASCOON
+ .2byte NATIONAL_DEX_DUSTOX
+ .2byte NATIONAL_DEX_LOTAD
+ .2byte NATIONAL_DEX_LOMBRE
+ .2byte NATIONAL_DEX_LUDICOLO
+ .2byte NATIONAL_DEX_SEEDOT
+ .2byte NATIONAL_DEX_NUZLEAF
+ .2byte NATIONAL_DEX_SHIFTRY
+ .2byte NATIONAL_DEX_TAILLOW
+ .2byte NATIONAL_DEX_PIDGEY
+ .2byte NATIONAL_DEX_PIDGEOTTO
+ .2byte NATIONAL_DEX_PIDGEOT
+ .2byte NATIONAL_DEX_SPEAROW
+ .2byte NATIONAL_DEX_FEAROW
+ .2byte NATIONAL_DEX_FARFETCHD
+ .2byte NATIONAL_DEX_DODUO
+ .2byte NATIONAL_DEX_DODRIO
+ .2byte NATIONAL_DEX_HOOTHOOT
+ .2byte NATIONAL_DEX_NOCTOWL
+ .2byte NATIONAL_DEX_TOGETIC
+ .2byte NATIONAL_DEX_ARON
+ .2byte NATIONAL_DEX_LAIRON
+ .2byte NATIONAL_DEX_CHIMECHO
+ .2byte NATIONAL_DEX_GIRAFARIG
+ .2byte NATIONAL_DEX_MANKEY
+ .2byte NATIONAL_DEX_PRIMEAPE
+ .2byte NATIONAL_DEX_MACHOP
+ .2byte NATIONAL_DEX_MACHOKE
+ .2byte NATIONAL_DEX_MACHAMP
+ .2byte NATIONAL_DEX_HITMONLEE
+ .2byte NATIONAL_DEX_HITMONCHAN
+ .2byte NATIONAL_DEX_TYROGUE
+ .2byte NATIONAL_DEX_HITMONTOP
+ .2byte NATIONAL_DEX_ZANGOOSE
+ .2byte NATIONAL_DEX_SEVIPER
+ .2byte NATIONAL_DEX_DUSCLOPS
+ .2byte NATIONAL_DEX_TROPIUS
+ .2byte NATIONAL_DEX_EKANS
+ .2byte NATIONAL_DEX_ARBOK
+ .2byte NATIONAL_DEX_NIDORAN_F
+ .2byte NATIONAL_DEX_NIDORINA
+ .2byte NATIONAL_DEX_NIDORAN_M
+ .2byte NATIONAL_DEX_NIDORINO
+ .2byte NATIONAL_DEX_GRIMER
+ .2byte NATIONAL_DEX_MUK
+ .2byte NATIONAL_DEX_KOFFING
+ .2byte NATIONAL_DEX_WEEZING
+ .2byte NATIONAL_DEX_HUNTAIL
+ .2byte NATIONAL_DEX_GOREBYSS
+ .2byte NATIONAL_DEX_REGISTEEL
+ .2byte NATIONAL_DEX_ZUBAT
+ .2byte NATIONAL_DEX_GOLBAT
+ .2byte NATIONAL_DEX_CROBAT
+ .2byte NATIONAL_DEX_NIDOQUEEN
+ .2byte NATIONAL_DEX_NIDOKING
+ .2byte NATIONAL_DEX_SANDSHREW
+ .2byte NATIONAL_DEX_SANDSLASH
+ .2byte NATIONAL_DEX_DIGLETT
+ .2byte NATIONAL_DEX_DUGTRIO
+ .2byte NATIONAL_DEX_CUBONE
+ .2byte NATIONAL_DEX_MAROWAK
+ .2byte NATIONAL_DEX_PHANPY
+ .2byte NATIONAL_DEX_DONPHAN
+ .2byte NATIONAL_DEX_CACTURNE
+ .2byte NATIONAL_DEX_OLD_UNOWN_T
+ .2byte NATIONAL_DEX_GLIGAR
+ .2byte NATIONAL_DEX_RHYHORN
+ .2byte NATIONAL_DEX_RHYDON
+ .2byte NATIONAL_DEX_CARVANHA
+ .2byte NATIONAL_DEX_SHARPEDO
+ .2byte NATIONAL_DEX_SWABLU
+ .2byte NATIONAL_DEX_ALTARIA
+ .2byte NATIONAL_DEX_SUDOWOODO
+ .2byte NATIONAL_DEX_WAILMER
+ .2byte NATIONAL_DEX_OLD_UNOWN_P
+ .2byte NATIONAL_DEX_AERODACTYL
+ .2byte NATIONAL_DEX_GEODUDE
+ .2byte NATIONAL_DEX_GRAVELER
+ .2byte NATIONAL_DEX_GOLEM
+ .2byte NATIONAL_DEX_ONIX
+ .2byte NATIONAL_DEX_LARVITAR
+ .2byte NATIONAL_DEX_PUPITAR
+ .2byte NATIONAL_DEX_OLD_UNOWN_E
+ .2byte NATIONAL_DEX_OLD_UNOWN_F
+ .2byte NATIONAL_DEX_OMANYTE
+ .2byte NATIONAL_DEX_OMASTAR
+ .2byte NATIONAL_DEX_KABUTO
+ .2byte NATIONAL_DEX_KABUTOPS
+ .2byte NATIONAL_DEX_OLD_UNOWN_C
+ .2byte NATIONAL_DEX_OLD_UNOWN_D
+ .2byte NATIONAL_DEX_ARMALDO
+ .2byte NATIONAL_DEX_FEEBAS
+ .2byte NATIONAL_DEX_TYRANITAR
+ .2byte NATIONAL_DEX_CATERPIE
+ .2byte NATIONAL_DEX_METAPOD
+ .2byte NATIONAL_DEX_PINSIR
+ .2byte NATIONAL_DEX_PINECO
+ .2byte NATIONAL_DEX_NINCADA
+ .2byte NATIONAL_DEX_NINJASK
+ .2byte NATIONAL_DEX_WHISMUR
+ .2byte NATIONAL_DEX_DEOXYS
+ .2byte NATIONAL_DEX_OLD_UNOWN_B
+ .2byte NATIONAL_DEX_HERACROSS
+ .2byte NATIONAL_DEX_BUTTERFREE
+ .2byte NATIONAL_DEX_SCYTHER
+ .2byte NATIONAL_DEX_LEDYBA
+ .2byte NATIONAL_DEX_LEDIAN
+ .2byte NATIONAL_DEX_YANMA
+ .2byte NATIONAL_DEX_SHEDINJA
+ .2byte NATIONAL_DEX_MINUN
+ .2byte NATIONAL_DEX_SABLEYE
+ .2byte NATIONAL_DEX_WEEDLE
+ .2byte NATIONAL_DEX_KAKUNA
+ .2byte NATIONAL_DEX_BEEDRILL
+ .2byte NATIONAL_DEX_VENONAT
+ .2byte NATIONAL_DEX_VENOMOTH
+ .2byte NATIONAL_DEX_SPINARAK
+ .2byte NATIONAL_DEX_ARIADOS
+ .2byte NATIONAL_DEX_LOUDRED
+ .2byte NATIONAL_DEX_DELCATTY
+ .2byte NATIONAL_DEX_SHUCKLE
+ .2byte NATIONAL_DEX_MAWILE
+ .2byte NATIONAL_DEX_FORRETRESS
+ .2byte NATIONAL_DEX_SCIZOR
+ .2byte NATIONAL_DEX_PLUSLE
+ .2byte NATIONAL_DEX_PARAS
+ .2byte NATIONAL_DEX_PARASECT
+ .2byte NATIONAL_DEX_MISDREAVUS
+ .2byte NATIONAL_DEX_REGIROCK
+ .2byte NATIONAL_DEX_REGICE
+ .2byte NATIONAL_DEX_SNORUNT
+ .2byte NATIONAL_DEX_GLALIE
+ .2byte NATIONAL_DEX_GASTLY
+ .2byte NATIONAL_DEX_HAUNTER
+ .2byte NATIONAL_DEX_GENGAR
+ .2byte NATIONAL_DEX_DUSKULL
+ .2byte NATIONAL_DEX_OLD_UNOWN_R
+ .2byte NATIONAL_DEX_SKARMORY
+ .2byte NATIONAL_DEX_STEELIX
+ .2byte NATIONAL_DEX_KYOGRE
+ .2byte NATIONAL_DEX_GROUDON
+ .2byte NATIONAL_DEX_RAYQUAZA
+ .2byte NATIONAL_DEX_OLD_UNOWN_M
+ .2byte NATIONAL_DEX_OLD_UNOWN_N
+ .2byte NATIONAL_DEX_OLD_UNOWN_O
+ .2byte NATIONAL_DEX_OLD_UNOWN_X
+ .2byte NATIONAL_DEX_CHARMANDER
+ .2byte NATIONAL_DEX_CHARMELEON
+ .2byte NATIONAL_DEX_VULPIX
+ .2byte NATIONAL_DEX_NINETALES
+ .2byte NATIONAL_DEX_GROWLITHE
+ .2byte NATIONAL_DEX_ARCANINE
+ .2byte NATIONAL_DEX_PONYTA
+ .2byte NATIONAL_DEX_RAPIDASH
+ .2byte NATIONAL_DEX_MAGMAR
+ .2byte NATIONAL_DEX_FLAREON
+ .2byte NATIONAL_DEX_CYNDAQUIL
+ .2byte NATIONAL_DEX_QUILAVA
+ .2byte NATIONAL_DEX_TYPHLOSION
+ .2byte NATIONAL_DEX_SLUGMA
+ .2byte NATIONAL_DEX_MAGBY
+ .2byte NATIONAL_DEX_ENTEI
+ .2byte NATIONAL_DEX_RALTS
+ .2byte NATIONAL_DEX_WAILORD
+ .2byte NATIONAL_DEX_KIRLIA
+ .2byte NATIONAL_DEX_GARDEVOIR
+ .2byte NATIONAL_DEX_CHARIZARD
+ .2byte NATIONAL_DEX_MOLTRES
+ .2byte NATIONAL_DEX_HO_OH
+ .2byte NATIONAL_DEX_BARBOACH
+ .2byte NATIONAL_DEX_WHISCASH
+ .2byte NATIONAL_DEX_MAGCARGO
+ .2byte NATIONAL_DEX_SQUIRTLE
+ .2byte NATIONAL_DEX_WARTORTLE
+ .2byte NATIONAL_DEX_BLASTOISE
+ .2byte NATIONAL_DEX_PSYDUCK
+ .2byte NATIONAL_DEX_GOLDUCK
+ .2byte NATIONAL_DEX_POLIWAG
+ .2byte NATIONAL_DEX_POLIWHIRL
+ .2byte NATIONAL_DEX_SEEL
+ .2byte NATIONAL_DEX_SHELLDER
+ .2byte NATIONAL_DEX_KRABBY
+ .2byte NATIONAL_DEX_KINGLER
+ .2byte NATIONAL_DEX_HORSEA
+ .2byte NATIONAL_DEX_SEADRA
+ .2byte NATIONAL_DEX_GOLDEEN
+ .2byte NATIONAL_DEX_SEAKING
+ .2byte NATIONAL_DEX_STARYU
+ .2byte NATIONAL_DEX_MAGIKARP
+ .2byte NATIONAL_DEX_VAPOREON
+ .2byte NATIONAL_DEX_TOTODILE
+ .2byte NATIONAL_DEX_CROCONAW
+ .2byte NATIONAL_DEX_FERALIGATR
+ .2byte NATIONAL_DEX_MARILL
+ .2byte NATIONAL_DEX_AZUMARILL
+ .2byte NATIONAL_DEX_POLITOED
+ .2byte NATIONAL_DEX_REMORAID
+ .2byte NATIONAL_DEX_OCTILLERY
+ .2byte NATIONAL_DEX_SUICUNE
+ .2byte NATIONAL_DEX_SURSKIT
+ .2byte NATIONAL_DEX_VOLBEAT
+ .2byte NATIONAL_DEX_ILLUMISE
+ .2byte NATIONAL_DEX_GRUMPIG
+ .2byte NATIONAL_DEX_TRAPINCH
+ .2byte NATIONAL_DEX_VIBRAVA
+ .2byte NATIONAL_DEX_SALAMENCE
+ .2byte NATIONAL_DEX_BELDUM
+ .2byte NATIONAL_DEX_METANG
+ .2byte NATIONAL_DEX_SPOINK
+ .2byte NATIONAL_DEX_OLD_UNOWN_S
+ .2byte NATIONAL_DEX_POLIWRATH
+ .2byte NATIONAL_DEX_GYARADOS
+ .2byte NATIONAL_DEX_MANTINE
+ .2byte NATIONAL_DEX_ELECTRIKE
+ .2byte NATIONAL_DEX_MANECTRIC
+ .2byte NATIONAL_DEX_TENTACOOL
+ .2byte NATIONAL_DEX_TENTACRUEL
+ .2byte NATIONAL_DEX_QWILFISH
+ .2byte NATIONAL_DEX_WOOPER
+ .2byte NATIONAL_DEX_QUAGSIRE
+ .2byte NATIONAL_DEX_MASQUERAIN
+ .2byte NATIONAL_DEX_SHROOMISH
+ .2byte NATIONAL_DEX_CAMERUPT
+ .2byte NATIONAL_DEX_TORKOAL
+ .2byte NATIONAL_DEX_CORSOLA
+ .2byte NATIONAL_DEX_LATIOS
+ .2byte NATIONAL_DEX_EXPLOUD
+ .2byte NATIONAL_DEX_MAKUHITA
+ .2byte NATIONAL_DEX_HARIYAMA
+ .2byte NATIONAL_DEX_CHINCHOU
+ .2byte NATIONAL_DEX_LANTURN
+ .2byte NATIONAL_DEX_SLOWPOKE
+ .2byte NATIONAL_DEX_SLOWBRO
+ .2byte NATIONAL_DEX_STARMIE
+ .2byte NATIONAL_DEX_SLOWKING
+ .2byte NATIONAL_DEX_DEWGONG
+ .2byte NATIONAL_DEX_CLOYSTER
+ .2byte NATIONAL_DEX_LAPRAS
+ .2byte NATIONAL_DEX_KINGDRA
+ .2byte NATIONAL_DEX_FLYGON
+ .2byte NATIONAL_DEX_CACNEA
+ .2byte NATIONAL_DEX_SPINDA
+ .2byte NATIONAL_DEX_TANGELA
+ .2byte NATIONAL_DEX_CHIKORITA
+ .2byte NATIONAL_DEX_BAYLEEF
+ .2byte NATIONAL_DEX_MEGANIUM
+ .2byte NATIONAL_DEX_BELLOSSOM
+ .2byte NATIONAL_DEX_SUNKERN
+ .2byte NATIONAL_DEX_SUNFLORA
+ .2byte NATIONAL_DEX_SWELLOW
+ .2byte NATIONAL_DEX_WINGULL
+ .2byte NATIONAL_DEX_PELIPPER
+ .2byte NATIONAL_DEX_AZURILL
+ .2byte NATIONAL_DEX_AGGRON
+ .2byte NATIONAL_DEX_CLAYDOL
+ .2byte NATIONAL_DEX_MEDITITE
+ .2byte NATIONAL_DEX_HOPPIP
+ .2byte NATIONAL_DEX_SKIPLOOM
+ .2byte NATIONAL_DEX_JUMPLUFF
+ .2byte NATIONAL_DEX_RELICANTH
+ .2byte NATIONAL_DEX_BULBASAUR
+ .2byte NATIONAL_DEX_IVYSAUR
+ .2byte NATIONAL_DEX_VENUSAUR
+ .2byte NATIONAL_DEX_ODDISH
+ .2byte NATIONAL_DEX_GLOOM
+ .2byte NATIONAL_DEX_VILEPLUME
+ .2byte NATIONAL_DEX_BELLSPROUT
+ .2byte NATIONAL_DEX_WEEPINBELL
+ .2byte NATIONAL_DEX_VICTREEBEL
+ .2byte NATIONAL_DEX_SPHEAL
+ .2byte NATIONAL_DEX_EXEGGCUTE
+ .2byte NATIONAL_DEX_EXEGGUTOR
+ .2byte NATIONAL_DEX_NOSEPASS
+ .2byte NATIONAL_DEX_SKITTY
+ .2byte NATIONAL_DEX_LILEEP
+ .2byte NATIONAL_DEX_PIKACHU
+ .2byte NATIONAL_DEX_RAICHU
+ .2byte NATIONAL_DEX_VOLTORB
+ .2byte NATIONAL_DEX_ELECTRODE
+ .2byte NATIONAL_DEX_ELECTABUZZ
+ .2byte NATIONAL_DEX_JOLTEON
+ .2byte NATIONAL_DEX_PICHU
+ .2byte NATIONAL_DEX_MAREEP
+ .2byte NATIONAL_DEX_FLAAFFY
+ .2byte NATIONAL_DEX_AMPHAROS
+ .2byte NATIONAL_DEX_ELEKID
+ .2byte NATIONAL_DEX_RAIKOU
+ .2byte NATIONAL_DEX_LUNATONE
+ .2byte NATIONAL_DEX_SOLROCK
+ .2byte NATIONAL_DEX_SHUPPET
+ .2byte NATIONAL_DEX_BANETTE
+ .2byte NATIONAL_DEX_ZAPDOS
+ .2byte NATIONAL_DEX_MAGNEMITE
+ .2byte NATIONAL_DEX_MAGNETON
+ .2byte NATIONAL_DEX_ABRA
+ .2byte NATIONAL_DEX_KADABRA
+ .2byte NATIONAL_DEX_ALAKAZAM
+ .2byte NATIONAL_DEX_DROWZEE
+ .2byte NATIONAL_DEX_HYPNO
+ .2byte NATIONAL_DEX_MR_MIME
+ .2byte NATIONAL_DEX_MEWTWO
+ .2byte NATIONAL_DEX_MEW
+ .2byte NATIONAL_DEX_ESPEON
+ .2byte NATIONAL_DEX_UNOWN
+ .2byte NATIONAL_DEX_WOBBUFFET
+ .2byte NATIONAL_DEX_OLD_UNOWN_G
+ .2byte NATIONAL_DEX_OLD_UNOWN_H
+ .2byte NATIONAL_DEX_OLD_UNOWN_I
+ .2byte NATIONAL_DEX_CASTFORM
+ .2byte NATIONAL_DEX_KECLEON
+ .2byte NATIONAL_DEX_OLD_UNOWN_Z
+ .2byte NATIONAL_DEX_WYNAUT
+ .2byte NATIONAL_DEX_OLD_UNOWN_Y
+ .2byte NATIONAL_DEX_NATU
+ .2byte NATIONAL_DEX_XATU
+ .2byte NATIONAL_DEX_LUGIA
+ .2byte NATIONAL_DEX_CELEBI
+ .2byte NATIONAL_DEX_CRADILY
+ .2byte NATIONAL_DEX_ANORITH
+ .2byte NATIONAL_DEX_OLD_UNOWN_Q
+ .2byte NATIONAL_DEX_ARTICUNO
+ .2byte NATIONAL_DEX_DELIBIRD
+ .2byte NATIONAL_DEX_SWINUB
+ .2byte NATIONAL_DEX_PILOSWINE
+ .2byte NATIONAL_DEX_CORPHISH
+ .2byte NATIONAL_DEX_CRAWDAUNT
+ .2byte NATIONAL_DEX_BALTOY
+ .2byte NATIONAL_DEX_JYNX
+ .2byte NATIONAL_DEX_SMOOCHUM
+ .2byte NATIONAL_DEX_DRATINI
+ .2byte NATIONAL_DEX_DRAGONAIR
+ .2byte NATIONAL_DEX_OLD_UNOWN_J
+ .2byte NATIONAL_DEX_OLD_UNOWN_K
+ .2byte NATIONAL_DEX_DRAGONITE
+ .2byte NATIONAL_DEX_ABSOL
+ .2byte NATIONAL_DEX_OLD_UNOWN_L
+ .2byte NATIONAL_DEX_OLD_UNOWN_U
+ .2byte NATIONAL_DEX_OLD_UNOWN_V
+ .2byte NATIONAL_DEX_OLD_UNOWN_W
+ .2byte NATIONAL_DEX_UMBREON
+ .2byte NATIONAL_DEX_BRELOOM
+ .2byte NATIONAL_DEX_SLAKOTH
+ .2byte NATIONAL_DEX_METAGROSS
+ .2byte NATIONAL_DEX_MURKROW
+ .2byte NATIONAL_DEX_NUMEL
+ .2byte NATIONAL_DEX_HOUNDOUR
+ .2byte NATIONAL_DEX_HOUNDOOM
+ .2byte NATIONAL_DEX_SNEASEL
.section .rodata.after @ pokedex.c erroneously carved out?
-gUnknown_8451EBC:: @ 8451EBC
- .incbin "baserom.gba", 0x451EBC, 0x10
+gUnknown_8451EBC:: @ 8451EBC BgTemplate
+ .4byte 0x00000050
+ @ {
+ @ .bg = 0,
+ @ .charBaseIndex = 0,
+ @ .mapBaseIndex = 5,
+ @ .screenSize = 0,
+ @ .paletteMode = 0,
+ @ .priority = 0,
+ @ .baseTile = 0x0000
+ @ }
+ .4byte 0x00001049
+ @ {
+ @ .bg = 1,
+ @ .charBaseIndex = 2,
+ @ .mapBaseIndex = 4,
+ @ .screenSize = 0,
+ @ .paletteMode = 0,
+ @ .priority = 1,
+ @ .baseTile = 0x0000
+ @ }
+ .4byte 0x0000206a
+ @ {
+ @ .bg = 2,
+ @ .charBaseIndex = 2,
+ @ .mapBaseIndex = 6,
+ @ .screenSize = 0,
+ @ .paletteMode = 0,
+ @ .priority = 2,
+ @ .baseTile = 0x0000
+ @ }
+ .4byte 0x00003073
+ @ {
+ @ .bg = 3,
+ @ .charBaseIndex = 0,
+ @ .mapBaseIndex = 7,
+ @ .screenSize = 0,
+ @ .paletteMode = 0,
+ @ .priority = 3,
+ @ .baseTile = 0x0000
+ @ }
+
+gUnknown_8451ECC:: @ 8451ECC WindowTemplate
+ .byte 0, 0, 0, 30, 2, 15
+ .2byte 0x03c4
+ @ {
+ @ .bg = 0,
+ @ .tilemapLeft = 0,
+ @ .tilemapTop = 0,
+ @ .width = 30,
+ @ .height = 2,
+ @ .paletteNum = 15,
+ @ .baseBlock = 0x03c4
+ @ }
+ .byte 0, 0, 18, 30, 2, 15
+ .2byte 0x0388
+ @ {
+ @ .bg = 0,
+ @ .tilemapLeft = 0,
+ @ .tilemapTop = 18,
+ @ .width = 30,
+ @ .height = 2,
+ @ .paletteNum = 15,
+ @ .baseBlock = 0x0388
+ @ }
+ .byte 255, 0, 0, 0, 0, 0
+ .2byte 0x0000
+ @ {
+ @ .bg = 255,
+ @ .tilemapLeft = 0,
+ @ .tilemapTop = 0,
+ @ .width = 0,
+ @ .height = 0,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0000
+ @ }
+
+gUnknown_8451EE4:: @ 8451EE4 PokedexScreenData
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+gUnknown_8451F54:: @ 8451F54 WindowTemplate
+ .byte 1, 1, 2, 20, 16, 0
+ .2byte 0x0008
+ @ {
+ @ .bg = 1,
+ @ .tilemapLeft = 1,
+ @ .tilemapTop = 2,
+ @ .width = 20,
+ @ .height = 16,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0008
+ @ }
+
+gUnknown_8451F5C:: @ 8451F5C WindowTemplate
+ .byte 1, 21, 11, 8, 6, 1
+ .2byte 0x0148
+ @ {
+ @ .bg = 1,
+ @ .tilemapLeft = 21,
+ @ .tilemapTop = 11,
+ @ .width = 8,
+ @ .height = 6,
+ @ .paletteNum = 1,
+ @ .baseBlock = 0x0148
+ @ }
+
+gUnknown_8451F64:: @ 8451F64 WindowTemplate
+ .byte 1, 21, 2, 9, 9, 0
+ .2byte 0x0178
+ @ {
+ @ .bg = 1,
+ @ .tilemapLeft = 21,
+ @ .tilemapTop = 2,
+ @ .width = 9,
+ @ .height = 9,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0178
+ @ }
+
+gUnknown_8451F6C::
+ .4byte gUnknown_8415EFB, -3
+ .4byte gUnknown_8415E95, 9
+ .4byte gUnknown_8415DE0, -3
+ .4byte gUnknown_8415DF7, 0
+ .4byte gUnknown_8415E09, 1
+ .4byte gUnknown_8415E18, 2
+ .4byte gUnknown_8415E2D, 3
+ .4byte gUnknown_8415E39, 4
+ .4byte gUnknown_8415E46, 5
+ .4byte gUnknown_8415E57, 6
+ .4byte gUnknown_8415E6D, 7
+ .4byte gUnknown_8415E7B, 8
+ .4byte gUnknown_8415E88, -3
+ .4byte gUnknown_8415EA4, 10
+ .4byte gUnknown_8415ED5, 11
+ .4byte gUnknown_8415EDF, 12
+ .4byte gUnknown_8415EED, 13
+ .4byte gUnknown_8415EB0, -3
+ .4byte gUnknown_8415EC7, -2
+
+gUnknown_8452004:: @ 8452004 ListMenuTemplate
+ .4byte gUnknown_8451F6C
+ .4byte sub_8102EC0
+ .4byte sub_8102F48
+ .2byte 19, 9
+ .byte 0, 0, 12, 4
+ .byte 0x12, 0x30, 0x01, 0x02
+
+gUnknown_845201C::
+ .4byte gUnknown_8415EFB, -3
+ .4byte gUnknown_8415F0E, 9
+ .4byte gUnknown_8415F24, 14
+ .4byte gUnknown_8415DE0, -3
+ .4byte gUnknown_8415DF7, 0
+ .4byte gUnknown_8415E09, 1
+ .4byte gUnknown_8415E18, 2
+ .4byte gUnknown_8415E2D, 3
+ .4byte gUnknown_8415E39, 4
+ .4byte gUnknown_8415E46, 5
+ .4byte gUnknown_8415E57, 6
+ .4byte gUnknown_8415E6D, 7
+ .4byte gUnknown_8415E7B, 8
+ .4byte gUnknown_8415E88, -3
+ .4byte gUnknown_8415EA4, 10
+ .4byte gUnknown_8415ED5, 11
+ .4byte gUnknown_8415EDF, 12
+ .4byte gUnknown_8415EED, 13
+ .4byte gUnknown_8415EB0, -3
+ .4byte gUnknown_8415EC7, -2
+
+gUnknown_84520BC:: @ 84520BC ListMenuTemplate
+ .4byte gUnknown_845201C
+ .4byte sub_8102EC0
+ .4byte sub_8102F48
+ .2byte 20, 9
+ .byte 0, 0, 12, 4
+ .byte 0x12, 0x30, 0x01, 0x02
+
+gUnknown_84520D4:: @ 84520D4 ScrollArrowsTemplate
+ .byte 2, 200, 19, 3, 200, 141
+ .2byte 0, 10, 2000, 65535
+ .byte 1
+ .align 2
+
+gUnknown_84520E4:: @ 84520E4 ScrollArrowsTemplate
+ .byte 2, 200, 19, 3, 200, 141
+ .2byte 0, 11, 2000, 65535
+ .byte 1
+ .align 2
+
+gUnknown_84520F4:: @ 84520F4 struct { dataptr; dataptr; }
+ .4byte gUnknown_84414BC, gUnknown_84434A0
+ .4byte gUnknown_844112C, gUnknown_8443480
+ .4byte gUnknown_8442838, gUnknown_8443580
+ .4byte gUnknown_8442004, gUnknown_8443520
+ .4byte gUnknown_84408E0, gUnknown_8443420
+ .4byte gUnknown_8441A40, gUnknown_84434E0
+ .4byte gUnknown_84424E4, gUnknown_8443560
+ .4byte gUnknown_8440BD8, gUnknown_8443440
+ .4byte gUnknown_8441D54, gUnknown_8443500
+ .4byte gUnknown_844223C, gUnknown_8443540
+ .4byte gUnknown_8E9C16C, gUnknown_8E9C14C
+ .4byte gUnknown_8442BC0, gUnknown_84435A0
+ .4byte gUnknown_8442EF8, gUnknown_84435C0
+ .4byte gUnknown_844318C, gUnknown_84435E0
+ .4byte gUnknown_844223C, gUnknown_8443540
+
+gUnknown_845216C:: @ 845216C WindowTemplate
+ .byte 1, 2, 2, 23, 16, 0
+ .2byte 0x0008
+ @ {
+ @ .bg = 1,
+ @ .tilemapLeft = 2,
+ @ .tilemapTop = 2,
+ @ .width = 23,
+ @ .height = 16,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0008
+ @ }
+
+gUnknown_8452174:: @ 8452174 ListMenuTemplate
+ .4byte gUnknown_8451F6C
+ .4byte ListMenuDefaultCursorMoveFunc
+ .4byte sub_8103A40
+ .2byte 0, 9
+ .byte 0, 0, 56, 4
+ .byte 0x12, 0x30, 0x41, 0x02
+
+gUnknown_845218C:: @ 845218C ListMenuWindowRect
+ .byte 0x00, 0x00, 0x05, 0x10, 0x00, 0x00, 0x00, 0x00
+
+gUnknown_8452194:: @ unknown
+ .byte 0x05, 0x00, 0x02, 0x10, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x10, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00
+
+gUnknown_84521B4:: @ 84521B4 ScrollArrowsTemplate
+ .byte 2, 200, 19, 3, 200, 141
+ .2byte 0, 0, 2000, 65535
+ .byte 1
+ .align 2
+
+gUnknown_84521C4:: @ 84521C4 WindowTemplate
+ .byte 2, 0, 0, 8, 8, 0
+ .2byte 0x0000
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 0,
+ @ .tilemapTop = 0,
+ @ .width = 8,
+ @ .height = 8,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0000
+ @ }
+
+gUnknown_84521CC:: @ 84521CC WindowTemplate
+ .byte 1, 0, 0, 8, 5, 0
+ .2byte 0x0000
+ @ {
+ @ .bg = 1,
+ @ .tilemapLeft = 0,
+ @ .tilemapTop = 0,
+ @ .width = 8,
+ @ .height = 5,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0000
+ @ }
+
+gUnknown_84521D4:: @ 84521D4 WindowTemplate
+ .byte 1, 19, 3, 8, 8, 9
+ .2byte 0x01a8
+ @ {
+ @ .bg = 1,
+ @ .tilemapLeft = 19,
+ @ .tilemapTop = 3,
+ @ .width = 8,
+ @ .height = 8,
+ @ .paletteNum = 9,
+ @ .baseBlock = 0x01a8
+ @ }
+
+gUnknown_84521DC:: @ 84521DC WindowTemplate
+ .byte 1, 2, 3, 13, 8, 0
+ .2byte 0x01e8
+ @ {
+ @ .bg = 1,
+ @ .tilemapLeft = 2,
+ @ .tilemapTop = 3,
+ @ .width = 13,
+ @ .height = 8,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x01e8
+ @ }
+
+gUnknown_84521E4:: @ 84521E4 WindowTemplate
+ .byte 1, 0, 11, 30, 7, 0
+ .2byte 0x0250
+ @ {
+ @ .bg = 1,
+ @ .tilemapLeft = 0,
+ @ .tilemapTop = 11,
+ @ .width = 30,
+ @ .height = 7,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0250
+ @ }
+
+gUnknown_84521EC:: @ 84521EC WindowTemplate
+ .byte 2, 1, 2, 4, 4, 10
+ .2byte 0x01a8
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 1,
+ @ .tilemapTop = 2,
+ @ .width = 4,
+ @ .height = 4,
+ @ .paletteNum = 10,
+ @ .baseBlock = 0x01a8
+ @ }
+
+gUnknown_84521F4:: @ 84521F4 WindowTemplate
+ .byte 2, 5, 2, 8, 3, 0
+ .2byte 0x01b8
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 5,
+ @ .tilemapTop = 2,
+ @ .width = 8,
+ @ .height = 3,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x01b8
+ @ }
+
+gUnknown_84521FC:: @ 84521FC WindowTemplate
+ .byte 2, 2, 7, 10, 2, 0
+ .2byte 0x01d0
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 2,
+ @ .tilemapTop = 7,
+ @ .width = 10,
+ @ .height = 2,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x01d0
+ @ }
+
+gUnknown_8452204:: @ 8452204 WindowTemplate
+ .byte 2, 18, 2, 10, 2, 0
+ .2byte 0x01e4
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 18,
+ @ .tilemapTop = 2,
+ @ .width = 10,
+ @ .height = 2,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x01e4
+ @ }
+
+gUnknown_845220C:: @ 845220C WindowTemplate
+ .byte 2, 5, 5, 8, 2, 11
+ .2byte 0x01f8
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 5,
+ @ .tilemapTop = 5,
+ @ .width = 8,
+ @ .height = 2,
+ @ .paletteNum = 11,
+ @ .baseBlock = 0x01f8
+ @ }
+
+gUnknown_8452214:: @ 8452214 WindowTemplate
+ .byte 2, 17, 4, 12, 9, 0
+ .2byte 0x0208
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 17,
+ @ .tilemapTop = 4,
+ @ .width = 12,
+ @ .height = 9,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0208
+ @ }
+
+gUnknown_845221C::
+ .byte 2, 13, 4, 4, 3, 0
+ .2byte 0x0274
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 13,
+ @ .tilemapTop = 4,
+ @ .width = 4,
+ @ .height = 3,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0274
+ @ }
+
+gUnknown_8452224::
+ .byte 2, 13, 7, 4, 3, 0
+ .2byte 0x0280
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 13,
+ @ .tilemapTop = 7,
+ @ .width = 4,
+ @ .height = 3,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0280
+ @ }
+
+gUnknown_845222C::
+ .byte 2, 13, 10, 4, 3, 0
+ .2byte 0x028c
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 13,
+ @ .tilemapTop = 10,
+ @ .width = 4,
+ @ .height = 3,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x028c
+ @ }
+
+gUnknown_8452234::
+ .byte 2, 13, 13, 4, 4, 0
+ .2byte 0x0298
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 13,
+ @ .tilemapTop = 13,
+ @ .width = 4,
+ @ .height = 4,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x0298
+ @ }
+
+gUnknown_845223C::
+ .byte 2, 17, 13, 4, 4, 0
+ .2byte 0x02a8
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 17,
+ @ .tilemapTop = 13,
+ @ .width = 4,
+ @ .height = 4,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x02a8
+ @ }
+
+gUnknown_8452244::
+ .byte 2, 21, 13, 4, 4, 0
+ .2byte 0x02b8
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 21,
+ @ .tilemapTop = 13,
+ @ .width = 4,
+ @ .height = 4,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x02b8
+ @ }
+
+gUnknown_845224C::
+ .byte 2, 25, 13, 4, 4, 0
+ .2byte 0x02c8
+ @ {
+ @ .bg = 2,
+ @ .tilemapLeft = 25,
+ @ .tilemapTop = 13,
+ @ .width = 4,
+ @ .height = 4,
+ @ .paletteNum = 0,
+ @ .baseBlock = 0x02c8
+ @ }
+
+gUnknown_8452254:: @ 8452254 struct { dataptr; dataptr; }
+ @ window template, tilemap.lz
+ .4byte gUnknown_845221C, gUnknown_8443910
+ .4byte gUnknown_8452224, gUnknown_8443988
+ .4byte gUnknown_845222C, gUnknown_84439FC
+ .4byte gUnknown_8452234, gUnknown_8443A78
+ .4byte gUnknown_845223C, gUnknown_8443AF8
+ .4byte gUnknown_8452244, gUnknown_8443BB0
+ .4byte gUnknown_845224C, gUnknown_8443C54
+
+gUnknown_845228C:: @ 845228C bin
+ .incbin "graphics/pokedex/unk_845228C.bin"
+
+gUnknown_845230C::
+ .byte 0x0b, 0x03, 0x0b, 0x0b
+
+gUnknown_8452310::
+ .byte 0x03, 0x03, 0x0b, 0x03
+ .byte 0x12, 0x09, 0x0a, 0x0b
+
+gUnknown_8452318::
+ .byte 0x01, 0x02, 0x09, 0x02
+ .byte 0x0b, 0x09, 0x03, 0x0b
+ .byte 0x15, 0x03, 0x15, 0x0b
+
+gUnknown_8452324::
+ .byte 0x00, 0x02, 0x06, 0x03
+ .byte 0x07, 0x0a, 0x00, 0x0c
+ .byte 0x0f, 0x0a, 0x16, 0x0b
+ .byte 0x16, 0x02, 0x0f, 0x04
+
+gUnknown_8452334:: @ 8452334 dataptr
+ .4byte gUnknown_845230C
+ .4byte gUnknown_8452310
+ .4byte gUnknown_8452318
+ .4byte gUnknown_8452324
+
+gUnknown_8452344:: @ 8452344 dataptr
+ .4byte gUnknown_8415DF7
+ .4byte gUnknown_8415E09
+ .4byte gUnknown_8415E18
+ .4byte gUnknown_8415E2D
+ .4byte gUnknown_8415E39
+ .4byte gUnknown_8415E46
+ .4byte gUnknown_8415E57
+ .4byte gUnknown_8415E6D
+ .4byte gUnknown_8415E7B
+
+gUnknown_8452368:: @ 8452368 gbapal
+ .incbin "graphics/pokedex/unk_8452368.gbapal"
+
+gUnknown_8452388:: @ 8452388 data8
+ .byte 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e
+ .byte 0x05, 0x0b, 0x11, 0x17, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e
+ .byte 0x02, 0x05, 0x08, 0x0b, 0x0e, 0x11, 0x14, 0x17, 0x1a, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e
+ .byte 0x02, 0x03, 0x05, 0x07, 0x09, 0x0b, 0x0d, 0x0f, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1b, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e
+ .byte 0x02, 0x04, 0x05, 0x07, 0x08, 0x0a, 0x0b, 0x0d, 0x0e, 0x10, 0x11, 0x13, 0x14, 0x16, 0x17, 0x19, 0x1a, 0x1c, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e
+ .byte 0x01, 0x02, 0x03, 0x04, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x13, 0x14, 0x15, 0x17, 0x18, 0x19, 0x1b, 0x1c, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e
+ .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x14, 0x15, 0x16, 0x17, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e
+ .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1e, 0x1e
+ .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d
+
+gUnknown_84524B4:: @ 84524B4 ScrollArrowsTemplate
+ .byte 0, 16, 80, 1, 224, 80
+ .2byte 0, 0, 2000, 65535
+ .byte 1
+ .align 2
+
+gUnknown_84524C4:: @ 84524C4 CursorStruct
+ .byte 0, 160
+ .2byte 64, 40, 2002, 65535
+ .byte 4, 0
+
+gUnknown_84524D0:: @ 84524D0
+ .2byte SPECIES_RATTATA
+ .2byte SPECIES_RATICATE
+ .2byte SPECIES_SENTRET
+ .2byte SPECIES_FURRET
+
+gUnknown_84524D8:: @ 84524D8
+ .2byte SPECIES_ZIGZAGOON
+ .2byte SPECIES_LINOONE
+ .2byte SPECIES_POOCHYENA
+ .2byte SPECIES_MIGHTYENA
+
+gUnknown_84524E0:: @ 84524E0
+ .2byte SPECIES_NIDORAN_F
+ .2byte SPECIES_NIDORINA
+ .2byte SPECIES_NIDOQUEEN
+
+gUnknown_84524E6:: @ 84524E6
+ .2byte SPECIES_NIDORAN_M
+ .2byte SPECIES_NIDORINO
+ .2byte SPECIES_NIDOKING
+
+gUnknown_84524EC:: @ 84524EC
+ .2byte SPECIES_DODUO
+ .2byte SPECIES_DODRIO
+ .2byte SPECIES_TAILLOW
+ .2byte SPECIES_SWELLOW
+
+gUnknown_84524F4:: @ 84524F4
+ .2byte SPECIES_TANGELA
+ .2byte SPECIES_ROSELIA
+ .2byte SPECIES_SUNKERN
+ .2byte SPECIES_SUNFLORA
+
+gUnknown_84524FC:: @ 84524FC
+ .2byte SPECIES_HOPPIP
+ .2byte SPECIES_SKIPLOOM
+ .2byte SPECIES_JUMPLUFF
+
+gUnknown_8452502:: @ 8452502
+ .2byte SPECIES_ODDISH
+ .2byte SPECIES_GLOOM
+ .2byte SPECIES_VILEPLUME
+ .2byte SPECIES_BELLOSSOM
+
+gUnknown_845250A:: @ 845250A
+ .2byte SPECIES_EKANS
+ .2byte SPECIES_ARBOK
+
+gUnknown_845250E:: @ 845250E
+ .2byte SPECIES_IGGLYBUFF
+ .2byte SPECIES_JIGGLYPUFF
+ .2byte SPECIES_WIGGLYTUFF
+
+gUnknown_8452514:: @ 8452514
+ .2byte SPECIES_MAREEP
+ .2byte SPECIES_FLAAFFY
+ .2byte SPECIES_AMPHAROS
+
+gUnknown_845251A:: @ 845251A
+ .2byte SPECIES_FARFETCHD
+ .2byte SPECIES_LICKITUNG
+
+gUnknown_845251E:: @ 845251E
+ .2byte SPECIES_SCYTHER
+ .2byte SPECIES_SCIZOR
+
+gUnknown_8452522:: @ 8452522
+ .2byte SPECIES_DROWZEE
+ .2byte SPECIES_HYPNO
+ .2byte SPECIES_GULPIN
+ .2byte SPECIES_SWALOT
+
+gUnknown_845252A:: @ 845252A
+ .2byte SPECIES_KANGASKHAN
+ .2byte SPECIES_GIRAFARIG
+
+gUnknown_845252E:: @ 845252E
+ .2byte SPECIES_TAUROS
+ .2byte SPECIES_MILTANK
+
+gUnknown_8452532:: @ 8452532
+ .2byte SPECIES_VULPIX
+ .2byte SPECIES_NINETALES
+ .2byte SPECIES_PONYTA
+ .2byte SPECIES_RAPIDASH
+
+gUnknown_845253A:: @ 845253A
+ .2byte SPECIES_ELEKID
+ .2byte SPECIES_ELECTABUZZ
+ .2byte SPECIES_ELECTRIKE
+ .2byte SPECIES_MANECTRIC
+
+gUnknown_8452542:: @ 8452542
+ .2byte SPECIES_ZANGOOSE
+ .2byte SPECIES_SEVIPER
+
+gUnknown_8452546:: @ 8452546
+ .2byte SPECIES_PLUSLE
+ .2byte SPECIES_MINUN
+
+gUnknown_845254A:: @ 845254A
+ .2byte SPECIES_GROWLITHE
+ .2byte SPECIES_ARCANINE
+
+gUnknown_845254E:: @ 845254E
+ .2byte SPECIES_CASTFORM
+ .2byte SPECIES_CHIMECHO
+
+gUnknown_8452552:: @ 8452552
+ .2byte SPECIES_BULBASAUR
+ .2byte SPECIES_IVYSAUR
+ .2byte SPECIES_VENUSAUR
+
+gUnknown_8452558:: @ 8452558
+ .2byte SPECIES_CHIKORITA
+ .2byte SPECIES_BAYLEEF
+ .2byte SPECIES_MEGANIUM
+
+gUnknown_845255E:: @ 845255E
+ .2byte SPECIES_CYNDAQUIL
+ .2byte SPECIES_QUILAVA
+ .2byte SPECIES_TYPHLOSION
+
+gUnknown_8452564:: @ 8452564
+ .2byte SPECIES_TORCHIC
+ .2byte SPECIES_COMBUSKEN
+ .2byte SPECIES_BLAZIKEN
+
+gUnknown_845256A:: @ 845256A
+ .2byte SPECIES_RAIKOU
+ .2byte SPECIES_ENTEI
+ .2byte SPECIES_SUICUNE
+
+gUnknown_8452570:: @ 8452570
+ .2byte SPECIES_CATERPIE
+ .2byte SPECIES_METAPOD
+ .2byte SPECIES_BUTTERFREE
+
+gUnknown_8452576:: @ 8452576
+ .2byte SPECIES_WEEDLE
+ .2byte SPECIES_KAKUNA
+ .2byte SPECIES_BEEDRILL
+
+gUnknown_845257C:: @ 845257C
+ .2byte SPECIES_WURMPLE
+ .2byte SPECIES_SILCOON
+ .2byte SPECIES_BEAUTIFLY
+
+gUnknown_8452582:: @ 8452582
+ .2byte SPECIES_CASCOON
+ .2byte SPECIES_DUSTOX
+
+gUnknown_8452586:: @ 8452586
+ .2byte SPECIES_PIDGEY
+ .2byte SPECIES_PIDGEOTTO
+ .2byte SPECIES_PIDGEOT
+
+gUnknown_845258C:: @ 845258C
+ .2byte SPECIES_HOOTHOOT
+ .2byte SPECIES_NOCTOWL
+ .2byte SPECIES_NATU
+ .2byte SPECIES_XATU
+
+gUnknown_8452594:: @ 8452594
+ .2byte SPECIES_PICHU
+ .2byte SPECIES_PIKACHU
+ .2byte SPECIES_RAICHU
+
+gUnknown_845259A:: @ 845259A
+ .2byte SPECIES_BELLSPROUT
+ .2byte SPECIES_WEEPINBELL
+ .2byte SPECIES_VICTREEBEL
+
+gUnknown_84525A0:: @ 84525A0
+ .2byte SPECIES_PARAS
+ .2byte SPECIES_PARASECT
+ .2byte SPECIES_SHROOMISH
+ .2byte SPECIES_BRELOOM
+
+gUnknown_84525A8:: @ 84525A8
+ .2byte SPECIES_SEEDOT
+ .2byte SPECIES_NUZLEAF
+ .2byte SPECIES_SHIFTRY
+
+gUnknown_84525AE:: @ 84525AE
+ .2byte SPECIES_VENONAT
+ .2byte SPECIES_VENOMOTH
+ .2byte SPECIES_YANMA
+
+gUnknown_84525B4:: @ 84525B4
+ .2byte SPECIES_LEDYBA
+ .2byte SPECIES_LEDIAN
+ .2byte SPECIES_SPINARAK
+ .2byte SPECIES_ARIADOS
+
+gUnknown_84525BC:: @ 84525BC
+ .2byte SPECIES_NINCADA
+ .2byte SPECIES_NINJASK
+ .2byte SPECIES_SHEDINJA
+
+gUnknown_84525C2:: @ 84525C2
+ .2byte SPECIES_VOLBEAT
+ .2byte SPECIES_ILLUMISE
+
+gUnknown_84525C6:: @ 84525C6
+ .2byte SPECIES_PINECO
+ .2byte SPECIES_FORRETRESS
+
+gUnknown_84525CA:: @ 84525CA
+ .2byte SPECIES_SLAKOTH
+ .2byte SPECIES_VIGOROTH
+ .2byte SPECIES_SLAKING
+
+gUnknown_84525D0:: @ 84525D0
+ .2byte SPECIES_SKITTY
+ .2byte SPECIES_DELCATTY
+
+gUnknown_84525D4:: @ 84525D4
+ .2byte SPECIES_MURKROW
+ .2byte SPECIES_SNEASEL
+
+gUnknown_84525D8:: @ 84525D8
+ .2byte SPECIES_EXEGGCUTE
+ .2byte SPECIES_EXEGGUTOR
+ .2byte SPECIES_SUDOWOODO
+
+gUnknown_84525DE:: @ 84525DE
+ .2byte SPECIES_AIPOM
+ .2byte SPECIES_STANTLER
+ .2byte SPECIES_KECLEON
+
+gUnknown_84525E4:: @ 84525E4
+ .2byte SPECIES_PINSIR
+ .2byte SPECIES_HERACROSS
+
+gUnknown_84525E8:: @ 84525E8
+ .2byte SPECIES_SWABLU
+ .2byte SPECIES_ALTARIA
+ .2byte SPECIES_TROPIUS
+
+gUnknown_84525EE:: @ 84525EE
+ .2byte SPECIES_DUSKULL
+ .2byte SPECIES_DUSCLOPS
+
+gUnknown_84525F2:: @ 84525F2
+ .2byte SPECIES_TOGEPI
+ .2byte SPECIES_TOGETIC
+
+gUnknown_84525F6:: @ 84525F6
+ .2byte SPECIES_TREECKO
+ .2byte SPECIES_GROVYLE
+ .2byte SPECIES_SCEPTILE
+
+gUnknown_84525FC:: @ 84525FC
+ .2byte SPECIES_CELEBI
+
+gUnknown_84525FE:: @ 84525FE
+ .2byte SPECIES_GOLDEEN
+ .2byte SPECIES_SEAKING
+
+gUnknown_8452602:: @ 8452602
+ .2byte SPECIES_MAGIKARP
+ .2byte SPECIES_GYARADOS
+ .2byte SPECIES_KRABBY
+ .2byte SPECIES_KINGLER
+
+gUnknown_845260A:: @ 845260A
+ .2byte SPECIES_CORPHISH
+ .2byte SPECIES_CRAWDAUNT
+ .2byte SPECIES_BARBOACH
+ .2byte SPECIES_WHISCASH
+
+gUnknown_8452612:: @ 8452612
+ .2byte SPECIES_LOTAD
+ .2byte SPECIES_LOMBRE
+ .2byte SPECIES_LUDICOLO
+
+gUnknown_8452618:: @ 8452618
+ .2byte SPECIES_SURSKIT
+ .2byte SPECIES_MASQUERAIN
+
+gUnknown_845261C:: @ 845261C
+ .2byte SPECIES_PSYDUCK
+ .2byte SPECIES_GOLDUCK
+ .2byte SPECIES_WOOPER
+ .2byte SPECIES_QUAGSIRE
+
+gUnknown_8452624:: @ 8452624
+ .2byte SPECIES_POLIWAG
+ .2byte SPECIES_POLIWHIRL
+ .2byte SPECIES_POLIWRATH
+ .2byte SPECIES_POLITOED
+
+gUnknown_845262C:: @ 845262C
+ .2byte SPECIES_AZURILL
+ .2byte SPECIES_MARILL
+ .2byte SPECIES_AZUMARILL
+
+gUnknown_8452632:: @ 8452632
+ .2byte SPECIES_SLOWPOKE
+ .2byte SPECIES_SLOWBRO
+ .2byte SPECIES_SLOWKING
+
+gUnknown_8452638:: @ 8452638
+ .2byte SPECIES_FEEBAS
+ .2byte SPECIES_MILOTIC
+
+gUnknown_845263C:: @ 845263C
+ .2byte SPECIES_ANORITH
+ .2byte SPECIES_ARMALDO
+
+gUnknown_8452640:: @ 8452640
+ .2byte SPECIES_DRATINI
+ .2byte SPECIES_DRAGONAIR
+ .2byte SPECIES_DRAGONITE
+
+gUnknown_8452646:: @ 8452646
+ .2byte SPECIES_SQUIRTLE
+ .2byte SPECIES_WARTORTLE
+ .2byte SPECIES_BLASTOISE
+
+gUnknown_845264C:: @ 845264C
+ .2byte SPECIES_TOTODILE
+ .2byte SPECIES_CROCONAW
+ .2byte SPECIES_FERALIGATR
+
+gUnknown_8452652:: @ 8452652
+ .2byte SPECIES_MUDKIP
+ .2byte SPECIES_MARSHTOMP
+ .2byte SPECIES_SWAMPERT
+
+gUnknown_8452658:: @ 8452658
+ .2byte SPECIES_LATIAS
+ .2byte SPECIES_LATIOS
+
+gUnknown_845265C:: @ 845265C
+ .2byte SPECIES_TENTACOOL
+ .2byte SPECIES_TENTACRUEL
+
+gUnknown_8452660:: @ 8452660
+ .2byte SPECIES_WINGULL
+ .2byte SPECIES_PELIPPER
+
+gUnknown_8452664:: @ 8452664
+ .2byte SPECIES_STARYU
+ .2byte SPECIES_STARMIE
+
+gUnknown_8452668:: @ 8452668
+ .2byte SPECIES_CHINCHOU
+ .2byte SPECIES_LANTURN
+ .2byte SPECIES_REMORAID
+ .2byte SPECIES_OCTILLERY
+
+gUnknown_8452670:: @ 8452670
+ .2byte SPECIES_SHELLDER
+ .2byte SPECIES_CLOYSTER
+
+gUnknown_8452674:: @ 8452674
+ .2byte SPECIES_CLAMPERL
+ .2byte SPECIES_HUNTAIL
+ .2byte SPECIES_GOREBYSS
+
+gUnknown_845267A:: @ 845267A
+ .2byte SPECIES_QWILFISH
+ .2byte SPECIES_CORSOLA
+ .2byte SPECIES_MANTINE
+ .2byte SPECIES_LUVDISC
+
+gUnknown_8452682:: @ 8452682
+ .2byte SPECIES_SEEL
+ .2byte SPECIES_DEWGONG
+
+gUnknown_8452686:: @ 8452686
+ .2byte SPECIES_SPHEAL
+ .2byte SPECIES_SEALEO
+ .2byte SPECIES_WALREIN
+
+gUnknown_845268C:: @ 845268C
+ .2byte SPECIES_CARVANHA
+ .2byte SPECIES_SHARPEDO
+ .2byte SPECIES_WAILMER
+ .2byte SPECIES_WAILORD
+
+gUnknown_8452694:: @ 8452694
+ .2byte SPECIES_HORSEA
+ .2byte SPECIES_SEADRA
+ .2byte SPECIES_KINGDRA
+
+gUnknown_845269A:: @ 845269A
+ .2byte SPECIES_RELICANTH
+
+gUnknown_845269C:: @ 845269C
+ .2byte SPECIES_LAPRAS
+
+gUnknown_845269E:: @ 845269E
+ .2byte SPECIES_OMANYTE
+ .2byte SPECIES_OMASTAR
+ .2byte SPECIES_KABUTO
+ .2byte SPECIES_KABUTOPS
+
+gUnknown_84526A6:: @ 84526A6
+ .2byte SPECIES_LILEEP
+ .2byte SPECIES_CRADILY
+
+gUnknown_84526AA:: @ 84526AA
+ .2byte SPECIES_KYOGRE
+
+gUnknown_84526AC:: @ 84526AC
+ .2byte SPECIES_ZUBAT
+ .2byte SPECIES_GOLBAT
+ .2byte SPECIES_CROBAT
+
+gUnknown_84526B2:: @ 84526B2
+ .2byte SPECIES_DIGLETT
+ .2byte SPECIES_DUGTRIO
+ .2byte SPECIES_ONIX
+ .2byte SPECIES_STEELIX
+
+gUnknown_84526BA:: @ 84526BA
+ .2byte SPECIES_SWINUB
+ .2byte SPECIES_PILOSWINE
+ .2byte SPECIES_SNORUNT
+ .2byte SPECIES_GLALIE
+
+gUnknown_84526C2:: @ 84526C2
+ .2byte SPECIES_WHISMUR
+ .2byte SPECIES_LOUDRED
+ .2byte SPECIES_EXPLOUD
+
+gUnknown_84526C8:: @ 84526C8
+ .2byte SPECIES_MISDREAVUS
+ .2byte SPECIES_DUNSPARCE
+ .2byte SPECIES_NOSEPASS
+
+gUnknown_84526CE:: @ 84526CE
+ .2byte SPECIES_SABLEYE
+ .2byte SPECIES_MAWILE
+
+gUnknown_84526D2:: @ 84526D2
+ .2byte SPECIES_GASTLY
+ .2byte SPECIES_HAUNTER
+ .2byte SPECIES_GENGAR
+
+gUnknown_84526D8:: @ 84526D8
+ .2byte SPECIES_WYNAUT
+ .2byte SPECIES_WOBBUFFET
+
+gUnknown_84526DC:: @ 84526DC
+ .2byte SPECIES_LUNATONE
+ .2byte SPECIES_SOLROCK
+
+gUnknown_84526E0:: @ 84526E0
+ .2byte SPECIES_REGIROCK
+ .2byte SPECIES_REGICE
+ .2byte SPECIES_REGISTEEL
+
+gUnknown_84526E6:: @ 84526E6
+ .2byte SPECIES_GEODUDE
+ .2byte SPECIES_GRAVELER
+ .2byte SPECIES_GOLEM
+
+gUnknown_84526EC:: @ 84526EC
+ .2byte SPECIES_MANKEY
+ .2byte SPECIES_PRIMEAPE
+ .2byte SPECIES_SPOINK
+ .2byte SPECIES_GRUMPIG
+
+gUnknown_84526F4:: @ 84526F4
+ .2byte SPECIES_MACHOP
+ .2byte SPECIES_MACHOKE
+ .2byte SPECIES_MACHAMP
+
+gUnknown_84526FA:: @ 84526FA
+ .2byte SPECIES_CLEFFA
+ .2byte SPECIES_CLEFAIRY
+ .2byte SPECIES_CLEFABLE
+
+gUnknown_8452700:: @ 8452700
+ .2byte SPECIES_CUBONE
+ .2byte SPECIES_MAROWAK
+
+gUnknown_8452704:: @ 8452704
+ .2byte SPECIES_SLUGMA
+ .2byte SPECIES_MAGCARGO
+ .2byte SPECIES_NUMEL
+ .2byte SPECIES_CAMERUPT
+
+gUnknown_845270C:: @ 845270C
+ .2byte SPECIES_MAKUHITA
+ .2byte SPECIES_HARIYAMA
+ .2byte SPECIES_MEDITITE
+ .2byte SPECIES_MEDICHAM
+
+gUnknown_8452714:: @ 8452714
+ .2byte SPECIES_SHUCKLE
+ .2byte SPECIES_TEDDIURSA
+ .2byte SPECIES_URSARING
+ .2byte SPECIES_DELIBIRD
+
+gUnknown_845271C:: @ 845271C
+ .2byte SPECIES_GLIGAR
+ .2byte SPECIES_SPINDA
+
+gUnknown_8452720:: @ 8452720
+ .2byte SPECIES_MAGBY
+ .2byte SPECIES_MAGMAR
+ .2byte SPECIES_TORKOAL
+
+gUnknown_8452726:: @ 8452726
+ .2byte SPECIES_ARON
+ .2byte SPECIES_LAIRON
+ .2byte SPECIES_AGGRON
+
+gUnknown_845272C:: @ 845272C
+ .2byte SPECIES_LARVITAR
+ .2byte SPECIES_PUPITAR
+ .2byte SPECIES_TYRANITAR
+
+gUnknown_8452732:: @ 8452732
+ .2byte SPECIES_SNORLAX
+
+gUnknown_8452734:: @ 8452734
+ .2byte SPECIES_ABSOL
+
+gUnknown_8452736:: @ 8452736
+ .2byte SPECIES_AERODACTYL
+
+gUnknown_8452738:: @ 8452738
+ .2byte SPECIES_CHARMANDER
+ .2byte SPECIES_CHARMELEON
+ .2byte SPECIES_CHARIZARD
+
+gUnknown_845273E:: @ 845273E
+ .2byte SPECIES_JIRACHI
+
+gUnknown_8452740:: @ 8452740
+ .2byte SPECIES_SPEAROW
+ .2byte SPECIES_FEAROW
+
+gUnknown_8452744:: @ 8452744
+ .2byte SPECIES_SANDSHREW
+ .2byte SPECIES_SANDSLASH
+ .2byte SPECIES_RHYHORN
+ .2byte SPECIES_RHYDON
+
+gUnknown_845274C:: @ 845274C
+ .2byte SPECIES_MAGNEMITE
+ .2byte SPECIES_MAGNETON
+
+gUnknown_8452750:: @ 8452750
+ .2byte SPECIES_HOUNDOUR
+ .2byte SPECIES_HOUNDOOM
+ .2byte SPECIES_PHANPY
+ .2byte SPECIES_DONPHAN
+
+gUnknown_8452758:: @ 8452758
+ .2byte SPECIES_CACNEA
+ .2byte SPECIES_CACTURNE
+
+gUnknown_845275C:: @ 845275C
+ .2byte SPECIES_TRAPINCH
+ .2byte SPECIES_VIBRAVA
+ .2byte SPECIES_FLYGON
+
+gUnknown_8452762:: @ 8452762
+ .2byte SPECIES_SKARMORY
-gUnknown_8451ECC:: @ 8451ECC
- .incbin "baserom.gba", 0x451ECC, 0x18
+gUnknown_8452764:: @ 8452764
+ .2byte SPECIES_BALTOY
+ .2byte SPECIES_CLAYDOL
-gUnknown_8451EE4:: @ 8451EE4
- .incbin "baserom.gba", 0x451EE4, 0x70
+gUnknown_8452768:: @ 8452768
+ .2byte SPECIES_BAGON
+ .2byte SPECIES_SHELGON
+ .2byte SPECIES_SALAMENCE
-gUnknown_8451F54:: @ 8451F54
- .incbin "baserom.gba", 0x451F54, 0x8
+gUnknown_845276E:: @ 845276E
+ .2byte SPECIES_BELDUM
+ .2byte SPECIES_METANG
+ .2byte SPECIES_METAGROSS
-gUnknown_8451F5C:: @ 8451F5C
- .incbin "baserom.gba", 0x451F5C, 0x8
+gUnknown_8452774:: @ 8452774
+ .2byte SPECIES_GROUDON
-gUnknown_8451F64:: @ 8451F64
- .incbin "baserom.gba", 0x451F64, 0xA0
+gUnknown_8452776:: @ 8452776
+ .2byte SPECIES_MEOWTH
+ .2byte SPECIES_PERSIAN
+ .2byte SPECIES_SNUBBULL
+ .2byte SPECIES_GRANBULL
-gUnknown_8452004:: @ 8452004
- .incbin "baserom.gba", 0x452004, 0xB8
+gUnknown_845277E:: @ 845277E
+ .2byte SPECIES_GRIMER
+ .2byte SPECIES_MUK
+ .2byte SPECIES_KOFFING
+ .2byte SPECIES_WEEZING
-gUnknown_84520BC:: @ 84520BC
- .incbin "baserom.gba", 0x4520BC, 0x18
+gUnknown_8452786:: @ 8452786
+ .2byte SPECIES_SHUPPET
+ .2byte SPECIES_BANETTE
-gUnknown_84520D4:: @ 84520D4
- .incbin "baserom.gba", 0x4520D4, 0x10
+gUnknown_845278A:: @ 845278A
+ .2byte SPECIES_ABRA
+ .2byte SPECIES_KADABRA
+ .2byte SPECIES_ALAKAZAM
-gUnknown_84520E4:: @ 84520E4
- .incbin "baserom.gba", 0x4520E4, 0x10
+gUnknown_8452790:: @ 8452790
+ .2byte SPECIES_RALTS
+ .2byte SPECIES_KIRLIA
+ .2byte SPECIES_GARDEVOIR
-gUnknown_84520F4:: @ 84520F4
- .incbin "baserom.gba", 0x4520F4, 0x78
+gUnknown_8452796:: @ 8452796
+ .2byte SPECIES_SMOOCHUM
+ .2byte SPECIES_JYNX
+ .2byte SPECIES_MR_MIME
+ .2byte SPECIES_SMEARGLE
-gUnknown_845216C:: @ 845216C
- .incbin "baserom.gba", 0x45216C, 0x8
+gUnknown_845279E:: @ 845279E
+ .2byte SPECIES_TYROGUE
+ .2byte SPECIES_HITMONLEE
+ .2byte SPECIES_HITMONCHAN
+ .2byte SPECIES_HITMONTOP
-gUnknown_8452174:: @ 8452174
- .incbin "baserom.gba", 0x452174, 0x18
+gUnknown_84527A6:: @ 84527A6
+ .2byte SPECIES_CHANSEY
+ .2byte SPECIES_BLISSEY
-gUnknown_845218C:: @ 845218C
- .incbin "baserom.gba", 0x45218C, 0x28
+gUnknown_84527AA:: @ 84527AA
+ .2byte SPECIES_VOLTORB
+ .2byte SPECIES_ELECTRODE
+ .2byte SPECIES_PORYGON
+ .2byte SPECIES_PORYGON2
-gUnknown_84521B4:: @ 84521B4
- .incbin "baserom.gba", 0x4521B4, 0x10
+gUnknown_84527B2:: @ 84527B2
+ .2byte SPECIES_DITTO
-gUnknown_84521C4:: @ 84521C4
- .incbin "baserom.gba", 0x4521C4, 0x8
+gUnknown_84527B4:: @ 84527B4
+ .2byte SPECIES_EEVEE
+ .2byte SPECIES_VAPOREON
+ .2byte SPECIES_JOLTEON
+ .2byte SPECIES_FLAREON
-gUnknown_84521CC:: @ 84521CC
- .incbin "baserom.gba", 0x4521CC, 0x8
+gUnknown_84527BC:: @ 84527BC
+ .2byte SPECIES_ESPEON
+ .2byte SPECIES_UMBREON
-gUnknown_84521D4:: @ 84521D4
- .incbin "baserom.gba", 0x4521D4, 0x8
+gUnknown_84527C0:: @ 84527C0
+ .2byte SPECIES_UNOWN
-gUnknown_84521DC:: @ 84521DC
- .incbin "baserom.gba", 0x4521DC, 0x8
+gUnknown_84527C2:: @ 84527C2
+ .2byte SPECIES_ARTICUNO
+ .2byte SPECIES_ZAPDOS
+ .2byte SPECIES_MOLTRES
-gUnknown_84521E4:: @ 84521E4
- .incbin "baserom.gba", 0x4521E4, 0x8
+gUnknown_84527C8:: @ 84527C8
+ .2byte SPECIES_LUGIA
-gUnknown_84521EC:: @ 84521EC
- .incbin "baserom.gba", 0x4521EC, 0x8
+gUnknown_84527CA:: @ 84527CA
+ .2byte SPECIES_HO_OH
-gUnknown_84521F4:: @ 84521F4
- .incbin "baserom.gba", 0x4521F4, 0x8
+gUnknown_84527CC:: @ 84527CC
+ .2byte SPECIES_RAYQUAZA
-gUnknown_84521FC:: @ 84521FC
- .incbin "baserom.gba", 0x4521FC, 0x8
+gUnknown_84527CE:: @ 84527CE
+ .2byte SPECIES_DEOXYS
-gUnknown_8452204:: @ 8452204
- .incbin "baserom.gba", 0x452204, 0x8
+gUnknown_84527D0:: @ 84527D0
+ .2byte SPECIES_MEWTWO
-gUnknown_845220C:: @ 845220C
- .incbin "baserom.gba", 0x45220C, 0x8
+gUnknown_84527D2:: @ 84527D2
+ .2byte SPECIES_MEW
-gUnknown_8452214:: @ 8452214
- .incbin "baserom.gba", 0x452214, 0x40
+gUnknown_84527D4::
+ .4byte gUnknown_84524D0, 4
+ .4byte gUnknown_84524D8, 4
+ .4byte gUnknown_84524E0, 3
+ .4byte gUnknown_84524E6, 3
+ .4byte gUnknown_84524EC, 4
+ .4byte gUnknown_84524F4, 4
+ .4byte gUnknown_84524FC, 3
+ .4byte gUnknown_8452502, 4
+ .4byte gUnknown_845250A, 2
+ .4byte gUnknown_845250E, 3
+ .4byte gUnknown_8452514, 3
+ .4byte gUnknown_845251A, 2
+ .4byte gUnknown_845251E, 2
+ .4byte gUnknown_8452522, 4
+ .4byte gUnknown_845252A, 2
+ .4byte gUnknown_845252E, 2
+ .4byte gUnknown_8452532, 4
+ .4byte gUnknown_845253A, 4
+ .4byte gUnknown_8452542, 2
+ .4byte gUnknown_8452546, 2
+ .4byte gUnknown_845254A, 2
+ .4byte gUnknown_845254E, 2
+ .4byte gUnknown_8452552, 3
+ .4byte gUnknown_8452558, 3
+ .4byte gUnknown_845255E, 3
+ .4byte gUnknown_8452564, 3
+ .4byte gUnknown_845256A, 3
-gUnknown_8452254:: @ 8452254
- .incbin "baserom.gba", 0x452254, 0x38
+gUnknown_84528AC::
+ .4byte gUnknown_8452570, 3
+ .4byte gUnknown_8452576, 3
+ .4byte gUnknown_845257C, 3
+ .4byte gUnknown_8452582, 2
+ .4byte gUnknown_8452586, 3
+ .4byte gUnknown_845258C, 4
+ .4byte gUnknown_8452594, 3
+ .4byte gUnknown_845259A, 3
+ .4byte gUnknown_84525A0, 4
+ .4byte gUnknown_84525A8, 3
+ .4byte gUnknown_84525AE, 3
+ .4byte gUnknown_84525B4, 4
+ .4byte gUnknown_84525BC, 3
+ .4byte gUnknown_84525C2, 2
+ .4byte gUnknown_84525C6, 2
+ .4byte gUnknown_84525CA, 3
+ .4byte gUnknown_84525D0, 2
+ .4byte gUnknown_84525D4, 2
+ .4byte gUnknown_84525D8, 3
+ .4byte gUnknown_84525DE, 3
+ .4byte gUnknown_84525E4, 2
+ .4byte gUnknown_84525E8, 3
+ .4byte gUnknown_84525EE, 2
+ .4byte gUnknown_84525F2, 2
+ .4byte gUnknown_84525F6, 3
+ .4byte gUnknown_84525FC, 1
-gUnknown_845228C:: @ 845228C
- .incbin "baserom.gba", 0x45228C, 0xA8
+gUnknown_845297C::
+ .4byte gUnknown_84525FE, 2
+ .4byte gUnknown_8452602, 4
+ .4byte gUnknown_845260A, 4
+ .4byte gUnknown_8452612, 3
+ .4byte gUnknown_8452618, 2
+ .4byte gUnknown_845261C, 4
+ .4byte gUnknown_8452624, 4
+ .4byte gUnknown_845262C, 3
+ .4byte gUnknown_8452632, 3
+ .4byte gUnknown_8452638, 2
+ .4byte gUnknown_845263C, 2
+ .4byte gUnknown_8452640, 3
+ .4byte gUnknown_8452646, 3
+ .4byte gUnknown_845264C, 3
+ .4byte gUnknown_8452652, 3
+ .4byte gUnknown_8452658, 2
-gUnknown_8452334:: @ 8452334
- .incbin "baserom.gba", 0x452334, 0x10
+gUnknown_84529FC::
+ .4byte gUnknown_845265C, 2
+ .4byte gUnknown_8452660, 2
+ .4byte gUnknown_8452664, 2
+ .4byte gUnknown_8452668, 4
+ .4byte gUnknown_8452670, 2
+ .4byte gUnknown_8452674, 3
+ .4byte gUnknown_845267A, 4
+ .4byte gUnknown_8452682, 2
+ .4byte gUnknown_8452686, 3
+ .4byte gUnknown_845268C, 4
+ .4byte gUnknown_8452694, 3
+ .4byte gUnknown_845269A, 1
+ .4byte gUnknown_845269C, 1
+ .4byte gUnknown_845269E, 4
+ .4byte gUnknown_84526A6, 2
+ .4byte gUnknown_84526AA, 1
-gUnknown_8452344:: @ 8452344
- .incbin "baserom.gba", 0x452344, 0x24
+gUnknown_8452A7C::
+ .4byte gUnknown_84526AC, 3
+ .4byte gUnknown_84526B2, 4
+ .4byte gUnknown_84526BA, 4
+ .4byte gUnknown_84526C2, 3
+ .4byte gUnknown_84526C8, 3
+ .4byte gUnknown_84526CE, 2
+ .4byte gUnknown_84526D2, 3
+ .4byte gUnknown_84526D8, 2
+ .4byte gUnknown_84526DC, 2
+ .4byte gUnknown_84526E0, 3
-gUnknown_8452368:: @ 8452368
- .incbin "baserom.gba", 0x452368, 0x20
+gUnknown_8452ACC::
+ .4byte gUnknown_84526E6, 3
+ .4byte gUnknown_84526EC, 4
+ .4byte gUnknown_84526F4, 3
+ .4byte gUnknown_84526FA, 3
+ .4byte gUnknown_8452700, 2
+ .4byte gUnknown_8452704, 4
+ .4byte gUnknown_845270C, 4
+ .4byte gUnknown_8452714, 4
+ .4byte gUnknown_845271C, 2
+ .4byte gUnknown_8452720, 3
+ .4byte gUnknown_8452726, 3
+ .4byte gUnknown_845272C, 3
+ .4byte gUnknown_8452732, 1
+ .4byte gUnknown_8452734, 1
+ .4byte gUnknown_8452736, 1
+ .4byte gUnknown_8452738, 3
+ .4byte gUnknown_845273E, 1
-gUnknown_8452388:: @ 8452388
- .incbin "baserom.gba", 0x452388, 0x12C
+gUnknown_8452B54::
+ .4byte gUnknown_8452740, 2
+ .4byte gUnknown_8452744, 4
+ .4byte gUnknown_845274C, 2
+ .4byte gUnknown_8452750, 4
+ .4byte gUnknown_8452758, 2
+ .4byte gUnknown_845275C, 3
+ .4byte gUnknown_8452762, 1
+ .4byte gUnknown_8452764, 2
+ .4byte gUnknown_8452768, 3
+ .4byte gUnknown_845276E, 3
+ .4byte gUnknown_8452774, 1
-gUnknown_84524B4:: @ 84524B4
- .incbin "baserom.gba", 0x4524B4, 0x10
+gUnknown_8452BAC::
+ .4byte gUnknown_8452776, 4
+ .4byte gUnknown_845277E, 4
+ .4byte gUnknown_8452786, 2
+ .4byte gUnknown_845278A, 3
+ .4byte gUnknown_8452790, 3
+ .4byte gUnknown_8452796, 4
+ .4byte gUnknown_845279E, 4
+ .4byte gUnknown_84527A6, 2
+ .4byte gUnknown_84527AA, 4
+ .4byte gUnknown_84527B2, 1
+ .4byte gUnknown_84527B4, 4
+ .4byte gUnknown_84527BC, 2
-gUnknown_84524C4:: @ 84524C4
- .incbin "baserom.gba", 0x4524C4, 0x788
+gUnknown_8452C0C::
+ .4byte gUnknown_84527C0, 1
+ .4byte gUnknown_84527C2, 3
+ .4byte gUnknown_84527C8, 1
+ .4byte gUnknown_84527CA, 1
+ .4byte gUnknown_84527CC, 1
+ .4byte gUnknown_84527CE, 1
+ .4byte gUnknown_84527D0, 1
+ .4byte gUnknown_84527D2, 1
-gUnknown_8452C4C:: @ 8452C4C
- .incbin "baserom.gba", 0x452C4C, 0x48
+gUnknown_8452C4C:: @ 8452C4C struct { dataptr; data8; }
+ .4byte gUnknown_84527D4, 27
+ .4byte gUnknown_84528AC, 26
+ .4byte gUnknown_845297C, 16
+ .4byte gUnknown_84529FC, 16
+ .4byte gUnknown_8452A7C, 10
+ .4byte gUnknown_8452ACC, 17
+ .4byte gUnknown_8452B54, 11
+ .4byte gUnknown_8452BAC, 12
+ .4byte gUnknown_8452C0C, 8
diff --git a/graphics/pokedex/unk_8440124.bin b/graphics/pokedex/unk_8440124.bin
new file mode 100644
index 000000000..e580bbd60
--- /dev/null
+++ b/graphics/pokedex/unk_8440124.bin
@@ -0,0 +1 @@
+€"""(UUURUUURUUURUUURUUURUUURUUU""""UUUUUUUUUUUUUUUUUUUUUUUUUUUU""""UUUUUUUUUUUUUUUUUUUUUUUUUUUU""""UUUUUUUUUUUUUUUUUUUUUUUUUUUU""""UUUUUUUUUUUUUUUUUUUUUUUUUUUU""""UUUUUUUUUUUUUUUUUUUUUUUUUUUU""""UUUUUUUUUUUUUUUUUUUUUUUUUUUU"""UUU‚UUU%UUU%UUU%UUU%UUU%UUU%RUUURUUURUUURUUURUUURUUURUUURUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU%UUU%UUU%UUU%UUU%UUU%UUU%UUU%RUUURUUURUUURUUURUUURUUURUUURUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU%UUU%UUU%UUU%UUU%UUU%UUU%UUU%RUUURUUUbfffbfff""""23332cbb2#""UUUUUUUUffffffff""""3333bf2c""2#UUUUUUUUffffffff""""3333bbbb""""UUUUUUUUffffffff""""3333bbbb""""UUUUUUUUffffffff""""33332cbb2#""UUUUUUUUffffffff""""3333bbbb""""UUUUUUUUffffffff""""33332cbb2#""UUU%UUU%fff&fff&""""333#bf2#""2#23cf23#"2cfb2#""2cbf2#""(333€"""2c&f2#""fbbb""""fbbf""""3333""""bbfb""""&f2c""2#2cb&2#""3333""""b2cf"2#"&fb&""""ffbb""""3333""""bbbb""""ffbf""""b&3b""3"3333""""&3fb"3""bbb2"""2bfbb""""3333""""bbbf""""cfbb#"""fb2c""2#3333""""bb2#""2#233#233#ff2#""2#333‚""" \ No newline at end of file
diff --git a/graphics/pokedex/unk_8440274.png b/graphics/pokedex/unk_8440274.png
new file mode 100644
index 000000000..2c10a0d7a
--- /dev/null
+++ b/graphics/pokedex/unk_8440274.png
Binary files differ
diff --git a/graphics/pokedex/unk_84403AC.png b/graphics/pokedex/unk_84403AC.png
new file mode 100644
index 000000000..bf8ddd470
--- /dev/null
+++ b/graphics/pokedex/unk_84403AC.png
Binary files differ
diff --git a/graphics/pokedex/unk_84404C8.pal b/graphics/pokedex/unk_84404C8.pal
new file mode 100644
index 000000000..b719d111f
--- /dev/null
+++ b/graphics/pokedex/unk_84404C8.pal
@@ -0,0 +1,259 @@
+JASC-PAL
+0100
+256
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+246 246 238
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+255 246 238
+238 238 230
+213 213 213
+156 156 156
+255 255 0
+205 65 57
+255 139 57
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+246 246 238
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 0
+205 65 57
+255 139 57
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+246 246 238
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 0
+205 65 57
+255 139 57
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+246 246 238
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 0
+205 65 57
+255 139 57
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+246 246 238
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 0
+205 65 57
+255 139 57
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+246 246 238
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+255 246 238
+238 238 230
+213 213 213
+156 156 156
+255 255 0
+205 65 57
+255 139 57
+255 255 255
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+197 180 139
diff --git a/graphics/pokedex/unk_84406E0.pal b/graphics/pokedex/unk_84406E0.pal
new file mode 100644
index 000000000..0d68b4233
--- /dev/null
+++ b/graphics/pokedex/unk_84406E0.pal
@@ -0,0 +1,259 @@
+JASC-PAL
+0100
+256
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+238 246 246
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+255 246 238
+238 238 230
+213 213 213
+156 156 156
+255 255 0
+205 65 57
+255 139 57
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+238 246 246
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 0
+205 65 57
+255 139 57
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+238 246 246
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 0
+205 65 57
+255 139 57
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+238 246 246
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 0
+205 65 57
+255 139 57
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+238 246 246
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 0
+205 65 57
+255 139 57
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+156 156 189
+0 0 0
+197 180 139
+230 222 197
+238 246 246
+255 255 255
+123 98 57
+164 148 98
+213 197 164
+255 246 238
+238 238 230
+213 213 213
+156 156 156
+255 255 0
+205 65 57
+255 139 57
+255 255 255
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+172 197 24
diff --git a/graphics/pokedex/unk_84408E0.bin b/graphics/pokedex/unk_84408E0.bin
new file mode 100644
index 000000000..241ffd668
--- /dev/null
+++ b/graphics/pokedex/unk_84408E0.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8440BD8.bin b/graphics/pokedex/unk_8440BD8.bin
new file mode 100644
index 000000000..2c83ce78b
--- /dev/null
+++ b/graphics/pokedex/unk_8440BD8.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8440EF0.bin b/graphics/pokedex/unk_8440EF0.bin
new file mode 100644
index 000000000..4f2f027f4
--- /dev/null
+++ b/graphics/pokedex/unk_8440EF0.bin
Binary files differ
diff --git a/graphics/pokedex/unk_844112C.bin b/graphics/pokedex/unk_844112C.bin
new file mode 100644
index 000000000..e5170a90f
--- /dev/null
+++ b/graphics/pokedex/unk_844112C.bin
Binary files differ
diff --git a/graphics/pokedex/unk_84414BC.bin b/graphics/pokedex/unk_84414BC.bin
new file mode 100644
index 000000000..a65f6e249
--- /dev/null
+++ b/graphics/pokedex/unk_84414BC.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8441808.bin b/graphics/pokedex/unk_8441808.bin
new file mode 100644
index 000000000..1f5b583fe
--- /dev/null
+++ b/graphics/pokedex/unk_8441808.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8441A40.bin b/graphics/pokedex/unk_8441A40.bin
new file mode 100644
index 000000000..40a7fdafb
--- /dev/null
+++ b/graphics/pokedex/unk_8441A40.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8441D54.bin b/graphics/pokedex/unk_8441D54.bin
new file mode 100644
index 000000000..ab55851e0
--- /dev/null
+++ b/graphics/pokedex/unk_8441D54.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8442004.bin b/graphics/pokedex/unk_8442004.bin
new file mode 100644
index 000000000..c80cf7e53
--- /dev/null
+++ b/graphics/pokedex/unk_8442004.bin
Binary files differ
diff --git a/graphics/pokedex/unk_844223C.bin b/graphics/pokedex/unk_844223C.bin
new file mode 100644
index 000000000..cdd48c1c2
--- /dev/null
+++ b/graphics/pokedex/unk_844223C.bin
Binary files differ
diff --git a/graphics/pokedex/unk_84424E4.bin b/graphics/pokedex/unk_84424E4.bin
new file mode 100644
index 000000000..9be6edfa9
--- /dev/null
+++ b/graphics/pokedex/unk_84424E4.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8442838.bin b/graphics/pokedex/unk_8442838.bin
new file mode 100644
index 000000000..273e7b8d9
--- /dev/null
+++ b/graphics/pokedex/unk_8442838.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8442BC0.bin b/graphics/pokedex/unk_8442BC0.bin
new file mode 100644
index 000000000..129e3a150
--- /dev/null
+++ b/graphics/pokedex/unk_8442BC0.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8442EF8.bin b/graphics/pokedex/unk_8442EF8.bin
new file mode 100644
index 000000000..078a91253
--- /dev/null
+++ b/graphics/pokedex/unk_8442EF8.bin
Binary files differ
diff --git a/graphics/pokedex/unk_844318C.bin b/graphics/pokedex/unk_844318C.bin
new file mode 100644
index 000000000..dfd328ff4
--- /dev/null
+++ b/graphics/pokedex/unk_844318C.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8443420.pal b/graphics/pokedex/unk_8443420.pal
new file mode 100644
index 000000000..dafe89dc5
--- /dev/null
+++ b/graphics/pokedex/unk_8443420.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+213 197 131
+189 172 115
+164 139 98
+131 115 57
+213 222 131
+255 0 255
+98 106 82
+156 164 106
+189 197 131
+255 0 255
+49 49 65
diff --git a/graphics/pokedex/unk_8443440.pal b/graphics/pokedex/unk_8443440.pal
new file mode 100644
index 000000000..da1552f42
--- /dev/null
+++ b/graphics/pokedex/unk_8443440.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+164 213 255
+205 57 0
+131 0 0
+164 32 0
+0 0 0
+222 213 222
+180 172 197
+139 131 156
+148 197 74
+106 148 41
+255 0 255
+49 49 65
diff --git a/graphics/pokedex/unk_8443460.pal b/graphics/pokedex/unk_8443460.pal
new file mode 100644
index 000000000..7dcf59f9f
--- /dev/null
+++ b/graphics/pokedex/unk_8443460.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+230 230 230
+197 197 197
+213 213 213
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 255 255
+180 189 189
diff --git a/graphics/pokedex/unk_8443480.pal b/graphics/pokedex/unk_8443480.pal
new file mode 100644
index 000000000..9e5b9cb32
--- /dev/null
+++ b/graphics/pokedex/unk_8443480.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+189 230 189
+139 205 189
+106 172 156
+74 148 123
+156 205 131
+230 222 246
+205 197 213
+222 205 131
+180 164 106
+131 180 98
+255 0 255
diff --git a/graphics/pokedex/unk_84434A0.pal b/graphics/pokedex/unk_84434A0.pal
new file mode 100644
index 000000000..3489c1419
--- /dev/null
+++ b/graphics/pokedex/unk_84434A0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+106 189 90
+82 164 0
+106 180 32
+139 205 65
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+164 213 255
diff --git a/graphics/pokedex/unk_84434C0.pal b/graphics/pokedex/unk_84434C0.pal
new file mode 100644
index 000000000..7b26a5953
--- /dev/null
+++ b/graphics/pokedex/unk_84434C0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+213 230 238
+189 189 255
+197 205 246
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 255 255
+180 189 189
diff --git a/graphics/pokedex/unk_84434E0.pal b/graphics/pokedex/unk_84434E0.pal
new file mode 100644
index 000000000..d9ece60ca
--- /dev/null
+++ b/graphics/pokedex/unk_84434E0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+189 197 164
+205 213 189
+172 180 148
+156 164 115
+230 255 255
+213 205 222
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+172 222 255
diff --git a/graphics/pokedex/unk_8443500.pal b/graphics/pokedex/unk_8443500.pal
new file mode 100644
index 000000000..d29a097bd
--- /dev/null
+++ b/graphics/pokedex/unk_8443500.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+205 123 255
+230 156 90
+230 156 90
+213 123 74
+205 213 255
+255 0 255
+255 0 255
+255 0 255
+255 255 156
+172 90 222
+49 49 65
diff --git a/graphics/pokedex/unk_8443520.pal b/graphics/pokedex/unk_8443520.pal
new file mode 100644
index 000000000..410381ae7
--- /dev/null
+++ b/graphics/pokedex/unk_8443520.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+148 164 246
+123 148 238
+106 139 238
+82 123 230
+65 115 230
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+164 213 255
diff --git a/graphics/pokedex/unk_8443540.pal b/graphics/pokedex/unk_8443540.pal
new file mode 100644
index 000000000..11d626318
--- /dev/null
+++ b/graphics/pokedex/unk_8443540.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+139 222 156
+172 246 180
+197 255 255
+213 255 255
+230 255 255
+255 255 255
+255 0 255
+255 0 255
+255 0 255
+156 230 164
+255 0 255
diff --git a/graphics/pokedex/unk_8443560.pal b/graphics/pokedex/unk_8443560.pal
new file mode 100644
index 000000000..4806fd1d3
--- /dev/null
+++ b/graphics/pokedex/unk_8443560.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+246 246 238
+205 230 106
+180 189 65
+238 246 238
+246 238 180
+230 222 164
+213 205 148
+238 246 205
+238 238 197
+197 213 90
+164 213 255
diff --git a/graphics/pokedex/unk_8443580.pal b/graphics/pokedex/unk_8443580.pal
new file mode 100644
index 000000000..fb1c6bb13
--- /dev/null
+++ b/graphics/pokedex/unk_8443580.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+255 0 255
+172 222 255
+156 222 238
+230 213 131
+180 230 156
+98 205 148
+197 246 172
+148 205 123
+82 180 131
+205 180 98
+164 213 139
+90 197 238
diff --git a/graphics/pokedex/unk_84435A0.pal b/graphics/pokedex/unk_84435A0.pal
new file mode 100644
index 000000000..e861ffe2b
--- /dev/null
+++ b/graphics/pokedex/unk_84435A0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+164 205 255
+197 230 246
+255 255 255
+172 222 230
+222 255 255
+222 246 255
+238 255 255
+205 238 246
+255 0 255
+255 0 255
+230 172 82
diff --git a/graphics/pokedex/unk_84435C0.pal b/graphics/pokedex/unk_84435C0.pal
new file mode 100644
index 000000000..73150308f
--- /dev/null
+++ b/graphics/pokedex/unk_84435C0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+189 148 255
+222 189 255
+255 255 255
+255 222 172
+238 238 238
+255 238 197
+222 197 246
+230 213 255
+164 131 238
+255 255 172
+230 172 82
diff --git a/graphics/pokedex/unk_84435E0.pal b/graphics/pokedex/unk_84435E0.pal
new file mode 100644
index 000000000..eda15bfad
--- /dev/null
+++ b/graphics/pokedex/unk_84435E0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 238 255
+255 255 255
+213 238 255
+197 230 255
+189 189 255
+246 230 90
+255 246 164
+255 255 238
+148 205 246
+238 230 197
+197 230 255
+255 213 82
+230 213 255
+246 189 82
+255 255 172
+0 0 0
diff --git a/graphics/pokedex/unk_8443600.png b/graphics/pokedex/unk_8443600.png
new file mode 100644
index 000000000..74f43ec80
--- /dev/null
+++ b/graphics/pokedex/unk_8443600.png
Binary files differ
diff --git a/graphics/pokedex/unk_8443620.bin b/graphics/pokedex/unk_8443620.bin
new file mode 100644
index 000000000..0a3eecc74
--- /dev/null
+++ b/graphics/pokedex/unk_8443620.bin
@@ -0,0 +1 @@
+UUUUU#""5bff%fff%fff%fff%fff%fffUUUU""""ffffffffff33ffS5ffS5ffS5UUUU""""ffffffffffffffffffffffffUUUU""""ffffffffffffffffffffffffUUUU""""ffffffffffffffffffffffffUUUU""""ffffffffffffffffffffffffUUUU""""ffffffffffffffffffffffffUUUU""""fffffffffff3fffSfffSfffSUUUU""""ffffffff3333UUUUUUUU5333UUUU""""ffffffff3333UUUUUUUU3333UUUU""""fffwfffw33cwUUcwUUcw33cwUUUU""2Uww'SwwwRwwwRwwwRwwwRwwwR%fff%fff%fff%fff%fff%fff%fff%fffffS5ffS5ffS5ffS5ffS5ffS5ffS5ffS5fffffffffffffffffff3fffSfffSfffSffffffffffffffff333fUU5fUU53UUUUffffffffffffffffffffffff3333UUUUffffffffffffffffffffffff3333UUUUffffffffffffffffffffffff3333UUUUfffSfffSfffSfffSff3SffSU33SUUUUU5fff5fff5fff5fff53ffU5ffU533UUUUffffffffffffffffffffffff3333UUUUfffwfffwfffwfffwfffwfffw33fwU5fwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%fff%fff%fff%fff%fff%fff%fff%fffffS5ffS5ffS5ffS5ffS5ffS5ffS5ffS5fffSfffSfffSfff3ffffffffffffffffUUUUUU53UU5fS53fS5ffS5ffS5ffS5ffUUUU3333ffffffffffffffffffffffffUUUU3333ffffffffffffffffffffffffUUUU3333ffffffffffffffffffffffffUUUU33SUffSUff3SfffSfffSfffSfffSUUUUU533U5ff53ff5fff5fff5fff5fffUUUU3333ffffffffffffffffffffffffU5fwS5fwS5fwS5fwS5fwS5fvS5fvS5fvwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%fff%fff%fff%fff%fff%fff%fff%fffffS5ffS5ffS5ffS5ffS5ffS5ffS5ffSUfffffffffffffffffff3fffS333SUUUUS5ffS5ffS5ffS5ffS53fUU5fUU5fUU5fffffffffff33ffSUffSUffS5ffS5ffS5ff33ffSU33SUUUUUUUUU33SUffSUff3333ffU5ffU533UUUUUUUUU533U5ff33ffff3SffSU33SUUUUUUUUU33SUffSUff3S53ffU5ffU533UUUUUUUUU533U5ff53ffffffffff3333UUUUUUUU3333ffffffffS5fvS5fvS5fvU5fvU5ffS5ffS5ffS5ffwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%fff%fff%fff%fff%fff%fff%fff%fffffSUff33ffffffffffffffffffffffffUUUU333SfffSfff3ffffffffffffffffUU5fUU5fUU5fS53fS5ffS5ffS5fvS5fvffS5ffS5ffS5fvS5vwS5wwS5wwS5wwS5fffffvwwwwwwwwwwwwwwwwwwwwwwwwwwffffwwffwwwwwwwwwwwwwwwwwwwwwwwwfffSfffSfffSwgfSww3SwwSUwwSUwwSU5fff5fff5fff5fff53ffU5ffU533UUUUffffffffffffffffffffffff3333UUUUS5ffS5ffS5ffS5ffS5ffS5ffS5fwU5wwwwwRvwwRvwwRvwwRwwwRwwwRwwwRwwwR%fff%fff%fff%fff%fff%fff%fff%fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffS5fwS5fwS5fwS5fvS5fvS5fvS5fvS5ffwwS5wwS5wwS5wwS5wwS5wwS5wwS5wwS5wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwgwwwwwwwwwwwwwwwwwwwwwwwgwgffffffwwSUwwSUwwSUwg33gfffffffffffffffUUUUU533U5ff33ffffffffffffffffffUUUU3333fffffffvfffwffvwffwwfvwwU5wwS5wwS5wwS5wwS5wwS5wwS5wwS5wwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%fff%fff%fff%ffv%fvw%fww%vww%wwwfffvffwwvwwwwwwwwwwwwwwwwwwwwwwwwgffwwffwwffwwgfwwgfwwwwwwwwwwwwS5ffS5ffS5ffS5ffS5ffS5wwS5wwS5wwwwS5wwS5vwS5vwS5vwS5wwS5wwS5wwSUwwwgwwwfwwwfwwwfwwg3wwgS333SUUUUffffffffffffffff333fUU5fUU53UUUUffffffffffffffffffffffff3333UUUU3333SUUUSUUUS533S5ffS5fvS5fvU5fw3333UUUUUUUU3333wwwwwwwwwwwwwwwwS5wwU5wwU5ww33wwwwwwwwwwwwwwwwwwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwS5wwS5wwS5wwS5wwS5wwS5wwS5wwS5wwwwSUww33wwwwwwwwwwwwwwwwwwwwwwwwUUUU333SwwfSwwf3wwffwwwwwwwwwwwwUUUUUU53UU5fS53fS5fvS5wwS5wwS5wwUUUU3333fffffffwwwwwwwwwwwwwwwwwU5fw33fwffvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www5rwwU#""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUS533SUUUSUUU3333wwwwwwww""""UUUU3333UUUUUUUU3333wwwwwwww""""UUUU3333UUUUUUUU3333wwwwwwww""""UUUUS5wwU5wwU5ww33wwwwwwwwww""""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwRwwwRwwwRwwwRwwwRww'S""2UUUUU \ No newline at end of file
diff --git a/graphics/pokedex/unk_8443910.bin b/graphics/pokedex/unk_8443910.bin
new file mode 100644
index 000000000..df4a113bd
--- /dev/null
+++ b/graphics/pokedex/unk_8443910.bin
@@ -0,0 +1 @@
+UUUUU#""5rww%www%www%www%www%wwwUUUU""""wwwwwwwwwwwwwwwwwwwwwwwwUUUU""""wwwwwwww33wwS5wwS5wwS5wwUUUU""2Uww'SwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwwwwwwwwwwwwwwwwwww33wwSUwwSUwwS5S5wwS5wwS5wwS5wwS5wwU5wwU5ww33wwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www5rwwU#""UUUUwwS5wwS5wwS5ww33wwwwwwww""""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwRwwwRwwwRwwwRwwwRww'S""2UUUUU \ No newline at end of file
diff --git a/graphics/pokedex/unk_8443988.bin b/graphics/pokedex/unk_8443988.bin
new file mode 100644
index 000000000..dffc69b40
--- /dev/null
+++ b/graphics/pokedex/unk_8443988.bin
@@ -0,0 +1 @@
+UUUUU#""5rww%www%www%www%www%wwwUUUU""""wwwwwwwwwwwwwwwwwww3wwwSUUUU""""wwwwwwwwwwwwwwww3www5wwwUUUU""2Uww'SwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwwwwSwwwSwwwSwwwSwwwSwwwSwwwSwwwS5www5www5www5www5www5www5www5wwwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www5rwwU#""UUUUwwwSwww3wwwwwwwwwwwwwwww""""UUUU5www3wwwwwwwwwwwwwwwwwww""""UUUUwwwRwwwRwwwRwwwRwwwRww'S""2UUUUU \ No newline at end of file
diff --git a/graphics/pokedex/unk_84439FC.bin b/graphics/pokedex/unk_84439FC.bin
new file mode 100644
index 000000000..7b1931fe0
--- /dev/null
+++ b/graphics/pokedex/unk_84439FC.bin
@@ -0,0 +1 @@
+UUUUU#""5rww%www%www%www%www%wwwUUUU""""wwwwwwwwwwwwwwww3333SUUUUUUU""""wwwwwwwwwwwwwwww33wwU5wwUUUU""2Uww'SwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwSUUU3333wwwwwwwwwwwwwwwwwwwwwwwwU5wwS5wwS533SUU5SUU53333wwwwwwwwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www5rwwU#""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwRwwwRwwwRwwwRwwwRww'S""2UUUUU \ No newline at end of file
diff --git a/graphics/pokedex/unk_8443A78.bin b/graphics/pokedex/unk_8443A78.bin
new file mode 100644
index 000000000..844afe727
--- /dev/null
+++ b/graphics/pokedex/unk_8443A78.bin
@@ -0,0 +1 @@
+UUUUU#""5rww%www%www%www%www%wwwUUUU""""wwwwwwwwwwwwwwwwwwwwwwwwUUUU""""wwwwwwwwwwwwwwwwwwwwwwwwUUUU""2Uww'SwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwwwwwwwwwwwwwwwwwwwwwwwwwwww3wwwSwwwwwwwwwwwwwwwwwwwwwwww3www5wwwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwwwwSwww3wwwwwwwwwwwwwwwwwwwwwwww5www3wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www5rwwU#""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwRwwwRwwwRwwwRwwwRww'S""2UUUUU \ No newline at end of file
diff --git a/graphics/pokedex/unk_8443AF8.bin b/graphics/pokedex/unk_8443AF8.bin
new file mode 100644
index 000000000..e0e94741c
--- /dev/null
+++ b/graphics/pokedex/unk_8443AF8.bin
@@ -0,0 +1 @@
+UUUUU#""5rww%www%www%www%www%wwwUUUU""""wwwwwwwwwww3wwwSwwwSwwwSUUUU""""wwwwwwww3333UUUUUUUU5333UUUU""2Uww'SwwwR3wwR5wwR5wwR3wwR%ww3%wwS%wwS%ww3%www%www%www%www333SUUUUUUUU333SwwwSwwwSwwwSwww35www5www5www533wUU5wUU5wUU5w3S53wwwRwwwRwwwRwwwRwwwRwwwRwwwR3wwR%www%www%www%www%www%www%www%wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwSUUwSUUwSUUw33SwwwSwwwSwwwSwwwS5wwR5wwR5wwR5wwR5wwR5wwR5wwR5wwR%www%www%www%www%www5rwwU#""UUUUwwwwwwwwwwwwwwwwwwwwwwww""""UUUUwwwSwwwSwwwSwww3wwwwwwww""""UUUU5wwR5wwR5wwR3wwRwwwRww'S""2UUUUU \ No newline at end of file
diff --git a/graphics/pokedex/unk_8443BB0.bin b/graphics/pokedex/unk_8443BB0.bin
new file mode 100644
index 000000000..2779176fd
--- /dev/null
+++ b/graphics/pokedex/unk_8443BB0.bin
@@ -0,0 +1 @@
+UUUUU#""5rww%www%www%www%www%wwwUUUU""""wwwwwwwww33wwS5wwS5wwS5wUUUU""""wwwwwwwwwwwwwwwwwwwwwwwwUUUU""2Uww'SwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwwS53wSUUwSUUw333wwwwwwwwwww3wwwS333wUU5wUU5w3S5wwS5wwS5w3S5wUU5wwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwwwwSwww3wwwwwwwwwww3wwwSwwwSwwwSUU5w3S5wwS5wwS5w3S5wUU5wUU5w533wwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www5rwwU#""UUUUwwwSwwwSwwwSwww3wwwwwwww""""UUUU5www5www5www3wwwwwwwwwww""""UUUUwwwRwwwRwwwRwwwRwwwRww'S""2UUUUU \ No newline at end of file
diff --git a/graphics/pokedex/unk_8443C54.bin b/graphics/pokedex/unk_8443C54.bin
new file mode 100644
index 000000000..ca9f24495
--- /dev/null
+++ b/graphics/pokedex/unk_8443C54.bin
@@ -0,0 +1 @@
+UUUUU#""5rww%www%www%www%www%wwwUUUU""""wwwwwwwww33wwS5wwS5wwS5wUUUU""""wwwwwwwwwwwwwwwwwwwwwwwwUUUU""2Uww'SwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwwS5wwS5wwS5wwS5wwS5wwS5wwS5wwS5wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%www%www%www%www%www%www%www%wwwwS53wSUUwSUUw33SwwwSwwwSwwwSwwwS3www5www5www5www5www5www5www5wwwwwwRwwwRwwwRwwwRwwwRwwwRwwwRwwwR%ww3%wwS%wwS%ww3%www5rwwU#""UUUU333SUUUUUUUU3333wwwwwwww""""UUUU5333UUUUUUUU3333wwwwwwww""""UUUU3wwR5wwR5wwR3wwRwwwRww'S""2UUUUU \ No newline at end of file
diff --git a/graphics/pokedex/unk_8443D00.png b/graphics/pokedex/unk_8443D00.png
new file mode 100644
index 000000000..93e482901
--- /dev/null
+++ b/graphics/pokedex/unk_8443D00.png
Binary files differ
diff --git a/graphics/pokedex/unk_845228C.bin b/graphics/pokedex/unk_845228C.bin
new file mode 100644
index 000000000..bd64c4ad4
--- /dev/null
+++ b/graphics/pokedex/unk_845228C.bin
Binary files differ
diff --git a/graphics/pokedex/unk_8452368.pal b/graphics/pokedex/unk_8452368.pal
new file mode 100644
index 000000000..43ab6f7f7
--- /dev/null
+++ b/graphics/pokedex/unk_8452368.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
+82 82 82
diff --git a/include/global.h b/include/global.h
index 219c09c62..9df153270 100644
--- a/include/global.h
+++ b/include/global.h
@@ -765,9 +765,8 @@ struct SaveBlock1
/*0x3120*/ struct MEventBuffers mysteryEventBuffers;
/*0x348C*/ u8 filler_348C[400];
/*0x361C*/ struct RamScript ramScript;
- /*0x3A08*/ u8 filler3A08[12];
- /*0x3A14*/ u8 seen2[DEX_FLAGS_NO];
- /*0x3A48*/ u8 filler_3a48[4];
+ /*0x3A08*/ u8 filler3A08[16];
+ /*0x3A18*/ u8 seen2[DEX_FLAGS_NO];
/*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH];
/*0x3A54*/ struct FameCheckerSaveData fameChecker[NUM_FAMECHECKER_PERSONS];
/*0x3A94*/ u8 filler3A94[0x204];
diff --git a/include/list_menu.h b/include/list_menu.h
index 94a49d2c2..237805f38 100644
--- a/include/list_menu.h
+++ b/include/list_menu.h
@@ -73,8 +73,8 @@ struct ListMenuWindowRect
extern struct ListMenuTemplate gMultiuseListMenuTemplate;
s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
-u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove);
-u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 cursorPos, u16 itemsAbove);
+u8 ListMenuInit(const struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove);
+u8 ListMenuInitInRect(const struct ListMenuTemplate *listMenuTemplate, const struct ListMenuWindowRect *rect, u16 cursorPos, u16 itemsAbove);
s32 ListMenu_ProcessInput(u8 listTaskId);
void DestroyListMenuTask(u8 listTaskId, u16 *cursorPos, u16 *itemsAbove);
void RedrawListMenu(u8 listTaskId);
diff --git a/include/menu_indicators.h b/include/menu_indicators.h
index fbcee2590..507c25485 100644
--- a/include/menu_indicators.h
+++ b/include/menu_indicators.h
@@ -32,8 +32,8 @@ struct CursorStruct
u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *scrollOffset);
u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate * template, u16 * a1);
void RemoveScrollIndicatorArrowPair(u8);
-u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind);
-u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor);
+u8 ListMenuAddCursorObjectInternal(const struct CursorStruct *cursor, u32 cursorKind);
+u8 ListMenuAddRedOutlineCursorObject(const struct CursorStruct *cursor);
void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y);
void ListMenuRemoveRedOutlineCursorObject(u8 taskId);
void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind);
diff --git a/include/pokedex_screen.h b/include/pokedex_screen.h
index 8855a47fc..dfcbda05a 100644
--- a/include/pokedex_screen.h
+++ b/include/pokedex_screen.h
@@ -2,5 +2,6 @@
#define GUARD_POKEDEX_SCREEN_H
void CB2_OpenPokedexFromStartMenu(void);
+s8 sub_8104AB0(u16 nationalDexNo, u8 caseId, bool8 indexIsSpecies);
#endif //GUARD_POKEDEX_SCREEN_H
diff --git a/include/sound.h b/include/sound.h
index e5736fad8..8ce8a62ad 100644
--- a/include/sound.h
+++ b/include/sound.h
@@ -46,5 +46,7 @@ void SE12PanpotControl(s8 pan);
bool8 IsSEPlaying(void);
bool8 IsBGMPlaying(void);
bool8 IsSpecialSEPlaying(void);
+void sub_8072474(u16 volume);
+void sub_807249C(void);
#endif // GUARD_SOUND_H
diff --git a/include/strings.h b/include/strings.h
index fd690886a..bc1aee889 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -965,6 +965,20 @@ extern const u8 gText_Var1AndYouWantedVar2[];
extern const u8 gText_HereYouGoThankYou[];
extern const u8 gText_NoMoreRoomForThis[];
+// pokedex_screen
+extern const u8 gUnknown_8415D9C[];
+extern const u8 gUnknown_8415DB8[];
+extern const u8 gUnknown_8415DC4[];
+extern const u8 gUnknown_8415DCA[];
+extern const u8 gUnknown_8415DD1[];
+extern const u8 gUnknown_8415DD7[];
+extern const u8 gUnknown_8415F3D[];
+extern const u8 gUnknown_8415F4A[];
+extern const u8 gUnknown_8415F66[];
+extern const u8 gUnknown_8415F6C[];
+extern const u8 gUnknown_8415FFF[];
+extern const u8 gUnknown_8416002[];
+
// trainer card
extern const u8 gText_WaitingTrainerFinishReading[];
extern const u8 gText_TrainerCardName[];
diff --git a/ld_script.txt b/ld_script.txt
index e3190d9b6..42fc57437 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -227,6 +227,7 @@ SECTIONS {
src/map_preview_screen.o(.text);
asm/link_rfu_2.o(.text);
asm/link_rfu.o(.text);
+ src/pokedex_screen.o(.text);
asm/pokedex_screen.o(.text);
src/list_menu.o(.text);
asm/item_menu.o(.text);
diff --git a/src/list_menu.c b/src/list_menu.c
index 484da31ad..6c4d50961 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -70,7 +70,7 @@ static EWRAM_DATA struct MysteryGiftLinkMenuStruct sMysteryGiftLinkMenu = {0};
struct ListMenuOverride gListMenuOverride;
struct ListMenuTemplate gMultiuseListMenuTemplate;
-static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove);
+static u8 ListMenuInitInternal(const struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove);
static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAndCallCallback, u8 count, bool8 movingDown);
static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOffset, u16 count);
static void ListMenuDrawCursor(struct ListMenu *list);
@@ -172,7 +172,7 @@ s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const str
return LIST_NOTHING_CHOSEN;
}
-u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
+u8 ListMenuInit(const struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
{
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
PutWindowTilemap(listMenuTemplate->windowId);
@@ -180,7 +180,7 @@ u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 it
return taskId;
}
-u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 cursorPos, u16 itemsAbove)
+u8 ListMenuInitInRect(const struct ListMenuTemplate *listMenuTemplate, const struct ListMenuWindowRect *rect, u16 cursorPos, u16 itemsAbove)
{
s32 i;
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
@@ -338,7 +338,7 @@ u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId)
return list->itemsAbove * yMultiplier + list->template.upText_Y;
}
-static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
+static u8 ListMenuInitInternal(const struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
{
u8 listTaskId = CreateTask(ListMenuDummyTask, 0);
struct ListMenu *list = (struct ListMenu *)gTasks[listTaskId].data;
diff --git a/src/menu_indicators.c b/src/menu_indicators.c
index 1d6589fb0..c07aaf772 100644
--- a/src/menu_indicators.c
+++ b/src/menu_indicators.c
@@ -50,7 +50,7 @@ static EWRAM_DATA struct ScrollArrowsTemplate sTempScrollArrowTemplate = {0};
static void SpriteCallback_ScrollIndicatorArrow(struct Sprite *sprite);
static void SpriteCallback_RedArrowCursor(struct Sprite *sprite);
static void Task_ScrollIndicatorArrowPair(u8 taskId);
-static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor);
+static u8 ListMenuAddRedArrowCursorObject(const struct CursorStruct *cursor);
static void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y);
static void ListMenuRemoveRedArrowCursorObject(u8 taskId);
@@ -422,7 +422,7 @@ void RemoveScrollIndicatorArrowPair(u8 taskId)
DestroyTask(taskId);
}
-u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind)
+u8 ListMenuAddCursorObjectInternal(const struct CursorStruct *cursor, u32 cursorKind)
{
switch (cursorKind)
{
@@ -528,7 +528,7 @@ void ListMenuSetUpRedOutlineCursorSpriteOamTable(u16 rowWidth, u16 rowHeight, st
}
}
-u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor)
+u8 ListMenuAddRedOutlineCursorObject(const struct CursorStruct *cursor)
{
struct CompressedSpriteSheet spriteSheet;
struct SpritePalette spritePal;
@@ -601,7 +601,7 @@ static void Task_RedArrowCursor(u8 taskId)
{
}
-static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor)
+static u8 ListMenuAddRedArrowCursorObject(const struct CursorStruct *cursor)
{
struct CompressedSpriteSheet spriteSheet;
struct SpritePalette spritePal;
diff --git a/src/pokedex.c b/src/pokedex.c
index 1354aac8c..683b605d4 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -1,9 +1,8 @@
#include "global.h"
#include "pokedex.h"
+#include "pokedex_screen.h"
#include "constants/species.h"
-extern s8 sub_8104AB0(u16 nationalDexNo, u8 caseID, u8 unk);
-
ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
#include "data/pokemon/pokedex_text.h"
diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c
new file mode 100644
index 000000000..b67f9a514
--- /dev/null
+++ b/src/pokedex_screen.c
@@ -0,0 +1,2075 @@
+#include "global.h"
+#include "bg.h"
+#include "malloc.h"
+#include "palette.h"
+#include "graphics.h"
+#include "dma3.h"
+#include "gpu_regs.h"
+#include "m4a.h"
+#include "scanline_effect.h"
+#include "task.h"
+#include "text.h"
+#include "window.h"
+#include "new_menu_helpers.h"
+#include "sound.h"
+#include "event_data.h"
+#include "help_system.h"
+#include "menu_indicators.h"
+#include "overworld.h"
+#include "strings.h"
+#include "menu.h"
+#include "pokedex_screen.h"
+#include "data.h"
+#include "pokedex.h"
+#include "string_util.h"
+#include "trainer_pokemon_sprites.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+
+struct PokedexScreenData
+{
+ u8 field_00;
+ u8 field_01;
+ u8 field_02;
+ u8 field_03;
+ u8 filler_04[0x4];
+ u32 field_08;
+ u32 field_0C;
+ u16 field_10;
+ u16 field_12;
+ u8 field_14;
+ u8 field_15;
+ u8 field_16;
+ u8 field_17;
+ u16 field_18[0x4];
+ u8 field_20[0x4];
+ u8 field_24[0x4];
+ u8 field_28;
+ u8 field_29;
+ u8 field_2A;
+ u8 field_2B;
+ u8 field_2C;
+ u8 field_2D;
+ u8 field_2E;
+ u8 field_2F;
+ u32 field_30;
+ u16 field_34;
+ u16 field_36;
+ u16 field_38;
+ u16 field_3A;
+ u16 field_3C;
+ u16 field_3E;
+ u8 field_40;
+ u8 field_41;
+ u8 field_42;
+ struct ListMenuItem * field_44;
+ u16 field_48;
+ u8 filler_4A[0x10];
+ u16 field_5A;
+ u16 * field_5C;
+ u8 field_60;
+ u8 field_61;
+ u16 field_62;
+ u8 filler_64[0x2];
+ u16 field_66;
+ u16 field_68;
+ u16 field_6A;
+ u16 field_6C;
+};
+
+struct PokedexScreenWindowGfx
+{
+ const u16 *map;
+ const u16 *pal;
+};
+
+EWRAM_DATA struct PokedexScreenData * gUnknown_203ACF0 = NULL;
+
+void sub_810287C(u8 taskId);
+void sub_8102C28(void);
+void sub_8102F80(u8 taskId);
+void sub_810317C(void);
+void sub_8103238(u8 taskId);
+void sub_810345C(void);
+u16 sub_8103518(u8 a0);
+void sub_8103924(const struct ListMenuTemplate * a0, u8 a1);
+u8 sub_81039F0(void);
+void sub_8103988(u8 a0);
+void sub_8103AC8(u8 taskId);
+u8 sub_8104234(void);
+int sub_8104284(void);
+void sub_81042EC(u8 taskId);
+bool32 sub_8104664(u8 a0);
+void sub_81047B0(u8 *windowId_p);
+void sub_81047C8(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx);
+void sub_810491C(u8 windowId, u8 fontId, u16 num, u8 x, u8 y, u8 colorIdx);
+void sub_8104A34(u8 windowId, u8 fontId, u16 species, u8 x, u8 y);
+u16 sub_8104BBC(u8 caseId, bool8 whichDex);
+void sub_8104C2C(const u8 *src);
+void sub_8104E90(void);
+bool8 sub_8104F0C(bool8 a0);
+void sub_8105058(u8 a0);
+void sub_8105178(u8 a0, u8 a1, u8 a2);
+bool8 sub_81052D0(u8 a0);
+void sub_8105594(u8 a0, u8 a1);
+void sub_8105E1C(u8 a0);
+void sub_8106014(void);
+void sub_810603C(void);
+bool8 sub_8106838(u8 a0, u8 a1);
+u8 sub_81068A0(u8 a0);
+void sub_810699C(u8 a0);
+bool8 sub_8106A20(u16 a0);
+void sub_81067C0(void);
+void sub_81068DC(u8 a0, u8 a1);
+u8 sub_8106AF8(u16 a0);
+void sub_8106B34(void);
+void sub_8106E78(const u8 *a0, s32 a1);
+
+extern const u16 gUnknown_8440124[];
+extern const u32 gUnknown_8440274[];
+extern const u32 gUnknown_84403AC[];
+extern const u16 gUnknown_84404C8[];
+extern const u16 gUnknown_84406C8[];
+extern const u16 gUnknown_84406E0[];
+extern const u16 gUnknown_8440EF0[];
+extern const u16 gUnknown_8443460[];
+extern const u8 gUnknown_8443600[];
+extern const u16 gUnknown_8443FC0[];
+extern const u16 gUnknown_84442F6[];
+extern const u16 gUnknown_84448FE[];
+extern const u16 gUnknown_84445FA[];
+extern const struct BgTemplate gUnknown_8451EBC[4];
+extern const struct WindowTemplate gUnknown_8451ECC[];
+extern const struct PokedexScreenData gUnknown_8451EE4;
+extern const struct WindowTemplate gUnknown_8451F54;
+extern const struct WindowTemplate gUnknown_8451F5C;
+extern const struct WindowTemplate gUnknown_8451F64;
+extern const struct ListMenuTemplate gUnknown_8452004;
+extern const struct ListMenuTemplate gUnknown_84520BC;
+extern const struct ScrollArrowsTemplate gUnknown_84520D4;
+extern const struct ScrollArrowsTemplate gUnknown_84520E4;
+extern const struct PokedexScreenWindowGfx gUnknown_84520F4[];
+extern const struct WindowTemplate gUnknown_845216C;
+extern const struct ListMenuTemplate gUnknown_8452174;
+extern const struct ListMenuWindowRect gUnknown_845218C;
+extern const struct ScrollArrowsTemplate gUnknown_84521B4;
+extern const struct WindowTemplate gUnknown_84521C4;
+extern const struct WindowTemplate gUnknown_84521CC;
+extern const u16 gUnknown_845228C[];
+extern const u8 (*const gUnknown_8452334[])[4];
+extern const u8 *const gUnknown_8452344[];
+extern const u8 gUnknown_8452388[][30];
+extern const struct ScrollArrowsTemplate gUnknown_84524B4;
+extern const struct CursorStruct gUnknown_84524C4;
+
+void sub_81024C0(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_81024D4(void)
+{
+ if (!gPaletteFade.active || IsDma3ManagerBusyWithBgCopy())
+ {
+ RunTasks();
+ RunTextPrinters();
+ AnimateSprites();
+ BuildOamBuffer();
+ }
+ else
+ {
+ UpdatePaletteFade();
+ }
+}
+
+void sub_810250C(void)
+{
+ bool8 natDex;
+ u8 taskId;
+
+ natDex = IsNationalPokedexEnabled();
+ m4aSoundVSyncOff();
+ SetVBlankCallback(NULL);
+ ResetPaletteFade();
+ ResetSpriteData();
+ ResetTasks();
+ ScanlineEffect_Stop();
+ ResetBgsAndClearDma3BusyFlags(TRUE);
+ InitBgsFromTemplates(0, gUnknown_8451EBC, NELEMS(gUnknown_8451EBC));
+ SetBgTilemapBuffer(3, Alloc(BG_SCREEN_SIZE));
+ SetBgTilemapBuffer(2, Alloc(BG_SCREEN_SIZE));
+ SetBgTilemapBuffer(1, Alloc(BG_SCREEN_SIZE));
+ SetBgTilemapBuffer(0, Alloc(BG_SCREEN_SIZE));
+ if (natDex)
+ DecompressAndLoadBgGfxUsingHeap(3, gUnknown_84403AC, BG_SCREEN_SIZE, 0, 0);
+ else
+ DecompressAndLoadBgGfxUsingHeap(3, gUnknown_8440274, BG_SCREEN_SIZE, 0, 0);
+ InitWindows(gUnknown_8451ECC);
+ DeactivateAllTextPrinters();
+ m4aSoundVSyncOn();
+ SetVBlankCallback(sub_81024C0);
+ EnableInterrupts(INTR_FLAG_VBLANK);
+ taskId = CreateTask(sub_810287C, 0);
+ gUnknown_203ACF0 = Alloc(sizeof(*gUnknown_203ACF0));
+ *gUnknown_203ACF0 = gUnknown_8451EE4;
+ gUnknown_203ACF0->field_00 = taskId;
+ gUnknown_203ACF0->field_44 = Alloc(NATIONAL_DEX_COUNT * sizeof(struct ListMenuItem));
+ gUnknown_203ACF0->field_6A = sub_8104BBC(0, 1);
+ gUnknown_203ACF0->field_6C = sub_8104BBC(1, 1);
+ gUnknown_203ACF0->field_66 = sub_8104BBC(0, 0);
+ gUnknown_203ACF0->field_68 = sub_8104BBC(1, 0);
+ sub_8072474(0x80);
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgX(2, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 0, 0);
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ if (natDex)
+ LoadPalette(gUnknown_84406E0, 0, 0x200);
+ else
+ LoadPalette(gUnknown_84404C8, 0, 0x200);
+ FillBgTilemapBufferRect(3, 0x001, 0, 0, 32, 32, 0);
+ FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x11);
+ FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11);
+ FillBgTilemapBufferRect(0, 0x0003, 0, 0, 32, 2, 0xF);
+ FillBgTilemapBufferRect(0, 0x0000, 0, 2, 32, 16, 0x11);
+ FillBgTilemapBufferRect(0, 0x003, 0, 18, 32, 2, 0xF);
+}
+
+void CB2_OpenPokedexFromStartMenu(void)
+{
+ sub_810250C();
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ SetMainCallback2(sub_81024D4);
+ HelpSystem_SetSomeVariable2(4);
+}
+
+#define FREE_IF_NOT_NULL(ptr0) ({ void * ptr = (ptr0); if (ptr) Free(ptr); })
+
+bool8 sub_8102798(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ gMain.state++;
+ return FALSE;
+ case 1:
+ if (!gPaletteFade.active)
+ gMain.state = 2;
+ else
+ UpdatePaletteFade();
+ return FALSE;
+ case 2:
+ FREE_IF_NOT_NULL(gUnknown_203ACF0->field_44);
+ FREE_IF_NOT_NULL(gUnknown_203ACF0);
+ FreeAllWindowBuffers();
+ FREE_IF_NOT_NULL(GetBgTilemapBuffer(0));
+ FREE_IF_NOT_NULL(GetBgTilemapBuffer(1));
+ FREE_IF_NOT_NULL(GetBgTilemapBuffer(2));
+ FREE_IF_NOT_NULL(GetBgTilemapBuffer(3));
+ sub_807249C();
+ break;
+ }
+ return TRUE;
+}
+
+void sub_8102858(void)
+{
+ if (sub_8102798())
+ {
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON);
+ SetMainCallback2(CB2_ReturnToFieldWithOpenMenu);
+ }
+}
+
+void sub_810287C(u8 taskId)
+{
+ int i;
+ switch (gUnknown_203ACF0->field_01)
+ {
+ case 0:
+ gUnknown_203ACF0->field_08 = 0;
+ for (i = 0; i < 9; i++)
+ gUnknown_203ACF0->field_08 |= (sub_81068A0(i) << i);
+ gUnknown_203ACF0->field_01 = 2;
+ break;
+ case 1:
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ sub_81047B0(&gUnknown_203ACF0->field_14);
+ sub_81047B0(&gUnknown_203ACF0->field_15);
+ sub_81047B0(&gUnknown_203ACF0->field_16);
+ SetMainCallback2(sub_8102858);
+ DestroyTask(taskId);
+ break;
+ case 2:
+ sub_8102C28();
+ gUnknown_203ACF0->field_01 = 3;
+ break;
+ case 3:
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 4;
+ break;
+ case 4:
+ ShowBg(3);
+ ShowBg(2);
+ ShowBg(1);
+ ShowBg(0);
+ if (gPaletteFade.bufferTransferDisabled)
+ {
+ gPaletteFade.bufferTransferDisabled = FALSE;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0, RGB_WHITEALPHA);
+ }
+ else
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 16, 0, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 5;
+ break;
+ case 5:
+ ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL);
+ if (IsNationalPokedexEnabled())
+ gUnknown_203ACF0->field_60 = AddScrollIndicatorArrowPair(&gUnknown_84520E4, &gUnknown_203ACF0->field_62);
+ else
+ gUnknown_203ACF0->field_60 = AddScrollIndicatorArrowPair(&gUnknown_84520D4, &gUnknown_203ACF0->field_62);
+ gUnknown_203ACF0->field_01 = 6;
+ break;
+ case 6:
+ gUnknown_203ACF0->field_0C = ListMenu_ProcessInput(gUnknown_203ACF0->field_17);
+ ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL);
+ if (JOY_NEW(A_BUTTON))
+ {
+ switch (gUnknown_203ACF0->field_0C)
+ {
+ case LIST_CANCEL:
+ gUnknown_203ACF0->field_01 = 1;
+ break;
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ if (sub_81068A0(gUnknown_203ACF0->field_0C))
+ {
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ gUnknown_203ACF0->field_28 = gUnknown_203ACF0->field_0C;
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 7;
+ }
+ break;
+ case 9:
+ case 14:
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ gUnknown_203ACF0->field_42 = gUnknown_203ACF0->field_0C - 9;
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 9;
+ break;
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ gUnknown_203ACF0->field_42 = gUnknown_203ACF0->field_0C - 9;
+ gUnknown_203ACF0->field_38 = gUnknown_203ACF0->field_3A = 0;
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 8;
+ break;
+ }
+ break;
+ }
+ if (JOY_NEW(B_BUTTON))
+ {
+ gUnknown_203ACF0->field_01 = 1;
+ }
+ break;
+ case 7:
+ DestroyListMenuTask(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_12, &gUnknown_203ACF0->field_10);
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20);
+ CopyBgTilemapBufferToVram(1);
+ sub_81047B0(&gUnknown_203ACF0->field_14);
+ sub_81047B0(&gUnknown_203ACF0->field_15);
+ sub_81047B0(&gUnknown_203ACF0->field_16);
+ gUnknown_203ACF0->field_2B = 0;
+ gUnknown_203ACF0->field_2D = 0;
+ gUnknown_203ACF0->field_2F = 0;
+ gTasks[taskId].func = sub_8103AC8;
+ gUnknown_203ACF0->field_01 = 0;
+ break;
+ case 8:
+ DestroyListMenuTask(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_12, &gUnknown_203ACF0->field_10);
+ HideBg(1);
+ sub_81047B0(&gUnknown_203ACF0->field_14);
+ sub_81047B0(&gUnknown_203ACF0->field_15);
+ sub_81047B0(&gUnknown_203ACF0->field_16);
+ gTasks[taskId].func = sub_8103238;
+ gUnknown_203ACF0->field_01 = 0;
+ break;
+ case 9:
+ DestroyListMenuTask(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_12, &gUnknown_203ACF0->field_10);
+ HideBg(1);
+ sub_81047B0(&gUnknown_203ACF0->field_14);
+ sub_81047B0(&gUnknown_203ACF0->field_15);
+ sub_81047B0(&gUnknown_203ACF0->field_16);
+ gTasks[taskId].func = sub_8102F80;
+ gUnknown_203ACF0->field_01 = 0;
+ break;
+ }
+}
+
+void sub_8102C28(void)
+{
+ struct ListMenuTemplate listMenuTemplate;
+ FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0x00);
+ FillBgTilemapBufferRect(2, 0x000, 0, 0, 30, 20, 0x11);
+ FillBgTilemapBufferRect(1, 0x000, 0, 0, 30, 20, 0x11);
+ gUnknown_203ACF0->field_14 = AddWindow(&gUnknown_8451F54);
+ gUnknown_203ACF0->field_15 = AddWindow(&gUnknown_8451F5C);
+ gUnknown_203ACF0->field_16 = AddWindow(&gUnknown_8451F64);
+ if (IsNationalPokedexEnabled())
+ {
+ listMenuTemplate = gUnknown_84520BC;
+ listMenuTemplate.windowId = gUnknown_203ACF0->field_14;
+ gUnknown_203ACF0->field_17 = ListMenuInit(&listMenuTemplate, gUnknown_203ACF0->field_12, gUnknown_203ACF0->field_10);
+ FillWindowPixelBuffer(gUnknown_203ACF0->field_16, PIXEL_FILL(0));
+ sub_81047C8(gUnknown_203ACF0->field_16, 0, gUnknown_8415DC4, 0, 2, 0);
+ sub_81047C8(gUnknown_203ACF0->field_16, 0, gUnknown_8415DD1, 8, 13, 0);
+ sub_810491C(gUnknown_203ACF0->field_16, 0, gUnknown_203ACF0->field_66, 52, 13, 2);
+ sub_81047C8(gUnknown_203ACF0->field_16, 0, gUnknown_8415DD7, 8, 24, 0);
+ sub_810491C(gUnknown_203ACF0->field_16, 0, gUnknown_203ACF0->field_6A, 52, 24, 2);
+ sub_81047C8(gUnknown_203ACF0->field_16, 0, gUnknown_8415DCA, 0, 37, 0);
+ sub_81047C8(gUnknown_203ACF0->field_16, 0, gUnknown_8415DD1, 8, 48, 0);
+ sub_810491C(gUnknown_203ACF0->field_16, 0, gUnknown_203ACF0->field_68, 52, 48, 2);
+ sub_81047C8(gUnknown_203ACF0->field_16, 0, gUnknown_8415DD7, 8, 59, 0);
+ sub_810491C(gUnknown_203ACF0->field_16, 0, gUnknown_203ACF0->field_6C, 52, 59, 2);
+ }
+ else
+ {
+ listMenuTemplate = gUnknown_8452004;
+ listMenuTemplate.windowId = gUnknown_203ACF0->field_14;
+ gUnknown_203ACF0->field_17 = ListMenuInit(&listMenuTemplate, gUnknown_203ACF0->field_12, gUnknown_203ACF0->field_10);
+ FillWindowPixelBuffer(gUnknown_203ACF0->field_16, PIXEL_FILL(0));
+ sub_81047C8(gUnknown_203ACF0->field_16, 1, gUnknown_8415DC4, 0, 9, 0);
+ sub_810491C(gUnknown_203ACF0->field_16, 1, gUnknown_203ACF0->field_66, 32, 21, 2);
+ sub_81047C8(gUnknown_203ACF0->field_16, 1, gUnknown_8415DCA, 0, 37, 0);
+ sub_810491C(gUnknown_203ACF0->field_16, 1, gUnknown_203ACF0->field_68, 32, 49, 2);
+ }
+ FillWindowPixelBuffer(0, PIXEL_FILL(15));
+ sub_8106E78(gUnknown_8415D9C, 1);
+ FillWindowPixelBuffer(1, PIXEL_FILL(15));
+ sub_8104C2C(gUnknown_8415DB8);
+ PutWindowTilemap(0);
+ CopyWindowToVram(0, 2);
+ PutWindowTilemap(1);
+ CopyWindowToVram(1, 2);
+ PutWindowTilemap(gUnknown_203ACF0->field_16);
+ CopyWindowToVram(gUnknown_203ACF0->field_16, 2);
+}
+
+void sub_8102EC0(s32 itemIndex, bool8 onInit, struct ListMenu *list)
+{
+ if (!onInit)
+ PlaySE(SE_SELECT);
+ if (itemIndex == LIST_CANCEL)
+ {
+ CopyToWindowPixelBuffer(gUnknown_203ACF0->field_15, gUnknown_8440EF0, 0x000, 0x000);
+ LoadPalette(gUnknown_8443460, 0x10, 0x20);
+ }
+ else
+ {
+ CopyToWindowPixelBuffer(gUnknown_203ACF0->field_15, gUnknown_84520F4[itemIndex].map, 0x000, 0x000);
+ LoadPalette(gUnknown_84520F4[itemIndex].pal, 0x10, 0x20);
+ }
+ PutWindowTilemap(gUnknown_203ACF0->field_15);
+ CopyWindowToVram(gUnknown_203ACF0->field_15, 2);
+}
+
+void sub_8102F48(u8 windowId, s32 itemId, u8 y)
+{
+ if (itemId < 0 || itemId > 8 || gUnknown_203ACF0->field_08 & (1 << itemId))
+ ListMenuOverrideSetColors(1, 0, 3);
+ else
+ ListMenuOverrideSetColors(10, 0, 11);
+}
+
+void sub_8102F80(u8 taskId)
+{
+ switch (gUnknown_203ACF0->field_01)
+ {
+ case 0:
+ sub_8107D38(0x10, 0);
+ sub_8107D38(0x20, 1);
+ gUnknown_203ACF0->field_48 = sub_8103518(gUnknown_203ACF0->field_42);
+ gUnknown_203ACF0->field_01 = 2;
+ break;
+ case 1:
+ sub_8103988(gUnknown_203ACF0->field_42);
+ HideBg(1);
+ sub_81047B0(&gUnknown_203ACF0->field_40);
+ gTasks[taskId].func = sub_810287C;
+ gUnknown_203ACF0->field_01 = 0;
+ break;
+ case 2:
+ sub_810317C();
+ gUnknown_203ACF0->field_01 = 3;
+ break;
+ case 3:
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(1);
+ gUnknown_203ACF0->field_01 = 4;
+ break;
+ case 4:
+ ShowBg(1);
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 16, 0, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 5;
+ break;
+ case 5:
+ ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL);
+ gUnknown_203ACF0->field_60 = sub_81039F0();
+ gUnknown_203ACF0->field_01 = 6;
+ break;
+ case 6:
+ gUnknown_203ACF0->field_30 = ListMenu_ProcessInput(gUnknown_203ACF0->field_41);
+ ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL);
+ if (JOY_NEW(A_BUTTON))
+ {
+ if ((gUnknown_203ACF0->field_30 >> 16) & 1)
+ {
+ gUnknown_203ACF0->field_5A = gUnknown_203ACF0->field_30;
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 7;
+ }
+ }
+ else if (JOY_NEW(B_BUTTON))
+ {
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 1;
+ }
+ break;
+ case 7:
+ sub_8103988(gUnknown_203ACF0->field_42);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 32, 20);
+ CopyBgTilemapBufferToVram(1);
+ sub_81047B0(&gUnknown_203ACF0->field_40);
+ gTasks[taskId].func = sub_81042EC;
+ gUnknown_203ACF0->field_01 = 0;
+ break;
+ }
+}
+
+void sub_810317C(void)
+{
+ struct ListMenuTemplate template;
+ FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0x00);
+ FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11);
+ gUnknown_203ACF0->field_40 = AddWindow(&gUnknown_845216C);
+ template = gUnknown_8452174;
+ template.items = gUnknown_203ACF0->field_44;
+ template.windowId = gUnknown_203ACF0->field_40;
+ template.totalItems = gUnknown_203ACF0->field_48;
+ sub_8103924(&template, gUnknown_203ACF0->field_42);
+ FillWindowPixelBuffer(0, PIXEL_FILL(15));
+ sub_8106E78(gUnknown_8415F3D, 1);
+ FillWindowPixelBuffer(1, PIXEL_FILL(15));
+ sub_8104C2C(gText_PickOKExit);
+ CopyWindowToVram(0, 2);
+ CopyWindowToVram(1, 2);
+}
+
+void sub_8103238(u8 taskId)
+{
+ switch (gUnknown_203ACF0->field_01)
+ {
+ case 0:
+ sub_8107D38(0x10, 0);
+ sub_8107D38(0x20, 1);
+ gUnknown_203ACF0->field_48 = sub_8103518(gUnknown_203ACF0->field_42);
+ gUnknown_203ACF0->field_01 = 2;
+ break;
+ case 1:
+ sub_8103988(gUnknown_203ACF0->field_42);
+ HideBg(1);
+ sub_81047B0(&gUnknown_203ACF0->field_40);
+ gTasks[taskId].func = sub_810287C;
+ gUnknown_203ACF0->field_01 = 0;
+ break;
+ case 2:
+ sub_810345C();
+ gUnknown_203ACF0->field_01 = 3;
+ break;
+ case 3:
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(1);
+ gUnknown_203ACF0->field_01 = 4;
+ break;
+ case 4:
+ ShowBg(1);
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 16, 0, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 5;
+ break;
+ case 5:
+ ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL);
+ gUnknown_203ACF0->field_60 = sub_81039F0();
+ gUnknown_203ACF0->field_01 = 6;
+ break;
+ case 6:
+ gUnknown_203ACF0->field_30 = ListMenu_ProcessInput(gUnknown_203ACF0->field_41);
+ ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL);
+ if (JOY_NEW(A_BUTTON))
+ {
+ if (((gUnknown_203ACF0->field_30 >> 16) & 1) && !sub_8106A20(gUnknown_203ACF0->field_30))
+ {
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 7;
+ }
+ }
+ else if (JOY_NEW(B_BUTTON))
+ {
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 1;
+ }
+ break;
+ case 7:
+ sub_8103988(gUnknown_203ACF0->field_42);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 32, 20);
+ CopyBgTilemapBufferToVram(1);
+ sub_81047B0(&gUnknown_203ACF0->field_40);
+ gUnknown_203ACF0->field_2F = 1;
+ gTasks[taskId].func = sub_8103AC8;
+ gUnknown_203ACF0->field_01 = 0;
+ break;
+ }
+}
+
+void sub_810345C(void)
+{
+ struct ListMenuTemplate template;
+ FillBgTilemapBufferRect(3, 0x00E, 0, 0, 30, 20, 0x00);
+ FillBgTilemapBufferRect(1, 0x000, 0, 0, 32, 32, 0x11);
+ gUnknown_203ACF0->field_40 = AddWindow(&gUnknown_845216C);
+ template = gUnknown_8452174;
+ template.items = gUnknown_203ACF0->field_44;
+ template.windowId = gUnknown_203ACF0->field_40;
+ template.totalItems = gUnknown_203ACF0->field_48;
+ sub_8103924(&template, gUnknown_203ACF0->field_42);
+ FillWindowPixelBuffer(0, PIXEL_FILL(15));
+ sub_8106E78(gUnknown_8415F4A, 1);
+ FillWindowPixelBuffer(1, PIXEL_FILL(15));
+ sub_8104C2C(gText_PickOKExit);
+ CopyWindowToVram(0, 2);
+ CopyWindowToVram(1, 2);
+}
+
+u16 sub_8103518(u8 a0)
+{
+ s32 max_n = IsNationalPokedexEnabled() ? NATIONAL_DEX_COUNT : KANTO_DEX_COUNT;
+ u16 ndex_num;
+ u16 ret = NATIONAL_DEX_NONE;
+ s32 i;
+ bool8 caught;
+ bool8 seen;
+
+ switch (a0)
+ {
+ default:
+ case 0:
+ for (i = 0; i < KANTO_DEX_COUNT; i++)
+ {
+ ndex_num = i + 1;
+ seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
+ caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
+ if (seen)
+ {
+ gUnknown_203ACF0->field_44[i].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
+ ret = ndex_num;
+ }
+ else
+ {
+ gUnknown_203ACF0->field_44[i].label = gUnknown_8415F66;
+ }
+ gUnknown_203ACF0->field_44[i].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
+ }
+ break;
+ case 1:
+ for (i = 0; i < SPECIES_CHIMECHO; i++)
+ {
+ ndex_num = gUnknown_8443FC0[i];
+ if (ndex_num <= max_n)
+ {
+ seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
+ caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
+ if (seen)
+ {
+ gUnknown_203ACF0->field_44[ret].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
+ gUnknown_203ACF0->field_44[ret].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
+ ret++;
+ }
+ }
+ }
+ break;
+ case 2:
+ for (i = 0; i < SPECIES_CHIMECHO; i++)
+ {
+ ndex_num = SpeciesToNationalPokedexNum(gUnknown_84448FE[i]);
+ if (ndex_num <= max_n)
+ {
+ seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
+ caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
+ if (caught)
+ {
+ gUnknown_203ACF0->field_44[ret].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
+ gUnknown_203ACF0->field_44[ret].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
+ ret++;
+ }
+ }
+ }
+ break;
+ case 3:
+ for (i = 0; i < NATIONAL_DEX_COUNT; i++)
+ {
+ ndex_num = gUnknown_84442F6[i];
+ if (ndex_num <= max_n)
+ {
+ seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
+ caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
+ if (caught)
+ {
+ gUnknown_203ACF0->field_44[ret].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
+ gUnknown_203ACF0->field_44[ret].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
+ ret++;
+ }
+ }
+ }
+ break;
+ case 4:
+ for (i = 0; i < NATIONAL_DEX_COUNT; i++)
+ {
+ ndex_num = gUnknown_84445FA[i];
+ if (ndex_num <= max_n)
+ {
+ seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
+ caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
+ if (caught)
+ {
+ gUnknown_203ACF0->field_44[ret].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
+ gUnknown_203ACF0->field_44[ret].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
+ ret++;
+ }
+ }
+ }
+ break;
+ case 5:
+ for (i = 0; i < NATIONAL_DEX_COUNT; i++)
+ {
+ ndex_num = i + 1;
+ seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
+ caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
+ if (seen)
+ {
+ gUnknown_203ACF0->field_44[i].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
+ ret = ndex_num;
+ }
+ else
+ {
+ gUnknown_203ACF0->field_44[i].label = gUnknown_8415F66;
+ }
+ gUnknown_203ACF0->field_44[i].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
+ }
+ break;
+ }
+ return ret;
+}
+
+void sub_8103924(const struct ListMenuTemplate * template, u8 a1)
+{
+ switch (a1)
+ {
+ default:
+ case 0:
+ gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &gUnknown_845218C, gUnknown_203ACF0->field_36, gUnknown_203ACF0->field_34);
+ break;
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &gUnknown_845218C, gUnknown_203ACF0->field_3A, gUnknown_203ACF0->field_38);
+ break;
+ case 5:
+ gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &gUnknown_845218C, gUnknown_203ACF0->field_3E, gUnknown_203ACF0->field_3C);
+ break;
+ }
+}
+
+void sub_8103988(u8 a0)
+{
+ switch (a0)
+ {
+ default:
+ case 0:
+ DestroyListMenuTask(gUnknown_203ACF0->field_41, &gUnknown_203ACF0->field_36, &gUnknown_203ACF0->field_34);
+ break;
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ DestroyListMenuTask(gUnknown_203ACF0->field_41, &gUnknown_203ACF0->field_3A, &gUnknown_203ACF0->field_38);
+ break;
+ case 5:
+ DestroyListMenuTask(gUnknown_203ACF0->field_41, &gUnknown_203ACF0->field_3E, &gUnknown_203ACF0->field_3C);
+ break;
+ }
+}
+
+u8 sub_81039F0(void)
+{
+ struct ScrollArrowsTemplate template = gUnknown_84521B4;
+ if (gUnknown_203ACF0->field_48 > gUnknown_8452174.maxShowed)
+ template.fullyDownThreshold = gUnknown_203ACF0->field_48 - gUnknown_8452174.maxShowed;
+ else
+ template.fullyDownThreshold = 0;
+ return AddScrollIndicatorArrowPair(&template, &gUnknown_203ACF0->field_62);
+}
+
+struct PokedexListItem
+{
+ u16 species;
+ bool8 seen:1;
+ bool8 caught:1;
+};
+
+void sub_8103A40(u8 windowId, s32 itemId, u8 y)
+{
+ u32 itemId_ = itemId;
+ u16 species = itemId_;
+ bool8 seen = (itemId_ >> 16) & 1; // not used but required to match
+ bool8 caught = (itemId_ >> 17) & 1;
+ u8 type1;
+ sub_8104A34(gUnknown_203ACF0->field_40, 0, species, 12, y);
+ if (caught)
+ {
+ BlitMoveInfoIcon(gUnknown_203ACF0->field_40, 0, 0x28, y);
+ type1 = gBaseStats[species].type1;
+ BlitMoveInfoIcon(gUnknown_203ACF0->field_40, type1 + 1, 0x78, y);
+ if (type1 != gBaseStats[species].type2)
+ BlitMoveInfoIcon(gUnknown_203ACF0->field_40, gBaseStats[species].type2 + 1, 0x98, y);
+ }
+}
+
+void sub_8103AC8(u8 taskId)
+{
+ int r4;
+ u8 *ptr;
+ switch (gUnknown_203ACF0->field_01)
+ {
+ case 0:
+ HideBg(3);
+ HideBg(2);
+ HideBg(1);
+ sub_810699C(gUnknown_203ACF0->field_28);
+ if (gUnknown_203ACF0->field_2B < gUnknown_203ACF0->field_29)
+ gUnknown_203ACF0->field_2B = gUnknown_203ACF0->field_29;
+ gUnknown_203ACF0->field_01 = 2;
+ break;
+ case 1:
+ sub_8104E90();
+ HideBg(2);
+ HideBg(1);
+ switch (gUnknown_203ACF0->field_2F)
+ {
+ case 0:
+ default:
+ gTasks[taskId].func = sub_810287C;
+ break;
+ case 1:
+ gTasks[taskId].func = sub_8103238;
+ break;
+ }
+ gUnknown_203ACF0->field_01 = 0;
+ break;
+ case 2:
+ sub_8104F0C(0);
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ sub_8105058(0xFF);
+ gUnknown_203ACF0->field_01 = 3;
+ break;
+ case 3:
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 16, 0, RGB_WHITEALPHA);
+ ShowBg(3);
+ ShowBg(2);
+ ShowBg(1);
+ gUnknown_203ACF0->field_01 = 4;
+ break;
+ case 4:
+ gUnknown_203ACF0->field_60 = sub_8104234();
+ gUnknown_203ACF0->field_61 = ListMenuAddCursorObjectInternal(&gUnknown_84524C4, 0);
+ gUnknown_203ACF0->field_01 = 5;
+ break;
+ case 5:
+ sub_8105058(gUnknown_203ACF0->field_2D);
+ sub_8105178(gUnknown_203ACF0->field_61, gUnknown_203ACF0->field_2D, gUnknown_203ACF0->field_2C);
+ gUnknown_203ACF0->field_62 = gUnknown_203ACF0->field_2B;
+ r4 = 0;
+ if (JOY_NEW(A_BUTTON) && sub_8104AB0(gUnknown_203ACF0->field_18[gUnknown_203ACF0->field_2D], FLAG_GET_SEEN, 1))
+ {
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ ListMenuRemoveCursorObject(gUnknown_203ACF0->field_61, 0);
+ gUnknown_203ACF0->field_01 = 12;
+ }
+ else
+ {
+ if (!JOY_HELD(R_BUTTON) && JOY_REPT(DPAD_LEFT))
+ {
+ if (gUnknown_203ACF0->field_2D != 0)
+ {
+ gUnknown_203ACF0->field_2D--;
+ PlaySE(SE_SELECT);
+ break;
+ }
+ else
+ r4 = 1;
+ }
+ if (!JOY_HELD(R_BUTTON) && JOY_REPT(DPAD_RIGHT))
+ {
+ if (gUnknown_203ACF0->field_2D < gUnknown_203ACF0->field_2C - 1)
+ {
+ gUnknown_203ACF0->field_2D++;
+ PlaySE(SE_SELECT);
+ break;
+ }
+ else
+ r4 = 2;
+ }
+ if (r4 == 0)
+ r4 = sub_8104284();
+ switch (r4)
+ {
+ case 0:
+ break;
+ case 1:
+ while (gUnknown_203ACF0->field_2B > gUnknown_203ACF0->field_29)
+ {
+ gUnknown_203ACF0->field_2B--;
+ if (sub_8106838(gUnknown_203ACF0->field_28, gUnknown_203ACF0->field_2B))
+ {
+ gUnknown_203ACF0->field_01 = 8;
+ break;
+ }
+ }
+ if (gUnknown_203ACF0->field_01 != 8)
+ gUnknown_203ACF0->field_01 = 6;
+ break;
+ case 2:
+ while (gUnknown_203ACF0->field_2B < gUnknown_203ACF0->field_2A - 1)
+ {
+ gUnknown_203ACF0->field_2B++;
+ if (sub_8106838(gUnknown_203ACF0->field_28, gUnknown_203ACF0->field_2B))
+ {
+ gUnknown_203ACF0->field_01 = 10;
+ break;
+ }
+ }
+ if (gUnknown_203ACF0->field_01 != 10)
+ gUnknown_203ACF0->field_01 = 6;
+ break;
+ }
+ if (JOY_NEW(B_BUTTON))
+ {
+ gUnknown_203ACF0->field_01 = 6;
+ }
+ }
+ break;
+ case 6:
+ case 7:
+ RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
+ ListMenuRemoveCursorObject(gUnknown_203ACF0->field_61, 0);
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 1;
+ break;
+ case 8:
+ case 10:
+ sub_8104E90();
+ sub_8105058(0xFF);
+ ListMenuUpdateCursorObject(gUnknown_203ACF0->field_61, 0, 0xA0, 0);
+ gUnknown_203ACF0->field_2E = 0;
+ gUnknown_203ACF0->field_02 = 0;
+ gUnknown_203ACF0->field_01++;
+ break;
+ case 9:
+ if (sub_81052D0(0))
+ {
+ gUnknown_203ACF0->field_2D = gUnknown_203ACF0->field_2C - 1;
+ gUnknown_203ACF0->field_01 = 5;
+ }
+ break;
+ case 11:
+ if (sub_81052D0(1))
+ {
+ gUnknown_203ACF0->field_2D = 0;
+ gUnknown_203ACF0->field_01 = 5;
+ }
+ break;
+ case 12:
+ gUnknown_203ACF0->field_5A = gUnknown_203ACF0->field_18[gUnknown_203ACF0->field_2D];
+ PlaySE(SE_SELECT);
+ gUnknown_203ACF0->field_01 = 14;
+ break;
+ case 13:
+ sub_8106014();
+ gUnknown_203ACF0->field_01 = 4;
+ break;
+ case 14:
+ sub_8105E1C(0);
+ gUnknown_203ACF0->field_01 = 15;
+ break;
+ case 15:
+ gUnknown_203ACF0->field_02 = 0;
+ gUnknown_203ACF0->field_03 = 0;
+ gUnknown_203ACF0->field_01++;
+ // fallthrough
+ case 16:
+ if (gUnknown_203ACF0->field_03 < 6)
+ {
+ if (!gUnknown_203ACF0->field_02)
+ {
+ gUnknown_203ACF0->field_02--;
+ }
+ else
+ {
+ sub_8105594(0, gUnknown_203ACF0->field_03);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_02 = 4;
+ gUnknown_203ACF0->field_03++;
+ }
+ }
+ else
+ {
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 2, 30, 16);
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ PlayCry2(gUnknown_203ACF0->field_5A, 0, 125, 10);
+ gUnknown_203ACF0->field_02 = 0;
+ gUnknown_203ACF0->field_01 = 17;
+ }
+ break;
+ case 17:
+ if (JOY_NEW(A_BUTTON))
+ {
+ sub_8106014();
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 2, 30, 16);
+ CopyBgTilemapBufferToVram(1);
+ gUnknown_203ACF0->field_01 = 21;
+ }
+ else if (JOY_NEW(B_BUTTON))
+ {
+ gUnknown_203ACF0->field_01 = 18;
+ }
+ else
+ {
+ sub_8106B34();
+ }
+ break;
+ case 18:
+ sub_8104F0C(0);
+ sub_8105594(0, 6);
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 19;
+ break;
+ case 19:
+ gUnknown_203ACF0->field_02 = 0;
+ gUnknown_203ACF0->field_03 = 6;
+ gUnknown_203ACF0->field_01++;
+ // fallthrough
+ case 20:
+ if (gUnknown_203ACF0->field_03)
+ {
+ if (gUnknown_203ACF0->field_02)
+ {
+ gUnknown_203ACF0->field_03--;
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 2, 30, 16);
+ sub_8105594(0, gUnknown_203ACF0->field_03);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_02 = 1;
+ }
+ else
+ gUnknown_203ACF0->field_02--;
+ }
+ else
+ {
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 2, 30, 16);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 13;
+ }
+ break;
+ case 21:
+ sub_810603C();
+ gUnknown_203ACF0->field_01 = 22;
+ break;
+ case 22:
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 23;
+ break;
+ case 23:
+ if (JOY_NEW(A_BUTTON))
+ {
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 2, 30, 16);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 2, 30, 16);
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 2, 30, 16);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 26;
+ }
+ else if (JOY_NEW(B_BUTTON))
+ {
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 2, 30, 16);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 2, 30, 16);
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 2, 30, 16);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 24;
+ }
+ else
+ {
+ sub_8106B34();
+ }
+ break;
+ case 24:
+ sub_81067C0();
+ gUnknown_203ACF0->field_01 = 25;
+ break;
+ case 25:
+ sub_8105E1C(0);
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 17;
+ break;
+ case 26:
+ sub_81067C0();
+ gUnknown_203ACF0->field_01 = 18;
+ break;
+ }
+}
+
+u8 sub_8104234(void)
+{
+ struct ScrollArrowsTemplate template = gUnknown_84524B4;
+ template.fullyUpThreshold = gUnknown_203ACF0->field_29;
+ template.fullyDownThreshold = gUnknown_203ACF0->field_2A - 1;
+ gUnknown_203ACF0->field_62 = gUnknown_203ACF0->field_2B;
+ return AddScrollIndicatorArrowPair(&template, &gUnknown_203ACF0->field_62);
+}
+
+int sub_8104284(void)
+{
+ switch (gSaveBlock2Ptr->optionsButtonMode)
+ {
+ case OPTIONS_BUTTON_MODE_L_EQUALS_A:
+ // Using the JOY_HELD and JOY_NEW macros here does not match!
+ if ((gMain.heldKeys & R_BUTTON) && (gMain.newKeys & DPAD_LEFT))
+ return 1;
+ else if ((gMain.heldKeys & R_BUTTON) && (gMain.newKeys & DPAD_RIGHT))
+ return 2;
+ else
+ return 0;
+ case OPTIONS_BUTTON_MODE_LR:
+ if (gMain.newKeys & L_BUTTON)
+ return 1;
+ else if (gMain.newKeys & R_BUTTON)
+ return 2;
+ else
+ return 0;
+ default:
+ case OPTIONS_BUTTON_MODE_HELP:
+ return 0;
+ }
+}
+
+void sub_81042EC(u8 taskId)
+{
+ switch (gUnknown_203ACF0->field_01)
+ {
+ case 0:
+ HideBg(3);
+ HideBg(2);
+ HideBg(1);
+ gUnknown_203ACF0->field_01 = 2;
+ break;
+ case 1:
+ HideBg(2);
+ HideBg(1);
+ gTasks[taskId].func = sub_8102F80;
+ gUnknown_203ACF0->field_01 = 0;
+ break;
+ case 2:
+ gUnknown_203ACF0->field_2C = 1;
+ sub_8105E1C(0);
+ gUnknown_203ACF0->field_01 = 3;
+ break;
+ case 3:
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ PlayCry2(gUnknown_203ACF0->field_5A, 0, 125, 10);
+ gUnknown_203ACF0->field_01 = 4;
+ break;
+ case 4:
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 16, 0, RGB_WHITEALPHA);
+ ShowBg(3);
+ ShowBg(2);
+ ShowBg(1);
+ gUnknown_203ACF0->field_01 = 5;
+ break;
+ case 5:
+ if (JOY_NEW(A_BUTTON))
+ {
+ sub_8106014();
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 2, 30, 16);
+ CopyBgTilemapBufferToVram(1);
+ gUnknown_203ACF0->field_01 = 7;
+ }
+ else if (JOY_NEW(B_BUTTON))
+ {
+ sub_8106014();
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 1;
+ }
+ else if (JOY_NEW(DPAD_UP) && sub_8104664(1))
+ {
+ sub_8106014();
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 6;
+ }
+ else if (JOY_NEW(DPAD_DOWN) && sub_8104664(0))
+ {
+ sub_8106014();
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 6;
+ }
+ else
+ {
+ sub_8106B34();
+ }
+ break;
+ case 6:
+ HideBg(2);
+ HideBg(1);
+ gUnknown_203ACF0->field_5A = gUnknown_203ACF0->field_30;
+ gUnknown_203ACF0->field_01 = 2;
+ break;
+ case 7:
+ sub_810603C();
+ gUnknown_203ACF0->field_01 = 8;
+ break;
+ case 8:
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 9;
+ break;
+ case 9:
+ if (JOY_NEW(A_BUTTON))
+ {
+ BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
+ gUnknown_203ACF0->field_01 = 12;
+ }
+ else if (JOY_NEW(B_BUTTON))
+ {
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 2, 30, 16);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 2, 30, 16);
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 2, 30, 16);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 10;
+ }
+ else
+ {
+ sub_8106B34();
+ }
+ break;
+ case 10:
+ sub_81067C0();
+ gUnknown_203ACF0->field_01 = 11;
+ break;
+ case 11:
+ sub_8105E1C(0);
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 5;
+ break;
+ case 12:
+ sub_81067C0();
+ FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 2, 30, 16);
+ CopyBgTilemapBufferToVram(0);
+ gUnknown_203ACF0->field_01 = 1;
+ break;
+ }
+}
+
+#ifdef NONMATCHING
+// HOLY HECK THIS FUNCTION NotLikeThis
+bool32 sub_8104664(u8 a0)
+{
+ u16 *r12;
+ u16 *r6;
+ int r3;
+
+ switch (gUnknown_203ACF0->field_42)
+ {
+ case 0:
+ default:
+ r12 = &gUnknown_203ACF0->field_36;
+ r6 = &gUnknown_203ACF0->field_34;
+ break;
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ r12 = &gUnknown_203ACF0->field_3A;
+ r6 = &gUnknown_203ACF0->field_38;
+ break;
+ case 5:
+ r12 = &gUnknown_203ACF0->field_3E;
+ r6 = &gUnknown_203ACF0->field_3C;
+ break;
+ }
+ r3 = *r12 + *r6;
+ if (a0)
+ {
+ if (r3 == 0)
+ return FALSE;
+ while (--r3 >= 0)
+ {
+ if ((((u32)gUnknown_203ACF0->field_44[r3].index) >> 16) & 1)
+ break;
+ }
+ if (r3 < 0)
+ return FALSE;
+ }
+ else
+ {
+ if (r3 == gUnknown_203ACF0->field_48 - 1)
+ return FALSE;
+ while (++r3 < gUnknown_203ACF0->field_48)
+ {
+ if ((((u32)gUnknown_203ACF0->field_44[r3].index) >> 16) & 1)
+ break;
+ }
+ if (r3 >= gUnknown_203ACF0->field_48)
+ return FALSE;
+ }
+ gUnknown_203ACF0->field_30 = gUnknown_203ACF0->field_44[r3].index;
+ if (gUnknown_203ACF0->field_48 > 9)
+ {
+ if (r3 < 4)
+ {
+ *r12 = 0;
+ *r6 = r3;
+ }
+ else if (r3 >= gUnknown_203ACF0->field_48 - 4)
+ {
+ *r12 = gUnknown_203ACF0->field_48 - 9;
+ *r6 = r3 + 9 - gUnknown_203ACF0->field_48;
+ }
+ else
+ {
+ *r12 = r3 - 4;
+ *r6 = 4;
+ }
+ }
+ else
+ {
+ *r12 = 0;
+ *r6 = r3;
+ }
+ return TRUE;
+}
+#else
+NAKED
+bool32 sub_8104664(u8 a0)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r8\n"
+ "\tpush {r7}\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tldr r0, _08104684 @ =gUnknown_203ACF0\n"
+ "\tldr r3, [r0]\n"
+ "\tadds r2, r3, 0\n"
+ "\tadds r2, 0x42\n"
+ "\tldrb r2, [r2]\n"
+ "\tmov r8, r0\n"
+ "\tcmp r2, 0x4\n"
+ "\tbgt _08104688\n"
+ "\tcmp r2, 0x1\n"
+ "\tbge _0810469C\n"
+ "\tb _0810468C\n"
+ "\t.align 2, 0\n"
+ "_08104684: .4byte gUnknown_203ACF0\n"
+ "_08104688:\n"
+ "\tcmp r2, 0x5\n"
+ "\tbeq _081046A8\n"
+ "_0810468C:\n"
+ "\tmov r1, r8\n"
+ "\tldr r0, [r1]\n"
+ "\tmovs r2, 0x36\n"
+ "\tadds r2, r0\n"
+ "\tmov r12, r2\n"
+ "\tadds r6, r0, 0\n"
+ "\tadds r6, 0x34\n"
+ "\tb _081046B2\n"
+ "_0810469C:\n"
+ "\tmovs r0, 0x3A\n"
+ "\tadds r0, r3\n"
+ "\tmov r12, r0\n"
+ "\tadds r6, r3, 0\n"
+ "\tadds r6, 0x38\n"
+ "\tb _081046B2\n"
+ "_081046A8:\n"
+ "\tmovs r1, 0x3E\n"
+ "\tadds r1, r3\n"
+ "\tmov r12, r1\n"
+ "\tadds r6, r3, 0\n"
+ "\tadds r6, 0x3C\n"
+ "_081046B2:\n"
+ "\tmov r2, r12\n"
+ "\tldrh r1, [r2]\n"
+ "\tldrh r0, [r6]\n"
+ "\tadds r3, r1, r0\n"
+ "\tcmp r4, 0\n"
+ "\tbeq _08104700\n"
+ "\tcmp r3, 0\n"
+ "\tbeq _0810474C\n"
+ "\tsubs r3, 0x1\n"
+ "\tcmp r3, 0\n"
+ "\tblt _0810474C\n"
+ "\tmov r1, r8\n"
+ "\tldr r0, [r1]\n"
+ "\tldr r0, [r0, 0x44]\n"
+ "\tlsls r2, r3, 3\n"
+ "\tadds r0, r2, r0\n"
+ "\tldrh r0, [r0, 0x6]\n"
+ "\tmovs r1, 0x1\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbne _081046FA\n"
+ "\tmov r5, r8\n"
+ "\tmovs r4, 0x1\n"
+ "\tadds r1, r2, 0\n"
+ "_081046E2:\n"
+ "\tsubs r1, 0x8\n"
+ "\tsubs r3, 0x1\n"
+ "\tcmp r3, 0\n"
+ "\tblt _0810474C\n"
+ "\tldr r0, [r5]\n"
+ "\tldr r0, [r0, 0x44]\n"
+ "\tadds r0, r1, r0\n"
+ "\tldrh r0, [r0, 0x6]\n"
+ "\tands r0, r4\n"
+ "\tadds r2, r1, 0\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _081046E2\n"
+ "_081046FA:\n"
+ "\tcmp r3, 0\n"
+ "\tbge _08104750\n"
+ "\tb _0810474C\n"
+ "_08104700:\n"
+ "\tmov r2, r8\n"
+ "\tldr r5, [r2]\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0x48\n"
+ "\tldrh r4, [r0]\n"
+ "\tsubs r0, r4, 0x1\n"
+ "\tcmp r3, r0\n"
+ "\tbeq _0810474C\n"
+ "\tadds r3, 0x1\n"
+ "\tcmp r3, r4\n"
+ "\tbge _0810474C\n"
+ "\tldr r0, [r5, 0x44]\n"
+ "\tlsls r2, r3, 3\n"
+ "\tadds r0, r2, r0\n"
+ "\tldrh r0, [r0, 0x6]\n"
+ "\tmovs r1, 0x1\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbne _08104740\n"
+ "\tadds r1, r2, 0\n"
+ "\tmovs r7, 0x1\n"
+ "_0810472A:\n"
+ "\tadds r1, 0x8\n"
+ "\tadds r3, 0x1\n"
+ "\tcmp r3, r4\n"
+ "\tbge _0810474C\n"
+ "\tldr r0, [r5, 0x44]\n"
+ "\tadds r0, r1, r0\n"
+ "\tldrh r0, [r0, 0x6]\n"
+ "\tands r0, r7\n"
+ "\tadds r2, r1, 0\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _0810472A\n"
+ "_08104740:\n"
+ "\tmov r1, r8\n"
+ "\tldr r0, [r1]\n"
+ "\tadds r0, 0x48\n"
+ "\tldrh r0, [r0]\n"
+ "\tcmp r3, r0\n"
+ "\tblt _08104750\n"
+ "_0810474C:\n"
+ "\tmovs r0, 0\n"
+ "\tb _081047A6\n"
+ "_08104750:\n"
+ "\tmov r0, r8\n"
+ "\tldr r1, [r0]\n"
+ "\tldr r0, [r1, 0x44]\n"
+ "\tadds r0, r2, r0\n"
+ "\tldr r0, [r0, 0x4]\n"
+ "\tstr r0, [r1, 0x30]\n"
+ "\tadds r1, 0x48\n"
+ "\tldrh r0, [r1]\n"
+ "\tcmp r0, 0x9\n"
+ "\tbls _0810479C\n"
+ "\tcmp r3, 0x3\n"
+ "\tbgt _08104770\n"
+ "\tmovs r0, 0\n"
+ "\tmov r1, r12\n"
+ "\tstrh r0, [r1]\n"
+ "\tb _081047A2\n"
+ "_08104770:\n"
+ "\tldrh r1, [r1]\n"
+ "\tsubs r0, r1, 0x4\n"
+ "\tcmp r3, r0\n"
+ "\tblt _08104790\n"
+ "\tsubs r0, 0x5\n"
+ "\tmov r2, r12\n"
+ "\tstrh r0, [r2]\n"
+ "\tadds r1, r3, 0\n"
+ "\tadds r1, 0x9\n"
+ "\tmov r2, r8\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r0, 0x48\n"
+ "\tldrh r0, [r0]\n"
+ "\tsubs r1, r0\n"
+ "\tstrh r1, [r6]\n"
+ "\tb _081047A4\n"
+ "_08104790:\n"
+ "\tsubs r0, r3, 0x4\n"
+ "\tmov r1, r12\n"
+ "\tstrh r0, [r1]\n"
+ "\tmovs r0, 0x4\n"
+ "\tstrh r0, [r6]\n"
+ "\tb _081047A4\n"
+ "_0810479C:\n"
+ "\tmovs r0, 0\n"
+ "\tmov r2, r12\n"
+ "\tstrh r0, [r2]\n"
+ "_081047A2:\n"
+ "\tstrh r3, [r6]\n"
+ "_081047A4:\n"
+ "\tmovs r0, 0x1\n"
+ "_081047A6:\n"
+ "\tpop {r3}\n"
+ "\tmov r8, r3\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r1}\n"
+ "\tbx r1");
+}
+#endif //NONMATCHING
+
+void sub_81047B0(u8 *windowId_p)
+{
+ if (*windowId_p != 0xFF)
+ {
+ RemoveWindow(*windowId_p);
+ *windowId_p = 0xFF;
+ }
+}
+
+void sub_81047C8(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx)
+{
+ u8 textColor[3];
+ switch (colorIdx)
+ {
+ case 0:
+ textColor[0] = 0;
+ textColor[1] = 1;
+ textColor[2] = 3;
+ break;
+ case 1:
+ textColor[0] = 0;
+ textColor[1] = 5;
+ textColor[2] = 1;
+ break;
+ case 2:
+ textColor[0] = 0;
+ textColor[1] = 15;
+ textColor[2] = 14;
+ break;
+ case 3:
+ textColor[0] = 0;
+ textColor[1] = 11;
+ textColor[2] = 1;
+ break;
+ case 4:
+ textColor[0] = 0;
+ textColor[1] = 1;
+ textColor[2] = 2;
+ break;
+ }
+ AddTextPrinterParameterized4(windowId, fontId, x, y, fontId == 0 ? 0 : 1, 0, textColor, -1, str);
+}
+
+void sub_8104880(u8 windowId, u8 fontId, u16 num, u8 x, u8 y, u8 colorIdx)
+{
+ u8 buff[4];
+ buff[0] = (num / 100) + CHAR_0;
+ buff[1] = ((num %= 100) / 10) + CHAR_0;
+ buff[2] = (num % 10) + CHAR_0;
+ buff[3] = EOS;
+ sub_81047C8(windowId, fontId, buff, x, y, colorIdx);
+}
+
+void sub_810491C(u8 windowId, u8 fontId, u16 num, u8 x, u8 y, u8 colorIdx)
+{
+ u8 buff[4];
+ int i;
+ buff[0] = (num / 100) + CHAR_0;
+ buff[1] = ((num %= 100) / 10) + CHAR_0;
+ buff[2] = (num % 10) + CHAR_0;
+ buff[3] = EOS;
+ for (i = 0; i < 3; i++)
+ {
+ if (buff[i] != CHAR_0)
+ break;
+ buff[i] = CHAR_SPACE;
+ }
+ sub_81047C8(windowId, fontId, buff, x, y, colorIdx);
+}
+
+u32 sub_81049CC(int species)
+{
+ switch (species)
+ {
+ case SPECIES_SPINDA:
+ return gSaveBlock2Ptr->pokedex.spindaPersonality;
+ case SPECIES_UNOWN:
+ return gSaveBlock2Ptr->pokedex.unownPersonality;
+ default:
+ return 0;
+ }
+}
+
+void sub_81049FC(u8 windowId, u16 species, u16 paletteOffset)
+{
+ LoadMonPicInWindow(species, 8, sub_81049CC(species), TRUE, paletteOffset >> 4, windowId);
+}
+
+void sub_8104A34(u8 windowId, u8 fontId, u16 species, u8 x, u8 y)
+{
+ u16 dexNum = SpeciesToNationalPokedexNum(species);
+ sub_81047C8(windowId, fontId, gUnknown_8415FFF, x, y, 0);
+ sub_8104880(windowId, fontId, dexNum, x + 9, y, 0);
+}
+
+s8 sub_8104AB0(u16 nationalDexNo, u8 caseId, bool8 indexIsSpecies)
+{
+ u8 index;
+ u8 bit;
+ u8 mask;
+ s8 retVal;
+
+ if (indexIsSpecies)
+ nationalDexNo = SpeciesToNationalPokedexNum(nationalDexNo);
+
+ nationalDexNo--;
+ index = nationalDexNo / 8;
+ bit = nationalDexNo % 8;
+ mask = 1 << bit;
+ retVal = 0;
+ switch (caseId)
+ {
+ case FLAG_GET_SEEN:
+ if (gSaveBlock2Ptr->pokedex.seen[index] & mask)
+ {
+ if ((gSaveBlock2Ptr->pokedex.seen[index] & mask) == (gSaveBlock1Ptr->seen1[index] & mask)
+ && (gSaveBlock2Ptr->pokedex.seen[index] & mask) == (gSaveBlock1Ptr->seen2[index] & mask))
+ retVal = 1;
+ }
+ break;
+ case FLAG_GET_CAUGHT:
+ if (gSaveBlock2Ptr->pokedex.owned[index] & mask)
+ {
+ if ((gSaveBlock2Ptr->pokedex.owned[index] & mask) == (gSaveBlock2Ptr->pokedex.seen[index] & mask)
+ && (gSaveBlock2Ptr->pokedex.owned[index] & mask) == (gSaveBlock1Ptr->seen1[index] & mask)
+ && (gSaveBlock2Ptr->pokedex.owned[index] & mask) == (gSaveBlock1Ptr->seen2[index] & mask))
+ retVal = 1;
+ }
+ break;
+ case FLAG_SET_SEEN:
+ gSaveBlock2Ptr->pokedex.seen[index] |= mask;
+ gSaveBlock1Ptr->seen1[index] |= mask;
+ gSaveBlock1Ptr->seen2[index] |= mask;
+ break;
+ case FLAG_SET_CAUGHT:
+ gSaveBlock2Ptr->pokedex.owned[index] |= mask;
+ break;
+ }
+ return retVal;
+}
+
+u16 sub_8104BBC(u8 caseId, bool8 whichDex)
+{
+ u16 count = 0;
+ u16 i;
+
+ switch (whichDex)
+ {
+ case 0: // Kanto
+ for (i = 0; i < KANTO_DEX_COUNT; i++)
+ {
+ if (sub_8104AB0(i + 1, caseId, FALSE))
+ count++;
+ }
+ break;
+ case 1: // National
+ for (i = 0; i < NATIONAL_DEX_COUNT; i++)
+ {
+ if (sub_8104AB0(i + 1, caseId, FALSE))
+ count++;
+
+ }
+ break;
+ }
+ return count;
+}
+
+void sub_8104C2C(const u8 *src)
+{
+ sub_81047C8(1, 0, src, 236 - GetStringWidth(0, src, 0), 2, 4);
+}
+
+bool8 sub_8104C64(u16 a0, u8 a1, u8 a2)
+{
+ struct WindowTemplate template;
+ a2--;
+ CopyToBgTilemapBufferRect_ChangePalette(3, gUnknown_845228C, gUnknown_8452334[a2][a1][0], gUnknown_8452334[a2][a1][1], 8, 8, a1 + 5);
+ if (gUnknown_203ACF0->field_20[a1] == 0xFF)
+ {
+ template = gUnknown_84521C4;
+ template.tilemapLeft = gUnknown_8452334[a2][a1][0];
+ template.tilemapTop = gUnknown_8452334[a2][a1][1];
+ template.paletteNum = a1 + 1;
+ template.baseBlock = a1 * 64 + 8;
+ gUnknown_203ACF0->field_20[a1] = AddWindow(&template);
+ FillWindowPixelBuffer(gUnknown_203ACF0->field_20[a1], PIXEL_FILL(0));
+ sub_81049FC(gUnknown_203ACF0->field_20[a1], a0, a1 * 16 + 16);
+ PutWindowTilemap(gUnknown_203ACF0->field_20[a1]);
+ CopyWindowToVram(gUnknown_203ACF0->field_20[a1], 2);
+ }
+ else
+ PutWindowTilemap(gUnknown_203ACF0->field_20[a1]);
+
+ if (gUnknown_203ACF0->field_24[a1] == 0xFF)
+ {
+ if (a0 != SPECIES_NONE)
+ {
+ template = gUnknown_84521CC;
+ template.tilemapLeft = gUnknown_8452334[a2][a1][2];
+ template.tilemapTop = gUnknown_8452334[a2][a1][3];
+ template.baseBlock = a1 * 40 + 0x108;
+ gUnknown_203ACF0->field_24[a1] = AddWindow(&template);
+ CopyToWindowPixelBuffer(gUnknown_203ACF0->field_24[a1], gUnknown_8440124, 0, 0);
+ sub_8104A34(gUnknown_203ACF0->field_24[a1], 0, a0, 12, 0);
+ sub_81047C8(gUnknown_203ACF0->field_24[a1], 2, gSpeciesNames[a0], 2, 13, 0);
+ if (sub_8104AB0(a0, FLAG_GET_CAUGHT, TRUE))
+ BlitBitmapRectToWindow(gUnknown_203ACF0->field_24[a1], gUnknown_8443600, 0, 0, 8, 8, 2, 3, 8, 8);
+ PutWindowTilemap(gUnknown_203ACF0->field_24[a1]);
+ CopyWindowToVram(gUnknown_203ACF0->field_24[a1], 2);
+ }
+ }
+ else
+ PutWindowTilemap(gUnknown_203ACF0->field_24[a1]);
+
+ return TRUE;
+}
+
+void sub_8104E90(void)
+{
+ int i;
+ for (i = 0; i < 4; i++)
+ {
+ sub_81047B0(&gUnknown_203ACF0->field_20[i]);
+ sub_81047B0(&gUnknown_203ACF0->field_24[i]);
+ }
+}
+
+void sub_8104EC0(u8 unused, u16 a1, u16 a2, u8 unused2, u8 unused3)
+{
+ u8 buffer[30];
+ u8 *ptr = StringCopy(buffer, gUnknown_8416002);
+ ptr = ConvertIntToDecimalStringN(ptr, a1, STR_CONV_MODE_RIGHT_ALIGN, 2);
+ *ptr++ = CHAR_SLASH;
+ ptr = ConvertIntToDecimalStringN(ptr, a2, STR_CONV_MODE_RIGHT_ALIGN, 2);
+ sub_8106E78(buffer, 2);
+}
+
+bool8 sub_8104F0C(bool8 a0)
+{
+ FillBgTilemapBufferRect_Palette0(3, 2, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 32, 20);
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20);
+ sub_81068DC(gUnknown_203ACF0->field_28, gUnknown_203ACF0->field_2B);
+ FillWindowPixelBuffer(0, PIXEL_FILL(15));
+ if (a0)
+ {
+ sub_8106E78(gUnknown_8452344[gUnknown_203ACF0->field_28], 1);
+ }
+ else
+ {
+ sub_8106E78(gUnknown_8452344[gUnknown_203ACF0->field_28], 0);
+ sub_8104EC0(0, sub_8106AF8(gUnknown_203ACF0->field_2B), sub_8106AF8(gUnknown_203ACF0->field_2A - 1), 160, 2);
+ }
+ CopyWindowToVram(0, 2);
+ FillWindowPixelBuffer(1, PIXEL_FILL(15));
+ if (!a0)
+ sub_8104C2C(gUnknown_8415F6C);
+ CopyWindowToVram(1, 2);
+ if (gUnknown_203ACF0->field_18[0] != 0xFFFF)
+ sub_8104C64(gUnknown_203ACF0->field_18[0], 0, gUnknown_203ACF0->field_2C);
+ if (gUnknown_203ACF0->field_18[1] != 0xFFFF)
+ sub_8104C64(gUnknown_203ACF0->field_18[1], 1, gUnknown_203ACF0->field_2C);
+ if (gUnknown_203ACF0->field_18[2] != 0xFFFF)
+ sub_8104C64(gUnknown_203ACF0->field_18[2], 2, gUnknown_203ACF0->field_2C);
+ if (gUnknown_203ACF0->field_18[3] != 0xFFFF)
+ sub_8104C64(gUnknown_203ACF0->field_18[3], 3, gUnknown_203ACF0->field_2C);
+ return FALSE;
+}
+
+void sub_8105058(u8 a0)
+{
+ int i;
+ u32 r7;
+
+ if (a0 == 0xFF)
+ {
+ for (i = 0; i < 4; i++)
+ {
+ LoadPalette(&gUnknown_84406C8[0], 0x52 + 0x10 * i, 2);
+ LoadPalette(&gUnknown_84406C8[1], 0x58 + 0x10 * i, 2);
+ }
+ LoadPalette(&gUnknown_84406C8[0], 0x141, 2);
+ gUnknown_203ACF0->field_2E = 0;
+ }
+ else
+ {
+ gUnknown_203ACF0->field_2E++;
+ if (gUnknown_203ACF0->field_2E == 16)
+ gUnknown_203ACF0->field_2E = 0;
+ r7 = gUnknown_203ACF0->field_2E >> 2;
+ for (i = 0; i < 4; i++)
+ {
+ if (i == a0)
+ {
+ LoadPalette(&gUnknown_84406C8[2 * r7 + 2], 0x52 + 0x10 * i, 2);
+ LoadPalette(&gUnknown_84406C8[2 * r7 + 3], 0x58 + 0x10 * i, 2);
+ }
+ else
+ {
+ LoadPalette(&gUnknown_84406C8[0], 0x52 + 0x10 * i, 2);
+ LoadPalette(&gUnknown_84406C8[1], 0x58 + 0x10 * i, 2);
+ }
+ }
+ LoadPalette(&gUnknown_84406C8[2 * r7 + 2], 0x141, 2);
+ }
+}
+
+void sub_8105178(u8 a0, u8 a1, u8 a2)
+{
+ a2--;
+ ListMenuUpdateCursorObject(a0, gUnknown_8452334[a2][a1][2] * 8, gUnknown_8452334[a2][a1][3] * 8, 0);
+}
+
+bool8 sub_81051AC(const u16 *a0, u8 a1, u16 *a2, u8 a3)
+{
+ int i;
+ const u16 *src = &a0[a1];
+ u16 *dst = &a2[a3];
+ for (i = 0; i < 20; i++)
+ {
+ *dst = *src;
+ dst += 32;
+ src += 32;
+ }
+ return FALSE;
+}
+
+bool8 sub_81051D0(u16 a0, u16 *a1, u8 a2)
+{
+ int i;
+ u16 *dst = &a1[a2];
+ for (i = 0; i < 20; i++)
+ {
+ *dst = a0;
+ dst += 32;
+ }
+ return FALSE;
+}
+
+bool8 sub_81051F0(u8 a0)
+{
+ int i;
+ int r4;
+ u16 *bg1buff = GetBgTilemapBuffer(1);
+ u16 *bg2buff = GetBgTilemapBuffer(2);
+ u16 *bg3buff = GetBgTilemapBuffer(3);
+ u16 *sp04 = gUnknown_203ACF0->field_5C + 0x800;
+ u16 *sp08 = gUnknown_203ACF0->field_5C + 0x400;
+ u16 *sp0C = gUnknown_203ACF0->field_5C + 0x000;
+ for (i = 0; i < 30; i++)
+ {
+ r4 = gUnknown_8452388[a0][i];
+ if (r4 == 30)
+ {
+ sub_81051D0(0x000, bg1buff, i);
+ sub_81051D0(0x000, bg2buff, i);
+ sub_81051D0(0x00C, bg3buff, i);
+ }
+ else
+ {
+ sub_81051AC(sp04, r4, bg1buff, i);
+ sub_81051AC(sp08, r4, bg2buff, i);
+ sub_81051AC(sp0C, r4, bg3buff, i);
+ }
+ }
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(3);
+ return FALSE;
+}
+
+bool8 sub_81052D0(u8 a0)
+{
+ u16 r4;
+ if (IsNationalPokedexEnabled())
+ r4 = gUnknown_84406E0[7];
+ else
+ r4 = gUnknown_84404C8[7];
+ switch (gUnknown_203ACF0->field_02)
+ {
+ case 0:
+ gUnknown_203ACF0->field_5C = Alloc(3 * BG_SCREEN_SIZE);
+ if (a0)
+ gUnknown_203ACF0->field_02 = 6;
+ else
+ gUnknown_203ACF0->field_02 = 2;
+ break;
+ case 1:
+ Free(gUnknown_203ACF0->field_5C);
+ return TRUE;
+ case 2:
+ BeginNormalPaletteFade(0x00007FFF, 0, 0, 16, r4);
+ gUnknown_203ACF0->field_02++;
+ break;
+ case 3:
+ FillBgTilemapBufferRect_Palette0(3, 0x00C, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 32, 20);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 32, 20);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(3);
+ gUnknown_203ACF0->field_02++;
+ break;
+ case 4:
+ BeginNormalPaletteFade(0x00007FFF, 0, 0, 0, r4);
+ sub_8104F0C(FALSE);
+ CpuFastCopy(GetBgTilemapBuffer(3), &gUnknown_203ACF0->field_5C[0 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE);
+ CpuFastCopy(GetBgTilemapBuffer(2), &gUnknown_203ACF0->field_5C[1 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE);
+ CpuFastCopy(GetBgTilemapBuffer(1), &gUnknown_203ACF0->field_5C[2 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE);
+ FillBgTilemapBufferRect_Palette0(3, 0x00C, 0, 0, 30, 20);
+ FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 32, 20);
+ FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 32, 20);
+ gUnknown_203ACF0->field_03 = 0;
+ gUnknown_203ACF0->field_02++;
+ PlaySE(SE_TB_START);
+ break;
+ case 5:
+ if (gUnknown_203ACF0->field_03 < 10)
+ {
+ sub_81051F0(gUnknown_203ACF0->field_03);
+ gUnknown_203ACF0->field_03++;
+ }
+ else
+ {
+ gUnknown_203ACF0->field_02 = 1;
+ }
+ break;
+ case 6:
+ CpuFastCopy(GetBgTilemapBuffer(3), &gUnknown_203ACF0->field_5C[0 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE);
+ CpuFastCopy(GetBgTilemapBuffer(2), &gUnknown_203ACF0->field_5C[1 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE);
+ CpuFastCopy(GetBgTilemapBuffer(1), &gUnknown_203ACF0->field_5C[2 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE);
+ gUnknown_203ACF0->field_03 = 9;
+ gUnknown_203ACF0->field_02++;
+ PlaySE(SE_TB_START);
+ break;
+ case 7:
+ if (gUnknown_203ACF0->field_03 != 0)
+ {
+ sub_81051F0(gUnknown_203ACF0->field_03);
+ gUnknown_203ACF0->field_03--;
+ }
+ else
+ {
+ sub_81051F0(gUnknown_203ACF0->field_02);
+ BeginNormalPaletteFade(0x00007FFF, 0, 16, 16, r4);
+ gUnknown_203ACF0->field_02++;
+ }
+ break;
+ case 8:
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ sub_8104F0C(FALSE);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(3);
+ gUnknown_203ACF0->field_02++;
+ break;
+ case 9:
+ gPaletteFade.bufferTransferDisabled = FALSE;
+ BeginNormalPaletteFade(0x00007FFF, 0, 16, 0, r4);
+ gUnknown_203ACF0->field_02 = 1;
+ break;
+ }
+ return FALSE;
+}