summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2020-11-27 11:12:05 -0500
committerGitHub <noreply@github.com>2020-11-27 11:12:05 -0500
commitf8a1bf14fbb4dae6ffb93b921e6b590e8cef5a4d (patch)
tree1f6ccd9f670f08250e2e70bc7bc31acc4b85c57c
parent7377bc438bcf9b0c1bfa4478d6ab794ad8cdde89 (diff)
parentf2e7684b177c5dec2958e2ba81b1ae237c9e15e5 (diff)
Merge pull request #371 from GriffinRichards/data-pokedex
Move pokedex_screen data from asm to C
-rw-r--r--asm/pokedex_screen.s50
-rw-r--r--data/pokedex_screen.s1434
-rw-r--r--include/graphics.h4
-rw-r--r--include/strings.h56
-rw-r--r--ld_script.txt1
-rw-r--r--src/data/pokemon/pokedex_categories.h1001
-rw-r--r--src/graphics.c2
-rw-r--r--src/pokedex_screen.c779
-rw-r--r--src/strings.c76
9 files changed, 1804 insertions, 1599 deletions
diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s
index 9dbbabd6f..dcfc5f110 100644
--- a/asm/pokedex_screen.s
+++ b/asm/pokedex_screen.s
@@ -399,7 +399,7 @@ _08105878:
adds r0, r6, r0
lsls r0, 24
lsrs r6, r0, 24
- ldr r2, _081058C0 @ =gUnknown_8415F8F
+ ldr r2, _081058C0 @ =gText_PokedexPokemon
str r7, [sp]
str r4, [sp, 0x4]
mov r0, r8
@@ -413,7 +413,7 @@ _08105878:
pop {r0}
bx r0
.align 2, 0
-_081058C0: .4byte gUnknown_8415F8F
+_081058C0: .4byte gText_PokedexPokemon
thumb_func_end sub_8105800
thumb_func_start sub_81058C4
@@ -442,7 +442,7 @@ sub_81058C4: @ 81058C4
lsls r1, 2
adds r1, r2
ldrh r4, [r1, 0xC]
- ldr r1, _08105978 @ =gUnknown_8415F98
+ ldr r1, _08105978 @ =gText_HT
mov r10, r1
movs r3, 0
add r2, sp, 0x8
@@ -501,7 +501,7 @@ _0810593A:
b _08105998
.align 2, 0
_08105974: .4byte gPokedexEntries
-_08105978: .4byte gUnknown_8415F98
+_08105978: .4byte gText_HT
_0810597C: .4byte 0x00002710
_08105980:
add r1, sp, 0xC
@@ -848,12 +848,12 @@ _08105BE6:
adds r5, 0x1E
cmp r2, r1
bcs _08105C60
- ldr r3, _08105CA8 @ =gUnknown_8415FA0
+ ldr r3, _08105CA8 @ =gText_Lbs
ldrb r0, [r3]
cmp r0, 0xFF
beq _08105C60
adds r3, r1, 0
- ldr r4, _08105CA8 @ =gUnknown_8415FA0
+ ldr r4, _08105CA8 @ =gText_Lbs
adds r1, r7, 0
add r1, sp
adds r1, 0x8
@@ -881,7 +881,7 @@ _08105C60:
str r4, [sp, 0x4]
mov r0, r10
movs r1, 0
- ldr r2, _08105CAC @ =gUnknown_8415F9B
+ ldr r2, _08105CAC @ =gText_WT
mov r3, r8
bl sub_81047C8
lsls r0, r5, 24
@@ -904,8 +904,8 @@ _08105C60:
pop {r0}
bx r0
.align 2, 0
-_08105CA8: .4byte gUnknown_8415FA0
-_08105CAC: .4byte gUnknown_8415F9B
+_08105CA8: .4byte gText_Lbs
+_08105CAC: .4byte gText_WT
thumb_func_end sub_8105A3C
thumb_func_start sub_8105CB0
@@ -1277,7 +1277,7 @@ sub_8105E1C: @ 8105E1C
bl FillWindowPixelBuffer
cmp r6, 0
bne _08105FEC
- ldr r2, _08105FE4 @ =gUnknown_8415FAD
+ ldr r2, _08105FE4 @ =gText_Cry
movs r0, 0x2
str r0, [sp]
movs r0, 0x4
@@ -1286,7 +1286,7 @@ sub_8105E1C: @ 8105E1C
movs r1, 0
movs r3, 0x8
bl sub_81047C8
- ldr r0, _08105FE8 @ =gUnknown_8415FB3
+ ldr r0, _08105FE8 @ =gText_NextDataCancel
bl sub_8104C2C
b _08105FF2
.align 2, 0
@@ -1295,10 +1295,10 @@ _08105FD4: .4byte gUnknown_203ACF0
_08105FD8: .4byte gUnknown_84521DC
_08105FDC: .4byte gUnknown_84521E4
_08105FE0: .4byte gSpeciesNames
-_08105FE4: .4byte gUnknown_8415FAD
-_08105FE8: .4byte gUnknown_8415FB3
+_08105FE4: .4byte gText_Cry
+_08105FE8: .4byte gText_NextDataCancel
_08105FEC:
- ldr r0, _08106010 @ =gUnknown_8415FC8
+ ldr r0, _08106010 @ =gText_Next
bl sub_8104C2C
_08105FF2:
movs r0, 0x1
@@ -1314,7 +1314,7 @@ _08105FF2:
pop {r1}
bx r1
.align 2, 0
-_08106010: .4byte gUnknown_8415FC8
+_08106010: .4byte gText_Next
thumb_func_end sub_8105E1C
thumb_func_start sub_8106014
@@ -1691,7 +1691,7 @@ _081062B4:
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
- ldr r4, _08106470 @ =gUnknown_8415FED
+ ldr r4, _08106470 @ =gText_Size
movs r0, 0
adds r1, r4, 0
movs r2, 0
@@ -1728,7 +1728,7 @@ _081062B4:
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
- ldr r4, _08106474 @ =gUnknown_8415FE8
+ ldr r4, _08106474 @ =gText_Area
movs r0, 0
adds r1, r4, 0
movs r2, 0
@@ -1805,8 +1805,8 @@ _08106460: .4byte gUnknown_84521FC
_08106464: .4byte gUnknown_8452204
_08106468: .4byte gUnknown_84521EC
_0810646C: .4byte gUnknown_845220C
-_08106470: .4byte gUnknown_8415FED
-_08106474: .4byte gUnknown_8415FE8
+_08106470: .4byte gText_Size
+_08106474: .4byte gText_Area
_08106478:
ldr r0, [r7]
adds r0, 0x52
@@ -2130,7 +2130,7 @@ _081066E2:
movs r2, 0
movs r3, 0
bl BlitBitmapRectToWindow
- ldr r4, _081067B4 @ =gUnknown_8415FF2
+ ldr r4, _081067B4 @ =gText_AreaUnknown
movs r0, 0
adds r1, r4, 0
movs r2, 0
@@ -2161,7 +2161,7 @@ _0810675A:
movs r0, 0x1
movs r1, 0xFF
bl FillWindowPixelBuffer
- ldr r2, _081067B8 @ =gUnknown_8415FAD
+ ldr r2, _081067B8 @ =gText_Cry
movs r0, 0x2
str r0, [sp]
movs r0, 0x4
@@ -2170,7 +2170,7 @@ _0810675A:
movs r1, 0
movs r3, 0x8
bl sub_81047C8
- ldr r0, _081067BC @ =gUnknown_8415FCF
+ ldr r0, _081067BC @ =gText_CancelPreviousData
bl sub_8104C2C
movs r0, 0x1
bl PutWindowTilemap
@@ -2190,9 +2190,9 @@ _0810675A:
_081067A8: .4byte 0x000007d1
_081067AC: .4byte gUnknown_203ACF0
_081067B0: .4byte gUnknown_8443D00
-_081067B4: .4byte gUnknown_8415FF2
-_081067B8: .4byte gUnknown_8415FAD
-_081067BC: .4byte gUnknown_8415FCF
+_081067B4: .4byte gText_AreaUnknown
+_081067B8: .4byte gText_Cry
+_081067BC: .4byte gText_CancelPreviousData
thumb_func_end sub_810603C
thumb_func_start sub_81067C0
diff --git a/data/pokedex_screen.s b/data/pokedex_screen.s
deleted file mode 100644
index 30e1a9b42..000000000
--- a/data/pokedex_screen.s
+++ /dev/null
@@ -1,1434 +0,0 @@
-#include "constants/region_map_sections.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_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
- .align 2
- .4byte 0x00000000
- .4byte 0x00000000
- .2byte 0x0001
- .2byte 0x0000
- .byte 0xff
- .byte 0xff
- .byte 0xff
- .byte 0x00
- .2byte 0xffff, 0xffff, 0xffff, 0xffff
- .byte 0xff, 0xff, 0xff, 0xff
- .byte 0xff, 0xff, 0xff, 0xff
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .4byte 0x00000000
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
- .byte 0xff, 0x00, 0x00
- .align 2
- .4byte NULL
- .2byte 0x0000
- .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
- .2byte 0x0000
- .4byte NULL
- .byte 0xff, 0xff
- .2byte 0x0000
- .byte 0x00
- .align 1
- .2byte 0x0000, 0x0000, 0x0000, 0x0000
-
- .align 2
-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 gText_DexCategory_GrasslandPkmn, 0
- .4byte gText_DexCategory_ForestPkmn, 1
- .4byte gText_DexCategory_WatersEdgePkmn, 2
- .4byte gText_DexCategory_SeaPkmn, 3
- .4byte gText_DexCategory_CavePkmn, 4
- .4byte gText_DexCategory_MountainPkmn, 5
- .4byte gText_DexCategory_RoughTerrainPkmn, 6
- .4byte gText_DexCategory_UrbanPkmn, 7
- .4byte gText_DexCategory_RarePkmn, 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 gText_DexCategory_GrasslandPkmn, 0
- .4byte gText_DexCategory_ForestPkmn, 1
- .4byte gText_DexCategory_WatersEdgePkmn, 2
- .4byte gText_DexCategory_SeaPkmn, 3
- .4byte gText_DexCategory_CavePkmn, 4
- .4byte gText_DexCategory_MountainPkmn, 5
- .4byte gText_DexCategory_RoughTerrainPkmn, 6
- .4byte gText_DexCategory_UrbanPkmn, 7
- .4byte gText_DexCategory_RarePkmn, 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
-
-gDexCategoryNamePtrs:: @ 8452344 dataptr
- .4byte gText_DexCategory_GrasslandPkmn
- .4byte gText_DexCategory_ForestPkmn
- .4byte gText_DexCategory_WatersEdgePkmn
- .4byte gText_DexCategory_SeaPkmn
- .4byte gText_DexCategory_CavePkmn
- .4byte gText_DexCategory_MountainPkmn
- .4byte gText_DexCategory_RoughTerrainPkmn
- .4byte gText_DexCategory_UrbanPkmn
- .4byte gText_DexCategory_RarePkmn
-
-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
-
-gDexCategory_GrasslandPkmn_Page1:: @ 84524D0
- .2byte SPECIES_RATTATA
- .2byte SPECIES_RATICATE
- .2byte SPECIES_SENTRET
- .2byte SPECIES_FURRET
-
-gDexCategory_GrasslandPkmn_Page2:: @ 84524D8
- .2byte SPECIES_ZIGZAGOON
- .2byte SPECIES_LINOONE
- .2byte SPECIES_POOCHYENA
- .2byte SPECIES_MIGHTYENA
-
-gDexCategory_GrasslandPkmn_Page3:: @ 84524E0
- .2byte SPECIES_NIDORAN_F
- .2byte SPECIES_NIDORINA
- .2byte SPECIES_NIDOQUEEN
-
-gDexCategory_GrasslandPkmn_Page4:: @ 84524E6
- .2byte SPECIES_NIDORAN_M
- .2byte SPECIES_NIDORINO
- .2byte SPECIES_NIDOKING
-
-gDexCategory_GrasslandPkmn_Page5:: @ 84524EC
- .2byte SPECIES_DODUO
- .2byte SPECIES_DODRIO
- .2byte SPECIES_TAILLOW
- .2byte SPECIES_SWELLOW
-
-gDexCategory_GrasslandPkmn_Page6:: @ 84524F4
- .2byte SPECIES_TANGELA
- .2byte SPECIES_ROSELIA
- .2byte SPECIES_SUNKERN
- .2byte SPECIES_SUNFLORA
-
-gDexCategory_GrasslandPkmn_Page7:: @ 84524FC
- .2byte SPECIES_HOPPIP
- .2byte SPECIES_SKIPLOOM
- .2byte SPECIES_JUMPLUFF
-
-gDexCategory_GrasslandPkmn_Page8:: @ 8452502
- .2byte SPECIES_ODDISH
- .2byte SPECIES_GLOOM
- .2byte SPECIES_VILEPLUME
- .2byte SPECIES_BELLOSSOM
-
-gDexCategory_GrasslandPkmn_Page9:: @ 845250A
- .2byte SPECIES_EKANS
- .2byte SPECIES_ARBOK
-
-gDexCategory_GrasslandPkmn_Page10:: @ 845250E
- .2byte SPECIES_IGGLYBUFF
- .2byte SPECIES_JIGGLYPUFF
- .2byte SPECIES_WIGGLYTUFF
-
-gDexCategory_GrasslandPkmn_Page11:: @ 8452514
- .2byte SPECIES_MAREEP
- .2byte SPECIES_FLAAFFY
- .2byte SPECIES_AMPHAROS
-
-gDexCategory_GrasslandPkmn_Page12:: @ 845251A
- .2byte SPECIES_FARFETCHD
- .2byte SPECIES_LICKITUNG
-
-gDexCategory_GrasslandPkmn_Page13:: @ 845251E
- .2byte SPECIES_SCYTHER
- .2byte SPECIES_SCIZOR
-
-gDexCategory_GrasslandPkmn_Page14:: @ 8452522
- .2byte SPECIES_DROWZEE
- .2byte SPECIES_HYPNO
- .2byte SPECIES_GULPIN
- .2byte SPECIES_SWALOT
-
-gDexCategory_GrasslandPkmn_Page15:: @ 845252A
- .2byte SPECIES_KANGASKHAN
- .2byte SPECIES_GIRAFARIG
-
-gDexCategory_GrasslandPkmn_Page16:: @ 845252E
- .2byte SPECIES_TAUROS
- .2byte SPECIES_MILTANK
-
-gDexCategory_GrasslandPkmn_Page17:: @ 8452532
- .2byte SPECIES_VULPIX
- .2byte SPECIES_NINETALES
- .2byte SPECIES_PONYTA
- .2byte SPECIES_RAPIDASH
-
-gDexCategory_GrasslandPkmn_Page18:: @ 845253A
- .2byte SPECIES_ELEKID
- .2byte SPECIES_ELECTABUZZ
- .2byte SPECIES_ELECTRIKE
- .2byte SPECIES_MANECTRIC
-
-gDexCategory_GrasslandPkmn_Page19:: @ 8452542
- .2byte SPECIES_ZANGOOSE
- .2byte SPECIES_SEVIPER
-
-gDexCategory_GrasslandPkmn_Page20:: @ 8452546
- .2byte SPECIES_PLUSLE
- .2byte SPECIES_MINUN
-
-gDexCategory_GrasslandPkmn_Page21:: @ 845254A
- .2byte SPECIES_GROWLITHE
- .2byte SPECIES_ARCANINE
-
-gDexCategory_GrasslandPkmn_Page22:: @ 845254E
- .2byte SPECIES_CASTFORM
- .2byte SPECIES_CHIMECHO
-
-gDexCategory_GrasslandPkmn_Page23:: @ 8452552
- .2byte SPECIES_BULBASAUR
- .2byte SPECIES_IVYSAUR
- .2byte SPECIES_VENUSAUR
-
-gDexCategory_GrasslandPkmn_Page24:: @ 8452558
- .2byte SPECIES_CHIKORITA
- .2byte SPECIES_BAYLEEF
- .2byte SPECIES_MEGANIUM
-
-gDexCategory_GrasslandPkmn_Page25:: @ 845255E
- .2byte SPECIES_CYNDAQUIL
- .2byte SPECIES_QUILAVA
- .2byte SPECIES_TYPHLOSION
-
-gDexCategory_GrasslandPkmn_Page26:: @ 8452564
- .2byte SPECIES_TORCHIC
- .2byte SPECIES_COMBUSKEN
- .2byte SPECIES_BLAZIKEN
-
-gDexCategory_GrasslandPkmn_Page27:: @ 845256A
- .2byte SPECIES_RAIKOU
- .2byte SPECIES_ENTEI
- .2byte SPECIES_SUICUNE
-
-gDexCategory_ForestPkmn_Page1:: @ 8452570
- .2byte SPECIES_CATERPIE
- .2byte SPECIES_METAPOD
- .2byte SPECIES_BUTTERFREE
-
-gDexCategory_ForestPkmn_Page2:: @ 8452576
- .2byte SPECIES_WEEDLE
- .2byte SPECIES_KAKUNA
- .2byte SPECIES_BEEDRILL
-
-gDexCategory_ForestPkmn_Page3:: @ 845257C
- .2byte SPECIES_WURMPLE
- .2byte SPECIES_SILCOON
- .2byte SPECIES_BEAUTIFLY
-
-gDexCategory_ForestPkmn_Page4:: @ 8452582
- .2byte SPECIES_CASCOON
- .2byte SPECIES_DUSTOX
-
-gDexCategory_ForestPkmn_Page5:: @ 8452586
- .2byte SPECIES_PIDGEY
- .2byte SPECIES_PIDGEOTTO
- .2byte SPECIES_PIDGEOT
-
-gDexCategory_ForestPkmn_Page6:: @ 845258C
- .2byte SPECIES_HOOTHOOT
- .2byte SPECIES_NOCTOWL
- .2byte SPECIES_NATU
- .2byte SPECIES_XATU
-
-gDexCategory_ForestPkmn_Page7:: @ 8452594
- .2byte SPECIES_PICHU
- .2byte SPECIES_PIKACHU
- .2byte SPECIES_RAICHU
-
-gDexCategory_ForestPkmn_Page8:: @ 845259A
- .2byte SPECIES_BELLSPROUT
- .2byte SPECIES_WEEPINBELL
- .2byte SPECIES_VICTREEBEL
-
-gDexCategory_ForestPkmn_Page9:: @ 84525A0
- .2byte SPECIES_PARAS
- .2byte SPECIES_PARASECT
- .2byte SPECIES_SHROOMISH
- .2byte SPECIES_BRELOOM
-
-gDexCategory_ForestPkmn_Page10:: @ 84525A8
- .2byte SPECIES_SEEDOT
- .2byte SPECIES_NUZLEAF
- .2byte SPECIES_SHIFTRY
-
-gDexCategory_ForestPkmn_Page11:: @ 84525AE
- .2byte SPECIES_VENONAT
- .2byte SPECIES_VENOMOTH
- .2byte SPECIES_YANMA
-
-gDexCategory_ForestPkmn_Page12:: @ 84525B4
- .2byte SPECIES_LEDYBA
- .2byte SPECIES_LEDIAN
- .2byte SPECIES_SPINARAK
- .2byte SPECIES_ARIADOS
-
-gDexCategory_ForestPkmn_Page13:: @ 84525BC
- .2byte SPECIES_NINCADA
- .2byte SPECIES_NINJASK
- .2byte SPECIES_SHEDINJA
-
-gDexCategory_ForestPkmn_Page14:: @ 84525C2
- .2byte SPECIES_VOLBEAT
- .2byte SPECIES_ILLUMISE
-
-gDexCategory_ForestPkmn_Page15:: @ 84525C6
- .2byte SPECIES_PINECO
- .2byte SPECIES_FORRETRESS
-
-gDexCategory_ForestPkmn_Page16:: @ 84525CA
- .2byte SPECIES_SLAKOTH
- .2byte SPECIES_VIGOROTH
- .2byte SPECIES_SLAKING
-
-gDexCategory_ForestPkmn_Page17:: @ 84525D0
- .2byte SPECIES_SKITTY
- .2byte SPECIES_DELCATTY
-
-gDexCategory_ForestPkmn_Page18:: @ 84525D4
- .2byte SPECIES_MURKROW
- .2byte SPECIES_SNEASEL
-
-gDexCategory_ForestPkmn_Page19:: @ 84525D8
- .2byte SPECIES_EXEGGCUTE
- .2byte SPECIES_EXEGGUTOR
- .2byte SPECIES_SUDOWOODO
-
-gDexCategory_ForestPkmn_Page20:: @ 84525DE
- .2byte SPECIES_AIPOM
- .2byte SPECIES_STANTLER
- .2byte SPECIES_KECLEON
-
-gDexCategory_ForestPkmn_Page21:: @ 84525E4
- .2byte SPECIES_PINSIR
- .2byte SPECIES_HERACROSS
-
-gDexCategory_ForestPkmn_Page22:: @ 84525E8
- .2byte SPECIES_SWABLU
- .2byte SPECIES_ALTARIA
- .2byte SPECIES_TROPIUS
-
-gDexCategory_ForestPkmn_Page23:: @ 84525EE
- .2byte SPECIES_DUSKULL
- .2byte SPECIES_DUSCLOPS
-
-gDexCategory_ForestPkmn_Page24:: @ 84525F2
- .2byte SPECIES_TOGEPI
- .2byte SPECIES_TOGETIC
-
-gDexCategory_ForestPkmn_Page25:: @ 84525F6
- .2byte SPECIES_TREECKO
- .2byte SPECIES_GROVYLE
- .2byte SPECIES_SCEPTILE
-
-gDexCategory_ForestPkmn_Page26:: @ 84525FC
- .2byte SPECIES_CELEBI
-
-gDexCategory_WatersEdgePkmn_Page1:: @ 84525FE
- .2byte SPECIES_GOLDEEN
- .2byte SPECIES_SEAKING
-
-gDexCategory_WatersEdgePkmn_Page2:: @ 8452602
- .2byte SPECIES_MAGIKARP
- .2byte SPECIES_GYARADOS
- .2byte SPECIES_KRABBY
- .2byte SPECIES_KINGLER
-
-gDexCategory_WatersEdgePkmn_Page3:: @ 845260A
- .2byte SPECIES_CORPHISH
- .2byte SPECIES_CRAWDAUNT
- .2byte SPECIES_BARBOACH
- .2byte SPECIES_WHISCASH
-
-gDexCategory_WatersEdgePkmn_Page4:: @ 8452612
- .2byte SPECIES_LOTAD
- .2byte SPECIES_LOMBRE
- .2byte SPECIES_LUDICOLO
-
-gDexCategory_WatersEdgePkmn_Page5:: @ 8452618
- .2byte SPECIES_SURSKIT
- .2byte SPECIES_MASQUERAIN
-
-gDexCategory_WatersEdgePkmn_Page6:: @ 845261C
- .2byte SPECIES_PSYDUCK
- .2byte SPECIES_GOLDUCK
- .2byte SPECIES_WOOPER
- .2byte SPECIES_QUAGSIRE
-
-gDexCategory_WatersEdgePkmn_Page7:: @ 8452624
- .2byte SPECIES_POLIWAG
- .2byte SPECIES_POLIWHIRL
- .2byte SPECIES_POLIWRATH
- .2byte SPECIES_POLITOED
-
-gDexCategory_WatersEdgePkmn_Page8:: @ 845262C
- .2byte SPECIES_AZURILL
- .2byte SPECIES_MARILL
- .2byte SPECIES_AZUMARILL
-
-gDexCategory_WatersEdgePkmn_Page9:: @ 8452632
- .2byte SPECIES_SLOWPOKE
- .2byte SPECIES_SLOWBRO
- .2byte SPECIES_SLOWKING
-
-gDexCategory_WatersEdgePkmn_Page10:: @ 8452638
- .2byte SPECIES_FEEBAS
- .2byte SPECIES_MILOTIC
-
-gDexCategory_WatersEdgePkmn_Page11:: @ 845263C
- .2byte SPECIES_ANORITH
- .2byte SPECIES_ARMALDO
-
-gDexCategory_WatersEdgePkmn_Page12:: @ 8452640
- .2byte SPECIES_DRATINI
- .2byte SPECIES_DRAGONAIR
- .2byte SPECIES_DRAGONITE
-
-gDexCategory_WatersEdgePkmn_Page13:: @ 8452646
- .2byte SPECIES_SQUIRTLE
- .2byte SPECIES_WARTORTLE
- .2byte SPECIES_BLASTOISE
-
-gDexCategory_WatersEdgePkmn_Page14:: @ 845264C
- .2byte SPECIES_TOTODILE
- .2byte SPECIES_CROCONAW
- .2byte SPECIES_FERALIGATR
-
-gDexCategory_WatersEdgePkmn_Page15:: @ 8452652
- .2byte SPECIES_MUDKIP
- .2byte SPECIES_MARSHTOMP
- .2byte SPECIES_SWAMPERT
-
-gDexCategory_WatersEdgePkmn_Page16:: @ 8452658
- .2byte SPECIES_LATIAS
- .2byte SPECIES_LATIOS
-
-gDexCategory_SeaPkmn_Page1:: @ 845265C
- .2byte SPECIES_TENTACOOL
- .2byte SPECIES_TENTACRUEL
-
-gDexCategory_SeaPkmn_Page2:: @ 8452660
- .2byte SPECIES_WINGULL
- .2byte SPECIES_PELIPPER
-
-gDexCategory_SeaPkmn_Page3:: @ 8452664
- .2byte SPECIES_STARYU
- .2byte SPECIES_STARMIE
-
-gDexCategory_SeaPkmn_Page4:: @ 8452668
- .2byte SPECIES_CHINCHOU
- .2byte SPECIES_LANTURN
- .2byte SPECIES_REMORAID
- .2byte SPECIES_OCTILLERY
-
-gDexCategory_SeaPkmn_Page5:: @ 8452670
- .2byte SPECIES_SHELLDER
- .2byte SPECIES_CLOYSTER
-
-gDexCategory_SeaPkmn_Page6:: @ 8452674
- .2byte SPECIES_CLAMPERL
- .2byte SPECIES_HUNTAIL
- .2byte SPECIES_GOREBYSS
-
-gDexCategory_SeaPkmn_Page7:: @ 845267A
- .2byte SPECIES_QWILFISH
- .2byte SPECIES_CORSOLA
- .2byte SPECIES_MANTINE
- .2byte SPECIES_LUVDISC
-
-gDexCategory_SeaPkmn_Page8:: @ 8452682
- .2byte SPECIES_SEEL
- .2byte SPECIES_DEWGONG
-
-gDexCategory_SeaPkmn_Page9:: @ 8452686
- .2byte SPECIES_SPHEAL
- .2byte SPECIES_SEALEO
- .2byte SPECIES_WALREIN
-
-gDexCategory_SeaPkmn_Page10:: @ 845268C
- .2byte SPECIES_CARVANHA
- .2byte SPECIES_SHARPEDO
- .2byte SPECIES_WAILMER
- .2byte SPECIES_WAILORD
-
-gDexCategory_SeaPkmn_Page11:: @ 8452694
- .2byte SPECIES_HORSEA
- .2byte SPECIES_SEADRA
- .2byte SPECIES_KINGDRA
-
-gDexCategory_SeaPkmn_Page12:: @ 845269A
- .2byte SPECIES_RELICANTH
-
-gDexCategory_SeaPkmn_Page13:: @ 845269C
- .2byte SPECIES_LAPRAS
-
-gDexCategory_SeaPkmn_Page14:: @ 845269E
- .2byte SPECIES_OMANYTE
- .2byte SPECIES_OMASTAR
- .2byte SPECIES_KABUTO
- .2byte SPECIES_KABUTOPS
-
-gDexCategory_SeaPkmn_Page15:: @ 84526A6
- .2byte SPECIES_LILEEP
- .2byte SPECIES_CRADILY
-
-gDexCategory_SeaPkmn_Page16:: @ 84526AA
- .2byte SPECIES_KYOGRE
-
-gDexCategory_CavePkmn_Page1:: @ 84526AC
- .2byte SPECIES_ZUBAT
- .2byte SPECIES_GOLBAT
- .2byte SPECIES_CROBAT
-
-gDexCategory_CavePkmn_Page2:: @ 84526B2
- .2byte SPECIES_DIGLETT
- .2byte SPECIES_DUGTRIO
- .2byte SPECIES_ONIX
- .2byte SPECIES_STEELIX
-
-gDexCategory_CavePkmn_Page3:: @ 84526BA
- .2byte SPECIES_SWINUB
- .2byte SPECIES_PILOSWINE
- .2byte SPECIES_SNORUNT
- .2byte SPECIES_GLALIE
-
-gDexCategory_CavePkmn_Page4:: @ 84526C2
- .2byte SPECIES_WHISMUR
- .2byte SPECIES_LOUDRED
- .2byte SPECIES_EXPLOUD
-
-gDexCategory_CavePkmn_Page5:: @ 84526C8
- .2byte SPECIES_MISDREAVUS
- .2byte SPECIES_DUNSPARCE
- .2byte SPECIES_NOSEPASS
-
-gDexCategory_CavePkmn_Page6:: @ 84526CE
- .2byte SPECIES_SABLEYE
- .2byte SPECIES_MAWILE
-
-gDexCategory_CavePkmn_Page7:: @ 84526D2
- .2byte SPECIES_GASTLY
- .2byte SPECIES_HAUNTER
- .2byte SPECIES_GENGAR
-
-gDexCategory_CavePkmn_Page8:: @ 84526D8
- .2byte SPECIES_WYNAUT
- .2byte SPECIES_WOBBUFFET
-
-gDexCategory_CavePkmn_Page9:: @ 84526DC
- .2byte SPECIES_LUNATONE
- .2byte SPECIES_SOLROCK
-
-gDexCategory_CavePkmn_Page10:: @ 84526E0
- .2byte SPECIES_REGIROCK
- .2byte SPECIES_REGICE
- .2byte SPECIES_REGISTEEL
-
-gDexCategory_MountainPkmn_Page1:: @ 84526E6
- .2byte SPECIES_GEODUDE
- .2byte SPECIES_GRAVELER
- .2byte SPECIES_GOLEM
-
-gDexCategory_MountainPkmn_Page2:: @ 84526EC
- .2byte SPECIES_MANKEY
- .2byte SPECIES_PRIMEAPE
- .2byte SPECIES_SPOINK
- .2byte SPECIES_GRUMPIG
-
-gDexCategory_MountainPkmn_Page3:: @ 84526F4
- .2byte SPECIES_MACHOP
- .2byte SPECIES_MACHOKE
- .2byte SPECIES_MACHAMP
-
-gDexCategory_MountainPkmn_Page4:: @ 84526FA
- .2byte SPECIES_CLEFFA
- .2byte SPECIES_CLEFAIRY
- .2byte SPECIES_CLEFABLE
-
-gDexCategory_MountainPkmn_Page5:: @ 8452700
- .2byte SPECIES_CUBONE
- .2byte SPECIES_MAROWAK
-
-gDexCategory_MountainPkmn_Page6:: @ 8452704
- .2byte SPECIES_SLUGMA
- .2byte SPECIES_MAGCARGO
- .2byte SPECIES_NUMEL
- .2byte SPECIES_CAMERUPT
-
-gDexCategory_MountainPkmn_Page7:: @ 845270C
- .2byte SPECIES_MAKUHITA
- .2byte SPECIES_HARIYAMA
- .2byte SPECIES_MEDITITE
- .2byte SPECIES_MEDICHAM
-
-gDexCategory_MountainPkmn_Page8:: @ 8452714
- .2byte SPECIES_SHUCKLE
- .2byte SPECIES_TEDDIURSA
- .2byte SPECIES_URSARING
- .2byte SPECIES_DELIBIRD
-
-gDexCategory_MountainPkmn_Page9:: @ 845271C
- .2byte SPECIES_GLIGAR
- .2byte SPECIES_SPINDA
-
-gDexCategory_MountainPkmn_Page10:: @ 8452720
- .2byte SPECIES_MAGBY
- .2byte SPECIES_MAGMAR
- .2byte SPECIES_TORKOAL
-
-gDexCategory_MountainPkmn_Page11:: @ 8452726
- .2byte SPECIES_ARON
- .2byte SPECIES_LAIRON
- .2byte SPECIES_AGGRON
-
-gDexCategory_MountainPkmn_Page12:: @ 845272C
- .2byte SPECIES_LARVITAR
- .2byte SPECIES_PUPITAR
- .2byte SPECIES_TYRANITAR
-
-gDexCategory_MountainPkmn_Page13:: @ 8452732
- .2byte SPECIES_SNORLAX
-
-gDexCategory_MountainPkmn_Page14:: @ 8452734
- .2byte SPECIES_ABSOL
-
-gDexCategory_MountainPkmn_Page15:: @ 8452736
- .2byte SPECIES_AERODACTYL
-
-gDexCategory_MountainPkmn_Page16:: @ 8452738
- .2byte SPECIES_CHARMANDER
- .2byte SPECIES_CHARMELEON
- .2byte SPECIES_CHARIZARD
-
-gDexCategory_MountainPkmn_Page17:: @ 845273E
- .2byte SPECIES_JIRACHI
-
-gDexCategory_RoughTerrainPkmn_Page1:: @ 8452740
- .2byte SPECIES_SPEAROW
- .2byte SPECIES_FEAROW
-
-gDexCategory_RoughTerrainPkmn_Page2:: @ 8452744
- .2byte SPECIES_SANDSHREW
- .2byte SPECIES_SANDSLASH
- .2byte SPECIES_RHYHORN
- .2byte SPECIES_RHYDON
-
-gDexCategory_RoughTerrainPkmn_Page3:: @ 845274C
- .2byte SPECIES_MAGNEMITE
- .2byte SPECIES_MAGNETON
-
-gDexCategory_RoughTerrainPkmn_Page4:: @ 8452750
- .2byte SPECIES_HOUNDOUR
- .2byte SPECIES_HOUNDOOM
- .2byte SPECIES_PHANPY
- .2byte SPECIES_DONPHAN
-
-gDexCategory_RoughTerrainPkmn_Page5:: @ 8452758
- .2byte SPECIES_CACNEA
- .2byte SPECIES_CACTURNE
-
-gDexCategory_RoughTerrainPkmn_Page6:: @ 845275C
- .2byte SPECIES_TRAPINCH
- .2byte SPECIES_VIBRAVA
- .2byte SPECIES_FLYGON
-
-gDexCategory_RoughTerrainPkmn_Page7:: @ 8452762
- .2byte SPECIES_SKARMORY
-
-gDexCategory_RoughTerrainPkmn_Page8:: @ 8452764
- .2byte SPECIES_BALTOY
- .2byte SPECIES_CLAYDOL
-
-gDexCategory_RoughTerrainPkmn_Page9:: @ 8452768
- .2byte SPECIES_BAGON
- .2byte SPECIES_SHELGON
- .2byte SPECIES_SALAMENCE
-
-gDexCategory_RoughTerrainPkmn_Page10:: @ 845276E
- .2byte SPECIES_BELDUM
- .2byte SPECIES_METANG
- .2byte SPECIES_METAGROSS
-
-gDexCategory_RoughTerrainPkmn_Page11:: @ 8452774
- .2byte SPECIES_GROUDON
-
-gDexCategory_UrbanPkmn_Page1:: @ 8452776
- .2byte SPECIES_MEOWTH
- .2byte SPECIES_PERSIAN
- .2byte SPECIES_SNUBBULL
- .2byte SPECIES_GRANBULL
-
-gDexCategory_UrbanPkmn_Page2:: @ 845277E
- .2byte SPECIES_GRIMER
- .2byte SPECIES_MUK
- .2byte SPECIES_KOFFING
- .2byte SPECIES_WEEZING
-
-gDexCategory_UrbanPkmn_Page3:: @ 8452786
- .2byte SPECIES_SHUPPET
- .2byte SPECIES_BANETTE
-
-gDexCategory_UrbanPkmn_Page4:: @ 845278A
- .2byte SPECIES_ABRA
- .2byte SPECIES_KADABRA
- .2byte SPECIES_ALAKAZAM
-
-gDexCategory_UrbanPkmn_Page5:: @ 8452790
- .2byte SPECIES_RALTS
- .2byte SPECIES_KIRLIA
- .2byte SPECIES_GARDEVOIR
-
-gDexCategory_UrbanPkmn_Page6:: @ 8452796
- .2byte SPECIES_SMOOCHUM
- .2byte SPECIES_JYNX
- .2byte SPECIES_MR_MIME
- .2byte SPECIES_SMEARGLE
-
-gDexCategory_UrbanPkmn_Page7:: @ 845279E
- .2byte SPECIES_TYROGUE
- .2byte SPECIES_HITMONLEE
- .2byte SPECIES_HITMONCHAN
- .2byte SPECIES_HITMONTOP
-
-gDexCategory_UrbanPkmn_Page8:: @ 84527A6
- .2byte SPECIES_CHANSEY
- .2byte SPECIES_BLISSEY
-
-gDexCategory_UrbanPkmn_Page9:: @ 84527AA
- .2byte SPECIES_VOLTORB
- .2byte SPECIES_ELECTRODE
- .2byte SPECIES_PORYGON
- .2byte SPECIES_PORYGON2
-
-gDexCategory_UrbanPkmn_Page10:: @ 84527B2
- .2byte SPECIES_DITTO
-
-gDexCategory_UrbanPkmn_Page11:: @ 84527B4
- .2byte SPECIES_EEVEE
- .2byte SPECIES_VAPOREON
- .2byte SPECIES_JOLTEON
- .2byte SPECIES_FLAREON
-
-gDexCategory_UrbanPkmn_Page12:: @ 84527BC
- .2byte SPECIES_ESPEON
- .2byte SPECIES_UMBREON
-
-gDexCategory_RarePkmn_Page1:: @ 84527C0
- .2byte SPECIES_UNOWN
-
-gDexCategory_RarePkmn_Page2:: @ 84527C2
- .2byte SPECIES_ARTICUNO
- .2byte SPECIES_ZAPDOS
- .2byte SPECIES_MOLTRES
-
-gDexCategory_RarePkmn_Page3:: @ 84527C8
- .2byte SPECIES_LUGIA
-
-gDexCategory_RarePkmn_Page4:: @ 84527CA
- .2byte SPECIES_HO_OH
-
-gDexCategory_RarePkmn_Page5:: @ 84527CC
- .2byte SPECIES_RAYQUAZA
-
-gDexCategory_RarePkmn_Page6:: @ 84527CE
- .2byte SPECIES_DEOXYS
-
-gDexCategory_RarePkmn_Page7:: @ 84527D0
- .2byte SPECIES_MEWTWO
-
-gDexCategory_RarePkmn_Page8:: @ 84527D2
- .2byte SPECIES_MEW
-
-gDexCategory_GrasslandPkmn::
- .4byte gDexCategory_GrasslandPkmn_Page1, 4
- .4byte gDexCategory_GrasslandPkmn_Page2, 4
- .4byte gDexCategory_GrasslandPkmn_Page3, 3
- .4byte gDexCategory_GrasslandPkmn_Page4, 3
- .4byte gDexCategory_GrasslandPkmn_Page5, 4
- .4byte gDexCategory_GrasslandPkmn_Page6, 4
- .4byte gDexCategory_GrasslandPkmn_Page7, 3
- .4byte gDexCategory_GrasslandPkmn_Page8, 4
- .4byte gDexCategory_GrasslandPkmn_Page9, 2
- .4byte gDexCategory_GrasslandPkmn_Page10, 3
- .4byte gDexCategory_GrasslandPkmn_Page11, 3
- .4byte gDexCategory_GrasslandPkmn_Page12, 2
- .4byte gDexCategory_GrasslandPkmn_Page13, 2
- .4byte gDexCategory_GrasslandPkmn_Page14, 4
- .4byte gDexCategory_GrasslandPkmn_Page15, 2
- .4byte gDexCategory_GrasslandPkmn_Page16, 2
- .4byte gDexCategory_GrasslandPkmn_Page17, 4
- .4byte gDexCategory_GrasslandPkmn_Page18, 4
- .4byte gDexCategory_GrasslandPkmn_Page19, 2
- .4byte gDexCategory_GrasslandPkmn_Page20, 2
- .4byte gDexCategory_GrasslandPkmn_Page21, 2
- .4byte gDexCategory_GrasslandPkmn_Page22, 2
- .4byte gDexCategory_GrasslandPkmn_Page23, 3
- .4byte gDexCategory_GrasslandPkmn_Page24, 3
- .4byte gDexCategory_GrasslandPkmn_Page25, 3
- .4byte gDexCategory_GrasslandPkmn_Page26, 3
- .4byte gDexCategory_GrasslandPkmn_Page27, 3
-
-gDexCategory_ForestPkmn::
- .4byte gDexCategory_ForestPkmn_Page1, 3
- .4byte gDexCategory_ForestPkmn_Page2, 3
- .4byte gDexCategory_ForestPkmn_Page3, 3
- .4byte gDexCategory_ForestPkmn_Page4, 2
- .4byte gDexCategory_ForestPkmn_Page5, 3
- .4byte gDexCategory_ForestPkmn_Page6, 4
- .4byte gDexCategory_ForestPkmn_Page7, 3
- .4byte gDexCategory_ForestPkmn_Page8, 3
- .4byte gDexCategory_ForestPkmn_Page9, 4
- .4byte gDexCategory_ForestPkmn_Page10, 3
- .4byte gDexCategory_ForestPkmn_Page11, 3
- .4byte gDexCategory_ForestPkmn_Page12, 4
- .4byte gDexCategory_ForestPkmn_Page13, 3
- .4byte gDexCategory_ForestPkmn_Page14, 2
- .4byte gDexCategory_ForestPkmn_Page15, 2
- .4byte gDexCategory_ForestPkmn_Page16, 3
- .4byte gDexCategory_ForestPkmn_Page17, 2
- .4byte gDexCategory_ForestPkmn_Page18, 2
- .4byte gDexCategory_ForestPkmn_Page19, 3
- .4byte gDexCategory_ForestPkmn_Page20, 3
- .4byte gDexCategory_ForestPkmn_Page21, 2
- .4byte gDexCategory_ForestPkmn_Page22, 3
- .4byte gDexCategory_ForestPkmn_Page23, 2
- .4byte gDexCategory_ForestPkmn_Page24, 2
- .4byte gDexCategory_ForestPkmn_Page25, 3
- .4byte gDexCategory_ForestPkmn_Page26, 1
-
-gDexCategory_WatersEdgePkmn::
- .4byte gDexCategory_WatersEdgePkmn_Page1, 2
- .4byte gDexCategory_WatersEdgePkmn_Page2, 4
- .4byte gDexCategory_WatersEdgePkmn_Page3, 4
- .4byte gDexCategory_WatersEdgePkmn_Page4, 3
- .4byte gDexCategory_WatersEdgePkmn_Page5, 2
- .4byte gDexCategory_WatersEdgePkmn_Page6, 4
- .4byte gDexCategory_WatersEdgePkmn_Page7, 4
- .4byte gDexCategory_WatersEdgePkmn_Page8, 3
- .4byte gDexCategory_WatersEdgePkmn_Page9, 3
- .4byte gDexCategory_WatersEdgePkmn_Page10, 2
- .4byte gDexCategory_WatersEdgePkmn_Page11, 2
- .4byte gDexCategory_WatersEdgePkmn_Page12, 3
- .4byte gDexCategory_WatersEdgePkmn_Page13, 3
- .4byte gDexCategory_WatersEdgePkmn_Page14, 3
- .4byte gDexCategory_WatersEdgePkmn_Page15, 3
- .4byte gDexCategory_WatersEdgePkmn_Page16, 2
-
-gDexCategory_SeaPkmn::
- .4byte gDexCategory_SeaPkmn_Page1, 2
- .4byte gDexCategory_SeaPkmn_Page2, 2
- .4byte gDexCategory_SeaPkmn_Page3, 2
- .4byte gDexCategory_SeaPkmn_Page4, 4
- .4byte gDexCategory_SeaPkmn_Page5, 2
- .4byte gDexCategory_SeaPkmn_Page6, 3
- .4byte gDexCategory_SeaPkmn_Page7, 4
- .4byte gDexCategory_SeaPkmn_Page8, 2
- .4byte gDexCategory_SeaPkmn_Page9, 3
- .4byte gDexCategory_SeaPkmn_Page10, 4
- .4byte gDexCategory_SeaPkmn_Page11, 3
- .4byte gDexCategory_SeaPkmn_Page12, 1
- .4byte gDexCategory_SeaPkmn_Page13, 1
- .4byte gDexCategory_SeaPkmn_Page14, 4
- .4byte gDexCategory_SeaPkmn_Page15, 2
- .4byte gDexCategory_SeaPkmn_Page16, 1
-
-gDexCategory_CavePkmn::
- .4byte gDexCategory_CavePkmn_Page1, 3
- .4byte gDexCategory_CavePkmn_Page2, 4
- .4byte gDexCategory_CavePkmn_Page3, 4
- .4byte gDexCategory_CavePkmn_Page4, 3
- .4byte gDexCategory_CavePkmn_Page5, 3
- .4byte gDexCategory_CavePkmn_Page6, 2
- .4byte gDexCategory_CavePkmn_Page7, 3
- .4byte gDexCategory_CavePkmn_Page8, 2
- .4byte gDexCategory_CavePkmn_Page9, 2
- .4byte gDexCategory_CavePkmn_Page10, 3
-
-gDexCategory_MountainPkmn::
- .4byte gDexCategory_MountainPkmn_Page1, 3
- .4byte gDexCategory_MountainPkmn_Page2, 4
- .4byte gDexCategory_MountainPkmn_Page3, 3
- .4byte gDexCategory_MountainPkmn_Page4, 3
- .4byte gDexCategory_MountainPkmn_Page5, 2
- .4byte gDexCategory_MountainPkmn_Page6, 4
- .4byte gDexCategory_MountainPkmn_Page7, 4
- .4byte gDexCategory_MountainPkmn_Page8, 4
- .4byte gDexCategory_MountainPkmn_Page9, 2
- .4byte gDexCategory_MountainPkmn_Page10, 3
- .4byte gDexCategory_MountainPkmn_Page11, 3
- .4byte gDexCategory_MountainPkmn_Page12, 3
- .4byte gDexCategory_MountainPkmn_Page13, 1
- .4byte gDexCategory_MountainPkmn_Page14, 1
- .4byte gDexCategory_MountainPkmn_Page15, 1
- .4byte gDexCategory_MountainPkmn_Page16, 3
- .4byte gDexCategory_MountainPkmn_Page17, 1
-
-gDexCategory_RoughTerrainPkmn::
- .4byte gDexCategory_RoughTerrainPkmn_Page1, 2
- .4byte gDexCategory_RoughTerrainPkmn_Page2, 4
- .4byte gDexCategory_RoughTerrainPkmn_Page3, 2
- .4byte gDexCategory_RoughTerrainPkmn_Page4, 4
- .4byte gDexCategory_RoughTerrainPkmn_Page5, 2
- .4byte gDexCategory_RoughTerrainPkmn_Page6, 3
- .4byte gDexCategory_RoughTerrainPkmn_Page7, 1
- .4byte gDexCategory_RoughTerrainPkmn_Page8, 2
- .4byte gDexCategory_RoughTerrainPkmn_Page9, 3
- .4byte gDexCategory_RoughTerrainPkmn_Page10, 3
- .4byte gDexCategory_RoughTerrainPkmn_Page11, 1
-
-gDexCategory_UrbanPkmn::
- .4byte gDexCategory_UrbanPkmn_Page1, 4
- .4byte gDexCategory_UrbanPkmn_Page2, 4
- .4byte gDexCategory_UrbanPkmn_Page3, 2
- .4byte gDexCategory_UrbanPkmn_Page4, 3
- .4byte gDexCategory_UrbanPkmn_Page5, 3
- .4byte gDexCategory_UrbanPkmn_Page6, 4
- .4byte gDexCategory_UrbanPkmn_Page7, 4
- .4byte gDexCategory_UrbanPkmn_Page8, 2
- .4byte gDexCategory_UrbanPkmn_Page9, 4
- .4byte gDexCategory_UrbanPkmn_Page10, 1
- .4byte gDexCategory_UrbanPkmn_Page11, 4
- .4byte gDexCategory_UrbanPkmn_Page12, 2
-
-gDexCategory_RarePkmn::
- .4byte gDexCategory_RarePkmn_Page1, 1
- .4byte gDexCategory_RarePkmn_Page2, 3
- .4byte gDexCategory_RarePkmn_Page3, 1
- .4byte gDexCategory_RarePkmn_Page4, 1
- .4byte gDexCategory_RarePkmn_Page5, 1
- .4byte gDexCategory_RarePkmn_Page6, 1
- .4byte gDexCategory_RarePkmn_Page7, 1
- .4byte gDexCategory_RarePkmn_Page8, 1
-
-gDexCategories:: @ 8452C4C struct { dataptr; data8; }
- .4byte gDexCategory_GrasslandPkmn, 27
- .4byte gDexCategory_ForestPkmn, 26
- .4byte gDexCategory_WatersEdgePkmn, 16
- .4byte gDexCategory_SeaPkmn, 16
- .4byte gDexCategory_CavePkmn, 10
- .4byte gDexCategory_MountainPkmn, 17
- .4byte gDexCategory_RoughTerrainPkmn, 11
- .4byte gDexCategory_UrbanPkmn, 12
- .4byte gDexCategory_RarePkmn, 8
diff --git a/include/graphics.h b/include/graphics.h
index 04cafced8..64ae039f8 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4930,4 +4930,8 @@ extern const u16 gPSSMenu_Pal[];
extern const u16 gUnknown_8E9C3F8[];
extern const u16 gUnknown_8E9C418[];
+// pokedex_screen
+extern const u16 gUnknown_8E9C14C[];
+extern const u16 gUnknown_8E9C16C[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/strings.h b/include/strings.h
index ce1a41a98..28dcec66b 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -964,18 +964,50 @@ 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[];
+extern const u8 gText_PokedexTableOfContents[];
+extern const u8 gText_PickOK[];
+extern const u8 gText_Seen[];
+extern const u8 gText_Owned[];
+extern const u8 gText_Kanto[];
+extern const u8 gText_National[];
+extern const u8 gText_PokemonListNoColor[];
+extern const u8 gText_SearchNoColor[];
+extern const u8 gText_5Dashes[];
+extern const u8 gText_PickFlipPageCheckCancel[];
+extern const u8 gText_PokedexNo[];
+extern const u8 gText_Page[];
+extern const u8 gText_DexCategory_GrasslandPkmn[];
+extern const u8 gText_DexCategory_ForestPkmn[];
+extern const u8 gText_DexCategory_WatersEdgePkmn[];
+extern const u8 gText_DexCategory_SeaPkmn[];
+extern const u8 gText_DexCategory_CavePkmn[];
+extern const u8 gText_DexCategory_MountainPkmn[];
+extern const u8 gText_DexCategory_RoughTerrainPkmn[];
+extern const u8 gText_DexCategory_UrbanPkmn[];
+extern const u8 gText_DexCategory_RarePkmn[];
+extern const u8 gText_PokemonList[];
+extern const u8 gText_NumericalMode[];
+extern const u8 gText_PokemonHabitats[];
+extern const u8 gText_Search[];
+extern const u8 gText_AToZMode[];
+extern const u8 gText_TypeMode[];
+extern const u8 gText_LightestMode[];
+extern const u8 gText_SmallestMode[];
+extern const u8 gText_PokedexOther[];
+extern const u8 gText_ClosePokedex[];
+extern const u8 gText_NumericalModeKanto[];
+extern const u8 gText_NumericalModeNational[];
+extern const u8 gText_PokedexPokemon[];
+extern const u8 gText_HT[];
+extern const u8 gText_WT[];
+extern const u8 gText_Lbs[];
+extern const u8 gText_Cry[];
+extern const u8 gText_NextDataCancel[];
+extern const u8 gText_Next[];
+extern const u8 gText_CancelPreviousData[];
+extern const u8 gText_Area[];
+extern const u8 gText_Size[];
+extern const u8 gText_AreaUnknown[];
// daycare
extern const u8 gText_Lv[];
diff --git a/ld_script.txt b/ld_script.txt
index edb87180b..d22e7459a 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -540,7 +540,6 @@ SECTIONS {
src/easy_chat_2.o(.rodata);
src/easy_chat_3.o(.rodata);
src/pokedex_screen.o(.rodata);
- data/pokedex_screen.o(.rodata);
src/list_menu.o(.rodata);
src/item_menu.o(.rodata);
src/save_location.o(.rodata);
diff --git a/src/data/pokemon/pokedex_categories.h b/src/data/pokemon/pokedex_categories.h
new file mode 100644
index 000000000..0553fc0f7
--- /dev/null
+++ b/src/data/pokemon/pokedex_categories.h
@@ -0,0 +1,1001 @@
+static const u16 sDexCategory_GrasslandPkmn_Page1[] = {
+ SPECIES_RATTATA,
+ SPECIES_RATICATE,
+ SPECIES_SENTRET,
+ SPECIES_FURRET,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page2[] = {
+ SPECIES_ZIGZAGOON,
+ SPECIES_LINOONE,
+ SPECIES_POOCHYENA,
+ SPECIES_MIGHTYENA,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page3[] = {
+ SPECIES_NIDORAN_F,
+ SPECIES_NIDORINA,
+ SPECIES_NIDOQUEEN,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page4[] = {
+ SPECIES_NIDORAN_M,
+ SPECIES_NIDORINO,
+ SPECIES_NIDOKING,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page5[] = {
+ SPECIES_DODUO,
+ SPECIES_DODRIO,
+ SPECIES_TAILLOW,
+ SPECIES_SWELLOW,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page6[] = {
+ SPECIES_TANGELA,
+ SPECIES_ROSELIA,
+ SPECIES_SUNKERN,
+ SPECIES_SUNFLORA,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page7[] = {
+ SPECIES_HOPPIP,
+ SPECIES_SKIPLOOM,
+ SPECIES_JUMPLUFF,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page8[] = {
+ SPECIES_ODDISH,
+ SPECIES_GLOOM,
+ SPECIES_VILEPLUME,
+ SPECIES_BELLOSSOM,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page9[] = {
+ SPECIES_EKANS,
+ SPECIES_ARBOK,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page10[] = {
+ SPECIES_IGGLYBUFF,
+ SPECIES_JIGGLYPUFF,
+ SPECIES_WIGGLYTUFF,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page11[] = {
+ SPECIES_MAREEP,
+ SPECIES_FLAAFFY,
+ SPECIES_AMPHAROS,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page12[] = {
+ SPECIES_FARFETCHD,
+ SPECIES_LICKITUNG,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page13[] = {
+ SPECIES_SCYTHER,
+ SPECIES_SCIZOR,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page14[] = {
+ SPECIES_DROWZEE,
+ SPECIES_HYPNO,
+ SPECIES_GULPIN,
+ SPECIES_SWALOT,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page15[] = {
+ SPECIES_KANGASKHAN,
+ SPECIES_GIRAFARIG,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page16[] = {
+ SPECIES_TAUROS,
+ SPECIES_MILTANK,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page17[] = {
+ SPECIES_VULPIX,
+ SPECIES_NINETALES,
+ SPECIES_PONYTA,
+ SPECIES_RAPIDASH,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page18[] = {
+ SPECIES_ELEKID,
+ SPECIES_ELECTABUZZ,
+ SPECIES_ELECTRIKE,
+ SPECIES_MANECTRIC,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page19[] = {
+ SPECIES_ZANGOOSE,
+ SPECIES_SEVIPER,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page20[] = {
+ SPECIES_PLUSLE,
+ SPECIES_MINUN,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page21[] = {
+ SPECIES_GROWLITHE,
+ SPECIES_ARCANINE,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page22[] = {
+ SPECIES_CASTFORM,
+ SPECIES_CHIMECHO,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page23[] = {
+ SPECIES_BULBASAUR,
+ SPECIES_IVYSAUR,
+ SPECIES_VENUSAUR,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page24[] = {
+ SPECIES_CHIKORITA,
+ SPECIES_BAYLEEF,
+ SPECIES_MEGANIUM,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page25[] = {
+ SPECIES_CYNDAQUIL,
+ SPECIES_QUILAVA,
+ SPECIES_TYPHLOSION,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page26[] = {
+ SPECIES_TORCHIC,
+ SPECIES_COMBUSKEN,
+ SPECIES_BLAZIKEN,
+};
+
+static const u16 sDexCategory_GrasslandPkmn_Page27[] = {
+ SPECIES_RAIKOU,
+ SPECIES_ENTEI,
+ SPECIES_SUICUNE,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page1[] = {
+ SPECIES_CATERPIE,
+ SPECIES_METAPOD,
+ SPECIES_BUTTERFREE,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page2[] = {
+ SPECIES_WEEDLE,
+ SPECIES_KAKUNA,
+ SPECIES_BEEDRILL,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page3[] = {
+ SPECIES_WURMPLE,
+ SPECIES_SILCOON,
+ SPECIES_BEAUTIFLY,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page4[] = {
+ SPECIES_CASCOON,
+ SPECIES_DUSTOX,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page5[] = {
+ SPECIES_PIDGEY,
+ SPECIES_PIDGEOTTO,
+ SPECIES_PIDGEOT,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page6[] = {
+ SPECIES_HOOTHOOT,
+ SPECIES_NOCTOWL,
+ SPECIES_NATU,
+ SPECIES_XATU,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page7[] = {
+ SPECIES_PICHU,
+ SPECIES_PIKACHU,
+ SPECIES_RAICHU,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page8[] = {
+ SPECIES_BELLSPROUT,
+ SPECIES_WEEPINBELL,
+ SPECIES_VICTREEBEL,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page9[] = {
+ SPECIES_PARAS,
+ SPECIES_PARASECT,
+ SPECIES_SHROOMISH,
+ SPECIES_BRELOOM,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page10[] = {
+ SPECIES_SEEDOT,
+ SPECIES_NUZLEAF,
+ SPECIES_SHIFTRY,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page11[] = {
+ SPECIES_VENONAT,
+ SPECIES_VENOMOTH,
+ SPECIES_YANMA,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page12[] = {
+ SPECIES_LEDYBA,
+ SPECIES_LEDIAN,
+ SPECIES_SPINARAK,
+ SPECIES_ARIADOS,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page13[] = {
+ SPECIES_NINCADA,
+ SPECIES_NINJASK,
+ SPECIES_SHEDINJA,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page14[] = {
+ SPECIES_VOLBEAT,
+ SPECIES_ILLUMISE,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page15[] = {
+ SPECIES_PINECO,
+ SPECIES_FORRETRESS,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page16[] = {
+ SPECIES_SLAKOTH,
+ SPECIES_VIGOROTH,
+ SPECIES_SLAKING,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page17[] = {
+ SPECIES_SKITTY,
+ SPECIES_DELCATTY,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page18[] = {
+ SPECIES_MURKROW,
+ SPECIES_SNEASEL,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page19[] = {
+ SPECIES_EXEGGCUTE,
+ SPECIES_EXEGGUTOR,
+ SPECIES_SUDOWOODO,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page20[] = {
+ SPECIES_AIPOM,
+ SPECIES_STANTLER,
+ SPECIES_KECLEON,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page21[] = {
+ SPECIES_PINSIR,
+ SPECIES_HERACROSS,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page22[] = {
+ SPECIES_SWABLU,
+ SPECIES_ALTARIA,
+ SPECIES_TROPIUS,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page23[] = {
+ SPECIES_DUSKULL,
+ SPECIES_DUSCLOPS,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page24[] = {
+ SPECIES_TOGEPI,
+ SPECIES_TOGETIC,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page25[] = {
+ SPECIES_TREECKO,
+ SPECIES_GROVYLE,
+ SPECIES_SCEPTILE,
+};
+
+static const u16 sDexCategory_ForestPkmn_Page26[] = {
+ SPECIES_CELEBI,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page1[] = {
+ SPECIES_GOLDEEN,
+ SPECIES_SEAKING,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page2[] = {
+ SPECIES_MAGIKARP,
+ SPECIES_GYARADOS,
+ SPECIES_KRABBY,
+ SPECIES_KINGLER,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page3[] = {
+ SPECIES_CORPHISH,
+ SPECIES_CRAWDAUNT,
+ SPECIES_BARBOACH,
+ SPECIES_WHISCASH,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page4[] = {
+ SPECIES_LOTAD,
+ SPECIES_LOMBRE,
+ SPECIES_LUDICOLO,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page5[] = {
+ SPECIES_SURSKIT,
+ SPECIES_MASQUERAIN,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page6[] = {
+ SPECIES_PSYDUCK,
+ SPECIES_GOLDUCK,
+ SPECIES_WOOPER,
+ SPECIES_QUAGSIRE,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page7[] = {
+ SPECIES_POLIWAG,
+ SPECIES_POLIWHIRL,
+ SPECIES_POLIWRATH,
+ SPECIES_POLITOED,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page8[] = {
+ SPECIES_AZURILL,
+ SPECIES_MARILL,
+ SPECIES_AZUMARILL,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page9[] = {
+ SPECIES_SLOWPOKE,
+ SPECIES_SLOWBRO,
+ SPECIES_SLOWKING,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page10[] = {
+ SPECIES_FEEBAS,
+ SPECIES_MILOTIC,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page11[] = {
+ SPECIES_ANORITH,
+ SPECIES_ARMALDO,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page12[] = {
+ SPECIES_DRATINI,
+ SPECIES_DRAGONAIR,
+ SPECIES_DRAGONITE,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page13[] = {
+ SPECIES_SQUIRTLE,
+ SPECIES_WARTORTLE,
+ SPECIES_BLASTOISE,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page14[] = {
+ SPECIES_TOTODILE,
+ SPECIES_CROCONAW,
+ SPECIES_FERALIGATR,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page15[] = {
+ SPECIES_MUDKIP,
+ SPECIES_MARSHTOMP,
+ SPECIES_SWAMPERT,
+};
+
+static const u16 sDexCategory_WatersEdgePkmn_Page16[] = {
+ SPECIES_LATIAS,
+ SPECIES_LATIOS,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page1[] = {
+ SPECIES_TENTACOOL,
+ SPECIES_TENTACRUEL,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page2[] = {
+ SPECIES_WINGULL,
+ SPECIES_PELIPPER,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page3[] = {
+ SPECIES_STARYU,
+ SPECIES_STARMIE,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page4[] = {
+ SPECIES_CHINCHOU,
+ SPECIES_LANTURN,
+ SPECIES_REMORAID,
+ SPECIES_OCTILLERY,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page5[] = {
+ SPECIES_SHELLDER,
+ SPECIES_CLOYSTER,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page6[] = {
+ SPECIES_CLAMPERL,
+ SPECIES_HUNTAIL,
+ SPECIES_GOREBYSS,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page7[] = {
+ SPECIES_QWILFISH,
+ SPECIES_CORSOLA,
+ SPECIES_MANTINE,
+ SPECIES_LUVDISC,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page8[] = {
+ SPECIES_SEEL,
+ SPECIES_DEWGONG,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page9[] = {
+ SPECIES_SPHEAL,
+ SPECIES_SEALEO,
+ SPECIES_WALREIN,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page10[] = {
+ SPECIES_CARVANHA,
+ SPECIES_SHARPEDO,
+ SPECIES_WAILMER,
+ SPECIES_WAILORD,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page11[] = {
+ SPECIES_HORSEA,
+ SPECIES_SEADRA,
+ SPECIES_KINGDRA,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page12[] = {
+ SPECIES_RELICANTH,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page13[] = {
+ SPECIES_LAPRAS,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page14[] = {
+ SPECIES_OMANYTE,
+ SPECIES_OMASTAR,
+ SPECIES_KABUTO,
+ SPECIES_KABUTOPS,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page15[] = {
+ SPECIES_LILEEP,
+ SPECIES_CRADILY,
+};
+
+static const u16 sDexCategory_SeaPkmn_Page16[] = {
+ SPECIES_KYOGRE,
+};
+
+static const u16 sDexCategory_CavePkmn_Page1[] = {
+ SPECIES_ZUBAT,
+ SPECIES_GOLBAT,
+ SPECIES_CROBAT,
+};
+
+static const u16 sDexCategory_CavePkmn_Page2[] = {
+ SPECIES_DIGLETT,
+ SPECIES_DUGTRIO,
+ SPECIES_ONIX,
+ SPECIES_STEELIX,
+};
+
+static const u16 sDexCategory_CavePkmn_Page3[] = {
+ SPECIES_SWINUB,
+ SPECIES_PILOSWINE,
+ SPECIES_SNORUNT,
+ SPECIES_GLALIE,
+};
+
+static const u16 sDexCategory_CavePkmn_Page4[] = {
+ SPECIES_WHISMUR,
+ SPECIES_LOUDRED,
+ SPECIES_EXPLOUD,
+};
+
+static const u16 sDexCategory_CavePkmn_Page5[] = {
+ SPECIES_MISDREAVUS,
+ SPECIES_DUNSPARCE,
+ SPECIES_NOSEPASS,
+};
+
+static const u16 sDexCategory_CavePkmn_Page6[] = {
+ SPECIES_SABLEYE,
+ SPECIES_MAWILE,
+};
+
+static const u16 sDexCategory_CavePkmn_Page7[] = {
+ SPECIES_GASTLY,
+ SPECIES_HAUNTER,
+ SPECIES_GENGAR,
+};
+
+static const u16 sDexCategory_CavePkmn_Page8[] = {
+ SPECIES_WYNAUT,
+ SPECIES_WOBBUFFET,
+};
+
+static const u16 sDexCategory_CavePkmn_Page9[] = {
+ SPECIES_LUNATONE,
+ SPECIES_SOLROCK,
+};
+
+static const u16 sDexCategory_CavePkmn_Page10[] = {
+ SPECIES_REGIROCK,
+ SPECIES_REGICE,
+ SPECIES_REGISTEEL,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page1[] = {
+ SPECIES_GEODUDE,
+ SPECIES_GRAVELER,
+ SPECIES_GOLEM,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page2[] = {
+ SPECIES_MANKEY,
+ SPECIES_PRIMEAPE,
+ SPECIES_SPOINK,
+ SPECIES_GRUMPIG,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page3[] = {
+ SPECIES_MACHOP,
+ SPECIES_MACHOKE,
+ SPECIES_MACHAMP,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page4[] = {
+ SPECIES_CLEFFA,
+ SPECIES_CLEFAIRY,
+ SPECIES_CLEFABLE,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page5[] = {
+ SPECIES_CUBONE,
+ SPECIES_MAROWAK,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page6[] = {
+ SPECIES_SLUGMA,
+ SPECIES_MAGCARGO,
+ SPECIES_NUMEL,
+ SPECIES_CAMERUPT,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page7[] = {
+ SPECIES_MAKUHITA,
+ SPECIES_HARIYAMA,
+ SPECIES_MEDITITE,
+ SPECIES_MEDICHAM,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page8[] = {
+ SPECIES_SHUCKLE,
+ SPECIES_TEDDIURSA,
+ SPECIES_URSARING,
+ SPECIES_DELIBIRD,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page9[] = {
+ SPECIES_GLIGAR,
+ SPECIES_SPINDA,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page10[] = {
+ SPECIES_MAGBY,
+ SPECIES_MAGMAR,
+ SPECIES_TORKOAL,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page11[] = {
+ SPECIES_ARON,
+ SPECIES_LAIRON,
+ SPECIES_AGGRON,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page12[] = {
+ SPECIES_LARVITAR,
+ SPECIES_PUPITAR,
+ SPECIES_TYRANITAR,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page13[] = {
+ SPECIES_SNORLAX,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page14[] = {
+ SPECIES_ABSOL,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page15[] = {
+ SPECIES_AERODACTYL,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page16[] = {
+ SPECIES_CHARMANDER,
+ SPECIES_CHARMELEON,
+ SPECIES_CHARIZARD,
+};
+
+static const u16 sDexCategory_MountainPkmn_Page17[] = {
+ SPECIES_JIRACHI,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page1[] = {
+ SPECIES_SPEAROW,
+ SPECIES_FEAROW,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page2[] = {
+ SPECIES_SANDSHREW,
+ SPECIES_SANDSLASH,
+ SPECIES_RHYHORN,
+ SPECIES_RHYDON,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page3[] = {
+ SPECIES_MAGNEMITE,
+ SPECIES_MAGNETON,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page4[] = {
+ SPECIES_HOUNDOUR,
+ SPECIES_HOUNDOOM,
+ SPECIES_PHANPY,
+ SPECIES_DONPHAN,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page5[] = {
+ SPECIES_CACNEA,
+ SPECIES_CACTURNE,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page6[] = {
+ SPECIES_TRAPINCH,
+ SPECIES_VIBRAVA,
+ SPECIES_FLYGON,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page7[] = {
+ SPECIES_SKARMORY,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page8[] = {
+ SPECIES_BALTOY,
+ SPECIES_CLAYDOL,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page9[] = {
+ SPECIES_BAGON,
+ SPECIES_SHELGON,
+ SPECIES_SALAMENCE,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page10[] = {
+ SPECIES_BELDUM,
+ SPECIES_METANG,
+ SPECIES_METAGROSS,
+};
+
+static const u16 sDexCategory_RoughTerrainPkmn_Page11[] = {
+ SPECIES_GROUDON,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page1[] = {
+ SPECIES_MEOWTH,
+ SPECIES_PERSIAN,
+ SPECIES_SNUBBULL,
+ SPECIES_GRANBULL,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page2[] = {
+ SPECIES_GRIMER,
+ SPECIES_MUK,
+ SPECIES_KOFFING,
+ SPECIES_WEEZING,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page3[] = {
+ SPECIES_SHUPPET,
+ SPECIES_BANETTE,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page4[] = {
+ SPECIES_ABRA,
+ SPECIES_KADABRA,
+ SPECIES_ALAKAZAM,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page5[] = {
+ SPECIES_RALTS,
+ SPECIES_KIRLIA,
+ SPECIES_GARDEVOIR,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page6[] = {
+ SPECIES_SMOOCHUM,
+ SPECIES_JYNX,
+ SPECIES_MR_MIME,
+ SPECIES_SMEARGLE,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page7[] = {
+ SPECIES_TYROGUE,
+ SPECIES_HITMONLEE,
+ SPECIES_HITMONCHAN,
+ SPECIES_HITMONTOP,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page8[] = {
+ SPECIES_CHANSEY,
+ SPECIES_BLISSEY,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page9[] = {
+ SPECIES_VOLTORB,
+ SPECIES_ELECTRODE,
+ SPECIES_PORYGON,
+ SPECIES_PORYGON2,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page10[] = {
+ SPECIES_DITTO,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page11[] = {
+ SPECIES_EEVEE,
+ SPECIES_VAPOREON,
+ SPECIES_JOLTEON,
+ SPECIES_FLAREON,
+};
+
+static const u16 sDexCategory_UrbanPkmn_Page12[] = {
+ SPECIES_ESPEON,
+ SPECIES_UMBREON,
+};
+
+static const u16 sDexCategory_RarePkmn_Page1[] = {
+ SPECIES_UNOWN,
+};
+
+static const u16 sDexCategory_RarePkmn_Page2[] = {
+ SPECIES_ARTICUNO,
+ SPECIES_ZAPDOS,
+ SPECIES_MOLTRES,
+};
+
+static const u16 sDexCategory_RarePkmn_Page3[] = {
+ SPECIES_LUGIA,
+};
+
+static const u16 sDexCategory_RarePkmn_Page4[] = {
+ SPECIES_HO_OH,
+};
+
+static const u16 sDexCategory_RarePkmn_Page5[] = {
+ SPECIES_RAYQUAZA,
+};
+
+static const u16 sDexCategory_RarePkmn_Page6[] = {
+ SPECIES_DEOXYS,
+};
+
+static const u16 sDexCategory_RarePkmn_Page7[] = {
+ SPECIES_MEWTWO,
+};
+
+static const u16 sDexCategory_RarePkmn_Page8[] = {
+ SPECIES_MEW,
+};
+
+#define DEX_CATEGORY(name){sDexCategory_##name, NELEMS(sDexCategory_##name)}
+
+static const struct PokedexCategoryPage sDexCategory_GrasslandPkmn[] = {
+ DEX_CATEGORY(GrasslandPkmn_Page1),
+ DEX_CATEGORY(GrasslandPkmn_Page2),
+ DEX_CATEGORY(GrasslandPkmn_Page3),
+ DEX_CATEGORY(GrasslandPkmn_Page4),
+ DEX_CATEGORY(GrasslandPkmn_Page5),
+ DEX_CATEGORY(GrasslandPkmn_Page6),
+ DEX_CATEGORY(GrasslandPkmn_Page7),
+ DEX_CATEGORY(GrasslandPkmn_Page8),
+ DEX_CATEGORY(GrasslandPkmn_Page9),
+ DEX_CATEGORY(GrasslandPkmn_Page10),
+ DEX_CATEGORY(GrasslandPkmn_Page11),
+ DEX_CATEGORY(GrasslandPkmn_Page12),
+ DEX_CATEGORY(GrasslandPkmn_Page13),
+ DEX_CATEGORY(GrasslandPkmn_Page14),
+ DEX_CATEGORY(GrasslandPkmn_Page15),
+ DEX_CATEGORY(GrasslandPkmn_Page16),
+ DEX_CATEGORY(GrasslandPkmn_Page17),
+ DEX_CATEGORY(GrasslandPkmn_Page18),
+ DEX_CATEGORY(GrasslandPkmn_Page19),
+ DEX_CATEGORY(GrasslandPkmn_Page20),
+ DEX_CATEGORY(GrasslandPkmn_Page21),
+ DEX_CATEGORY(GrasslandPkmn_Page22),
+ DEX_CATEGORY(GrasslandPkmn_Page23),
+ DEX_CATEGORY(GrasslandPkmn_Page24),
+ DEX_CATEGORY(GrasslandPkmn_Page25),
+ DEX_CATEGORY(GrasslandPkmn_Page26),
+ DEX_CATEGORY(GrasslandPkmn_Page27),
+};
+
+static const struct PokedexCategoryPage sDexCategory_ForestPkmn[] = {
+ DEX_CATEGORY(ForestPkmn_Page1),
+ DEX_CATEGORY(ForestPkmn_Page2),
+ DEX_CATEGORY(ForestPkmn_Page3),
+ DEX_CATEGORY(ForestPkmn_Page4),
+ DEX_CATEGORY(ForestPkmn_Page5),
+ DEX_CATEGORY(ForestPkmn_Page6),
+ DEX_CATEGORY(ForestPkmn_Page7),
+ DEX_CATEGORY(ForestPkmn_Page8),
+ DEX_CATEGORY(ForestPkmn_Page9),
+ DEX_CATEGORY(ForestPkmn_Page10),
+ DEX_CATEGORY(ForestPkmn_Page11),
+ DEX_CATEGORY(ForestPkmn_Page12),
+ DEX_CATEGORY(ForestPkmn_Page13),
+ DEX_CATEGORY(ForestPkmn_Page14),
+ DEX_CATEGORY(ForestPkmn_Page15),
+ DEX_CATEGORY(ForestPkmn_Page16),
+ DEX_CATEGORY(ForestPkmn_Page17),
+ DEX_CATEGORY(ForestPkmn_Page18),
+ DEX_CATEGORY(ForestPkmn_Page19),
+ DEX_CATEGORY(ForestPkmn_Page20),
+ DEX_CATEGORY(ForestPkmn_Page21),
+ DEX_CATEGORY(ForestPkmn_Page22),
+ DEX_CATEGORY(ForestPkmn_Page23),
+ DEX_CATEGORY(ForestPkmn_Page24),
+ DEX_CATEGORY(ForestPkmn_Page25),
+ DEX_CATEGORY(ForestPkmn_Page26),
+};
+
+static const struct PokedexCategoryPage sDexCategory_WatersEdgePkmn[] = {
+ DEX_CATEGORY(WatersEdgePkmn_Page1),
+ DEX_CATEGORY(WatersEdgePkmn_Page2),
+ DEX_CATEGORY(WatersEdgePkmn_Page3),
+ DEX_CATEGORY(WatersEdgePkmn_Page4),
+ DEX_CATEGORY(WatersEdgePkmn_Page5),
+ DEX_CATEGORY(WatersEdgePkmn_Page6),
+ DEX_CATEGORY(WatersEdgePkmn_Page7),
+ DEX_CATEGORY(WatersEdgePkmn_Page8),
+ DEX_CATEGORY(WatersEdgePkmn_Page9),
+ DEX_CATEGORY(WatersEdgePkmn_Page10),
+ DEX_CATEGORY(WatersEdgePkmn_Page11),
+ DEX_CATEGORY(WatersEdgePkmn_Page12),
+ DEX_CATEGORY(WatersEdgePkmn_Page13),
+ DEX_CATEGORY(WatersEdgePkmn_Page14),
+ DEX_CATEGORY(WatersEdgePkmn_Page15),
+ DEX_CATEGORY(WatersEdgePkmn_Page16),
+};
+
+static const struct PokedexCategoryPage sDexCategory_SeaPkmn[] = {
+ DEX_CATEGORY(SeaPkmn_Page1),
+ DEX_CATEGORY(SeaPkmn_Page2),
+ DEX_CATEGORY(SeaPkmn_Page3),
+ DEX_CATEGORY(SeaPkmn_Page4),
+ DEX_CATEGORY(SeaPkmn_Page5),
+ DEX_CATEGORY(SeaPkmn_Page6),
+ DEX_CATEGORY(SeaPkmn_Page7),
+ DEX_CATEGORY(SeaPkmn_Page8),
+ DEX_CATEGORY(SeaPkmn_Page9),
+ DEX_CATEGORY(SeaPkmn_Page10),
+ DEX_CATEGORY(SeaPkmn_Page11),
+ DEX_CATEGORY(SeaPkmn_Page12),
+ DEX_CATEGORY(SeaPkmn_Page13),
+ DEX_CATEGORY(SeaPkmn_Page14),
+ DEX_CATEGORY(SeaPkmn_Page15),
+ DEX_CATEGORY(SeaPkmn_Page16),
+};
+
+static const struct PokedexCategoryPage sDexCategory_CavePkmn[] = {
+ DEX_CATEGORY(CavePkmn_Page1),
+ DEX_CATEGORY(CavePkmn_Page2),
+ DEX_CATEGORY(CavePkmn_Page3),
+ DEX_CATEGORY(CavePkmn_Page4),
+ DEX_CATEGORY(CavePkmn_Page5),
+ DEX_CATEGORY(CavePkmn_Page6),
+ DEX_CATEGORY(CavePkmn_Page7),
+ DEX_CATEGORY(CavePkmn_Page8),
+ DEX_CATEGORY(CavePkmn_Page9),
+ DEX_CATEGORY(CavePkmn_Page10),
+};
+
+static const struct PokedexCategoryPage sDexCategory_MountainPkmn[] = {
+ DEX_CATEGORY(MountainPkmn_Page1),
+ DEX_CATEGORY(MountainPkmn_Page2),
+ DEX_CATEGORY(MountainPkmn_Page3),
+ DEX_CATEGORY(MountainPkmn_Page4),
+ DEX_CATEGORY(MountainPkmn_Page5),
+ DEX_CATEGORY(MountainPkmn_Page6),
+ DEX_CATEGORY(MountainPkmn_Page7),
+ DEX_CATEGORY(MountainPkmn_Page8),
+ DEX_CATEGORY(MountainPkmn_Page9),
+ DEX_CATEGORY(MountainPkmn_Page10),
+ DEX_CATEGORY(MountainPkmn_Page11),
+ DEX_CATEGORY(MountainPkmn_Page12),
+ DEX_CATEGORY(MountainPkmn_Page13),
+ DEX_CATEGORY(MountainPkmn_Page14),
+ DEX_CATEGORY(MountainPkmn_Page15),
+ DEX_CATEGORY(MountainPkmn_Page16),
+ DEX_CATEGORY(MountainPkmn_Page17),
+};
+
+static const struct PokedexCategoryPage sDexCategory_RoughTerrainPkmn[] = {
+ DEX_CATEGORY(RoughTerrainPkmn_Page1),
+ DEX_CATEGORY(RoughTerrainPkmn_Page2),
+ DEX_CATEGORY(RoughTerrainPkmn_Page3),
+ DEX_CATEGORY(RoughTerrainPkmn_Page4),
+ DEX_CATEGORY(RoughTerrainPkmn_Page5),
+ DEX_CATEGORY(RoughTerrainPkmn_Page6),
+ DEX_CATEGORY(RoughTerrainPkmn_Page7),
+ DEX_CATEGORY(RoughTerrainPkmn_Page8),
+ DEX_CATEGORY(RoughTerrainPkmn_Page9),
+ DEX_CATEGORY(RoughTerrainPkmn_Page10),
+ DEX_CATEGORY(RoughTerrainPkmn_Page11),
+};
+
+static const struct PokedexCategoryPage sDexCategory_UrbanPkmn[] = {
+ DEX_CATEGORY(UrbanPkmn_Page1),
+ DEX_CATEGORY(UrbanPkmn_Page2),
+ DEX_CATEGORY(UrbanPkmn_Page3),
+ DEX_CATEGORY(UrbanPkmn_Page4),
+ DEX_CATEGORY(UrbanPkmn_Page5),
+ DEX_CATEGORY(UrbanPkmn_Page6),
+ DEX_CATEGORY(UrbanPkmn_Page7),
+ DEX_CATEGORY(UrbanPkmn_Page8),
+ DEX_CATEGORY(UrbanPkmn_Page9),
+ DEX_CATEGORY(UrbanPkmn_Page10),
+ DEX_CATEGORY(UrbanPkmn_Page11),
+ DEX_CATEGORY(UrbanPkmn_Page12),
+};
+
+static const struct PokedexCategoryPage sDexCategory_RarePkmn[] = {
+ DEX_CATEGORY(RarePkmn_Page1),
+ DEX_CATEGORY(RarePkmn_Page2),
+ DEX_CATEGORY(RarePkmn_Page3),
+ DEX_CATEGORY(RarePkmn_Page4),
+ DEX_CATEGORY(RarePkmn_Page5),
+ DEX_CATEGORY(RarePkmn_Page6),
+ DEX_CATEGORY(RarePkmn_Page7),
+ DEX_CATEGORY(RarePkmn_Page8),
+};
+
+struct {
+ const struct PokedexCategoryPage * page;
+ u8 count;
+} const gDexCategories[] = {
+ DEX_CATEGORY(GrasslandPkmn),
+ DEX_CATEGORY(ForestPkmn),
+ DEX_CATEGORY(WatersEdgePkmn),
+ DEX_CATEGORY(SeaPkmn),
+ DEX_CATEGORY(CavePkmn),
+ DEX_CATEGORY(MountainPkmn),
+ DEX_CATEGORY(RoughTerrainPkmn),
+ DEX_CATEGORY(UrbanPkmn),
+ DEX_CATEGORY(RarePkmn),
+};
diff --git a/src/graphics.c b/src/graphics.c
index a262ef8e2..c9fc09a1e 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1246,7 +1246,7 @@ const u16 gUnknown_8E9BF28[] = INCBIN_U16("graphics/interface/link_rfu_frame.gba
const u32 gUnknown_8E9BF48[] = INCBIN_U32("graphics/interface/link_rfu_status.4bpp.lz");
const u16 gUnknown_8E9C14C[] = INCBIN_U16("graphics/interface/pokedex_abc.gbapal");
-const u32 gUnknown_8E9C16C[] = INCBIN_U32("graphics/interface/pokedex_abc.4bpp.lz");
+const u16 gUnknown_8E9C16C[] = INCBIN_U16("graphics/interface/pokedex_abc.4bpp.lz");
const u16 gPSSMenu_Pal[] = INCBIN_U16("graphics/interface/box_tiles_pal1.gbapal");
const u16 gUnknown_8E9C3F8[] = INCBIN_U16("graphics/interface/box_tiles_pal2.gbapal");
diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c
index a36108425..0d140cfe3 100644
--- a/src/pokedex_screen.c
+++ b/src/pokedex_screen.c
@@ -69,8 +69,14 @@ struct PokedexScreenData
struct PokedexScreenWindowGfx
{
- const u16 *map;
- const u16 *pal;
+ const u16 * map;
+ const u16 * pal;
+};
+
+struct PokedexCategoryPage
+{
+ const u16 * species;
+ u8 count;
};
EWRAM_DATA struct PokedexScreenData * gUnknown_203ACF0 = NULL;
@@ -114,6 +120,9 @@ void sub_81068DC(u8 category, u8 a1);
u8 sub_8106AF8(u16 a0);
void sub_8106B34(void);
void sub_8106E78(const u8 *a0, s32 a1);
+static void sub_8102EC0(s32 itemIndex, bool8 onInit, struct ListMenu *list);
+static void sub_8102F48(u8 windowId, s32 itemId, u8 y);
+static void sub_8103A40(u8 windowId, s32 itemId, u8 y);
#include "data/pokemon_graphics/footprint_table.h"
@@ -132,21 +141,21 @@ const u16 gUnknown_84406C8[] = {
};
const u16 gUnknown_84406E0[] = INCBIN_U16("graphics/pokedex/unk_84406E0.gbapal");
-const u32 gUnknown_84408E0[] = INCBIN_U32("graphics/pokedex/unk_84408E0.bin.lz");
-const u32 gUnknown_8440BD8[] = INCBIN_U32("graphics/pokedex/unk_8440BD8.bin.lz");
+const u16 gUnknown_84408E0[] = INCBIN_U16("graphics/pokedex/unk_84408E0.bin.lz");
+const u16 gUnknown_8440BD8[] = INCBIN_U16("graphics/pokedex/unk_8440BD8.bin.lz");
const u32 gUnknown_8440EF0[] = INCBIN_U32("graphics/pokedex/unk_8440EF0.bin.lz");
-const u32 gUnknown_844112C[] = INCBIN_U32("graphics/pokedex/unk_844112C.bin.lz");
-const u32 gUnknown_84414BC[] = INCBIN_U32("graphics/pokedex/unk_84414BC.bin.lz");
+const u16 gUnknown_844112C[] = INCBIN_U16("graphics/pokedex/unk_844112C.bin.lz");
+const u16 gUnknown_84414BC[] = INCBIN_U16("graphics/pokedex/unk_84414BC.bin.lz");
const u32 gUnknown_8441808[] = INCBIN_U32("graphics/pokedex/unk_8441808.bin.lz");
-const u32 gUnknown_8441A40[] = INCBIN_U32("graphics/pokedex/unk_8441A40.bin.lz");
-const u32 gUnknown_8441D54[] = INCBIN_U32("graphics/pokedex/unk_8441D54.bin.lz");
-const u32 gUnknown_8442004[] = INCBIN_U32("graphics/pokedex/unk_8442004.bin.lz");
-const u32 gUnknown_844223C[] = INCBIN_U32("graphics/pokedex/unk_844223C.bin.lz");
-const u32 gUnknown_84424E4[] = INCBIN_U32("graphics/pokedex/unk_84424E4.bin.lz");
-const u32 gUnknown_8442838[] = INCBIN_U32("graphics/pokedex/unk_8442838.bin.lz");
-const u32 gUnknown_8442BC0[] = INCBIN_U32("graphics/pokedex/unk_8442BC0.bin.lz");
-const u32 gUnknown_8442EF8[] = INCBIN_U32("graphics/pokedex/unk_8442EF8.bin.lz");
-const u32 gUnknown_844318C[] = INCBIN_U32("graphics/pokedex/unk_844318C.bin.lz");
+const u16 gUnknown_8441A40[] = INCBIN_U16("graphics/pokedex/unk_8441A40.bin.lz");
+const u16 gUnknown_8441D54[] = INCBIN_U16("graphics/pokedex/unk_8441D54.bin.lz");
+const u16 gUnknown_8442004[] = INCBIN_U16("graphics/pokedex/unk_8442004.bin.lz");
+const u16 gUnknown_844223C[] = INCBIN_U16("graphics/pokedex/unk_844223C.bin.lz");
+const u16 gUnknown_84424E4[] = INCBIN_U16("graphics/pokedex/unk_84424E4.bin.lz");
+const u16 gUnknown_8442838[] = INCBIN_U16("graphics/pokedex/unk_8442838.bin.lz");
+const u16 gUnknown_8442BC0[] = INCBIN_U16("graphics/pokedex/unk_8442BC0.bin.lz");
+const u16 gUnknown_8442EF8[] = INCBIN_U16("graphics/pokedex/unk_8442EF8.bin.lz");
+const u16 gUnknown_844318C[] = INCBIN_U16("graphics/pokedex/unk_844318C.bin.lz");
const u16 gUnknown_8443420[] = INCBIN_U16("graphics/pokedex/unk_8443420.gbapal");
const u16 gUnknown_8443440[] = INCBIN_U16("graphics/pokedex/unk_8443440.gbapal");
const u16 gUnknown_8443460[] = INCBIN_U16("graphics/pokedex/unk_8443460.gbapal");
@@ -180,29 +189,622 @@ static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
#include "data/pokemon/pokedex_text.h"
#include "data/pokemon/pokedex_entries.h"
-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 gDexCategoryNamePtrs[];
-extern const u8 gUnknown_8452388[][30];
-extern const struct ScrollArrowsTemplate gUnknown_84524B4;
-extern const struct CursorStruct gUnknown_84524C4;
+static const struct BgTemplate sUnknown_8451EBC[] = {
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 5,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0x0000
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 4,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0x0000
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 6,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0x0000
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 7,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0x0000
+ },
+};
+
+static const struct WindowTemplate sUnknown_8451ECC[] = {
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 30,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x03c4
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 18,
+ .width = 30,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x0388
+ },
+ {
+ .bg = 255,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 0,
+ .height = 0,
+ .paletteNum = 0,
+ .baseBlock = 0x0000
+ },
+};
+
+static const struct PokedexScreenData sUnknown_8451EE4 = {
+ .field_10 = 1,
+ .field_14 = -1,
+ .field_15 = -1,
+ .field_16 = -1,
+ .field_18 = {-1, -1, -1, -1},
+ .field_20 = {-1, -1, -1, -1},
+ .field_24 = {-1, -1, -1, -1},
+ .field_40 = -1,
+ .field_4A = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
+ .field_60 = -1,
+ .field_61 = -1,
+};
+
+
+static const struct WindowTemplate sUnknown_8451F54 = {
+ .bg = 1,
+ .tilemapLeft = 1,
+ .tilemapTop = 2,
+ .width = 20,
+ .height = 16,
+ .paletteNum = 0,
+ .baseBlock = 0x0008
+ };
+
+static const struct WindowTemplate sUnknown_8451F5C = {
+ .bg = 1,
+ .tilemapLeft = 21,
+ .tilemapTop = 11,
+ .width = 8,
+ .height = 6,
+ .paletteNum = 1,
+ .baseBlock = 0x0148
+ };
+
+static const struct WindowTemplate sUnknown_8451F64 = {
+ .bg = 1,
+ .tilemapLeft = 21,
+ .tilemapTop = 2,
+ .width = 9,
+ .height = 9,
+ .paletteNum = 0,
+ .baseBlock = 0x0178
+ };
+
+static const struct ListMenuItem sUnknown_8451F6C[] = {
+ {gText_PokemonList, -3},
+ {gText_NumericalMode, 9},
+ {gText_PokemonHabitats, -3},
+ {gText_DexCategory_GrasslandPkmn, 0},
+ {gText_DexCategory_ForestPkmn, 1},
+ {gText_DexCategory_WatersEdgePkmn, 2},
+ {gText_DexCategory_SeaPkmn, 3},
+ {gText_DexCategory_CavePkmn, 4},
+ {gText_DexCategory_MountainPkmn, 5},
+ {gText_DexCategory_RoughTerrainPkmn, 6},
+ {gText_DexCategory_UrbanPkmn, 7},
+ {gText_DexCategory_RarePkmn, 8},
+ {gText_Search, -3},
+ {gText_AToZMode, 10},
+ {gText_TypeMode, 11},
+ {gText_LightestMode, 12},
+ {gText_SmallestMode, 13},
+ {gText_PokedexOther, -3},
+ {gText_ClosePokedex, -2},
+};
+
+static const struct ListMenuTemplate sUnknown_8452004 = {
+ .items = sUnknown_8451F6C,
+ .moveCursorFunc = sub_8102EC0,
+ .itemPrintFunc = sub_8102F48,
+ .totalItems = NELEMS(sUnknown_8451F6C),
+ .maxShowed = 9,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 12,
+ .cursor_X = 4,
+ .upText_Y = 2,
+ .cursorPal = 1,
+ .fillValue = 0,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 1,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 2,
+ .cursorKind = 0,
+};
+
+static const struct ListMenuItem sUnknown_845201C[] = {
+ {gText_PokemonList, -3},
+ {gText_NumericalModeKanto, 9},
+ {gText_NumericalModeNational, 14},
+ {gText_PokemonHabitats, -3},
+ {gText_DexCategory_GrasslandPkmn, 0},
+ {gText_DexCategory_ForestPkmn, 1},
+ {gText_DexCategory_WatersEdgePkmn, 2},
+ {gText_DexCategory_SeaPkmn, 3},
+ {gText_DexCategory_CavePkmn, 4},
+ {gText_DexCategory_MountainPkmn, 5},
+ {gText_DexCategory_RoughTerrainPkmn, 6},
+ {gText_DexCategory_UrbanPkmn, 7},
+ {gText_DexCategory_RarePkmn, 8},
+ {gText_Search, -3},
+ {gText_AToZMode, 10},
+ {gText_TypeMode, 11},
+ {gText_LightestMode, 12},
+ {gText_SmallestMode, 13},
+ {gText_PokedexOther, -3},
+ {gText_ClosePokedex, -2},
+};
+
+static const struct ListMenuTemplate sUnknown_84520BC = {
+ .items = sUnknown_845201C,
+ .moveCursorFunc = sub_8102EC0,
+ .itemPrintFunc = sub_8102F48,
+ .totalItems = NELEMS(sUnknown_845201C),
+ .maxShowed = 9,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 12,
+ .cursor_X = 4,
+ .upText_Y = 2,
+ .cursorPal = 1,
+ .fillValue = 0,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 1,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 2,
+ .cursorKind = 0,
+};
+
+static const struct ScrollArrowsTemplate sUnknown_84520D4 = {
+ .firstArrowType = 2,
+ .firstX = 200,
+ .firstY = 19,
+ .secondArrowType = 3,
+ .secondX = 200,
+ .secondY = 141,
+ .fullyUpThreshold = 0,
+ .fullyDownThreshold = 10,
+ .tileTag = 2000,
+ .palTag = 0xFFFF,
+ .palNum = 1
+};
+
+static const struct ScrollArrowsTemplate sUnknown_84520E4 = {
+ .firstArrowType = 2,
+ .firstX = 200,
+ .firstY = 19,
+ .secondArrowType = 3,
+ .secondX = 200,
+ .secondY = 141,
+ .fullyUpThreshold = 0,
+ .fullyDownThreshold = 11,
+ .tileTag = 2000,
+ .palTag = 0xFFFF,
+ .palNum = 1
+};
+
+
+static const struct PokedexScreenWindowGfx sUnknown_84520F4[] = {
+ {.map = gUnknown_84414BC, .pal = gUnknown_84434A0},
+ {.map = gUnknown_844112C, .pal = gUnknown_8443480},
+ {.map = gUnknown_8442838, .pal = gUnknown_8443580},
+ {.map = gUnknown_8442004, .pal = gUnknown_8443520},
+ {.map = gUnknown_84408E0, .pal = gUnknown_8443420},
+ {.map = gUnknown_8441A40, .pal = gUnknown_84434E0},
+ {.map = gUnknown_84424E4, .pal = gUnknown_8443560},
+ {.map = gUnknown_8440BD8, .pal = gUnknown_8443440},
+ {.map = gUnknown_8441D54, .pal = gUnknown_8443500},
+ {.map = gUnknown_844223C, .pal = gUnknown_8443540},
+ {.map = gUnknown_8E9C16C, .pal = gUnknown_8E9C14C},
+ {.map = gUnknown_8442BC0, .pal = gUnknown_84435A0},
+ {.map = gUnknown_8442EF8, .pal = gUnknown_84435C0},
+ {.map = gUnknown_844318C, .pal = gUnknown_84435E0},
+ {.map = gUnknown_844223C, .pal = gUnknown_8443540},
+};
+
+static const struct WindowTemplate sUnknown_845216C = {
+ .bg = 1,
+ .tilemapLeft = 2,
+ .tilemapTop = 2,
+ .width = 23,
+ .height = 16,
+ .paletteNum = 0,
+ .baseBlock = 0x0008
+};
+
+static const struct ListMenuTemplate sUnknown_8452174 = {
+ .items = sUnknown_8451F6C,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = sub_8103A40,
+ .totalItems = 0,
+ .maxShowed = 9,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 56,
+ .cursor_X = 4,
+ .upText_Y = 2,
+ .cursorPal = 1,
+ .fillValue = 0,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 1,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 1,
+ .fontId = 2,
+ .cursorKind = 0,
+};
+
+static const struct ListMenuWindowRect sUnknown_845218C = {
+ .x = 0,
+ .y = 0,
+ .width = 5,
+ .height = 16,
+ .palNum = 0,
+};
+
+// Unused
+static const u8 gUnknown_8452194[] = {
+ 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
+};
+
+static const struct ScrollArrowsTemplate sUnknown_84521B4 = {
+ .firstArrowType = 2,
+ .firstX = 200,
+ .firstY = 19,
+ .secondArrowType = 3,
+ .secondX = 200,
+ .secondY = 141,
+ .fullyUpThreshold = 0,
+ .fullyDownThreshold = 0,
+ .tileTag = 2000,
+ .palTag = 0xFFFF,
+ .palNum = 1,
+};
+
+static const struct WindowTemplate sUnknown_84521C4 = {
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 8,
+ .height = 8,
+ .paletteNum = 0,
+ .baseBlock = 0x0000
+};
+
+static const struct WindowTemplate sUnknown_84521CC = {
+ .bg = 1,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 8,
+ .height = 5,
+ .paletteNum = 0,
+ .baseBlock = 0x0000
+};
+
+const struct WindowTemplate gUnknown_84521D4 = {
+ .bg = 1,
+ .tilemapLeft = 19,
+ .tilemapTop = 3,
+ .width = 8,
+ .height = 8,
+ .paletteNum = 9,
+ .baseBlock = 0x01a8
+};
+
+const struct WindowTemplate gUnknown_84521DC = {
+ .bg = 1,
+ .tilemapLeft = 2,
+ .tilemapTop = 3,
+ .width = 13,
+ .height = 8,
+ .paletteNum = 0,
+ .baseBlock = 0x01e8
+};
+
+const struct WindowTemplate gUnknown_84521E4 = {
+ .bg = 1,
+ .tilemapLeft = 0,
+ .tilemapTop = 11,
+ .width = 30,
+ .height = 7,
+ .paletteNum = 0,
+ .baseBlock = 0x0250
+};
+
+const struct WindowTemplate gUnknown_84521EC = {
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 2,
+ .width = 4,
+ .height = 4,
+ .paletteNum = 10,
+ .baseBlock = 0x01a8
+};
+
+const struct WindowTemplate gUnknown_84521F4 = {
+ .bg = 2,
+ .tilemapLeft = 5,
+ .tilemapTop = 2,
+ .width = 8,
+ .height = 3,
+ .paletteNum = 0,
+ .baseBlock = 0x01b8
+};
+
+const struct WindowTemplate gUnknown_84521FC = {
+ .bg = 2,
+ .tilemapLeft = 2,
+ .tilemapTop = 7,
+ .width = 10,
+ .height = 2,
+ .paletteNum = 0,
+ .baseBlock = 0x01d0
+};
+
+const struct WindowTemplate gUnknown_8452204 = {
+ .bg = 2,
+ .tilemapLeft = 18,
+ .tilemapTop = 2,
+ .width = 10,
+ .height = 2,
+ .paletteNum = 0,
+ .baseBlock = 0x01e4
+};
+
+const struct WindowTemplate gUnknown_845220C = {
+ .bg = 2,
+ .tilemapLeft = 5,
+ .tilemapTop = 5,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 11,
+ .baseBlock = 0x01f8
+};
+
+const struct WindowTemplate gUnknown_8452214 = {
+ .bg = 2,
+ .tilemapLeft = 17,
+ .tilemapTop = 4,
+ .width = 12,
+ .height = 9,
+ .paletteNum = 0,
+ .baseBlock = 0x0208
+};
+
+static const struct WindowTemplate sUnknown_845221C = {
+ .bg = 2,
+ .tilemapLeft = 13,
+ .tilemapTop = 4,
+ .width = 4,
+ .height = 3,
+ .paletteNum = 0,
+ .baseBlock = 0x0274
+};
+
+static const struct WindowTemplate sUnknown_8452224 = {
+ .bg = 2,
+ .tilemapLeft = 13,
+ .tilemapTop = 7,
+ .width = 4,
+ .height = 3,
+ .paletteNum = 0,
+ .baseBlock = 0x0280
+};
+
+static const struct WindowTemplate sUnknown_845222C = {
+ .bg = 2,
+ .tilemapLeft = 13,
+ .tilemapTop = 10,
+ .width = 4,
+ .height = 3,
+ .paletteNum = 0,
+ .baseBlock = 0x028c
+};
+
+static const struct WindowTemplate sUnknown_8452234 = {
+ .bg = 2,
+ .tilemapLeft = 13,
+ .tilemapTop = 13,
+ .width = 4,
+ .height = 4,
+ .paletteNum = 0,
+ .baseBlock = 0x0298
+};
+
+static const struct WindowTemplate sUnknown_845223C = {
+ .bg = 2,
+ .tilemapLeft = 17,
+ .tilemapTop = 13,
+ .width = 4,
+ .height = 4,
+ .paletteNum = 0,
+ .baseBlock = 0x02a8
+};
+
+static const struct WindowTemplate sUnknown_8452244 = {
+ .bg = 2,
+ .tilemapLeft = 21,
+ .tilemapTop = 13,
+ .width = 4,
+ .height = 4,
+ .paletteNum = 0,
+ .baseBlock = 0x02b8
+};
+
+static const struct WindowTemplate sUnknown_845224C = {
+ .bg = 2,
+ .tilemapLeft = 25,
+ .tilemapTop = 13,
+ .width = 4,
+ .height = 4,
+ .paletteNum = 0,
+ .baseBlock = 0x02c8
+};
+
+struct {
+ const struct WindowTemplate * window;
+ const u32 * tilemap;
+} const gUnknown_8452254[] = {
+ {&sUnknown_845221C, gUnknown_8443910},
+ {&sUnknown_8452224, gUnknown_8443988},
+ {&sUnknown_845222C, gUnknown_84439FC},
+ {&sUnknown_8452234, gUnknown_8443A78},
+ {&sUnknown_845223C, gUnknown_8443AF8},
+ {&sUnknown_8452244, gUnknown_8443BB0},
+ {&sUnknown_845224C, gUnknown_8443C54},
+};
+
+static const u16 sUnknown_845228C[] = INCBIN_U16("graphics/pokedex/unk_845228C.bin");
+
+static const u8 sUnknown_845230C[][4] = {
+ {0x0b, 0x03, 0x0b, 0x0b},
+};
+
+static const u8 sUnknown_8452310[][4] = {
+ {0x03, 0x03, 0x0b, 0x03},
+ {0x12, 0x09, 0x0a, 0x0b},
+};
+
+static const u8 sUnknown_8452318[][4] = {
+ {0x01, 0x02, 0x09, 0x02},
+ {0x0b, 0x09, 0x03, 0x0b},
+ {0x15, 0x03, 0x15, 0x0b}
+};
+
+static const u8 sUnknown_8452324[][4] = {
+ {0x00, 0x02, 0x06, 0x03},
+ {0x07, 0x0a, 0x00, 0x0c},
+ {0x0f, 0x0a, 0x16, 0x0b},
+ {0x16, 0x02, 0x0f, 0x04}
+};
+
+const u8 (*const gUnknown_8452334[])[4] = {
+ sUnknown_845230C,
+ sUnknown_8452310,
+ sUnknown_8452318,
+ sUnknown_8452324,
+};
+
+static const u8 * const sDexCategoryNamePtrs[] = {
+ gText_DexCategory_GrasslandPkmn,
+ gText_DexCategory_ForestPkmn,
+ gText_DexCategory_WatersEdgePkmn,
+ gText_DexCategory_SeaPkmn,
+ gText_DexCategory_CavePkmn,
+ gText_DexCategory_MountainPkmn,
+ gText_DexCategory_RoughTerrainPkmn,
+ gText_DexCategory_UrbanPkmn,
+ gText_DexCategory_RarePkmn,
+};
+
+const u16 gUnknown_8452368[] = INCBIN_U16("graphics/pokedex/unk_8452368.gbapal");
+
+static const u8 sUnknown_8452388[][30] = {
+ {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ },
+};
+
+static const struct ScrollArrowsTemplate sUnknown_84524B4 = {
+ .firstArrowType = 0,
+ .firstX = 16,
+ .firstY = 80,
+ .secondArrowType = 1,
+ .secondX = 224,
+ .secondY = 80,
+ .fullyUpThreshold = 0,
+ .fullyDownThreshold = 0,
+ .tileTag = 2000,
+ .palTag = 0xFFFF,
+ .palNum = 1,
+};
+
+const struct CursorStruct gUnknown_84524C4 = {
+ .left = 0,
+ .top = 160,
+ .rowWidth = 64,
+ .rowHeight = 40,
+ .tileTag = 2002,
+ .palTag = 0xFFFF,
+ .palNum = 4,
+};
+
+#include "data/pokemon/pokedex_categories.h"
void sub_81024C0(void)
{
@@ -239,7 +841,7 @@ void sub_810250C(void)
ResetTasks();
ScanlineEffect_Stop();
ResetBgsAndClearDma3BusyFlags(TRUE);
- InitBgsFromTemplates(0, gUnknown_8451EBC, NELEMS(gUnknown_8451EBC));
+ InitBgsFromTemplates(0, sUnknown_8451EBC, NELEMS(sUnknown_8451EBC));
SetBgTilemapBuffer(3, (u16*)Alloc(BG_SCREEN_SIZE));
SetBgTilemapBuffer(2, (u16*)Alloc(BG_SCREEN_SIZE));
SetBgTilemapBuffer(1, (u16*)Alloc(BG_SCREEN_SIZE));
@@ -248,14 +850,14 @@ void sub_810250C(void)
DecompressAndLoadBgGfxUsingHeap(3, (void*)gUnknown_84403AC, BG_SCREEN_SIZE, 0, 0);
else
DecompressAndLoadBgGfxUsingHeap(3, (void*)gUnknown_8440274, BG_SCREEN_SIZE, 0, 0);
- InitWindows(gUnknown_8451ECC);
+ InitWindows(sUnknown_8451ECC);
DeactivateAllTextPrinters();
m4aSoundVSyncOn();
SetVBlankCallback(sub_81024C0);
EnableInterrupts(INTR_FLAG_VBLANK);
taskId = CreateTask(sub_810287C, 0);
gUnknown_203ACF0 = Alloc(sizeof(struct PokedexScreenData));
- *gUnknown_203ACF0 = gUnknown_8451EE4;
+ *gUnknown_203ACF0 = sUnknown_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);
@@ -381,9 +983,9 @@ static void sub_810287C(u8 taskId)
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);
+ gUnknown_203ACF0->field_60 = AddScrollIndicatorArrowPair(&sUnknown_84520E4, &gUnknown_203ACF0->field_62);
else
- gUnknown_203ACF0->field_60 = AddScrollIndicatorArrowPair(&gUnknown_84520D4, &gUnknown_203ACF0->field_62);
+ gUnknown_203ACF0->field_60 = AddScrollIndicatorArrowPair(&sUnknown_84520D4, &gUnknown_203ACF0->field_62);
gUnknown_203ACF0->field_01 = 6;
break;
case 6:
@@ -478,41 +1080,41 @@ static void sub_8102C28(void)
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);
+ gUnknown_203ACF0->field_14 = AddWindow(&sUnknown_8451F54);
+ gUnknown_203ACF0->field_15 = AddWindow(&sUnknown_8451F5C);
+ gUnknown_203ACF0->field_16 = AddWindow(&sUnknown_8451F64);
if (IsNationalPokedexEnabled())
{
- listMenuTemplate = gUnknown_84520BC;
+ listMenuTemplate = sUnknown_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_81047C8(gUnknown_203ACF0->field_16, 0, gText_Seen, 0, 2, 0);
+ sub_81047C8(gUnknown_203ACF0->field_16, 0, gText_Kanto, 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_81047C8(gUnknown_203ACF0->field_16, 0, gText_National, 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_81047C8(gUnknown_203ACF0->field_16, 0, gText_Owned, 0, 37, 0);
+ sub_81047C8(gUnknown_203ACF0->field_16, 0, gText_Kanto, 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_81047C8(gUnknown_203ACF0->field_16, 0, gText_National, 8, 59, 0);
sub_810491C(gUnknown_203ACF0->field_16, 0, gUnknown_203ACF0->field_6C, 52, 59, 2);
}
else
{
- listMenuTemplate = gUnknown_8452004;
+ listMenuTemplate = sUnknown_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_81047C8(gUnknown_203ACF0->field_16, 1, gText_Seen, 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_81047C8(gUnknown_203ACF0->field_16, 1, gText_Owned, 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);
+ sub_8106E78(gText_PokedexTableOfContents, 1);
FillWindowPixelBuffer(1, PIXEL_FILL(15));
- sub_8104C2C(gUnknown_8415DB8);
+ sub_8104C2C(gText_PickOK);
PutWindowTilemap(0);
CopyWindowToVram(0, COPYWIN_GFX);
PutWindowTilemap(1);
@@ -521,7 +1123,7 @@ static void sub_8102C28(void)
CopyWindowToVram(gUnknown_203ACF0->field_16, COPYWIN_GFX);
}
-void sub_8102EC0(s32 itemIndex, bool8 onInit, struct ListMenu *list)
+static void sub_8102EC0(s32 itemIndex, bool8 onInit, struct ListMenu *list)
{
if (!onInit)
PlaySE(SE_SELECT);
@@ -532,16 +1134,17 @@ void sub_8102EC0(s32 itemIndex, bool8 onInit, struct ListMenu *list)
}
else
{
- CopyToWindowPixelBuffer(gUnknown_203ACF0->field_15, gUnknown_84520F4[itemIndex].map, 0x000, 0x000);
- LoadPalette(gUnknown_84520F4[itemIndex].pal, 0x10, 0x20);
+ CopyToWindowPixelBuffer(gUnknown_203ACF0->field_15, sUnknown_84520F4[itemIndex].map, 0x000, 0x000);
+ LoadPalette(sUnknown_84520F4[itemIndex].pal, 0x10, 0x20);
}
PutWindowTilemap(gUnknown_203ACF0->field_15);
CopyWindowToVram(gUnknown_203ACF0->field_15, COPYWIN_GFX);
}
-void sub_8102F48(u8 windowId, u32 itemId, u8 y)
+static void sub_8102F48(u8 windowId, s32 itemId, u8 y)
{
- if (itemId > 8 || gUnknown_203ACF0->field_08 & (1 << itemId))
+ u32 itemId_ = itemId;
+ if (itemId_ > 8 || gUnknown_203ACF0->field_08 & (1 << itemId_))
ListMenuOverrideSetColors(1, 0, 3);
else
ListMenuOverrideSetColors(10, 0, 11);
@@ -619,14 +1222,14 @@ static 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;
+ gUnknown_203ACF0->field_40 = AddWindow(&sUnknown_845216C);
+ template = sUnknown_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);
+ sub_8106E78(gText_PokemonListNoColor, 1);
FillWindowPixelBuffer(1, PIXEL_FILL(15));
sub_8104C2C(gText_PickOKExit);
CopyWindowToVram(0, COPYWIN_GFX);
@@ -705,14 +1308,14 @@ static 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;
+ gUnknown_203ACF0->field_40 = AddWindow(&sUnknown_845216C);
+ template = sUnknown_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);
+ sub_8106E78(gText_SearchNoColor, 1);
FillWindowPixelBuffer(1, PIXEL_FILL(15));
sub_8104C2C(gText_PickOKExit);
CopyWindowToVram(0, COPYWIN_GFX);
@@ -744,7 +1347,7 @@ static u16 sub_8103518(u8 a0)
}
else
{
- gUnknown_203ACF0->field_44[i].label = gUnknown_8415F66;
+ gUnknown_203ACF0->field_44[i].label = gText_5Dashes;
}
gUnknown_203ACF0->field_44[i].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
}
@@ -830,7 +1433,7 @@ static u16 sub_8103518(u8 a0)
}
else
{
- gUnknown_203ACF0->field_44[i].label = gUnknown_8415F66;
+ gUnknown_203ACF0->field_44[i].label = gText_5Dashes;
}
gUnknown_203ACF0->field_44[i].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
}
@@ -845,16 +1448,16 @@ static void sub_8103924(const struct ListMenuTemplate * template, u8 a1)
{
default:
case 0:
- gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &gUnknown_845218C, gUnknown_203ACF0->field_36, gUnknown_203ACF0->field_34);
+ gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &sUnknown_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);
+ gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &sUnknown_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);
+ gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &sUnknown_845218C, gUnknown_203ACF0->field_3E, gUnknown_203ACF0->field_3C);
break;
}
}
@@ -881,9 +1484,9 @@ static void sub_8103988(u8 a0)
static 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;
+ struct ScrollArrowsTemplate template = sUnknown_84521B4;
+ if (gUnknown_203ACF0->field_48 > sUnknown_8452174.maxShowed)
+ template.fullyDownThreshold = gUnknown_203ACF0->field_48 - sUnknown_8452174.maxShowed;
else
template.fullyDownThreshold = 0;
return AddScrollIndicatorArrowPair(&template, &gUnknown_203ACF0->field_62);
@@ -896,7 +1499,7 @@ struct PokedexListItem
bool8 caught:1;
};
-void sub_8103A40(u8 windowId, s32 itemId, u8 y)
+static void sub_8103A40(u8 windowId, s32 itemId, u8 y)
{
u32 itemId_ = itemId;
u16 species = itemId_;
@@ -1222,7 +1825,7 @@ static void sub_8103AC8(u8 taskId)
static u8 sub_8104234(void)
{
- struct ScrollArrowsTemplate template = gUnknown_84524B4;
+ struct ScrollArrowsTemplate template = sUnknown_84524B4;
template.fullyUpThreshold = gUnknown_203ACF0->field_29;
template.fullyDownThreshold = gUnknown_203ACF0->field_2A - 1;
gUnknown_203ACF0->field_62 = gUnknown_203ACF0->field_2B;
@@ -1564,7 +2167,7 @@ void sub_81049FC(u8 windowId, u16 species, u16 paletteOffset)
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_81047C8(windowId, fontId, gText_PokedexNo, x, y, 0);
sub_8104880(windowId, fontId, dexNum, x + 9, y, 0);
}
@@ -1649,10 +2252,10 @@ 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);
+ CopyToBgTilemapBufferRect_ChangePalette(3, sUnknown_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 = sUnknown_84521C4;
template.tilemapLeft = gUnknown_8452334[a2][a1][0];
template.tilemapTop = gUnknown_8452334[a2][a1][1];
template.paletteNum = a1 + 1;
@@ -1670,7 +2273,7 @@ bool8 sub_8104C64(u16 a0, u8 a1, u8 a2)
{
if (a0 != SPECIES_NONE)
{
- template = gUnknown_84521CC;
+ template = sUnknown_84521CC;
template.tilemapLeft = gUnknown_8452334[a2][a1][2];
template.tilemapTop = gUnknown_8452334[a2][a1][3];
template.baseBlock = a1 * 40 + 0x108;
@@ -1703,7 +2306,7 @@ void sub_8104E90(void)
void sub_8104EC0(u8 unused, u16 a1, u16 a2, u8 unused2, u8 unused3)
{
u8 buffer[30];
- u8 *ptr = StringCopy(buffer, gUnknown_8416002);
+ u8 *ptr = StringCopy(buffer, gText_Page);
ptr = ConvertIntToDecimalStringN(ptr, a1, STR_CONV_MODE_RIGHT_ALIGN, 2);
*ptr++ = CHAR_SLASH;
ptr = ConvertIntToDecimalStringN(ptr, a2, STR_CONV_MODE_RIGHT_ALIGN, 2);
@@ -1719,17 +2322,17 @@ bool8 sub_8104F0C(bool8 a0)
FillWindowPixelBuffer(0, PIXEL_FILL(15));
if (a0)
{
- sub_8106E78(gDexCategoryNamePtrs[gUnknown_203ACF0->field_28], 1);
+ sub_8106E78(sDexCategoryNamePtrs[gUnknown_203ACF0->field_28], 1);
}
else
{
- sub_8106E78(gDexCategoryNamePtrs[gUnknown_203ACF0->field_28], 0);
+ sub_8106E78(sDexCategoryNamePtrs[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, COPYWIN_GFX);
FillWindowPixelBuffer(1, PIXEL_FILL(15));
if (!a0)
- sub_8104C2C(gUnknown_8415F6C);
+ sub_8104C2C(gText_PickFlipPageCheckCancel);
CopyWindowToVram(1, COPYWIN_GFX);
if (gUnknown_203ACF0->field_18[0] != 0xFFFF)
sub_8104C64(gUnknown_203ACF0->field_18[0], 0, gUnknown_203ACF0->field_2C);
@@ -1824,7 +2427,7 @@ bool8 sub_81051F0(u8 a0)
u16 *sp0C = gUnknown_203ACF0->field_5C + 0x000;
for (i = 0; i < 30; i++)
{
- r4 = gUnknown_8452388[a0][i];
+ r4 = sUnknown_8452388[a0][i];
if (r4 == 30)
{
sub_81051D0(0x000, bg1buff, i);
diff --git a/src/strings.c b/src/strings.c
index c2c066268..24ab271f4 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -52,13 +52,13 @@ ALIGNED(4) const u8 gText_UPDOWNPick_ABUTTONBBUTTONCancel[] = _("{DPAD_UPDOWN}PI
ALIGNED(4) const u8 gText_ABUTTONExit[] = _("{A_BUTTON}EXIT");
const u8 gText_Boy[] = _("BOY");
const u8 gText_Girl[] = _("GIRL");
-const u8 gUnknown_8415D9C[] = _("POKéDEX TABLE OF CONTENTS");
-const u8 gUnknown_8415DB8[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK");
-const u8 gUnknown_8415DC4[] = _("Seen:");
-const u8 gUnknown_8415DCA[] = _("Owned:");
-const u8 gUnknown_8415DD1[] = _("KANTO");
-const u8 gUnknown_8415DD7[] = _("NATIONAL");
-const u8 gUnknown_8415DE0[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON HABITATS");
+const u8 gText_PokedexTableOfContents[] = _("POKéDEX TABLE OF CONTENTS");
+const u8 gText_PickOK[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK");
+const u8 gText_Seen[] = _("Seen:");
+const u8 gText_Owned[] = _("Owned:");
+const u8 gText_Kanto[] = _("KANTO");
+const u8 gText_National[] = _("NATIONAL");
+const u8 gText_PokemonHabitats[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON HABITATS");
const u8 gText_DexCategory_GrasslandPkmn[] = _("Grassland POKéMON");
const u8 gText_DexCategory_ForestPkmn[] = _("Forest POKéMON");
const u8 gText_DexCategory_WatersEdgePkmn[] = _("Water's-edge POKéMON");
@@ -68,38 +68,38 @@ const u8 gText_DexCategory_MountainPkmn[] = _("Mountain POKéMON");
const u8 gText_DexCategory_RoughTerrainPkmn[] = _("Rough-terrain POKéMON");
const u8 gText_DexCategory_UrbanPkmn[] = _("Urban POKéMON");
const u8 gText_DexCategory_RarePkmn[] = _("Rare POKéMON");
-const u8 gUnknown_8415E88[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}SEARCH");
-const u8 gUnknown_8415E95[] = _("NUMERICAL MODE");
-const u8 gUnknown_8415EA4[] = _("A TO Z MODE");
-const u8 gUnknown_8415EB0[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}OTHER");
-const u8 gUnknown_8415EBC[] = _("ずかんの つかいかた");
-const u8 gUnknown_8415EC7[] = _("CLOSE POKéDEX");
-const u8 gUnknown_8415ED5[] = _("TYPE MODE");
-const u8 gUnknown_8415EDF[] = _("LIGHTEST MODE");
-const u8 gUnknown_8415EED[] = _("SMALLEST MODE");
-const u8 gUnknown_8415EFB[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON LIST");
-const u8 gUnknown_8415F0E[] = _("NUMERICAL MODE: KANTO");
-const u8 gUnknown_8415F24[] = _("NUMERICAL MODE: NATIONAL");
-const u8 gUnknown_8415F3D[] = _("POKéMON LIST");
-const u8 gUnknown_8415F4A[] = _("SEARCH");
+const u8 gText_Search[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}SEARCH");
+const u8 gText_NumericalMode[] = _("NUMERICAL MODE");
+const u8 gText_AToZMode[] = _("A TO Z MODE");
+const u8 gText_PokedexOther[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}OTHER");
+const u8 gTextJP_HowToUsePokedex[] = _("ずかんの つかいかた");
+const u8 gText_ClosePokedex[] = _("CLOSE POKéDEX");
+const u8 gText_TypeMode[] = _("TYPE MODE");
+const u8 gText_LightestMode[] = _("LIGHTEST MODE");
+const u8 gText_SmallestMode[] = _("SMALLEST MODE");
+const u8 gText_PokemonList[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON LIST");
+const u8 gText_NumericalModeKanto[] = _("NUMERICAL MODE: KANTO");
+const u8 gText_NumericalModeNational[] = _("NUMERICAL MODE: NATIONAL");
+const u8 gText_PokemonListNoColor[] = _("POKéMON LIST");
+const u8 gText_SearchNoColor[] = _("SEARCH");
const u8 gText_PickOKExit[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL");
-const u8 gUnknown_8415F66[] = _("-----");
-const u8 gUnknown_8415F6C[] = _("{DPAD_LEFTRIGHT}PICK{PLUS}FLIP PAGE {A_BUTTON}CHECK {B_BUTTON}CANCEL");
-const u8 gUnknown_8415F8F[] = _(" POKéMON");
-const u8 gUnknown_8415F98[] = _("HT");
-const u8 gUnknown_8415F9B[] = _("WT");
-const u8 gUnknown_8415F9E[] = _("”");
-const u8 gUnknown_8415FA0[] = _("lbs.");
-const u8 gUnknown_8415FA5[] = _("ポケモンデ-タ");
-const u8 gUnknown_8415FAD[] = _("{START_BUTTON}CRY");
-const u8 gUnknown_8415FB3[] = _("{A_BUTTON}NEXT DATA {B_BUTTON}CANCEL");
-const u8 gUnknown_8415FC8[] = _("{A_BUTTON}NEXT");
-const u8 gUnknown_8415FCF[] = _("{A_BUTTON}CANCEL {B_BUTTON}PREVIOUS DATA");
-const u8 gUnknown_8415FE8[] = _("AREA");
-const u8 gUnknown_8415FED[] = _("SIZE");
-const u8 gUnknown_8415FF2[] = _("AREA UNKNOWN");
-const u8 gUnknown_8415FFF[] = _("{NO}");
-const u8 gUnknown_8416002[] = _("PAGE");
+const u8 gText_5Dashes[] = _("-----");
+const u8 gText_PickFlipPageCheckCancel[] = _("{DPAD_LEFTRIGHT}PICK{PLUS}FLIP PAGE {A_BUTTON}CHECK {B_BUTTON}CANCEL");
+const u8 gText_PokedexPokemon[] = _(" POKéMON");
+const u8 gText_HT[] = _("HT");
+const u8 gText_WT[] = _("WT");
+const u8 gText_PokedexQuotationMark[] = _("”"); // Unused
+const u8 gText_Lbs[] = _("lbs.");
+const u8 gTextJP_PokemonData[] = _("ポケモンデ-タ");
+const u8 gText_Cry[] = _("{START_BUTTON}CRY");
+const u8 gText_NextDataCancel[] = _("{A_BUTTON}NEXT DATA {B_BUTTON}CANCEL");
+const u8 gText_Next[] = _("{A_BUTTON}NEXT");
+const u8 gText_CancelPreviousData[] = _("{A_BUTTON}CANCEL {B_BUTTON}PREVIOUS DATA");
+const u8 gText_Area[] = _("AREA");
+const u8 gText_Size[] = _("SIZE");
+const u8 gText_AreaUnknown[] = _("AREA UNKNOWN");
+const u8 gText_PokedexNo[] = _("{NO}");
+const u8 gText_Page[] = _("PAGE");
ALIGNED(4) const u8 gText_WelcomeToHOF[] = _("Welcome to the HALL OF FAME!");
ALIGNED(4) const u8 gUnknown_8416028[] = _("みつけた ポケモン {STR_VAR_1}!\nつかまえた ポケモン {STR_VAR_2}!\pオダマキはかせの\nポケモンずかん ひょうか!\pオダマキ“どれどれ\p");
ALIGNED(4) const u8 gUnknown_8416068[] = _("ここまでの レポ-トを かきしるしています!\nでんげんを きらないでください");